@mui/x-data-grid 5.11.1 → 5.12.2
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 +199 -20
- package/DataGrid/DataGrid.js +26 -1
- package/README.md +2 -2
- package/colDef/gridCheckboxSelectionColDef.d.ts +1 -0
- package/colDef/gridCheckboxSelectionColDef.js +2 -1
- package/colDef/gridDateOperators.d.ts +1 -1
- package/colDef/gridNumericColDef.js +1 -1
- package/components/GridRow.d.ts +1 -1
- package/components/GridRow.js +51 -12
- package/components/cell/GridActionsCellItem.d.ts +1 -1
- package/components/cell/GridCell.d.ts +2 -1
- package/components/cell/GridCell.js +12 -7
- package/components/columnHeaders/GridColumnHeaderItem.js +9 -6
- package/components/columnSelection/GridCellCheckboxRenderer.js +0 -1
- package/components/columnSelection/GridHeaderCheckbox.js +0 -1
- package/components/containers/GridRootStyles.js +8 -3
- package/components/menu/GridMenu.js +9 -2
- package/components/panel/GridColumnsPanel.js +12 -7
- package/components/panel/GridPanelWrapper.d.ts +1 -1
- package/components/panel/GridPanelWrapper.js +3 -3
- package/components/panel/filterPanel/GridFilterForm.d.ts +61 -4
- package/components/panel/filterPanel/GridFilterForm.js +88 -8
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -1
- package/components/panel/filterPanel/GridFilterPanel.d.ts +8 -5
- package/components/panel/filterPanel/GridFilterPanel.js +26 -11
- package/components/toolbar/GridToolbarColumnsButton.js +0 -1
- package/components/toolbar/GridToolbarDensitySelector.js +0 -1
- package/components/toolbar/GridToolbarExportContainer.js +0 -1
- package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
- package/components/toolbar/GridToolbarFilterButton.js +0 -1
- package/components/toolbar/GridToolbarQuickFilter.d.ts +7 -0
- package/components/toolbar/GridToolbarQuickFilter.js +57 -4
- package/constants/defaultGridSlotsComponents.js +2 -1
- package/constants/gridClasses.d.ts +4 -0
- package/constants/gridClasses.js +1 -1
- package/constants/localeTextConstants.js +1 -0
- package/hooks/core/useGridStateInitialization.js +19 -6
- package/hooks/features/columnMenu/useGridColumnMenu.js +22 -0
- package/hooks/features/columns/gridColumnsInterfaces.d.ts +3 -0
- package/hooks/features/columns/useGridColumnSpanning.d.ts +1 -1
- package/hooks/features/columns/useGridColumnSpanning.js +1 -1
- package/hooks/features/columns/useGridColumns.d.ts +1 -1
- package/hooks/features/columns/useGridColumns.js +13 -15
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +5 -0
- package/hooks/features/dimensions/useGridDimensions.js +9 -8
- package/hooks/features/editRows/useGridCellEditing.new.js +11 -4
- package/hooks/features/editRows/useGridEditing.old.js +1 -1
- package/hooks/features/editRows/useGridRowEditing.new.js +10 -4
- package/hooks/features/events/useGridEvents.d.ts +1 -1
- package/hooks/features/events/useGridEvents.js +2 -0
- package/hooks/features/filter/gridFilterSelector.d.ts +5 -0
- package/hooks/features/filter/gridFilterSelector.js +6 -0
- package/hooks/features/filter/gridFilterState.d.ts +1 -1
- package/hooks/features/filter/gridFilterUtils.d.ts +10 -2
- package/hooks/features/filter/gridFilterUtils.js +3 -6
- package/hooks/features/filter/useGridFilter.d.ts +1 -1
- package/hooks/features/filter/useGridFilter.js +29 -12
- package/hooks/features/pagination/useGridPage.js +1 -1
- package/hooks/features/pagination/useGridPageSize.js +1 -1
- package/hooks/features/rows/useGridRowsMeta.d.ts +1 -1
- package/hooks/features/rows/useGridRowsMeta.js +133 -67
- package/hooks/features/selection/useGridSelection.js +1 -1
- package/hooks/features/selection/useGridSelectionPreProcessors.js +8 -6
- package/hooks/features/sorting/useGridSorting.d.ts +1 -1
- package/hooks/features/sorting/useGridSorting.js +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +2 -1
- package/hooks/features/virtualization/useGridVirtualScroller.js +65 -11
- package/index.js +1 -1
- package/internals/index.d.ts +1 -0
- package/legacy/DataGrid/DataGrid.js +26 -1
- package/legacy/colDef/gridCheckboxSelectionColDef.js +2 -1
- package/legacy/colDef/gridNumericColDef.js +1 -1
- package/legacy/components/GridRow.js +56 -12
- package/legacy/components/cell/GridCell.js +12 -7
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +11 -6
- package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -1
- package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -1
- package/legacy/components/containers/GridRootStyles.js +10 -7
- package/legacy/components/menu/GridMenu.js +9 -2
- package/legacy/components/panel/GridColumnsPanel.js +14 -7
- package/legacy/components/panel/GridPanelWrapper.js +3 -3
- package/legacy/components/panel/filterPanel/GridFilterForm.js +89 -8
- package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -1
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +28 -12
- package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -1
- package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -1
- package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -1
- package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -1
- package/legacy/components/toolbar/GridToolbarQuickFilter.js +67 -6
- package/legacy/constants/defaultGridSlotsComponents.js +2 -1
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/constants/localeTextConstants.js +1 -0
- package/legacy/hooks/core/useGridStateInitialization.js +18 -6
- package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +22 -0
- package/legacy/hooks/features/columns/useGridColumnSpanning.js +1 -1
- package/legacy/hooks/features/columns/useGridColumns.js +13 -15
- package/legacy/hooks/features/dimensions/useGridDimensions.js +9 -8
- package/legacy/hooks/features/editRows/useGridCellEditing.new.js +14 -7
- package/legacy/hooks/features/editRows/useGridEditing.old.js +1 -1
- package/legacy/hooks/features/editRows/useGridRowEditing.new.js +10 -4
- package/legacy/hooks/features/events/useGridEvents.js +2 -0
- package/legacy/hooks/features/filter/gridFilterSelector.js +8 -0
- package/legacy/hooks/features/filter/gridFilterUtils.js +4 -7
- package/legacy/hooks/features/filter/useGridFilter.js +33 -12
- package/legacy/hooks/features/pagination/useGridPage.js +1 -1
- package/legacy/hooks/features/pagination/useGridPageSize.js +1 -1
- package/legacy/hooks/features/rows/useGridRowsMeta.js +133 -66
- package/legacy/hooks/features/selection/useGridSelection.js +1 -1
- package/legacy/hooks/features/selection/useGridSelectionPreProcessors.js +8 -6
- package/legacy/hooks/features/sorting/useGridSorting.js +1 -1
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +84 -26
- package/legacy/index.js +1 -1
- package/legacy/locales/arSD.js +1 -0
- package/legacy/locales/bgBG.js +1 -0
- package/legacy/locales/csCZ.js +1 -0
- package/legacy/locales/daDK.js +1 -0
- package/legacy/locales/deDE.js +1 -0
- package/legacy/locales/elGR.js +1 -0
- package/legacy/locales/esES.js +1 -0
- package/legacy/locales/faIR.js +1 -0
- package/legacy/locales/fiFI.js +1 -0
- package/legacy/locales/frFR.js +1 -0
- package/legacy/locales/heIL.js +10 -9
- package/legacy/locales/huHU.js +1 -0
- package/legacy/locales/itIT.js +1 -0
- package/legacy/locales/jaJP.js +29 -24
- package/legacy/locales/koKR.js +1 -0
- package/legacy/locales/nbNO.js +128 -0
- package/legacy/locales/nlNL.js +1 -0
- package/legacy/locales/plPL.js +1 -0
- package/legacy/locales/ptBR.js +1 -0
- package/legacy/locales/ruRU.js +7 -6
- package/legacy/locales/skSK.js +1 -0
- package/legacy/locales/trTR.js +8 -7
- package/legacy/locales/ukUA.js +1 -0
- package/legacy/locales/viVN.js +1 -0
- package/legacy/locales/zhCN.js +1 -0
- package/legacy/models/events/gridEvents.js +2 -0
- package/legacy/models/gridApiCaches.js +1 -0
- package/legacy/models/params/gridMenuParams.js +1 -0
- package/legacy/models/params/index.js +2 -1
- package/locales/arSD.js +1 -0
- package/locales/bgBG.js +1 -0
- package/locales/csCZ.js +1 -0
- package/locales/daDK.js +1 -0
- package/locales/deDE.js +1 -0
- package/locales/elGR.js +1 -0
- package/locales/esES.js +1 -0
- package/locales/faIR.js +1 -0
- package/locales/fiFI.js +1 -0
- package/locales/frFR.js +1 -0
- package/locales/heIL.js +10 -9
- package/locales/huHU.js +1 -0
- package/locales/itIT.js +1 -0
- package/locales/jaJP.js +25 -24
- package/locales/koKR.js +1 -0
- package/locales/nbNO.d.ts +2 -0
- package/locales/nbNO.js +116 -0
- package/locales/nlNL.js +1 -0
- package/locales/plPL.js +1 -0
- package/locales/ptBR.js +1 -0
- package/locales/ruRU.js +7 -6
- package/locales/skSK.js +1 -0
- package/locales/trTR.js +8 -7
- package/locales/ukUA.js +1 -0
- package/locales/viVN.js +1 -0
- package/locales/zhCN.js +1 -0
- package/models/api/gridCallbackDetails.d.ts +6 -1
- package/models/api/gridCoreApi.d.ts +2 -6
- package/models/api/gridFilterApi.d.ts +8 -1
- package/models/api/gridLocaleTextApi.d.ts +1 -0
- package/models/api/gridRowsMetaApi.d.ts +24 -0
- package/models/api/gridStateApi.d.ts +14 -3
- package/models/colDef/gridColDef.d.ts +4 -4
- package/models/events/gridEventLookup.d.ts +16 -1
- package/models/events/gridEvents.d.ts +3 -1
- package/models/events/gridEvents.js +2 -0
- package/models/gridApiCaches.d.ts +6 -0
- package/models/gridApiCaches.js +1 -0
- package/models/gridIconSlotsComponent.d.ts +5 -0
- package/models/params/gridMenuParams.d.ts +7 -0
- package/models/params/gridMenuParams.js +1 -0
- package/models/params/gridRowParams.d.ts +1 -1
- package/models/params/index.d.ts +1 -0
- package/models/params/index.js +2 -1
- package/models/props/DataGridProps.d.ts +24 -2
- package/modern/DataGrid/DataGrid.js +26 -1
- package/modern/colDef/gridCheckboxSelectionColDef.js +2 -1
- package/modern/colDef/gridNumericColDef.js +1 -1
- package/modern/components/GridRow.js +51 -12
- package/modern/components/cell/GridCell.js +12 -7
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +9 -6
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +0 -1
- package/modern/components/columnSelection/GridHeaderCheckbox.js +0 -1
- package/modern/components/containers/GridRootStyles.js +8 -3
- package/modern/components/menu/GridMenu.js +9 -2
- package/modern/components/panel/GridColumnsPanel.js +12 -7
- package/modern/components/panel/GridPanelWrapper.js +3 -3
- package/modern/components/panel/filterPanel/GridFilterForm.js +88 -8
- package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -1
- package/modern/components/panel/filterPanel/GridFilterPanel.js +26 -11
- package/modern/components/toolbar/GridToolbarColumnsButton.js +0 -1
- package/modern/components/toolbar/GridToolbarDensitySelector.js +0 -1
- package/modern/components/toolbar/GridToolbarExportContainer.js +0 -1
- package/modern/components/toolbar/GridToolbarFilterButton.js +0 -1
- package/modern/components/toolbar/GridToolbarQuickFilter.js +57 -4
- package/modern/constants/defaultGridSlotsComponents.js +2 -1
- package/modern/constants/gridClasses.js +1 -1
- package/modern/constants/localeTextConstants.js +1 -0
- package/modern/hooks/core/useGridStateInitialization.js +19 -6
- package/modern/hooks/features/columnMenu/useGridColumnMenu.js +22 -0
- package/modern/hooks/features/columns/useGridColumnSpanning.js +1 -1
- package/modern/hooks/features/columns/useGridColumns.js +12 -14
- package/modern/hooks/features/dimensions/useGridDimensions.js +9 -8
- package/modern/hooks/features/editRows/useGridCellEditing.new.js +10 -3
- package/modern/hooks/features/editRows/useGridEditing.old.js +1 -1
- package/modern/hooks/features/editRows/useGridRowEditing.new.js +9 -3
- package/modern/hooks/features/events/useGridEvents.js +2 -0
- package/modern/hooks/features/filter/gridFilterSelector.js +6 -0
- package/modern/hooks/features/filter/gridFilterUtils.js +3 -6
- package/modern/hooks/features/filter/useGridFilter.js +29 -12
- package/modern/hooks/features/pagination/useGridPage.js +1 -1
- package/modern/hooks/features/pagination/useGridPageSize.js +1 -1
- package/modern/hooks/features/rows/useGridRowsMeta.js +129 -59
- package/modern/hooks/features/selection/useGridSelection.js +1 -1
- package/modern/hooks/features/selection/useGridSelectionPreProcessors.js +8 -6
- package/modern/hooks/features/sorting/useGridSorting.js +1 -1
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +65 -11
- package/modern/index.js +1 -1
- package/modern/locales/arSD.js +1 -0
- package/modern/locales/bgBG.js +1 -0
- package/modern/locales/csCZ.js +1 -0
- package/modern/locales/daDK.js +1 -0
- package/modern/locales/deDE.js +1 -0
- package/modern/locales/elGR.js +1 -0
- package/modern/locales/esES.js +1 -0
- package/modern/locales/faIR.js +1 -0
- package/modern/locales/fiFI.js +1 -0
- package/modern/locales/frFR.js +1 -0
- package/modern/locales/heIL.js +10 -9
- package/modern/locales/huHU.js +1 -0
- package/modern/locales/itIT.js +1 -0
- package/modern/locales/jaJP.js +25 -24
- package/modern/locales/koKR.js +1 -0
- package/modern/locales/nbNO.js +116 -0
- package/modern/locales/nlNL.js +1 -0
- package/modern/locales/plPL.js +1 -0
- package/modern/locales/ptBR.js +1 -0
- package/modern/locales/ruRU.js +7 -6
- package/modern/locales/skSK.js +1 -0
- package/modern/locales/trTR.js +8 -7
- package/modern/locales/ukUA.js +1 -0
- package/modern/locales/viVN.js +1 -0
- package/modern/locales/zhCN.js +1 -0
- package/modern/models/events/gridEvents.js +2 -0
- package/modern/models/gridApiCaches.js +1 -0
- package/modern/models/params/gridMenuParams.js +1 -0
- package/modern/models/params/index.js +2 -1
- package/node/DataGrid/DataGrid.js +26 -1
- package/node/colDef/gridCheckboxSelectionColDef.js +4 -2
- package/node/colDef/gridNumericColDef.js +1 -1
- package/node/components/GridRow.js +53 -12
- package/node/components/cell/GridCell.js +12 -7
- package/node/components/columnHeaders/GridColumnHeaderItem.js +9 -6
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +0 -1
- package/node/components/columnSelection/GridHeaderCheckbox.js +0 -1
- package/node/components/containers/GridRootStyles.js +8 -3
- package/node/components/menu/GridMenu.js +10 -2
- package/node/components/panel/GridColumnsPanel.js +12 -7
- package/node/components/panel/GridPanelWrapper.js +5 -3
- package/node/components/panel/filterPanel/GridFilterForm.js +91 -9
- package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -1
- package/node/components/panel/filterPanel/GridFilterPanel.js +28 -11
- package/node/components/toolbar/GridToolbarColumnsButton.js +0 -1
- package/node/components/toolbar/GridToolbarDensitySelector.js +0 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +0 -1
- package/node/components/toolbar/GridToolbarFilterButton.js +0 -1
- package/node/components/toolbar/GridToolbarQuickFilter.js +61 -4
- package/node/constants/defaultGridSlotsComponents.js +2 -1
- package/node/constants/gridClasses.js +1 -1
- package/node/constants/localeTextConstants.js +1 -0
- package/node/hooks/core/useGridStateInitialization.js +19 -6
- package/node/hooks/features/columnMenu/useGridColumnMenu.js +23 -0
- package/node/hooks/features/columns/useGridColumnSpanning.js +11 -16
- package/node/hooks/features/columns/useGridColumns.js +13 -15
- package/node/hooks/features/dimensions/useGridDimensions.js +9 -8
- package/node/hooks/features/editRows/useGridCellEditing.new.js +11 -4
- package/node/hooks/features/editRows/useGridEditing.old.js +1 -1
- package/node/hooks/features/editRows/useGridRowEditing.new.js +10 -4
- package/node/hooks/features/events/useGridEvents.js +2 -0
- package/node/hooks/features/filter/gridFilterSelector.js +9 -2
- package/node/hooks/features/filter/gridFilterUtils.js +4 -5
- package/node/hooks/features/filter/useGridFilter.js +28 -11
- package/node/hooks/features/pagination/useGridPage.js +1 -1
- package/node/hooks/features/pagination/useGridPageSize.js +1 -1
- package/node/hooks/features/rows/useGridRowsMeta.js +136 -69
- package/node/hooks/features/selection/useGridSelection.js +1 -1
- package/node/hooks/features/selection/useGridSelectionPreProcessors.js +7 -5
- package/node/hooks/features/sorting/useGridSorting.js +1 -1
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +65 -12
- package/node/index.js +1 -1
- package/node/locales/arSD.js +1 -0
- package/node/locales/bgBG.js +1 -0
- package/node/locales/csCZ.js +1 -0
- package/node/locales/daDK.js +1 -0
- package/node/locales/deDE.js +1 -0
- package/node/locales/elGR.js +1 -0
- package/node/locales/esES.js +1 -0
- package/node/locales/faIR.js +1 -0
- package/node/locales/fiFI.js +1 -0
- package/node/locales/frFR.js +1 -0
- package/node/locales/heIL.js +10 -9
- package/node/locales/huHU.js +1 -0
- package/node/locales/itIT.js +1 -0
- package/node/locales/jaJP.js +25 -24
- package/node/locales/koKR.js +1 -0
- package/node/locales/nbNO.js +126 -0
- package/node/locales/nlNL.js +1 -0
- package/node/locales/plPL.js +1 -0
- package/node/locales/ptBR.js +1 -0
- package/node/locales/ruRU.js +7 -6
- package/node/locales/skSK.js +1 -0
- package/node/locales/trTR.js +8 -7
- package/node/locales/ukUA.js +1 -0
- package/node/locales/viVN.js +1 -0
- package/node/locales/zhCN.js +1 -0
- package/node/models/events/gridEvents.js +2 -0
- package/node/models/gridApiCaches.js +5 -0
- package/node/models/params/gridMenuParams.js +5 -0
- package/node/models/params/index.js +13 -0
- package/package.json +6 -5
|
@@ -14,6 +14,9 @@ export var columnsStateInitializer = function columnsStateInitializer(state, pro
|
|
|
14
14
|
var _props$initialState, _props$initialState$c, _props$initialState2, _ref, _props$columnVisibili, _props$initialState3, _props$initialState3$;
|
|
15
15
|
|
|
16
16
|
var isUsingColumnVisibilityModel = !!props.columnVisibilityModel || !!((_props$initialState = props.initialState) != null && (_props$initialState$c = _props$initialState.columns) != null && _props$initialState$c.columnVisibilityModel);
|
|
17
|
+
apiRef.current.unstable_caches.columns = {
|
|
18
|
+
isUsingColumnVisibilityModel: isUsingColumnVisibilityModel
|
|
19
|
+
};
|
|
17
20
|
var columnsTypes = computeColumnTypes(props.columnTypes);
|
|
18
21
|
var columnsState = createColumnsState({
|
|
19
22
|
apiRef: apiRef,
|
|
@@ -35,7 +38,7 @@ export var columnsStateInitializer = function columnsStateInitializer(state, pro
|
|
|
35
38
|
*/
|
|
36
39
|
|
|
37
40
|
export function useGridColumns(apiRef, props) {
|
|
38
|
-
var _props$
|
|
41
|
+
var _props$componentsProp2;
|
|
39
42
|
|
|
40
43
|
var logger = useGridLogger(apiRef, 'useGridColumns');
|
|
41
44
|
var columnTypes = React.useMemo(function () {
|
|
@@ -43,13 +46,7 @@ export function useGridColumns(apiRef, props) {
|
|
|
43
46
|
}, [props.columnTypes]);
|
|
44
47
|
var previousColumnsProp = React.useRef(props.columns);
|
|
45
48
|
var previousColumnTypesProp = React.useRef(columnTypes);
|
|
46
|
-
|
|
47
|
-
* If `initialState.columns.columnVisibilityModel` or `columnVisibilityModel` was defined during the 1st render, we are directly updating the model
|
|
48
|
-
* If not, we keep the old behavior and update the `GridColDef.hide` option (which will update the state model through the `GridColDef.hide` => `columnVisibilityModel` sync in `createColumnsState`
|
|
49
|
-
*/
|
|
50
|
-
|
|
51
|
-
var isUsingColumnVisibilityModel = React.useRef(!!props.columnVisibilityModel || !!((_props$initialState4 = props.initialState) != null && (_props$initialState4$ = _props$initialState4.columns) != null && _props$initialState4$.columnVisibilityModel));
|
|
52
|
-
apiRef.current.unstable_updateControlState({
|
|
49
|
+
apiRef.current.unstable_registerControlState({
|
|
53
50
|
stateId: 'visibleColumns',
|
|
54
51
|
propModel: props.columnVisibilityModel,
|
|
55
52
|
propOnChange: props.onColumnVisibilityModelChange,
|
|
@@ -127,7 +124,7 @@ export function useGridColumns(apiRef, props) {
|
|
|
127
124
|
// We keep updating the `hide` option of `GridColDef` when not controlling the model to avoid any breaking change.
|
|
128
125
|
// `updateColumns` take care of updating the model itself if needs be.
|
|
129
126
|
// TODO v6: stop using the `hide` field even when the model is not defined
|
|
130
|
-
if (
|
|
127
|
+
if (apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel) {
|
|
131
128
|
var _columnVisibilityMode;
|
|
132
129
|
|
|
133
130
|
var columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
|
|
@@ -168,7 +165,8 @@ export function useGridColumns(apiRef, props) {
|
|
|
168
165
|
|
|
169
166
|
var updatedColumns = _toConsumableArray(allColumns);
|
|
170
167
|
|
|
171
|
-
|
|
168
|
+
var fieldRemoved = updatedColumns.splice(oldIndexPosition, 1)[0];
|
|
169
|
+
updatedColumns.splice(targetIndexPosition, 0, fieldRemoved);
|
|
172
170
|
setGridColumnsState(_extends({}, gridColumnsSelector(apiRef.current.state), {
|
|
173
171
|
all: updatedColumns
|
|
174
172
|
}));
|
|
@@ -218,7 +216,7 @@ export function useGridColumns(apiRef, props) {
|
|
|
218
216
|
var stateExportPreProcessing = React.useCallback(function (prevState) {
|
|
219
217
|
var columnsStateToExport = {};
|
|
220
218
|
|
|
221
|
-
if (
|
|
219
|
+
if (apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel) {
|
|
222
220
|
var columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);
|
|
223
221
|
var hasHiddenColumns = Object.values(columnVisibilityModelToExport).some(function (value) {
|
|
224
222
|
return value === false;
|
|
@@ -259,7 +257,7 @@ export function useGridColumns(apiRef, props) {
|
|
|
259
257
|
var stateRestorePreProcessing = React.useCallback(function (params, context) {
|
|
260
258
|
var _context$stateToResto;
|
|
261
259
|
|
|
262
|
-
var columnVisibilityModelToImport =
|
|
260
|
+
var columnVisibilityModelToImport = apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel ? (_context$stateToResto = context.stateToRestore.columns) == null ? void 0 : _context$stateToResto.columnVisibilityModel : undefined;
|
|
263
261
|
var initialState = context.stateToRestore.columns;
|
|
264
262
|
|
|
265
263
|
if (columnVisibilityModelToImport == null && initialState == null) {
|
|
@@ -271,7 +269,7 @@ export function useGridColumns(apiRef, props) {
|
|
|
271
269
|
columnTypes: columnTypes,
|
|
272
270
|
columnsToUpsert: [],
|
|
273
271
|
initialState: initialState,
|
|
274
|
-
shouldRegenColumnVisibilityModelFromColumns: !
|
|
272
|
+
shouldRegenColumnVisibilityModelFromColumns: !apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel,
|
|
275
273
|
currentColumnVisibilityModel: columnVisibilityModelToImport,
|
|
276
274
|
keepOnlyColumnsToUpsert: false
|
|
277
275
|
});
|
|
@@ -322,7 +320,7 @@ export function useGridColumns(apiRef, props) {
|
|
|
322
320
|
columnTypes: columnTypes,
|
|
323
321
|
columnsToUpsert: [],
|
|
324
322
|
initialState: undefined,
|
|
325
|
-
shouldRegenColumnVisibilityModelFromColumns: !
|
|
323
|
+
shouldRegenColumnVisibilityModelFromColumns: !apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel,
|
|
326
324
|
keepOnlyColumnsToUpsert: false
|
|
327
325
|
});
|
|
328
326
|
setGridColumnsState(columnsState);
|
|
@@ -352,7 +350,7 @@ export function useGridColumns(apiRef, props) {
|
|
|
352
350
|
columnTypes: columnTypes,
|
|
353
351
|
initialState: undefined,
|
|
354
352
|
// If the user provides a model, we don't want to set it in the state here because it has it's dedicated `useEffect` which calls `setColumnVisibilityModel`
|
|
355
|
-
shouldRegenColumnVisibilityModelFromColumns: !
|
|
353
|
+
shouldRegenColumnVisibilityModelFromColumns: !apiRef.current.unstable_caches.columns.isUsingColumnVisibilityModel,
|
|
356
354
|
columnsToUpsert: props.columns,
|
|
357
355
|
keepOnlyColumnsToUpsert: true
|
|
358
356
|
});
|
|
@@ -36,7 +36,7 @@ var hasScroll = function hasScroll(_ref) {
|
|
|
36
36
|
|
|
37
37
|
export function useGridDimensions(apiRef, props) {
|
|
38
38
|
var logger = useGridLogger(apiRef, 'useResizeContainer');
|
|
39
|
-
var
|
|
39
|
+
var errorShown = React.useRef(false);
|
|
40
40
|
var rootDimensionsRef = React.useRef(null);
|
|
41
41
|
var fullDimensionsRef = React.useRef(null);
|
|
42
42
|
var rowsMeta = useGridSelector(apiRef, gridRowsMetaSelector);
|
|
@@ -94,7 +94,8 @@ export function useGridDimensions(apiRef, props) {
|
|
|
94
94
|
viewportOuterSize: viewportOuterSize,
|
|
95
95
|
viewportInnerSize: viewportInnerSize,
|
|
96
96
|
hasScrollX: hasScrollX,
|
|
97
|
-
hasScrollY: hasScrollY
|
|
97
|
+
hasScrollY: hasScrollY,
|
|
98
|
+
scrollBarSize: scrollBarSize
|
|
98
99
|
};
|
|
99
100
|
var prevDimensions = fullDimensionsRef.current;
|
|
100
101
|
fullDimensionsRef.current = newFullDimensions;
|
|
@@ -148,14 +149,14 @@ export function useGridDimensions(apiRef, props) {
|
|
|
148
149
|
|
|
149
150
|
var isJSDOM = /jsdom/.test(window.navigator.userAgent);
|
|
150
151
|
|
|
151
|
-
if (size.height === 0 && !
|
|
152
|
-
logger.
|
|
153
|
-
|
|
152
|
+
if (size.height === 0 && !errorShown.current && !props.autoHeight && !isJSDOM) {
|
|
153
|
+
logger.error(['The parent DOM element of the data grid has an empty height.', 'Please make sure that this element has an intrinsic height.', 'The grid displays with a height of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\n'));
|
|
154
|
+
errorShown.current = true;
|
|
154
155
|
}
|
|
155
156
|
|
|
156
|
-
if (size.width === 0 && !
|
|
157
|
-
logger.
|
|
158
|
-
|
|
157
|
+
if (size.width === 0 && !errorShown.current && !isJSDOM) {
|
|
158
|
+
logger.error(['The parent DOM element of the data grid has an empty width.', 'Please make sure that this element has an intrinsic width.', 'The grid displays with a width of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\n'));
|
|
159
|
+
errorShown.current = true;
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
if (isTestEnvironment) {
|
|
@@ -301,17 +301,22 @@ export var useGridCellEditing = function useGridCellEditing(apiRef, props) {
|
|
|
301
301
|
_editingState$id$fiel = editingState[id][field], error = _editingState$id$fiel.error, isProcessingProps = _editingState$id$fiel.isProcessingProps;
|
|
302
302
|
|
|
303
303
|
if (!(error || isProcessingProps)) {
|
|
304
|
-
_context.next =
|
|
304
|
+
_context.next = 12;
|
|
305
305
|
break;
|
|
306
306
|
}
|
|
307
307
|
|
|
308
|
+
// Attempt to change cell mode to "view" was not successful
|
|
309
|
+
// Update previous mode to allow another attempt
|
|
310
|
+
prevCellModesModel.current[id][field].mode = GridCellModes.Edit;
|
|
308
311
|
return _context.abrupt("return");
|
|
309
312
|
|
|
310
|
-
case
|
|
313
|
+
case 12:
|
|
311
314
|
rowUpdate = apiRef.current.unstable_getRowWithUpdatedValuesFromCellEditing(id, field);
|
|
312
315
|
|
|
313
316
|
if (processRowUpdate) {
|
|
314
317
|
handleError = function handleError(errorThrown) {
|
|
318
|
+
prevCellModesModel.current[id][field].mode = GridCellModes.Edit;
|
|
319
|
+
|
|
315
320
|
if (onProcessRowUpdateError) {
|
|
316
321
|
onProcessRowUpdateError(errorThrown);
|
|
317
322
|
} else {
|
|
@@ -333,7 +338,7 @@ export var useGridCellEditing = function useGridCellEditing(apiRef, props) {
|
|
|
333
338
|
finishCellEditMode();
|
|
334
339
|
}
|
|
335
340
|
|
|
336
|
-
case
|
|
341
|
+
case 14:
|
|
337
342
|
case "end":
|
|
338
343
|
return _context.stop();
|
|
339
344
|
}
|
|
@@ -446,20 +451,23 @@ export var useGridCellEditing = function useGridCellEditing(apiRef, props) {
|
|
|
446
451
|
}
|
|
447
452
|
}, [cellModesModelProp, updateCellModesModel]);
|
|
448
453
|
React.useEffect(function () {
|
|
449
|
-
var idToIdLookup = gridRowsIdToIdLookupSelector(apiRef);
|
|
454
|
+
var idToIdLookup = gridRowsIdToIdLookupSelector(apiRef); // Update the ref here because updateStateToStopCellEditMode may change it later
|
|
455
|
+
|
|
456
|
+
var copyOfPrevCellModes = prevCellModesModel.current;
|
|
457
|
+
prevCellModesModel.current = cellModesModel;
|
|
450
458
|
Object.entries(cellModesModel).forEach(function (_ref3) {
|
|
451
459
|
var _ref4 = _slicedToArray(_ref3, 2),
|
|
452
460
|
id = _ref4[0],
|
|
453
461
|
fields = _ref4[1];
|
|
454
462
|
|
|
455
463
|
Object.entries(fields).forEach(function (_ref5) {
|
|
456
|
-
var
|
|
464
|
+
var _copyOfPrevCellModes$, _copyOfPrevCellModes$2, _idToIdLookup$id;
|
|
457
465
|
|
|
458
466
|
var _ref6 = _slicedToArray(_ref5, 2),
|
|
459
467
|
field = _ref6[0],
|
|
460
468
|
params = _ref6[1];
|
|
461
469
|
|
|
462
|
-
var prevMode = ((
|
|
470
|
+
var prevMode = ((_copyOfPrevCellModes$ = copyOfPrevCellModes[id]) == null ? void 0 : (_copyOfPrevCellModes$2 = _copyOfPrevCellModes$[field]) == null ? void 0 : _copyOfPrevCellModes$2.mode) || GridCellModes.View;
|
|
463
471
|
var originalId = (_idToIdLookup$id = idToIdLookup[id]) != null ? _idToIdLookup$id : id;
|
|
464
472
|
|
|
465
473
|
if (params.mode === GridCellModes.Edit && prevMode === GridCellModes.View) {
|
|
@@ -475,6 +483,5 @@ export var useGridCellEditing = function useGridCellEditing(apiRef, props) {
|
|
|
475
483
|
}
|
|
476
484
|
});
|
|
477
485
|
});
|
|
478
|
-
prevCellModesModel.current = cellModesModel;
|
|
479
486
|
}, [apiRef, cellModesModel, updateStateToStartCellEditMode, updateStateToStopCellEditMode]);
|
|
480
487
|
};
|
|
@@ -26,7 +26,7 @@ export function useGridEditing(apiRef, props) {
|
|
|
26
26
|
useCellEditing(apiRef, props);
|
|
27
27
|
useGridRowEditing(apiRef, props);
|
|
28
28
|
var debounceMap = React.useRef({});
|
|
29
|
-
apiRef.current.
|
|
29
|
+
apiRef.current.unstable_registerControlState({
|
|
30
30
|
stateId: 'editRows',
|
|
31
31
|
propModel: props.editRowsModel,
|
|
32
32
|
propOnChange: props.onEditRowsModelChange,
|
|
@@ -381,6 +381,7 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
381
381
|
});
|
|
382
382
|
|
|
383
383
|
if (isSomeFieldProcessingProps) {
|
|
384
|
+
prevRowModesModel.current[id].mode = GridRowModes.Edit;
|
|
384
385
|
return;
|
|
385
386
|
}
|
|
386
387
|
|
|
@@ -389,6 +390,7 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
389
390
|
});
|
|
390
391
|
|
|
391
392
|
if (hasSomeFieldWithError) {
|
|
393
|
+
prevRowModesModel.current[id].mode = GridRowModes.Edit;
|
|
392
394
|
return;
|
|
393
395
|
}
|
|
394
396
|
|
|
@@ -396,6 +398,8 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
396
398
|
|
|
397
399
|
if (processRowUpdate) {
|
|
398
400
|
var handleError = function handleError(errorThrown) {
|
|
401
|
+
prevRowModesModel.current[id].mode = GridRowModes.Edit;
|
|
402
|
+
|
|
399
403
|
if (onProcessRowUpdateError) {
|
|
400
404
|
onProcessRowUpdateError(errorThrown);
|
|
401
405
|
} else {
|
|
@@ -574,15 +578,18 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
574
578
|
}
|
|
575
579
|
}, [rowModesModelProp, updateRowModesModel]);
|
|
576
580
|
React.useEffect(function () {
|
|
577
|
-
var idToIdLookup = gridRowsIdToIdLookupSelector(apiRef);
|
|
581
|
+
var idToIdLookup = gridRowsIdToIdLookupSelector(apiRef); // Update the ref here because updateStateToStopRowEditMode may change it later
|
|
582
|
+
|
|
583
|
+
var copyOfPrevRowModesModel = prevRowModesModel.current;
|
|
584
|
+
prevRowModesModel.current = rowModesModel;
|
|
578
585
|
Object.entries(rowModesModel).forEach(function (_ref5) {
|
|
579
|
-
var
|
|
586
|
+
var _copyOfPrevRowModesMo, _idToIdLookup$id;
|
|
580
587
|
|
|
581
588
|
var _ref6 = _slicedToArray(_ref5, 2),
|
|
582
589
|
id = _ref6[0],
|
|
583
590
|
params = _ref6[1];
|
|
584
591
|
|
|
585
|
-
var prevMode = ((
|
|
592
|
+
var prevMode = ((_copyOfPrevRowModesMo = copyOfPrevRowModesModel[id]) == null ? void 0 : _copyOfPrevRowModesMo.mode) || GridRowModes.View;
|
|
586
593
|
var originalId = (_idToIdLookup$id = idToIdLookup[id]) != null ? _idToIdLookup$id : id;
|
|
587
594
|
|
|
588
595
|
if (params.mode === GridRowModes.Edit && prevMode === GridRowModes.View) {
|
|
@@ -595,6 +602,5 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
595
602
|
}, params));
|
|
596
603
|
}
|
|
597
604
|
});
|
|
598
|
-
prevRowModesModel.current = rowModesModel;
|
|
599
605
|
}, [apiRef, rowModesModel, updateStateToStartRowEditMode, updateStateToStopRowEditMode]);
|
|
600
606
|
};
|
|
@@ -18,6 +18,8 @@ export function useGridEvents(apiRef, props) {
|
|
|
18
18
|
useGridApiOptionHandler(apiRef, 'cellFocusOut', props.onCellFocusOut);
|
|
19
19
|
useGridApiOptionHandler(apiRef, 'preferencePanelClose', props.onPreferencePanelClose);
|
|
20
20
|
useGridApiOptionHandler(apiRef, 'preferencePanelOpen', props.onPreferencePanelOpen);
|
|
21
|
+
useGridApiOptionHandler(apiRef, 'menuOpen', props.onMenuOpen);
|
|
22
|
+
useGridApiOptionHandler(apiRef, 'menuClose', props.onMenuClose);
|
|
21
23
|
useGridApiOptionHandler(apiRef, 'rowDoubleClick', props.onRowDoubleClick);
|
|
22
24
|
useGridApiOptionHandler(apiRef, 'rowClick', props.onRowClick);
|
|
23
25
|
useGridApiOptionHandler(apiRef, 'componentError', props.onError);
|
|
@@ -17,6 +17,14 @@ export var gridFilterStateSelector = function gridFilterStateSelector(state) {
|
|
|
17
17
|
export var gridFilterModelSelector = createSelector(gridFilterStateSelector, function (filterState) {
|
|
18
18
|
return filterState.filterModel;
|
|
19
19
|
});
|
|
20
|
+
/**
|
|
21
|
+
* Get the current quick filter values.
|
|
22
|
+
* @category Filtering
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
export var gridQuickFilterValuesSelector = createSelector(gridFilterModelSelector, function (filterModel) {
|
|
26
|
+
return filterModel.quickFilterValues;
|
|
27
|
+
});
|
|
20
28
|
/**
|
|
21
29
|
* @category Filtering
|
|
22
30
|
* @ignore - do not document.
|
|
@@ -10,7 +10,7 @@ import { gridColumnFieldsSelector } from '../columns';
|
|
|
10
10
|
* @return {GridFilterItem} The clean filter item with an uniq ID and an always-defined operatorValue.
|
|
11
11
|
* TODO: Make the typing reflect the different between GridFilterInputItem and GridFilterItem.
|
|
12
12
|
*/
|
|
13
|
-
var cleanFilterItem = function cleanFilterItem(item, apiRef) {
|
|
13
|
+
export var cleanFilterItem = function cleanFilterItem(item, apiRef) {
|
|
14
14
|
var cleanItem = _extends({}, item);
|
|
15
15
|
|
|
16
16
|
if (cleanItem.id == null) {
|
|
@@ -25,7 +25,6 @@ var cleanFilterItem = function cleanFilterItem(item, apiRef) {
|
|
|
25
25
|
|
|
26
26
|
return cleanItem;
|
|
27
27
|
};
|
|
28
|
-
|
|
29
28
|
var filterModelDisableMultiColumnsFilteringWarning = buildWarning(['MUI: The `filterModel` can only contain a single item when the `disableMultipleColumnsFiltering` prop is set to `true`.', 'If you are using the community version of the `DataGrid`, this prop is always `true`.'], 'error');
|
|
30
29
|
var filterModelMissingItemIdWarning = buildWarning("MUI: The 'id' field is required on `filterModel.items` when you use multiple filters.", 'error');
|
|
31
30
|
var filterModelMissingItemOperatorWarning = buildWarning(['MUI: One of your filtering item have no `operatorValue` provided.', 'This property will become required on `@mui/x-data-grid@6.X`.']);
|
|
@@ -72,11 +71,9 @@ export var sanitizeFilterModel = function sanitizeFilterModel(model, disableMult
|
|
|
72
71
|
return model;
|
|
73
72
|
};
|
|
74
73
|
export var mergeStateWithFilterModel = function mergeStateWithFilterModel(filterModel, disableMultipleColumnsFiltering, apiRef) {
|
|
75
|
-
return function (
|
|
76
|
-
return _extends({},
|
|
77
|
-
|
|
78
|
-
filterModel: sanitizeFilterModel(filterModel, disableMultipleColumnsFiltering, apiRef)
|
|
79
|
-
})
|
|
74
|
+
return function (filteringState) {
|
|
75
|
+
return _extends({}, filteringState, {
|
|
76
|
+
filterModel: sanitizeFilterModel(filterModel, disableMultipleColumnsFiltering, apiRef)
|
|
80
77
|
});
|
|
81
78
|
};
|
|
82
79
|
};
|
|
@@ -13,7 +13,7 @@ import { useFirstRender } from '../../utils/useFirstRender';
|
|
|
13
13
|
import { gridRowIdsSelector } from '../rows';
|
|
14
14
|
import { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';
|
|
15
15
|
import { GRID_DEFAULT_STRATEGY, useGridRegisterStrategyProcessor } from '../../core/strategyProcessing';
|
|
16
|
-
import { buildAggregatedFilterApplier, sanitizeFilterModel, mergeStateWithFilterModel } from './gridFilterUtils';
|
|
16
|
+
import { buildAggregatedFilterApplier, sanitizeFilterModel, mergeStateWithFilterModel, cleanFilterItem } from './gridFilterUtils';
|
|
17
17
|
import { isDeepEqual } from '../../../utils/utils';
|
|
18
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
19
|
export var filterStateInitializer = function filterStateInitializer(state, props, apiRef) {
|
|
@@ -38,7 +38,7 @@ export var useGridFilter = function useGridFilter(apiRef, props) {
|
|
|
38
38
|
var _props$componentsProp2;
|
|
39
39
|
|
|
40
40
|
var logger = useGridLogger(apiRef, 'useGridFilter');
|
|
41
|
-
apiRef.current.
|
|
41
|
+
apiRef.current.unstable_registerControlState({
|
|
42
42
|
stateId: 'filter',
|
|
43
43
|
propModel: props.filterModel,
|
|
44
44
|
propOnChange: props.onFilterModelChange,
|
|
@@ -83,7 +83,27 @@ export var useGridFilter = function useGridFilter(apiRef, props) {
|
|
|
83
83
|
|
|
84
84
|
apiRef.current.setFilterModel(_extends({}, filterModel, {
|
|
85
85
|
items: items
|
|
86
|
-
}));
|
|
86
|
+
}), 'upsertFilterItem');
|
|
87
|
+
}, [apiRef]);
|
|
88
|
+
var upsertFilterItems = React.useCallback(function (items) {
|
|
89
|
+
var filterModel = gridFilterModelSelector(apiRef);
|
|
90
|
+
|
|
91
|
+
var existingItems = _toConsumableArray(filterModel.items);
|
|
92
|
+
|
|
93
|
+
items.forEach(function (item) {
|
|
94
|
+
var itemIndex = items.findIndex(function (filterItem) {
|
|
95
|
+
return filterItem.id === item.id;
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
if (itemIndex === -1) {
|
|
99
|
+
existingItems.push(item);
|
|
100
|
+
} else {
|
|
101
|
+
existingItems[itemIndex] = item;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
apiRef.current.setFilterModel(_extends({}, filterModel, {
|
|
105
|
+
items: items
|
|
106
|
+
}), 'upsertFilterItems');
|
|
87
107
|
}, [apiRef]);
|
|
88
108
|
var deleteFilterItem = React.useCallback(function (itemToDelete) {
|
|
89
109
|
var filterModel = gridFilterModelSelector(apiRef);
|
|
@@ -97,7 +117,7 @@ export var useGridFilter = function useGridFilter(apiRef, props) {
|
|
|
97
117
|
|
|
98
118
|
apiRef.current.setFilterModel(_extends({}, filterModel, {
|
|
99
119
|
items: items
|
|
100
|
-
}));
|
|
120
|
+
}), 'deleteFilterItem');
|
|
101
121
|
}, [apiRef]);
|
|
102
122
|
var showFilterPanel = React.useCallback(function (targetColumnField) {
|
|
103
123
|
logger.debug('Displaying filter panel');
|
|
@@ -115,13 +135,13 @@ export var useGridFilter = function useGridFilter(apiRef, props) {
|
|
|
115
135
|
if (filterItemOnTarget) {
|
|
116
136
|
newFilterItems = filterItemsWithValue;
|
|
117
137
|
} else if (props.disableMultipleColumnsFiltering) {
|
|
118
|
-
newFilterItems = [{
|
|
138
|
+
newFilterItems = [cleanFilterItem({
|
|
119
139
|
columnField: targetColumnField
|
|
120
|
-
}];
|
|
140
|
+
}, apiRef)];
|
|
121
141
|
} else {
|
|
122
|
-
newFilterItems = [].concat(_toConsumableArray(filterItemsWithValue), [{
|
|
142
|
+
newFilterItems = [].concat(_toConsumableArray(filterItemsWithValue), [cleanFilterItem({
|
|
123
143
|
columnField: targetColumnField
|
|
124
|
-
}]);
|
|
144
|
+
}, apiRef)]);
|
|
125
145
|
}
|
|
126
146
|
|
|
127
147
|
apiRef.current.setFilterModel(_extends({}, filterModel, {
|
|
@@ -144,7 +164,7 @@ export var useGridFilter = function useGridFilter(apiRef, props) {
|
|
|
144
164
|
|
|
145
165
|
apiRef.current.setFilterModel(_extends({}, filterModel, {
|
|
146
166
|
linkOperator: linkOperator
|
|
147
|
-
}));
|
|
167
|
+
}), 'changeLogicOperator');
|
|
148
168
|
}, [apiRef]);
|
|
149
169
|
var setQuickFilterValues = React.useCallback(function (values) {
|
|
150
170
|
var filterModel = gridFilterModelSelector(apiRef);
|
|
@@ -157,12 +177,12 @@ export var useGridFilter = function useGridFilter(apiRef, props) {
|
|
|
157
177
|
quickFilterValues: _toConsumableArray(values)
|
|
158
178
|
}));
|
|
159
179
|
}, [apiRef]);
|
|
160
|
-
var setFilterModel = React.useCallback(function (model) {
|
|
180
|
+
var setFilterModel = React.useCallback(function (model, reason) {
|
|
161
181
|
var currentModel = gridFilterModelSelector(apiRef);
|
|
162
182
|
|
|
163
183
|
if (currentModel !== model) {
|
|
164
184
|
logger.debug('Setting filter model');
|
|
165
|
-
apiRef.current.
|
|
185
|
+
apiRef.current.unstable_updateControlState('filter', mergeStateWithFilterModel(model, props.disableMultipleColumnsFiltering, apiRef), reason);
|
|
166
186
|
apiRef.current.unstable_applyFilters();
|
|
167
187
|
}
|
|
168
188
|
}, [apiRef, logger, props.disableMultipleColumnsFiltering]);
|
|
@@ -177,6 +197,7 @@ export var useGridFilter = function useGridFilter(apiRef, props) {
|
|
|
177
197
|
unstable_applyFilters: applyFilters,
|
|
178
198
|
deleteFilterItem: deleteFilterItem,
|
|
179
199
|
upsertFilterItem: upsertFilterItem,
|
|
200
|
+
upsertFilterItems: upsertFilterItems,
|
|
180
201
|
setFilterModel: setFilterModel,
|
|
181
202
|
showFilterPanel: showFilterPanel,
|
|
182
203
|
hideFilterPanel: hideFilterPanel,
|
|
@@ -210,7 +231,7 @@ export var useGridFilter = function useGridFilter(apiRef, props) {
|
|
|
210
231
|
return params;
|
|
211
232
|
}
|
|
212
233
|
|
|
213
|
-
apiRef.current.
|
|
234
|
+
apiRef.current.unstable_updateControlState('filter', mergeStateWithFilterModel(filterModel, props.disableMultipleColumnsFiltering, apiRef), 'restoreState');
|
|
214
235
|
return _extends({}, params, {
|
|
215
236
|
callbacks: [].concat(_toConsumableArray(params.callbacks), [apiRef.current.unstable_applyFilters])
|
|
216
237
|
});
|
|
@@ -43,7 +43,7 @@ export var useGridPage = function useGridPage(apiRef, props) {
|
|
|
43
43
|
|
|
44
44
|
var logger = useGridLogger(apiRef, 'useGridPage');
|
|
45
45
|
var visibleTopLevelRowCount = useGridSelector(apiRef, gridVisibleTopLevelRowCountSelector);
|
|
46
|
-
apiRef.current.
|
|
46
|
+
apiRef.current.unstable_registerControlState({
|
|
47
47
|
stateId: 'page',
|
|
48
48
|
propModel: props.page,
|
|
49
49
|
propOnChange: props.onPageChange,
|
|
@@ -27,7 +27,7 @@ export var useGridPageSize = function useGridPageSize(apiRef, props) {
|
|
|
27
27
|
|
|
28
28
|
var logger = useGridLogger(apiRef, 'useGridPageSize');
|
|
29
29
|
var rowHeight = useGridSelector(apiRef, gridDensityRowHeightSelector);
|
|
30
|
-
apiRef.current.
|
|
30
|
+
apiRef.current.unstable_registerControlState({
|
|
31
31
|
stateId: 'pageSize',
|
|
32
32
|
propModel: props.pageSize,
|
|
33
33
|
propOnChange: props.onPageSizeChange,
|