@databiosphere/findable-ui 35.2.0 → 36.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +15 -0
- package/lib/common/entities.d.ts +2 -3
- package/lib/components/DataDictionary/components/Entities/constants.d.ts +3 -1
- package/lib/components/DataDictionary/components/Entities/constants.js +6 -2
- package/lib/components/DataDictionary/components/Entities/entities.js +6 -2
- package/lib/components/DataDictionary/components/Entities/entities.styles.d.ts +3 -0
- package/lib/components/DataDictionary/components/Entities/entities.styles.js +5 -0
- package/lib/components/DataDictionary/components/Entity/entity.styles.js +1 -8
- package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.d.ts +4 -0
- package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.js +15 -0
- package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.styles.d.ts +7 -0
- package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.styles.js +7 -0
- package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/constants.d.ts +2 -0
- package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/constants.js +6 -0
- package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/types.d.ts +6 -0
- package/lib/components/DataDictionary/components/Filters/filters.js +2 -0
- package/lib/components/DataDictionary/components/Filters/filters.styles.js +3 -3
- package/lib/components/DataDictionary/components/Filters/stories/constants.d.ts +1 -0
- package/lib/components/DataDictionary/components/Filters/stories/constants.js +16 -0
- package/lib/components/DataDictionary/components/Filters/stories/filters.stories.js +11 -3
- package/lib/components/DataDictionary/components/Filters/stories/hook.d.ts +4 -0
- package/lib/components/DataDictionary/components/Filters/stories/hook.js +4 -0
- package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.d.ts +2 -1
- package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.js +4 -4
- package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.js +1 -4
- package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/types.d.ts +4 -2
- package/lib/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.d.ts +2 -1
- package/lib/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.js +4 -4
- package/lib/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.styles.js +4 -1
- package/lib/components/DataDictionary/components/Table/hook.d.ts +2 -2
- package/lib/components/DataDictionary/components/Table/hook.js +8 -4
- package/lib/components/DataDictionary/components/Table/options/columnFilters/constants.js +2 -1
- package/lib/components/DataDictionary/components/Table/options/columnFilters/hook.d.ts +2 -5
- package/lib/components/DataDictionary/components/Table/options/columnFilters/hook.js +8 -6
- package/lib/components/DataDictionary/components/Table/options/globalFilter/constants.d.ts +2 -0
- package/lib/components/DataDictionary/components/Table/options/globalFilter/constants.js +5 -0
- package/lib/components/DataDictionary/components/Table/options/globalFilter/hook.d.ts +3 -0
- package/lib/components/DataDictionary/components/Table/options/globalFilter/hook.js +16 -0
- package/lib/components/DataDictionary/components/Table/options/hook.js +7 -5
- package/lib/components/DataDictionary/components/Table/options/pagination/constants.d.ts +2 -0
- package/lib/components/DataDictionary/components/Table/options/pagination/constants.js +3 -0
- package/lib/components/DataDictionary/dataDictionary.d.ts +1 -1
- package/lib/components/DataDictionary/dataDictionary.js +31 -12
- package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/hook.d.ts +4 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/hook.js +27 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/types.d.ts +7 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/types.js +1 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/utils.d.ts +6 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionaryConfig/utils.js +8 -0
- package/lib/components/DataDictionary/hooks/UseMeasureFilters/hook.d.ts +2 -0
- package/lib/components/DataDictionary/hooks/UseMeasureFilters/hook.js +17 -0
- package/lib/components/DataDictionary/hooks/UseMeasureFilters/types.d.ts +7 -0
- package/lib/components/DataDictionary/hooks/UseMeasureFilters/types.js +1 -0
- package/lib/components/DataDictionary/types.d.ts +1 -0
- package/lib/components/Filter/components/FilterCountChip/filterCountChip.d.ts +2 -0
- package/lib/components/Filter/components/FilterCountChip/filterCountChip.js +8 -0
- package/lib/components/Filter/components/FilterCountChip/filterCountChip.styles.d.ts +3 -0
- package/lib/components/Filter/components/FilterCountChip/filterCountChip.styles.js +18 -0
- package/lib/components/Filter/components/FilterCountChip/stories/filterCountChip.stories.d.ts +6 -0
- package/lib/components/Filter/components/FilterCountChip/stories/filterCountChip.stories.js +6 -0
- package/lib/components/Filter/components/FilterCountChip/types.d.ts +5 -0
- package/lib/components/Filter/components/FilterCountChip/types.js +1 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.d.ts +1 -1
- package/lib/components/Layout/components/Outline/outline.styles.d.ts +1 -1
- package/lib/components/Table/columnDef/globalFilter/constants.d.ts +2 -0
- package/lib/components/Table/columnDef/globalFilter/constants.js +4 -0
- package/lib/components/Table/columnDef/globalFilter/filterFn.d.ts +13 -0
- package/lib/components/Table/columnDef/globalFilter/filterFn.js +24 -0
- package/lib/components/Table/columnDef/globalFilter/types.d.ts +4 -0
- package/lib/components/Table/columnDef/globalFilter/types.js +1 -0
- package/lib/components/Table/columnDef/globalFilter/utils.d.ts +23 -0
- package/lib/components/Table/columnDef/globalFilter/utils.js +57 -0
- package/lib/components/Table/components/TableCell/components/RankedCell/rankedCell.d.ts +3 -0
- package/lib/components/Table/components/TableCell/components/RankedCell/rankedCell.js +25 -0
- package/lib/components/Table/components/TableCell/components/RankedCell/utils.d.ts +30 -0
- package/lib/components/Table/components/TableCell/components/RankedCell/utils.js +64 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/columnFilter.js +9 -5
- package/lib/components/Table/components/TableFeatures/ColumnFilter/columnFilter.styles.d.ts +9 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/columnFilter.styles.js +20 -1
- package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.d.ts +3 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.js +9 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.styles.d.ts +5 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.styles.js +24 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/constants.d.ts +3 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/constants.js +10 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/stories/columFilterTag.stories.d.ts +6 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/stories/columFilterTag.stories.js +17 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/types.d.ts +6 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/types.js +1 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/constants.d.ts +2 -1
- package/lib/components/Table/components/TableFeatures/ColumnFilter/constants.js +6 -0
- package/lib/components/Table/components/TableFeatures/ColumnFilter/types.d.ts +3 -2
- package/lib/components/Table/components/TableFeatures/GlobalFilter/constants.d.ts +2 -0
- package/lib/components/Table/components/TableFeatures/GlobalFilter/constants.js +6 -0
- package/lib/components/Table/components/TableFeatures/GlobalFilter/globalFilter.d.ts +3 -0
- package/lib/components/Table/components/TableFeatures/GlobalFilter/globalFilter.js +10 -0
- package/lib/components/Table/components/TableFeatures/GlobalFilter/types.d.ts +6 -0
- package/lib/components/Table/components/TableFeatures/GlobalFilter/types.js +1 -0
- package/lib/components/Table/coreOptions/state/pagination/constants.d.ts +2 -0
- package/lib/components/Table/coreOptions/state/pagination/constants.js +6 -0
- package/lib/components/Table/coreOptions/state/pagination/utils.d.ts +9 -0
- package/lib/components/Table/coreOptions/state/pagination/utils.js +18 -0
- package/lib/components/common/AnchorLink/anchorLink.js +4 -2
- package/lib/components/common/AnchorLink/anchorLink.styles.d.ts +1 -1
- package/lib/components/common/AnchorLink/anchorLink.styles.js +1 -1
- package/lib/components/common/CustomIcon/components/SearchIcon/searchIcon.d.ts +2 -2
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.d.ts +2 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.js +13 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.styles.d.ts +5 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.styles.js +11 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/constants.d.ts +3 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/constants.js +10 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/types.d.ts +4 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/types.js +1 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/constants.d.ts +2 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/constants.js +5 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/searchInputAdornment.d.ts +1 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/searchInputAdornment.js +9 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/constants.d.ts +2 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/components/constants.js +5 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/inputAdornment.styles.d.ts +5 -0
- package/lib/components/common/OutlinedInput/components/InputAdornment/inputAdornment.styles.js +5 -0
- package/lib/components/common/OutlinedInput/outlinedInput.styles.d.ts +7 -0
- package/lib/components/common/OutlinedInput/outlinedInput.styles.js +18 -0
- package/lib/hooks/stateSyncManager/hooks/UseMetaCommands/hook.js +2 -2
- package/lib/hooks/stateSyncManager/hooks/UseStateSync/hook.js +3 -3
- package/lib/hooks/stateSyncManager/types.d.ts +1 -1
- package/lib/providers/dataDictionary/context.d.ts +2 -0
- package/lib/providers/dataDictionary/context.js +4 -0
- package/lib/providers/dataDictionary/hook.d.ts +6 -0
- package/lib/providers/dataDictionary/hook.js +9 -0
- package/lib/providers/dataDictionary/types.d.ts +3 -0
- package/lib/providers/dataDictionary/types.js +1 -0
- package/lib/providers/dataDictionaryState/actions/clearMeta/action.d.ts +9 -0
- package/lib/providers/dataDictionaryState/actions/clearMeta/action.js +12 -0
- package/lib/providers/dataDictionaryState/actions/clearMeta/dispatch.d.ts +6 -0
- package/lib/providers/dataDictionaryState/actions/clearMeta/dispatch.js +11 -0
- package/lib/providers/dataDictionaryState/actions/clearMeta/types.d.ts +6 -0
- package/lib/providers/dataDictionaryState/actions/clearMeta/types.js +1 -0
- package/lib/providers/dataDictionaryState/actions/stateToUrl/action.d.ts +9 -0
- package/lib/providers/dataDictionaryState/actions/stateToUrl/action.js +14 -0
- package/lib/providers/dataDictionaryState/actions/stateToUrl/dispatch.d.ts +7 -0
- package/lib/providers/dataDictionaryState/actions/stateToUrl/dispatch.js +12 -0
- package/lib/providers/dataDictionaryState/actions/stateToUrl/types.d.ts +12 -0
- package/lib/providers/dataDictionaryState/actions/stateToUrl/types.js +5 -0
- package/lib/providers/dataDictionaryState/actions/types.d.ts +13 -0
- package/lib/providers/dataDictionaryState/actions/types.js +8 -0
- package/lib/providers/dataDictionaryState/actions/updateColumnFilters/action.d.ts +9 -0
- package/lib/providers/dataDictionaryState/actions/updateColumnFilters/action.js +18 -0
- package/lib/providers/dataDictionaryState/actions/updateColumnFilters/dispatch.d.ts +7 -0
- package/lib/providers/dataDictionaryState/actions/updateColumnFilters/dispatch.js +12 -0
- package/lib/providers/dataDictionaryState/actions/updateColumnFilters/types.d.ts +10 -0
- package/lib/providers/dataDictionaryState/actions/updateColumnFilters/types.js +1 -0
- package/lib/providers/dataDictionaryState/actions/updateColumnFilters/utils.d.ts +11 -0
- package/lib/providers/dataDictionaryState/actions/updateColumnFilters/utils.js +27 -0
- package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/action.d.ts +9 -0
- package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/action.js +19 -0
- package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/dispatch.d.ts +7 -0
- package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/dispatch.js +12 -0
- package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/types.d.ts +10 -0
- package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/types.js +1 -0
- package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/utils.d.ts +17 -0
- package/lib/providers/dataDictionaryState/actions/updateGlobalFilter/utils.js +36 -0
- package/lib/providers/dataDictionaryState/actions/urlToState/action.d.ts +9 -0
- package/lib/providers/dataDictionaryState/actions/urlToState/action.js +20 -0
- package/lib/providers/dataDictionaryState/actions/urlToState/dispatch.d.ts +7 -0
- package/lib/providers/dataDictionaryState/actions/urlToState/dispatch.js +12 -0
- package/lib/providers/dataDictionaryState/actions/urlToState/types.d.ts +9 -0
- package/lib/providers/dataDictionaryState/actions/urlToState/types.js +1 -0
- package/lib/providers/dataDictionaryState/context.d.ts +2 -0
- package/lib/providers/dataDictionaryState/context.js +6 -0
- package/lib/providers/dataDictionaryState/dictionaries/constants.d.ts +4 -0
- package/lib/providers/dataDictionaryState/dictionaries/constants.js +4 -0
- package/lib/providers/dataDictionaryState/dictionaries/state.d.ts +11 -0
- package/lib/providers/dataDictionaryState/dictionaries/state.js +29 -0
- package/lib/providers/dataDictionaryState/dictionaries/types.d.ts +9 -0
- package/lib/providers/dataDictionaryState/dictionaries/types.js +1 -0
- package/lib/providers/dataDictionaryState/dictionaries/utils.d.ts +14 -0
- package/lib/providers/dataDictionaryState/dictionaries/utils.js +20 -0
- package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/hook.d.ts +2 -0
- package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/hook.js +6 -0
- package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/types.d.ts +4 -0
- package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/types.js +1 -0
- package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryReducer/hook.d.ts +2 -0
- package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryReducer/hook.js +9 -0
- package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryState/hook.d.ts +6 -0
- package/lib/providers/dataDictionaryState/hooks/UseDataDictionaryState/hook.js +9 -0
- package/lib/providers/dataDictionaryState/initializer/constants.d.ts +2 -0
- package/lib/providers/dataDictionaryState/initializer/constants.js +4 -0
- package/lib/providers/dataDictionaryState/initializer/initializer.d.ts +9 -0
- package/lib/providers/dataDictionaryState/initializer/initializer.js +17 -0
- package/lib/providers/dataDictionaryState/initializer/utils.d.ts +8 -0
- package/lib/providers/dataDictionaryState/initializer/utils.js +29 -0
- package/lib/providers/dataDictionaryState/provider.d.ts +4 -0
- package/lib/providers/dataDictionaryState/provider.js +7 -0
- package/lib/providers/dataDictionaryState/reducer.d.ts +9 -0
- package/lib/providers/dataDictionaryState/reducer.js +34 -0
- package/lib/providers/dataDictionaryState/types.d.ts +15 -0
- package/lib/providers/dataDictionaryState/types.js +1 -0
- package/lib/styles/common/mui/iconButton.d.ts +11 -0
- package/lib/styles/common/mui/iconButton.js +29 -0
- package/lib/styles/common/mui/inputAdornment.d.ts +9 -0
- package/lib/styles/common/mui/inputAdornment.js +13 -0
- package/lib/styles/common/mui/outlinedInput.d.ts +7 -0
- package/lib/styles/common/mui/outlinedInput.js +7 -0
- package/lib/theme/common/components.js +122 -16
- package/lib/theme/components/muiButtonGroup.js +4 -0
- package/lib/theme/components/muiTableCell.js +6 -0
- package/lib/utils/parseJsonQueryParam.d.ts +14 -0
- package/lib/utils/parseJsonQueryParam.js +25 -0
- package/lib/utils/stateToUrlQuery.d.ts +15 -0
- package/lib/utils/stateToUrlQuery.js +35 -0
- package/lib/views/DataDictionaryView/dataDictionaryView.d.ts +2 -2
- package/lib/views/DataDictionaryView/dataDictionaryView.js +16 -2
- package/lib/views/DataDictionaryView/types.d.ts +4 -0
- package/lib/views/DataDictionaryView/types.js +1 -0
- package/lib/views/DataDictionaryView/utils.d.ts +12 -0
- package/lib/views/DataDictionaryView/utils.js +17 -0
- package/lib/views/ExploreView/utils.d.ts +1 -1
- package/lib/views/ExploreView/utils.js +1 -1
- package/package.json +2 -1
- package/src/common/entities.ts +2 -3
- package/src/components/DataDictionary/components/Entities/constants.ts +9 -3
- package/src/components/DataDictionary/components/Entities/entities.styles.ts +6 -0
- package/src/components/DataDictionary/components/Entities/entities.tsx +7 -2
- package/src/components/DataDictionary/components/Entity/entity.styles.ts +1 -10
- package/src/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.styles.ts +8 -0
- package/src/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.tsx +33 -0
- package/src/components/DataDictionary/components/Filters/components/ColumnFilterTags/constants.ts +8 -0
- package/src/components/DataDictionary/components/Filters/components/ColumnFilterTags/types.ts +8 -0
- package/src/components/DataDictionary/components/Filters/filters.styles.ts +3 -3
- package/src/components/DataDictionary/components/Filters/filters.tsx +2 -0
- package/src/components/DataDictionary/components/Filters/stories/constants.ts +18 -0
- package/src/components/DataDictionary/components/Filters/stories/filters.stories.tsx +15 -3
- package/src/components/DataDictionary/components/Filters/stories/hook.ts +8 -0
- package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.ts +1 -5
- package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.tsx +13 -7
- package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/types.ts +4 -2
- package/src/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.styles.ts +4 -1
- package/src/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.tsx +13 -7
- package/src/components/DataDictionary/components/Table/hook.ts +10 -6
- package/src/components/DataDictionary/components/Table/options/columnFilters/constants.ts +2 -1
- package/src/components/DataDictionary/components/Table/options/columnFilters/hook.ts +13 -12
- package/src/components/DataDictionary/components/Table/options/globalFilter/constants.ts +14 -0
- package/src/components/DataDictionary/components/Table/options/globalFilter/hook.ts +28 -0
- package/src/components/DataDictionary/components/Table/options/hook.ts +9 -11
- package/src/components/DataDictionary/components/Table/options/pagination/constants.ts +6 -0
- package/src/components/DataDictionary/dataDictionary.tsx +45 -16
- package/src/components/DataDictionary/hooks/UseDataDictionaryConfig/hook.ts +38 -0
- package/src/components/DataDictionary/hooks/UseDataDictionaryConfig/types.ts +8 -0
- package/src/components/DataDictionary/hooks/UseDataDictionaryConfig/utils.ts +8 -0
- package/src/components/DataDictionary/hooks/UseMeasureFilters/hook.ts +27 -0
- package/src/components/DataDictionary/hooks/UseMeasureFilters/types.ts +6 -0
- package/src/components/DataDictionary/types.ts +1 -0
- package/src/components/Filter/components/FilterCountChip/filterCountChip.styles.ts +19 -0
- package/src/components/Filter/components/FilterCountChip/filterCountChip.tsx +21 -0
- package/src/components/Filter/components/FilterCountChip/stories/filterCountChip.stories.tsx +12 -0
- package/src/components/Filter/components/FilterCountChip/types.ts +6 -0
- package/src/components/Table/columnDef/globalFilter/constants.ts +5 -0
- package/src/components/Table/columnDef/globalFilter/filterFn.ts +34 -0
- package/src/components/Table/columnDef/globalFilter/types.ts +5 -0
- package/src/components/Table/columnDef/globalFilter/utils.ts +74 -0
- package/src/components/Table/components/TableCell/components/RankedCell/rankedCell.tsx +50 -0
- package/src/components/Table/components/TableCell/components/RankedCell/utils.ts +85 -0
- package/src/components/Table/components/TableFeatures/ColumnFilter/columnFilter.styles.ts +26 -1
- package/src/components/Table/components/TableFeatures/ColumnFilter/columnFilter.tsx +11 -5
- package/src/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.styles.ts +25 -0
- package/src/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.tsx +31 -0
- package/src/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/constants.ts +13 -0
- package/src/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/stories/columFilterTag.stories.tsx +26 -0
- package/src/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/types.ts +9 -0
- package/src/components/Table/components/TableFeatures/ColumnFilter/constants.ts +8 -1
- package/src/components/Table/components/TableFeatures/ColumnFilter/types.ts +3 -2
- package/src/components/Table/components/TableFeatures/GlobalFilter/constants.ts +8 -0
- package/src/components/Table/components/TableFeatures/GlobalFilter/globalFilter.tsx +33 -0
- package/src/components/Table/components/TableFeatures/GlobalFilter/types.ts +9 -0
- package/src/components/Table/coreOptions/state/pagination/constants.ts +8 -0
- package/src/components/Table/coreOptions/state/pagination/utils.ts +21 -0
- package/src/components/common/AnchorLink/anchorLink.styles.ts +1 -1
- package/src/components/common/AnchorLink/anchorLink.tsx +9 -3
- package/src/components/common/CustomIcon/components/SearchIcon/searchIcon.tsx +2 -3
- package/src/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.styles.ts +12 -0
- package/src/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.tsx +21 -0
- package/src/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/constants.ts +13 -0
- package/src/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/types.ts +4 -0
- package/src/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/constants.ts +7 -0
- package/src/components/common/OutlinedInput/components/InputAdornment/components/SearchInputAdornment/searchInputAdornment.tsx +13 -0
- package/src/components/common/OutlinedInput/components/InputAdornment/components/constants.ts +7 -0
- package/src/components/common/OutlinedInput/components/InputAdornment/inputAdornment.styles.ts +6 -0
- package/src/components/common/OutlinedInput/outlinedInput.styles.ts +24 -0
- package/src/hooks/stateSyncManager/hooks/UseMetaCommands/hook.ts +2 -2
- package/src/hooks/stateSyncManager/hooks/UseStateSync/hook.ts +3 -3
- package/src/hooks/stateSyncManager/types.ts +1 -1
- package/src/providers/dataDictionary/context.ts +6 -0
- package/src/providers/dataDictionary/hook.ts +11 -0
- package/src/providers/dataDictionary/types.ts +6 -0
- package/src/providers/dataDictionaryState/actions/clearMeta/action.ts +18 -0
- package/src/providers/dataDictionaryState/actions/clearMeta/dispatch.ts +13 -0
- package/src/providers/dataDictionaryState/actions/clearMeta/types.ts +8 -0
- package/src/providers/dataDictionaryState/actions/stateToUrl/action.ts +20 -0
- package/src/providers/dataDictionaryState/actions/stateToUrl/dispatch.ts +14 -0
- package/src/providers/dataDictionaryState/actions/stateToUrl/types.ts +15 -0
- package/src/providers/dataDictionaryState/actions/types.ts +20 -0
- package/src/providers/dataDictionaryState/actions/updateColumnFilters/action.ts +24 -0
- package/src/providers/dataDictionaryState/actions/updateColumnFilters/dispatch.ts +16 -0
- package/src/providers/dataDictionaryState/actions/updateColumnFilters/types.ts +12 -0
- package/src/providers/dataDictionaryState/actions/updateColumnFilters/utils.ts +41 -0
- package/src/providers/dataDictionaryState/actions/updateGlobalFilter/action.ts +25 -0
- package/src/providers/dataDictionaryState/actions/updateGlobalFilter/dispatch.ts +16 -0
- package/src/providers/dataDictionaryState/actions/updateGlobalFilter/types.ts +12 -0
- package/src/providers/dataDictionaryState/actions/updateGlobalFilter/utils.ts +50 -0
- package/src/providers/dataDictionaryState/actions/urlToState/action.ts +28 -0
- package/src/providers/dataDictionaryState/actions/urlToState/dispatch.ts +14 -0
- package/src/providers/dataDictionaryState/actions/urlToState/types.ts +11 -0
- package/src/providers/dataDictionaryState/context.ts +9 -0
- package/src/providers/dataDictionaryState/dictionaries/constants.ts +4 -0
- package/src/providers/dataDictionaryState/dictionaries/state.ts +45 -0
- package/src/providers/dataDictionaryState/dictionaries/types.ts +11 -0
- package/src/providers/dataDictionaryState/dictionaries/utils.ts +25 -0
- package/src/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/hook.ts +14 -0
- package/src/providers/dataDictionaryState/hooks/UseDataDictionaryInitialArgs/types.ts +5 -0
- package/src/providers/dataDictionaryState/hooks/UseDataDictionaryReducer/hook.ts +17 -0
- package/src/providers/dataDictionaryState/hooks/UseDataDictionaryState/hook.ts +11 -0
- package/src/providers/dataDictionaryState/initializer/constants.ts +6 -0
- package/src/providers/dataDictionaryState/initializer/initializer.ts +22 -0
- package/src/providers/dataDictionaryState/initializer/utils.ts +39 -0
- package/src/providers/dataDictionaryState/provider.tsx +16 -0
- package/src/providers/dataDictionaryState/reducer.ts +42 -0
- package/src/providers/dataDictionaryState/types.ts +18 -0
- package/src/styles/common/mui/iconButton.ts +40 -0
- package/src/styles/common/mui/inputAdornment.ts +22 -0
- package/src/styles/common/mui/outlinedInput.ts +14 -0
- package/src/theme/common/components.ts +122 -16
- package/src/theme/components/muiButtonGroup.ts +4 -0
- package/src/theme/components/muiTableCell.ts +6 -0
- package/src/utils/parseJsonQueryParam.ts +27 -0
- package/src/utils/stateToUrlQuery.ts +40 -0
- package/src/views/DataDictionaryView/dataDictionaryView.tsx +29 -3
- package/src/views/DataDictionaryView/types.ts +5 -0
- package/src/views/DataDictionaryView/utils.ts +23 -0
- package/src/views/ExploreView/utils.ts +1 -1
- package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.d.ts +0 -4
- package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +0 -36
- package/lib/components/DataDictionary/hooks/UseDataDictionary/types.d.ts +0 -8
- package/src/components/DataDictionary/hooks/UseDataDictionary/hook.ts +0 -51
- package/src/components/DataDictionary/hooks/UseDataDictionary/types.ts +0 -9
- /package/lib/components/DataDictionary/{hooks/UseDataDictionary → components/Filters/components/ColumnFilterTags}/types.js +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var DataDictionaryActionKind;
|
|
2
|
+
(function (DataDictionaryActionKind) {
|
|
3
|
+
DataDictionaryActionKind["ClearMeta"] = "CLEAR_META";
|
|
4
|
+
DataDictionaryActionKind["StateToUrl"] = "STATE_TO_URL";
|
|
5
|
+
DataDictionaryActionKind["UpdateColumnFilters"] = "UPDATE_COLUMN_FILTERS";
|
|
6
|
+
DataDictionaryActionKind["UpdateGlobalFilter"] = "UPDATE_GLOBAL_FILTER";
|
|
7
|
+
DataDictionaryActionKind["UrlToState"] = "URL_TO_STATE";
|
|
8
|
+
})(DataDictionaryActionKind || (DataDictionaryActionKind = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataDictionaryState } from "../../types";
|
|
2
|
+
import { UpdateColumnFiltersPayload } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Reducer function to handle the "update column filters" action.
|
|
5
|
+
* @param state - Data dictionary state.
|
|
6
|
+
* @param payload - Payload.
|
|
7
|
+
* @returns data dictionary state.
|
|
8
|
+
*/
|
|
9
|
+
export declare function updateColumnFiltersAction(state: DataDictionaryState, payload: UpdateColumnFiltersPayload): DataDictionaryState;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { META_COMMAND } from "../../../../hooks/stateSyncManager/hooks/UseMetaCommands/types";
|
|
2
|
+
import { buildNextDictionaries } from "../../dictionaries/state";
|
|
3
|
+
import { buildNextColumnFilters } from "./utils";
|
|
4
|
+
/**
|
|
5
|
+
* Reducer function to handle the "update column filters" action.
|
|
6
|
+
* @param state - Data dictionary state.
|
|
7
|
+
* @param payload - Payload.
|
|
8
|
+
* @returns data dictionary state.
|
|
9
|
+
*/
|
|
10
|
+
export function updateColumnFiltersAction(state, payload) {
|
|
11
|
+
return {
|
|
12
|
+
...state,
|
|
13
|
+
dictionaries: buildNextDictionaries(state, payload.dictionary, {
|
|
14
|
+
columnFilters: buildNextColumnFilters(state, payload),
|
|
15
|
+
}),
|
|
16
|
+
meta: { command: META_COMMAND.STATE_TO_URL_PUSH },
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UpdateColumnFiltersAction, UpdateColumnFiltersPayload } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Action creator for updating column filters in the state.
|
|
4
|
+
* @param payload - Payload.
|
|
5
|
+
* @returns Action with payload and action type.
|
|
6
|
+
*/
|
|
7
|
+
export declare function updateColumnFilters(payload: UpdateColumnFiltersPayload): UpdateColumnFiltersAction;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DataDictionaryActionKind } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Action creator for updating column filters in the state.
|
|
4
|
+
* @param payload - Payload.
|
|
5
|
+
* @returns Action with payload and action type.
|
|
6
|
+
*/
|
|
7
|
+
export function updateColumnFilters(payload) {
|
|
8
|
+
return {
|
|
9
|
+
payload,
|
|
10
|
+
type: DataDictionaryActionKind.UpdateColumnFilters,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ColumnFiltersState, Updater } from "@tanstack/react-table";
|
|
2
|
+
import { DataDictionaryActionKind } from "../types";
|
|
3
|
+
export type UpdateColumnFiltersAction = {
|
|
4
|
+
payload: UpdateColumnFiltersPayload;
|
|
5
|
+
type: DataDictionaryActionKind.UpdateColumnFilters;
|
|
6
|
+
};
|
|
7
|
+
export interface UpdateColumnFiltersPayload {
|
|
8
|
+
dictionary: string;
|
|
9
|
+
updaterOrValue: Updater<ColumnFiltersState>;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ColumnFiltersState } from "@tanstack/react-table";
|
|
2
|
+
import { DataDictionaryState } from "../../types";
|
|
3
|
+
import { UpdateColumnFiltersPayload } from "./types";
|
|
4
|
+
/**
|
|
5
|
+
* Builds the next column filters state for the current dictionary.
|
|
6
|
+
* Uses TanStack updater to update the column filters state.
|
|
7
|
+
* @param state - State.
|
|
8
|
+
* @param payload - Payload.
|
|
9
|
+
* @returns column filters state.
|
|
10
|
+
*/
|
|
11
|
+
export declare function buildNextColumnFilters(state: DataDictionaryState, payload: UpdateColumnFiltersPayload): ColumnFiltersState;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { functionalUpdate } from "@tanstack/react-table";
|
|
2
|
+
/**
|
|
3
|
+
* Builds the next column filters state for the current dictionary.
|
|
4
|
+
* Uses TanStack updater to update the column filters state.
|
|
5
|
+
* @param state - State.
|
|
6
|
+
* @param payload - Payload.
|
|
7
|
+
* @returns column filters state.
|
|
8
|
+
*/
|
|
9
|
+
export function buildNextColumnFilters(state, payload) {
|
|
10
|
+
return functionalUpdate(payload.updaterOrValue, getOldColumnFilters(state, payload));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Retrieves the current "old" column filters state.
|
|
14
|
+
* @param state - State.
|
|
15
|
+
* @param payload - Payload.
|
|
16
|
+
* @returns old column filters state.
|
|
17
|
+
*/
|
|
18
|
+
function getOldColumnFilters(state, payload) {
|
|
19
|
+
// Grab the dictionary.
|
|
20
|
+
const dictionary = state.dictionaries[payload.dictionary];
|
|
21
|
+
// If the dictionary is not found, return an empty array.
|
|
22
|
+
if (!dictionary)
|
|
23
|
+
return [];
|
|
24
|
+
// Grab column filters from dictionary state.
|
|
25
|
+
const { columnFilters = [] } = dictionary.state;
|
|
26
|
+
return columnFilters;
|
|
27
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataDictionaryState } from "../../types";
|
|
2
|
+
import { UpdateGlobalFilterPayload } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Reducer function to handle the "update global filter" action.
|
|
5
|
+
* @param state - State.
|
|
6
|
+
* @param payload - Payload.
|
|
7
|
+
* @returns state.
|
|
8
|
+
*/
|
|
9
|
+
export declare function updateGlobalFilterAction(state: DataDictionaryState, payload: UpdateGlobalFilterPayload): DataDictionaryState;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { buildNextDictionaries } from "../../dictionaries/state";
|
|
2
|
+
import { buildNextGlobalFilter, buildNextMeta } from "./utils";
|
|
3
|
+
/**
|
|
4
|
+
* Reducer function to handle the "update global filter" action.
|
|
5
|
+
* @param state - State.
|
|
6
|
+
* @param payload - Payload.
|
|
7
|
+
* @returns state.
|
|
8
|
+
*/
|
|
9
|
+
export function updateGlobalFilterAction(state, payload) {
|
|
10
|
+
const globalFilter = buildNextGlobalFilter(payload);
|
|
11
|
+
const meta = buildNextMeta(state, payload, globalFilter);
|
|
12
|
+
return {
|
|
13
|
+
...state,
|
|
14
|
+
dictionaries: buildNextDictionaries(state, payload.dictionary, {
|
|
15
|
+
globalFilter,
|
|
16
|
+
}),
|
|
17
|
+
meta,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UpdateGlobalFilterAction, UpdateGlobalFilterPayload } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Action creator for updating global filter in the state.
|
|
4
|
+
* @param payload - Payload.
|
|
5
|
+
* @returns Action with payload and action type.
|
|
6
|
+
*/
|
|
7
|
+
export declare function updateGlobalFilter(payload: UpdateGlobalFilterPayload): UpdateGlobalFilterAction;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DataDictionaryActionKind } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Action creator for updating global filter in the state.
|
|
4
|
+
* @param payload - Payload.
|
|
5
|
+
* @returns Action with payload and action type.
|
|
6
|
+
*/
|
|
7
|
+
export function updateGlobalFilter(payload) {
|
|
8
|
+
return {
|
|
9
|
+
payload,
|
|
10
|
+
type: DataDictionaryActionKind.UpdateGlobalFilter,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Updater } from "@tanstack/react-table";
|
|
2
|
+
import { DataDictionaryActionKind } from "../types";
|
|
3
|
+
export type UpdateGlobalFilterAction = {
|
|
4
|
+
payload: UpdateGlobalFilterPayload;
|
|
5
|
+
type: DataDictionaryActionKind.UpdateGlobalFilter;
|
|
6
|
+
};
|
|
7
|
+
export interface UpdateGlobalFilterPayload {
|
|
8
|
+
dictionary: string;
|
|
9
|
+
updaterOrValue: Updater<string | undefined>;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DataDictionaryState } from "../../types";
|
|
2
|
+
import { UpdateGlobalFilterPayload } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Builds the next global filter state for the current dictionary.
|
|
5
|
+
* Uses TanStack updater to update the global filter state.
|
|
6
|
+
* @param payload - Payload.
|
|
7
|
+
* @returns global filter state.
|
|
8
|
+
*/
|
|
9
|
+
export declare function buildNextGlobalFilter(payload: UpdateGlobalFilterPayload): string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Builds the next meta state for the current dictionary.
|
|
12
|
+
* @param state - State.
|
|
13
|
+
* @param payload - Payload.
|
|
14
|
+
* @param nextGlobalFilter - Next global filter.
|
|
15
|
+
* @returns meta state.
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildNextMeta(state: DataDictionaryState, payload: UpdateGlobalFilterPayload, nextGlobalFilter: string | undefined): DataDictionaryState["meta"];
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { functionalUpdate } from "@tanstack/react-table";
|
|
2
|
+
import { META_COMMAND } from "../../../../hooks/stateSyncManager/hooks/UseMetaCommands/types";
|
|
3
|
+
/**
|
|
4
|
+
* Builds the next global filter state for the current dictionary.
|
|
5
|
+
* Uses TanStack updater to update the global filter state.
|
|
6
|
+
* @param payload - Payload.
|
|
7
|
+
* @returns global filter state.
|
|
8
|
+
*/
|
|
9
|
+
export function buildNextGlobalFilter(payload) {
|
|
10
|
+
return functionalUpdate(payload.updaterOrValue, undefined) || undefined;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Builds the next meta state for the current dictionary.
|
|
14
|
+
* @param state - State.
|
|
15
|
+
* @param payload - Payload.
|
|
16
|
+
* @param nextGlobalFilter - Next global filter.
|
|
17
|
+
* @returns meta state.
|
|
18
|
+
*/
|
|
19
|
+
export function buildNextMeta(state, payload, nextGlobalFilter) {
|
|
20
|
+
const currentGlobalFilter = getCurrentGlobalFilter(state, payload);
|
|
21
|
+
// Use PUSH method with adding or removing the global filter.
|
|
22
|
+
if (currentGlobalFilter === undefined || nextGlobalFilter === undefined) {
|
|
23
|
+
return { command: META_COMMAND.STATE_TO_URL_PUSH };
|
|
24
|
+
}
|
|
25
|
+
// Use REPLACE method with edits to the global filter.
|
|
26
|
+
return { command: META_COMMAND.STATE_TO_URL_REPLACE };
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Returns the current global filter for the current dictionary.
|
|
30
|
+
* @param state - State.
|
|
31
|
+
* @param payload - Payload.
|
|
32
|
+
* @returns global filter.
|
|
33
|
+
*/
|
|
34
|
+
function getCurrentGlobalFilter(state, payload) {
|
|
35
|
+
return state.dictionaries[payload.dictionary].state.globalFilter;
|
|
36
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataDictionaryState } from "../../types";
|
|
2
|
+
import { UrlToStatePayload } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Reducer function to handle the "URL >> state sync" action.
|
|
5
|
+
* @param state - State.
|
|
6
|
+
* @param payload - Payload.
|
|
7
|
+
* @returns state.
|
|
8
|
+
*/
|
|
9
|
+
export declare function urlToStateAction(state: DataDictionaryState, payload: UrlToStatePayload): DataDictionaryState;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { parseJsonQueryParam } from "../../../../utils/parseJsonQueryParam";
|
|
2
|
+
import { DATA_DICTIONARY_URL_PARAMS } from "../../dictionaries/constants";
|
|
3
|
+
import { buildNextDictionaries } from "../../dictionaries/state";
|
|
4
|
+
/**
|
|
5
|
+
* Reducer function to handle the "URL >> state sync" action.
|
|
6
|
+
* @param state - State.
|
|
7
|
+
* @param payload - Payload.
|
|
8
|
+
* @returns state.
|
|
9
|
+
*/
|
|
10
|
+
export function urlToStateAction(state, payload) {
|
|
11
|
+
if (typeof payload.query.dictionary !== "string")
|
|
12
|
+
return state;
|
|
13
|
+
return {
|
|
14
|
+
...state,
|
|
15
|
+
dictionaries: buildNextDictionaries(state, payload.query.dictionary, {
|
|
16
|
+
columnFilters: parseJsonQueryParam(payload.query[DATA_DICTIONARY_URL_PARAMS.COLUMN_FILTERS], []),
|
|
17
|
+
globalFilter: payload.query[DATA_DICTIONARY_URL_PARAMS.GLOBAL_FILTER],
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UrlToStateAction, UrlToStatePayload } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Action creator for URL >> state sync.
|
|
4
|
+
* @param payload - Payload.
|
|
5
|
+
* @returns Action with payload and action type.
|
|
6
|
+
*/
|
|
7
|
+
export declare function urlToState(payload: UrlToStatePayload): UrlToStateAction;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DataDictionaryActionKind } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Action creator for URL >> state sync.
|
|
4
|
+
* @param payload - Payload.
|
|
5
|
+
* @returns Action with payload and action type.
|
|
6
|
+
*/
|
|
7
|
+
export function urlToState(payload) {
|
|
8
|
+
return {
|
|
9
|
+
payload,
|
|
10
|
+
type: DataDictionaryActionKind.UrlToState,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NextRouter } from "next/router";
|
|
2
|
+
import { DataDictionaryActionKind } from "../types";
|
|
3
|
+
export type UrlToStateAction = {
|
|
4
|
+
payload: UrlToStatePayload;
|
|
5
|
+
type: DataDictionaryActionKind.UrlToState;
|
|
6
|
+
};
|
|
7
|
+
export type UrlToStatePayload = {
|
|
8
|
+
query: NextRouter["query"];
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TableState } from "@tanstack/react-table";
|
|
2
|
+
import { DataDictionaryState } from "../types";
|
|
3
|
+
import { DictionariesContext } from "./types";
|
|
4
|
+
/**
|
|
5
|
+
* Builds the next dictionaries context.
|
|
6
|
+
* @param state - State.
|
|
7
|
+
* @param dictionaryKey - Dictionary key.
|
|
8
|
+
* @param nextDictionaryState - Next dictionary state.
|
|
9
|
+
* @returns Next dictionaries context.
|
|
10
|
+
*/
|
|
11
|
+
export declare function buildNextDictionaries(state: DataDictionaryState, dictionaryKey: string, nextDictionaryState: Partial<TableState>): DictionariesContext;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { stateToUrlQuery } from "../../../utils/stateToUrlQuery";
|
|
2
|
+
import { extractDictionaryUrlState as extractUrlState } from "./utils";
|
|
3
|
+
/**
|
|
4
|
+
* Builds the next dictionaries context.
|
|
5
|
+
* @param state - State.
|
|
6
|
+
* @param dictionaryKey - Dictionary key.
|
|
7
|
+
* @param nextDictionaryState - Next dictionary state.
|
|
8
|
+
* @returns Next dictionaries context.
|
|
9
|
+
*/
|
|
10
|
+
export function buildNextDictionaries(state, dictionaryKey, nextDictionaryState) {
|
|
11
|
+
// Clone the dictionaries.
|
|
12
|
+
const dictionaries = { ...state.dictionaries };
|
|
13
|
+
for (const [key, dictionary] of Object.entries(dictionaries)) {
|
|
14
|
+
// Clone the dictionary context.
|
|
15
|
+
const dictionaryContext = { ...dictionary };
|
|
16
|
+
// If the dictionary key is a match, update the dictionary context.
|
|
17
|
+
if (key === dictionaryKey) {
|
|
18
|
+
// Update the dictionary state.
|
|
19
|
+
dictionaryContext.state = { ...dictionary.state, ...nextDictionaryState };
|
|
20
|
+
// Grab param values from the updated dictionary state.
|
|
21
|
+
const { columnFilters, globalFilter } = dictionaryContext.state;
|
|
22
|
+
// Update the dictionary query.
|
|
23
|
+
dictionaryContext.query = stateToUrlQuery(extractUrlState(key, { columnFilters, globalFilter }));
|
|
24
|
+
}
|
|
25
|
+
// Update the dictionary context.
|
|
26
|
+
dictionaries[key] = dictionaryContext;
|
|
27
|
+
}
|
|
28
|
+
return dictionaries;
|
|
29
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TableState } from "@tanstack/react-table";
|
|
2
|
+
import { NextRouter } from "next/router";
|
|
3
|
+
export interface DictionariesContext {
|
|
4
|
+
[key: string]: DictionaryContext;
|
|
5
|
+
}
|
|
6
|
+
export interface DictionaryContext {
|
|
7
|
+
query: NextRouter["query"];
|
|
8
|
+
state: Partial<TableState>;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ColumnFiltersState, TableState } from "@tanstack/react-table";
|
|
2
|
+
/**
|
|
3
|
+
* Extracts dictionary state properties that should be synchronized with URL parameters.
|
|
4
|
+
* This function maps specific properties from the dictionary state to a format
|
|
5
|
+
* that can be used to generate URL query parameters.
|
|
6
|
+
* The extracted properties are:
|
|
7
|
+
* - dictionary: Dictionary key (string).
|
|
8
|
+
* - filter: Applied column filters (ColumnFiltersState).
|
|
9
|
+
* - search: Applied global filter (GlobalFilterTableState) - typed as string or undefined.
|
|
10
|
+
* @param dictionary - Dictionary key.
|
|
11
|
+
* @param state - Dictionary table state.
|
|
12
|
+
* @returns Object with properties ready for URL query serialization.
|
|
13
|
+
*/
|
|
14
|
+
export declare function extractDictionaryUrlState(dictionary: string, state: Partial<TableState>): Record<string, string | ColumnFiltersState | undefined>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DATA_DICTIONARY_URL_PARAMS } from "./constants";
|
|
2
|
+
/**
|
|
3
|
+
* Extracts dictionary state properties that should be synchronized with URL parameters.
|
|
4
|
+
* This function maps specific properties from the dictionary state to a format
|
|
5
|
+
* that can be used to generate URL query parameters.
|
|
6
|
+
* The extracted properties are:
|
|
7
|
+
* - dictionary: Dictionary key (string).
|
|
8
|
+
* - filter: Applied column filters (ColumnFiltersState).
|
|
9
|
+
* - search: Applied global filter (GlobalFilterTableState) - typed as string or undefined.
|
|
10
|
+
* @param dictionary - Dictionary key.
|
|
11
|
+
* @param state - Dictionary table state.
|
|
12
|
+
* @returns Object with properties ready for URL query serialization.
|
|
13
|
+
*/
|
|
14
|
+
export function extractDictionaryUrlState(dictionary, state) {
|
|
15
|
+
return {
|
|
16
|
+
dictionary,
|
|
17
|
+
[DATA_DICTIONARY_URL_PARAMS.COLUMN_FILTERS]: state.columnFilters || [],
|
|
18
|
+
[DATA_DICTIONARY_URL_PARAMS.GLOBAL_FILTER]: state.globalFilter,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useReducer } from "react";
|
|
2
|
+
import { initializer } from "../../initializer/initializer";
|
|
3
|
+
import { dataDictionaryReducer } from "../../reducer";
|
|
4
|
+
import { useDataDictionaryInitialArgs } from "../UseDataDictionaryInitialArgs/hook";
|
|
5
|
+
export const useDataDictionaryReducer = () => {
|
|
6
|
+
const initialArgs = useDataDictionaryInitialArgs();
|
|
7
|
+
const [dataDictionaryState, dataDictionaryDispatch] = useReducer(dataDictionaryReducer, initialArgs, initializer);
|
|
8
|
+
return { dataDictionaryDispatch, dataDictionaryState };
|
|
9
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useContext } from "react";
|
|
2
|
+
import { DataDictionaryStateContext } from "../../context";
|
|
3
|
+
/**
|
|
4
|
+
* Returns data dictionary state context.
|
|
5
|
+
* @returns data dictionary state context.
|
|
6
|
+
*/
|
|
7
|
+
export const useDataDictionaryState = () => {
|
|
8
|
+
return useContext(DataDictionaryStateContext);
|
|
9
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UseDataDictionaryInitialArgs } from "../hooks/UseDataDictionaryInitialArgs/types";
|
|
2
|
+
import { DataDictionaryState } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Initializer function for the data dictionary reducer, returning initial state.
|
|
5
|
+
* @param initialArgs - Initial arguments.
|
|
6
|
+
* @param initialArgs.dataDictionaries - Data dictionary configs.
|
|
7
|
+
* @returns The initialized data dictionary state.
|
|
8
|
+
*/
|
|
9
|
+
export declare function initializer({ dataDictionaries, }: UseDataDictionaryInitialArgs): DataDictionaryState;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { INITIAL_DATA_DICTIONARY_STATE } from "./constants";
|
|
2
|
+
import { initDictionaries } from "./utils";
|
|
3
|
+
/**
|
|
4
|
+
* Initializer function for the data dictionary reducer, returning initial state.
|
|
5
|
+
* @param initialArgs - Initial arguments.
|
|
6
|
+
* @param initialArgs.dataDictionaries - Data dictionary configs.
|
|
7
|
+
* @returns The initialized data dictionary state.
|
|
8
|
+
*/
|
|
9
|
+
export function initializer({ dataDictionaries, }) {
|
|
10
|
+
// If no data dictionary configs are provided, return default initial state.
|
|
11
|
+
if (!dataDictionaries)
|
|
12
|
+
return INITIAL_DATA_DICTIONARY_STATE;
|
|
13
|
+
return {
|
|
14
|
+
dictionaries: initDictionaries(dataDictionaries),
|
|
15
|
+
meta: null,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DataDictionaryConfig } from "../../../common/entities";
|
|
2
|
+
import { DictionariesContext } from "../dictionaries/types";
|
|
3
|
+
/**
|
|
4
|
+
* Initializes the dictionaries context.
|
|
5
|
+
* @param dataDictionaries - The data dictionary configs.
|
|
6
|
+
* @returns The initialized dictionaries context.
|
|
7
|
+
*/
|
|
8
|
+
export declare function initDictionaries(dataDictionaries: DataDictionaryConfig[]): DictionariesContext;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { initPaginationState } from "../../../components/Table/coreOptions/state/pagination/utils";
|
|
2
|
+
/**
|
|
3
|
+
* Initializes the dictionaries context.
|
|
4
|
+
* @param dataDictionaries - The data dictionary configs.
|
|
5
|
+
* @returns The initialized dictionaries context.
|
|
6
|
+
*/
|
|
7
|
+
export function initDictionaries(dataDictionaries) {
|
|
8
|
+
return dataDictionaries.reduce((acc, { path, tableOptions }) => {
|
|
9
|
+
acc[path] = {
|
|
10
|
+
query: { dictionary: path },
|
|
11
|
+
state: initState(tableOptions),
|
|
12
|
+
};
|
|
13
|
+
return acc;
|
|
14
|
+
}, {});
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Initializes the dictionary state (TanStack Table state).
|
|
18
|
+
* @param tableOptions - The table options.
|
|
19
|
+
* @returns The initialized dictionary state.
|
|
20
|
+
*/
|
|
21
|
+
function initState(tableOptions) {
|
|
22
|
+
const { initialState } = tableOptions;
|
|
23
|
+
return {
|
|
24
|
+
columnFilters: [],
|
|
25
|
+
globalFilter: undefined,
|
|
26
|
+
...initialState,
|
|
27
|
+
...initPaginationState(initialState),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { DataDictionaryStateContext } from "./context";
|
|
3
|
+
import { useDataDictionaryReducer } from "./hooks/UseDataDictionaryReducer/hook";
|
|
4
|
+
export function DataDictionaryStateProvider({ children, }) {
|
|
5
|
+
const reducer = useDataDictionaryReducer();
|
|
6
|
+
return (React.createElement(DataDictionaryStateContext.Provider, { value: reducer }, children));
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataDictionaryAction } from "./actions/types";
|
|
2
|
+
import { DataDictionaryState } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Reducer for data dictionary.
|
|
5
|
+
* @param state - State.
|
|
6
|
+
* @param action - Action.
|
|
7
|
+
* @returns state.
|
|
8
|
+
*/
|
|
9
|
+
export declare function dataDictionaryReducer(state: DataDictionaryState, action: DataDictionaryAction): DataDictionaryState;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { clearMetaAction } from "./actions/clearMeta/action";
|
|
2
|
+
import { stateToUrlAction } from "./actions/stateToUrl/action";
|
|
3
|
+
import { DataDictionaryActionKind, } from "./actions/types";
|
|
4
|
+
import { updateColumnFiltersAction } from "./actions/updateColumnFilters/action";
|
|
5
|
+
import { updateGlobalFilterAction } from "./actions/updateGlobalFilter/action";
|
|
6
|
+
import { urlToStateAction } from "./actions/urlToState/action";
|
|
7
|
+
/**
|
|
8
|
+
* Reducer for data dictionary.
|
|
9
|
+
* @param state - State.
|
|
10
|
+
* @param action - Action.
|
|
11
|
+
* @returns state.
|
|
12
|
+
*/
|
|
13
|
+
export function dataDictionaryReducer(state, action) {
|
|
14
|
+
const { payload, type } = action;
|
|
15
|
+
switch (type) {
|
|
16
|
+
case DataDictionaryActionKind.ClearMeta: {
|
|
17
|
+
return clearMetaAction(state, payload);
|
|
18
|
+
}
|
|
19
|
+
case DataDictionaryActionKind.StateToUrl: {
|
|
20
|
+
return stateToUrlAction(state, payload);
|
|
21
|
+
}
|
|
22
|
+
case DataDictionaryActionKind.UpdateColumnFilters: {
|
|
23
|
+
return updateColumnFiltersAction(state, payload);
|
|
24
|
+
}
|
|
25
|
+
case DataDictionaryActionKind.UpdateGlobalFilter: {
|
|
26
|
+
return updateGlobalFilterAction(state, payload);
|
|
27
|
+
}
|
|
28
|
+
case DataDictionaryActionKind.UrlToState: {
|
|
29
|
+
return urlToStateAction(state, payload);
|
|
30
|
+
}
|
|
31
|
+
default:
|
|
32
|
+
return state;
|
|
33
|
+
}
|
|
34
|
+
}
|