diff --git a/packages/core-components/src/components/CheckboxTree/CheckboxTree.tsx b/packages/core-components/src/components/CheckboxTree/CheckboxTree.tsx index 695da88192..71b5cf7659 100644 --- a/packages/core-components/src/components/CheckboxTree/CheckboxTree.tsx +++ b/packages/core-components/src/components/CheckboxTree/CheckboxTree.tsx @@ -225,6 +225,10 @@ const indexer = ( }; }, {}); +/** + * + * @deprecated CheckboxTree is no longer used in Table filters + */ export function CheckboxTree(props: CheckboxTreeProps) { const { subCategories, label, selected, onChange, triggerReset } = props; const classes = useStyles(); diff --git a/packages/core-components/src/components/Table/Filters.tsx b/packages/core-components/src/components/Table/Filters.tsx index 5e2611fba4..b482e6c808 100644 --- a/packages/core-components/src/components/Table/Filters.tsx +++ b/packages/core-components/src/components/Table/Filters.tsx @@ -53,7 +53,7 @@ const useSubvalueCellStyles = makeStyles(theme => ({ export type Without = Pick>; export type Filter = { - type: 'select' | 'checkbox-tree' | 'multiple-select'; + type: 'select' | /** @deprecated */ 'checkbox-tree' | 'multiple-select'; element: | Without | Without; diff --git a/packages/core-components/src/components/Table/Table.tsx b/packages/core-components/src/components/Table/Table.tsx index edc5fd33ce..d4a737a204 100644 --- a/packages/core-components/src/components/Table/Table.tsx +++ b/packages/core-components/src/components/Table/Table.tsx @@ -191,7 +191,7 @@ export interface TableColumn extends Column { export type TableFilter = { column: string; - type: 'select' | 'multiple-select' | 'checkbox-tree'; + type: 'select' | 'multiple-select' | /** @deprecated */ 'checkbox-tree'; }; export type TableState = { @@ -419,12 +419,22 @@ export function Table(props: TableProps) { }; }; + const constructFilterElement = ( + filter: TableFilter, + ): + | Without + | Without => { + if (filter.type === 'checkbox-tree') { + // eslint-disable-next-line no-console + console.warn('"checkbox-tree" filter type is deprecated'); + return constructCheckboxTree(filter); + } + return constructSelect(filter); + }; + return filterConfig.map(filter => ({ type: filter.type, - element: - filter.type === 'checkbox-tree' - ? constructCheckboxTree(filter) - : constructSelect(filter), + element: constructFilterElement(filter), })); };