@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.
Files changed (223) hide show
  1. package/_internal/BaseComponents.d.ts +3 -0
  2. package/_internal/BaseComponents.js +3 -0
  3. package/_internal/BaseComponents.js.map +1 -0
  4. package/_internal/BasePopper.js +2448 -0
  5. package/_internal/BasePopper.js.map +1 -0
  6. package/_internal/BaseTextField.d.ts +15 -0
  7. package/{components/BaseComponents → _internal}/BaseTextField.js +1 -1
  8. package/_internal/BaseTextField.js.map +1 -0
  9. package/_internal/ControlledPagination.js +10484 -0
  10. package/_internal/ControlledPagination.js.map +1 -0
  11. package/_internal/DataGrid.d.ts +6 -0
  12. package/{components/DataGrid/DataGrid.d.ts → _internal/DataGrid.d2.ts} +2 -2
  13. package/_internal/DataGrid.js +2 -0
  14. package/_internal/DataGrid.js.map +1 -0
  15. package/{components/DataGrid/DataGrid.js → _internal/DataGrid2.js} +9 -17
  16. package/_internal/DataGrid2.js.map +1 -0
  17. package/_internal/GridToolbarFilterSemanticField.d.ts +5 -0
  18. package/{components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.d.ts → _internal/GridToolbarFilterSemanticField.d2.ts} +2 -2
  19. package/_internal/GridToolbarFilterSemanticField.js +2 -0
  20. package/_internal/GridToolbarFilterSemanticField.js.map +1 -0
  21. package/_internal/GridToolbarFilterSemanticField2.js +5581 -0
  22. package/_internal/GridToolbarFilterSemanticField2.js.map +1 -0
  23. package/_internal/Pagination.d.ts +7 -0
  24. package/_internal/Pagination.js +2 -0
  25. package/_internal/Pagination.js.map +1 -0
  26. package/_internal/Portal.js +4363 -0
  27. package/_internal/Portal.js.map +1 -0
  28. package/{components/Pagination → _internal}/ServerSideControlledPagination.d.ts +19 -3
  29. package/_internal/StatefulDataGrid.d.ts +6 -0
  30. package/{components/StatefulDataGrid/types.d.ts → _internal/StatefulDataGrid.d2.ts} +5 -2
  31. package/_internal/StatefulDataGrid.js +2 -0
  32. package/_internal/StatefulDataGrid.js.map +1 -0
  33. package/{utils/urlLocalStorageSync.js → _internal/StatefulDataGrid2.js} +671 -5
  34. package/_internal/StatefulDataGrid2.js.map +1 -0
  35. package/_internal/TextCell.d.ts +3 -0
  36. package/{components/TextCell/types.d.ts → _internal/TextCell.d2.ts} +7 -2
  37. package/_internal/TextCell.js +2 -0
  38. package/_internal/TextCell.js.map +1 -0
  39. package/{components/TextCell/TextCell.js → _internal/TextCell2.js} +22 -4
  40. package/_internal/TextCell2.js.map +1 -0
  41. package/_internal/Toolbar.d.ts +4 -0
  42. package/{components/Toolbar/types.d.ts → _internal/Toolbar.d2.ts} +19 -3
  43. package/_internal/Toolbar.js +2 -0
  44. package/_internal/Toolbar.js.map +1 -0
  45. package/{components/Toolbar/Toolbar.js → _internal/Toolbar2.js} +18 -5
  46. package/_internal/Toolbar2.js.map +1 -0
  47. package/_internal/ToolbarWrapper.d.ts +6 -0
  48. package/{components/ToolbarWrapper/ToolbarWrapper.d.ts → _internal/ToolbarWrapper.d2.ts} +2 -2
  49. package/_internal/ToolbarWrapper.js +2 -0
  50. package/_internal/ToolbarWrapper.js.map +1 -0
  51. package/{components/ToolbarWrapper/ToolbarWrapper.js → _internal/ToolbarWrapper2.js} +4 -5
  52. package/_internal/ToolbarWrapper2.js.map +1 -0
  53. package/{_virtual → _internal}/_rollupPluginBabelHelpers.js +1 -1
  54. package/_internal/jsx-runtime.js +1342 -0
  55. package/_internal/jsx-runtime.js.map +1 -0
  56. package/{components/DataGrid → _internal}/types.d.ts +1 -2
  57. package/{components/GridToolbarFilterSemanticField/types.d.ts → _internal/types.d2.ts} +1 -1
  58. package/_internal/useControlledDatagridState.js +2175 -0
  59. package/_internal/useControlledDatagridState.js.map +1 -0
  60. package/index.d.ts +405 -39
  61. package/index.js +17 -36
  62. package/index.js.map +1 -1
  63. package/package.json +2 -2
  64. package/_virtual/_commonjsHelpers.js +0 -6
  65. package/_virtual/_commonjsHelpers.js.map +0 -1
  66. package/_virtual/index.js +0 -4
  67. package/_virtual/index.js.map +0 -1
  68. package/_virtual/index2.js +0 -4
  69. package/_virtual/index2.js.map +0 -1
  70. package/_virtual/index3.js +0 -4
  71. package/_virtual/index3.js.map +0 -1
  72. package/_virtual/jsx-runtime.js +0 -4
  73. package/_virtual/jsx-runtime.js.map +0 -1
  74. package/_virtual/react-is.development.js +0 -4
  75. package/_virtual/react-is.development.js.map +0 -1
  76. package/_virtual/react-is.development2.js +0 -4
  77. package/_virtual/react-is.development2.js.map +0 -1
  78. package/_virtual/react-is.production.min.js +0 -4
  79. package/_virtual/react-is.production.min.js.map +0 -1
  80. package/_virtual/react-is.production.min2.js +0 -4
  81. package/_virtual/react-is.production.min2.js.map +0 -1
  82. package/_virtual/react-jsx-runtime.development.js +0 -4
  83. package/_virtual/react-jsx-runtime.development.js.map +0 -1
  84. package/_virtual/react-jsx-runtime.production.min.js +0 -4
  85. package/_virtual/react-jsx-runtime.production.min.js.map +0 -1
  86. package/components/BaseComponents/BaseButton.d.ts +0 -5
  87. package/components/BaseComponents/BaseButton.js +0 -41
  88. package/components/BaseComponents/BaseButton.js.map +0 -1
  89. package/components/BaseComponents/BaseCheckbox.d.ts +0 -5
  90. package/components/BaseComponents/BaseCheckbox.js +0 -24
  91. package/components/BaseComponents/BaseCheckbox.js.map +0 -1
  92. package/components/BaseComponents/BaseIcon.d.ts +0 -7
  93. package/components/BaseComponents/BaseIcon.js +0 -33
  94. package/components/BaseComponents/BaseIcon.js.map +0 -1
  95. package/components/BaseComponents/BasePopper.d.ts +0 -5
  96. package/components/BaseComponents/BasePopper.js +0 -13
  97. package/components/BaseComponents/BasePopper.js.map +0 -1
  98. package/components/BaseComponents/BaseTextField.d.ts +0 -5
  99. package/components/BaseComponents/BaseTextField.js.map +0 -1
  100. package/components/DataGrid/DataGrid.js.map +0 -1
  101. package/components/DataGrid/styles.js +0 -74
  102. package/components/DataGrid/styles.js.map +0 -1
  103. package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js +0 -183
  104. package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js.map +0 -1
  105. package/components/GridToolbarFilterSemanticField/styles.js +0 -20
  106. package/components/GridToolbarFilterSemanticField/styles.js.map +0 -1
  107. package/components/Pagination/ControlledPagination.d.ts +0 -21
  108. package/components/Pagination/ControlledPagination.js +0 -74
  109. package/components/Pagination/ControlledPagination.js.map +0 -1
  110. package/components/Pagination/ServerSideControlledPagination.js +0 -102
  111. package/components/Pagination/ServerSideControlledPagination.js.map +0 -1
  112. package/components/StatefulDataGrid/StatefulDataGrid.d.ts +0 -6
  113. package/components/StatefulDataGrid/StatefulDataGrid.js +0 -373
  114. package/components/StatefulDataGrid/StatefulDataGrid.js.map +0 -1
  115. package/components/TextCell/TextCell.d.ts +0 -9
  116. package/components/TextCell/TextCell.js.map +0 -1
  117. package/components/TextCell/styles.js +0 -22
  118. package/components/TextCell/styles.js.map +0 -1
  119. package/components/Toolbar/Toolbar.d.ts +0 -20
  120. package/components/Toolbar/Toolbar.js.map +0 -1
  121. package/components/Toolbar/styles.js +0 -17
  122. package/components/Toolbar/styles.js.map +0 -1
  123. package/components/ToolbarWrapper/ToolbarWrapper.js.map +0 -1
  124. package/hooks/useControlledDatagridState.js +0 -109
  125. package/hooks/useControlledDatagridState.js.map +0 -1
  126. package/hooks/useFetchState.js +0 -34
  127. package/hooks/useFetchState.js.map +0 -1
  128. package/hooks/useStatefulTable.d.ts +0 -12
  129. package/hooks/useStatefulTable.js +0 -182
  130. package/hooks/useStatefulTable.js.map +0 -1
  131. package/hooks/useTableStates.js +0 -52
  132. package/hooks/useTableStates.js.map +0 -1
  133. package/packages/design-system/src/components/theme/context.js +0 -7
  134. package/packages/design-system/src/components/theme/context.js.map +0 -1
  135. package/packages/popovers/src/components/tooltip/Tooltip.js +0 -60
  136. package/packages/popovers/src/components/tooltip/Tooltip.js.map +0 -1
  137. package/packages/popovers/src/components/tooltip/context.js +0 -6
  138. package/packages/popovers/src/components/tooltip/context.js.map +0 -1
  139. package/packages/popovers/src/components/tooltip/types.js +0 -28
  140. package/packages/popovers/src/components/tooltip/types.js.map +0 -1
  141. package/packages/popovers/src/components/tooltip/useTooltip.js +0 -78
  142. package/packages/popovers/src/components/tooltip/useTooltip.js.map +0 -1
  143. package/packages/popovers/src/components/tooltip/useTooltipContext.js +0 -13
  144. package/packages/popovers/src/components/tooltip/useTooltipContext.js.map +0 -1
  145. package/packages/popovers/src/components/tooltip-content/TooltipContent.js +0 -79
  146. package/packages/popovers/src/components/tooltip-content/TooltipContent.js.map +0 -1
  147. package/packages/popovers/src/components/tooltip-content/styles.js +0 -127
  148. package/packages/popovers/src/components/tooltip-content/styles.js.map +0 -1
  149. package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js +0 -47
  150. package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js.map +0 -1
  151. package/utils/columnTypes/index.d.ts +0 -78
  152. package/utils/columnTypes/index.js +0 -49
  153. package/utils/columnTypes/index.js.map +0 -1
  154. package/utils/columns/detailPanelToggleColDef.d.ts +0 -5
  155. package/utils/columns/detailPanelToggleColDef.js +0 -8
  156. package/utils/columns/detailPanelToggleColDef.js.map +0 -1
  157. package/utils/fields/InputNumberInterval.js +0 -85
  158. package/utils/fields/InputNumberInterval.js.map +0 -1
  159. package/utils/gpt.d.ts +0 -3
  160. package/utils/gpt.js +0 -33
  161. package/utils/gpt.js.map +0 -1
  162. package/utils/localStorage.d.ts +0 -17
  163. package/utils/localStorage.js +0 -59
  164. package/utils/localStorage.js.map +0 -1
  165. package/utils/operators/index.d.ts +0 -68
  166. package/utils/operators/index.js +0 -52
  167. package/utils/operators/index.js.map +0 -1
  168. package/utils/operators/numeric/getGridNumericOperators.d.ts +0 -5
  169. package/utils/operators/numeric/getGridNumericOperators.js +0 -7
  170. package/utils/operators/numeric/getGridNumericOperators.js.map +0 -1
  171. package/utils/operators/numeric/isBetween.d.ts +0 -10
  172. package/utils/operators/numeric/isBetween.js +0 -28
  173. package/utils/operators/numeric/isBetween.js.map +0 -1
  174. package/utils/operators/string/doesNotContain.d.ts +0 -10
  175. package/utils/operators/string/doesNotContain.js +0 -25
  176. package/utils/operators/string/doesNotContain.js.map +0 -1
  177. package/utils/operators/string/doesNotEqual.d.ts +0 -10
  178. package/utils/operators/string/doesNotEqual.js +0 -25
  179. package/utils/operators/string/doesNotEqual.js.map +0 -1
  180. package/utils/operators/string/doesNotHave.d.ts +0 -16
  181. package/utils/operators/string/doesNotHave.js +0 -24
  182. package/utils/operators/string/doesNotHave.js.map +0 -1
  183. package/utils/operators/string/getGridStringOperators.d.ts +0 -5
  184. package/utils/operators/string/getGridStringOperators.js +0 -9
  185. package/utils/operators/string/getGridStringOperators.js.map +0 -1
  186. package/utils/operators/string/has.d.ts +0 -16
  187. package/utils/operators/string/has.js +0 -24
  188. package/utils/operators/string/has.js.map +0 -1
  189. package/utils/operators/string/hasOnly.d.ts +0 -16
  190. package/utils/operators/string/hasOnly.js +0 -24
  191. package/utils/operators/string/hasOnly.js.map +0 -1
  192. package/utils/operators/string/is.d.ts +0 -16
  193. package/utils/operators/string/is.js +0 -26
  194. package/utils/operators/string/is.js.map +0 -1
  195. package/utils/operators/string/isNot.d.ts +0 -16
  196. package/utils/operators/string/isNot.js +0 -26
  197. package/utils/operators/string/isNot.js.map +0 -1
  198. package/utils/operators/string-array/containsAnyOf.d.ts +0 -16
  199. package/utils/operators/string-array/containsAnyOf.js +0 -56
  200. package/utils/operators/string-array/containsAnyOf.js.map +0 -1
  201. package/utils/operators/string-array/doesNotHaveAnyOf.js +0 -26
  202. package/utils/operators/string-array/doesNotHaveAnyOf.js.map +0 -1
  203. package/utils/operators/string-array/endsWithAnyOf.d.ts +0 -10
  204. package/utils/operators/string-array/endsWithAnyOf.js +0 -31
  205. package/utils/operators/string-array/endsWithAnyOf.js.map +0 -1
  206. package/utils/operators/string-array/getGridStringArrayOperators.d.ts +0 -7
  207. package/utils/operators/string-array/getGridStringArrayOperators.js +0 -19
  208. package/utils/operators/string-array/getGridStringArrayOperators.js.map +0 -1
  209. package/utils/operators/string-array/hasAnyOf.d.ts +0 -16
  210. package/utils/operators/string-array/hasAnyOf.js +0 -28
  211. package/utils/operators/string-array/hasAnyOf.js.map +0 -1
  212. package/utils/operators/string-array/isAnyOf.d.ts +0 -16
  213. package/utils/operators/string-array/isAnyOf.js +0 -32
  214. package/utils/operators/string-array/isAnyOf.js.map +0 -1
  215. package/utils/operators/string-array/isNotAnyOf.d.ts +0 -10
  216. package/utils/operators/string-array/isNotAnyOf.js +0 -28
  217. package/utils/operators/string-array/isNotAnyOf.js.map +0 -1
  218. package/utils/operators/string-array/startsWithAnyOf.d.ts +0 -10
  219. package/utils/operators/string-array/startsWithAnyOf.js +0 -31
  220. package/utils/operators/string-array/startsWithAnyOf.js.map +0 -1
  221. package/utils/urlLocalStorageSync.d.ts +0 -73
  222. package/utils/urlLocalStorageSync.js.map +0 -1
  223. /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,9 +0,0 @@
1
- import { Comp } from '@redsift/design-system';
2
- import { TextCellProps } from './types.js';
3
-
4
- /**
5
- * The Cell component.
6
- */
7
- declare const TextCell: Comp<TextCellProps, HTMLDivElement>;
8
-
9
- export { TextCell };
@@ -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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"}
@@ -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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"}