@mui/x-data-grid 5.7.0 → 5.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +74 -0
- package/DataGrid/DataGrid.d.ts +8 -3
- package/DataGrid/DataGrid.js +27 -4
- package/DataGrid/useDataGridComponent.js +2 -4
- package/DataGrid/useDataGridProps.d.ts +2 -1
- package/colDef/gridBooleanColDef.d.ts +1 -1
- package/colDef/gridBooleanOperators.d.ts +1 -1
- package/colDef/gridDateColDef.d.ts +5 -9
- package/colDef/gridDateColDef.js +2 -2
- package/colDef/gridDateOperators.d.ts +1 -1
- package/{models/colDef → colDef}/gridDefaultColumnTypes.d.ts +1 -1
- package/{models/colDef → colDef}/gridDefaultColumnTypes.js +6 -6
- package/colDef/gridNumericColDef.d.ts +1 -1
- package/colDef/gridNumericOperators.d.ts +2 -2
- package/colDef/gridStringColDef.d.ts +1 -1
- package/colDef/gridStringOperators.d.ts +1 -1
- package/colDef/index.d.ts +1 -0
- package/colDef/index.js +2 -1
- package/components/GridRow.js +1 -1
- package/components/cell/GridCell.d.ts +4 -4
- package/components/cell/GridCell.js +2 -2
- package/components/cell/GridEditInputCell.js +2 -2
- package/components/cell/GridEditSingleSelectCell.js +2 -2
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +12 -0
- package/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
- package/components/columnHeaders/GridColumnHeaderItem.js +5 -5
- package/components/columnHeaders/index.d.ts +1 -0
- package/components/columnHeaders/index.js +1 -0
- package/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
- package/components/containers/GridRoot.js +29 -17
- package/components/menu/columnMenu/GridColumnMenu.js +1 -1
- package/components/panel/GridPanel.d.ts +2 -2
- package/components/panel/GridPreferencesPanel.js +1 -1
- package/constants/defaultGridSlotsComponents.js +2 -1
- package/constants/gridClasses.d.ts +15 -3
- package/hooks/core/index.d.ts +1 -1
- package/hooks/core/{preProcessing/gridPreProcessingApi.d.ts → pipeProcessing/gridPipeProcessingApi.d.ts} +19 -18
- package/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
- package/hooks/core/pipeProcessing/index.d.ts +3 -0
- package/hooks/core/pipeProcessing/index.js +3 -0
- package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +27 -0
- package/hooks/core/pipeProcessing/useGridPipeProcessing.js +74 -0
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +7 -0
- package/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +2 -2
- package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +27 -16
- package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +26 -15
- package/hooks/core/useGridInitialization.js +2 -2
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
- package/hooks/features/columns/gridColumnsSelector.d.ts +6 -6
- package/hooks/features/columns/gridColumnsUtils.d.ts +3 -3
- package/hooks/features/columns/gridColumnsUtils.js +49 -17
- package/hooks/features/columns/useGridColumns.js +36 -27
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +5 -0
- package/hooks/features/dimensions/useGridDimensions.js +2 -1
- package/hooks/features/editRows/useGridCellEditing.new.d.ts +1 -1
- package/hooks/features/editRows/useGridCellEditing.new.js +22 -7
- package/hooks/features/editRows/useGridRowEditing.new.d.ts +1 -1
- package/hooks/features/editRows/useGridRowEditing.new.js +22 -7
- package/hooks/features/events/useGridEvents.d.ts +1 -1
- package/hooks/features/events/useGridEvents.js +2 -0
- package/hooks/features/filter/gridFilterSelector.d.ts +3 -9
- package/hooks/features/filter/useGridFilter.js +4 -4
- package/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.d.ts +2 -5
- package/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +27 -6
- package/hooks/features/pagination/gridPaginationSelector.d.ts +1 -3
- package/hooks/features/pagination/useGridPage.js +9 -4
- package/hooks/features/pagination/useGridPageSize.js +3 -3
- package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +18 -5
- package/hooks/features/rows/gridRowsSelector.d.ts +1 -1
- package/hooks/features/rows/gridRowsUtils.d.ts +8 -0
- package/hooks/features/rows/gridRowsUtils.js +11 -0
- package/hooks/features/rows/index.d.ts +1 -0
- package/hooks/features/rows/index.js +1 -1
- package/hooks/features/rows/useGridRows.js +3 -3
- package/hooks/features/rows/useGridRowsMeta.js +3 -3
- package/hooks/features/scroll/useGridScroll.js +4 -13
- package/hooks/features/selection/gridSelectionSelector.d.ts +1 -3
- package/hooks/features/selection/useGridSelection.d.ts +4 -2
- package/hooks/features/selection/useGridSelection.js +72 -25
- package/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
- package/hooks/features/sorting/gridSortingSelector.d.ts +1 -3
- package/hooks/features/sorting/gridSortingUtils.d.ts +1 -2
- package/hooks/features/sorting/useGridSorting.js +3 -3
- package/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
- package/hooks/utils/useGridRootProps.d.ts +1 -1
- package/hooks/utils/useGridVisibleRows.d.ts +2 -2
- package/index.js +1 -1
- package/internals/index.d.ts +3 -6
- package/internals/index.js +2 -3
- package/legacy/DataGrid/DataGrid.js +27 -4
- package/legacy/DataGrid/useDataGridComponent.js +2 -4
- package/legacy/colDef/gridDateColDef.js +2 -2
- package/legacy/{models/colDef → colDef}/gridDefaultColumnTypes.js +6 -6
- package/legacy/colDef/index.js +2 -1
- package/legacy/components/GridRow.js +1 -1
- package/legacy/components/cell/GridCell.js +2 -2
- package/legacy/components/cell/GridEditInputCell.js +2 -2
- package/legacy/components/cell/GridEditSingleSelectCell.js +2 -2
- package/legacy/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +5 -5
- package/legacy/components/columnHeaders/index.js +1 -0
- package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/legacy/components/containers/GridRoot.js +34 -17
- package/legacy/components/menu/columnMenu/GridColumnMenu.js +1 -1
- package/legacy/components/panel/GridPreferencesPanel.js +1 -1
- package/legacy/constants/defaultGridSlotsComponents.js +2 -1
- package/legacy/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
- package/legacy/hooks/core/pipeProcessing/index.js +3 -0
- package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +83 -0
- package/legacy/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +2 -2
- package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +26 -15
- package/legacy/hooks/core/useGridInitialization.js +2 -2
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
- package/legacy/hooks/features/columns/gridColumnsUtils.js +49 -18
- package/legacy/hooks/features/columns/useGridColumns.js +36 -27
- package/legacy/hooks/features/dimensions/useGridDimensions.js +2 -1
- package/legacy/hooks/features/editRows/useGridCellEditing.new.js +22 -7
- package/legacy/hooks/features/editRows/useGridRowEditing.new.js +22 -7
- package/legacy/hooks/features/events/useGridEvents.js +2 -0
- package/legacy/hooks/features/filter/useGridFilter.js +4 -4
- package/legacy/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +27 -6
- package/legacy/hooks/features/pagination/useGridPage.js +11 -4
- package/legacy/hooks/features/pagination/useGridPageSize.js +3 -3
- package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +18 -5
- package/legacy/hooks/features/rows/gridRowsUtils.js +13 -0
- package/legacy/hooks/features/rows/index.js +1 -1
- package/legacy/hooks/features/rows/useGridRows.js +5 -5
- package/legacy/hooks/features/rows/useGridRowsMeta.js +3 -3
- package/legacy/hooks/features/scroll/useGridScroll.js +4 -13
- package/legacy/hooks/features/selection/useGridSelection.js +74 -25
- package/legacy/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
- package/legacy/hooks/features/sorting/useGridSorting.js +3 -3
- package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
- package/legacy/index.js +1 -1
- package/legacy/internals/index.js +2 -3
- package/legacy/locales/daDK.js +36 -32
- package/legacy/models/colDef/index.js +1 -2
- package/legacy/models/events/gridEvents.js +4 -2
- package/legacy/models/gridRows.js +1 -33
- package/legacy/models/index.js +2 -2
- package/{modern/hooks/core/preProcessing/gridPreProcessingApi.js → legacy/models/params/gridPreferencePanelParams.js} +0 -0
- package/legacy/models/params/index.js +2 -1
- package/locales/daDK.js +32 -32
- package/models/api/gridApiCommon.d.ts +2 -2
- package/models/api/gridEditingApi.d.ts +2 -2
- package/models/api/gridParamsApi.d.ts +5 -5
- package/models/api/gridRowApi.d.ts +2 -2
- package/models/colDef/gridColDef.d.ts +33 -28
- package/models/colDef/index.d.ts +0 -1
- package/models/colDef/index.js +1 -2
- package/models/events/gridEventLookup.d.ts +12 -6
- package/models/events/gridEvents.d.ts +11 -5
- package/models/events/gridEvents.js +4 -2
- package/models/gridCell.d.ts +1 -0
- package/models/gridEditRowModel.d.ts +1 -1
- package/models/gridFilterOperator.d.ts +3 -2
- package/models/gridRows.d.ts +10 -18
- package/models/gridRows.js +1 -31
- package/models/gridSlotsComponent.d.ts +5 -0
- package/models/gridSlotsComponentsProps.d.ts +1 -0
- package/models/gridSortModel.d.ts +3 -4
- package/models/index.d.ts +1 -1
- package/models/index.js +2 -2
- package/models/params/gridCellParams.d.ts +14 -14
- package/models/params/gridColumnHeaderParams.d.ts +3 -2
- package/models/params/gridEditCellParams.d.ts +2 -3
- package/models/params/gridPreferencePanelParams.d.ts +3 -0
- package/models/params/gridPreferencePanelParams.js +1 -0
- package/models/params/gridRowParams.d.ts +7 -8
- package/models/params/gridValueOptionsParams.d.ts +3 -3
- package/models/params/index.d.ts +1 -0
- package/models/params/index.js +2 -1
- package/models/props/DataGridProps.d.ts +36 -16
- package/modern/DataGrid/DataGrid.js +27 -4
- package/modern/DataGrid/useDataGridComponent.js +2 -4
- package/modern/colDef/gridDateColDef.js +2 -2
- package/modern/{models/colDef → colDef}/gridDefaultColumnTypes.js +6 -6
- package/modern/colDef/index.js +2 -1
- package/modern/components/GridRow.js +1 -1
- package/modern/components/cell/GridCell.js +2 -2
- package/modern/components/cell/GridEditInputCell.js +2 -2
- package/modern/components/cell/GridEditSingleSelectCell.js +2 -2
- package/modern/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +3 -3
- package/modern/components/columnHeaders/index.js +1 -0
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/modern/components/containers/GridRoot.js +29 -17
- package/modern/components/menu/columnMenu/GridColumnMenu.js +1 -1
- package/modern/components/panel/GridPreferencesPanel.js +1 -1
- package/modern/constants/defaultGridSlotsComponents.js +2 -1
- package/modern/hooks/core/pipeProcessing/gridPipeProcessingApi.js +1 -0
- package/modern/hooks/core/pipeProcessing/index.js +3 -0
- package/modern/hooks/core/pipeProcessing/useGridPipeProcessing.js +74 -0
- package/modern/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +2 -2
- package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +26 -15
- package/modern/hooks/core/useGridInitialization.js +2 -2
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
- package/modern/hooks/features/columns/gridColumnsUtils.js +49 -17
- package/modern/hooks/features/columns/useGridColumns.js +36 -27
- package/modern/hooks/features/dimensions/useGridDimensions.js +2 -1
- package/modern/hooks/features/editRows/useGridCellEditing.new.js +22 -7
- package/modern/hooks/features/editRows/useGridRowEditing.new.js +22 -7
- package/modern/hooks/features/events/useGridEvents.js +2 -0
- package/modern/hooks/features/filter/useGridFilter.js +4 -4
- package/modern/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +27 -6
- package/modern/hooks/features/pagination/useGridPage.js +9 -4
- package/modern/hooks/features/pagination/useGridPageSize.js +3 -3
- package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +18 -5
- package/modern/hooks/features/rows/gridRowsUtils.js +11 -0
- package/modern/hooks/features/rows/index.js +1 -1
- package/modern/hooks/features/rows/useGridRows.js +1 -1
- package/modern/hooks/features/rows/useGridRowsMeta.js +3 -3
- package/modern/hooks/features/scroll/useGridScroll.js +4 -9
- package/modern/hooks/features/selection/useGridSelection.js +72 -25
- package/modern/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
- package/modern/hooks/features/sorting/useGridSorting.js +3 -3
- package/modern/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
- package/modern/index.js +1 -1
- package/modern/internals/index.js +2 -3
- package/modern/locales/daDK.js +32 -32
- package/modern/models/colDef/index.js +1 -2
- package/modern/models/events/gridEvents.js +4 -2
- package/modern/models/gridRows.js +1 -31
- package/modern/models/index.js +2 -2
- package/modern/models/params/gridPreferencePanelParams.js +1 -0
- package/modern/models/params/index.js +2 -1
- package/node/DataGrid/DataGrid.js +27 -4
- package/node/DataGrid/useDataGridComponent.js +2 -5
- package/node/colDef/gridDateColDef.js +2 -2
- package/node/{models/colDef → colDef}/gridDefaultColumnTypes.js +6 -6
- package/node/colDef/index.js +13 -0
- package/node/components/GridRow.js +1 -1
- package/node/components/cell/GridCell.js +2 -2
- package/node/components/cell/GridEditInputCell.js +2 -2
- package/node/components/cell/GridEditSingleSelectCell.js +2 -2
- package/node/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +23 -5
- package/node/components/columnHeaders/GridColumnHeaderItem.js +5 -6
- package/node/components/columnHeaders/index.js +13 -0
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/node/components/containers/GridRoot.js +28 -17
- package/node/components/menu/columnMenu/GridColumnMenu.js +1 -1
- package/node/components/panel/GridPreferencesPanel.js +1 -1
- package/node/constants/defaultGridSlotsComponents.js +1 -0
- package/node/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
- package/node/hooks/core/pipeProcessing/index.js +44 -0
- package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +93 -0
- package/node/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +4 -4
- package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +26 -15
- package/node/hooks/core/useGridInitialization.js +2 -2
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
- package/node/hooks/features/columns/gridColumnsUtils.js +54 -21
- package/node/hooks/features/columns/useGridColumns.js +36 -27
- package/node/hooks/features/dimensions/useGridDimensions.js +2 -1
- package/node/hooks/features/editRows/useGridCellEditing.new.js +24 -7
- package/node/hooks/features/editRows/useGridRowEditing.new.js +24 -7
- package/node/hooks/features/events/useGridEvents.js +2 -0
- package/node/hooks/features/filter/useGridFilter.js +4 -4
- package/node/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +29 -6
- package/node/hooks/features/pagination/useGridPage.js +8 -3
- package/node/hooks/features/pagination/useGridPageSize.js +3 -3
- package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +20 -5
- package/node/hooks/features/rows/gridRowsUtils.js +18 -0
- package/node/hooks/features/rows/index.js +15 -1
- package/node/hooks/features/rows/useGridRows.js +5 -5
- package/node/hooks/features/rows/useGridRowsMeta.js +3 -3
- package/node/hooks/features/scroll/useGridScroll.js +3 -13
- package/node/hooks/features/selection/useGridSelection.js +71 -24
- package/node/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
- package/node/hooks/features/sorting/useGridSorting.js +3 -3
- package/node/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
- package/node/index.js +1 -1
- package/node/internals/index.js +4 -12
- package/node/locales/daDK.js +32 -32
- package/node/models/colDef/index.js +0 -13
- package/node/models/events/gridEvents.js +4 -2
- package/node/models/gridRows.js +1 -34
- package/node/models/index.js +13 -13
- package/node/models/params/gridPreferencePanelParams.js +5 -0
- package/node/models/params/index.js +13 -0
- package/package.json +1 -1
- package/components/columnHeaders/ColumnHeaderFilterIcon.d.ts +0 -5
- package/hooks/core/preProcessing/index.d.ts +0 -3
- package/hooks/core/preProcessing/index.js +0 -3
- package/hooks/core/preProcessing/useGridPreProcessing.d.ts +0 -6
- package/hooks/core/preProcessing/useGridPreProcessing.js +0 -53
- package/hooks/core/preProcessing/useGridRegisterPreProcessor.d.ts +0 -7
- package/hooks/features/keyboard/useGridKeyboard.d.ts +0 -10
- package/hooks/features/keyboard/useGridKeyboard.js +0 -70
- package/legacy/hooks/core/preProcessing/index.js +0 -3
- package/legacy/hooks/core/preProcessing/useGridPreProcessing.js +0 -62
- package/legacy/hooks/features/keyboard/useGridKeyboard.js +0 -70
- package/modern/hooks/core/preProcessing/index.js +0 -3
- package/modern/hooks/core/preProcessing/useGridPreProcessing.js +0 -53
- package/modern/hooks/features/keyboard/useGridKeyboard.js +0 -70
- package/node/hooks/core/preProcessing/index.js +0 -44
- package/node/hooks/core/preProcessing/useGridPreProcessing.js +0 -72
- package/node/hooks/features/keyboard/useGridKeyboard.js +0 -91
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,80 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 5.8.0
|
|
7
|
+
<!-- generated comparing v5.7.0..master -->
|
|
8
|
+
_Apr 4, 2022_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 🚀 Expose new methods to save and restore the grid state (#4028) @flaviendelangle
|
|
13
|
+
|
|
14
|
+
The different methods to save and restore the data-grid state are now [documented](mui.com/components/data-grid/state/#save-and-restore-the-state)
|
|
15
|
+
|
|
16
|
+
- ⌚️ Move date and time picker components from the lab (#3451) @flaviendelangle
|
|
17
|
+
|
|
18
|
+
Date and time picker components have been moved to the MUI-X repo.
|
|
19
|
+
They are now accessible in their own packages: `@mui/x-date-pickers` and `@mui/x-date-pickers-pro`.
|
|
20
|
+
For more information, you can read the [blog article](https://mui.com/blog/lab-pickers-to-mui-x) and the [migration guide](https://mui.com/x/react-date-pickers/migration-lab)
|
|
21
|
+
|
|
22
|
+
- 📝 Add `onProcessRowUpdateError` prop to simplify error management in edit mode (#4267) @m4theushw
|
|
23
|
+
- ✨ Add generic typing to `GridColDef` and derived interfaces (#4064) @flaviendelangle
|
|
24
|
+
|
|
25
|
+
You can now strongly type all the objects related to the row and the cell values.
|
|
26
|
+
Here is an example, you can find out more in the description of #4064.
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
const rows: Movie[] = [];
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<DataGrid
|
|
33
|
+
rows={rows}
|
|
34
|
+
columns={[{
|
|
35
|
+
// typeof params.row => Movie (R)
|
|
36
|
+
valueGetter: params => params.row.year,
|
|
37
|
+
}]}
|
|
38
|
+
/>
|
|
39
|
+
);
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### `@mui/x-data-grid@v5.8.0` / `@mui/x-data-grid-pro@v5.8.0`
|
|
43
|
+
|
|
44
|
+
#### Changes
|
|
45
|
+
|
|
46
|
+
- [DataGrid] Add `onProcessRowUpdateError` prop (#4267) @m4theushw
|
|
47
|
+
- [DataGrid] Add generic typing to `GridColDef` and derived interfaces (#4064) @flaviendelangle
|
|
48
|
+
- [DataGrid] Add missing classes on `gridClasses` and `gridPanelClasses` (#4273) @flaviendelangle
|
|
49
|
+
- [DataGrid] Add `onPreferencePanelClose`/`onPreferencePanelOpen` props (#4265) @kyeongsoosoo
|
|
50
|
+
- [DataGrid] Add slot for filter icon button (#4276) @m4theushw
|
|
51
|
+
- [DataGrid] Add the documentation of the portable state (#4028) @flaviendelangle
|
|
52
|
+
- [DataGrid] Allow to use keyboard navigation even with no rows (#4302) @alexfauquette
|
|
53
|
+
- [DataGrid] Fix inconsistency in the border of the last column (#4224) @alexfauquette
|
|
54
|
+
- [DataGrid] Fix overlay blocking scrollbar when rows is empty (#4281) @m4theushw
|
|
55
|
+
- [DataGrid] Improve selection with keyboard (#4157) @flaviendelangle
|
|
56
|
+
- [DataGrid] Scroll to the top of the page when changing page (#4272) @flaviendelangle
|
|
57
|
+
- [l10n] Improve Danish (da-DK) locale (#4271) @simplenotezy
|
|
58
|
+
|
|
59
|
+
### `@mui/x-date-pickers@v5.0.0-alpha.0` / `@mui/x-date-pickers-pro@v5.0.0-alpha.0`
|
|
60
|
+
|
|
61
|
+
#### Changes
|
|
62
|
+
|
|
63
|
+
- [DatePicker] Import date-picker components from the lab (#3451) @flaviendelangle
|
|
64
|
+
|
|
65
|
+
### Docs
|
|
66
|
+
|
|
67
|
+
- [docs] Create an home page for "Advanced Components" (#4298) @flaviendelangle
|
|
68
|
+
- [docs] Update installation docs (#4259) @cherniavskii
|
|
69
|
+
- [docs] New page for the migration of date and time pickers from the lab (#4327) @flaviendelangle
|
|
70
|
+
|
|
71
|
+
### Core
|
|
72
|
+
|
|
73
|
+
- [core] Fix typo in issue template @oliviertassinari
|
|
74
|
+
- [core] Move last variables outside of the models folder (#4303) @flaviendelangle
|
|
75
|
+
- [core] Remove dead code (#4283) @oliviertassinari
|
|
76
|
+
- [core] Rename the "pre-processing" concept "pipe-processing" (#4261) @flaviendelangle
|
|
77
|
+
- [core] Reuse previous state when updating the columns prop (#4229) @m4theushw
|
|
78
|
+
- [core] Fix Argos flakyness for pickers tests (#4312) @flaviendelangle
|
|
79
|
+
|
|
6
80
|
## 5.7.0
|
|
7
81
|
|
|
8
82
|
_Mar 24, 2022_
|
package/DataGrid/DataGrid.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { DataGridProps } from '../models/props/DataGridProps';
|
|
3
|
+
import { GridValidRowModel } from '../models/gridRows';
|
|
4
|
+
interface DataGridComponent {
|
|
5
|
+
<R extends GridValidRowModel = any>(props: DataGridProps<R> & React.RefAttributes<HTMLDivElement>): JSX.Element;
|
|
6
|
+
propTypes?: any;
|
|
7
|
+
}
|
|
8
|
+
export declare const DataGrid: DataGridComponent;
|
|
9
|
+
export {};
|
package/DataGrid/DataGrid.js
CHANGED
|
@@ -498,6 +498,28 @@ DataGridRaw.propTypes = {
|
|
|
498
498
|
*/
|
|
499
499
|
onPageSizeChange: PropTypes.func,
|
|
500
500
|
|
|
501
|
+
/**
|
|
502
|
+
* Callback fired when the preferences panel is closed.
|
|
503
|
+
* @param {GridPreferencePanelParams} params With all properties from [[GridPreferencePanelParams]].
|
|
504
|
+
* @param {MuiEvent<{}>} event The event object.
|
|
505
|
+
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
506
|
+
*/
|
|
507
|
+
onPreferencePanelClose: PropTypes.func,
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* Callback fired when the preferences panel is opened.
|
|
511
|
+
* @param {GridPreferencePanelParams} params With all properties from [[GridPreferencePanelParams]].
|
|
512
|
+
* @param {MuiEvent<{}>} event The event object.
|
|
513
|
+
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
514
|
+
*/
|
|
515
|
+
onPreferencePanelOpen: PropTypes.func,
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Callback called when `processRowUpdate` throws an error or rejects.
|
|
519
|
+
* @param {any} error The error thrown.
|
|
520
|
+
*/
|
|
521
|
+
onProcessRowUpdateError: PropTypes.func,
|
|
522
|
+
|
|
501
523
|
/**
|
|
502
524
|
* Callback fired when the grid is resized.
|
|
503
525
|
* @param {ElementSize} containerSize With all properties from [[ElementSize]].
|
|
@@ -604,9 +626,10 @@ DataGridRaw.propTypes = {
|
|
|
604
626
|
/**
|
|
605
627
|
* Callback called before updating a row with new values in the row and cell editing.
|
|
606
628
|
* Only applied if `props.experimentalFeatures.newEditingApi: true`.
|
|
607
|
-
* @
|
|
608
|
-
* @param {
|
|
609
|
-
* @
|
|
629
|
+
* @template R
|
|
630
|
+
* @param {R} newRow Row object with the new values.
|
|
631
|
+
* @param {R} oldRow Row object with the old values.
|
|
632
|
+
* @returns {Promise<R> | R} The final values to update the row.
|
|
610
633
|
*/
|
|
611
634
|
processRowUpdate: PropTypes.func,
|
|
612
635
|
|
|
@@ -631,7 +654,7 @@ DataGridRaw.propTypes = {
|
|
|
631
654
|
/**
|
|
632
655
|
* Set of rows of type [[GridRowsProp]].
|
|
633
656
|
*/
|
|
634
|
-
rows: PropTypes.
|
|
657
|
+
rows: PropTypes.array.isRequired,
|
|
635
658
|
|
|
636
659
|
/**
|
|
637
660
|
* Sets the type of space between rows added by `getRowSpacing`.
|
|
@@ -8,8 +8,7 @@ import { useGridCsvExport } from '../hooks/features/export/useGridCsvExport';
|
|
|
8
8
|
import { useGridPrintExport } from '../hooks/features/export/useGridPrintExport';
|
|
9
9
|
import { useGridFilter, filterStateInitializer } from '../hooks/features/filter/useGridFilter';
|
|
10
10
|
import { focusStateInitializer, useGridFocus } from '../hooks/features/focus/useGridFocus';
|
|
11
|
-
import {
|
|
12
|
-
import { useGridKeyboardNavigation } from '../hooks/features/keyboard/useGridKeyboardNavigation';
|
|
11
|
+
import { useGridKeyboardNavigation } from '../hooks/features/keyboardNavigation/useGridKeyboardNavigation';
|
|
13
12
|
import { useGridPagination, paginationStateInitializer } from '../hooks/features/pagination/useGridPagination';
|
|
14
13
|
import { useGridPreferencesPanel, preferencePanelStateInitializer } from '../hooks/features/preferencesPanel/useGridPreferencesPanel';
|
|
15
14
|
import { useGridEditing as useGridEditing_old, editingStateInitializer as editingStateInitializer_old } from '../hooks/features/editRows/useGridEditing.old';
|
|
@@ -51,6 +50,7 @@ export const useDataGridComponent = props => {
|
|
|
51
50
|
useGridInitializeState(paginationStateInitializer, apiRef, props);
|
|
52
51
|
useGridInitializeState(rowsMetaStateInitializer, apiRef, props);
|
|
53
52
|
useGridInitializeState(columnMenuStateInitializer, apiRef, props);
|
|
53
|
+
useGridKeyboardNavigation(apiRef, props);
|
|
54
54
|
useGridSelection(apiRef, props);
|
|
55
55
|
useGridColumns(apiRef, props);
|
|
56
56
|
useGridRows(apiRef, props);
|
|
@@ -66,8 +66,6 @@ export const useDataGridComponent = props => {
|
|
|
66
66
|
useGridRowsMeta(apiRef, props);
|
|
67
67
|
useGridScroll(apiRef, props);
|
|
68
68
|
useGridColumnMenu(apiRef);
|
|
69
|
-
useGridKeyboard(apiRef);
|
|
70
|
-
useGridKeyboardNavigation(apiRef, props);
|
|
71
69
|
useGridCsvExport(apiRef);
|
|
72
70
|
useGridPrintExport(apiRef, props);
|
|
73
71
|
useGridClipboard(apiRef);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { DataGridProcessedProps, DataGridProps, DataGridPropsWithDefaultValues } from '../models/props/DataGridProps';
|
|
2
|
+
import { GridValidRowModel } from '../models';
|
|
2
3
|
export declare const MAX_PAGE_SIZE = 100;
|
|
3
4
|
/**
|
|
4
5
|
* The default values of `DataGridPropsWithDefaultValues` to inject in the props of DataGrid.
|
|
5
6
|
*/
|
|
6
7
|
export declare const DATA_GRID_PROPS_DEFAULT_VALUES: DataGridPropsWithDefaultValues;
|
|
7
|
-
export declare const useDataGridProps: (inProps: DataGridProps) => DataGridProcessedProps
|
|
8
|
+
export declare const useDataGridProps: <R extends GridValidRowModel>(inProps: DataGridProps<R>) => DataGridProcessedProps<R>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { GridColTypeDef } from '../models/colDef/gridColDef';
|
|
2
|
-
export declare const GRID_BOOLEAN_COL_DEF: GridColTypeDef
|
|
2
|
+
export declare const GRID_BOOLEAN_COL_DEF: GridColTypeDef<boolean | null, any>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { GridFilterOperator } from '../models/gridFilterOperator';
|
|
2
|
-
export declare const getGridBooleanOperators: () => GridFilterOperator[];
|
|
2
|
+
export declare const getGridBooleanOperators: () => GridFilterOperator<any, boolean | null, any>[];
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import { GridCellValue } from '../models/gridCell';
|
|
2
1
|
import { GridColTypeDef } from '../models/colDef/gridColDef';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare
|
|
7
|
-
|
|
8
|
-
}): string | number | boolean | object | null | undefined;
|
|
9
|
-
export declare const GRID_DATE_COL_DEF: GridColTypeDef;
|
|
10
|
-
export declare const GRID_DATETIME_COL_DEF: GridColTypeDef;
|
|
2
|
+
import { GridValueFormatterParams } from '../models/params/gridCellParams';
|
|
3
|
+
export declare function gridDateFormatter({ value }: GridValueFormatterParams<Date | string>): string;
|
|
4
|
+
export declare function gridDateTimeFormatter({ value }: GridValueFormatterParams<Date | string>): string;
|
|
5
|
+
export declare const GRID_DATE_COL_DEF: GridColTypeDef<Date | string, string>;
|
|
6
|
+
export declare const GRID_DATETIME_COL_DEF: GridColTypeDef<Date | string, string>;
|
package/colDef/gridDateColDef.js
CHANGED
|
@@ -10,7 +10,7 @@ export function gridDateFormatter({
|
|
|
10
10
|
return value.toLocaleDateString();
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
return value;
|
|
13
|
+
return value != null ? value : '';
|
|
14
14
|
}
|
|
15
15
|
export function gridDateTimeFormatter({
|
|
16
16
|
value
|
|
@@ -19,7 +19,7 @@ export function gridDateTimeFormatter({
|
|
|
19
19
|
return value.toLocaleString();
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
return value;
|
|
22
|
+
return value != null ? value : '';
|
|
23
23
|
}
|
|
24
24
|
export const GRID_DATE_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
25
25
|
type: 'date',
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { GridFilterOperator } from '../models/gridFilterOperator';
|
|
2
|
-
export declare const getGridDateOperators: (showTime?: boolean | undefined) => GridFilterOperator[];
|
|
2
|
+
export declare const getGridDateOperators: (showTime?: boolean | undefined) => GridFilterOperator<any, string | number | Date, any>[];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { GridColumnTypesRecord } from '
|
|
1
|
+
import { GridColumnTypesRecord } from '../models/colDef/gridColumnTypesRecord';
|
|
2
2
|
export declare const DEFAULT_GRID_COL_TYPE_KEY = "__default__";
|
|
3
3
|
export declare const getGridDefaultColumnTypes: () => GridColumnTypesRecord;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { GRID_STRING_COL_DEF } from '
|
|
2
|
-
import { GRID_NUMERIC_COL_DEF } from '
|
|
3
|
-
import { GRID_DATE_COL_DEF, GRID_DATETIME_COL_DEF } from '
|
|
4
|
-
import { GRID_BOOLEAN_COL_DEF } from '
|
|
5
|
-
import { GRID_SINGLE_SELECT_COL_DEF } from '
|
|
6
|
-
import { GRID_ACTIONS_COL_DEF, GRID_ACTIONS_COLUMN_TYPE } from '
|
|
1
|
+
import { GRID_STRING_COL_DEF } from './gridStringColDef';
|
|
2
|
+
import { GRID_NUMERIC_COL_DEF } from './gridNumericColDef';
|
|
3
|
+
import { GRID_DATE_COL_DEF, GRID_DATETIME_COL_DEF } from './gridDateColDef';
|
|
4
|
+
import { GRID_BOOLEAN_COL_DEF } from './gridBooleanColDef';
|
|
5
|
+
import { GRID_SINGLE_SELECT_COL_DEF } from './gridSingleSelectColDef';
|
|
6
|
+
import { GRID_ACTIONS_COL_DEF, GRID_ACTIONS_COLUMN_TYPE } from './gridActionsColDef';
|
|
7
7
|
export const DEFAULT_GRID_COL_TYPE_KEY = '__default__';
|
|
8
8
|
export const getGridDefaultColumnTypes = () => {
|
|
9
9
|
const nativeColumnTypes = {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { GridColTypeDef } from '../models/colDef/gridColDef';
|
|
2
|
-
export declare const GRID_NUMERIC_COL_DEF: GridColTypeDef
|
|
2
|
+
export declare const GRID_NUMERIC_COL_DEF: GridColTypeDef<number | string | null, string>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GridFilterOperator } from '../models/gridFilterOperator';
|
|
2
|
-
export declare const getGridNumericOperators: () => GridFilterOperator[];
|
|
2
|
+
export declare const getGridNumericOperators: () => GridFilterOperator<any, number | string | null, any>[];
|
|
3
3
|
/**
|
|
4
4
|
* @deprecated Use `getGridNumericOperators` instead.
|
|
5
5
|
*/
|
|
6
|
-
export declare const getGridNumericColumnOperators: (() => GridFilterOperator[]) | ((...args: any[]) => any);
|
|
6
|
+
export declare const getGridNumericColumnOperators: (() => GridFilterOperator<any, number | string | null, any>[]) | ((...args: any[]) => any);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { GridColTypeDef } from '../models/colDef/gridColDef';
|
|
2
|
-
export declare const GRID_STRING_COL_DEF: GridColTypeDef
|
|
2
|
+
export declare const GRID_STRING_COL_DEF: GridColTypeDef<any, any>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { GridFilterOperator } from '../models/gridFilterOperator';
|
|
2
|
-
export declare const getGridStringOperators: () => GridFilterOperator[];
|
|
2
|
+
export declare const getGridStringOperators: () => GridFilterOperator<any, number | string | null, any>[];
|
package/colDef/index.d.ts
CHANGED
package/colDef/index.js
CHANGED
|
@@ -9,4 +9,5 @@ export * from './gridBooleanOperators';
|
|
|
9
9
|
export * from './gridDateOperators';
|
|
10
10
|
export * from './gridNumericOperators';
|
|
11
11
|
export * from './gridSingleSelectOperators';
|
|
12
|
-
export * from './gridStringOperators';
|
|
12
|
+
export * from './gridStringOperators';
|
|
13
|
+
export * from './gridDefaultColumnTypes';
|
package/components/GridRow.js
CHANGED
|
@@ -286,7 +286,7 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
|
|
|
286
286
|
isLastVisible: PropTypes.bool,
|
|
287
287
|
lastColumnToRender: PropTypes.number.isRequired,
|
|
288
288
|
renderedColumns: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
289
|
-
row: PropTypes.
|
|
289
|
+
row: PropTypes.any.isRequired,
|
|
290
290
|
rowHeight: PropTypes.number.isRequired,
|
|
291
291
|
rowId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
|
|
292
292
|
selected: PropTypes.bool.isRequired,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { GridCellMode,
|
|
2
|
+
import { GridCellMode, GridRowId } from '../../models';
|
|
3
3
|
import { GridAlignment } from '../../models/colDef/gridColDef';
|
|
4
|
-
export interface GridCellProps {
|
|
4
|
+
export interface GridCellProps<V = any, F = V> {
|
|
5
5
|
align: GridAlignment;
|
|
6
6
|
className?: string;
|
|
7
7
|
colIndex: number;
|
|
8
8
|
field: string;
|
|
9
9
|
rowId: GridRowId;
|
|
10
|
-
formattedValue?:
|
|
10
|
+
formattedValue?: F;
|
|
11
11
|
hasFocus?: boolean;
|
|
12
12
|
height: number;
|
|
13
13
|
isEditable?: boolean;
|
|
14
14
|
showRightBorder?: boolean;
|
|
15
|
-
value?:
|
|
15
|
+
value?: V;
|
|
16
16
|
width: number;
|
|
17
17
|
cellMode?: GridCellMode;
|
|
18
18
|
children: React.ReactNode;
|
|
@@ -198,7 +198,7 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
|
|
|
198
198
|
className: PropTypes.string,
|
|
199
199
|
colIndex: PropTypes.number.isRequired,
|
|
200
200
|
field: PropTypes.string.isRequired,
|
|
201
|
-
formattedValue: PropTypes.
|
|
201
|
+
formattedValue: PropTypes.any,
|
|
202
202
|
hasFocus: PropTypes.bool,
|
|
203
203
|
height: PropTypes.number.isRequired,
|
|
204
204
|
isEditable: PropTypes.bool,
|
|
@@ -212,7 +212,7 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
|
|
|
212
212
|
rowId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
|
|
213
213
|
showRightBorder: PropTypes.bool,
|
|
214
214
|
tabIndex: PropTypes.oneOf([-1, 0]).isRequired,
|
|
215
|
-
value: PropTypes.
|
|
215
|
+
value: PropTypes.any,
|
|
216
216
|
width: PropTypes.number.isRequired
|
|
217
217
|
} : void 0;
|
|
218
218
|
export { GridCell };
|
|
@@ -126,7 +126,7 @@ process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
|
|
|
126
126
|
* Get the cell value of a row and field.
|
|
127
127
|
* @param {GridRowId} id The row id.
|
|
128
128
|
* @param {string} field The field.
|
|
129
|
-
* @returns {
|
|
129
|
+
* @returns {any} The cell value.
|
|
130
130
|
* @deprecated Use `params.row` to directly access the fields you want instead.
|
|
131
131
|
*/
|
|
132
132
|
getValue: PropTypes.func.isRequired,
|
|
@@ -151,7 +151,7 @@ process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
|
|
|
151
151
|
/**
|
|
152
152
|
* The row model of the row that the current cell belongs to.
|
|
153
153
|
*/
|
|
154
|
-
row: PropTypes.
|
|
154
|
+
row: PropTypes.object.isRequired,
|
|
155
155
|
|
|
156
156
|
/**
|
|
157
157
|
* The node of the row that the current cell belongs to.
|
|
@@ -187,7 +187,7 @@ process.env.NODE_ENV !== "production" ? GridEditSingleSelectCell.propTypes = {
|
|
|
187
187
|
* Get the cell value of a row and field.
|
|
188
188
|
* @param {GridRowId} id The row id.
|
|
189
189
|
* @param {string} field The field.
|
|
190
|
-
* @returns {
|
|
190
|
+
* @returns {any} The cell value.
|
|
191
191
|
* @deprecated Use `params.row` to directly access the fields you want instead.
|
|
192
192
|
*/
|
|
193
193
|
getValue: PropTypes.func.isRequired,
|
|
@@ -212,7 +212,7 @@ process.env.NODE_ENV !== "production" ? GridEditSingleSelectCell.propTypes = {
|
|
|
212
212
|
/**
|
|
213
213
|
* The row model of the row that the current cell belongs to.
|
|
214
214
|
*/
|
|
215
|
-
row: PropTypes.
|
|
215
|
+
row: PropTypes.object.isRequired,
|
|
216
216
|
|
|
217
217
|
/**
|
|
218
218
|
* The node of the row that the current cell belongs to.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { GridColumnHeaderParams } from '../../models/params/gridColumnHeaderParams';
|
|
3
|
+
export interface ColumnHeaderFilterIconButtonProps {
|
|
4
|
+
field: string;
|
|
5
|
+
counter?: number;
|
|
6
|
+
onClick?: (params: GridColumnHeaderParams, event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
7
|
+
}
|
|
8
|
+
declare function GridColumnHeaderFilterIconButton(props: ColumnHeaderFilterIconButtonProps): JSX.Element | null;
|
|
9
|
+
declare namespace GridColumnHeaderFilterIconButton {
|
|
10
|
+
var propTypes: any;
|
|
11
|
+
}
|
|
12
|
+
export { GridColumnHeaderFilterIconButton };
|
package/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js}
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
3
4
|
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
4
5
|
import IconButton from '@mui/material/IconButton';
|
|
5
6
|
import Badge from '@mui/material/Badge';
|
|
@@ -22,11 +23,13 @@ const useUtilityClasses = ownerState => {
|
|
|
22
23
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
23
24
|
};
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
function GridColumnHeaderFilterIconButton(props) {
|
|
26
27
|
var _rootProps$components;
|
|
27
28
|
|
|
28
29
|
const {
|
|
29
|
-
counter
|
|
30
|
+
counter,
|
|
31
|
+
field,
|
|
32
|
+
onClick
|
|
30
33
|
} = props;
|
|
31
34
|
const apiRef = useGridApiContext();
|
|
32
35
|
const rootProps = useGridRootProps();
|
|
@@ -49,7 +52,11 @@ export function ColumnHeaderFilterIcon(props) {
|
|
|
49
52
|
} else {
|
|
50
53
|
apiRef.current.showFilterPanel();
|
|
51
54
|
}
|
|
52
|
-
|
|
55
|
+
|
|
56
|
+
if (onClick) {
|
|
57
|
+
onClick(apiRef.current.getColumnHeaderParams(field), event);
|
|
58
|
+
}
|
|
59
|
+
}, [apiRef, field, onClick]);
|
|
53
60
|
|
|
54
61
|
if (!counter) {
|
|
55
62
|
return null;
|
|
@@ -79,4 +86,15 @@ export function ColumnHeaderFilterIcon(props) {
|
|
|
79
86
|
}), counter === 1 && iconButton]
|
|
80
87
|
})
|
|
81
88
|
}));
|
|
82
|
-
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
process.env.NODE_ENV !== "production" ? GridColumnHeaderFilterIconButton.propTypes = {
|
|
92
|
+
// ----------------------------- Warning --------------------------------
|
|
93
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
94
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
95
|
+
// ----------------------------------------------------------------------
|
|
96
|
+
counter: PropTypes.number,
|
|
97
|
+
field: PropTypes.string.isRequired,
|
|
98
|
+
onClick: PropTypes.func
|
|
99
|
+
} : void 0;
|
|
100
|
+
export { GridColumnHeaderFilterIconButton };
|
|
@@ -10,7 +10,6 @@ import { GridColumnHeaderSortIcon } from './GridColumnHeaderSortIcon';
|
|
|
10
10
|
import { GridColumnHeaderTitle } from './GridColumnHeaderTitle';
|
|
11
11
|
import { GridColumnHeaderSeparator } from './GridColumnHeaderSeparator';
|
|
12
12
|
import { ColumnHeaderMenuIcon } from './ColumnHeaderMenuIcon';
|
|
13
|
-
import { ColumnHeaderFilterIcon } from './ColumnHeaderFilterIcon';
|
|
14
13
|
import { GridColumnHeaderMenu } from '../menu/columnMenu/GridColumnHeaderMenu';
|
|
15
14
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
16
15
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
@@ -40,7 +39,7 @@ const useUtilityClasses = ownerState => {
|
|
|
40
39
|
};
|
|
41
40
|
|
|
42
41
|
function GridColumnHeaderItem(props) {
|
|
43
|
-
var _apiRef$current$getRo, _column$sortingOrder, _column$headerName, _rootProps$
|
|
42
|
+
var _apiRef$current$getRo, _column$sortingOrder, _rootProps$components, _column$headerName, _rootProps$components2;
|
|
44
43
|
|
|
45
44
|
const {
|
|
46
45
|
column,
|
|
@@ -144,9 +143,10 @@ function GridColumnHeaderItem(props) {
|
|
|
144
143
|
const sortingOrder = (_column$sortingOrder = column.sortingOrder) != null ? _column$sortingOrder : rootProps.sortingOrder;
|
|
145
144
|
|
|
146
145
|
const columnTitleIconButtons = /*#__PURE__*/_jsxs(React.Fragment, {
|
|
147
|
-
children: [!rootProps.disableColumnFilter && /*#__PURE__*/_jsx(
|
|
146
|
+
children: [!rootProps.disableColumnFilter && /*#__PURE__*/_jsx(rootProps.components.ColumnHeaderFilterIconButton, _extends({
|
|
147
|
+
field: column.field,
|
|
148
148
|
counter: filterItemsCounter
|
|
149
|
-
}), column.sortable && !column.hideSortIcons && /*#__PURE__*/_jsx(GridColumnHeaderSortIcon, {
|
|
149
|
+
}, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.columnHeaderFilterIconButton)), column.sortable && !column.hideSortIcons && /*#__PURE__*/_jsx(GridColumnHeaderSortIcon, {
|
|
150
150
|
direction: sortDirection,
|
|
151
151
|
index: sortIndex,
|
|
152
152
|
sortingOrder: sortingOrder
|
|
@@ -212,7 +212,7 @@ function GridColumnHeaderItem(props) {
|
|
|
212
212
|
open: columnMenuOpen,
|
|
213
213
|
target: iconButtonRef.current,
|
|
214
214
|
ContentComponent: rootProps.components.ColumnMenu,
|
|
215
|
-
contentComponentProps: (_rootProps$
|
|
215
|
+
contentComponentProps: (_rootProps$components2 = rootProps.componentsProps) == null ? void 0 : _rootProps$components2.columnMenu,
|
|
216
216
|
onExited: handleExited
|
|
217
217
|
})]
|
|
218
218
|
}));
|
|
@@ -125,7 +125,7 @@ process.env.NODE_ENV !== "production" ? GridCellCheckboxForwardRef.propTypes = {
|
|
|
125
125
|
* Get the cell value of a row and field.
|
|
126
126
|
* @param {GridRowId} id The row id.
|
|
127
127
|
* @param {string} field The field.
|
|
128
|
-
* @returns {
|
|
128
|
+
* @returns {any} The cell value.
|
|
129
129
|
* @deprecated Use `params.row` to directly access the fields you want instead.
|
|
130
130
|
*/
|
|
131
131
|
getValue: PropTypes.func.isRequired,
|
|
@@ -148,7 +148,7 @@ process.env.NODE_ENV !== "production" ? GridCellCheckboxForwardRef.propTypes = {
|
|
|
148
148
|
/**
|
|
149
149
|
* The row model of the row that the current cell belongs to.
|
|
150
150
|
*/
|
|
151
|
-
row: PropTypes.
|
|
151
|
+
row: PropTypes.object.isRequired,
|
|
152
152
|
|
|
153
153
|
/**
|
|
154
154
|
* The node of the row that the current cell belongs to.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { GridColumnHeaderParams } from '../../models/params/gridColumnHeaderParams';
|
|
3
|
-
declare const GridHeaderCheckbox: React.ForwardRefExoticComponent<GridColumnHeaderParams & React.RefAttributes<HTMLInputElement>>;
|
|
3
|
+
declare const GridHeaderCheckbox: React.ForwardRefExoticComponent<GridColumnHeaderParams<any, import("../../models/gridRows").GridValidRowModel, any> & React.RefAttributes<HTMLInputElement>>;
|
|
4
4
|
export { GridHeaderCheckbox };
|
|
@@ -4,8 +4,7 @@ const _excluded = ["children", "className"];
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
|
-
import { useForkRef } from '@mui/material/utils';
|
|
8
|
-
import NoSsr from '@mui/material/NoSsr';
|
|
7
|
+
import { useForkRef, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/material/utils';
|
|
9
8
|
import { GridRootStyles } from './GridRootStyles';
|
|
10
9
|
import { gridVisibleColumnDefinitionsSelector } from '../../hooks/features/columns/gridColumnsSelector';
|
|
11
10
|
import { useGridSelector } from '../../hooks/utils/useGridSelector';
|
|
@@ -30,21 +29,34 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
|
|
|
30
29
|
const totalRowCount = useGridSelector(apiRef, gridRowCountSelector);
|
|
31
30
|
const rootContainerRef = React.useRef(null);
|
|
32
31
|
const handleRef = useForkRef(rootContainerRef, ref);
|
|
33
|
-
apiRef.current.rootElementRef = rootContainerRef;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
32
|
+
apiRef.current.rootElementRef = rootContainerRef; // Our implementation of <NoSsr />
|
|
33
|
+
|
|
34
|
+
const [mountedState, setMountedState] = React.useState(false);
|
|
35
|
+
useEnhancedEffect(() => {
|
|
36
|
+
setMountedState(true);
|
|
37
|
+
}, []);
|
|
38
|
+
useEnhancedEffect(() => {
|
|
39
|
+
if (mountedState) {
|
|
40
|
+
apiRef.current.unstable_updateGridDimensionsRef();
|
|
41
|
+
}
|
|
42
|
+
}, [apiRef, mountedState]);
|
|
43
|
+
|
|
44
|
+
if (!mountedState) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return /*#__PURE__*/_jsx(GridRootStyles, _extends({
|
|
49
|
+
ref: handleRef,
|
|
50
|
+
className: clsx(className, (_rootProps$classes = rootProps.classes) == null ? void 0 : _rootProps$classes.root, gridClasses.root, rootProps.autoHeight && gridClasses.autoHeight),
|
|
51
|
+
role: "grid",
|
|
52
|
+
"aria-colcount": visibleColumns.length,
|
|
53
|
+
"aria-rowcount": totalRowCount,
|
|
54
|
+
"aria-multiselectable": !rootProps.disableMultipleSelection,
|
|
55
|
+
"aria-label": rootProps['aria-label'],
|
|
56
|
+
"aria-labelledby": rootProps['aria-labelledby']
|
|
57
|
+
}, other, {
|
|
58
|
+
children: children
|
|
59
|
+
}));
|
|
48
60
|
});
|
|
49
61
|
process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {
|
|
50
62
|
// ----------------------------- Warning --------------------------------
|
|
@@ -30,7 +30,7 @@ const GridColumnMenu = /*#__PURE__*/React.forwardRef(function GridColumnMenu(pro
|
|
|
30
30
|
onClick: hideMenu,
|
|
31
31
|
column: currentColumn
|
|
32
32
|
})];
|
|
33
|
-
const preProcessedButtons = apiRef.current.
|
|
33
|
+
const preProcessedButtons = apiRef.current.unstable_applyPipeProcessors('columnMenu', defaultButtons, currentColumn);
|
|
34
34
|
return /*#__PURE__*/_jsx(GridColumnMenuContainer, _extends({
|
|
35
35
|
ref: ref
|
|
36
36
|
}, props, {
|