@redsift/table 11.6.0-muiv5-alpha.4 → 11.6.0-muiv5-alpha.6
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/_internal/BaseComponents.d.ts +3 -0
- package/_internal/BaseComponents.js +3 -0
- package/_internal/BaseComponents.js.map +1 -0
- package/_internal/BasePopper.js +2448 -0
- package/_internal/BasePopper.js.map +1 -0
- package/_internal/BaseTextField.d.ts +15 -0
- package/{components/BaseComponents → _internal}/BaseTextField.js +1 -1
- package/_internal/BaseTextField.js.map +1 -0
- package/_internal/ControlledPagination.js +10484 -0
- package/_internal/ControlledPagination.js.map +1 -0
- package/_internal/DataGrid.d.ts +6 -0
- package/{components/DataGrid/DataGrid.d.ts → _internal/DataGrid.d2.ts} +2 -2
- package/_internal/DataGrid.js +2 -0
- package/_internal/DataGrid.js.map +1 -0
- package/{components/DataGrid/DataGrid.js → _internal/DataGrid2.js} +9 -17
- package/_internal/DataGrid2.js.map +1 -0
- package/_internal/GridToolbarFilterSemanticField.d.ts +5 -0
- package/{components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.d.ts → _internal/GridToolbarFilterSemanticField.d2.ts} +2 -2
- package/_internal/GridToolbarFilterSemanticField.js +2 -0
- package/_internal/GridToolbarFilterSemanticField.js.map +1 -0
- package/_internal/GridToolbarFilterSemanticField2.js +5581 -0
- package/_internal/GridToolbarFilterSemanticField2.js.map +1 -0
- package/_internal/Pagination.d.ts +7 -0
- package/_internal/Pagination.js +2 -0
- package/_internal/Pagination.js.map +1 -0
- package/_internal/Portal.js +4363 -0
- package/_internal/Portal.js.map +1 -0
- package/{components/Pagination → _internal}/ServerSideControlledPagination.d.ts +19 -3
- package/_internal/StatefulDataGrid.d.ts +6 -0
- package/{components/StatefulDataGrid/types.d.ts → _internal/StatefulDataGrid.d2.ts} +5 -2
- package/_internal/StatefulDataGrid.js +2 -0
- package/_internal/StatefulDataGrid.js.map +1 -0
- package/{utils/urlLocalStorageSync.js → _internal/StatefulDataGrid2.js} +671 -5
- package/_internal/StatefulDataGrid2.js.map +1 -0
- package/_internal/TextCell.d.ts +3 -0
- package/{components/TextCell/types.d.ts → _internal/TextCell.d2.ts} +7 -2
- package/_internal/TextCell.js +2 -0
- package/_internal/TextCell.js.map +1 -0
- package/{components/TextCell/TextCell.js → _internal/TextCell2.js} +22 -4
- package/_internal/TextCell2.js.map +1 -0
- package/_internal/Toolbar.d.ts +4 -0
- package/{components/Toolbar/types.d.ts → _internal/Toolbar.d2.ts} +19 -3
- package/_internal/Toolbar.js +2 -0
- package/_internal/Toolbar.js.map +1 -0
- package/{components/Toolbar/Toolbar.js → _internal/Toolbar2.js} +18 -5
- package/_internal/Toolbar2.js.map +1 -0
- package/_internal/ToolbarWrapper.d.ts +6 -0
- package/{components/ToolbarWrapper/ToolbarWrapper.d.ts → _internal/ToolbarWrapper.d2.ts} +2 -2
- package/_internal/ToolbarWrapper.js +2 -0
- package/_internal/ToolbarWrapper.js.map +1 -0
- package/{components/ToolbarWrapper/ToolbarWrapper.js → _internal/ToolbarWrapper2.js} +4 -5
- package/_internal/ToolbarWrapper2.js.map +1 -0
- package/{_virtual → _internal}/_rollupPluginBabelHelpers.js +1 -1
- package/_internal/jsx-runtime.js +1342 -0
- package/_internal/jsx-runtime.js.map +1 -0
- package/{components/DataGrid → _internal}/types.d.ts +1 -2
- package/{components/GridToolbarFilterSemanticField/types.d.ts → _internal/types.d2.ts} +1 -1
- package/_internal/useControlledDatagridState.js +2175 -0
- package/_internal/useControlledDatagridState.js.map +1 -0
- package/index.d.ts +405 -39
- package/index.js +17 -36
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/_virtual/_commonjsHelpers.js +0 -6
- package/_virtual/_commonjsHelpers.js.map +0 -1
- package/_virtual/index.js +0 -4
- package/_virtual/index.js.map +0 -1
- package/_virtual/index2.js +0 -4
- package/_virtual/index2.js.map +0 -1
- package/_virtual/index3.js +0 -4
- package/_virtual/index3.js.map +0 -1
- package/_virtual/jsx-runtime.js +0 -4
- package/_virtual/jsx-runtime.js.map +0 -1
- package/_virtual/react-is.development.js +0 -4
- package/_virtual/react-is.development.js.map +0 -1
- package/_virtual/react-is.development2.js +0 -4
- package/_virtual/react-is.development2.js.map +0 -1
- package/_virtual/react-is.production.min.js +0 -4
- package/_virtual/react-is.production.min.js.map +0 -1
- package/_virtual/react-is.production.min2.js +0 -4
- package/_virtual/react-is.production.min2.js.map +0 -1
- package/_virtual/react-jsx-runtime.development.js +0 -4
- package/_virtual/react-jsx-runtime.development.js.map +0 -1
- package/_virtual/react-jsx-runtime.production.min.js +0 -4
- package/_virtual/react-jsx-runtime.production.min.js.map +0 -1
- package/components/BaseComponents/BaseButton.d.ts +0 -5
- package/components/BaseComponents/BaseButton.js +0 -41
- package/components/BaseComponents/BaseButton.js.map +0 -1
- package/components/BaseComponents/BaseCheckbox.d.ts +0 -5
- package/components/BaseComponents/BaseCheckbox.js +0 -24
- package/components/BaseComponents/BaseCheckbox.js.map +0 -1
- package/components/BaseComponents/BaseIcon.d.ts +0 -7
- package/components/BaseComponents/BaseIcon.js +0 -33
- package/components/BaseComponents/BaseIcon.js.map +0 -1
- package/components/BaseComponents/BasePopper.d.ts +0 -5
- package/components/BaseComponents/BasePopper.js +0 -13
- package/components/BaseComponents/BasePopper.js.map +0 -1
- package/components/BaseComponents/BaseTextField.d.ts +0 -5
- package/components/BaseComponents/BaseTextField.js.map +0 -1
- package/components/DataGrid/DataGrid.js.map +0 -1
- package/components/DataGrid/styles.js +0 -74
- package/components/DataGrid/styles.js.map +0 -1
- package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js +0 -183
- package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js.map +0 -1
- package/components/GridToolbarFilterSemanticField/styles.js +0 -20
- package/components/GridToolbarFilterSemanticField/styles.js.map +0 -1
- package/components/Pagination/ControlledPagination.d.ts +0 -21
- package/components/Pagination/ControlledPagination.js +0 -74
- package/components/Pagination/ControlledPagination.js.map +0 -1
- package/components/Pagination/ServerSideControlledPagination.js +0 -102
- package/components/Pagination/ServerSideControlledPagination.js.map +0 -1
- package/components/StatefulDataGrid/StatefulDataGrid.d.ts +0 -6
- package/components/StatefulDataGrid/StatefulDataGrid.js +0 -373
- package/components/StatefulDataGrid/StatefulDataGrid.js.map +0 -1
- package/components/TextCell/TextCell.d.ts +0 -9
- package/components/TextCell/TextCell.js.map +0 -1
- package/components/TextCell/styles.js +0 -22
- package/components/TextCell/styles.js.map +0 -1
- package/components/Toolbar/Toolbar.d.ts +0 -20
- package/components/Toolbar/Toolbar.js.map +0 -1
- package/components/Toolbar/styles.js +0 -17
- package/components/Toolbar/styles.js.map +0 -1
- package/components/ToolbarWrapper/ToolbarWrapper.js.map +0 -1
- package/hooks/useControlledDatagridState.js +0 -109
- package/hooks/useControlledDatagridState.js.map +0 -1
- package/hooks/useFetchState.js +0 -34
- package/hooks/useFetchState.js.map +0 -1
- package/hooks/useStatefulTable.d.ts +0 -12
- package/hooks/useStatefulTable.js +0 -182
- package/hooks/useStatefulTable.js.map +0 -1
- package/hooks/useTableStates.js +0 -52
- package/hooks/useTableStates.js.map +0 -1
- package/packages/design-system/src/components/theme/context.js +0 -7
- package/packages/design-system/src/components/theme/context.js.map +0 -1
- package/packages/popovers/src/components/tooltip/Tooltip.js +0 -60
- package/packages/popovers/src/components/tooltip/Tooltip.js.map +0 -1
- package/packages/popovers/src/components/tooltip/context.js +0 -6
- package/packages/popovers/src/components/tooltip/context.js.map +0 -1
- package/packages/popovers/src/components/tooltip/types.js +0 -28
- package/packages/popovers/src/components/tooltip/types.js.map +0 -1
- package/packages/popovers/src/components/tooltip/useTooltip.js +0 -78
- package/packages/popovers/src/components/tooltip/useTooltip.js.map +0 -1
- package/packages/popovers/src/components/tooltip/useTooltipContext.js +0 -13
- package/packages/popovers/src/components/tooltip/useTooltipContext.js.map +0 -1
- package/packages/popovers/src/components/tooltip-content/TooltipContent.js +0 -79
- package/packages/popovers/src/components/tooltip-content/TooltipContent.js.map +0 -1
- package/packages/popovers/src/components/tooltip-content/styles.js +0 -127
- package/packages/popovers/src/components/tooltip-content/styles.js.map +0 -1
- package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js +0 -47
- package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js.map +0 -1
- package/utils/columnTypes/index.d.ts +0 -78
- package/utils/columnTypes/index.js +0 -49
- package/utils/columnTypes/index.js.map +0 -1
- package/utils/columns/detailPanelToggleColDef.d.ts +0 -5
- package/utils/columns/detailPanelToggleColDef.js +0 -8
- package/utils/columns/detailPanelToggleColDef.js.map +0 -1
- package/utils/fields/InputNumberInterval.js +0 -85
- package/utils/fields/InputNumberInterval.js.map +0 -1
- package/utils/gpt.d.ts +0 -3
- package/utils/gpt.js +0 -33
- package/utils/gpt.js.map +0 -1
- package/utils/localStorage.d.ts +0 -17
- package/utils/localStorage.js +0 -59
- package/utils/localStorage.js.map +0 -1
- package/utils/operators/index.d.ts +0 -68
- package/utils/operators/index.js +0 -52
- package/utils/operators/index.js.map +0 -1
- package/utils/operators/numeric/getGridNumericOperators.d.ts +0 -5
- package/utils/operators/numeric/getGridNumericOperators.js +0 -7
- package/utils/operators/numeric/getGridNumericOperators.js.map +0 -1
- package/utils/operators/numeric/isBetween.d.ts +0 -10
- package/utils/operators/numeric/isBetween.js +0 -28
- package/utils/operators/numeric/isBetween.js.map +0 -1
- package/utils/operators/string/doesNotContain.d.ts +0 -10
- package/utils/operators/string/doesNotContain.js +0 -25
- package/utils/operators/string/doesNotContain.js.map +0 -1
- package/utils/operators/string/doesNotEqual.d.ts +0 -10
- package/utils/operators/string/doesNotEqual.js +0 -25
- package/utils/operators/string/doesNotEqual.js.map +0 -1
- package/utils/operators/string/doesNotHave.d.ts +0 -16
- package/utils/operators/string/doesNotHave.js +0 -24
- package/utils/operators/string/doesNotHave.js.map +0 -1
- package/utils/operators/string/getGridStringOperators.d.ts +0 -5
- package/utils/operators/string/getGridStringOperators.js +0 -9
- package/utils/operators/string/getGridStringOperators.js.map +0 -1
- package/utils/operators/string/has.d.ts +0 -16
- package/utils/operators/string/has.js +0 -24
- package/utils/operators/string/has.js.map +0 -1
- package/utils/operators/string/hasOnly.d.ts +0 -16
- package/utils/operators/string/hasOnly.js +0 -24
- package/utils/operators/string/hasOnly.js.map +0 -1
- package/utils/operators/string/is.d.ts +0 -16
- package/utils/operators/string/is.js +0 -26
- package/utils/operators/string/is.js.map +0 -1
- package/utils/operators/string/isNot.d.ts +0 -16
- package/utils/operators/string/isNot.js +0 -26
- package/utils/operators/string/isNot.js.map +0 -1
- package/utils/operators/string-array/containsAnyOf.d.ts +0 -16
- package/utils/operators/string-array/containsAnyOf.js +0 -56
- package/utils/operators/string-array/containsAnyOf.js.map +0 -1
- package/utils/operators/string-array/doesNotHaveAnyOf.js +0 -26
- package/utils/operators/string-array/doesNotHaveAnyOf.js.map +0 -1
- package/utils/operators/string-array/endsWithAnyOf.d.ts +0 -10
- package/utils/operators/string-array/endsWithAnyOf.js +0 -31
- package/utils/operators/string-array/endsWithAnyOf.js.map +0 -1
- package/utils/operators/string-array/getGridStringArrayOperators.d.ts +0 -7
- package/utils/operators/string-array/getGridStringArrayOperators.js +0 -19
- package/utils/operators/string-array/getGridStringArrayOperators.js.map +0 -1
- package/utils/operators/string-array/hasAnyOf.d.ts +0 -16
- package/utils/operators/string-array/hasAnyOf.js +0 -28
- package/utils/operators/string-array/hasAnyOf.js.map +0 -1
- package/utils/operators/string-array/isAnyOf.d.ts +0 -16
- package/utils/operators/string-array/isAnyOf.js +0 -32
- package/utils/operators/string-array/isAnyOf.js.map +0 -1
- package/utils/operators/string-array/isNotAnyOf.d.ts +0 -10
- package/utils/operators/string-array/isNotAnyOf.js +0 -28
- package/utils/operators/string-array/isNotAnyOf.js.map +0 -1
- package/utils/operators/string-array/startsWithAnyOf.d.ts +0 -10
- package/utils/operators/string-array/startsWithAnyOf.js +0 -31
- package/utils/operators/string-array/startsWithAnyOf.js.map +0 -1
- package/utils/urlLocalStorageSync.d.ts +0 -73
- package/utils/urlLocalStorageSync.js.map +0 -1
- /package/{_virtual → _internal}/_rollupPluginBabelHelpers.js.map +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatefulDataGrid.js","sources":["../../../src/components/StatefulDataGrid/StatefulDataGrid.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useEffect, useMemo, useRef, useState } from 'react';\nimport { ThemeProvider as MuiThemeProvider, createTheme } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport { LicenseInfo } from '@mui/x-license-pro';\nimport {\n Comp,\n RedsiftColorBlueN,\n RedsiftColorNeutralWhite,\n RedsiftColorNeutralXDarkGrey,\n ThemeProvider,\n useTheme,\n} from '@redsift/design-system';\nimport {\n DataGridPro,\n GridCallbackDetails,\n gridFilteredSortedRowEntriesSelector,\n gridFilteredSortedRowIdsSelector,\n gridPaginatedVisibleSortedGridRowEntriesSelector,\n gridPaginatedVisibleSortedGridRowIdsSelector,\n GridRowParams,\n GridSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro';\n\nimport { StyledDataGrid } from '../DataGrid/styles';\nimport { SelectionStatus } from '../DataGrid/types';\nimport { Toolbar as DefaultToolbar } from '../Toolbar';\nimport { BaseIcon, BaseButton, BaseCheckbox, BasePopper } from '../BaseComponents';\nimport { ToolbarWrapper } from '../ToolbarWrapper';\nimport { onServerSideSelectionStatusChange, ServerSideControlledPagination, ControlledPagination } from '../Pagination';\n\nimport { useStatefulTable } from '../../hooks/useStatefulTable';\nimport { StatefulDataGridProps } from './types';\nimport { customColumnTypes } from '../../utils/columnTypes';\nimport { useControlledDatagridState } from '../../hooks/useControlledDatagridState';\n\nconst COMPONENT_NAME = 'DataGrid';\nconst CLASSNAME = 'redsift-datagrid';\n\nexport const StatefulDataGrid: Comp<StatefulDataGridProps, HTMLDivElement> = forwardRef((props, ref) => {\n const datagridRef = ref || useRef<HTMLDivElement>();\n\n const {\n apiRef: propsApiRef,\n autoHeight,\n className,\n columns,\n columnTypes: propsColumnTypes,\n components,\n componentsProps,\n filterModel: propsFilterModel,\n columnVisibilityModel: propsColumnVisibilityModel,\n pinnedColumns: propsPinnedColumns,\n sortModel: propsSortModel,\n page: propsPage,\n pageSize: propsPageSize,\n height: propsHeight,\n hideToolbar,\n initialState,\n isRowSelectable,\n license = process.env.MUI_LICENSE_KEY,\n localStorageVersion,\n previousLocalStorageVersions,\n onFilterModelChange: propsOnFilterModelChange,\n selectionModel: propsSelectionModel,\n onColumnWidthChange: propsOnColumnWidthChange,\n onPageChange: propsOnPageChange,\n onPageSizeChange: propsOnPageSizeChange,\n onSelectionModelChange: propsOnSelectionModelChange,\n onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,\n onPinnedColumnsChange: propsOnPinnedColumnsChange,\n onSortModelChange: propsOnSortModelChange,\n pagination,\n paginationPlacement = 'both',\n paginationProps,\n rows,\n rowsPerPageOptions,\n sx,\n theme: propsTheme,\n useRouter,\n paginationMode = 'client',\n rowCount,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const _apiRef = useGridApiRef();\n const apiRef = propsApiRef ?? _apiRef;\n const RenderedToolbar = components?.Toolbar ? components.Toolbar : DefaultToolbar;\n\n LicenseInfo.setLicenseKey(license!);\n\n const height = propsHeight ?? (autoHeight ? undefined : '500px');\n\n const {\n onColumnVisibilityModelChange: controlledOnColumnVisibilityModelChange,\n onFilterModelChange: controlledOnFilterModelChange,\n onPageChange: controlledOnPageChange,\n onPageSizeChange: controlledOnPageSizeChange,\n onPinnedColumnsChange: controlledOnPinnedColumnsChange,\n onSortModelChange: controlledOnSortModelChange,\n } = useControlledDatagridState({\n initialState,\n rowsPerPageOptions,\n propsColumnVisibilityModel,\n propsFilterModel,\n propsOnColumnVisibilityModelChange,\n propsOnFilterModelChange,\n propsOnPinnedColumnsChange,\n propsOnSortModelChange,\n propsPage,\n propsPageSize,\n propsPinnedColumns,\n propsSortModel,\n propsOnPageChange,\n propsOnPageSizeChange,\n });\n\n const {\n columnVisibilityModel,\n filterModel,\n onColumnVisibilityModelChange,\n onFilterModelChange,\n onPageChange,\n onPageSizeChange,\n onPinnedColumnsChange,\n onSortModelChange,\n page,\n pageSize,\n pinnedColumns,\n sortModel,\n onColumnWidthChange,\n } = useStatefulTable({\n apiRef: apiRef!,\n initialState,\n columns,\n onColumnVisibilityModelChange: controlledOnColumnVisibilityModelChange,\n onColumnWidthChange: propsOnColumnWidthChange,\n onFilterModelChange: controlledOnFilterModelChange,\n onPageChange: controlledOnPageChange,\n onPageSizeChange: controlledOnPageSizeChange,\n onPinnedColumnsChange: controlledOnPinnedColumnsChange,\n onSortModelChange: controlledOnSortModelChange,\n useRouter: useRouter!,\n localStorageVersion,\n previousLocalStorageVersions,\n });\n\n const [selectionModel, setSelectionModel] = useState(propsSelectionModel ?? []);\n useEffect(() => {\n setSelectionModel(propsSelectionModel ?? []);\n }, [propsSelectionModel]);\n\n const onSelectionModelChange = (selectionModel: GridSelectionModel, details: GridCallbackDetails) => {\n if (propsOnSelectionModelChange) {\n propsOnSelectionModelChange(selectionModel, details);\n } else {\n setSelectionModel(selectionModel);\n }\n };\n\n const selectionStatus = useRef<SelectionStatus>({\n type: 'none',\n numberOfSelectedRows: 0,\n numberOfSelectedRowsInPage: 0,\n page,\n pageSize: pageSize,\n });\n\n // in server-side pagination we want to update the selection status\n // every time we navigate between pages, resize our page or select something\n useEffect(() => {\n if (paginationMode == 'server') {\n onServerSideSelectionStatusChange(\n Array.isArray(selectionModel) ? selectionModel : [selectionModel],\n apiRef,\n selectionStatus,\n isRowSelectable,\n page!,\n pageSize!\n );\n }\n }, [selectionModel, page, pageSize]);\n\n if (!Array.isArray(rows)) {\n return null;\n }\n\n const muiTheme = useMemo(\n () =>\n createTheme({\n palette: {\n mode: theme,\n primary: { main: RedsiftColorBlueN },\n background: {\n default: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,\n paper: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,\n },\n },\n }),\n [theme]\n );\n\n return (\n <ThemeProvider value={{ theme }}>\n <MuiThemeProvider theme={muiTheme}>\n {/* <pre>{JSON.stringify(selectionStatus, null, 2)}</pre> */}\n <StyledDataGrid\n ref={datagridRef as RefObject<HTMLDivElement>}\n className={classNames(StatefulDataGrid.className, className)}\n $height={height}\n >\n <DataGridPro\n {...forwardedProps}\n apiRef={apiRef}\n columns={columns}\n columnVisibilityModel={columnVisibilityModel}\n filterModel={filterModel}\n onColumnVisibilityModelChange={onColumnVisibilityModelChange}\n onFilterModelChange={onFilterModelChange}\n onPageChange={onPageChange}\n onPageSizeChange={onPageSizeChange}\n onPinnedColumnsChange={onPinnedColumnsChange}\n onSortModelChange={onSortModelChange}\n page={page}\n pageSize={pageSize}\n pinnedColumns={pinnedColumns}\n sortModel={sortModel}\n rowsPerPageOptions={rowsPerPageOptions}\n onColumnWidthChange={onColumnWidthChange}\n initialState={initialState}\n isRowSelectable={isRowSelectable}\n pagination={pagination}\n paginationMode={paginationMode}\n keepNonExistentRowsSelected={paginationMode == 'server'}\n rows={rows}\n rowCount={rowCount!}\n autoHeight={autoHeight}\n checkboxSelectionVisibleOnly={Boolean(pagination)}\n columnTypes={{ ...customColumnTypes, ...propsColumnTypes }}\n components={{\n BaseButton,\n BaseCheckbox,\n // BaseTextField,\n BasePopper,\n ColumnFilteredIcon: (props) => <BaseIcon {...props} displayName=\"ColumnFilteredIcon\" />,\n ColumnSelectorIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSelectorIcon\" />,\n ColumnSortedAscendingIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSortedAscendingIcon\" />,\n ColumnSortedDescendingIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSortedDescendingIcon\" />,\n DensityCompactIcon: (props) => <BaseIcon {...props} displayName=\"DensityCompactIcon\" />,\n DensityStandardIcon: (props) => <BaseIcon {...props} displayName=\"DensityStandardIcon\" />,\n DensityComfortableIcon: (props) => <BaseIcon {...props} displayName=\"DensityComfortableIcon\" />,\n DetailPanelCollapseIcon: (props) => <BaseIcon {...props} displayName=\"DetailPanelCollapseIcon\" />,\n DetailPanelExpandIcon: (props) => <BaseIcon {...props} displayName=\"DetailPanelExpandIcon\" />,\n ExportIcon: (props) => <BaseIcon {...props} displayName=\"ExportIcon\" />,\n OpenFilterButtonIcon: (props) => <BaseIcon displayName=\"OpenFilterButtonIcon\" {...props} />,\n ...components,\n Toolbar: ToolbarWrapper,\n Pagination: (props) => {\n return pagination ? (\n paginationMode == 'server' ? (\n <ServerSideControlledPagination\n {...props}\n displaySelection={false}\n displayRowsPerPage={['bottom', 'both'].includes(paginationPlacement!)}\n displayPagination={['bottom', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n page={page}\n pageSize={pageSize}\n onPageChange={onPageChange}\n onPageSizeChange={onPageSizeChange}\n rowsPerPageOptions={rowsPerPageOptions as any as number[]}\n paginationProps={paginationProps}\n paginationMode={paginationMode}\n rowCount={rowCount!}\n />\n ) : (\n <ControlledPagination\n {...props}\n displaySelection={false}\n displayRowsPerPage={['bottom', 'both'].includes(paginationPlacement!)}\n displayPagination={['bottom', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n apiRef={apiRef}\n isRowSelectable={isRowSelectable}\n page={page}\n pageSize={pageSize}\n onPageChange={onPageChange}\n onPageSizeChange={onPageSizeChange}\n rowsPerPageOptions={rowsPerPageOptions as any as number[]}\n paginationProps={paginationProps}\n paginationMode={paginationMode}\n />\n )\n ) : null;\n },\n }}\n componentsProps={{\n ...componentsProps,\n toolbar: {\n hideToolbar,\n RenderedToolbar,\n filterModel,\n onFilterModelChange,\n pagination,\n paginationPlacement,\n selectionStatus,\n apiRef,\n isRowSelectable,\n page,\n pageSize,\n onPageChange,\n onPageSizeChange,\n rowsPerPageOptions,\n paginationProps,\n paginationMode,\n rowCount,\n ...componentsProps?.toolbar,\n },\n }}\n selectionModel={selectionModel}\n onSelectionModelChange={(newSelectionModel, details) => {\n if (pagination && paginationMode != 'server') {\n const selectableRowsInPage = isRowSelectable\n ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);\n const numberOfSelectableRowsInPage = selectableRowsInPage.length;\n\n const selectableRowsInTable = isRowSelectable\n ? gridFilteredSortedRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridFilteredSortedRowIdsSelector(apiRef);\n const numberOfSelectableRowsInTable = selectableRowsInTable.length;\n\n const numberOfSelectedRows = newSelectionModel.length;\n\n if (\n (selectionStatus.current.type === 'table' &&\n numberOfSelectedRows === numberOfSelectableRowsInTable - numberOfSelectableRowsInPage) ||\n (selectionStatus.current.type === 'table' &&\n numberOfSelectedRows === numberOfSelectableRowsInTable) ||\n (selectionStatus.current.type === 'page' && numberOfSelectedRows === numberOfSelectableRowsInPage)\n ) {\n setTimeout(() => {\n apiRef.current.selectRows([], true, true);\n }, 0);\n }\n\n if (\n numberOfSelectedRows === numberOfSelectableRowsInPage &&\n numberOfSelectableRowsInPage < numberOfSelectableRowsInTable\n ) {\n selectionStatus.current = {\n type: 'page',\n numberOfSelectedRows,\n };\n } else if (\n numberOfSelectedRows === numberOfSelectableRowsInTable &&\n numberOfSelectableRowsInPage < numberOfSelectableRowsInTable\n ) {\n selectionStatus.current = {\n type: 'table',\n numberOfSelectedRows,\n };\n } else if (numberOfSelectedRows > 0) {\n selectionStatus.current = {\n type: 'other',\n numberOfSelectedRows,\n };\n } else {\n selectionStatus.current = {\n type: 'none',\n numberOfSelectedRows,\n };\n }\n }\n onSelectionModelChange?.(newSelectionModel, details);\n }}\n sx={{\n ...sx,\n '.MuiDataGrid-columnHeaders': {\n flexDirection: 'column',\n alignItems: 'normal',\n },\n '.MuiDataGrid-selectedRowCount': {\n margin: 'none',\n },\n }}\n />\n </StyledDataGrid>\n </MuiThemeProvider>\n </ThemeProvider>\n );\n});\nStatefulDataGrid.className = CLASSNAME;\nStatefulDataGrid.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","StatefulDataGrid","forwardRef","props","ref","datagridRef","useRef","apiRef","propsApiRef","autoHeight","className","columns","columnTypes","propsColumnTypes","components","componentsProps","filterModel","propsFilterModel","columnVisibilityModel","propsColumnVisibilityModel","pinnedColumns","propsPinnedColumns","sortModel","propsSortModel","page","propsPage","pageSize","propsPageSize","height","propsHeight","hideToolbar","initialState","isRowSelectable","license","process","env","MUI_LICENSE_KEY","localStorageVersion","previousLocalStorageVersions","onFilterModelChange","propsOnFilterModelChange","selectionModel","propsSelectionModel","onColumnWidthChange","propsOnColumnWidthChange","onPageChange","propsOnPageChange","onPageSizeChange","propsOnPageSizeChange","onSelectionModelChange","propsOnSelectionModelChange","onColumnVisibilityModelChange","propsOnColumnVisibilityModelChange","onPinnedColumnsChange","propsOnPinnedColumnsChange","onSortModelChange","propsOnSortModelChange","pagination","paginationPlacement","paginationProps","rows","rowsPerPageOptions","sx","theme","propsTheme","useRouter","paginationMode","rowCount","forwardedProps","_objectWithoutProperties","_excluded","useTheme","_apiRef","useGridApiRef","RenderedToolbar","Toolbar","DefaultToolbar","LicenseInfo","setLicenseKey","undefined","controlledOnColumnVisibilityModelChange","controlledOnFilterModelChange","controlledOnPageChange","controlledOnPageSizeChange","controlledOnPinnedColumnsChange","controlledOnSortModelChange","useControlledDatagridState","useStatefulTable","setSelectionModel","useState","useEffect","details","selectionStatus","type","numberOfSelectedRows","numberOfSelectedRowsInPage","onServerSideSelectionStatusChange","Array","isArray","muiTheme","useMemo","createTheme","palette","mode","primary","main","RedsiftColorBlueN","background","default","RedsiftColorNeutralXDarkGrey","RedsiftColorNeutralWhite","paper","React","createElement","ThemeProvider","value","MuiThemeProvider","StyledDataGrid","classNames","$height","DataGridPro","_extends","keepNonExistentRowsSelected","checkboxSelectionVisibleOnly","Boolean","_objectSpread","customColumnTypes","BaseButton","BaseCheckbox","BasePopper","ColumnFilteredIcon","BaseIcon","displayName","ColumnSelectorIcon","ColumnSortedAscendingIcon","ColumnSortedDescendingIcon","DensityCompactIcon","DensityStandardIcon","DensityComfortableIcon","DetailPanelCollapseIcon","DetailPanelExpandIcon","ExportIcon","OpenFilterButtonIcon","ToolbarWrapper","Pagination","ServerSideControlledPagination","displaySelection","displayRowsPerPage","includes","displayPagination","current","ControlledPagination","toolbar","newSelectionModel","selectableRowsInPage","gridPaginatedVisibleSortedGridRowEntriesSelector","filter","_ref","model","row","map","_ref2","id","gridPaginatedVisibleSortedGridRowIdsSelector","numberOfSelectableRowsInPage","length","selectableRowsInTable","gridFilteredSortedRowEntriesSelector","_ref3","_ref4","gridFilteredSortedRowIdsSelector","numberOfSelectableRowsInTable","setTimeout","selectRows","flexDirection","alignItems","margin"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextCell.js","sources":["../../../src/components/TextCell/TextCell.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '@redsift/design-system';\nimport { Icon, Shield } from '@redsift/design-system';\n\nimport { StyledTextCell, StyledTextCellText } from './styles';\nimport { TextCellProps } from './types';\n\nconst COMPONENT_NAME = 'DataGridCell';\nconst CLASSNAME = 'redsift-datagrid-cell';\n\n/**\n * The Cell component.\n */\nexport const TextCell: Comp<TextCellProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const textCellRef = ref || useRef<HTMLDivElement>();\n const {\n badge,\n children,\n className,\n leftIcon,\n leftIconColor,\n rightIcon,\n rightIconColor,\n shieldVariant,\n ...forwardedProps\n } = props;\n\n return (\n <StyledTextCell\n {...forwardedProps}\n className={classNames(TextCell.className, className)}\n ref={textCellRef as RefObject<HTMLDivElement>}\n >\n <>\n {shieldVariant ? <Shield variant={shieldVariant} /> : null}\n {leftIcon ? (\n <Icon\n icon={leftIcon}\n aria-hidden=\"true\"\n size=\"small\"\n color={leftIconColor}\n />\n ) : null}\n <StyledTextCellText>{children}</StyledTextCellText>\n {badge ? badge : null}\n {rightIcon ? (\n <Icon\n icon={rightIcon}\n aria-hidden=\"true\"\n size=\"small\"\n color={rightIconColor}\n />\n ) : null}\n </>\n </StyledTextCell>\n );\n }\n);\n\nTextCell.className = CLASSNAME;\nTextCell.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","TextCell","forwardRef","props","ref","textCellRef","useRef","badge","children","className","leftIcon","leftIconColor","rightIcon","rightIconColor","shieldVariant","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","StyledTextCell","_extends","classNames","Fragment","Shield","variant","Icon","icon","size","color","StyledTextCellText","displayName"],"mappings":";;;;;;;AAQA,MAAMA,cAAc,GAAG,cAAc,CAAA;AACrC,MAAMC,SAAS,GAAG,uBAAuB,CAAA;;AAEzC;AACA;AACA;AACO,MAAMC,QAA6C,gBAAGC,UAAU,CACrE,CAACC,KAAK,EAAEC,GAAG,KAAK;AACd,EAAA,MAAMC,WAAW,GAAGD,GAAG,IAAIE,MAAM,EAAkB,CAAA;EACnD,MAAM;MACJC,KAAK;MACLC,QAAQ;MACRC,SAAS;MACTC,QAAQ;MACRC,aAAa;MACbC,SAAS;MACTC,cAAc;AACdC,MAAAA,aAAAA;AAEF,KAAC,GAAGX,KAAK;AADJY,IAAAA,cAAc,GAAAC,wBAAA,CACfb,KAAK,EAAAc,SAAA,CAAA,CAAA;EAET,oBACEC,cAAA,CAAAC,aAAA,CAACC,cAAc,EAAAC,QAAA,KACTN,cAAc,EAAA;IAClBN,SAAS,EAAEa,UAAU,CAACrB,QAAQ,CAACQ,SAAS,EAAEA,SAAS,CAAE;AACrDL,IAAAA,GAAG,EAAEC,WAAAA;AAAyC,GAAA,CAAA,eAE9Ca,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAK,QAAA,EACGT,IAAAA,EAAAA,aAAa,gBAAGI,cAAA,CAAAC,aAAA,CAACK,MAAM,EAAA;AAACC,IAAAA,OAAO,EAAEX,aAAAA;GAAgB,CAAC,GAAG,IAAI,EACzDJ,QAAQ,gBACPQ,cAAA,CAAAC,aAAA,CAACO,IAAI,EAAA;AACHC,IAAAA,IAAI,EAAEjB,QAAS;AACf,IAAA,aAAA,EAAY,MAAM;AAClBkB,IAAAA,IAAI,EAAC,OAAO;AACZC,IAAAA,KAAK,EAAElB,aAAAA;GACR,CAAC,GACA,IAAI,eACRO,cAAA,CAAAC,aAAA,CAACW,kBAAkB,EAAA,IAAA,EAAEtB,QAA6B,CAAC,EAClDD,KAAK,GAAGA,KAAK,GAAG,IAAI,EACpBK,SAAS,gBACRM,cAAA,CAAAC,aAAA,CAACO,IAAI,EAAA;AACHC,IAAAA,IAAI,EAAEf,SAAU;AAChB,IAAA,aAAA,EAAY,MAAM;AAClBgB,IAAAA,IAAI,EAAC,OAAO;AACZC,IAAAA,KAAK,EAAEhB,cAAAA;AAAe,GACvB,CAAC,GACA,IACJ,CACY,CAAC,CAAA;AAErB,CACF,EAAC;AAEDZ,QAAQ,CAACQ,SAAS,GAAGT,SAAS,CAAA;AAC9BC,QAAQ,CAAC8B,WAAW,GAAGhC,cAAc;;;;"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import styled from 'styled-components';
|
|
2
|
-
|
|
3
|
-
const StyledTextCell = styled.div`
|
|
4
|
-
align-items: center;
|
|
5
|
-
box-sizing: border-box;
|
|
6
|
-
display: flex;
|
|
7
|
-
gap: 8px;
|
|
8
|
-
justify-content: flex-start;
|
|
9
|
-
overflow: hidden;
|
|
10
|
-
text-overflow: ellipsis;
|
|
11
|
-
white-space: nowrap;
|
|
12
|
-
`;
|
|
13
|
-
const StyledTextCellText = styled.div`
|
|
14
|
-
box-sizing: border-box;
|
|
15
|
-
line-height: normal;
|
|
16
|
-
overflow: hidden;
|
|
17
|
-
text-overflow: ellipsis;
|
|
18
|
-
white-space: nowrap;
|
|
19
|
-
`;
|
|
20
|
-
|
|
21
|
-
export { StyledTextCell, StyledTextCellText };
|
|
22
|
-
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../src/components/TextCell/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledTextCell = styled.div`\n align-items: center;\n box-sizing: border-box;\n display: flex;\n gap: 8px;\n justify-content: flex-start;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nexport const StyledTextCellText = styled.div`\n box-sizing: border-box;\n line-height: normal;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n"],"names":["StyledTextCell","styled","div","StyledTextCellText"],"mappings":";;AAEaA,MAAAA,cAAc,GAAGC,MAAM,CAACC,GAAI,CAAA;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AAEYC,MAAAA,kBAAkB,GAAGF,MAAM,CAACC,GAAI,CAAA;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ToolbarProps } from './types.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Temporary workaround for a type mismatch between react 17 and 18
|
|
6
|
-
* https://github.com/mui/material-ui/issues/35287#issuecomment-1337250566
|
|
7
|
-
*/
|
|
8
|
-
declare global {
|
|
9
|
-
namespace React {
|
|
10
|
-
interface DOMAttributes<T> {
|
|
11
|
-
onResize?: React.ReactEventHandler<T> | undefined;
|
|
12
|
-
onResizeCapture?: React.ReactEventHandler<T> | undefined;
|
|
13
|
-
nonce?: string | undefined;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/** ------ */
|
|
18
|
-
declare const Toolbar: React.FC<ToolbarProps>;
|
|
19
|
-
|
|
20
|
-
export { Toolbar };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.js","sources":["../../../src/components/Toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n GridToolbarContainer,\n GridToolbarColumnsButton,\n GridToolbarDensitySelector,\n GridToolbarFilterButton,\n GridToolbarExport,\n gridVisibleSortedRowIdsSelector,\n GridCsvGetRowsToExportParams,\n GridToolbarQuickFilter,\n} from '@mui/x-data-grid-pro';\n\nimport { GridToolbarWrapper } from './styles';\nimport { ToolbarProps } from './types';\nimport { Flexbox } from '@redsift/design-system';\nimport { GridToolbarFilterSemanticField } from '../GridToolbarFilterSemanticField';\n\n/**\n * Temporary workaround for a type mismatch between react 17 and 18\n * https://github.com/mui/material-ui/issues/35287#issuecomment-1337250566\n */\ndeclare global {\n namespace React {\n interface DOMAttributes<T> {\n onResize?: React.ReactEventHandler<T> | undefined;\n onResizeCapture?: React.ReactEventHandler<T> | undefined;\n nonce?: string | undefined;\n }\n }\n}\n/** ------ */\n\nexport const Toolbar: React.FC<ToolbarProps> = (props) => {\n const {\n hasExportButton = true,\n exportButtonProps,\n exportButtonRef,\n hasFilterButton = true,\n filterButtonProps,\n filterButtonRef,\n hasColumnsButton = true,\n columnsButtonProps,\n columnsButtonRef,\n hasDensityButton = true,\n densityButtonProps,\n densityButtonRef,\n onFilterModelChange,\n semanticFilterProps = undefined,\n showQuickFilter,\n } = props;\n\n if (semanticFilterProps && onFilterModelChange) {\n semanticFilterProps.onFilterModelChange = onFilterModelChange;\n }\n\n return (\n <GridToolbarWrapper>\n <GridToolbarContainer>\n <Flexbox gap=\"0\">\n {hasFilterButton ? (\n <GridToolbarFilterButton\n {...filterButtonProps}\n ref={filterButtonRef}\n className={\n filterButtonProps?.className ? `${filterButtonProps?.className} redsift-condensed` : 'redsift-condensed'\n }\n />\n ) : null}\n {hasColumnsButton ? (\n <GridToolbarColumnsButton\n {...columnsButtonProps}\n ref={columnsButtonRef}\n className={\n filterButtonProps?.className ? `${filterButtonProps?.className} redsift-condensed` : 'redsift-condensed'\n }\n />\n ) : null}\n {hasDensityButton ? (\n <GridToolbarDensitySelector\n {...densityButtonProps}\n ref={densityButtonRef}\n className={\n filterButtonProps?.className ? `${filterButtonProps?.className} redsift-condensed` : 'redsift-condensed'\n }\n />\n ) : null}\n {hasExportButton ? (\n <GridToolbarExport\n csvOptions={{\n allColumns: true,\n fileName: 'csv',\n getRowsToExport: ({ apiRef }: GridCsvGetRowsToExportParams) => gridVisibleSortedRowIdsSelector(apiRef),\n }}\n printOptions={{\n disableToolbarButton: true,\n }}\n {...exportButtonProps}\n ref={exportButtonRef}\n className={\n filterButtonProps?.className ? `${filterButtonProps?.className} redsift-condensed` : 'redsift-condensed'\n }\n />\n ) : null}\n <Flexbox marginLeft=\"8px\">{showQuickFilter ? <GridToolbarQuickFilter /> : null}</Flexbox>\n </Flexbox>\n <Flexbox flexGrow={3}>\n {semanticFilterProps ? <GridToolbarFilterSemanticField {...semanticFilterProps} /> : null}\n </Flexbox>\n </GridToolbarContainer>\n </GridToolbarWrapper>\n );\n};\n"],"names":["Toolbar","props","hasExportButton","exportButtonProps","exportButtonRef","hasFilterButton","filterButtonProps","filterButtonRef","hasColumnsButton","columnsButtonProps","columnsButtonRef","hasDensityButton","densityButtonProps","densityButtonRef","onFilterModelChange","semanticFilterProps","undefined","showQuickFilter","React","createElement","GridToolbarWrapper","GridToolbarContainer","Flexbox","gap","GridToolbarFilterButton","_extends","ref","className","GridToolbarColumnsButton","GridToolbarDensitySelector","GridToolbarExport","csvOptions","allColumns","fileName","getRowsToExport","_ref","apiRef","gridVisibleSortedRowIdsSelector","printOptions","disableToolbarButton","marginLeft","GridToolbarQuickFilter","flexGrow","GridToolbarFilterSemanticField"],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import styled from 'styled-components';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Component style.
|
|
5
|
-
*/
|
|
6
|
-
const GridToolbarWrapper = styled.div`
|
|
7
|
-
.MuiButtonBase-root-JobBs.MuiButton-root {
|
|
8
|
-
svg {
|
|
9
|
-
path {
|
|
10
|
-
fill: var(--redsift-color-primary-n);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
`;
|
|
15
|
-
|
|
16
|
-
export { GridToolbarWrapper };
|
|
17
|
-
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../src/components/Toolbar/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\n/**\n * Component style.\n */\nexport const GridToolbarWrapper = styled.div`\n .MuiButtonBase-root-JobBs.MuiButton-root {\n svg {\n path {\n fill: var(--redsift-color-primary-n);\n }\n }\n }\n`;\n"],"names":["GridToolbarWrapper","styled","div"],"mappings":";;AAEA;AACA;AACA;AACaA,MAAAA,kBAAkB,GAAGC,MAAM,CAACC,GAAI,CAAA;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarWrapper.js","sources":["../../../src/components/ToolbarWrapper/ToolbarWrapper.tsx"],"sourcesContent":["import React from 'react';\n\nimport { DataGridProps, SelectionStatus } from '../DataGrid/types';\nimport { ServerSideControlledPagination } from '../Pagination/ServerSideControlledPagination';\nimport { ControlledPagination } from '../Pagination/ControlledPagination';\n\nexport type ToolbarWrapperProps = {\n hideToolbar: DataGridProps['hideToolbar'];\n RenderedToolbar: React.JSXElementConstructor<any>;\n filterModel: DataGridProps['filterModel'];\n onFilterModelChange: DataGridProps['onFilterModelChange'];\n pagination: DataGridProps['pagination'];\n paginationPlacement: DataGridProps['paginationPlacement'];\n selectionStatus: React.MutableRefObject<SelectionStatus>;\n apiRef: DataGridProps['apiRef'];\n isRowSelectable: DataGridProps['isRowSelectable'];\n page: DataGridProps['page'];\n onPageChange: DataGridProps['onPageChange'];\n pageSize: DataGridProps['pageSize'];\n onPageSizeChange: DataGridProps['onPageSizeChange'];\n rowsPerPageOptions: DataGridProps['rowsPerPageOptions'];\n paginationProps: DataGridProps['paginationProps'];\n paginationMode?: DataGridProps['paginationMode'];\n rowCount?: DataGridProps['rowCount'];\n};\n\nexport const ToolbarWrapper: React.FC<ToolbarWrapperProps> = ({\n hideToolbar,\n RenderedToolbar,\n filterModel,\n onFilterModelChange,\n pagination,\n paginationPlacement,\n selectionStatus,\n apiRef,\n isRowSelectable,\n page,\n onPageChange,\n pageSize,\n onPageSizeChange,\n rowsPerPageOptions,\n paginationProps,\n paginationMode = 'client',\n rowCount,\n ...forwardedProps\n}) => {\n return (\n <>\n {!hideToolbar ? (\n <RenderedToolbar {...forwardedProps} filterModel={filterModel} onFilterModelChange={onFilterModelChange} />\n ) : null}\n {pagination ? (\n paginationMode == 'server' ? (\n <ServerSideControlledPagination\n displaySelection={true}\n displayRowsPerPage={false}\n displayPagination={['top', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n page={page!}\n onPageChange={onPageChange as any}\n pageSize={pageSize!}\n onPageSizeChange={onPageSizeChange as any}\n rowsPerPageOptions={rowsPerPageOptions}\n paginationProps={paginationProps}\n rowCount={rowCount!}\n />\n ) : (\n <ControlledPagination\n displaySelection={true}\n displayRowsPerPage={false}\n displayPagination={['top', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n apiRef={apiRef!}\n isRowSelectable={isRowSelectable}\n page={page!}\n onPageChange={onPageChange as any}\n pageSize={pageSize!}\n onPageSizeChange={onPageSizeChange as any}\n rowsPerPageOptions={rowsPerPageOptions}\n paginationProps={paginationProps}\n />\n )\n ) : null}\n </>\n );\n};\n"],"names":["ToolbarWrapper","_ref","hideToolbar","RenderedToolbar","filterModel","onFilterModelChange","pagination","paginationPlacement","selectionStatus","apiRef","isRowSelectable","page","onPageChange","pageSize","onPageSizeChange","rowsPerPageOptions","paginationProps","paginationMode","rowCount","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","Fragment","_extends","ServerSideControlledPagination","displaySelection","displayRowsPerPage","displayPagination","includes","current","ControlledPagination"],"mappings":";;;;;;AA0BaA,MAAAA,cAA6C,GAAGC,IAAA,IAmBvD;EAAA,IAnBwD;MAC5DC,WAAW;MACXC,eAAe;MACfC,WAAW;MACXC,mBAAmB;MACnBC,UAAU;MACVC,mBAAmB;MACnBC,eAAe;MACfC,MAAM;MACNC,eAAe;MACfC,IAAI;MACJC,YAAY;MACZC,QAAQ;MACRC,gBAAgB;MAChBC,kBAAkB;MAClBC,eAAe;AACfC,MAAAA,cAAc,GAAG,QAAQ;AACzBC,MAAAA,QAAAA;AAEF,KAAC,GAAAjB,IAAA;AADIkB,IAAAA,cAAc,GAAAC,wBAAA,CAAAnB,IAAA,EAAAoB,SAAA,CAAA,CAAA;AAEjB,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAE,QAAA,EACG,IAAA,EAAA,CAACtB,WAAW,gBACXoB,cAAA,CAAAC,aAAA,CAACpB,eAAe,EAAAsB,QAAA,KAAKN,cAAc,EAAA;AAAEf,IAAAA,WAAW,EAAEA,WAAY;AAACC,IAAAA,mBAAmB,EAAEA,mBAAAA;AAAoB,GAAA,CAAE,CAAC,GACzG,IAAI,EACPC,UAAU,GACTW,cAAc,IAAI,QAAQ,gBACxBK,cAAA,CAAAC,aAAA,CAACG,8BAA8B,EAAA;AAC7BC,IAAAA,gBAAgB,EAAE,IAAK;AACvBC,IAAAA,kBAAkB,EAAE,KAAM;IAC1BC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAACC,QAAQ,CAACvB,mBAAoB,CAAE;IAClEC,eAAe,EAAEA,eAAe,CAACuB,OAAQ;AACzCpB,IAAAA,IAAI,EAAEA,IAAM;AACZC,IAAAA,YAAY,EAAEA,YAAoB;AAClCC,IAAAA,QAAQ,EAAEA,QAAU;AACpBC,IAAAA,gBAAgB,EAAEA,gBAAwB;AAC1CC,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,eAAe,EAAEA,eAAgB;AACjCE,IAAAA,QAAQ,EAAEA,QAAAA;AAAU,GACrB,CAAC,gBAEFI,cAAA,CAAAC,aAAA,CAACS,oBAAoB,EAAA;AACnBL,IAAAA,gBAAgB,EAAE,IAAK;AACvBC,IAAAA,kBAAkB,EAAE,KAAM;IAC1BC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAACC,QAAQ,CAACvB,mBAAoB,CAAE;IAClEC,eAAe,EAAEA,eAAe,CAACuB,OAAQ;AACzCtB,IAAAA,MAAM,EAAEA,MAAQ;AAChBC,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,IAAI,EAAEA,IAAM;AACZC,IAAAA,YAAY,EAAEA,YAAoB;AAClCC,IAAAA,QAAQ,EAAEA,QAAU;AACpBC,IAAAA,gBAAgB,EAAEA,gBAAwB;AAC1CC,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,eAAe,EAAEA,eAAAA;GAClB,CACF,GACC,IACJ,CAAC,CAAA;AAEP;;;;"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
const useControlledDatagridState = _ref => {
|
|
4
|
-
var _initialState$paginat, _initialState$paginat2;
|
|
5
|
-
let {
|
|
6
|
-
initialState,
|
|
7
|
-
rowsPerPageOptions,
|
|
8
|
-
propsColumnVisibilityModel,
|
|
9
|
-
propsFilterModel,
|
|
10
|
-
propsOnColumnVisibilityModelChange,
|
|
11
|
-
propsOnFilterModelChange,
|
|
12
|
-
propsOnPageChange,
|
|
13
|
-
propsOnPageSizeChange,
|
|
14
|
-
propsOnPinnedColumnsChange,
|
|
15
|
-
propsOnSortModelChange,
|
|
16
|
-
propsPage,
|
|
17
|
-
propsPageSize,
|
|
18
|
-
propsPinnedColumns,
|
|
19
|
-
propsSortModel
|
|
20
|
-
} = _ref;
|
|
21
|
-
const [filterModel, setFilterModel] = useState(propsFilterModel);
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
setFilterModel(propsFilterModel);
|
|
24
|
-
}, [propsFilterModel]);
|
|
25
|
-
const onFilterModelChange = (model, details) => {
|
|
26
|
-
if (propsOnFilterModelChange) {
|
|
27
|
-
propsOnFilterModelChange(model, details);
|
|
28
|
-
} else {
|
|
29
|
-
setFilterModel(model);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
const [columnVisibilityModel, setColumnVisibilityModel] = useState(propsColumnVisibilityModel);
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
setColumnVisibilityModel(propsColumnVisibilityModel);
|
|
35
|
-
}, [propsColumnVisibilityModel]);
|
|
36
|
-
const onColumnVisibilityModelChange = (model, details) => {
|
|
37
|
-
if (propsOnColumnVisibilityModelChange) {
|
|
38
|
-
propsOnColumnVisibilityModelChange(model, details);
|
|
39
|
-
} else {
|
|
40
|
-
setColumnVisibilityModel(model);
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
const [pinnedColumns, setPinnedColumns] = useState(propsPinnedColumns);
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
setPinnedColumns(propsPinnedColumns);
|
|
46
|
-
}, [propsPinnedColumns]);
|
|
47
|
-
const onPinnedColumnsChange = (model, details) => {
|
|
48
|
-
if (propsOnPinnedColumnsChange) {
|
|
49
|
-
propsOnPinnedColumnsChange(model, details);
|
|
50
|
-
} else {
|
|
51
|
-
setPinnedColumns(model);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
const [sortModel, setSortModel] = useState(propsSortModel);
|
|
55
|
-
useEffect(() => {
|
|
56
|
-
setSortModel(propsSortModel);
|
|
57
|
-
}, [propsSortModel]);
|
|
58
|
-
const onSortModelChange = (model, details) => {
|
|
59
|
-
if (propsOnSortModelChange) {
|
|
60
|
-
propsOnSortModelChange(model, details);
|
|
61
|
-
} else {
|
|
62
|
-
setSortModel(model);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
const [page, setPage] = useState((initialState === null || initialState === void 0 ? void 0 : (_initialState$paginat = initialState.pagination) === null || _initialState$paginat === void 0 ? void 0 : _initialState$paginat.page) || propsPage || 0);
|
|
66
|
-
const [pageSize, setPageSize] = useState((initialState === null || initialState === void 0 ? void 0 : (_initialState$paginat2 = initialState.pagination) === null || _initialState$paginat2 === void 0 ? void 0 : _initialState$paginat2.pageSize) || propsPageSize || (rowsPerPageOptions === null || rowsPerPageOptions === void 0 ? void 0 : rowsPerPageOptions[0]) || 25);
|
|
67
|
-
const onPageChange = page => {
|
|
68
|
-
if (propsOnPageChange) {
|
|
69
|
-
propsOnPageChange(page, undefined);
|
|
70
|
-
} else {
|
|
71
|
-
setPage(page);
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
useEffect(() => {
|
|
75
|
-
if (propsPage || propsPage === 0) {
|
|
76
|
-
setPage(propsPage);
|
|
77
|
-
}
|
|
78
|
-
}, [propsPage]);
|
|
79
|
-
const onPageSizeChange = pageSize => {
|
|
80
|
-
onPageChange(0);
|
|
81
|
-
if (propsOnPageSizeChange) {
|
|
82
|
-
propsOnPageSizeChange(pageSize, undefined);
|
|
83
|
-
} else {
|
|
84
|
-
setPageSize(pageSize);
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
useEffect(() => {
|
|
88
|
-
if (propsPageSize) {
|
|
89
|
-
setPageSize(propsPageSize);
|
|
90
|
-
}
|
|
91
|
-
}, [propsPageSize]);
|
|
92
|
-
return {
|
|
93
|
-
filterModel,
|
|
94
|
-
onFilterModelChange,
|
|
95
|
-
columnVisibilityModel,
|
|
96
|
-
onColumnVisibilityModelChange,
|
|
97
|
-
pinnedColumns,
|
|
98
|
-
onPinnedColumnsChange,
|
|
99
|
-
sortModel,
|
|
100
|
-
onSortModelChange,
|
|
101
|
-
page,
|
|
102
|
-
pageSize,
|
|
103
|
-
onPageChange,
|
|
104
|
-
onPageSizeChange
|
|
105
|
-
};
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
export { useControlledDatagridState };
|
|
109
|
-
//# sourceMappingURL=useControlledDatagridState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useControlledDatagridState.js","sources":["../../src/hooks/useControlledDatagridState.tsx"],"sourcesContent":["import {\n GridCallbackDetails,\n GridColumnVisibilityModel,\n GridFilterModel,\n GridPinnedColumns,\n GridSortModel,\n} from '@mui/x-data-grid-pro';\nimport { useEffect, useState } from 'react';\nimport { DataGridProps } from '../components/DataGrid';\n\nexport interface UseControlledDatagridStateProps {\n initialState: DataGridProps['initialState'];\n rowsPerPageOptions: DataGridProps['rowsPerPageOptions'];\n propsColumnVisibilityModel: DataGridProps['columnVisibilityModel'];\n propsFilterModel: DataGridProps['filterModel'];\n propsOnColumnVisibilityModelChange: DataGridProps['onColumnVisibilityModelChange'];\n propsOnFilterModelChange: DataGridProps['onFilterModelChange'];\n propsOnPageChange: DataGridProps['onPageChange'];\n propsOnPageSizeChange: DataGridProps['onPageSizeChange'];\n propsOnPinnedColumnsChange: DataGridProps['onPinnedColumnsChange'];\n propsOnSortModelChange: DataGridProps['onSortModelChange'];\n propsPage: DataGridProps['page'];\n propsPageSize: DataGridProps['pageSize'];\n propsPinnedColumns: DataGridProps['pinnedColumns'];\n propsSortModel: DataGridProps['sortModel'];\n}\n\nexport const useControlledDatagridState = ({\n initialState,\n rowsPerPageOptions,\n propsColumnVisibilityModel,\n propsFilterModel,\n propsOnColumnVisibilityModelChange,\n propsOnFilterModelChange,\n propsOnPageChange,\n propsOnPageSizeChange,\n propsOnPinnedColumnsChange,\n propsOnSortModelChange,\n propsPage,\n propsPageSize,\n propsPinnedColumns,\n propsSortModel,\n}: UseControlledDatagridStateProps) => {\n const [filterModel, setFilterModel] = useState(propsFilterModel);\n useEffect(() => {\n setFilterModel(propsFilterModel);\n }, [propsFilterModel]);\n\n const onFilterModelChange = (model: GridFilterModel, details: GridCallbackDetails<'filter'>) => {\n if (propsOnFilterModelChange) {\n propsOnFilterModelChange(model, details);\n } else {\n setFilterModel(model);\n }\n };\n\n const [columnVisibilityModel, setColumnVisibilityModel] = useState(propsColumnVisibilityModel);\n useEffect(() => {\n setColumnVisibilityModel(propsColumnVisibilityModel);\n }, [propsColumnVisibilityModel]);\n\n const onColumnVisibilityModelChange = (model: GridColumnVisibilityModel, details: GridCallbackDetails<'filter'>) => {\n if (propsOnColumnVisibilityModelChange) {\n propsOnColumnVisibilityModelChange(model, details);\n } else {\n setColumnVisibilityModel(model);\n }\n };\n\n const [pinnedColumns, setPinnedColumns] = useState(propsPinnedColumns);\n useEffect(() => {\n setPinnedColumns(propsPinnedColumns);\n }, [propsPinnedColumns]);\n\n const onPinnedColumnsChange = (model: GridPinnedColumns, details: GridCallbackDetails<'filter'>) => {\n if (propsOnPinnedColumnsChange) {\n propsOnPinnedColumnsChange(model, details);\n } else {\n setPinnedColumns(model);\n }\n };\n\n const [sortModel, setSortModel] = useState(propsSortModel);\n useEffect(() => {\n setSortModel(propsSortModel);\n }, [propsSortModel]);\n\n const onSortModelChange = (model: GridSortModel, details: GridCallbackDetails<'filter'>) => {\n if (propsOnSortModelChange) {\n propsOnSortModelChange(model, details);\n } else {\n setSortModel(model);\n }\n };\n\n const [page, setPage] = useState(initialState?.pagination?.page || propsPage || 0);\n const [pageSize, setPageSize] = useState(\n initialState?.pagination?.pageSize || propsPageSize || rowsPerPageOptions?.[0] || 25\n );\n\n const onPageChange = (page: number) => {\n if (propsOnPageChange) {\n propsOnPageChange(page, undefined!);\n } else {\n setPage(page);\n }\n };\n\n useEffect(() => {\n if (propsPage || propsPage === 0) {\n setPage(propsPage);\n }\n }, [propsPage]);\n\n const onPageSizeChange = (pageSize: number) => {\n onPageChange(0);\n if (propsOnPageSizeChange) {\n propsOnPageSizeChange(pageSize, undefined!);\n } else {\n setPageSize(pageSize);\n }\n };\n\n useEffect(() => {\n if (propsPageSize) {\n setPageSize(propsPageSize);\n }\n }, [propsPageSize]);\n\n return {\n filterModel,\n onFilterModelChange,\n columnVisibilityModel,\n onColumnVisibilityModelChange,\n pinnedColumns,\n onPinnedColumnsChange,\n sortModel,\n onSortModelChange,\n page,\n pageSize,\n onPageChange,\n onPageSizeChange,\n };\n};\n"],"names":["useControlledDatagridState","_ref","_initialState$paginat","_initialState$paginat2","initialState","rowsPerPageOptions","propsColumnVisibilityModel","propsFilterModel","propsOnColumnVisibilityModelChange","propsOnFilterModelChange","propsOnPageChange","propsOnPageSizeChange","propsOnPinnedColumnsChange","propsOnSortModelChange","propsPage","propsPageSize","propsPinnedColumns","propsSortModel","filterModel","setFilterModel","useState","useEffect","onFilterModelChange","model","details","columnVisibilityModel","setColumnVisibilityModel","onColumnVisibilityModelChange","pinnedColumns","setPinnedColumns","onPinnedColumnsChange","sortModel","setSortModel","onSortModelChange","page","setPage","pagination","pageSize","setPageSize","onPageChange","undefined","onPageSizeChange"],"mappings":"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"}
|
package/hooks/useFetchState.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
|
|
3
|
-
// Get and Set data from LocalStorage WITHOUT useState
|
|
4
|
-
|
|
5
|
-
// triggering a state update and consecutive re-render
|
|
6
|
-
const useFetchState = (defaultValue, key) => {
|
|
7
|
-
let stickyValue = null;
|
|
8
|
-
try {
|
|
9
|
-
stickyValue = window.localStorage.getItem(key);
|
|
10
|
-
} catch (e) {
|
|
11
|
-
console.error('StatefulDataGrid: error getting item from local storage: ', e);
|
|
12
|
-
}
|
|
13
|
-
let parsedValue = stickyValue !== null && stickyValue !== undefined && stickyValue !== 'undefined' ? JSON.parse(stickyValue) : defaultValue;
|
|
14
|
-
|
|
15
|
-
// TODO: temporary workaround to avoid clashes when someone had sorting on the now-removed screenshot field (renamed to num_annotations)
|
|
16
|
-
// Consider upgrading the Datagrid component library as the exception handling was added in this PR: https://github.com/mui-org/material-ui-x/pull/3224
|
|
17
|
-
if (parsedValue instanceof Array) {
|
|
18
|
-
const fields = (parsedValue || []).map(item => item.field);
|
|
19
|
-
if (fields.includes('screenshot') || fields.includes('diffs')) {
|
|
20
|
-
parsedValue = defaultValue;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
const updateValue = useCallback(value => {
|
|
24
|
-
try {
|
|
25
|
-
window.localStorage.setItem(key, JSON.stringify(value));
|
|
26
|
-
} catch (e) {
|
|
27
|
-
console.error('StatefulDataGrid: error setting item into local storage: ', e);
|
|
28
|
-
}
|
|
29
|
-
}, [key]);
|
|
30
|
-
return [parsedValue, updateValue];
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export { useFetchState };
|
|
34
|
-
//# sourceMappingURL=useFetchState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchState.js","sources":["../../src/hooks/useFetchState.tsx"],"sourcesContent":["// Get and Set data from LocalStorage WITHOUT useState\n// Useful for when you want to get and set data without\n\nimport { useCallback } from 'react';\n\n// triggering a state update and consecutive re-render\nexport const useFetchState = (defaultValue: unknown, key: string) => {\n let stickyValue = null;\n try {\n stickyValue = window.localStorage.getItem(key);\n } catch (e) {\n console.error('StatefulDataGrid: error getting item from local storage: ', e);\n }\n let parsedValue =\n stickyValue !== null && stickyValue !== undefined && stickyValue !== 'undefined'\n ? JSON.parse(stickyValue)\n : defaultValue;\n\n // TODO: temporary workaround to avoid clashes when someone had sorting on the now-removed screenshot field (renamed to num_annotations)\n // Consider upgrading the Datagrid component library as the exception handling was added in this PR: https://github.com/mui-org/material-ui-x/pull/3224\n if (parsedValue instanceof Array) {\n const fields = (parsedValue || []).map((item) => item.field);\n if (fields.includes('screenshot') || fields.includes('diffs')) {\n parsedValue = defaultValue;\n }\n }\n\n const updateValue = useCallback(\n (value: unknown) => {\n try {\n window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n console.error('StatefulDataGrid: error setting item into local storage: ', e);\n }\n },\n [key]\n );\n\n return [parsedValue, updateValue];\n};\n"],"names":["useFetchState","defaultValue","key","stickyValue","window","localStorage","getItem","e","console","error","parsedValue","undefined","JSON","parse","Array","fields","map","item","field","includes","updateValue","useCallback","value","setItem","stringify"],"mappings":";;AAAA;;AAKA;MACaA,aAAa,GAAGA,CAACC,YAAqB,EAAEC,GAAW,KAAK;EACnE,IAAIC,WAAW,GAAG,IAAI,CAAA;EACtB,IAAI;IACFA,WAAW,GAAGC,MAAM,CAACC,YAAY,CAACC,OAAO,CAACJ,GAAG,CAAC,CAAA;GAC/C,CAAC,OAAOK,CAAC,EAAE;AACVC,IAAAA,OAAO,CAACC,KAAK,CAAC,2DAA2D,EAAEF,CAAC,CAAC,CAAA;AAC/E,GAAA;EACA,IAAIG,WAAW,GACbP,WAAW,KAAK,IAAI,IAAIA,WAAW,KAAKQ,SAAS,IAAIR,WAAW,KAAK,WAAW,GAC5ES,IAAI,CAACC,KAAK,CAACV,WAAW,CAAC,GACvBF,YAAY,CAAA;;AAElB;AACA;EACA,IAAIS,WAAW,YAAYI,KAAK,EAAE;AAChC,IAAA,MAAMC,MAAM,GAAG,CAACL,WAAW,IAAI,EAAE,EAAEM,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACC,KAAK,CAAC,CAAA;AAC5D,IAAA,IAAIH,MAAM,CAACI,QAAQ,CAAC,YAAY,CAAC,IAAIJ,MAAM,CAACI,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC7DT,MAAAA,WAAW,GAAGT,YAAY,CAAA;AAC5B,KAAA;AACF,GAAA;AAEA,EAAA,MAAMmB,WAAW,GAAGC,WAAW,CAC5BC,KAAc,IAAK;IAClB,IAAI;AACFlB,MAAAA,MAAM,CAACC,YAAY,CAACkB,OAAO,CAACrB,GAAG,EAAEU,IAAI,CAACY,SAAS,CAACF,KAAK,CAAC,CAAC,CAAA;KACxD,CAAC,OAAOf,CAAC,EAAE;AACVC,MAAAA,OAAO,CAACC,KAAK,CAAC,2DAA2D,EAAEF,CAAC,CAAC,CAAA;AAC/E,KAAA;AACF,GAAC,EACD,CAACL,GAAG,CACN,CAAC,CAAA;AAED,EAAA,OAAO,CAACQ,WAAW,EAAEU,WAAW,CAAC,CAAA;AACnC;;;;"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { GridFilterModel } from '@mui/x-data-grid-pro';
|
|
2
|
-
|
|
3
|
-
interface ExtendedGridFilterModel extends GridFilterModel {
|
|
4
|
-
quickFilterValues?: string[];
|
|
5
|
-
}
|
|
6
|
-
interface ExtendedGridPaginationModel {
|
|
7
|
-
page: number;
|
|
8
|
-
pageSize: number;
|
|
9
|
-
direction?: 'next' | 'back';
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export { ExtendedGridFilterModel, ExtendedGridPaginationModel };
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { useEffect, useCallback, useMemo } from 'react';
|
|
3
|
-
import { useTableStates } from './useTableStates.js';
|
|
4
|
-
import { clearPreviousVersionStorage } from '../utils/localStorage.js';
|
|
5
|
-
import { getModelsParsedOrUpdateLocalStorage, updateUrl } from '../utils/urlLocalStorageSync.js';
|
|
6
|
-
|
|
7
|
-
const useStatefulTable = props => {
|
|
8
|
-
const {
|
|
9
|
-
// density = 'standard',
|
|
10
|
-
apiRef,
|
|
11
|
-
initialState,
|
|
12
|
-
columns: propsColumns,
|
|
13
|
-
onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,
|
|
14
|
-
onColumnWidthChange: propsOnColumnWidthChange,
|
|
15
|
-
onFilterModelChange: propsOnFilterModelChange,
|
|
16
|
-
onPageChange: propsOnPageChange,
|
|
17
|
-
onPageSizeChange: propsOnPageSizeChange,
|
|
18
|
-
onPinnedColumnsChange: propsOnPinnedColumnsChange,
|
|
19
|
-
onSortModelChange: propsOnSortModelChange,
|
|
20
|
-
useRouter,
|
|
21
|
-
localStorageVersion = 1,
|
|
22
|
-
previousLocalStorageVersions = []
|
|
23
|
-
} = props;
|
|
24
|
-
const {
|
|
25
|
-
search,
|
|
26
|
-
pathname,
|
|
27
|
-
historyReplace
|
|
28
|
-
} = useRouter();
|
|
29
|
-
const id = pathname;
|
|
30
|
-
|
|
31
|
-
// States and setters persisted in the local storage for this table
|
|
32
|
-
const {
|
|
33
|
-
paginationModel,
|
|
34
|
-
setPaginationModel,
|
|
35
|
-
sortModel,
|
|
36
|
-
setSortModel,
|
|
37
|
-
localStorageFilters,
|
|
38
|
-
setLocalStorageFilters,
|
|
39
|
-
visibilityModelLocalStorage,
|
|
40
|
-
setVisibilityModelLocalStorage,
|
|
41
|
-
pinnedColumns,
|
|
42
|
-
setPinnedColumns,
|
|
43
|
-
dimensionModel,
|
|
44
|
-
setDimensionModel
|
|
45
|
-
} = useTableStates(id, localStorageVersion);
|
|
46
|
-
|
|
47
|
-
// clearing up old version keys
|
|
48
|
-
useEffect(() => clearPreviousVersionStorage(id, previousLocalStorageVersions), [id, previousLocalStorageVersions]);
|
|
49
|
-
const onColumnDimensionChange = useCallback(_ref => {
|
|
50
|
-
let {
|
|
51
|
-
newWidth,
|
|
52
|
-
field
|
|
53
|
-
} = _ref;
|
|
54
|
-
setDimensionModel(_objectSpread2(_objectSpread2({}, dimensionModel), {}, {
|
|
55
|
-
[field]: newWidth
|
|
56
|
-
}));
|
|
57
|
-
}, [dimensionModel, setDimensionModel]);
|
|
58
|
-
const {
|
|
59
|
-
filterModel: filterParsed,
|
|
60
|
-
sortModel: sortModelParsed,
|
|
61
|
-
paginationModel: paginationModelParsed,
|
|
62
|
-
columnVisibilityModel: visibilityModel,
|
|
63
|
-
pinnedColumnsModel
|
|
64
|
-
} = getModelsParsedOrUpdateLocalStorage(search || '', localStorageVersion, propsColumns, historyReplace, initialState, {
|
|
65
|
-
localStorageFilters,
|
|
66
|
-
setLocalStorageFilters,
|
|
67
|
-
localStorageSorting: sortModel,
|
|
68
|
-
setLocalStorageSorting: setSortModel,
|
|
69
|
-
localStoragePagination: paginationModel,
|
|
70
|
-
setLocalStoragePagination: setPaginationModel,
|
|
71
|
-
localStorageColumnsVisibility: visibilityModelLocalStorage,
|
|
72
|
-
setLocalStorageColumnsVisibility: setVisibilityModelLocalStorage,
|
|
73
|
-
localStoragePinnedColumns: pinnedColumns,
|
|
74
|
-
setLocalStoragePinnedColumns: setPinnedColumns
|
|
75
|
-
});
|
|
76
|
-
const columns = useMemo(() => propsColumns.map(column => {
|
|
77
|
-
column.width = dimensionModel[column.field] || column.width || 100;
|
|
78
|
-
return column;
|
|
79
|
-
}), [propsColumns, dimensionModel]);
|
|
80
|
-
|
|
81
|
-
/** Add resetPage method to apiRef. */
|
|
82
|
-
apiRef.current.resetPage = () => {
|
|
83
|
-
apiRef.current.setPage(0);
|
|
84
|
-
};
|
|
85
|
-
return {
|
|
86
|
-
apiRef,
|
|
87
|
-
columns,
|
|
88
|
-
onFilterModelChange: (model, details) => {
|
|
89
|
-
const filterModel = _objectSpread2(_objectSpread2({}, model), {}, {
|
|
90
|
-
items: model.items.map(item => {
|
|
91
|
-
const column = apiRef.current.getColumn(item.columnField);
|
|
92
|
-
item.type = column.type || 'string';
|
|
93
|
-
return item;
|
|
94
|
-
}),
|
|
95
|
-
quickFilterValues: model.quickFilterValues || []
|
|
96
|
-
});
|
|
97
|
-
propsOnFilterModelChange === null || propsOnFilterModelChange === void 0 ? void 0 : propsOnFilterModelChange(filterModel, details);
|
|
98
|
-
updateUrl({
|
|
99
|
-
filterModel: filterModel,
|
|
100
|
-
sortModel: sortModelParsed,
|
|
101
|
-
paginationModel: paginationModelParsed,
|
|
102
|
-
columnsModel: apiRef.current.state.columns.columnVisibilityModel,
|
|
103
|
-
pinnedColumnsModel: pinnedColumnsModel
|
|
104
|
-
}, search, localStorageVersion, historyReplace, columns);
|
|
105
|
-
},
|
|
106
|
-
filterModel: filterParsed,
|
|
107
|
-
onSortModelChange: (model, details) => {
|
|
108
|
-
propsOnSortModelChange === null || propsOnSortModelChange === void 0 ? void 0 : propsOnSortModelChange(model, details);
|
|
109
|
-
updateUrl({
|
|
110
|
-
filterModel: filterParsed,
|
|
111
|
-
sortModel: model,
|
|
112
|
-
paginationModel: paginationModelParsed,
|
|
113
|
-
columnsModel: apiRef.current.state.columns.columnVisibilityModel,
|
|
114
|
-
pinnedColumnsModel: pinnedColumnsModel
|
|
115
|
-
}, search, localStorageVersion, historyReplace, columns);
|
|
116
|
-
},
|
|
117
|
-
sortModel: sortModelParsed,
|
|
118
|
-
onPinnedColumnsChange: (pinnedColumns, details) => {
|
|
119
|
-
propsOnPinnedColumnsChange === null || propsOnPinnedColumnsChange === void 0 ? void 0 : propsOnPinnedColumnsChange(pinnedColumns, details);
|
|
120
|
-
updateUrl({
|
|
121
|
-
filterModel: filterParsed,
|
|
122
|
-
sortModel: sortModelParsed,
|
|
123
|
-
paginationModel: paginationModelParsed,
|
|
124
|
-
columnsModel: apiRef.current.state.columns.columnVisibilityModel,
|
|
125
|
-
pinnedColumnsModel: pinnedColumns
|
|
126
|
-
}, search, localStorageVersion, historyReplace, columns);
|
|
127
|
-
},
|
|
128
|
-
pinnedColumns: pinnedColumnsModel,
|
|
129
|
-
page: paginationModelParsed.page,
|
|
130
|
-
pageSize: paginationModelParsed.pageSize,
|
|
131
|
-
onPageChange: (page, details) => {
|
|
132
|
-
const direction = paginationModelParsed.page < page ? 'next' : 'back';
|
|
133
|
-
propsOnPageChange === null || propsOnPageChange === void 0 ? void 0 : propsOnPageChange(page, details);
|
|
134
|
-
updateUrl({
|
|
135
|
-
filterModel: filterParsed,
|
|
136
|
-
sortModel: sortModelParsed,
|
|
137
|
-
paginationModel: {
|
|
138
|
-
page,
|
|
139
|
-
pageSize: paginationModelParsed.pageSize,
|
|
140
|
-
direction
|
|
141
|
-
},
|
|
142
|
-
columnsModel: apiRef.current.state.columns.columnVisibilityModel,
|
|
143
|
-
pinnedColumnsModel: pinnedColumnsModel
|
|
144
|
-
}, search, localStorageVersion, historyReplace, columns);
|
|
145
|
-
},
|
|
146
|
-
onPageSizeChange: (pageSize, details) => {
|
|
147
|
-
propsOnPageSizeChange === null || propsOnPageSizeChange === void 0 ? void 0 : propsOnPageSizeChange(pageSize, details);
|
|
148
|
-
updateUrl({
|
|
149
|
-
filterModel: filterParsed,
|
|
150
|
-
sortModel: sortModelParsed,
|
|
151
|
-
paginationModel: {
|
|
152
|
-
page: paginationModelParsed.page,
|
|
153
|
-
pageSize,
|
|
154
|
-
direction: paginationModelParsed.direction
|
|
155
|
-
},
|
|
156
|
-
columnsModel: apiRef.current.state.columns.columnVisibilityModel,
|
|
157
|
-
pinnedColumnsModel: pinnedColumnsModel
|
|
158
|
-
}, search, localStorageVersion, historyReplace, columns);
|
|
159
|
-
},
|
|
160
|
-
columnVisibilityModel: visibilityModel,
|
|
161
|
-
onColumnVisibilityModelChange: (columnsVisibilityModel, details) => {
|
|
162
|
-
propsOnColumnVisibilityModelChange === null || propsOnColumnVisibilityModelChange === void 0 ? void 0 : propsOnColumnVisibilityModelChange(columnsVisibilityModel, details);
|
|
163
|
-
updateUrl({
|
|
164
|
-
filterModel: filterParsed,
|
|
165
|
-
sortModel: sortModelParsed,
|
|
166
|
-
paginationModel: paginationModelParsed,
|
|
167
|
-
columnsModel: columnsVisibilityModel,
|
|
168
|
-
pinnedColumnsModel: pinnedColumnsModel
|
|
169
|
-
}, search, localStorageVersion, historyReplace, columns);
|
|
170
|
-
},
|
|
171
|
-
onColumnWidthChange: (params, event, details) => {
|
|
172
|
-
propsOnColumnWidthChange === null || propsOnColumnWidthChange === void 0 ? void 0 : propsOnColumnWidthChange(params, event, details);
|
|
173
|
-
onColumnDimensionChange({
|
|
174
|
-
newWidth: params.width,
|
|
175
|
-
field: params.colDef.field
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
export { useStatefulTable };
|
|
182
|
-
//# sourceMappingURL=useStatefulTable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStatefulTable.js","sources":["../../src/hooks/useStatefulTable.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo } from 'react';\nimport { useTableStates } from './useTableStates';\nimport {\n GridCallbackDetails,\n GridColDef,\n GridColumnResizeParams,\n GridFilterItem,\n GridFilterModel,\n GridPinnedColumns,\n GridSortModel,\n} from '@mui/x-data-grid-pro';\nimport { clearPreviousVersionStorage } from '../utils/localStorage';\nimport { getModelsParsedOrUpdateLocalStorage, updateUrl } from '../utils/urlLocalStorageSync';\nimport { GridApiPro } from '@mui/x-data-grid-pro/models/gridApiPro';\nimport { StatefulDataGridProps } from '../components/StatefulDataGrid';\nimport { DataGridProps } from '../components/DataGrid';\n\nexport interface UseStatefulTableProps\n extends Pick<\n StatefulDataGridProps,\n | 'columns'\n | 'onColumnVisibilityModelChange'\n | 'onColumnWidthChange'\n | 'onFilterModelChange'\n | 'onPageChange'\n | 'onPageSizeChange'\n | 'onPinnedColumnsChange'\n | 'onSortModelChange'\n | 'useRouter'\n | 'localStorageVersion'\n | 'previousLocalStorageVersions'\n | 'initialState'\n >,\n Required<Pick<StatefulDataGridProps, 'apiRef'>> {\n // density?: GridDensity;\n}\n\nexport interface ExtendedGridFilterItem extends GridFilterItem {\n type?: string;\n}\n\nexport interface ExtendedGridFilterModel extends GridFilterModel {\n quickFilterValues?: string[];\n}\n\nexport interface ExtendedGridPaginationModel {\n page: number;\n pageSize: number;\n direction?: 'next' | 'back';\n}\n\nexport interface ExtendedGridApiPro extends GridApiPro {\n resetPage?: () => void;\n}\n\nexport interface UseStatefulTableReponse extends DataGridProps {}\n\nexport const useStatefulTable = (props: UseStatefulTableProps): UseStatefulTableReponse => {\n const {\n // density = 'standard',\n apiRef,\n initialState,\n columns: propsColumns,\n onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,\n onColumnWidthChange: propsOnColumnWidthChange,\n onFilterModelChange: propsOnFilterModelChange,\n onPageChange: propsOnPageChange,\n onPageSizeChange: propsOnPageSizeChange,\n onPinnedColumnsChange: propsOnPinnedColumnsChange,\n onSortModelChange: propsOnSortModelChange,\n useRouter,\n localStorageVersion = 1,\n previousLocalStorageVersions = [],\n } = props;\n\n const { search, pathname, historyReplace } = useRouter();\n\n const id = pathname;\n\n // States and setters persisted in the local storage for this table\n const {\n paginationModel,\n setPaginationModel,\n sortModel,\n setSortModel,\n localStorageFilters,\n setLocalStorageFilters,\n visibilityModelLocalStorage,\n setVisibilityModelLocalStorage,\n pinnedColumns,\n setPinnedColumns,\n dimensionModel,\n setDimensionModel,\n } = useTableStates(id, localStorageVersion);\n\n // clearing up old version keys\n useEffect(() => clearPreviousVersionStorage(id, previousLocalStorageVersions), [id, previousLocalStorageVersions]);\n\n const onColumnDimensionChange = useCallback(\n ({\n newWidth,\n field,\n }: {\n newWidth: GridColumnResizeParams['width'];\n field: GridColumnResizeParams['colDef']['field'];\n }) => {\n setDimensionModel({ ...dimensionModel, [field]: newWidth });\n },\n [dimensionModel, setDimensionModel]\n );\n\n const {\n filterModel: filterParsed,\n sortModel: sortModelParsed,\n paginationModel: paginationModelParsed,\n columnVisibilityModel: visibilityModel,\n pinnedColumnsModel,\n } = getModelsParsedOrUpdateLocalStorage(\n search || '',\n localStorageVersion,\n propsColumns,\n historyReplace,\n initialState,\n {\n localStorageFilters,\n setLocalStorageFilters,\n localStorageSorting: sortModel,\n setLocalStorageSorting: setSortModel,\n localStoragePagination: paginationModel,\n setLocalStoragePagination: setPaginationModel,\n localStorageColumnsVisibility: visibilityModelLocalStorage,\n setLocalStorageColumnsVisibility: setVisibilityModelLocalStorage,\n localStoragePinnedColumns: pinnedColumns,\n setLocalStoragePinnedColumns: setPinnedColumns,\n }\n );\n\n const columns = useMemo(\n () =>\n propsColumns.map((column: GridColDef) => {\n column.width = dimensionModel[column.field] || column.width || 100;\n return column;\n }),\n [propsColumns, dimensionModel]\n );\n\n /** Add resetPage method to apiRef. */\n (apiRef.current as ExtendedGridApiPro).resetPage = () => {\n apiRef.current.setPage(0);\n };\n\n return {\n apiRef,\n columns,\n onFilterModelChange: (model: GridFilterModel, details: GridCallbackDetails<'filter'>) => {\n const filterModel: GridFilterModel = {\n ...model,\n items: model.items.map((item) => {\n const column = apiRef.current.getColumn(item.columnField);\n (item as ExtendedGridFilterItem).type = column.type || 'string';\n return item;\n }),\n quickFilterValues: model.quickFilterValues || [],\n };\n propsOnFilterModelChange?.(filterModel, details);\n updateUrl(\n {\n filterModel: filterModel,\n sortModel: sortModelParsed,\n paginationModel: paginationModelParsed,\n columnsModel: apiRef.current.state.columns.columnVisibilityModel,\n pinnedColumnsModel: pinnedColumnsModel,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n filterModel: filterParsed,\n onSortModelChange: (model: GridSortModel, details: GridCallbackDetails) => {\n propsOnSortModelChange?.(model, details);\n updateUrl(\n {\n filterModel: filterParsed,\n sortModel: model,\n paginationModel: paginationModelParsed,\n columnsModel: apiRef.current.state.columns.columnVisibilityModel,\n pinnedColumnsModel: pinnedColumnsModel,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n sortModel: sortModelParsed,\n onPinnedColumnsChange: (pinnedColumns: GridPinnedColumns, details: GridCallbackDetails) => {\n propsOnPinnedColumnsChange?.(pinnedColumns, details);\n updateUrl(\n {\n filterModel: filterParsed,\n sortModel: sortModelParsed,\n paginationModel: paginationModelParsed,\n columnsModel: apiRef.current.state.columns.columnVisibilityModel,\n pinnedColumnsModel: pinnedColumns,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n pinnedColumns: pinnedColumnsModel,\n page: paginationModelParsed.page,\n pageSize: paginationModelParsed.pageSize,\n onPageChange: (page, details) => {\n const direction = paginationModelParsed.page < page ? 'next' : 'back';\n propsOnPageChange?.(page, details);\n updateUrl(\n {\n filterModel: filterParsed,\n sortModel: sortModelParsed,\n paginationModel: {\n page,\n pageSize: paginationModelParsed.pageSize,\n direction,\n } as ExtendedGridPaginationModel,\n columnsModel: apiRef.current.state.columns.columnVisibilityModel,\n pinnedColumnsModel: pinnedColumnsModel,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n onPageSizeChange: (pageSize, details) => {\n propsOnPageSizeChange?.(pageSize, details);\n updateUrl(\n {\n filterModel: filterParsed,\n sortModel: sortModelParsed,\n paginationModel: {\n page: paginationModelParsed.page,\n pageSize,\n direction: paginationModelParsed.direction,\n } as ExtendedGridPaginationModel,\n columnsModel: apiRef.current.state.columns.columnVisibilityModel,\n pinnedColumnsModel: pinnedColumnsModel,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n columnVisibilityModel: visibilityModel,\n onColumnVisibilityModelChange: (columnsVisibilityModel, details) => {\n propsOnColumnVisibilityModelChange?.(columnsVisibilityModel, details);\n updateUrl(\n {\n filterModel: filterParsed,\n sortModel: sortModelParsed,\n paginationModel: paginationModelParsed,\n columnsModel: columnsVisibilityModel,\n pinnedColumnsModel: pinnedColumnsModel,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n onColumnWidthChange: (params, event, details) => {\n propsOnColumnWidthChange?.(params, event, details);\n onColumnDimensionChange({ newWidth: params.width, field: params.colDef.field });\n },\n };\n};\n"],"names":["useStatefulTable","props","apiRef","initialState","columns","propsColumns","onColumnVisibilityModelChange","propsOnColumnVisibilityModelChange","onColumnWidthChange","propsOnColumnWidthChange","onFilterModelChange","propsOnFilterModelChange","onPageChange","propsOnPageChange","onPageSizeChange","propsOnPageSizeChange","onPinnedColumnsChange","propsOnPinnedColumnsChange","onSortModelChange","propsOnSortModelChange","useRouter","localStorageVersion","previousLocalStorageVersions","search","pathname","historyReplace","id","paginationModel","setPaginationModel","sortModel","setSortModel","localStorageFilters","setLocalStorageFilters","visibilityModelLocalStorage","setVisibilityModelLocalStorage","pinnedColumns","setPinnedColumns","dimensionModel","setDimensionModel","useTableStates","useEffect","clearPreviousVersionStorage","onColumnDimensionChange","useCallback","_ref","newWidth","field","_objectSpread","filterModel","filterParsed","sortModelParsed","paginationModelParsed","columnVisibilityModel","visibilityModel","pinnedColumnsModel","getModelsParsedOrUpdateLocalStorage","localStorageSorting","setLocalStorageSorting","localStoragePagination","setLocalStoragePagination","localStorageColumnsVisibility","setLocalStorageColumnsVisibility","localStoragePinnedColumns","setLocalStoragePinnedColumns","useMemo","map","column","width","current","resetPage","setPage","model","details","items","item","getColumn","columnField","type","quickFilterValues","updateUrl","columnsModel","state","page","pageSize","direction","columnsVisibilityModel","params","event","colDef"],"mappings":"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"}
|