@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
|
@@ -11,14 +11,18 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
11
11
|
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
13
|
|
|
14
|
+
var _events = require("../../../models/events");
|
|
15
|
+
|
|
14
16
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
15
17
|
|
|
16
18
|
var _useGridLogger = require("../../utils/useGridLogger");
|
|
17
19
|
|
|
18
|
-
var
|
|
20
|
+
var _pipeProcessing = require("../../core/pipeProcessing");
|
|
19
21
|
|
|
20
22
|
var _gridPreferencePanelSelector = require("./gridPreferencePanelSelector");
|
|
21
23
|
|
|
24
|
+
var _useGridSelector = require("../../utils/useGridSelector");
|
|
25
|
+
|
|
22
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
27
|
|
|
24
28
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -41,6 +45,7 @@ exports.preferencePanelStateInitializer = preferencePanelStateInitializer;
|
|
|
41
45
|
|
|
42
46
|
const useGridPreferencesPanel = apiRef => {
|
|
43
47
|
const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useGridPreferencesPanel');
|
|
48
|
+
const preferencePanelState = (0, _useGridSelector.useGridSelector)(apiRef, _gridPreferencePanelSelector.gridPreferencePanelStateSelector);
|
|
44
49
|
const hideTimeout = React.useRef();
|
|
45
50
|
const immediateTimeout = React.useRef();
|
|
46
51
|
/**
|
|
@@ -49,13 +54,20 @@ const useGridPreferencesPanel = apiRef => {
|
|
|
49
54
|
|
|
50
55
|
const hidePreferences = React.useCallback(() => {
|
|
51
56
|
logger.debug('Hiding Preferences Panel');
|
|
57
|
+
|
|
58
|
+
if (preferencePanelState.openedPanelValue) {
|
|
59
|
+
apiRef.current.publishEvent(_events.GridEvents.preferencePanelClose, {
|
|
60
|
+
openedPanelValue: preferencePanelState.openedPanelValue
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
52
64
|
apiRef.current.setState(state => (0, _extends2.default)({}, state, {
|
|
53
65
|
preferencePanel: {
|
|
54
66
|
open: false
|
|
55
67
|
}
|
|
56
68
|
}));
|
|
57
69
|
apiRef.current.forceUpdate();
|
|
58
|
-
}, [apiRef, logger]); // This is to prevent the preferences from closing when you open a select box or another panel,
|
|
70
|
+
}, [apiRef, logger, preferencePanelState.openedPanelValue]); // This is to prevent the preferences from closing when you open a select box or another panel,
|
|
59
71
|
// The issue is in MUI core V4 => Fixed in V5
|
|
60
72
|
|
|
61
73
|
const doNotHidePanel = React.useCallback(() => {
|
|
@@ -75,8 +87,11 @@ const useGridPreferencesPanel = apiRef => {
|
|
|
75
87
|
openedPanelValue: newValue
|
|
76
88
|
})
|
|
77
89
|
}));
|
|
90
|
+
apiRef.current.publishEvent(_events.GridEvents.preferencePanelOpen, {
|
|
91
|
+
openedPanelValue: newValue
|
|
92
|
+
});
|
|
78
93
|
apiRef.current.forceUpdate();
|
|
79
|
-
}, [doNotHidePanel, apiRef
|
|
94
|
+
}, [logger, doNotHidePanel, apiRef]);
|
|
80
95
|
(0, _useGridApiMethod.useGridApiMethod)(apiRef, {
|
|
81
96
|
showPreferences,
|
|
82
97
|
hidePreferences: hidePreferencesDelayed
|
|
@@ -107,8 +122,8 @@ const useGridPreferencesPanel = apiRef => {
|
|
|
107
122
|
|
|
108
123
|
return params;
|
|
109
124
|
}, [apiRef]);
|
|
110
|
-
(0,
|
|
111
|
-
(0,
|
|
125
|
+
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'exportState', stateExportPreProcessing);
|
|
126
|
+
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'restoreState', stateRestorePreProcessing);
|
|
112
127
|
/**
|
|
113
128
|
* EFFECTS
|
|
114
129
|
*/
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.checkGridRowIdIsValid = checkGridRowIdIsValid;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A helper function to check if the id provided is valid.
|
|
10
|
+
* @param {GridRowId} id Id as [[GridRowId]].
|
|
11
|
+
* @param {GridRowModel | Partial<GridRowModel>} row Row as [[GridRowModel]].
|
|
12
|
+
* @param {string} detailErrorMessage A custom error message to display for invalid IDs
|
|
13
|
+
*/
|
|
14
|
+
function checkGridRowIdIsValid(id, row, detailErrorMessage = 'A row was provided without id in the rows prop:') {
|
|
15
|
+
if (id == null) {
|
|
16
|
+
throw new Error(['MUI: The data grid component requires all rows to have a unique `id` property.', 'Alternatively, you can use the `getRowId` prop to specify a custom id for each row.', detailErrorMessage, JSON.stringify(row)].join('\n'));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -3,11 +3,21 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
checkGridRowIdIsValid: true
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "checkGridRowIdIsValid", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () {
|
|
12
|
+
return _gridRowsUtils.checkGridRowIdIsValid;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
6
15
|
|
|
7
16
|
var _gridRowsMetaSelector = require("./gridRowsMetaSelector");
|
|
8
17
|
|
|
9
18
|
Object.keys(_gridRowsMetaSelector).forEach(function (key) {
|
|
10
19
|
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
11
21
|
if (key in exports && exports[key] === _gridRowsMetaSelector[key]) return;
|
|
12
22
|
Object.defineProperty(exports, key, {
|
|
13
23
|
enumerable: true,
|
|
@@ -21,6 +31,7 @@ var _gridRowsMetaState = require("./gridRowsMetaState");
|
|
|
21
31
|
|
|
22
32
|
Object.keys(_gridRowsMetaState).forEach(function (key) {
|
|
23
33
|
if (key === "default" || key === "__esModule") return;
|
|
34
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
24
35
|
if (key in exports && exports[key] === _gridRowsMetaState[key]) return;
|
|
25
36
|
Object.defineProperty(exports, key, {
|
|
26
37
|
enumerable: true,
|
|
@@ -34,6 +45,7 @@ var _gridRowsSelector = require("./gridRowsSelector");
|
|
|
34
45
|
|
|
35
46
|
Object.keys(_gridRowsSelector).forEach(function (key) {
|
|
36
47
|
if (key === "default" || key === "__esModule") return;
|
|
48
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
37
49
|
if (key in exports && exports[key] === _gridRowsSelector[key]) return;
|
|
38
50
|
Object.defineProperty(exports, key, {
|
|
39
51
|
enumerable: true,
|
|
@@ -41,4 +53,6 @@ Object.keys(_gridRowsSelector).forEach(function (key) {
|
|
|
41
53
|
return _gridRowsSelector[key];
|
|
42
54
|
}
|
|
43
55
|
});
|
|
44
|
-
});
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
var _gridRowsUtils = require("./gridRowsUtils");
|
|
@@ -13,8 +13,6 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
|
|
14
14
|
var _events = require("../../../models/events");
|
|
15
15
|
|
|
16
|
-
var _gridRows = require("../../../models/gridRows");
|
|
17
|
-
|
|
18
16
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
19
17
|
|
|
20
18
|
var _useGridLogger = require("../../utils/useGridLogger");
|
|
@@ -25,13 +23,15 @@ var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
|
|
|
25
23
|
|
|
26
24
|
var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
|
|
27
25
|
|
|
26
|
+
var _gridRowsUtils = require("./gridRowsUtils");
|
|
27
|
+
|
|
28
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
29
|
|
|
30
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
31
|
|
|
32
32
|
function getGridRowId(rowModel, getRowId, detailErrorMessage) {
|
|
33
33
|
const id = getRowId ? getRowId(rowModel) : rowModel.id;
|
|
34
|
-
(0,
|
|
34
|
+
(0, _gridRowsUtils.checkGridRowIdIsValid)(id, rowModel, detailErrorMessage);
|
|
35
35
|
return id;
|
|
36
36
|
}
|
|
37
37
|
|
|
@@ -115,9 +115,9 @@ const useGridRows = (apiRef, props) => {
|
|
|
115
115
|
|
|
116
116
|
const currentPage = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, props);
|
|
117
117
|
const getRow = React.useCallback(id => {
|
|
118
|
-
var
|
|
118
|
+
var _ref;
|
|
119
119
|
|
|
120
|
-
return (
|
|
120
|
+
return (_ref = (0, _gridRowsSelector.gridRowsLookupSelector)(apiRef)[id]) != null ? _ref : null;
|
|
121
121
|
}, [apiRef]);
|
|
122
122
|
const lookup = React.useMemo(() => currentPage.rows.reduce((acc, {
|
|
123
123
|
id
|
|
@@ -101,7 +101,7 @@ const useGridRowsMeta = (apiRef, props) => {
|
|
|
101
101
|
initialHeights.spacingBottom = (_spacing$bottom = spacing.bottom) != null ? _spacing$bottom : 0;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
const sizes = apiRef.current.
|
|
104
|
+
const sizes = apiRef.current.unstable_applyPipeProcessors('rowHeight', initialHeights, row);
|
|
105
105
|
const finalRowHeight = Object.values(sizes).reduce((acc2, value) => acc2 + value, 0);
|
|
106
106
|
rowsHeightLookup.current[row.id] = {
|
|
107
107
|
value: baseRowHeight,
|
|
@@ -147,14 +147,14 @@ const useGridRowsMeta = (apiRef, props) => {
|
|
|
147
147
|
React.useEffect(() => {
|
|
148
148
|
hydrateRowsMeta();
|
|
149
149
|
}, [rowHeight, filterState, paginationState, sortingState, hydrateRowsMeta]);
|
|
150
|
-
const
|
|
150
|
+
const handlepipeProcessorRegister = React.useCallback(name => {
|
|
151
151
|
if (name !== 'rowHeight') {
|
|
152
152
|
return;
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
hydrateRowsMeta();
|
|
156
156
|
}, [hydrateRowsMeta]);
|
|
157
|
-
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, _gridEvents.GridEvents.
|
|
157
|
+
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, _gridEvents.GridEvents.pipeProcessorRegister, handlepipeProcessorRegister);
|
|
158
158
|
const rowsMetaApi = {
|
|
159
159
|
unstable_getRowHeight: getTargetRowHeight,
|
|
160
160
|
unstable_getRowInternalSizes: getRowInternalSizes,
|
|
@@ -19,8 +19,6 @@ var _gridRowsMetaSelector = require("../rows/gridRowsMetaSelector");
|
|
|
19
19
|
|
|
20
20
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
21
21
|
|
|
22
|
-
var _useGridNativeEventListener = require("../../utils/useGridNativeEventListener");
|
|
23
|
-
|
|
24
22
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
23
|
|
|
26
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -61,8 +59,9 @@ const useGridScroll = (apiRef, props) => {
|
|
|
61
59
|
const scrollToIndexes = React.useCallback(params => {
|
|
62
60
|
const totalRowCount = (0, _gridRowsSelector.gridRowCountSelector)(apiRef);
|
|
63
61
|
const visibleColumns = (0, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector)(apiRef);
|
|
62
|
+
const scrollToHeader = params.rowIndex == null;
|
|
64
63
|
|
|
65
|
-
if (totalRowCount === 0 || visibleColumns.length === 0) {
|
|
64
|
+
if (!scrollToHeader && totalRowCount === 0 || visibleColumns.length === 0) {
|
|
66
65
|
return false;
|
|
67
66
|
}
|
|
68
67
|
|
|
@@ -93,7 +92,7 @@ const useGridScroll = (apiRef, props) => {
|
|
|
93
92
|
});
|
|
94
93
|
}
|
|
95
94
|
|
|
96
|
-
scrollCoordinates = apiRef.current.
|
|
95
|
+
scrollCoordinates = apiRef.current.unstable_applyPipeProcessors('scrollToIndexes', scrollCoordinates, params);
|
|
97
96
|
|
|
98
97
|
if (typeof scrollCoordinates.left !== undefined || typeof scrollCoordinates.top !== undefined) {
|
|
99
98
|
apiRef.current.scroll(scrollCoordinates);
|
|
@@ -135,15 +134,6 @@ const useGridScroll = (apiRef, props) => {
|
|
|
135
134
|
getScrollPosition
|
|
136
135
|
};
|
|
137
136
|
(0, _useGridApiMethod.useGridApiMethod)(apiRef, scrollApi, 'GridScrollApi');
|
|
138
|
-
const preventScroll = React.useCallback(event => {
|
|
139
|
-
event.target.scrollLeft = 0;
|
|
140
|
-
event.target.scrollTop = 0;
|
|
141
|
-
}, []);
|
|
142
|
-
(0, _useGridNativeEventListener.useGridNativeEventListener)(apiRef, () => {
|
|
143
|
-
var _apiRef$current, _apiRef$current$rende, _apiRef$current$rende2;
|
|
144
|
-
|
|
145
|
-
return (_apiRef$current = apiRef.current) == null ? void 0 : (_apiRef$current$rende = _apiRef$current.renderingZoneRef) == null ? void 0 : (_apiRef$current$rende2 = _apiRef$current$rende.current) == null ? void 0 : _apiRef$current$rende2.parentElement;
|
|
146
|
-
}, 'scroll', preventScroll);
|
|
147
137
|
};
|
|
148
138
|
|
|
149
139
|
exports.useGridScroll = useGridScroll;
|
|
@@ -21,12 +21,12 @@ var _useGridLogger = require("../../utils/useGridLogger");
|
|
|
21
21
|
|
|
22
22
|
var _gridRowsSelector = require("../rows/gridRowsSelector");
|
|
23
23
|
|
|
24
|
-
var _domUtils = require("../../../utils/domUtils");
|
|
25
|
-
|
|
26
24
|
var _gridSelectionSelector = require("./gridSelectionSelector");
|
|
27
25
|
|
|
28
26
|
var _pagination = require("../pagination");
|
|
29
27
|
|
|
28
|
+
var _gridFocusStateSelector = require("../focus/gridFocusStateSelector");
|
|
29
|
+
|
|
30
30
|
var _gridFilterSelector = require("../filter/gridFilterSelector");
|
|
31
31
|
|
|
32
32
|
var _colDef = require("../../../colDef");
|
|
@@ -65,8 +65,10 @@ const selectionStateInitializer = (state, props) => {
|
|
|
65
65
|
});
|
|
66
66
|
};
|
|
67
67
|
/**
|
|
68
|
-
* @requires useGridRows (state, method)
|
|
69
|
-
* @requires useGridParamsApi (method)
|
|
68
|
+
* @requires useGridRows (state, method) - can be after
|
|
69
|
+
* @requires useGridParamsApi (method) - can be after
|
|
70
|
+
* @requires useGridFocus (state) - can be after
|
|
71
|
+
* @requires useGridKeyboardNavigation (`cellKeyDown` event must first be consumed by it)
|
|
70
72
|
*/
|
|
71
73
|
|
|
72
74
|
|
|
@@ -94,7 +96,8 @@ const useGridSelection = (apiRef, props) => {
|
|
|
94
96
|
paginationMode
|
|
95
97
|
} = props;
|
|
96
98
|
const canHaveMultipleSelection = !disableMultipleSelection || checkboxSelection;
|
|
97
|
-
const
|
|
99
|
+
const visibleRows = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, props);
|
|
100
|
+
const expandMouseRowRangeSelection = React.useCallback(id => {
|
|
98
101
|
var _lastRowToggled$curre;
|
|
99
102
|
|
|
100
103
|
let endId = id;
|
|
@@ -200,12 +203,13 @@ const useGridSelection = (apiRef, props) => {
|
|
|
200
203
|
return;
|
|
201
204
|
}
|
|
202
205
|
|
|
203
|
-
logger.debug(`Expanding selection from row ${startId} to row ${endId}`);
|
|
204
|
-
|
|
205
|
-
const
|
|
206
|
-
const
|
|
206
|
+
logger.debug(`Expanding selection from row ${startId} to row ${endId}`); // Using rows from all pages allow to select a range across several pages
|
|
207
|
+
|
|
208
|
+
const allPagesRowIds = (0, _gridFilterSelector.gridVisibleSortedRowIdsSelector)(apiRef);
|
|
209
|
+
const startIndex = allPagesRowIds.indexOf(startId);
|
|
210
|
+
const endIndex = allPagesRowIds.indexOf(endId);
|
|
207
211
|
const [start, end] = startIndex > endIndex ? [endIndex, startIndex] : [startIndex, endIndex];
|
|
208
|
-
const rowsBetweenStartAndEnd =
|
|
212
|
+
const rowsBetweenStartAndEnd = allPagesRowIds.slice(start, end + 1);
|
|
209
213
|
apiRef.current.selectRows(rowsBetweenStartAndEnd, isSelected, resetSelection);
|
|
210
214
|
}, [apiRef, logger]);
|
|
211
215
|
const selectionApi = {
|
|
@@ -278,11 +282,11 @@ const useGridSelection = (apiRef, props) => {
|
|
|
278
282
|
}
|
|
279
283
|
|
|
280
284
|
if (event.shiftKey && (canHaveMultipleSelection || checkboxSelection)) {
|
|
281
|
-
|
|
285
|
+
expandMouseRowRangeSelection(params.id);
|
|
282
286
|
} else {
|
|
283
287
|
handleSingleRowSelection(params.id, event);
|
|
284
288
|
}
|
|
285
|
-
}, [disableSelectionOnClick, canHaveMultipleSelection, checkboxSelection, apiRef,
|
|
289
|
+
}, [disableSelectionOnClick, canHaveMultipleSelection, checkboxSelection, apiRef, expandMouseRowRangeSelection, handleSingleRowSelection]);
|
|
286
290
|
const preventSelectionOnShift = React.useCallback((params, event) => {
|
|
287
291
|
if (canHaveMultipleSelection && event.shiftKey) {
|
|
288
292
|
var _window$getSelection;
|
|
@@ -292,35 +296,78 @@ const useGridSelection = (apiRef, props) => {
|
|
|
292
296
|
}, [canHaveMultipleSelection]);
|
|
293
297
|
const handleRowSelectionCheckboxChange = React.useCallback((params, event) => {
|
|
294
298
|
if (event.nativeEvent.shiftKey) {
|
|
295
|
-
|
|
299
|
+
expandMouseRowRangeSelection(params.id);
|
|
296
300
|
} else {
|
|
297
301
|
apiRef.current.selectRow(params.id, params.value);
|
|
298
302
|
}
|
|
299
|
-
}, [apiRef,
|
|
303
|
+
}, [apiRef, expandMouseRowRangeSelection]);
|
|
300
304
|
const handleHeaderSelectionCheckboxChange = React.useCallback(params => {
|
|
301
305
|
const shouldLimitSelectionToCurrentPage = props.checkboxSelectionVisibleOnly && props.pagination;
|
|
302
306
|
const rowsToBeSelected = shouldLimitSelectionToCurrentPage ? (0, _pagination.gridPaginatedVisibleSortedGridRowIdsSelector)(apiRef) : (0, _gridFilterSelector.gridVisibleSortedRowIdsSelector)(apiRef);
|
|
303
307
|
apiRef.current.selectRows(rowsToBeSelected, params.value);
|
|
304
308
|
}, [apiRef, props.checkboxSelectionVisibleOnly, props.pagination]);
|
|
305
309
|
const handleCellKeyDown = React.useCallback((params, event) => {
|
|
306
|
-
//
|
|
310
|
+
// Get the most recent cell mode because it may have been changed by another listener
|
|
311
|
+
if (apiRef.current.getCellMode(params.id, params.field) === _gridEditRowModel.GridCellModes.Edit) {
|
|
312
|
+
return;
|
|
313
|
+
} // Ignore portal
|
|
307
314
|
// Do not apply shortcuts if the focus is not on the cell root component
|
|
308
|
-
|
|
309
|
-
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
if (!event.currentTarget.contains(event.target)) {
|
|
310
318
|
return;
|
|
311
|
-
}
|
|
319
|
+
}
|
|
312
320
|
|
|
321
|
+
if ((0, _keyboardUtils.isNavigationKey)(event.key) && event.shiftKey) {
|
|
322
|
+
// The cell that has focus after the keyboard navigation
|
|
323
|
+
const focusCell = (0, _gridFocusStateSelector.gridFocusCellSelector)(apiRef);
|
|
313
324
|
|
|
314
|
-
|
|
315
|
-
|
|
325
|
+
if (focusCell && focusCell.id !== params.id) {
|
|
326
|
+
event.preventDefault();
|
|
327
|
+
const isNextRowSelected = apiRef.current.isRowSelected(focusCell.id);
|
|
316
328
|
|
|
317
|
-
|
|
318
|
-
|
|
329
|
+
if (!canHaveMultipleSelection) {
|
|
330
|
+
apiRef.current.selectRow(focusCell.id, !isNextRowSelected, true);
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
const newRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(focusCell.id);
|
|
335
|
+
const previousRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(params.id);
|
|
336
|
+
let start;
|
|
337
|
+
let end;
|
|
338
|
+
|
|
339
|
+
if (newRowIndex > previousRowIndex) {
|
|
340
|
+
if (isNextRowSelected) {
|
|
341
|
+
// We are navigating to the bottom of the page and adding selected rows
|
|
342
|
+
start = previousRowIndex;
|
|
343
|
+
end = newRowIndex - 1;
|
|
344
|
+
} else {
|
|
345
|
+
// We are navigating to the bottom of the page and removing selected rows
|
|
346
|
+
start = previousRowIndex;
|
|
347
|
+
end = newRowIndex;
|
|
348
|
+
}
|
|
349
|
+
} else {
|
|
350
|
+
// eslint-disable-next-line no-lonely-if
|
|
351
|
+
if (isNextRowSelected) {
|
|
352
|
+
// We are navigating to the top of the page and removing selected rows
|
|
353
|
+
start = newRowIndex + 1;
|
|
354
|
+
end = previousRowIndex;
|
|
355
|
+
} else {
|
|
356
|
+
// We are navigating to the top of the page and adding selected rows
|
|
357
|
+
start = newRowIndex;
|
|
358
|
+
end = previousRowIndex;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
const rowsBetweenStartAndEnd = visibleRows.rows.slice(start, end + 1).map(row => row.id);
|
|
363
|
+
apiRef.current.selectRows(rowsBetweenStartAndEnd, !isNextRowSelected);
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
319
366
|
}
|
|
320
367
|
|
|
321
368
|
if (event.key === ' ' && event.shiftKey) {
|
|
322
369
|
event.preventDefault();
|
|
323
|
-
handleSingleRowSelection(
|
|
370
|
+
handleSingleRowSelection(params.id, event);
|
|
324
371
|
return;
|
|
325
372
|
}
|
|
326
373
|
|
|
@@ -328,7 +375,7 @@ const useGridSelection = (apiRef, props) => {
|
|
|
328
375
|
event.preventDefault();
|
|
329
376
|
selectRows(apiRef.current.getAllRowIds(), true);
|
|
330
377
|
}
|
|
331
|
-
}, [apiRef, handleSingleRowSelection, selectRows]);
|
|
378
|
+
}, [apiRef, handleSingleRowSelection, selectRows, visibleRows.rows, canHaveMultipleSelection]);
|
|
332
379
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, _events.GridEvents.visibleRowsSet, removeOutdatedSelection);
|
|
333
380
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, _events.GridEvents.cellClick, handleCellClick);
|
|
334
381
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, _events.GridEvents.rowSelectionCheckboxChange, handleRowSelectionCheckboxChange);
|
|
@@ -13,7 +13,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
|
|
14
14
|
var _material = require("@mui/material");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _pipeProcessing = require("../../core/pipeProcessing");
|
|
17
17
|
|
|
18
18
|
var _constants = require("../../../constants");
|
|
19
19
|
|
|
@@ -60,7 +60,7 @@ const useGridSelectionPreProcessors = (apiRef, props) => {
|
|
|
60
60
|
|
|
61
61
|
return columnsState;
|
|
62
62
|
}, [apiRef, classes, props.checkboxSelection]);
|
|
63
|
-
(0,
|
|
63
|
+
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'hydrateColumns', updateSelectionColumn);
|
|
64
64
|
};
|
|
65
65
|
|
|
66
66
|
exports.useGridSelectionPreProcessors = useGridSelectionPreProcessors;
|
|
@@ -35,7 +35,7 @@ var _strategyProcessing = require("../../core/strategyProcessing");
|
|
|
35
35
|
|
|
36
36
|
var _gridSortingUtils = require("./gridSortingUtils");
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _pipeProcessing = require("../../core/pipeProcessing");
|
|
39
39
|
|
|
40
40
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
41
41
|
|
|
@@ -219,8 +219,8 @@ const useGridSorting = (apiRef, props) => {
|
|
|
219
219
|
const rowTree = (0, _rows.gridRowTreeSelector)(apiRef);
|
|
220
220
|
return params.sortRowList(Object.values(rowTree));
|
|
221
221
|
}, [apiRef]);
|
|
222
|
-
(0,
|
|
223
|
-
(0,
|
|
222
|
+
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'exportState', stateExportPreProcessing);
|
|
223
|
+
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'restoreState', stateRestorePreProcessing);
|
|
224
224
|
(0, _strategyProcessing.useGridRegisterStrategyProcessor)(apiRef, _strategyProcessing.GRID_DEFAULT_STRATEGY, 'sorting', flatSortingMethod);
|
|
225
225
|
/**
|
|
226
226
|
* EVENTS
|
|
@@ -15,11 +15,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
15
15
|
|
|
16
16
|
const useGridStatePersistence = apiRef => {
|
|
17
17
|
const exportState = React.useCallback(() => {
|
|
18
|
-
const stateToExport = apiRef.current.
|
|
18
|
+
const stateToExport = apiRef.current.unstable_applyPipeProcessors('exportState', {});
|
|
19
19
|
return stateToExport;
|
|
20
20
|
}, [apiRef]);
|
|
21
21
|
const restoreState = React.useCallback(stateToRestore => {
|
|
22
|
-
const response = apiRef.current.
|
|
22
|
+
const response = apiRef.current.unstable_applyPipeProcessors('restoreState', {
|
|
23
23
|
callbacks: []
|
|
24
24
|
}, {
|
|
25
25
|
stateToRestore
|
package/node/index.js
CHANGED
package/node/internals/index.js
CHANGED
|
@@ -225,12 +225,6 @@ Object.defineProperty(exports, "useGridInitializeState", {
|
|
|
225
225
|
return _useGridInitializeState.useGridInitializeState;
|
|
226
226
|
}
|
|
227
227
|
});
|
|
228
|
-
Object.defineProperty(exports, "useGridKeyboard", {
|
|
229
|
-
enumerable: true,
|
|
230
|
-
get: function () {
|
|
231
|
-
return _useGridKeyboard.useGridKeyboard;
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
228
|
Object.defineProperty(exports, "useGridKeyboardNavigation", {
|
|
235
229
|
enumerable: true,
|
|
236
230
|
get: function () {
|
|
@@ -261,10 +255,10 @@ Object.defineProperty(exports, "useGridPrintExport", {
|
|
|
261
255
|
return _useGridPrintExport.useGridPrintExport;
|
|
262
256
|
}
|
|
263
257
|
});
|
|
264
|
-
Object.defineProperty(exports, "
|
|
258
|
+
Object.defineProperty(exports, "useGridRegisterPipeProcessor", {
|
|
265
259
|
enumerable: true,
|
|
266
260
|
get: function () {
|
|
267
|
-
return
|
|
261
|
+
return _pipeProcessing.useGridRegisterPipeProcessor;
|
|
268
262
|
}
|
|
269
263
|
});
|
|
270
264
|
Object.defineProperty(exports, "useGridRegisterStrategyProcessor", {
|
|
@@ -344,7 +338,7 @@ var _GridColumnHeaders = require("../components/columnHeaders/GridColumnHeaders"
|
|
|
344
338
|
|
|
345
339
|
var _GridColumnHeadersInner = require("../components/columnHeaders/GridColumnHeadersInner");
|
|
346
340
|
|
|
347
|
-
var
|
|
341
|
+
var _pipeProcessing = require("../hooks/core/pipeProcessing");
|
|
348
342
|
|
|
349
343
|
var _strategyProcessing = require("../hooks/core/strategyProcessing");
|
|
350
344
|
|
|
@@ -368,9 +362,7 @@ var _useGridFilter = require("../hooks/features/filter/useGridFilter");
|
|
|
368
362
|
|
|
369
363
|
var _useGridFocus = require("../hooks/features/focus/useGridFocus");
|
|
370
364
|
|
|
371
|
-
var
|
|
372
|
-
|
|
373
|
-
var _useGridKeyboardNavigation = require("../hooks/features/keyboard/useGridKeyboardNavigation");
|
|
365
|
+
var _useGridKeyboardNavigation = require("../hooks/features/keyboardNavigation/useGridKeyboardNavigation");
|
|
374
366
|
|
|
375
367
|
var _useGridPagination = require("../hooks/features/pagination/useGridPagination");
|
|
376
368
|
|