@mui/x-data-grid-pro 7.29.0 → 7.29.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +131 -0
- package/DataGridPro/DataGrid.js +2 -9
- package/DataGridPro/DataGridPro.js +231 -238
- package/DataGridPro/index.js +3 -39
- package/DataGridPro/package.json +2 -2
- package/DataGridPro/useDataGridProComponent.js +91 -99
- package/DataGridPro/useDataGridProProps.js +20 -28
- package/components/GridColumnHeaderCollapseIcon.js +0 -1
- package/components/GridColumnHeaders.js +39 -46
- package/components/GridColumnMenuPinningItem.js +39 -46
- package/components/GridDataSourceTreeDataGroupingCell.js +30 -38
- package/components/GridDetailPanel.js +14 -18
- package/components/GridDetailPanelToggleCell.js +35 -42
- package/components/GridDetailPanels.js +19 -25
- package/components/GridPinnedRows.js +12 -20
- package/components/GridProColumnMenu.js +11 -19
- package/components/GridRowReorderCell.js +36 -45
- package/components/GridTreeDataGroupingCell.js +37 -44
- package/components/headerFiltering/GridHeaderFilterCell.js +71 -78
- package/components/headerFiltering/GridHeaderFilterClearButton.js +9 -16
- package/components/headerFiltering/GridHeaderFilterMenu.js +36 -43
- package/components/headerFiltering/GridHeaderFilterMenuContainer.js +41 -48
- package/components/headerFiltering/index.js +3 -38
- package/components/index.js +7 -71
- package/components/package.json +2 -2
- package/components/reexports.js +1 -24
- package/constants/dataGridProDefaultSlotsComponents.js +16 -23
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +30 -39
- package/hooks/features/columnPinning/gridColumnPinningInterface.js +1 -5
- package/hooks/features/columnPinning/index.js +1 -16
- package/hooks/features/columnPinning/useGridColumnPinning.js +32 -42
- package/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +10 -19
- package/hooks/features/columnReorder/columnReorderInterfaces.js +1 -5
- package/hooks/features/columnReorder/columnReorderSelector.js +3 -10
- package/hooks/features/columnReorder/index.js +2 -16
- package/hooks/features/columnReorder/useGridColumnReorder.js +25 -35
- package/hooks/features/dataSource/cache.js +3 -11
- package/hooks/features/dataSource/gridDataSourceSelector.js +10 -18
- package/hooks/features/dataSource/interfaces.js +1 -5
- package/hooks/features/dataSource/useGridDataSource.js +34 -44
- package/hooks/features/dataSource/utils.js +9 -17
- package/hooks/features/detailPanel/gridDetailPanelInterface.js +1 -5
- package/hooks/features/detailPanel/gridDetailPanelSelector.js +5 -14
- package/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +14 -27
- package/hooks/features/detailPanel/index.js +3 -53
- package/hooks/features/detailPanel/useGridDetailPanel.js +39 -48
- package/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +18 -27
- package/hooks/features/index.js +9 -99
- package/hooks/features/infiniteLoader/useGridInfiniteLoader.js +18 -27
- package/hooks/features/lazyLoader/useGridLazyLoader.js +14 -22
- package/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +13 -22
- package/hooks/features/rowPinning/gridRowPinningInterface.js +1 -5
- package/hooks/features/rowPinning/gridRowPinningSelector.js +1 -18
- package/hooks/features/rowPinning/index.js +1 -16
- package/hooks/features/rowPinning/useGridRowPinning.js +13 -23
- package/hooks/features/rowPinning/useGridRowPinningPreProcessors.d.ts +1 -1
- package/hooks/features/rowPinning/useGridRowPinningPreProcessors.js +24 -34
- package/hooks/features/rowReorder/gridRowReorderColDef.js +5 -12
- package/hooks/features/rowReorder/index.js +1 -16
- package/hooks/features/rowReorder/useGridRowReorder.js +20 -29
- package/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +12 -21
- package/hooks/features/rows/index.js +1 -16
- package/hooks/features/rows/useGridRowAriaAttributes.js +14 -22
- package/hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js +37 -46
- package/hooks/features/serverSideTreeData/utils.js +6 -13
- package/hooks/features/treeData/gridTreeDataGroupColDef.js +9 -20
- package/hooks/features/treeData/gridTreeDataUtils.js +6 -12
- package/hooks/features/treeData/index.js +1 -12
- package/hooks/features/treeData/useGridTreeData.js +7 -15
- package/hooks/features/treeData/useGridTreeDataPreProcessors.js +37 -46
- package/hooks/index.js +1 -16
- package/hooks/package.json +2 -2
- package/hooks/utils/useGridApiContext.js +2 -8
- package/hooks/utils/useGridApiRef.js +2 -8
- package/hooks/utils/useGridAriaAttributes.js +8 -16
- package/hooks/utils/useGridPrivateApiContext.js +2 -8
- package/hooks/utils/useGridRootProps.js +2 -8
- package/index.js +19 -210
- package/internals/index.js +34 -301
- package/internals/package.json +2 -2
- package/internals/propValidation.js +2 -8
- package/locales/package.json +6 -0
- package/material/icons.js +7 -14
- package/material/index.js +6 -13
- package/material/package.json +2 -2
- package/models/dataGridProProps.js +1 -5
- package/models/gridApiPro.js +1 -5
- package/models/gridFetchRowsParams.js +1 -5
- package/models/gridGroupingColDefOverride.js +1 -5
- package/models/gridProIconSlotsComponent.js +1 -5
- package/models/gridProSlotProps.js +1 -5
- package/models/gridProSlotsComponent.js +1 -5
- package/models/gridRowOrderChangeParams.js +1 -5
- package/models/gridRowScrollEndParams.js +1 -5
- package/models/gridStatePro.js +1 -5
- package/models/index.js +8 -82
- package/models/package.json +2 -2
- package/modern/DataGridPro/useDataGridProProps.js +6 -5
- package/modern/components/GridDetailPanel.js +2 -0
- package/modern/components/GridDetailPanels.js +2 -0
- package/modern/components/headerFiltering/GridHeaderFilterMenu.js +2 -2
- package/modern/hooks/features/detailPanel/useGridDetailPanel.js +3 -2
- package/modern/index.js +1 -1
- package/modern/utils/releaseInfo.js +1 -1
- package/{esm → node}/DataGridPro/DataGrid.js +9 -2
- package/{esm → node}/DataGridPro/DataGridPro.js +238 -231
- package/node/DataGridPro/index.js +39 -0
- package/node/DataGridPro/useDataGridProComponent.js +111 -0
- package/node/DataGridPro/useDataGridProProps.js +62 -0
- package/node/components/GridColumnHeaderCollapseIcon.js +1 -0
- package/node/components/GridColumnHeaders.js +99 -0
- package/node/components/GridColumnMenuPinningItem.js +97 -0
- package/node/components/GridDataSourceTreeDataGroupingCell.js +118 -0
- package/{esm → node}/components/GridDetailPanel.js +20 -13
- package/node/components/GridDetailPanelToggleCell.js +128 -0
- package/node/components/GridDetailPanels.js +69 -0
- package/node/components/GridPinnedRows.js +48 -0
- package/node/components/GridProColumnMenu.js +29 -0
- package/{esm → node}/components/GridRowReorderCell.js +45 -36
- package/{esm → node}/components/GridTreeDataGroupingCell.js +44 -37
- package/{esm → node}/components/headerFiltering/GridHeaderFilterCell.js +78 -71
- package/node/components/headerFiltering/GridHeaderFilterClearButton.js +28 -0
- package/node/components/headerFiltering/GridHeaderFilterMenu.js +95 -0
- package/node/components/headerFiltering/GridHeaderFilterMenuContainer.js +106 -0
- package/node/components/headerFiltering/index.js +38 -0
- package/node/components/index.js +71 -0
- package/node/components/reexports.js +24 -0
- package/node/constants/dataGridProDefaultSlotsComponents.js +24 -0
- package/{esm → node}/hooks/features/columnHeaders/useGridColumnHeaders.js +39 -30
- package/node/hooks/features/columnPinning/gridColumnPinningInterface.js +5 -0
- package/node/hooks/features/columnPinning/index.js +16 -0
- package/{esm → node}/hooks/features/columnPinning/useGridColumnPinning.js +42 -32
- package/{esm → node}/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +19 -10
- package/node/hooks/features/columnReorder/columnReorderInterfaces.js +5 -0
- package/node/hooks/features/columnReorder/columnReorderSelector.js +10 -0
- package/node/hooks/features/columnReorder/index.js +16 -0
- package/{esm → node}/hooks/features/columnReorder/useGridColumnReorder.js +35 -25
- package/{esm → node}/hooks/features/dataSource/cache.js +11 -3
- package/node/hooks/features/dataSource/gridDataSourceSelector.js +32 -0
- package/node/hooks/features/dataSource/interfaces.js +5 -0
- package/{esm → node}/hooks/features/dataSource/useGridDataSource.js +44 -34
- package/{esm → node}/hooks/features/dataSource/utils.js +17 -9
- package/node/hooks/features/detailPanel/gridDetailPanelInterface.js +5 -0
- package/node/hooks/features/detailPanel/gridDetailPanelSelector.js +21 -0
- package/node/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +47 -0
- package/node/hooks/features/detailPanel/index.js +53 -0
- package/{esm → node}/hooks/features/detailPanel/useGridDetailPanel.js +49 -38
- package/node/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +52 -0
- package/node/hooks/features/index.js +99 -0
- package/{esm → node}/hooks/features/infiniteLoader/useGridInfiniteLoader.js +27 -18
- package/{esm → node}/hooks/features/lazyLoader/useGridLazyLoader.js +22 -14
- package/node/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +43 -0
- package/node/hooks/features/rowPinning/gridRowPinningInterface.js +5 -0
- package/node/hooks/features/rowPinning/gridRowPinningSelector.js +18 -0
- package/node/hooks/features/rowPinning/index.js +16 -0
- package/node/hooks/features/rowPinning/useGridRowPinning.js +62 -0
- package/{esm → node}/hooks/features/rowPinning/useGridRowPinningPreProcessors.js +34 -24
- package/node/hooks/features/rowReorder/gridRowReorderColDef.js +27 -0
- package/node/hooks/features/rowReorder/index.js +16 -0
- package/{esm → node}/hooks/features/rowReorder/useGridRowReorder.js +29 -20
- package/{esm → node}/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +21 -12
- package/node/hooks/features/rows/index.js +16 -0
- package/node/hooks/features/rows/useGridRowAriaAttributes.js +45 -0
- package/{esm → node}/hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js +46 -37
- package/node/hooks/features/serverSideTreeData/utils.js +27 -0
- package/node/hooks/features/treeData/gridTreeDataGroupColDef.js +38 -0
- package/{esm → node}/hooks/features/treeData/gridTreeDataUtils.js +12 -6
- package/node/hooks/features/treeData/index.js +12 -0
- package/node/hooks/features/treeData/useGridTreeData.js +30 -0
- package/{esm → node}/hooks/features/treeData/useGridTreeDataPreProcessors.js +46 -37
- package/node/hooks/index.js +16 -0
- package/node/hooks/utils/useGridApiContext.js +8 -0
- package/node/hooks/utils/useGridApiRef.js +8 -0
- package/node/hooks/utils/useGridAriaAttributes.js +19 -0
- package/node/hooks/utils/useGridPrivateApiContext.js +8 -0
- package/node/hooks/utils/useGridRootProps.js +8 -0
- package/node/index.js +220 -0
- package/node/internals/index.js +302 -0
- package/node/internals/propValidation.js +8 -0
- package/node/material/icons.js +24 -0
- package/node/material/index.js +15 -0
- package/node/models/dataGridProProps.js +5 -0
- package/node/models/gridApiPro.js +5 -0
- package/node/models/gridFetchRowsParams.js +5 -0
- package/node/models/gridGroupingColDefOverride.js +5 -0
- package/node/models/gridProIconSlotsComponent.js +5 -0
- package/node/models/gridProSlotProps.js +5 -0
- package/node/models/gridProSlotsComponent.js +5 -0
- package/node/models/gridRowOrderChangeParams.js +5 -0
- package/node/models/gridRowScrollEndParams.js +5 -0
- package/node/models/gridStatePro.js +5 -0
- package/node/models/index.js +82 -0
- package/node/themeAugmentation/index.js +27 -0
- package/node/themeAugmentation/overrides.js +5 -0
- package/node/themeAugmentation/props.js +5 -0
- package/node/typeOverloads/index.js +16 -0
- package/node/typeOverloads/modules.js +5 -0
- package/node/typeOverloads/reexports.js +26 -0
- package/node/utils/index.js +16 -0
- package/node/utils/releaseInfo.js +20 -0
- package/{esm → node}/utils/tree/createRowTree.js +14 -7
- package/node/utils/tree/index.js +12 -0
- package/{esm → node}/utils/tree/insertDataRowInTree.js +18 -11
- package/node/utils/tree/models.js +5 -0
- package/{esm → node}/utils/tree/removeDataRowFromTree.js +16 -9
- package/{esm → node}/utils/tree/sortRowTree.js +12 -5
- package/{esm → node}/utils/tree/updateRowTree.js +26 -18
- package/{esm → node}/utils/tree/utils.js +34 -18
- package/package.json +6 -6
- package/themeAugmentation/index.js +4 -27
- package/themeAugmentation/overrides.js +1 -5
- package/themeAugmentation/package.json +2 -2
- package/themeAugmentation/props.js +1 -5
- package/typeOverloads/index.js +1 -16
- package/typeOverloads/modules.js +1 -5
- package/typeOverloads/package.json +2 -2
- package/typeOverloads/reexports.js +14 -25
- package/utils/index.js +1 -16
- package/utils/package.json +2 -2
- package/utils/releaseInfo.js +5 -12
- package/utils/tree/createRowTree.js +7 -14
- package/utils/tree/index.js +1 -12
- package/utils/tree/insertDataRowInTree.js +11 -18
- package/utils/tree/models.js +1 -5
- package/utils/tree/removeDataRowFromTree.js +9 -16
- package/utils/tree/sortRowTree.js +5 -12
- package/utils/tree/updateRowTree.js +18 -26
- package/utils/tree/utils.js +18 -34
- package/esm/DataGridPro/index.js +0 -3
- package/esm/DataGridPro/useDataGridProComponent.js +0 -103
- package/esm/DataGridPro/useDataGridProProps.js +0 -52
- package/esm/components/GridColumnHeaderCollapseIcon.js +0 -0
- package/esm/components/GridColumnHeaders.js +0 -92
- package/esm/components/GridColumnMenuPinningItem.js +0 -90
- package/esm/components/GridDataSourceTreeDataGroupingCell.js +0 -110
- package/esm/components/GridDetailPanelToggleCell.js +0 -121
- package/esm/components/GridDetailPanels.js +0 -60
- package/esm/components/GridPinnedRows.js +0 -40
- package/esm/components/GridProColumnMenu.js +0 -21
- package/esm/components/headerFiltering/GridHeaderFilterClearButton.js +0 -21
- package/esm/components/headerFiltering/GridHeaderFilterMenu.js +0 -88
- package/esm/components/headerFiltering/GridHeaderFilterMenuContainer.js +0 -99
- package/esm/components/headerFiltering/index.js +0 -3
- package/esm/components/index.js +0 -7
- package/esm/components/reexports.js +0 -1
- package/esm/constants/dataGridProDefaultSlotsComponents.js +0 -17
- package/esm/hooks/features/columnPinning/gridColumnPinningInterface.js +0 -1
- package/esm/hooks/features/columnPinning/index.js +0 -1
- package/esm/hooks/features/columnReorder/columnReorderInterfaces.js +0 -1
- package/esm/hooks/features/columnReorder/columnReorderSelector.js +0 -3
- package/esm/hooks/features/columnReorder/index.js +0 -2
- package/esm/hooks/features/dataSource/gridDataSourceSelector.js +0 -24
- package/esm/hooks/features/dataSource/interfaces.js +0 -1
- package/esm/hooks/features/detailPanel/gridDetailPanelInterface.js +0 -1
- package/esm/hooks/features/detailPanel/gridDetailPanelSelector.js +0 -12
- package/esm/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +0 -34
- package/esm/hooks/features/detailPanel/index.js +0 -3
- package/esm/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +0 -43
- package/esm/hooks/features/index.js +0 -9
- package/esm/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +0 -34
- package/esm/hooks/features/rowPinning/gridRowPinningInterface.js +0 -1
- package/esm/hooks/features/rowPinning/gridRowPinningSelector.js +0 -1
- package/esm/hooks/features/rowPinning/index.js +0 -1
- package/esm/hooks/features/rowPinning/useGridRowPinning.js +0 -52
- package/esm/hooks/features/rowReorder/gridRowReorderColDef.js +0 -20
- package/esm/hooks/features/rowReorder/index.js +0 -1
- package/esm/hooks/features/rows/index.js +0 -1
- package/esm/hooks/features/rows/useGridRowAriaAttributes.js +0 -37
- package/esm/hooks/features/serverSideTreeData/utils.js +0 -20
- package/esm/hooks/features/treeData/gridTreeDataGroupColDef.js +0 -27
- package/esm/hooks/features/treeData/index.js +0 -1
- package/esm/hooks/features/treeData/useGridTreeData.js +0 -22
- package/esm/hooks/index.js +0 -1
- package/esm/hooks/utils/useGridApiContext.js +0 -2
- package/esm/hooks/utils/useGridApiRef.js +0 -2
- package/esm/hooks/utils/useGridAriaAttributes.js +0 -11
- package/esm/hooks/utils/useGridPrivateApiContext.js +0 -2
- package/esm/hooks/utils/useGridRootProps.js +0 -2
- package/esm/index.js +0 -22
- package/esm/internals/index.js +0 -35
- package/esm/internals/propValidation.js +0 -2
- package/esm/material/icons.js +0 -17
- package/esm/material/index.js +0 -8
- package/esm/models/dataGridProProps.js +0 -1
- package/esm/models/gridApiPro.js +0 -1
- package/esm/models/gridFetchRowsParams.js +0 -1
- package/esm/models/gridGroupingColDefOverride.js +0 -1
- package/esm/models/gridProIconSlotsComponent.js +0 -1
- package/esm/models/gridProSlotProps.js +0 -1
- package/esm/models/gridProSlotsComponent.js +0 -1
- package/esm/models/gridRowOrderChangeParams.js +0 -1
- package/esm/models/gridRowScrollEndParams.js +0 -1
- package/esm/models/gridStatePro.js +0 -1
- package/esm/models/index.js +0 -8
- package/esm/themeAugmentation/index.js +0 -4
- package/esm/themeAugmentation/overrides.js +0 -1
- package/esm/themeAugmentation/props.js +0 -1
- package/esm/typeOverloads/index.js +0 -1
- package/esm/typeOverloads/modules.js +0 -1
- package/esm/typeOverloads/reexports.js +0 -15
- package/esm/utils/index.js +0 -1
- package/esm/utils/releaseInfo.js +0 -13
- package/esm/utils/tree/index.js +0 -1
- package/esm/utils/tree/models.js +0 -1
- /package/{locales.d.ts → locales/index.d.ts} +0 -0
- /package/{esm/locales.js → locales/index.js} +0 -0
- /package/modern/{locales.js → locales/index.js} +0 -0
- /package/{locales.js → node/locales/index.js} +0 -0
|
@@ -1,19 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.GridHeaderFilterCell = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
14
|
+
var _utils = require("@mui/utils");
|
|
15
|
+
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
16
|
+
var _xDataGrid = require("@mui/x-data-grid");
|
|
17
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
18
|
+
var _RtlProvider = require("@mui/system/RtlProvider");
|
|
19
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
20
|
+
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
21
|
+
var _GridHeaderFilterMenuContainer = require("./GridHeaderFilterMenuContainer");
|
|
22
|
+
var _GridHeaderFilterClearButton = require("./GridHeaderFilterClearButton");
|
|
23
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
3
24
|
const _excluded = ["colIndex", "height", "hasFocus", "width", "headerClassName", "colDef", "item", "headerFilterMenuRef", "InputComponentProps", "showClearIcon", "pinnedPosition", "pinnedOffset", "style", "showLeftBorder", "showRightBorder"];
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import PropTypes from 'prop-types';
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
import { unstable_useForkRef as useForkRef, unstable_composeClasses as composeClasses, unstable_capitalize as capitalize } from '@mui/utils';
|
|
8
|
-
import { fastMemo } from '@mui/x-internals/fastMemo';
|
|
9
|
-
import { gridVisibleColumnFieldsSelector, getDataGridUtilityClass, useGridSelector, GridFilterInputValue, GridFilterInputDate, GridFilterInputBoolean, GridFilterInputSingleSelect, gridFilterModelSelector, gridFilterableColumnLookupSelector } from '@mui/x-data-grid';
|
|
10
|
-
import { PinnedColumnPosition, useGridPrivateApiContext, gridHeaderFilteringEditFieldSelector, gridHeaderFilteringMenuSelector, isNavigationKey, attachPinnedStyle } from '@mui/x-data-grid/internals';
|
|
11
|
-
import { useRtl } from '@mui/system/RtlProvider';
|
|
12
|
-
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
13
|
-
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
14
|
-
import { GridHeaderFilterMenuContainer } from "./GridHeaderFilterMenuContainer.js";
|
|
15
|
-
import { GridHeaderFilterClearButton } from "./GridHeaderFilterClearButton.js";
|
|
16
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
25
|
const useUtilityClasses = ownerState => {
|
|
18
26
|
const {
|
|
19
27
|
colDef,
|
|
@@ -23,9 +31,9 @@ const useUtilityClasses = ownerState => {
|
|
|
23
31
|
pinnedPosition
|
|
24
32
|
} = ownerState;
|
|
25
33
|
const slots = {
|
|
26
|
-
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', 'withBorderColor', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', pinnedPosition === PinnedColumnPosition.LEFT && 'columnHeader--pinnedLeft', pinnedPosition === PinnedColumnPosition.RIGHT && 'columnHeader--pinnedRight']
|
|
34
|
+
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', 'withBorderColor', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', pinnedPosition === _internals.PinnedColumnPosition.LEFT && 'columnHeader--pinnedLeft', pinnedPosition === _internals.PinnedColumnPosition.RIGHT && 'columnHeader--pinnedRight']
|
|
27
35
|
};
|
|
28
|
-
return
|
|
36
|
+
return (0, _utils.unstable_composeClasses)(slots, _xDataGrid.getDataGridUtilityClass, classes);
|
|
29
37
|
};
|
|
30
38
|
const emptyFieldSx = {
|
|
31
39
|
[`& input[value=""]:not(:focus)`]: {
|
|
@@ -33,16 +41,16 @@ const emptyFieldSx = {
|
|
|
33
41
|
}
|
|
34
42
|
};
|
|
35
43
|
const defaultInputComponents = {
|
|
36
|
-
string: GridFilterInputValue,
|
|
37
|
-
number: GridFilterInputValue,
|
|
38
|
-
date: GridFilterInputDate,
|
|
39
|
-
dateTime: GridFilterInputDate,
|
|
40
|
-
boolean: GridFilterInputBoolean,
|
|
41
|
-
singleSelect: GridFilterInputSingleSelect,
|
|
44
|
+
string: _xDataGrid.GridFilterInputValue,
|
|
45
|
+
number: _xDataGrid.GridFilterInputValue,
|
|
46
|
+
date: _xDataGrid.GridFilterInputDate,
|
|
47
|
+
dateTime: _xDataGrid.GridFilterInputDate,
|
|
48
|
+
boolean: _xDataGrid.GridFilterInputBoolean,
|
|
49
|
+
singleSelect: _xDataGrid.GridFilterInputSingleSelect,
|
|
42
50
|
actions: null,
|
|
43
51
|
custom: null
|
|
44
52
|
};
|
|
45
|
-
const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
53
|
+
const GridHeaderFilterCell = (0, _forwardRef.forwardRef)((props, ref) => {
|
|
46
54
|
const {
|
|
47
55
|
colIndex,
|
|
48
56
|
height,
|
|
@@ -60,18 +68,18 @@ const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
|
60
68
|
showLeftBorder,
|
|
61
69
|
showRightBorder
|
|
62
70
|
} = props,
|
|
63
|
-
other =
|
|
64
|
-
const apiRef = useGridPrivateApiContext();
|
|
65
|
-
const isRtl = useRtl();
|
|
66
|
-
const columnFields = useGridSelector(apiRef, gridVisibleColumnFieldsSelector);
|
|
67
|
-
const rootProps = useGridRootProps();
|
|
71
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
72
|
+
const apiRef = (0, _internals.useGridPrivateApiContext)();
|
|
73
|
+
const isRtl = (0, _RtlProvider.useRtl)();
|
|
74
|
+
const columnFields = (0, _xDataGrid.useGridSelector)(apiRef, _xDataGrid.gridVisibleColumnFieldsSelector);
|
|
75
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
68
76
|
const cellRef = React.useRef(null);
|
|
69
|
-
const handleRef =
|
|
77
|
+
const handleRef = (0, _utils.unstable_useForkRef)(ref, cellRef);
|
|
70
78
|
const inputRef = React.useRef(null);
|
|
71
79
|
const buttonRef = React.useRef(null);
|
|
72
|
-
const editingField = useGridSelector(apiRef, gridHeaderFilteringEditFieldSelector);
|
|
80
|
+
const editingField = (0, _xDataGrid.useGridSelector)(apiRef, _internals.gridHeaderFilteringEditFieldSelector);
|
|
73
81
|
const isEditing = editingField === colDef.field;
|
|
74
|
-
const menuOpenField = useGridSelector(apiRef, gridHeaderFilteringMenuSelector);
|
|
82
|
+
const menuOpenField = (0, _xDataGrid.useGridSelector)(apiRef, _internals.gridHeaderFilteringMenuSelector);
|
|
75
83
|
const isMenuOpen = menuOpenField === colDef.field;
|
|
76
84
|
|
|
77
85
|
// TODO: Support for `isAnyOf` operator
|
|
@@ -81,8 +89,8 @@ const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
|
81
89
|
}
|
|
82
90
|
return colDef.filterOperators.filter(operator => operator.value !== 'isAnyOf');
|
|
83
91
|
}, [colDef.filterOperators]);
|
|
84
|
-
const filterModel = useGridSelector(apiRef, gridFilterModelSelector);
|
|
85
|
-
const filterableColumnsLookup = useGridSelector(apiRef, gridFilterableColumnLookupSelector);
|
|
92
|
+
const filterModel = (0, _xDataGrid.useGridSelector)(apiRef, _xDataGrid.gridFilterModelSelector);
|
|
93
|
+
const filterableColumnsLookup = (0, _xDataGrid.useGridSelector)(apiRef, _xDataGrid.gridFilterableColumnLookupSelector);
|
|
86
94
|
const isFilterReadOnly = React.useMemo(() => {
|
|
87
95
|
if (!filterModel?.items.length) {
|
|
88
96
|
return false;
|
|
@@ -97,7 +105,7 @@ const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
|
97
105
|
}, [apiRef, item]);
|
|
98
106
|
let headerFilterComponent;
|
|
99
107
|
if (colDef.renderHeaderFilter) {
|
|
100
|
-
headerFilterComponent = colDef.renderHeaderFilter(
|
|
108
|
+
headerFilterComponent = colDef.renderHeaderFilter((0, _extends2.default)({}, props, {
|
|
101
109
|
inputRef
|
|
102
110
|
}));
|
|
103
111
|
}
|
|
@@ -115,7 +123,7 @@ const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
|
115
123
|
}
|
|
116
124
|
}, [InputComponent, apiRef, hasFocus, isEditing, isMenuOpen]);
|
|
117
125
|
const onKeyDown = React.useCallback(event => {
|
|
118
|
-
if (isMenuOpen || isNavigationKey(event.key) || isFilterReadOnly) {
|
|
126
|
+
if (isMenuOpen || (0, _internals.isNavigationKey)(event.key) || isFilterReadOnly) {
|
|
119
127
|
return;
|
|
120
128
|
}
|
|
121
129
|
switch (event.key) {
|
|
@@ -177,7 +185,7 @@ const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
|
177
185
|
onMouseDown: publish('headerFilterMouseDown', onMouseDown),
|
|
178
186
|
onBlur: publish('headerFilterBlur')
|
|
179
187
|
}), [onMouseDown, onKeyDown, publish]);
|
|
180
|
-
const ownerState =
|
|
188
|
+
const ownerState = (0, _extends2.default)({}, rootProps, {
|
|
181
189
|
pinnedPosition,
|
|
182
190
|
colDef,
|
|
183
191
|
showLeftBorder,
|
|
@@ -186,11 +194,11 @@ const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
|
186
194
|
const classes = useUtilityClasses(ownerState);
|
|
187
195
|
const isNoInputOperator = currentOperator.requiresFilterValue === false;
|
|
188
196
|
const isApplied = item?.value !== undefined || isNoInputOperator;
|
|
189
|
-
const label = currentOperator.headerLabel ?? apiRef.current.getLocaleText(`headerFilterOperator${
|
|
197
|
+
const label = currentOperator.headerLabel ?? apiRef.current.getLocaleText(`headerFilterOperator${(0, _utils.unstable_capitalize)(item.operator)}`);
|
|
190
198
|
const isFilterActive = isApplied || hasFocus;
|
|
191
|
-
return /*#__PURE__*/
|
|
192
|
-
className:
|
|
193
|
-
style: attachPinnedStyle(
|
|
199
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
|
|
200
|
+
className: (0, _clsx.default)(classes.root, headerClassName),
|
|
201
|
+
style: (0, _internals.attachPinnedStyle)((0, _extends2.default)({
|
|
194
202
|
height,
|
|
195
203
|
width
|
|
196
204
|
}, styleProp), isRtl, pinnedPosition, pinnedOffset),
|
|
@@ -199,8 +207,8 @@ const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
|
199
207
|
"aria-label": headerFilterComponent == null ? colDef.headerName ?? colDef.field : undefined
|
|
200
208
|
}, other, mouseEventsHandlers, {
|
|
201
209
|
ref: handleRef,
|
|
202
|
-
children: [headerFilterComponent, InputComponent && headerFilterComponent === undefined ? /*#__PURE__*/
|
|
203
|
-
children: [/*#__PURE__*/
|
|
210
|
+
children: [headerFilterComponent, InputComponent && headerFilterComponent === undefined ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
211
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(InputComponent, (0, _extends2.default)({
|
|
204
212
|
apiRef: apiRef,
|
|
205
213
|
item: item,
|
|
206
214
|
inputRef: inputRef,
|
|
@@ -210,7 +218,7 @@ const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
|
210
218
|
apiRef.current.stopHeaderFilterEditMode();
|
|
211
219
|
// Blurring an input element should reset focus state only if `relatedTarget` is not the header filter cell
|
|
212
220
|
if (!event.relatedTarget?.className.includes('columnHeader')) {
|
|
213
|
-
apiRef.current.setState(state =>
|
|
221
|
+
apiRef.current.setState(state => (0, _extends2.default)({}, state, {
|
|
214
222
|
focus: {
|
|
215
223
|
cell: null,
|
|
216
224
|
columnHeader: null,
|
|
@@ -220,10 +228,10 @@ const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
|
220
228
|
}));
|
|
221
229
|
}
|
|
222
230
|
},
|
|
223
|
-
label:
|
|
231
|
+
label: (0, _utils.unstable_capitalize)(label),
|
|
224
232
|
placeholder: "",
|
|
225
233
|
isFilterActive: isFilterActive,
|
|
226
|
-
clearButton: showClearIcon && isApplied ? /*#__PURE__*/
|
|
234
|
+
clearButton: showClearIcon && isApplied ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeaderFilterClearButton.GridHeaderFilterClearButton, {
|
|
227
235
|
onClick: clearFilterItem,
|
|
228
236
|
disabled: isFilterReadOnly
|
|
229
237
|
}) : null,
|
|
@@ -233,7 +241,7 @@ const GridHeaderFilterCell = forwardRef((props, ref) => {
|
|
|
233
241
|
sx: colDef.type === 'date' || colDef.type === 'dateTime' || colDef.type === 'number' ? emptyFieldSx : undefined
|
|
234
242
|
}, isNoInputOperator ? {
|
|
235
243
|
value: ''
|
|
236
|
-
} : {}, currentOperator?.InputComponentProps, InputComponentProps)), /*#__PURE__*/
|
|
244
|
+
} : {}, currentOperator?.InputComponentProps, InputComponentProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeaderFilterMenuContainer.GridHeaderFilterMenuContainer, {
|
|
237
245
|
operators: filterOperators,
|
|
238
246
|
item: item,
|
|
239
247
|
field: colDef.field,
|
|
@@ -250,33 +258,32 @@ process.env.NODE_ENV !== "production" ? GridHeaderFilterCell.propTypes = {
|
|
|
250
258
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
251
259
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
252
260
|
// ----------------------------------------------------------------------
|
|
253
|
-
colDef:
|
|
254
|
-
colIndex:
|
|
255
|
-
hasFocus:
|
|
261
|
+
colDef: _propTypes.default.object.isRequired,
|
|
262
|
+
colIndex: _propTypes.default.number.isRequired,
|
|
263
|
+
hasFocus: _propTypes.default.bool,
|
|
256
264
|
/**
|
|
257
265
|
* Class name added to the column header cell.
|
|
258
266
|
*/
|
|
259
|
-
headerClassName:
|
|
260
|
-
headerFilterMenuRef:
|
|
261
|
-
current:
|
|
267
|
+
headerClassName: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
|
|
268
|
+
headerFilterMenuRef: _propTypes.default.shape({
|
|
269
|
+
current: _propTypes.default.object
|
|
262
270
|
}).isRequired,
|
|
263
|
-
height:
|
|
264
|
-
InputComponentProps:
|
|
265
|
-
item:
|
|
266
|
-
field:
|
|
267
|
-
id:
|
|
268
|
-
operator:
|
|
269
|
-
value:
|
|
271
|
+
height: _propTypes.default.number.isRequired,
|
|
272
|
+
InputComponentProps: _propTypes.default.object,
|
|
273
|
+
item: _propTypes.default.shape({
|
|
274
|
+
field: _propTypes.default.string.isRequired,
|
|
275
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
276
|
+
operator: _propTypes.default.string.isRequired,
|
|
277
|
+
value: _propTypes.default.any
|
|
270
278
|
}).isRequired,
|
|
271
|
-
pinnedOffset:
|
|
272
|
-
pinnedPosition:
|
|
273
|
-
showClearIcon:
|
|
274
|
-
showLeftBorder:
|
|
275
|
-
showRightBorder:
|
|
276
|
-
sortIndex:
|
|
277
|
-
style:
|
|
278
|
-
tabIndex:
|
|
279
|
-
width:
|
|
279
|
+
pinnedOffset: _propTypes.default.number,
|
|
280
|
+
pinnedPosition: _propTypes.default.oneOf([0, 1, 2, 3]),
|
|
281
|
+
showClearIcon: _propTypes.default.bool,
|
|
282
|
+
showLeftBorder: _propTypes.default.bool.isRequired,
|
|
283
|
+
showRightBorder: _propTypes.default.bool.isRequired,
|
|
284
|
+
sortIndex: _propTypes.default.number,
|
|
285
|
+
style: _propTypes.default.object,
|
|
286
|
+
tabIndex: _propTypes.default.oneOf([-1, 0]).isRequired,
|
|
287
|
+
width: _propTypes.default.number.isRequired
|
|
280
288
|
} : void 0;
|
|
281
|
-
const Memoized = fastMemo(GridHeaderFilterCell);
|
|
282
|
-
export { Memoized as GridHeaderFilterCell };
|
|
289
|
+
const Memoized = exports.GridHeaderFilterCell = (0, _fastMemo.fastMemo)(GridHeaderFilterCell);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.GridHeaderFilterClearButton = GridHeaderFilterClearButton;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
const sx = {
|
|
14
|
+
padding: '2px'
|
|
15
|
+
};
|
|
16
|
+
function GridHeaderFilterClearButton(props) {
|
|
17
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
18
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
|
|
19
|
+
tabIndex: -1,
|
|
20
|
+
"aria-label": "Clear filter",
|
|
21
|
+
size: "small",
|
|
22
|
+
sx: sx
|
|
23
|
+
}, props, rootProps.slotProps?.baseIconButton, {
|
|
24
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnMenuClearIcon, {
|
|
25
|
+
fontSize: "inherit"
|
|
26
|
+
})
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.GridHeaderFilterMenu = GridHeaderFilterMenu;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
|
|
13
|
+
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
14
|
+
var _utils = require("@mui/utils");
|
|
15
|
+
var _xDataGrid = require("@mui/x-data-grid");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
function GridHeaderFilterMenu({
|
|
18
|
+
open,
|
|
19
|
+
field,
|
|
20
|
+
target,
|
|
21
|
+
applyFilterChanges,
|
|
22
|
+
operators,
|
|
23
|
+
item,
|
|
24
|
+
id,
|
|
25
|
+
labelledBy
|
|
26
|
+
}) {
|
|
27
|
+
const apiRef = (0, _xDataGrid.useGridApiContext)();
|
|
28
|
+
const hideMenu = React.useCallback(() => {
|
|
29
|
+
apiRef.current.hideHeaderFilterMenu();
|
|
30
|
+
}, [apiRef]);
|
|
31
|
+
const handleListKeyDown = React.useCallback(event => {
|
|
32
|
+
if (event.key === 'Tab') {
|
|
33
|
+
event.preventDefault();
|
|
34
|
+
}
|
|
35
|
+
if (event.key === 'Escape' || event.key === 'Tab') {
|
|
36
|
+
hideMenu();
|
|
37
|
+
}
|
|
38
|
+
}, [hideMenu]);
|
|
39
|
+
if (!target) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGrid.GridMenu, {
|
|
43
|
+
placement: "bottom-end",
|
|
44
|
+
open: open,
|
|
45
|
+
target: target,
|
|
46
|
+
onClose: hideMenu,
|
|
47
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuList.default, {
|
|
48
|
+
"aria-labelledby": labelledBy,
|
|
49
|
+
id: id,
|
|
50
|
+
onKeyDown: handleListKeyDown,
|
|
51
|
+
children: operators.map((op, i) => {
|
|
52
|
+
const label = op?.headerLabel ?? apiRef.current.getLocaleText(`headerFilterOperator${(0, _utils.unstable_capitalize)(op.value)}`);
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
|
|
54
|
+
onClick: () => {
|
|
55
|
+
applyFilterChanges((0, _extends2.default)({}, item, {
|
|
56
|
+
operator: op.value
|
|
57
|
+
}));
|
|
58
|
+
hideMenu();
|
|
59
|
+
},
|
|
60
|
+
autoFocus: i === 0 ? open : false,
|
|
61
|
+
selected: op.value === item.operator,
|
|
62
|
+
children: label
|
|
63
|
+
}, `${field}-${op.value}`);
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
process.env.NODE_ENV !== "production" ? GridHeaderFilterMenu.propTypes = {
|
|
69
|
+
// ----------------------------- Warning --------------------------------
|
|
70
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
71
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
72
|
+
// ----------------------------------------------------------------------
|
|
73
|
+
applyFilterChanges: _propTypes.default.func.isRequired,
|
|
74
|
+
field: _propTypes.default.string.isRequired,
|
|
75
|
+
id: _propTypes.default /* @typescript-to-proptypes-ignore */.string,
|
|
76
|
+
item: _propTypes.default.shape({
|
|
77
|
+
field: _propTypes.default.string.isRequired,
|
|
78
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
79
|
+
operator: _propTypes.default.string.isRequired,
|
|
80
|
+
value: _propTypes.default.any
|
|
81
|
+
}).isRequired,
|
|
82
|
+
labelledBy: _propTypes.default /* @typescript-to-proptypes-ignore */.string,
|
|
83
|
+
open: _propTypes.default.bool.isRequired,
|
|
84
|
+
operators: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
85
|
+
getApplyFilterFn: _propTypes.default.func.isRequired,
|
|
86
|
+
getValueAsString: _propTypes.default.func,
|
|
87
|
+
headerLabel: _propTypes.default.string,
|
|
88
|
+
InputComponent: _propTypes.default.elementType,
|
|
89
|
+
InputComponentProps: _propTypes.default.object,
|
|
90
|
+
label: _propTypes.default.string,
|
|
91
|
+
requiresFilterValue: _propTypes.default.bool,
|
|
92
|
+
value: _propTypes.default.string.isRequired
|
|
93
|
+
})).isRequired,
|
|
94
|
+
target: _utils.HTMLElementType
|
|
95
|
+
} : void 0;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.GridHeaderFilterMenuContainer = GridHeaderFilterMenuContainer;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _xDataGrid = require("@mui/x-data-grid");
|
|
14
|
+
var _utils = require("@mui/utils");
|
|
15
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
16
|
+
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
const _excluded = ["operators", "item", "field", "buttonRef", "headerFilterMenuRef", "disabled"];
|
|
19
|
+
const sx = {
|
|
20
|
+
width: 22,
|
|
21
|
+
height: 22,
|
|
22
|
+
margin: 'auto 0 10px 5px'
|
|
23
|
+
};
|
|
24
|
+
function GridHeaderFilterMenuContainer(props) {
|
|
25
|
+
const {
|
|
26
|
+
operators,
|
|
27
|
+
item,
|
|
28
|
+
field,
|
|
29
|
+
buttonRef,
|
|
30
|
+
headerFilterMenuRef,
|
|
31
|
+
disabled = false
|
|
32
|
+
} = props,
|
|
33
|
+
others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
34
|
+
const buttonId = (0, _utils.unstable_useId)();
|
|
35
|
+
const menuId = (0, _utils.unstable_useId)();
|
|
36
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
37
|
+
const apiRef = (0, _xDataGrid.useGridApiContext)();
|
|
38
|
+
const menuOpenField = (0, _xDataGrid.useGridSelector)(apiRef, _internals.gridHeaderFilteringMenuSelector);
|
|
39
|
+
const open = Boolean(menuOpenField === field && headerFilterMenuRef.current);
|
|
40
|
+
const handleClick = event => {
|
|
41
|
+
headerFilterMenuRef.current = event.currentTarget;
|
|
42
|
+
apiRef.current.showHeaderFilterMenu(field);
|
|
43
|
+
};
|
|
44
|
+
if (!rootProps.slots.headerFilterMenu) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
const label = apiRef.current.getLocaleText('filterPanelOperator');
|
|
48
|
+
const labelString = label ? String(label) : undefined;
|
|
49
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
50
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
|
|
51
|
+
id: buttonId,
|
|
52
|
+
ref: buttonRef,
|
|
53
|
+
"aria-label": labelString,
|
|
54
|
+
title: labelString,
|
|
55
|
+
"aria-controls": menuId,
|
|
56
|
+
"aria-expanded": open ? 'true' : undefined,
|
|
57
|
+
"aria-haspopup": "true",
|
|
58
|
+
tabIndex: -1,
|
|
59
|
+
size: "small",
|
|
60
|
+
onClick: handleClick,
|
|
61
|
+
sx: sx,
|
|
62
|
+
disabled: disabled
|
|
63
|
+
}, rootProps.slotProps?.baseIconButton, {
|
|
64
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.openFilterButtonIcon, {
|
|
65
|
+
fontSize: "small"
|
|
66
|
+
})
|
|
67
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.headerFilterMenu, (0, _extends2.default)({
|
|
68
|
+
field: field,
|
|
69
|
+
open: open,
|
|
70
|
+
item: item,
|
|
71
|
+
target: headerFilterMenuRef.current,
|
|
72
|
+
operators: operators,
|
|
73
|
+
labelledBy: buttonId,
|
|
74
|
+
id: menuId
|
|
75
|
+
}, others))]
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
process.env.NODE_ENV !== "production" ? GridHeaderFilterMenuContainer.propTypes = {
|
|
79
|
+
// ----------------------------- Warning --------------------------------
|
|
80
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
81
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
82
|
+
// ----------------------------------------------------------------------
|
|
83
|
+
applyFilterChanges: _propTypes.default.func.isRequired,
|
|
84
|
+
buttonRef: _utils.refType,
|
|
85
|
+
disabled: _propTypes.default.bool,
|
|
86
|
+
field: _propTypes.default.string.isRequired,
|
|
87
|
+
headerFilterMenuRef: _propTypes.default.shape({
|
|
88
|
+
current: _propTypes.default.object
|
|
89
|
+
}).isRequired,
|
|
90
|
+
item: _propTypes.default.shape({
|
|
91
|
+
field: _propTypes.default.string.isRequired,
|
|
92
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
93
|
+
operator: _propTypes.default.string.isRequired,
|
|
94
|
+
value: _propTypes.default.any
|
|
95
|
+
}).isRequired,
|
|
96
|
+
operators: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
97
|
+
getApplyFilterFn: _propTypes.default.func.isRequired,
|
|
98
|
+
getValueAsString: _propTypes.default.func,
|
|
99
|
+
headerLabel: _propTypes.default.string,
|
|
100
|
+
InputComponent: _propTypes.default.elementType,
|
|
101
|
+
InputComponentProps: _propTypes.default.object,
|
|
102
|
+
label: _propTypes.default.string,
|
|
103
|
+
requiresFilterValue: _propTypes.default.bool,
|
|
104
|
+
value: _propTypes.default.string.isRequired
|
|
105
|
+
})).isRequired
|
|
106
|
+
} : void 0;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _GridHeaderFilterMenuContainer = require("./GridHeaderFilterMenuContainer");
|
|
7
|
+
Object.keys(_GridHeaderFilterMenuContainer).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _GridHeaderFilterMenuContainer[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _GridHeaderFilterMenuContainer[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _GridHeaderFilterCell = require("./GridHeaderFilterCell");
|
|
18
|
+
Object.keys(_GridHeaderFilterCell).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _GridHeaderFilterCell[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _GridHeaderFilterCell[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _GridHeaderFilterMenu = require("./GridHeaderFilterMenu");
|
|
29
|
+
Object.keys(_GridHeaderFilterMenu).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _GridHeaderFilterMenu[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _GridHeaderFilterMenu[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _GridTreeDataGroupingCell = require("./GridTreeDataGroupingCell");
|
|
7
|
+
Object.keys(_GridTreeDataGroupingCell).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _GridTreeDataGroupingCell[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _GridTreeDataGroupingCell[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _GridColumnMenuPinningItem = require("./GridColumnMenuPinningItem");
|
|
18
|
+
Object.keys(_GridColumnMenuPinningItem).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _GridColumnMenuPinningItem[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _GridColumnMenuPinningItem[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _GridDetailPanelToggleCell = require("./GridDetailPanelToggleCell");
|
|
29
|
+
Object.keys(_GridDetailPanelToggleCell).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _GridDetailPanelToggleCell[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _GridDetailPanelToggleCell[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _GridRowReorderCell = require("./GridRowReorderCell");
|
|
40
|
+
Object.keys(_GridRowReorderCell).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _GridRowReorderCell[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _GridRowReorderCell[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _icons = require("../material/icons");
|
|
51
|
+
Object.keys(_icons).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _icons[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _icons[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var _headerFiltering = require("./headerFiltering");
|
|
62
|
+
Object.keys(_headerFiltering).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (key in exports && exports[key] === _headerFiltering[key]) return;
|
|
65
|
+
Object.defineProperty(exports, key, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () {
|
|
68
|
+
return _headerFiltering[key];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "GRID_COLUMN_MENU_SLOTS", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _GridProColumnMenu.GRID_COLUMN_MENU_SLOTS_PRO;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "GRID_COLUMN_MENU_SLOT_PROPS", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _GridProColumnMenu.GRID_COLUMN_MENU_SLOT_PROPS_PRO;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "GridColumnMenu", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _GridProColumnMenu.GridProColumnMenu;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _GridProColumnMenu = require("./GridProColumnMenu");
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.DATA_GRID_PRO_DEFAULT_SLOTS_COMPONENTS = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
10
|
+
var _GridProColumnMenu = require("../components/GridProColumnMenu");
|
|
11
|
+
var _GridColumnHeaders = require("../components/GridColumnHeaders");
|
|
12
|
+
var _GridHeaderFilterMenu = require("../components/headerFiltering/GridHeaderFilterMenu");
|
|
13
|
+
var _GridHeaderFilterCell = require("../components/headerFiltering/GridHeaderFilterCell");
|
|
14
|
+
var _GridDetailPanels = require("../components/GridDetailPanels");
|
|
15
|
+
var _GridPinnedRows = require("../components/GridPinnedRows");
|
|
16
|
+
var _material = _interopRequireDefault(require("../material"));
|
|
17
|
+
const DATA_GRID_PRO_DEFAULT_SLOTS_COMPONENTS = exports.DATA_GRID_PRO_DEFAULT_SLOTS_COMPONENTS = (0, _extends2.default)({}, _internals.DATA_GRID_DEFAULT_SLOTS_COMPONENTS, _material.default, {
|
|
18
|
+
columnMenu: _GridProColumnMenu.GridProColumnMenu,
|
|
19
|
+
columnHeaders: _GridColumnHeaders.GridColumnHeaders,
|
|
20
|
+
detailPanels: _GridDetailPanels.GridDetailPanels,
|
|
21
|
+
headerFilterCell: _GridHeaderFilterCell.GridHeaderFilterCell,
|
|
22
|
+
headerFilterMenu: _GridHeaderFilterMenu.GridHeaderFilterMenu,
|
|
23
|
+
pinnedRows: _GridPinnedRows.GridPinnedRows
|
|
24
|
+
});
|