@mui/x-data-grid 6.5.0 → 6.7.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 +150 -2
- package/DataGrid/DataGrid.js +10 -3
- package/README.md +2 -2
- package/components/GridColumnHeaders.js +4 -9
- package/components/GridHeader.d.ts +2 -2
- package/components/base/GridBody.d.ts +1 -1
- package/components/base/GridFooterPlaceholder.d.ts +2 -2
- package/components/base/GridOverlays.d.ts +2 -2
- package/components/cell/GridActionsCell.d.ts +3 -3
- package/components/cell/GridActionsCell.js +3 -3
- package/components/cell/GridBooleanCell.d.ts +1 -1
- package/components/cell/GridEditBooleanCell.d.ts +2 -2
- package/components/cell/GridEditDateCell.d.ts +2 -2
- package/components/cell/GridEditInputCell.d.ts +1 -1
- package/components/cell/GridEditSingleSelectCell.d.ts +3 -3
- package/components/cell/GridEditSingleSelectCell.js +5 -5
- package/components/cell/GridSkeletonCell.d.ts +1 -1
- package/components/columnHeaders/ColumnHeaderMenuIcon.d.ts +1 -1
- package/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
- package/components/columnHeaders/GridColumnGroupHeader.d.ts +2 -2
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +1 -1
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +13 -4
- package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -2
- package/components/columnHeaders/GridColumnHeaderSeparator.d.ts +1 -1
- package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -1
- package/components/columnHeaders/GridColumnHeaderTitle.d.ts +1 -1
- package/components/containers/GridRoot.js +1 -3
- package/components/containers/GridRootStyles.js +8 -1
- package/components/index.d.ts +0 -1
- package/components/index.js +1 -2
- package/components/menu/GridMenu.d.ts +1 -1
- package/components/menu/columnMenu/GridColumnHeaderMenu.d.ts +1 -1
- package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.d.ts +2 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.d.ts +2 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.d.ts +2 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.d.ts +2 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.d.ts +2 -2
- package/components/panel/GridColumnsPanel.d.ts +16 -2
- package/components/panel/GridColumnsPanel.js +14 -0
- package/components/panel/GridPanelContent.d.ts +1 -1
- package/components/panel/GridPanelFooter.d.ts +1 -1
- package/components/panel/GridPanelHeader.d.ts +1 -1
- package/components/panel/GridPreferencesPanel.js +3 -1
- package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -2
- package/components/panel/filterPanel/GridFilterInputBoolean.js +6 -7
- package/components/panel/filterPanel/GridFilterInputDate.d.ts +1 -2
- package/components/panel/filterPanel/GridFilterInputDate.js +1 -6
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
- package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
- package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +1 -2
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -6
- package/components/panel/filterPanel/GridFilterInputValue.d.ts +1 -2
- package/components/panel/filterPanel/GridFilterInputValue.js +1 -6
- package/components/panel/filterPanel/GridFilterPanel.d.ts +8 -0
- package/components/panel/filterPanel/GridFilterPanel.js +8 -0
- package/components/toolbar/GridToolbarColumnsButton.js +11 -6
- package/components/toolbar/GridToolbarDensitySelector.js +2 -2
- package/components/toolbar/GridToolbarExport.d.ts +2 -2
- package/components/toolbar/GridToolbarExportContainer.js +7 -7
- package/components/toolbar/GridToolbarFilterButton.js +11 -4
- package/components/toolbar/GridToolbarQuickFilter.d.ts +2 -2
- package/constants/gridClasses.d.ts +4 -0
- package/constants/gridClasses.js +1 -1
- package/constants/localeTextConstants.js +4 -4
- package/context/GridContextProvider.d.ts +1 -1
- package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +10 -2
- package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
- package/hooks/features/filter/gridFilterSelector.d.ts +2 -2
- package/hooks/features/filter/gridFilterSelector.js +2 -2
- package/hooks/features/filter/gridFilterState.d.ts +6 -6
- package/hooks/features/filter/gridFilterState.js +6 -0
- package/hooks/features/filter/useGridFilter.js +31 -10
- package/hooks/features/focus/useGridFocus.js +1 -0
- package/hooks/features/preferencesPanel/gridPreferencePanelState.d.ts +2 -0
- package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
- package/hooks/features/rows/useGridRowsMeta.js +12 -13
- package/hooks/features/sorting/useGridSorting.js +2 -1
- package/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
- package/index.js +1 -1
- package/internals/utils/useProps.js +21 -1
- package/legacy/DataGrid/DataGrid.js +10 -3
- package/legacy/components/GridColumnHeaders.js +4 -9
- package/legacy/components/cell/GridActionsCell.js +3 -3
- package/legacy/components/cell/GridEditSingleSelectCell.js +5 -5
- package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
- package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +13 -4
- package/legacy/components/containers/GridRoot.js +1 -3
- package/legacy/components/containers/GridRootStyles.js +8 -4
- package/legacy/components/index.js +1 -2
- package/legacy/components/panel/GridColumnsPanel.js +14 -0
- package/legacy/components/panel/GridPreferencesPanel.js +3 -1
- package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +7 -7
- package/legacy/components/panel/filterPanel/GridFilterInputDate.js +1 -5
- package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +7 -6
- package/legacy/components/panel/filterPanel/GridFilterInputValue.js +1 -5
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +8 -0
- package/legacy/components/toolbar/GridToolbarColumnsButton.js +11 -5
- package/legacy/components/toolbar/GridToolbarDensitySelector.js +2 -2
- package/legacy/components/toolbar/GridToolbarExportContainer.js +7 -7
- package/legacy/components/toolbar/GridToolbarFilterButton.js +11 -4
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/constants/localeTextConstants.js +4 -4
- package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
- package/legacy/hooks/features/filter/gridFilterSelector.js +4 -4
- package/legacy/hooks/features/filter/gridFilterState.js +6 -0
- package/legacy/hooks/features/filter/useGridFilter.js +31 -10
- package/legacy/hooks/features/focus/useGridFocus.js +1 -0
- package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
- package/legacy/hooks/features/rows/useGridRowsMeta.js +13 -21
- package/legacy/hooks/features/sorting/useGridSorting.js +2 -1
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
- package/legacy/index.js +1 -1
- package/legacy/internals/utils/useProps.js +23 -1
- package/legacy/locales/arSD.js +12 -12
- package/legacy/locales/beBY.js +12 -12
- package/legacy/locales/bgBG.js +12 -12
- package/legacy/locales/csCZ.js +25 -27
- package/legacy/locales/daDK.js +12 -12
- package/legacy/locales/deDE.js +25 -27
- package/legacy/locales/elGR.js +12 -12
- package/legacy/locales/esES.js +12 -12
- package/legacy/locales/faIR.js +12 -12
- package/legacy/locales/fiFI.js +12 -12
- package/legacy/locales/frFR.js +25 -27
- package/legacy/locales/heIL.js +12 -12
- package/legacy/locales/huHU.js +12 -12
- package/legacy/locales/itIT.js +12 -12
- package/legacy/locales/jaJP.js +12 -12
- package/legacy/locales/koKR.js +12 -12
- package/legacy/locales/nbNO.js +12 -12
- package/legacy/locales/nlNL.js +25 -27
- package/legacy/locales/plPL.js +12 -12
- package/legacy/locales/ptBR.js +12 -12
- package/legacy/locales/roRO.js +12 -12
- package/legacy/locales/ruRU.js +12 -12
- package/legacy/locales/skSK.js +12 -12
- package/legacy/locales/svSE.js +12 -12
- package/legacy/locales/trTR.js +18 -19
- package/legacy/locales/ukUA.js +12 -12
- package/legacy/locales/urPK.js +12 -12
- package/legacy/locales/viVN.js +12 -12
- package/legacy/locales/zhCN.js +12 -12
- package/legacy/locales/zhTW.js +12 -12
- package/legacy/models/gridFilterItem.js +1 -1
- package/legacy/utils/EventManager.js +2 -2
- package/locales/arSD.js +12 -12
- package/locales/beBY.js +12 -12
- package/locales/bgBG.js +12 -12
- package/locales/csCZ.js +25 -27
- package/locales/daDK.js +12 -12
- package/locales/deDE.js +25 -27
- package/locales/elGR.js +12 -12
- package/locales/esES.js +12 -12
- package/locales/faIR.js +12 -12
- package/locales/fiFI.js +12 -12
- package/locales/frFR.js +25 -27
- package/locales/heIL.js +12 -12
- package/locales/huHU.js +12 -12
- package/locales/itIT.js +12 -12
- package/locales/jaJP.js +12 -12
- package/locales/koKR.js +12 -12
- package/locales/nbNO.js +12 -12
- package/locales/nlNL.js +25 -27
- package/locales/plPL.js +12 -12
- package/locales/ptBR.js +12 -12
- package/locales/roRO.js +12 -12
- package/locales/ruRU.js +12 -12
- package/locales/skSK.js +12 -12
- package/locales/svSE.js +12 -12
- package/locales/trTR.js +18 -19
- package/locales/ukUA.js +12 -12
- package/locales/urPK.js +12 -12
- package/locales/viVN.js +12 -12
- package/locales/zhCN.js +12 -12
- package/locales/zhTW.js +12 -12
- package/material/components/MUISelectOption.d.ts +2 -2
- package/models/api/gridFilterApi.d.ts +3 -1
- package/models/api/gridPreferencesPanelApi.d.ts +3 -1
- package/models/events/gridEventLookup.d.ts +8 -0
- package/models/gridFilterItem.d.ts +1 -1
- package/models/gridFilterItem.js +1 -1
- package/models/gridFilterOperator.d.ts +1 -1
- package/models/gridStateCommunity.d.ts +2 -0
- package/models/props/DataGridProps.d.ts +5 -0
- package/modern/DataGrid/DataGrid.js +10 -3
- package/modern/components/GridColumnHeaders.js +4 -9
- package/modern/components/cell/GridActionsCell.js +3 -3
- package/modern/components/cell/GridEditSingleSelectCell.js +5 -5
- package/modern/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
- package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +13 -4
- package/modern/components/containers/GridRoot.js +1 -3
- package/modern/components/containers/GridRootStyles.js +8 -1
- package/modern/components/index.js +1 -2
- package/modern/components/panel/GridColumnsPanel.js +14 -0
- package/modern/components/panel/GridPreferencesPanel.js +3 -1
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +6 -7
- package/modern/components/panel/filterPanel/GridFilterInputDate.js +1 -6
- package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -6
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +1 -6
- package/modern/components/panel/filterPanel/GridFilterPanel.js +8 -0
- package/modern/components/toolbar/GridToolbarColumnsButton.js +11 -6
- package/modern/components/toolbar/GridToolbarDensitySelector.js +2 -2
- package/modern/components/toolbar/GridToolbarExportContainer.js +7 -7
- package/modern/components/toolbar/GridToolbarFilterButton.js +11 -4
- package/modern/constants/gridClasses.js +1 -1
- package/modern/constants/localeTextConstants.js +4 -4
- package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
- package/modern/hooks/features/filter/gridFilterSelector.js +2 -2
- package/modern/hooks/features/filter/gridFilterState.js +6 -0
- package/modern/hooks/features/filter/useGridFilter.js +31 -10
- package/modern/hooks/features/focus/useGridFocus.js +1 -0
- package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
- package/modern/hooks/features/rows/useGridRowsMeta.js +12 -13
- package/modern/hooks/features/sorting/useGridSorting.js +2 -1
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
- package/modern/index.js +1 -1
- package/modern/internals/utils/useProps.js +20 -1
- package/modern/locales/arSD.js +12 -12
- package/modern/locales/beBY.js +12 -12
- package/modern/locales/bgBG.js +12 -12
- package/modern/locales/csCZ.js +25 -27
- package/modern/locales/daDK.js +12 -12
- package/modern/locales/deDE.js +25 -27
- package/modern/locales/elGR.js +12 -12
- package/modern/locales/esES.js +12 -12
- package/modern/locales/faIR.js +12 -12
- package/modern/locales/fiFI.js +12 -12
- package/modern/locales/frFR.js +25 -27
- package/modern/locales/heIL.js +12 -12
- package/modern/locales/huHU.js +12 -12
- package/modern/locales/itIT.js +12 -12
- package/modern/locales/jaJP.js +12 -12
- package/modern/locales/koKR.js +12 -12
- package/modern/locales/nbNO.js +12 -12
- package/modern/locales/nlNL.js +25 -27
- package/modern/locales/plPL.js +12 -12
- package/modern/locales/ptBR.js +12 -12
- package/modern/locales/roRO.js +12 -12
- package/modern/locales/ruRU.js +12 -12
- package/modern/locales/skSK.js +12 -12
- package/modern/locales/svSE.js +12 -12
- package/modern/locales/trTR.js +18 -19
- package/modern/locales/ukUA.js +12 -12
- package/modern/locales/urPK.js +12 -12
- package/modern/locales/viVN.js +12 -12
- package/modern/locales/zhCN.js +12 -12
- package/modern/locales/zhTW.js +12 -12
- package/modern/models/gridFilterItem.js +1 -1
- package/modern/utils/EventManager.js +2 -2
- package/node/DataGrid/DataGrid.js +10 -3
- package/node/components/GridColumnHeaders.js +3 -8
- package/node/components/cell/GridActionsCell.js +3 -3
- package/node/components/cell/GridEditSingleSelectCell.js +5 -5
- package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +3 -3
- package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +12 -3
- package/node/components/containers/GridRoot.js +1 -3
- package/node/components/containers/GridRootStyles.js +8 -1
- package/node/components/index.js +0 -11
- package/node/components/panel/GridColumnsPanel.js +14 -0
- package/node/components/panel/GridPreferencesPanel.js +3 -1
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +6 -7
- package/node/components/panel/filterPanel/GridFilterInputDate.js +1 -6
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -6
- package/node/components/panel/filterPanel/GridFilterInputValue.js +1 -6
- package/node/components/panel/filterPanel/GridFilterPanel.js +8 -0
- package/node/components/toolbar/GridToolbarColumnsButton.js +11 -6
- package/node/components/toolbar/GridToolbarDensitySelector.js +2 -2
- package/node/components/toolbar/GridToolbarExportContainer.js +7 -7
- package/node/components/toolbar/GridToolbarFilterButton.js +10 -3
- package/node/constants/gridClasses.js +1 -1
- package/node/constants/localeTextConstants.js +4 -4
- package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
- package/node/hooks/features/filter/gridFilterSelector.js +2 -2
- package/node/hooks/features/filter/gridFilterState.js +6 -0
- package/node/hooks/features/filter/useGridFilter.js +35 -14
- package/node/hooks/features/focus/useGridFocus.js +1 -0
- package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -2
- package/node/hooks/features/rows/useGridRowsMeta.js +12 -13
- package/node/hooks/features/sorting/useGridSorting.js +2 -1
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
- package/node/index.js +1 -1
- package/node/internals/utils/useProps.js +20 -1
- package/node/locales/arSD.js +12 -12
- package/node/locales/beBY.js +12 -12
- package/node/locales/bgBG.js +12 -12
- package/node/locales/csCZ.js +25 -27
- package/node/locales/daDK.js +12 -12
- package/node/locales/deDE.js +25 -27
- package/node/locales/elGR.js +12 -12
- package/node/locales/esES.js +12 -12
- package/node/locales/faIR.js +12 -12
- package/node/locales/fiFI.js +12 -12
- package/node/locales/frFR.js +25 -27
- package/node/locales/heIL.js +12 -12
- package/node/locales/huHU.js +12 -12
- package/node/locales/itIT.js +12 -12
- package/node/locales/jaJP.js +12 -12
- package/node/locales/koKR.js +12 -12
- package/node/locales/nbNO.js +12 -12
- package/node/locales/nlNL.js +25 -27
- package/node/locales/plPL.js +12 -12
- package/node/locales/ptBR.js +12 -12
- package/node/locales/roRO.js +12 -12
- package/node/locales/ruRU.js +12 -12
- package/node/locales/skSK.js +12 -12
- package/node/locales/svSE.js +12 -12
- package/node/locales/trTR.js +18 -19
- package/node/locales/ukUA.js +12 -12
- package/node/locales/urPK.js +12 -12
- package/node/locales/viVN.js +12 -12
- package/node/locales/zhCN.js +12 -12
- package/node/locales/zhTW.js +12 -12
- package/node/models/gridFilterItem.js +1 -1
- package/node/utils/EventManager.js +2 -2
- package/package.json +4 -4
- package/themeAugmentation/overrides.d.ts +1 -1
- package/utils/EventManager.js +2 -2
- package/components/GridScrollArea.d.ts +0 -10
- package/components/GridScrollArea.js +0 -117
- package/legacy/components/GridScrollArea.js +0 -119
- package/legacy/lib/createDetectElementResize/index.js +0 -145
- package/lib/createDetectElementResize/index.d.ts +0 -18
- package/lib/createDetectElementResize/index.js +0 -145
- package/lib/createDetectElementResize/types.d.ts +0 -9
- package/modern/components/GridScrollArea.js +0 -117
- package/modern/lib/createDetectElementResize/index.js +0 -145
- package/node/components/GridScrollArea.js +0 -126
- package/node/lib/createDetectElementResize/index.js +0 -151
|
@@ -13,13 +13,16 @@ var _utils = require("@mui/utils");
|
|
|
13
13
|
var _styles = require("@mui/material/styles");
|
|
14
14
|
var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
const _excluded = ["item", "applyValue", "apiRef", "focusElementRef", "
|
|
16
|
+
const _excluded = ["item", "applyValue", "apiRef", "focusElementRef", "isFilterActive", "clearButton", "tabIndex", "label"];
|
|
17
17
|
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); }
|
|
18
18
|
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; }
|
|
19
19
|
const BooleanOperatorContainer = (0, _styles.styled)('div')({
|
|
20
20
|
display: 'flex',
|
|
21
|
-
alignItems: '
|
|
22
|
-
width: '100%'
|
|
21
|
+
alignItems: 'center',
|
|
22
|
+
width: '100%',
|
|
23
|
+
[`& button`]: {
|
|
24
|
+
margin: 'auto 0px 5px 5px'
|
|
25
|
+
}
|
|
23
26
|
});
|
|
24
27
|
function GridFilterInputBoolean(props) {
|
|
25
28
|
const {
|
|
@@ -27,8 +30,6 @@ function GridFilterInputBoolean(props) {
|
|
|
27
30
|
applyValue,
|
|
28
31
|
apiRef,
|
|
29
32
|
focusElementRef,
|
|
30
|
-
headerFilterMenu,
|
|
31
|
-
isFilterActive,
|
|
32
33
|
clearButton,
|
|
33
34
|
tabIndex,
|
|
34
35
|
label: labelProp
|
|
@@ -69,7 +70,6 @@ function GridFilterInputBoolean(props) {
|
|
|
69
70
|
variant: "standard",
|
|
70
71
|
native: isSelectNative,
|
|
71
72
|
displayEmpty: true,
|
|
72
|
-
startAdornment: isFilterActive ? headerFilterMenu : null,
|
|
73
73
|
inputProps: {
|
|
74
74
|
ref: focusElementRef,
|
|
75
75
|
tabIndex
|
|
@@ -105,7 +105,6 @@ process.env.NODE_ENV !== "production" ? GridFilterInputBoolean.propTypes = {
|
|
|
105
105
|
focusElementRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
|
|
106
106
|
current: _propTypes.default.any.isRequired
|
|
107
107
|
})]),
|
|
108
|
-
headerFilterMenu: _propTypes.default.node,
|
|
109
108
|
/**
|
|
110
109
|
* It is `true` if the filter either has a value or an operator with no value
|
|
111
110
|
* required is selected (e.g. `isEmpty`)
|
|
@@ -13,7 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
var _utils = require("@mui/utils");
|
|
14
14
|
var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "InputProps", "
|
|
16
|
+
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "InputProps", "isFilterActive", "clearButton", "tabIndex", "disabled"];
|
|
17
17
|
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); }
|
|
18
18
|
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; }
|
|
19
19
|
const SUBMIT_FILTER_DATE_STROKE_TIME = 500;
|
|
@@ -26,8 +26,6 @@ function GridFilterInputDate(props) {
|
|
|
26
26
|
apiRef,
|
|
27
27
|
focusElementRef,
|
|
28
28
|
InputProps,
|
|
29
|
-
headerFilterMenu,
|
|
30
|
-
isFilterActive,
|
|
31
29
|
clearButton,
|
|
32
30
|
tabIndex,
|
|
33
31
|
disabled
|
|
@@ -77,8 +75,6 @@ function GridFilterInputDate(props) {
|
|
|
77
75
|
fontSize: "small",
|
|
78
76
|
color: "action"
|
|
79
77
|
}) : clearButton
|
|
80
|
-
} : {}, headerFilterMenu && isFilterActive ? {
|
|
81
|
-
startAdornment: headerFilterMenu
|
|
82
78
|
} : {}, {
|
|
83
79
|
disabled
|
|
84
80
|
}, InputProps, {
|
|
@@ -100,7 +96,6 @@ process.env.NODE_ENV !== "production" ? GridFilterInputDate.propTypes = {
|
|
|
100
96
|
applyValue: _propTypes.default.func.isRequired,
|
|
101
97
|
clearButton: _propTypes.default.node,
|
|
102
98
|
focusElementRef: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
103
|
-
headerFilterMenu: _propTypes.default.node,
|
|
104
99
|
/**
|
|
105
100
|
* It is `true` if the filter either has a value or an operator with no value
|
|
106
101
|
* required is selected (e.g. `isEmpty`)
|
|
@@ -14,7 +14,7 @@ var _styles = require("@mui/material/styles");
|
|
|
14
14
|
var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
|
|
15
15
|
var _filterPanelUtils = require("./filterPanelUtils");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "getOptionLabel", "getOptionValue", "placeholder", "tabIndex", "label", "
|
|
17
|
+
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "getOptionLabel", "getOptionValue", "placeholder", "tabIndex", "label", "isFilterActive", "clearButton"];
|
|
18
18
|
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); }
|
|
19
19
|
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; }
|
|
20
20
|
const renderSingleSelectOptions = ({
|
|
@@ -44,7 +44,10 @@ const renderSingleSelectOptions = ({
|
|
|
44
44
|
const SingleSelectOperatorContainer = (0, _styles.styled)('div')({
|
|
45
45
|
display: 'flex',
|
|
46
46
|
alignItems: 'flex-end',
|
|
47
|
-
width: '100%'
|
|
47
|
+
width: '100%',
|
|
48
|
+
[`& button`]: {
|
|
49
|
+
margin: 'auto 0px 5px 5px'
|
|
50
|
+
}
|
|
48
51
|
});
|
|
49
52
|
function GridFilterInputSingleSelect(props) {
|
|
50
53
|
const {
|
|
@@ -58,8 +61,6 @@ function GridFilterInputSingleSelect(props) {
|
|
|
58
61
|
placeholder,
|
|
59
62
|
tabIndex,
|
|
60
63
|
label: labelProp,
|
|
61
|
-
headerFilterMenu,
|
|
62
|
-
isFilterActive,
|
|
63
64
|
clearButton
|
|
64
65
|
} = props,
|
|
65
66
|
others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
@@ -123,6 +124,7 @@ function GridFilterInputSingleSelect(props) {
|
|
|
123
124
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseFormControl, {
|
|
124
125
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputLabel, (0, _extends2.default)({}, rootProps.slotProps?.baseInputLabel, {
|
|
125
126
|
id: labelId,
|
|
127
|
+
htmlFor: id,
|
|
126
128
|
shrink: true,
|
|
127
129
|
variant: "standard",
|
|
128
130
|
children: label
|
|
@@ -132,7 +134,6 @@ function GridFilterInputSingleSelect(props) {
|
|
|
132
134
|
labelId: labelId,
|
|
133
135
|
value: filterValueState,
|
|
134
136
|
onChange: onFilterChange,
|
|
135
|
-
startAdornment: isFilterActive ? headerFilterMenu : null,
|
|
136
137
|
variant: "standard",
|
|
137
138
|
type: type || 'text',
|
|
138
139
|
inputProps: {
|
|
@@ -177,7 +178,6 @@ process.env.NODE_ENV !== "production" ? GridFilterInputSingleSelect.propTypes =
|
|
|
177
178
|
* @returns {string} The value to be used.
|
|
178
179
|
*/
|
|
179
180
|
getOptionValue: _propTypes.default.func,
|
|
180
|
-
headerFilterMenu: _propTypes.default.node,
|
|
181
181
|
/**
|
|
182
182
|
* It is `true` if the filter either has a value or an operator with no value
|
|
183
183
|
* required is selected (e.g. `isEmpty`)
|
|
@@ -13,7 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
var _utils = require("@mui/utils");
|
|
14
14
|
var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "tabIndex", "disabled", "
|
|
16
|
+
const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "tabIndex", "disabled", "isFilterActive", "clearButton", "InputProps"];
|
|
17
17
|
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); }
|
|
18
18
|
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; }
|
|
19
19
|
const SUBMIT_FILTER_STROKE_TIME = 500;
|
|
@@ -27,8 +27,6 @@ function GridFilterInputValue(props) {
|
|
|
27
27
|
focusElementRef,
|
|
28
28
|
tabIndex,
|
|
29
29
|
disabled,
|
|
30
|
-
headerFilterMenu,
|
|
31
|
-
isFilterActive,
|
|
32
30
|
clearButton,
|
|
33
31
|
InputProps
|
|
34
32
|
} = props,
|
|
@@ -74,8 +72,6 @@ function GridFilterInputValue(props) {
|
|
|
74
72
|
fontSize: "small",
|
|
75
73
|
color: "action"
|
|
76
74
|
}) : clearButton
|
|
77
|
-
} : {}, headerFilterMenu && isFilterActive ? {
|
|
78
|
-
startAdornment: headerFilterMenu
|
|
79
75
|
} : {}, {
|
|
80
76
|
disabled
|
|
81
77
|
}, InputProps, {
|
|
@@ -100,7 +96,6 @@ process.env.NODE_ENV !== "production" ? GridFilterInputValue.propTypes = {
|
|
|
100
96
|
applyValue: _propTypes.default.func.isRequired,
|
|
101
97
|
clearButton: _propTypes.default.node,
|
|
102
98
|
focusElementRef: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
103
|
-
headerFilterMenu: _propTypes.default.node,
|
|
104
99
|
/**
|
|
105
100
|
* It is `true` if the filter either has a value or an operator with no value
|
|
106
101
|
* required is selected (e.g. `isEmpty`)
|
|
@@ -185,7 +185,15 @@ process.env.NODE_ENV !== "production" ? GridFilterPanel.propTypes = {
|
|
|
185
185
|
* If not specified, the order is derived from the `columns` prop.
|
|
186
186
|
*/
|
|
187
187
|
columnsSort: _propTypes.default.oneOf(['asc', 'desc']),
|
|
188
|
+
/**
|
|
189
|
+
* If `true`, the `Add filter` button will not be displayed.
|
|
190
|
+
* @default false
|
|
191
|
+
*/
|
|
188
192
|
disableAddFilterButton: _propTypes.default.bool,
|
|
193
|
+
/**
|
|
194
|
+
* If `true`, the `Remove all` button will be disabled
|
|
195
|
+
* @default false
|
|
196
|
+
*/
|
|
189
197
|
disableRemoveAllButton: _propTypes.default.bool,
|
|
190
198
|
/**
|
|
191
199
|
* Props passed to each filter form.
|
|
@@ -8,6 +8,7 @@ exports.GridToolbarColumnsButton = void 0;
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _utils = require("@mui/material/utils");
|
|
11
12
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
12
13
|
var _gridPreferencePanelSelector = require("../../hooks/features/preferencesPanel/gridPreferencePanelSelector");
|
|
13
14
|
var _gridPreferencePanelsValue = require("../../hooks/features/preferencesPanel/gridPreferencePanelsValue");
|
|
@@ -22,17 +23,16 @@ const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridTool
|
|
|
22
23
|
onClick
|
|
23
24
|
} = props,
|
|
24
25
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
26
|
+
const columnButtonId = (0, _utils.unstable_useId)();
|
|
27
|
+
const columnPanelId = (0, _utils.unstable_useId)();
|
|
25
28
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
26
29
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
27
|
-
const
|
|
28
|
-
open,
|
|
29
|
-
openedPanelValue
|
|
30
|
-
} = (0, _useGridSelector.useGridSelector)(apiRef, _gridPreferencePanelSelector.gridPreferencePanelStateSelector);
|
|
30
|
+
const preferencePanel = (0, _useGridSelector.useGridSelector)(apiRef, _gridPreferencePanelSelector.gridPreferencePanelStateSelector);
|
|
31
31
|
const showColumns = event => {
|
|
32
|
-
if (open && openedPanelValue === _gridPreferencePanelsValue.GridPreferencePanelsValue.columns) {
|
|
32
|
+
if (preferencePanel.open && preferencePanel.openedPanelValue === _gridPreferencePanelsValue.GridPreferencePanelsValue.columns) {
|
|
33
33
|
apiRef.current.hidePreferences();
|
|
34
34
|
} else {
|
|
35
|
-
apiRef.current.showPreferences(_gridPreferencePanelsValue.GridPreferencePanelsValue.columns);
|
|
35
|
+
apiRef.current.showPreferences(_gridPreferencePanelsValue.GridPreferencePanelsValue.columns, columnPanelId, columnButtonId);
|
|
36
36
|
}
|
|
37
37
|
onClick?.(event);
|
|
38
38
|
};
|
|
@@ -41,10 +41,15 @@ const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridTool
|
|
|
41
41
|
if (rootProps.disableColumnSelector) {
|
|
42
42
|
return null;
|
|
43
43
|
}
|
|
44
|
+
const isOpen = preferencePanel.open && preferencePanel.panelId === columnPanelId;
|
|
44
45
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
45
46
|
ref: ref,
|
|
47
|
+
id: columnButtonId,
|
|
46
48
|
size: "small",
|
|
47
49
|
"aria-label": apiRef.current.getLocaleText('toolbarColumnsLabel'),
|
|
50
|
+
"aria-haspopup": "menu",
|
|
51
|
+
"aria-expanded": isOpen,
|
|
52
|
+
"aria-controls": isOpen ? columnPanelId : undefined,
|
|
48
53
|
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnSelectorIcon, {})
|
|
49
54
|
}, other, {
|
|
50
55
|
onClick: showColumns
|
|
@@ -101,9 +101,9 @@ const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
101
101
|
size: "small",
|
|
102
102
|
startIcon: startIcon,
|
|
103
103
|
"aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
|
|
104
|
-
"aria-expanded": open ? 'true' : undefined,
|
|
105
104
|
"aria-haspopup": "menu",
|
|
106
|
-
"aria-
|
|
105
|
+
"aria-expanded": open,
|
|
106
|
+
"aria-controls": open ? densityMenuId : undefined,
|
|
107
107
|
id: densityButtonId
|
|
108
108
|
}, other, {
|
|
109
109
|
onClick: handleDensitySelectorOpen
|
|
@@ -27,8 +27,8 @@ const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
27
27
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
28
28
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
29
29
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
30
|
-
const
|
|
31
|
-
const
|
|
30
|
+
const exportButtonId = (0, _utils.unstable_useId)();
|
|
31
|
+
const exportMenuId = (0, _utils.unstable_useId)();
|
|
32
32
|
const [open, setOpen] = React.useState(false);
|
|
33
33
|
const buttonRef = React.useRef(null);
|
|
34
34
|
const handleRef = (0, _utils.unstable_useForkRef)(ref, buttonRef);
|
|
@@ -61,11 +61,11 @@ const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
61
61
|
ref: handleRef,
|
|
62
62
|
size: "small",
|
|
63
63
|
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.exportIcon, {}),
|
|
64
|
-
"aria-expanded": open
|
|
64
|
+
"aria-expanded": open,
|
|
65
65
|
"aria-label": apiRef.current.getLocaleText('toolbarExportLabel'),
|
|
66
66
|
"aria-haspopup": "menu",
|
|
67
|
-
"aria-
|
|
68
|
-
id:
|
|
67
|
+
"aria-controls": open ? exportMenuId : undefined,
|
|
68
|
+
id: exportButtonId
|
|
69
69
|
}, other, {
|
|
70
70
|
onClick: handleMenuOpen
|
|
71
71
|
}, rootProps.slotProps?.baseButton, {
|
|
@@ -76,9 +76,9 @@ const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
76
76
|
onClickAway: handleMenuClickAway,
|
|
77
77
|
position: "bottom-start",
|
|
78
78
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuList.default, {
|
|
79
|
-
id:
|
|
79
|
+
id: exportMenuId,
|
|
80
80
|
className: _gridClasses.gridClasses.menuList,
|
|
81
|
-
"aria-labelledby":
|
|
81
|
+
"aria-labelledby": exportButtonId,
|
|
82
82
|
onKeyDown: handleListKeyDown,
|
|
83
83
|
autoFocusItem: open,
|
|
84
84
|
children: React.Children.map(children, child => {
|
|
@@ -36,7 +36,7 @@ const useUtilityClasses = ownerState => {
|
|
|
36
36
|
const GridToolbarFilterListRoot = (0, _styles.styled)('ul', {
|
|
37
37
|
name: 'MuiDataGrid',
|
|
38
38
|
slot: 'ToolbarFilterList',
|
|
39
|
-
overridesResolver: (
|
|
39
|
+
overridesResolver: (_props, styles) => styles.toolbarFilterList
|
|
40
40
|
})(({
|
|
41
41
|
theme
|
|
42
42
|
}) => ({
|
|
@@ -55,6 +55,8 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
55
55
|
const lookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnLookupSelector);
|
|
56
56
|
const preferencePanel = (0, _useGridSelector.useGridSelector)(apiRef, _gridPreferencePanelSelector.gridPreferencePanelStateSelector);
|
|
57
57
|
const classes = useUtilityClasses(rootProps);
|
|
58
|
+
const filterButtonId = (0, _utils.unstable_useId)();
|
|
59
|
+
const filterPanelId = (0, _utils.unstable_useId)();
|
|
58
60
|
const tooltipContentNode = React.useMemo(() => {
|
|
59
61
|
if (preferencePanel.open) {
|
|
60
62
|
return apiRef.current.getLocaleText('toolbarFiltersTooltipHide');
|
|
@@ -89,9 +91,9 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
89
91
|
openedPanelValue
|
|
90
92
|
} = preferencePanel;
|
|
91
93
|
if (open && openedPanelValue === _gridPreferencePanelsValue.GridPreferencePanelsValue.filters) {
|
|
92
|
-
apiRef.current.
|
|
94
|
+
apiRef.current.hidePreferences();
|
|
93
95
|
} else {
|
|
94
|
-
apiRef.current.
|
|
96
|
+
apiRef.current.showPreferences(_gridPreferencePanelsValue.GridPreferencePanelsValue.filters, filterPanelId, filterButtonId);
|
|
95
97
|
}
|
|
96
98
|
buttonProps.onClick?.(event);
|
|
97
99
|
};
|
|
@@ -100,14 +102,19 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
100
102
|
if (rootProps.disableColumnFilter) {
|
|
101
103
|
return null;
|
|
102
104
|
}
|
|
105
|
+
const isOpen = preferencePanel.open && preferencePanel.panelId === filterPanelId;
|
|
103
106
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, (0, _extends2.default)({
|
|
104
107
|
title: tooltipContentNode,
|
|
105
108
|
enterDelay: 1000
|
|
106
109
|
}, other, rootProps.slotProps?.baseTooltip, {
|
|
107
110
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
108
111
|
ref: ref,
|
|
112
|
+
id: filterButtonId,
|
|
109
113
|
size: "small",
|
|
110
114
|
"aria-label": apiRef.current.getLocaleText('toolbarFiltersLabel'),
|
|
115
|
+
"aria-controls": isOpen ? filterPanelId : undefined,
|
|
116
|
+
"aria-expanded": isOpen,
|
|
117
|
+
"aria-haspopup": true,
|
|
111
118
|
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Badge.default, {
|
|
112
119
|
badgeContent: activeFilters.length,
|
|
113
120
|
color: "primary",
|
|
@@ -9,5 +9,5 @@ var _utils = require("@mui/utils");
|
|
|
9
9
|
function getDataGridUtilityClass(slot) {
|
|
10
10
|
return (0, _utils.unstable_generateUtilityClass)('MuiDataGrid', slot);
|
|
11
11
|
}
|
|
12
|
-
const gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell', 'cellContent', 'cellCheckbox', 'cellSkeleton', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorderColor', 'cell--withRightBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
12
|
+
const gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell', 'cellContent', 'cellCheckbox', 'cellSkeleton', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorderColor', 'cell--withRightBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
13
13
|
exports.gridClasses = gridClasses;
|
|
@@ -86,10 +86,10 @@ const GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
86
86
|
headerFilterOperatorIsAnyOf: 'Is any of',
|
|
87
87
|
'headerFilterOperator=': 'Equals',
|
|
88
88
|
'headerFilterOperator!=': 'Not equals',
|
|
89
|
-
'headerFilterOperator>': '
|
|
90
|
-
'headerFilterOperator>=': '
|
|
91
|
-
'headerFilterOperator<': '
|
|
92
|
-
'headerFilterOperator<=': '
|
|
89
|
+
'headerFilterOperator>': 'Greater than',
|
|
90
|
+
'headerFilterOperator>=': 'Greater than or equal to',
|
|
91
|
+
'headerFilterOperator<': 'Less than',
|
|
92
|
+
'headerFilterOperator<=': 'Less than or equal to',
|
|
93
93
|
// Filter values text
|
|
94
94
|
filterValueAny: 'any',
|
|
95
95
|
filterValueTrue: 'true',
|
|
@@ -16,7 +16,8 @@ exports.GRID_DEFAULT_STRATEGY = GRID_DEFAULT_STRATEGY;
|
|
|
16
16
|
const GRID_STRATEGIES_PROCESSORS = {
|
|
17
17
|
rowTreeCreation: 'rowTree',
|
|
18
18
|
filtering: 'rowTree',
|
|
19
|
-
sorting: 'rowTree'
|
|
19
|
+
sorting: 'rowTree',
|
|
20
|
+
visibleRowsLookupCreation: 'rowTree'
|
|
20
21
|
};
|
|
21
22
|
exports.GRID_STRATEGIES_PROCESSORS = GRID_STRATEGIES_PROCESSORS;
|
|
22
23
|
/**
|
|
@@ -27,11 +27,11 @@ exports.gridFilterModelSelector = gridFilterModelSelector;
|
|
|
27
27
|
const gridQuickFilterValuesSelector = (0, _createSelector.createSelector)(gridFilterModelSelector, filterModel => filterModel.quickFilterValues);
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
* @category
|
|
30
|
+
* @category Visible rows
|
|
31
31
|
* @ignore - do not document.
|
|
32
32
|
*/
|
|
33
33
|
exports.gridQuickFilterValuesSelector = gridQuickFilterValuesSelector;
|
|
34
|
-
const gridVisibleRowsLookupSelector =
|
|
34
|
+
const gridVisibleRowsLookupSelector = state => state.visibleRowsLookup;
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* @category Filtering
|
|
@@ -16,4 +16,10 @@ const getDefaultGridFilterModel = () => ({
|
|
|
16
16
|
* @param {GridRowId} rowId The id of the row we want to filter.
|
|
17
17
|
* @param {(filterItem: GridFilterItem) => boolean} shouldApplyItem An optional callback to allow the filtering engine to only apply some items.
|
|
18
18
|
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Visibility status for each row.
|
|
22
|
+
* A row is visible if it is passing the filters AND if its parents are expanded.
|
|
23
|
+
* If a row is not registered in this lookup, it is visible.
|
|
24
|
+
*/
|
|
19
25
|
exports.getDefaultGridFilterModel = getDefaultGridFilterModel;
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.useGridFilter = exports.filterStateInitializer = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _utils = require("@mui/utils");
|
|
10
11
|
var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
|
|
11
12
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
12
13
|
var _useGridLogger = require("../../utils/useGridLogger");
|
|
@@ -19,7 +20,7 @@ var _rows = require("../rows");
|
|
|
19
20
|
var _pipeProcessing = require("../../core/pipeProcessing");
|
|
20
21
|
var _strategyProcessing = require("../../core/strategyProcessing");
|
|
21
22
|
var _gridFilterUtils = require("./gridFilterUtils");
|
|
22
|
-
var
|
|
23
|
+
var _utils2 = require("../../../utils/utils");
|
|
23
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
25
|
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
26
|
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; }
|
|
@@ -28,18 +29,28 @@ const filterStateInitializer = (state, props, apiRef) => {
|
|
|
28
29
|
return (0, _extends2.default)({}, state, {
|
|
29
30
|
filter: {
|
|
30
31
|
filterModel: (0, _gridFilterUtils.sanitizeFilterModel)(filterModel, props.disableMultipleColumnsFiltering, apiRef),
|
|
31
|
-
visibleRowsLookup: {},
|
|
32
32
|
filteredDescendantCountLookup: {}
|
|
33
|
-
}
|
|
33
|
+
},
|
|
34
|
+
visibleRowsLookup: {}
|
|
34
35
|
});
|
|
35
36
|
};
|
|
37
|
+
exports.filterStateInitializer = filterStateInitializer;
|
|
38
|
+
const getVisibleRowsLookup = params => {
|
|
39
|
+
// For flat tree, the `visibleRowsLookup` and the `filteredRowsLookup` are equals since no row is collapsed.
|
|
40
|
+
return params.filteredRowsLookup;
|
|
41
|
+
};
|
|
42
|
+
function getVisibleRowsLookupState(apiRef, state) {
|
|
43
|
+
return apiRef.current.applyStrategyProcessor('visibleRowsLookupCreation', {
|
|
44
|
+
tree: state.rows.tree,
|
|
45
|
+
filteredRowsLookup: state.filter.filteredRowsLookup
|
|
46
|
+
});
|
|
47
|
+
}
|
|
36
48
|
|
|
37
49
|
/**
|
|
38
50
|
* @requires useGridColumns (method, event)
|
|
39
51
|
* @requires useGridParamsApi (method)
|
|
40
52
|
* @requires useGridRows (event)
|
|
41
53
|
*/
|
|
42
|
-
exports.filterStateInitializer = filterStateInitializer;
|
|
43
54
|
const useGridFilter = (apiRef, props) => {
|
|
44
55
|
const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useGridFilter');
|
|
45
56
|
apiRef.current.registerControlState({
|
|
@@ -57,9 +68,13 @@ const useGridFilter = (apiRef, props) => {
|
|
|
57
68
|
isRowMatchingFilters,
|
|
58
69
|
filterModel: filterModel ?? (0, _gridFilterState.getDefaultGridFilterModel)()
|
|
59
70
|
});
|
|
60
|
-
|
|
71
|
+
const newState = (0, _extends2.default)({}, state, {
|
|
61
72
|
filter: (0, _extends2.default)({}, state.filter, filteringResult)
|
|
62
73
|
});
|
|
74
|
+
const visibleRowsLookupState = getVisibleRowsLookupState(apiRef, newState);
|
|
75
|
+
return (0, _extends2.default)({}, newState, {
|
|
76
|
+
visibleRowsLookup: visibleRowsLookupState
|
|
77
|
+
});
|
|
63
78
|
});
|
|
64
79
|
apiRef.current.publishEvent('filteredRowsSet');
|
|
65
80
|
}, [props.filterMode, apiRef]);
|
|
@@ -115,7 +130,7 @@ const useGridFilter = (apiRef, props) => {
|
|
|
115
130
|
items
|
|
116
131
|
}), 'deleteFilterItem');
|
|
117
132
|
}, [apiRef]);
|
|
118
|
-
const showFilterPanel = React.useCallback(targetColumnField => {
|
|
133
|
+
const showFilterPanel = React.useCallback((targetColumnField, panelId, labelId) => {
|
|
119
134
|
logger.debug('Displaying filter panel');
|
|
120
135
|
if (targetColumnField) {
|
|
121
136
|
const filterModel = (0, _gridFilterSelector.gridFilterModelSelector)(apiRef);
|
|
@@ -160,7 +175,7 @@ const useGridFilter = (apiRef, props) => {
|
|
|
160
175
|
items: newFilterItems
|
|
161
176
|
}));
|
|
162
177
|
}
|
|
163
|
-
apiRef.current.showPreferences(_gridPreferencePanelsValue.GridPreferencePanelsValue.filters);
|
|
178
|
+
apiRef.current.showPreferences(_gridPreferencePanelsValue.GridPreferencePanelsValue.filters, panelId, labelId);
|
|
164
179
|
}, [apiRef, logger, props.disableMultipleColumnsFiltering]);
|
|
165
180
|
const hideFilterPanel = React.useCallback(() => {
|
|
166
181
|
logger.debug('Hiding filter panel');
|
|
@@ -177,7 +192,7 @@ const useGridFilter = (apiRef, props) => {
|
|
|
177
192
|
}, [apiRef]);
|
|
178
193
|
const setQuickFilterValues = React.useCallback(values => {
|
|
179
194
|
const filterModel = (0, _gridFilterSelector.gridFilterModelSelector)(apiRef);
|
|
180
|
-
if ((0,
|
|
195
|
+
if ((0, _utils2.isDeepEqual)(filterModel.quickFilterValues, values)) {
|
|
181
196
|
return;
|
|
182
197
|
}
|
|
183
198
|
apiRef.current.setFilterModel((0, _extends2.default)({}, filterModel, {
|
|
@@ -218,7 +233,7 @@ const useGridFilter = (apiRef, props) => {
|
|
|
218
233
|
// Always export if the model has been initialized
|
|
219
234
|
props.initialState?.filter?.filterModel != null ||
|
|
220
235
|
// Export if the model is not equal to the default value
|
|
221
|
-
!(0,
|
|
236
|
+
!(0, _utils2.isDeepEqual)(filterModelToExport, (0, _gridFilterState.getDefaultGridFilterModel)());
|
|
222
237
|
if (!shouldExportFilterModel) {
|
|
223
238
|
return prevState;
|
|
224
239
|
}
|
|
@@ -266,13 +281,10 @@ const useGridFilter = (apiRef, props) => {
|
|
|
266
281
|
}
|
|
267
282
|
return {
|
|
268
283
|
filteredRowsLookup,
|
|
269
|
-
// For flat tree, the `visibleRowsLookup` and the `filteredRowsLookup` are equals since no row is collapsed.
|
|
270
|
-
visibleRowsLookup: filteredRowsLookup,
|
|
271
284
|
filteredDescendantCountLookup: {}
|
|
272
285
|
};
|
|
273
286
|
}
|
|
274
287
|
return {
|
|
275
|
-
visibleRowsLookup: {},
|
|
276
288
|
filteredRowsLookup: {},
|
|
277
289
|
filteredDescendantCountLookup: {}
|
|
278
290
|
};
|
|
@@ -282,6 +294,7 @@ const useGridFilter = (apiRef, props) => {
|
|
|
282
294
|
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'restoreState', stateRestorePreProcessing);
|
|
283
295
|
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'preferencePanel', preferencePanelPreProcessing);
|
|
284
296
|
(0, _strategyProcessing.useGridRegisterStrategyProcessor)(apiRef, _strategyProcessing.GRID_DEFAULT_STRATEGY, 'filtering', flatFilteringMethod);
|
|
297
|
+
(0, _strategyProcessing.useGridRegisterStrategyProcessor)(apiRef, _strategyProcessing.GRID_DEFAULT_STRATEGY, 'visibleRowsLookupCreation', getVisibleRowsLookup);
|
|
285
298
|
|
|
286
299
|
/**
|
|
287
300
|
* EVENTS
|
|
@@ -302,13 +315,21 @@ const useGridFilter = (apiRef, props) => {
|
|
|
302
315
|
apiRef.current.unstable_applyFilters();
|
|
303
316
|
}
|
|
304
317
|
}, [apiRef]);
|
|
318
|
+
const updateVisibleRowsLookupState = React.useCallback(() => {
|
|
319
|
+
apiRef.current.setState(state => {
|
|
320
|
+
return (0, _extends2.default)({}, state, {
|
|
321
|
+
visibleRowsLookup: getVisibleRowsLookupState(apiRef, state)
|
|
322
|
+
});
|
|
323
|
+
});
|
|
324
|
+
apiRef.current.forceUpdate();
|
|
325
|
+
}, [apiRef]);
|
|
305
326
|
|
|
306
327
|
// Do not call `apiRef.current.forceUpdate` to avoid re-render before updating the sorted rows.
|
|
307
328
|
// Otherwise, the state is not consistent during the render
|
|
308
329
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'rowsSet', updateFilteredRows);
|
|
309
|
-
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'rowExpansionChange', apiRef.current.unstable_applyFilters);
|
|
310
330
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnsChange', handleColumnsChange);
|
|
311
331
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'activeStrategyProcessorChange', handleStrategyProcessorChange);
|
|
332
|
+
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'rowExpansionChange', updateVisibleRowsLookupState);
|
|
312
333
|
|
|
313
334
|
/**
|
|
314
335
|
* 1ST RENDER
|
|
@@ -320,7 +341,7 @@ const useGridFilter = (apiRef, props) => {
|
|
|
320
341
|
/**
|
|
321
342
|
* EFFECTS
|
|
322
343
|
*/
|
|
323
|
-
|
|
344
|
+
(0, _utils.unstable_useEnhancedEffect)(() => {
|
|
324
345
|
if (props.filterModel !== undefined) {
|
|
325
346
|
apiRef.current.setFilterModel(props.filterModel);
|
|
326
347
|
}
|
|
@@ -360,6 +360,7 @@ const useGridFocus = (apiRef, props) => {
|
|
|
360
360
|
};
|
|
361
361
|
}, [apiRef, handleDocumentClick]);
|
|
362
362
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnHeaderBlur', handleBlur);
|
|
363
|
+
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'headerFilterBlur', handleBlur);
|
|
363
364
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellDoubleClick', handleCellDoubleClick);
|
|
364
365
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellMouseDown', handleCellMouseDown);
|
|
365
366
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellKeyDown', handleCellKeyDown);
|
|
@@ -58,13 +58,15 @@ const useGridPreferencesPanel = (apiRef, props) => {
|
|
|
58
58
|
const hidePreferencesDelayed = React.useCallback(() => {
|
|
59
59
|
hideTimeout.current = setTimeout(hidePreferences, 100);
|
|
60
60
|
}, [hidePreferences]);
|
|
61
|
-
const showPreferences = React.useCallback(newValue => {
|
|
61
|
+
const showPreferences = React.useCallback((newValue, panelId, labelId) => {
|
|
62
62
|
logger.debug('Opening Preferences Panel');
|
|
63
63
|
doNotHidePanel();
|
|
64
64
|
apiRef.current.setState(state => (0, _extends2.default)({}, state, {
|
|
65
65
|
preferencePanel: (0, _extends2.default)({}, state.preferencePanel, {
|
|
66
66
|
open: true,
|
|
67
|
-
openedPanelValue: newValue
|
|
67
|
+
openedPanelValue: newValue,
|
|
68
|
+
panelId,
|
|
69
|
+
labelId
|
|
68
70
|
})
|
|
69
71
|
}));
|
|
70
72
|
apiRef.current.publishEvent('preferencePanelOpen', {
|