@mui/x-data-grid 8.0.0-alpha.0 → 8.0.0-alpha.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 +651 -6
- package/DataGrid/DataGrid.js +9 -9
- package/README.md +2 -2
- package/components/GridLoadingOverlay.d.ts +2 -2
- package/components/GridLoadingOverlay.js +4 -4
- package/components/GridPagination.js +2 -1
- package/components/base/GridOverlays.d.ts +4 -3
- package/components/base/GridOverlays.js +2 -24
- package/components/base/index.d.ts +0 -1
- package/components/base/index.js +1 -2
- package/components/cell/GridCell.js +10 -10
- package/components/columnSelection/GridCellCheckboxRenderer.js +2 -3
- package/components/columnSelection/GridHeaderCheckbox.js +2 -3
- package/components/columnsManagement/GridColumnsManagement.d.ts +2 -0
- package/components/columnsManagement/GridColumnsManagement.js +53 -6
- package/components/toolbar/GridToolbarColumnsButton.js +3 -4
- package/components/toolbar/GridToolbarDensitySelector.js +3 -4
- package/components/toolbar/GridToolbarExportContainer.js +3 -4
- package/components/toolbar/GridToolbarFilterButton.d.ts +2 -0
- package/components/toolbar/GridToolbarFilterButton.js +7 -6
- package/components/toolbar/GridToolbarQuickFilter.js +1 -0
- package/components/virtualization/GridVirtualScroller.js +5 -3
- package/constants/dataGridPropsDefaultValues.js +2 -3
- package/constants/gridClasses.d.ts +24 -0
- package/constants/gridClasses.js +1 -1
- package/constants/localeTextConstants.js +11 -0
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +0 -4
- package/hooks/features/dimensions/useGridDimensions.js +3 -19
- package/hooks/features/index.d.ts +1 -0
- package/hooks/features/index.js +1 -0
- package/hooks/features/listView/gridListViewSelectors.d.ts +3 -1
- package/hooks/features/listView/gridListViewSelectors.js +3 -1
- package/hooks/features/listView/index.d.ts +1 -0
- package/hooks/features/listView/index.js +1 -0
- package/hooks/features/overlays/useGridOverlays.d.ts +7 -4
- package/hooks/features/overlays/useGridOverlays.js +19 -1
- package/hooks/features/rowSelection/useGridRowSelection.js +0 -9
- package/hooks/features/rowSelection/utils.js +2 -2
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.js +55 -15
- package/index.js +1 -1
- package/internals/index.d.ts +1 -0
- package/internals/index.js +1 -0
- package/joy/joySlots.js +7 -2
- package/locales/arSD.js +12 -0
- package/locales/beBY.js +12 -0
- package/locales/bgBG.js +13 -0
- package/locales/csCZ.js +13 -0
- package/locales/daDK.js +13 -0
- package/locales/deDE.js +11 -0
- package/locales/elGR.js +12 -0
- package/locales/esES.js +15 -4
- package/locales/faIR.js +13 -0
- package/locales/fiFI.js +13 -0
- package/locales/frFR.js +13 -0
- package/locales/heIL.js +13 -0
- package/locales/hrHR.js +13 -0
- package/locales/huHU.js +13 -0
- package/locales/isIS.js +12 -0
- package/locales/itIT.js +13 -0
- package/locales/jaJP.js +13 -0
- package/locales/koKR.js +12 -0
- package/locales/nbNO.js +13 -0
- package/locales/nlNL.js +13 -0
- package/locales/nnNO.js +13 -0
- package/locales/plPL.js +13 -0
- package/locales/ptBR.js +11 -0
- package/locales/ptPT.js +11 -0
- package/locales/roRO.js +12 -0
- package/locales/ruRU.js +13 -0
- package/locales/skSK.js +12 -0
- package/locales/svSE.js +17 -5
- package/locales/trTR.js +13 -0
- package/locales/ukUA.js +12 -0
- package/locales/urPK.js +12 -0
- package/locales/viVN.js +13 -0
- package/locales/zhCN.js +15 -4
- package/locales/zhHK.js +12 -0
- package/locales/zhTW.js +12 -0
- package/models/api/gridCoreApi.d.ts +1 -1
- package/models/api/gridLocaleTextApi.d.ts +10 -0
- package/models/colDef/gridColDef.d.ts +28 -24
- package/models/gridDataSource.d.ts +12 -12
- package/models/props/DataGridProps.d.ts +9 -9
- package/modern/DataGrid/DataGrid.js +9 -9
- package/modern/components/GridLoadingOverlay.js +4 -4
- package/modern/components/GridPagination.js +2 -1
- package/modern/components/base/GridOverlays.js +2 -24
- package/modern/components/base/index.js +1 -2
- package/modern/components/cell/GridCell.js +10 -10
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +2 -3
- package/modern/components/columnSelection/GridHeaderCheckbox.js +2 -3
- package/modern/components/columnsManagement/GridColumnsManagement.js +53 -6
- package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -4
- package/modern/components/toolbar/GridToolbarDensitySelector.js +3 -4
- package/modern/components/toolbar/GridToolbarExportContainer.js +3 -4
- package/modern/components/toolbar/GridToolbarFilterButton.js +7 -6
- package/modern/components/toolbar/GridToolbarQuickFilter.js +1 -0
- package/modern/components/virtualization/GridVirtualScroller.js +5 -3
- package/modern/constants/dataGridPropsDefaultValues.js +2 -3
- package/modern/constants/gridClasses.js +1 -1
- package/modern/constants/localeTextConstants.js +11 -0
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
- package/modern/hooks/features/dimensions/useGridDimensions.js +3 -19
- package/modern/hooks/features/index.js +1 -0
- package/modern/hooks/features/listView/gridListViewSelectors.js +3 -1
- package/modern/hooks/features/listView/index.js +1 -0
- package/modern/hooks/features/overlays/useGridOverlays.js +19 -1
- package/modern/hooks/features/rowSelection/useGridRowSelection.js +0 -9
- package/modern/hooks/features/rowSelection/utils.js +2 -2
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +55 -15
- package/modern/index.js +1 -1
- package/modern/internals/index.js +1 -0
- package/modern/joy/joySlots.js +7 -2
- package/modern/locales/arSD.js +12 -0
- package/modern/locales/beBY.js +12 -0
- package/modern/locales/bgBG.js +13 -0
- package/modern/locales/csCZ.js +13 -0
- package/modern/locales/daDK.js +13 -0
- package/modern/locales/deDE.js +11 -0
- package/modern/locales/elGR.js +12 -0
- package/modern/locales/esES.js +15 -4
- package/modern/locales/faIR.js +13 -0
- package/modern/locales/fiFI.js +13 -0
- package/modern/locales/frFR.js +13 -0
- package/modern/locales/heIL.js +13 -0
- package/modern/locales/hrHR.js +13 -0
- package/modern/locales/huHU.js +13 -0
- package/modern/locales/isIS.js +12 -0
- package/modern/locales/itIT.js +13 -0
- package/modern/locales/jaJP.js +13 -0
- package/modern/locales/koKR.js +12 -0
- package/modern/locales/nbNO.js +13 -0
- package/modern/locales/nlNL.js +13 -0
- package/modern/locales/nnNO.js +13 -0
- package/modern/locales/plPL.js +13 -0
- package/modern/locales/ptBR.js +11 -0
- package/modern/locales/ptPT.js +11 -0
- package/modern/locales/roRO.js +12 -0
- package/modern/locales/ruRU.js +13 -0
- package/modern/locales/skSK.js +12 -0
- package/modern/locales/svSE.js +17 -5
- package/modern/locales/trTR.js +13 -0
- package/modern/locales/ukUA.js +12 -0
- package/modern/locales/urPK.js +12 -0
- package/modern/locales/viVN.js +13 -0
- package/modern/locales/zhCN.js +15 -4
- package/modern/locales/zhHK.js +12 -0
- package/modern/locales/zhTW.js +12 -0
- package/node/DataGrid/DataGrid.js +9 -9
- package/node/components/GridLoadingOverlay.js +4 -4
- package/node/components/GridPagination.js +2 -1
- package/node/components/base/GridOverlays.js +2 -24
- package/node/components/base/index.js +0 -11
- package/node/components/cell/GridCell.js +10 -10
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -3
- package/node/components/columnSelection/GridHeaderCheckbox.js +2 -3
- package/node/components/columnsManagement/GridColumnsManagement.js +53 -6
- package/node/components/toolbar/GridToolbarColumnsButton.js +3 -4
- package/node/components/toolbar/GridToolbarDensitySelector.js +3 -4
- package/node/components/toolbar/GridToolbarExportContainer.js +3 -4
- package/node/components/toolbar/GridToolbarFilterButton.js +7 -6
- package/node/components/toolbar/GridToolbarQuickFilter.js +1 -0
- package/node/components/virtualization/GridVirtualScroller.js +5 -3
- package/node/constants/dataGridPropsDefaultValues.js +2 -3
- package/node/constants/gridClasses.js +1 -1
- package/node/constants/localeTextConstants.js +11 -0
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
- package/node/hooks/features/dimensions/useGridDimensions.js +2 -18
- package/node/hooks/features/index.js +11 -0
- package/node/hooks/features/listView/gridListViewSelectors.js +3 -1
- package/node/hooks/features/listView/index.js +16 -0
- package/node/hooks/features/overlays/useGridOverlays.js +21 -1
- package/node/hooks/features/rowSelection/useGridRowSelection.js +0 -9
- package/node/hooks/features/rowSelection/utils.js +2 -2
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +55 -15
- package/node/index.js +1 -1
- package/node/internals/index.js +9 -2
- package/node/joy/joySlots.js +7 -2
- package/node/locales/arSD.js +12 -0
- package/node/locales/beBY.js +12 -0
- package/node/locales/bgBG.js +13 -0
- package/node/locales/csCZ.js +13 -0
- package/node/locales/daDK.js +13 -0
- package/node/locales/deDE.js +11 -0
- package/node/locales/elGR.js +12 -0
- package/node/locales/esES.js +15 -4
- package/node/locales/faIR.js +13 -0
- package/node/locales/fiFI.js +13 -0
- package/node/locales/frFR.js +13 -0
- package/node/locales/heIL.js +13 -0
- package/node/locales/hrHR.js +13 -0
- package/node/locales/huHU.js +13 -0
- package/node/locales/isIS.js +12 -0
- package/node/locales/itIT.js +13 -0
- package/node/locales/jaJP.js +13 -0
- package/node/locales/koKR.js +12 -0
- package/node/locales/nbNO.js +13 -0
- package/node/locales/nlNL.js +13 -0
- package/node/locales/nnNO.js +13 -0
- package/node/locales/plPL.js +13 -0
- package/node/locales/ptBR.js +11 -0
- package/node/locales/ptPT.js +11 -0
- package/node/locales/roRO.js +12 -0
- package/node/locales/ruRU.js +13 -0
- package/node/locales/skSK.js +12 -0
- package/node/locales/svSE.js +17 -5
- package/node/locales/trTR.js +13 -0
- package/node/locales/ukUA.js +12 -0
- package/node/locales/urPK.js +12 -0
- package/node/locales/viVN.js +13 -0
- package/node/locales/zhCN.js +15 -4
- package/node/locales/zhHK.js +12 -0
- package/node/locales/zhTW.js +12 -0
- package/package.json +4 -4
|
@@ -12,6 +12,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
12
12
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
13
13
|
var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
|
|
14
14
|
var _styles = require("@mui/material/styles");
|
|
15
|
+
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
16
|
+
var _InputBase = require("@mui/material/InputBase");
|
|
15
17
|
var _gridColumnsSelector = require("../../hooks/features/columns/gridColumnsSelector");
|
|
16
18
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
17
19
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
@@ -29,6 +31,7 @@ const useUtilityClasses = ownerState => {
|
|
|
29
31
|
const slots = {
|
|
30
32
|
root: ['columnsManagement'],
|
|
31
33
|
header: ['columnsManagementHeader'],
|
|
34
|
+
searchInput: ['columnsManagementSearchInput'],
|
|
32
35
|
footer: ['columnsManagementFooter'],
|
|
33
36
|
row: ['columnsManagementRow']
|
|
34
37
|
};
|
|
@@ -51,7 +54,8 @@ function GridColumnsManagement(props) {
|
|
|
51
54
|
disableShowHideToggle = false,
|
|
52
55
|
disableResetButton = false,
|
|
53
56
|
toggleAllMode = 'all',
|
|
54
|
-
getTogglableColumns
|
|
57
|
+
getTogglableColumns,
|
|
58
|
+
searchInputProps
|
|
55
59
|
} = props;
|
|
56
60
|
const isResetDisabled = React.useMemo(() => (0, _utils.checkColumnVisibilityModelsSame)(columnVisibilityModel, initialColumnVisibilityModel), [columnVisibilityModel, initialColumnVisibilityModel]);
|
|
57
61
|
const sortedColumns = React.useMemo(() => {
|
|
@@ -118,28 +122,52 @@ function GridColumnsManagement(props) {
|
|
|
118
122
|
}
|
|
119
123
|
return false;
|
|
120
124
|
};
|
|
125
|
+
const handleSearchReset = React.useCallback(() => {
|
|
126
|
+
setSearchValue('');
|
|
127
|
+
searchInputRef.current.focus();
|
|
128
|
+
}, []);
|
|
121
129
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
122
130
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridColumnsManagementHeader, {
|
|
123
131
|
className: classes.header,
|
|
124
132
|
ownerState: rootProps,
|
|
125
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
133
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SearchInput, (0, _extends2.default)({
|
|
134
|
+
as: rootProps.slots.baseTextField,
|
|
135
|
+
ownerState: rootProps,
|
|
126
136
|
placeholder: apiRef.current.getLocaleText('columnsManagementSearchTitle'),
|
|
127
137
|
inputRef: searchInputRef,
|
|
138
|
+
className: classes.searchInput,
|
|
128
139
|
value: searchValue,
|
|
129
140
|
onChange: handleSearchValueChange,
|
|
130
141
|
variant: "outlined",
|
|
131
142
|
size: "small",
|
|
143
|
+
type: "search",
|
|
132
144
|
InputProps: {
|
|
133
145
|
startAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputAdornment, {
|
|
134
146
|
position: "start",
|
|
135
147
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterIcon, {})
|
|
136
148
|
}),
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
149
|
+
endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
|
|
150
|
+
"aria-label": apiRef.current.getLocaleText('columnsManagementDeleteIconLabel'),
|
|
151
|
+
size: "small",
|
|
152
|
+
sx: [searchValue ? {
|
|
153
|
+
visibility: 'visible'
|
|
154
|
+
} : {
|
|
155
|
+
visibility: 'hidden'
|
|
156
|
+
}],
|
|
157
|
+
tabIndex: -1,
|
|
158
|
+
onClick: handleSearchReset
|
|
159
|
+
}, rootProps.slotProps?.baseIconButton, {
|
|
160
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterClearIcon, {
|
|
161
|
+
fontSize: "small"
|
|
162
|
+
})
|
|
163
|
+
}))
|
|
164
|
+
},
|
|
165
|
+
inputProps: {
|
|
166
|
+
'aria-label': apiRef.current.getLocaleText('columnsManagementSearchTitle')
|
|
140
167
|
},
|
|
168
|
+
autoComplete: "off",
|
|
141
169
|
fullWidth: true
|
|
142
|
-
}, rootProps.slotProps?.baseTextField))
|
|
170
|
+
}, rootProps.slotProps?.baseTextField, searchInputProps))
|
|
143
171
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridColumnsManagementBody, {
|
|
144
172
|
className: classes.root,
|
|
145
173
|
ownerState: rootProps,
|
|
@@ -214,6 +242,7 @@ process.env.NODE_ENV !== "production" ? GridColumnsManagement.propTypes = {
|
|
|
214
242
|
* @returns {GridColDef['field'][]} The list of togglable columns' field names.
|
|
215
243
|
*/
|
|
216
244
|
getTogglableColumns: _propTypes.default.func,
|
|
245
|
+
searchInputProps: _propTypes.default.object,
|
|
217
246
|
searchPredicate: _propTypes.default.func,
|
|
218
247
|
sort: _propTypes.default.oneOf(['asc', 'desc']),
|
|
219
248
|
/**
|
|
@@ -248,6 +277,24 @@ const GridColumnsManagementHeader = (0, _styles.styled)('div', {
|
|
|
248
277
|
}) => ({
|
|
249
278
|
padding: theme.spacing(1.5, 3)
|
|
250
279
|
}));
|
|
280
|
+
const SearchInput = (0, _styles.styled)(_TextField.default, {
|
|
281
|
+
name: 'MuiDataGrid',
|
|
282
|
+
slot: 'ColumnsManagementSearchInput',
|
|
283
|
+
overridesResolver: (props, styles) => styles.columnsManagementSearchInput
|
|
284
|
+
})(({
|
|
285
|
+
theme
|
|
286
|
+
}) => ({
|
|
287
|
+
[`& .${_InputBase.inputBaseClasses.root}`]: {
|
|
288
|
+
padding: theme.spacing(0, 1.5, 0, 1.5)
|
|
289
|
+
},
|
|
290
|
+
[`& .${_InputBase.inputBaseClasses.input}::-webkit-search-decoration,
|
|
291
|
+
& .${_InputBase.inputBaseClasses.input}::-webkit-search-cancel-button,
|
|
292
|
+
& .${_InputBase.inputBaseClasses.input}::-webkit-search-results-button,
|
|
293
|
+
& .${_InputBase.inputBaseClasses.input}::-webkit-search-results-decoration`]: {
|
|
294
|
+
/* clears the 'X' icon from Chrome */
|
|
295
|
+
display: 'none'
|
|
296
|
+
}
|
|
297
|
+
}));
|
|
251
298
|
const GridColumnsManagementFooter = (0, _styles.styled)('div', {
|
|
252
299
|
name: 'MuiDataGrid',
|
|
253
300
|
slot: 'ColumnsManagementFooter',
|
|
@@ -44,7 +44,7 @@ const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = /*#__PURE__*
|
|
|
44
44
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, (0, _extends2.default)({
|
|
45
45
|
title: apiRef.current.getLocaleText('toolbarColumnsLabel'),
|
|
46
46
|
enterDelay: 1000
|
|
47
|
-
},
|
|
47
|
+
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
48
48
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
49
49
|
ref: ref,
|
|
50
50
|
id: columnButtonId,
|
|
@@ -53,10 +53,9 @@ const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = /*#__PURE__*
|
|
|
53
53
|
"aria-haspopup": "menu",
|
|
54
54
|
"aria-expanded": isOpen,
|
|
55
55
|
"aria-controls": isOpen ? columnPanelId : undefined,
|
|
56
|
-
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnSelectorIcon, {})
|
|
57
|
-
}, buttonProps, {
|
|
56
|
+
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnSelectorIcon, {}),
|
|
58
57
|
onClick: showColumns
|
|
59
|
-
}, rootProps.slotProps?.baseButton, {
|
|
58
|
+
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
60
59
|
children: apiRef.current.getLocaleText('toolbarColumns')
|
|
61
60
|
}))
|
|
62
61
|
}));
|
|
@@ -91,7 +91,7 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
|
|
|
91
91
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, (0, _extends2.default)({
|
|
92
92
|
title: apiRef.current.getLocaleText('toolbarDensityLabel'),
|
|
93
93
|
enterDelay: 1000
|
|
94
|
-
},
|
|
94
|
+
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
95
95
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
96
96
|
ref: handleRef,
|
|
97
97
|
size: "small",
|
|
@@ -100,10 +100,9 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
|
|
|
100
100
|
"aria-haspopup": "menu",
|
|
101
101
|
"aria-expanded": open,
|
|
102
102
|
"aria-controls": open ? densityMenuId : undefined,
|
|
103
|
-
id: densityButtonId
|
|
104
|
-
}, buttonProps, {
|
|
103
|
+
id: densityButtonId,
|
|
105
104
|
onClick: handleDensitySelectorOpen
|
|
106
|
-
}, rootProps.slotProps?.baseButton, {
|
|
105
|
+
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
107
106
|
children: apiRef.current.getLocaleText('toolbarDensity')
|
|
108
107
|
}))
|
|
109
108
|
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridMenu.GridMenu, {
|
|
@@ -50,7 +50,7 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
|
|
|
50
50
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, (0, _extends2.default)({
|
|
51
51
|
title: apiRef.current.getLocaleText('toolbarExportLabel'),
|
|
52
52
|
enterDelay: 1000
|
|
53
|
-
},
|
|
53
|
+
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
54
54
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
55
55
|
ref: handleRef,
|
|
56
56
|
size: "small",
|
|
@@ -59,10 +59,9 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
|
|
|
59
59
|
"aria-label": apiRef.current.getLocaleText('toolbarExportLabel'),
|
|
60
60
|
"aria-haspopup": "menu",
|
|
61
61
|
"aria-controls": open ? exportMenuId : undefined,
|
|
62
|
-
id: exportButtonId
|
|
63
|
-
}, buttonProps, {
|
|
62
|
+
id: exportButtonId,
|
|
64
63
|
onClick: handleMenuOpen
|
|
65
|
-
}, rootProps.slotProps?.baseButton, {
|
|
64
|
+
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
66
65
|
children: apiRef.current.getLocaleText('toolbarExport')
|
|
67
66
|
}))
|
|
68
67
|
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridMenu.GridMenu, {
|
|
@@ -45,6 +45,7 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/R
|
|
|
45
45
|
} = props;
|
|
46
46
|
const buttonProps = slotProps.button || {};
|
|
47
47
|
const tooltipProps = slotProps.tooltip || {};
|
|
48
|
+
const badgeProps = slotProps.badge || {};
|
|
48
49
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
49
50
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
50
51
|
const activeFilters = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridFilterActiveItemsSelector);
|
|
@@ -102,7 +103,7 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/R
|
|
|
102
103
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, (0, _extends2.default)({
|
|
103
104
|
title: tooltipContentNode,
|
|
104
105
|
enterDelay: 1000
|
|
105
|
-
},
|
|
106
|
+
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
106
107
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
107
108
|
ref: ref,
|
|
108
109
|
id: filterButtonId,
|
|
@@ -111,14 +112,14 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/R
|
|
|
111
112
|
"aria-controls": isOpen ? filterPanelId : undefined,
|
|
112
113
|
"aria-expanded": isOpen,
|
|
113
114
|
"aria-haspopup": true,
|
|
114
|
-
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseBadge, {
|
|
115
|
+
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseBadge, (0, _extends2.default)({
|
|
115
116
|
badgeContent: activeFilters.length,
|
|
116
|
-
color: "primary"
|
|
117
|
+
color: "primary"
|
|
118
|
+
}, rootProps.slotProps?.baseBadge, badgeProps, {
|
|
117
119
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.openFilterButtonIcon, {})
|
|
118
|
-
})
|
|
119
|
-
}, buttonProps, {
|
|
120
|
+
})),
|
|
120
121
|
onClick: toggleFilter
|
|
121
|
-
}, rootProps.slotProps?.baseButton, {
|
|
122
|
+
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
122
123
|
children: apiRef.current.getLocaleText('toolbarFilters')
|
|
123
124
|
}))
|
|
124
125
|
}));
|
|
@@ -86,6 +86,7 @@ function GridToolbarQuickFilter(props) {
|
|
|
86
86
|
apiRef.current.setQuickFilterValues(newQuickFilterValues);
|
|
87
87
|
}, [apiRef, quickFilterParser]);
|
|
88
88
|
const debouncedUpdateSearchValue = React.useMemo(() => (0, _utils.unstable_debounce)(updateSearchValue, debounceMs), [updateSearchValue, debounceMs]);
|
|
89
|
+
React.useEffect(() => debouncedUpdateSearchValue.clear, [debouncedUpdateSearchValue]);
|
|
89
90
|
const handleSearchValueChange = React.useCallback(event => {
|
|
90
91
|
const newSearchValue = event.target.value;
|
|
91
92
|
setSearchValue(newSearchValue);
|
|
@@ -18,7 +18,6 @@ var _gridClasses = require("../../constants/gridClasses");
|
|
|
18
18
|
var _dimensions = require("../../hooks/features/dimensions");
|
|
19
19
|
var _useGridVirtualScroller = require("../../hooks/features/virtualization/useGridVirtualScroller");
|
|
20
20
|
var _useGridOverlays = require("../../hooks/features/overlays/useGridOverlays");
|
|
21
|
-
var _GridOverlays = require("../base/GridOverlays");
|
|
22
21
|
var _GridHeaders = require("../GridHeaders");
|
|
23
22
|
var _GridMainContainer = require("./GridMainContainer");
|
|
24
23
|
var _GridTopContainer = require("./GridTopContainer");
|
|
@@ -63,7 +62,10 @@ function GridVirtualScroller(props) {
|
|
|
63
62
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
64
63
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
65
64
|
const dimensions = (0, _useGridSelector.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
|
|
66
|
-
const
|
|
65
|
+
const {
|
|
66
|
+
getOverlay,
|
|
67
|
+
overlaysProps
|
|
68
|
+
} = (0, _useGridOverlays.useGridOverlays)();
|
|
67
69
|
const classes = useUtilityClasses(rootProps, dimensions, overlaysProps.loadingOverlayVariant);
|
|
68
70
|
const virtualScroller = (0, _useGridVirtualScroller.useGridVirtualScroller)();
|
|
69
71
|
const {
|
|
@@ -92,7 +94,7 @@ function GridVirtualScroller(props) {
|
|
|
92
94
|
position: "top",
|
|
93
95
|
virtualScroller: virtualScroller
|
|
94
96
|
})]
|
|
95
|
-
}),
|
|
97
|
+
}), getOverlay(), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerContent.GridVirtualScrollerContent, (0, _extends2.default)({}, getContentProps(), {
|
|
96
98
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridVirtualScrollerRenderZone.GridVirtualScrollerRenderZone, (0, _extends2.default)({}, getRenderZoneProps(), {
|
|
97
99
|
children: [rows, /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.detailPanels, {
|
|
98
100
|
virtualScroller: virtualScroller
|
|
@@ -40,8 +40,6 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = exports.DATA_GRID_PROPS_DEFAULT_VALUES =
|
|
|
40
40
|
hideFooterSelectedRowCount: false,
|
|
41
41
|
ignoreDiacritics: false,
|
|
42
42
|
ignoreValueFormatterDuringExport: false,
|
|
43
|
-
// TODO v8: Update to 'select'
|
|
44
|
-
indeterminateCheckboxAction: 'deselect',
|
|
45
43
|
keepColumnPositionIfDraggedOutside: false,
|
|
46
44
|
keepNonExistentRowsSelected: false,
|
|
47
45
|
loading: false,
|
|
@@ -62,5 +60,6 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = exports.DATA_GRID_PROPS_DEFAULT_VALUES =
|
|
|
62
60
|
sortingMode: 'client',
|
|
63
61
|
sortingOrder: ['asc', 'desc', null],
|
|
64
62
|
throttleRowsMs: 0,
|
|
65
|
-
unstable_rowSpanning: false
|
|
63
|
+
unstable_rowSpanning: false,
|
|
64
|
+
virtualizeColumnsWithAutoRowHeight: false
|
|
66
65
|
};
|
|
@@ -9,4 +9,4 @@ var _utils = require("@mui/utils");
|
|
|
9
9
|
function getDataGridUtilityClass(slot) {
|
|
10
10
|
return (0, _utils.unstable_generateUtilityClass)('MuiDataGrid', slot);
|
|
11
11
|
}
|
|
12
|
-
const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
12
|
+
const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'toolbarPromptControl', 'toolbarPromptControl--recording', 'toolbarPromptControlRecordingIndicator', 'toolbarPromptControlRecordButton', 'toolbarPromptControlSendButton', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
@@ -27,6 +27,16 @@ const GRID_DEFAULT_LOCALE_TEXT = exports.GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
27
27
|
toolbarQuickFilterPlaceholder: 'Search…',
|
|
28
28
|
toolbarQuickFilterLabel: 'Search',
|
|
29
29
|
toolbarQuickFilterDeleteIconLabel: 'Clear',
|
|
30
|
+
// Prompt toolbar field
|
|
31
|
+
toolbarPromptControlPlaceholder: 'Type a prompt…',
|
|
32
|
+
toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…',
|
|
33
|
+
toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…',
|
|
34
|
+
toolbarPromptControlLabel: 'Prompt input',
|
|
35
|
+
toolbarPromptControlRecordButtonDefaultLabel: 'Record',
|
|
36
|
+
toolbarPromptControlRecordButtonActiveLabel: 'Stop recording',
|
|
37
|
+
toolbarPromptControlSendActionLabel: 'Send',
|
|
38
|
+
toolbarPromptControlSendActionAriaLabel: 'Send prompt',
|
|
39
|
+
toolbarPromptControlErrorMessage: 'An error occurred while processing the request. Please try again with a different prompt.',
|
|
30
40
|
// Export selector toolbar button text
|
|
31
41
|
toolbarExport: 'Export',
|
|
32
42
|
toolbarExportLabel: 'Export',
|
|
@@ -38,6 +48,7 @@ const GRID_DEFAULT_LOCALE_TEXT = exports.GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
38
48
|
columnsManagementNoColumns: 'No columns',
|
|
39
49
|
columnsManagementShowHideAllText: 'Show/Hide All',
|
|
40
50
|
columnsManagementReset: 'Reset',
|
|
51
|
+
columnsManagementDeleteIconLabel: 'Clear',
|
|
41
52
|
// Filter panel text
|
|
42
53
|
filterPanelAddFilter: 'Add filter',
|
|
43
54
|
filterPanelRemoveAll: 'Remove all',
|
|
@@ -291,7 +291,7 @@ const useGridColumnHeaders = props => {
|
|
|
291
291
|
fields: headerInfo.fields,
|
|
292
292
|
colIndex: headerInfo.colIndex,
|
|
293
293
|
depth: depth,
|
|
294
|
-
isLastColumn:
|
|
294
|
+
isLastColumn: index === visibleColumnGroupHeader.length - 1,
|
|
295
295
|
maxDepth: headerGroupingMaxDepth,
|
|
296
296
|
height: dimensions.groupHeaderHeight,
|
|
297
297
|
hasFocus: hasFocus,
|
|
@@ -299,7 +299,7 @@ const useGridColumnHeaders = props => {
|
|
|
299
299
|
pinnedPosition: pinnedPosition,
|
|
300
300
|
style: style,
|
|
301
301
|
indexInSection: indexInSection,
|
|
302
|
-
sectionLength:
|
|
302
|
+
sectionLength: visibleColumnGroupHeader.length,
|
|
303
303
|
gridHasFiller: gridHasFiller
|
|
304
304
|
}, index);
|
|
305
305
|
});
|
|
@@ -76,28 +76,13 @@ function useGridDimensions(apiRef, props) {
|
|
|
76
76
|
const rightPinnedWidth = pinnedColumns.right.reduce((w, col) => w + col.computedWidth, 0);
|
|
77
77
|
const [savedSize, setSavedSize] = React.useState();
|
|
78
78
|
const debouncedSetSavedSize = React.useMemo(() => (0, _throttle.throttle)(setSavedSize, props.resizeThrottleMs), [props.resizeThrottleMs]);
|
|
79
|
-
|
|
79
|
+
React.useEffect(() => debouncedSetSavedSize.clear, [debouncedSetSavedSize]);
|
|
80
80
|
const getRootDimensions = () => apiRef.current.state.dimensions;
|
|
81
81
|
const setDimensions = (0, _utils.unstable_useEventCallback)(dimensions => {
|
|
82
82
|
apiRef.current.setState(state => (0, _extends2.default)({}, state, {
|
|
83
83
|
dimensions
|
|
84
84
|
}));
|
|
85
85
|
});
|
|
86
|
-
const resize = React.useCallback(() => {
|
|
87
|
-
const element = apiRef.current.mainElementRef.current;
|
|
88
|
-
if (!element) {
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
const computedStyle = (0, _utils.unstable_ownerWindow)(element).getComputedStyle(element);
|
|
92
|
-
const newSize = {
|
|
93
|
-
width: parseFloat(computedStyle.width) || 0,
|
|
94
|
-
height: parseFloat(computedStyle.height) || 0
|
|
95
|
-
};
|
|
96
|
-
if (!previousSize.current || !areElementSizesEqual(previousSize.current, newSize)) {
|
|
97
|
-
apiRef.current.publishEvent('resize', newSize);
|
|
98
|
-
previousSize.current = newSize;
|
|
99
|
-
}
|
|
100
|
-
}, [apiRef]);
|
|
101
86
|
const getViewportPageSize = React.useCallback(() => {
|
|
102
87
|
const dimensions = (0, _gridDimensionsSelectors.gridDimensionsSelector)(apiRef.current.state);
|
|
103
88
|
if (!dimensions.isReady) {
|
|
@@ -208,7 +193,6 @@ function useGridDimensions(apiRef, props) {
|
|
|
208
193
|
apiRef.current.updateRenderContext?.();
|
|
209
194
|
}, [apiRef, setDimensions, props.scrollbarSize, props.autoHeight, rowsMeta.currentPageTotalHeight, rowHeight, headerHeight, groupHeaderHeight, headerFilterHeight, columnsTotalWidth, headersTotalHeight, leftPinnedWidth, rightPinnedWidth]);
|
|
210
195
|
const apiPublic = {
|
|
211
|
-
resize,
|
|
212
196
|
getRootDimensions
|
|
213
197
|
};
|
|
214
198
|
const apiPrivate = {
|
|
@@ -248,7 +232,7 @@ function useGridDimensions(apiRef, props) {
|
|
|
248
232
|
rootDimensionsRef.current = size;
|
|
249
233
|
|
|
250
234
|
// jsdom has no layout capabilities
|
|
251
|
-
const isJSDOM = /jsdom/.test(window.navigator.userAgent);
|
|
235
|
+
const isJSDOM = /jsdom|HappyDOM/.test(window.navigator.userAgent);
|
|
252
236
|
if (size.height === 0 && !errorShown.current && !props.autoHeight && !isJSDOM) {
|
|
253
237
|
logger.error(['The parent DOM element of the Data Grid has an empty height.', 'Please make sure that this element has an intrinsic height.', 'The grid displays with a height of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\n'));
|
|
254
238
|
errorShown.current = true;
|
|
@@ -91,6 +91,17 @@ Object.keys(_focus).forEach(function (key) {
|
|
|
91
91
|
}
|
|
92
92
|
});
|
|
93
93
|
});
|
|
94
|
+
var _listView = require("./listView");
|
|
95
|
+
Object.keys(_listView).forEach(function (key) {
|
|
96
|
+
if (key === "default" || key === "__esModule") return;
|
|
97
|
+
if (key in exports && exports[key] === _listView[key]) return;
|
|
98
|
+
Object.defineProperty(exports, key, {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function () {
|
|
101
|
+
return _listView[key];
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
|
94
105
|
var _pagination = require("./pagination");
|
|
95
106
|
Object.keys(_pagination).forEach(function (key) {
|
|
96
107
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.gridListColumnSelector = void 0;
|
|
7
7
|
/**
|
|
8
|
-
* Get
|
|
8
|
+
* Get the list column definition
|
|
9
|
+
* @category List View
|
|
10
|
+
* @ignore - Do not document
|
|
9
11
|
*/
|
|
10
12
|
const gridListColumnSelector = state => state.listViewColumn;
|
|
11
13
|
exports.gridListColumnSelector = gridListColumnSelector;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _gridListViewSelectors = require("./gridListViewSelectors");
|
|
7
|
+
Object.keys(_gridListViewSelectors).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _gridListViewSelectors[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _gridListViewSelectors[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.useGridOverlays = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
7
11
|
var _utils = require("../../utils");
|
|
8
12
|
var _useGridApiContext = require("../../utils/useGridApiContext");
|
|
9
13
|
var _useGridRootProps = require("../../utils/useGridRootProps");
|
|
10
14
|
var _filter = require("../filter");
|
|
11
15
|
var _rows = require("../rows");
|
|
16
|
+
var _GridOverlays = require("../../../components/base/GridOverlays");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
18
|
/**
|
|
13
19
|
* Uses the grid state to determine which overlay to display.
|
|
14
20
|
* Returns the active overlay type and the active loading overlay variant.
|
|
@@ -34,9 +40,23 @@ const useGridOverlays = () => {
|
|
|
34
40
|
overlayType = 'loadingOverlay';
|
|
35
41
|
loadingOverlayVariant = rootProps.slotProps?.loadingOverlay?.[noRows ? 'noRowsVariant' : 'variant'] || null;
|
|
36
42
|
}
|
|
37
|
-
|
|
43
|
+
const overlaysProps = {
|
|
38
44
|
overlayType,
|
|
39
45
|
loadingOverlayVariant
|
|
40
46
|
};
|
|
47
|
+
const getOverlay = () => {
|
|
48
|
+
if (!overlayType) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
const Overlay = rootProps.slots?.[overlayType];
|
|
52
|
+
const overlayProps = rootProps.slotProps?.[overlayType];
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlays.GridOverlayWrapper, (0, _extends2.default)({}, overlaysProps, {
|
|
54
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Overlay, (0, _extends2.default)({}, overlayProps))
|
|
55
|
+
}));
|
|
56
|
+
};
|
|
57
|
+
return {
|
|
58
|
+
getOverlay,
|
|
59
|
+
overlaysProps
|
|
60
|
+
};
|
|
41
61
|
};
|
|
42
62
|
exports.useGridOverlays = useGridOverlays;
|
|
@@ -257,11 +257,7 @@ const useGridRowSelection = (apiRef, props) => {
|
|
|
257
257
|
/*
|
|
258
258
|
* EVENTS
|
|
259
259
|
*/
|
|
260
|
-
const isFirstRender = React.useRef(true);
|
|
261
260
|
const removeOutdatedSelection = React.useCallback((sortModelUpdated = false) => {
|
|
262
|
-
if (isFirstRender.current) {
|
|
263
|
-
return;
|
|
264
|
-
}
|
|
265
261
|
const currentSelection = (0, _gridRowSelectionSelector.gridRowSelectionStateSelector)(apiRef.current.state);
|
|
266
262
|
const rowsLookup = (0, _gridRowsSelector.gridRowsLookupSelector)(apiRef);
|
|
267
263
|
const filteredRowsLookup = (0, _gridFilterSelector.gridFilteredRowsLookupSelector)(apiRef);
|
|
@@ -489,10 +485,5 @@ const useGridRowSelection = (apiRef, props) => {
|
|
|
489
485
|
React.useEffect(() => {
|
|
490
486
|
runIfRowSelectionIsEnabled(removeOutdatedSelection);
|
|
491
487
|
}, [removeOutdatedSelection, runIfRowSelectionIsEnabled]);
|
|
492
|
-
React.useEffect(() => {
|
|
493
|
-
if (isFirstRender.current) {
|
|
494
|
-
isFirstRender.current = false;
|
|
495
|
-
}
|
|
496
|
-
}, []);
|
|
497
488
|
};
|
|
498
489
|
exports.useGridRowSelection = useGridRowSelection;
|
|
@@ -14,8 +14,8 @@ var _gridRowSelectionSelector = require("./gridRowSelectionSelector");
|
|
|
14
14
|
var _gridRowsSelector = require("../rows/gridRowsSelector");
|
|
15
15
|
var _createSelector = require("../../../utils/createSelector");
|
|
16
16
|
const ROW_SELECTION_PROPAGATION_DEFAULT = exports.ROW_SELECTION_PROPAGATION_DEFAULT = {
|
|
17
|
-
parents:
|
|
18
|
-
descendants:
|
|
17
|
+
parents: true,
|
|
18
|
+
descendants: true
|
|
19
19
|
};
|
|
20
20
|
function getGridRowGroupSelectableDescendants(apiRef, groupId) {
|
|
21
21
|
const rowTree = (0, _gridRowsSelector.gridRowTreeSelector)(apiRef);
|