Skip to content

Commit eb36e73

Browse files
committed
feat: add chartColorGen
1 parent 2e97415 commit eb36e73

File tree

4 files changed

+34
-8
lines changed

4 files changed

+34
-8
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
export { default as Chart } from './Chart.component'
22
export type { ChartColorKey, ChartProps, ChartType, SimpleDataset, SimpleDatasetForPie } from './types'
3+
export { chartColorGenerator } from './utils'

src/Shared/Components/Charts/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { AppThemeType } from '@Shared/Providers'
22

33
export type ChartType = 'area' | 'pie' | 'stackedBar' | 'stackedBarHorizontal' | 'line'
44

5-
type ColorTokensType =
5+
export type ColorTokensType =
66
| 'DeepPlum'
77
| 'Magenta'
88
| 'Slate'
@@ -14,7 +14,7 @@ type ColorTokensType =
1414
| 'GoldenYellow'
1515
| 'CharcoalGray'
1616
| 'Gray'
17-
type VariantsType = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950
17+
export type VariantsType = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950
1818

1919
export type ChartColorKey = `${ColorTokensType}${VariantsType}`
2020

src/Shared/Components/Charts/utils.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ import {
1111
import {
1212
ChartColorKey,
1313
ChartType,
14+
ColorTokensType,
1415
GetBackgroundAndBorderColorProps,
1516
SimpleDataset,
1617
TransformDataForChartProps,
1718
TransformDatasetProps,
19+
VariantsType,
1820
} from './types'
1921

2022
// Map our chart types to Chart.js types
@@ -264,3 +266,27 @@ export const transformDataForChart = (props: TransformDataForChartProps) => {
264266
return datasets.map((dataset) => transformDataset({ type, dataset, appTheme }))
265267
}
266268
}
269+
270+
export function* chartColorGenerator() {
271+
const WEIGHTS: VariantsType[] = [400, 500, 600, 700, 300, 800, 200, 900, 100, 50, 950]
272+
const TOKENS: ColorTokensType[] = [
273+
'SkyBlue',
274+
'DeepPlum',
275+
'AquaTeal',
276+
'GoldenYellow',
277+
'Lavender',
278+
'CharcoalGray',
279+
'Magenta',
280+
'CoralRed',
281+
'LimeGreen',
282+
'Slate',
283+
'Gray',
284+
]
285+
286+
for (let i = 0; i < WEIGHTS.length; i++) {
287+
for (let j = 0; j < TOKENS.length; j++) {
288+
// Yield a color key like 'SkyBlue500'
289+
yield `${TOKENS[j]}${WEIGHTS[i]}` as ChartColorKey
290+
}
291+
}
292+
}

src/Shared/Components/Table/InternalTable.tsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,10 @@ const InternalTable = <
169169
const filteredRowsError = getRows ? getRowsError : rowsError
170170
const reloadFilteredRows = getRows ? reloadGetRows : reloadRows
171171

172-
const { filteredRows, totalRows } = filteredRowsResult ?? { filteredRows: [], totalRows: 0 }
172+
const { filteredRows, totalRows } = useMemo(
173+
() => filteredRowsResult ?? { filteredRows: [], totalRows: 0 },
174+
[filteredRowsResult],
175+
)
173176

174177
const areFilteredRowsLoading = _areFilteredRowsLoading || filteredRowsError === NO_ROWS_OR_GET_ROWS_ERROR
175178

@@ -238,11 +241,7 @@ const InternalTable = <
238241
}
239242

240243
return (
241-
<div
242-
ref={wrapperDivRef}
243-
className="flexbox-col flex-grow-1 dc__overflow-hidden dc__no-shrink"
244-
id={`table-wrapper-${id}`}
245-
>
244+
<div ref={wrapperDivRef} className="flexbox-col flex-grow-1 dc__overflow-hidden" id={`table-wrapper-${id}`}>
246245
<Wrapper
247246
areRowsLoading={areFilteredRowsLoading}
248247
clearFilters={clearFilters}

0 commit comments

Comments
 (0)