@mui/x-data-grid 5.9.0 → 5.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/README.md +5 -3
- package/components/GridRow.js +5 -0
- package/components/containers/GridRootStyles.js +36 -1
- package/components/menu/GridMenu.js +1 -0
- package/constants/defaultGridSlotsComponents.js +3 -2
- package/constants/gridClasses.d.ts +20 -0
- package/constants/gridClasses.js +1 -1
- package/constants/localeTextConstants.js +3 -1
- package/hooks/features/columnMenu/useGridColumnMenu.js +2 -1
- package/hooks/features/columns/useGridColumns.d.ts +1 -1
- package/hooks/features/rows/useGridRows.js +19 -0
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +2 -0
- package/hooks/features/virtualization/useGridVirtualScroller.js +10 -0
- package/index.js +1 -1
- package/legacy/components/GridRow.js +5 -0
- package/legacy/components/containers/GridRootStyles.js +26 -5
- package/legacy/components/menu/GridMenu.js +1 -0
- package/legacy/constants/defaultGridSlotsComponents.js +3 -2
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/constants/localeTextConstants.js +3 -1
- package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +2 -1
- package/legacy/hooks/features/rows/useGridRows.js +25 -0
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +10 -0
- package/legacy/index.js +1 -1
- package/legacy/locales/arSD.js +3 -1
- package/legacy/locales/bgBG.js +3 -1
- package/legacy/locales/csCZ.js +2 -0
- package/legacy/locales/daDK.js +3 -1
- package/legacy/locales/deDE.js +3 -1
- package/legacy/locales/elGR.js +2 -0
- package/legacy/locales/esES.js +2 -0
- package/legacy/locales/faIR.js +3 -1
- package/legacy/locales/fiFI.js +2 -0
- package/legacy/locales/frFR.js +2 -0
- package/legacy/locales/heIL.js +3 -1
- package/legacy/locales/huHU.js +3 -1
- package/legacy/locales/itIT.js +2 -0
- package/legacy/locales/jaJP.js +2 -0
- package/legacy/locales/koKR.js +2 -0
- package/legacy/locales/nlNL.js +2 -0
- package/legacy/locales/plPL.js +3 -1
- package/legacy/locales/ptBR.js +3 -1
- package/legacy/locales/ruRU.js +2 -0
- package/legacy/locales/skSK.js +2 -0
- package/legacy/locales/trTR.js +3 -1
- package/legacy/locales/ukUA.js +2 -0
- package/legacy/locales/viVN.js +2 -0
- package/legacy/locales/zhCN.js +2 -0
- package/legacy/models/events/gridEvents.js +6 -0
- package/locales/arSD.js +3 -1
- package/locales/bgBG.js +3 -1
- package/locales/csCZ.js +2 -0
- package/locales/daDK.js +3 -1
- package/locales/deDE.js +3 -1
- package/locales/elGR.js +2 -0
- package/locales/esES.js +2 -0
- package/locales/faIR.js +3 -1
- package/locales/fiFI.js +2 -0
- package/locales/frFR.js +2 -0
- package/locales/heIL.js +3 -1
- package/locales/huHU.js +3 -1
- package/locales/itIT.js +2 -0
- package/locales/jaJP.js +2 -0
- package/locales/koKR.js +2 -0
- package/locales/nlNL.js +2 -0
- package/locales/plPL.js +3 -1
- package/locales/ptBR.js +3 -1
- package/locales/ruRU.js +2 -0
- package/locales/skSK.js +2 -0
- package/locales/trTR.js +3 -1
- package/locales/ukUA.js +2 -0
- package/locales/viVN.js +2 -0
- package/locales/zhCN.js +2 -0
- package/models/api/gridLocaleTextApi.d.ts +1 -0
- package/models/api/gridRowApi.d.ts +6 -0
- package/models/events/gridEventLookup.d.ts +20 -0
- package/models/events/gridEvents.d.ts +32 -0
- package/models/events/gridEvents.js +6 -0
- package/models/gridIconSlotsComponent.d.ts +5 -0
- package/modern/components/GridRow.js +5 -0
- package/modern/components/containers/GridRootStyles.js +36 -1
- package/modern/components/menu/GridMenu.js +1 -0
- package/modern/constants/defaultGridSlotsComponents.js +3 -2
- package/modern/constants/gridClasses.js +1 -1
- package/modern/constants/localeTextConstants.js +3 -1
- package/modern/hooks/features/columnMenu/useGridColumnMenu.js +2 -1
- package/modern/hooks/features/rows/useGridRows.js +19 -0
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +10 -0
- package/modern/index.js +1 -1
- package/modern/locales/arSD.js +3 -1
- package/modern/locales/bgBG.js +3 -1
- package/modern/locales/csCZ.js +2 -0
- package/modern/locales/daDK.js +3 -1
- package/modern/locales/deDE.js +3 -1
- package/modern/locales/elGR.js +2 -0
- package/modern/locales/esES.js +2 -0
- package/modern/locales/faIR.js +3 -1
- package/modern/locales/fiFI.js +2 -0
- package/modern/locales/frFR.js +2 -0
- package/modern/locales/heIL.js +3 -1
- package/modern/locales/huHU.js +3 -1
- package/modern/locales/itIT.js +2 -0
- package/modern/locales/jaJP.js +2 -0
- package/modern/locales/koKR.js +2 -0
- package/modern/locales/nlNL.js +2 -0
- package/modern/locales/plPL.js +3 -1
- package/modern/locales/ptBR.js +3 -1
- package/modern/locales/ruRU.js +2 -0
- package/modern/locales/skSK.js +2 -0
- package/modern/locales/trTR.js +3 -1
- package/modern/locales/ukUA.js +2 -0
- package/modern/locales/viVN.js +2 -0
- package/modern/locales/zhCN.js +2 -0
- package/modern/models/events/gridEvents.js +6 -0
- package/node/components/GridRow.js +5 -0
- package/node/components/containers/GridRootStyles.js +36 -1
- package/node/components/menu/GridMenu.js +1 -0
- package/node/constants/defaultGridSlotsComponents.js +2 -1
- package/node/constants/gridClasses.js +1 -1
- package/node/constants/localeTextConstants.js +3 -1
- package/node/hooks/features/columnMenu/useGridColumnMenu.js +2 -1
- package/node/hooks/features/rows/useGridRows.js +19 -0
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +10 -0
- package/node/index.js +1 -1
- package/node/locales/arSD.js +3 -1
- package/node/locales/bgBG.js +3 -1
- package/node/locales/csCZ.js +2 -0
- package/node/locales/daDK.js +3 -1
- package/node/locales/deDE.js +3 -1
- package/node/locales/elGR.js +2 -0
- package/node/locales/esES.js +2 -0
- package/node/locales/faIR.js +3 -1
- package/node/locales/fiFI.js +2 -0
- package/node/locales/frFR.js +2 -0
- package/node/locales/heIL.js +3 -1
- package/node/locales/huHU.js +3 -1
- package/node/locales/itIT.js +2 -0
- package/node/locales/jaJP.js +2 -0
- package/node/locales/koKR.js +2 -0
- package/node/locales/nlNL.js +2 -0
- package/node/locales/plPL.js +3 -1
- package/node/locales/ptBR.js +3 -1
- package/node/locales/ruRU.js +2 -0
- package/node/locales/skSK.js +2 -0
- package/node/locales/trTR.js +3 -1
- package/node/locales/ukUA.js +2 -0
- package/node/locales/viVN.js +2 -0
- package/node/locales/zhCN.js +2 -0
- package/node/models/events/gridEvents.js +6 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,42 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## v5.10.0
|
|
7
|
+
|
|
8
|
+
_Apr 25, 2022_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 🎁 Introduce [Row reorder](https://mui.com/x/react-data-grid/rows/#row-reorder) (#4034) @DanailH
|
|
13
|
+
|
|
14
|
+
<img src="https://user-images.githubusercontent.com/5858539/165091263-23472fbb-a989-44b8-849a-d2185adfe13b.gif" width="800">
|
|
15
|
+
|
|
16
|
+
- 🐞 Bug fixes
|
|
17
|
+
|
|
18
|
+
### `@mui/x-data-grid@v5.10.0` / `@mui/x-data-grid-pro@v5.10.0`
|
|
19
|
+
|
|
20
|
+
- [DataGrid] Don't close column menu when updating rows (#4498) @m4theushw
|
|
21
|
+
- [DataGridPro] Introduce row reorder (#4034) @DanailH
|
|
22
|
+
|
|
23
|
+
### `@mui/x-date-pickers@5.0.0-alpha.2` / `@mui/x-date-pickers-pro@5.0.0-alpha.2`
|
|
24
|
+
|
|
25
|
+
- [pickers] Pass `PaperProps` to `DesktopWrapper` component (#4584) @alexfauquette
|
|
26
|
+
- [TimePicker] Fix bug when time picker clear value (#4582) @alexfauquette
|
|
27
|
+
- [DateRangePicker] Fix missing `clearable` and `clearText` props (#4511) @zigang93
|
|
28
|
+
|
|
29
|
+
### Docs
|
|
30
|
+
|
|
31
|
+
- [docs] Add plan in the nav bar for pro-only and premium-only pages (#4591) @flaviendelangle
|
|
32
|
+
- [docs] Clarify where to install the license (#4452) @oliviertassinari
|
|
33
|
+
- [docs] Fix CodeSandbox links for demo with pickers (#4570) @alexfauquette
|
|
34
|
+
- [docs] Include date-fns dependency when opening demos in CodeSandbox (#4508) @m4theushw
|
|
35
|
+
- [docs] Split the 'Group & Pivot' page (#4441) @flaviendelangle
|
|
36
|
+
|
|
37
|
+
### Core
|
|
38
|
+
|
|
39
|
+
- [core] Fix the README of the X packages (#4590) @flaviendelangle
|
|
40
|
+
- [test] Fix test to not depend on screen resolution (#4587) @m4theushw
|
|
41
|
+
|
|
6
42
|
## v5.9.0
|
|
7
43
|
|
|
8
44
|
_Apr 14, 2022_
|
package/README.md
CHANGED
|
@@ -15,12 +15,14 @@ npm install @mui/x-data-grid
|
|
|
15
15
|
yarn add @mui/x-data-grid
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
This component has
|
|
18
|
+
This component has the following peer dependencies that you will need to install as well.
|
|
19
19
|
|
|
20
20
|
```json
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@mui/material": "^5.
|
|
23
|
-
"
|
|
22
|
+
"@mui/material": "^5.2.8",
|
|
23
|
+
"@mui/system": "^5.2.8",
|
|
24
|
+
"react": "^17.0.2 || ^18.0.0",
|
|
25
|
+
"react-dom": "^17.0.2 || ^18.0.0"
|
|
24
26
|
},
|
|
25
27
|
```
|
|
26
28
|
|
package/components/GridRow.js
CHANGED
|
@@ -73,8 +73,16 @@ export const GridRootStyles = styled('div', {
|
|
|
73
73
|
[`& .${gridClasses['row--editable']}`]: styles['row--editable']
|
|
74
74
|
}, {
|
|
75
75
|
[`& .${gridClasses['row--editing']}`]: styles['row--editing']
|
|
76
|
+
}, {
|
|
77
|
+
[`& .${gridClasses['row--dragging']}`]: styles['row--dragging']
|
|
76
78
|
}, {
|
|
77
79
|
[`& .${gridClasses.row}`]: styles.row
|
|
80
|
+
}, {
|
|
81
|
+
[`& .${gridClasses.rowReorderCellPlaceholder}`]: styles.rowReorderCellPlaceholder
|
|
82
|
+
}, {
|
|
83
|
+
[`& .${gridClasses.rowReorderCell}`]: styles.rowReorderCell
|
|
84
|
+
}, {
|
|
85
|
+
[`& .${gridClasses['rowReorderCell--draggable']}`]: styles['rowReorderCell--draggable']
|
|
78
86
|
}, {
|
|
79
87
|
[`& .${gridClasses.sortIcon}`]: styles.sortIcon
|
|
80
88
|
}, {
|
|
@@ -309,6 +317,21 @@ export const GridRootStyles = styled('div', {
|
|
|
309
317
|
alignItems: 'center',
|
|
310
318
|
gridGap: theme.spacing(1)
|
|
311
319
|
},
|
|
320
|
+
[`& .${gridClasses.rowReorderCell}`]: {
|
|
321
|
+
display: 'inline-flex',
|
|
322
|
+
flex: 1,
|
|
323
|
+
alignItems: 'center',
|
|
324
|
+
justifyContent: 'center',
|
|
325
|
+
opacity: theme.palette.action.disabledOpacity
|
|
326
|
+
},
|
|
327
|
+
[`& .${gridClasses['rowReorderCell--draggable']}`]: {
|
|
328
|
+
cursor: 'move',
|
|
329
|
+
opacity: 1
|
|
330
|
+
},
|
|
331
|
+
[`& .${gridClasses.rowReorderCellContainer}`]: {
|
|
332
|
+
padding: 0,
|
|
333
|
+
alignItems: 'stretch'
|
|
334
|
+
},
|
|
312
335
|
[`& .${gridClasses.withBorder}`]: {
|
|
313
336
|
borderRight: `1px solid ${borderColor}`
|
|
314
337
|
},
|
|
@@ -325,12 +348,24 @@ export const GridRootStyles = styled('div', {
|
|
|
325
348
|
display: 'flex',
|
|
326
349
|
width: '100%'
|
|
327
350
|
},
|
|
328
|
-
[`& .${gridClasses
|
|
351
|
+
[`& .${gridClasses.rowReorderCellPlaceholder}`]: {
|
|
352
|
+
display: 'none'
|
|
353
|
+
},
|
|
354
|
+
[`& .${gridClasses['columnHeader--dragging']}, & .${gridClasses['row--dragging']}`]: {
|
|
329
355
|
background: theme.palette.background.paper,
|
|
330
356
|
padding: '0 12px',
|
|
331
357
|
borderRadius: theme.shape.borderRadius,
|
|
332
358
|
opacity: theme.palette.action.disabledOpacity
|
|
333
359
|
},
|
|
360
|
+
[`& .${gridClasses['row--dragging']}`]: {
|
|
361
|
+
background: theme.palette.background.paper,
|
|
362
|
+
padding: '0 12px',
|
|
363
|
+
borderRadius: theme.shape.borderRadius,
|
|
364
|
+
opacity: theme.palette.action.disabledOpacity,
|
|
365
|
+
[`& .${gridClasses.rowReorderCellPlaceholder}`]: {
|
|
366
|
+
display: 'flex'
|
|
367
|
+
}
|
|
368
|
+
},
|
|
334
369
|
[`& .${gridClasses.treeDataGroupingCell}`]: {
|
|
335
370
|
display: 'flex',
|
|
336
371
|
alignItems: 'center',
|
|
@@ -95,6 +95,7 @@ const GridMenu = props => {
|
|
|
95
95
|
placement
|
|
96
96
|
}) => /*#__PURE__*/_jsx(ClickAwayListener, {
|
|
97
97
|
onClickAway: onClickAway,
|
|
98
|
+
mouseEvent: "onMouseDown",
|
|
98
99
|
children: /*#__PURE__*/_jsx(Grow, _extends({}, TransitionProps, {
|
|
99
100
|
style: {
|
|
100
101
|
transformOrigin: transformOrigin[placement]
|
|
@@ -7,7 +7,7 @@ import MUISwitch from '@mui/material/Switch';
|
|
|
7
7
|
import MUIButton from '@mui/material/Button';
|
|
8
8
|
import MUITooltip from '@mui/material/Tooltip';
|
|
9
9
|
import MUIPopper from '@mui/material/Popper';
|
|
10
|
-
import { GridArrowDownwardIcon, GridArrowUpwardIcon, GridCell, GridCheckIcon, GridCloseIcon, GridColumnIcon, GridColumnMenu, GridColumnsPanel, GridFilterAltIcon, GridFilterListIcon, GridFilterPanel, GridFooter, GridHeader, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridPreferencesPanel, GridRow, GridSaveAltIcon, GridSeparatorIcon, GridTableRowsIcon, GridTripleDotsVerticalIcon, GridViewHeadlineIcon, GridViewStreamIcon, GridMoreVertIcon, GridExpandMoreIcon, GridKeyboardArrowRight, GridAddIcon, GridRemoveIcon, GridColumnHeaderFilterIconButton } from '../components';
|
|
10
|
+
import { GridArrowDownwardIcon, GridArrowUpwardIcon, GridCell, GridCheckIcon, GridCloseIcon, GridColumnIcon, GridColumnMenu, GridColumnsPanel, GridFilterAltIcon, GridFilterListIcon, GridFilterPanel, GridFooter, GridHeader, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridPreferencesPanel, GridRow, GridSaveAltIcon, GridSeparatorIcon, GridTableRowsIcon, GridTripleDotsVerticalIcon, GridViewHeadlineIcon, GridViewStreamIcon, GridMoreVertIcon, GridExpandMoreIcon, GridKeyboardArrowRight, GridAddIcon, GridRemoveIcon, GridDragIcon, GridColumnHeaderFilterIconButton } from '../components';
|
|
11
11
|
import { GridColumnUnsortedIcon } from '../components/columnHeaders/GridColumnUnsortedIcon';
|
|
12
12
|
import { ErrorOverlay } from '../components/ErrorOverlay';
|
|
13
13
|
import { GridNoResultsOverlay } from '../components/GridNoResultsOverlay';
|
|
@@ -33,7 +33,8 @@ const DEFAULT_GRID_ICON_SLOTS_COMPONENTS = {
|
|
|
33
33
|
GroupingCriteriaCollapseIcon: GridExpandMoreIcon,
|
|
34
34
|
GroupingCriteriaExpandIcon: GridKeyboardArrowRight,
|
|
35
35
|
DetailPanelExpandIcon: GridAddIcon,
|
|
36
|
-
DetailPanelCollapseIcon: GridRemoveIcon
|
|
36
|
+
DetailPanelCollapseIcon: GridRemoveIcon,
|
|
37
|
+
RowReorderIcon: GridDragIcon
|
|
37
38
|
};
|
|
38
39
|
/**
|
|
39
40
|
* TODO: Differentiate community and pro value and interface
|
|
@@ -99,6 +99,10 @@ export interface GridClasses {
|
|
|
99
99
|
* Styles applied to the column header's draggable container element.
|
|
100
100
|
*/
|
|
101
101
|
columnHeaderDraggableContainer: string;
|
|
102
|
+
/**
|
|
103
|
+
* Styles applied to the row's draggable placeholder element inside the special row reorder cell.
|
|
104
|
+
*/
|
|
105
|
+
rowReorderCellPlaceholder: string;
|
|
102
106
|
/**
|
|
103
107
|
* Styles applied to the column headers wrapper if a column is being dragged.
|
|
104
108
|
*/
|
|
@@ -323,6 +327,10 @@ export interface GridClasses {
|
|
|
323
327
|
* Styles applied to the row element if the row is in edit mode.
|
|
324
328
|
*/
|
|
325
329
|
'row--editing': string;
|
|
330
|
+
/**
|
|
331
|
+
* Styles applied to the floating special row reorder cell element when it is dragged.
|
|
332
|
+
*/
|
|
333
|
+
'row--dragging': string;
|
|
326
334
|
/**
|
|
327
335
|
* Styles applied to the last visible row element on every page of the grid.
|
|
328
336
|
*/
|
|
@@ -336,6 +344,18 @@ export interface GridClasses {
|
|
|
336
344
|
* Only works when pagination is disabled.
|
|
337
345
|
*/
|
|
338
346
|
rowCount: string;
|
|
347
|
+
/**
|
|
348
|
+
* Styles applied to the row reorder cell container element.
|
|
349
|
+
*/
|
|
350
|
+
rowReorderCellContainer: string;
|
|
351
|
+
/**
|
|
352
|
+
* Styles applied to the root element of the row reorder cell
|
|
353
|
+
*/
|
|
354
|
+
rowReorderCell: string;
|
|
355
|
+
/**
|
|
356
|
+
* Styles applied to the root element of the row reorder cell when dragging is allowed
|
|
357
|
+
*/
|
|
358
|
+
'rowReorderCell--draggable': string;
|
|
339
359
|
/**
|
|
340
360
|
* Styles applied to both scroll area elements.
|
|
341
361
|
*/
|
package/constants/gridClasses.js
CHANGED
|
@@ -2,4 +2,4 @@ import { generateUtilityClasses, generateUtilityClass } from '@mui/material';
|
|
|
2
2
|
export function getDataGridUtilityClass(slot) {
|
|
3
3
|
return generateUtilityClass('MuiDataGrid', slot);
|
|
4
4
|
}
|
|
5
|
-
export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell', 'cellContent', 'cellCheckbox', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLinkOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'root', 'row--editable', 'row--editing', 'row', 'row--
|
|
5
|
+
export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell', 'cellContent', 'cellCheckbox', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLinkOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'root', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle']);
|
|
@@ -103,5 +103,7 @@ export const GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
103
103
|
expandDetailPanel: 'Expand',
|
|
104
104
|
collapseDetailPanel: 'Collapse',
|
|
105
105
|
// Used core components translation keys
|
|
106
|
-
MuiTablePagination: {}
|
|
106
|
+
MuiTablePagination: {},
|
|
107
|
+
// Row reordering text
|
|
108
|
+
rowReorderingHeaderName: 'Row reordering'
|
|
107
109
|
};
|
|
@@ -79,5 +79,6 @@ export const useGridColumnMenu = apiRef => {
|
|
|
79
79
|
*/
|
|
80
80
|
|
|
81
81
|
useGridApiEventHandler(apiRef, GridEvents.columnResizeStart, hideColumnMenu);
|
|
82
|
-
useGridApiEventHandler(apiRef, GridEvents.
|
|
82
|
+
useGridApiEventHandler(apiRef, GridEvents.virtualScrollerWheel, apiRef.current.hideColumnMenu);
|
|
83
|
+
useGridApiEventHandler(apiRef, GridEvents.virtualScrollerTouchMove, apiRef.current.hideColumnMenu);
|
|
83
84
|
};
|
|
@@ -8,4 +8,4 @@ export declare const columnsStateInitializer: GridStateInitializer<Pick<DataGrid
|
|
|
8
8
|
* @requires useGridDimensions (method, event) - can be after
|
|
9
9
|
* TODO: Impossible priority - useGridParamsApi also needs to be after useGridColumns
|
|
10
10
|
*/
|
|
11
|
-
export declare function useGridColumns(apiRef: React.MutableRefObject<GridApiCommunity>, props: Pick<DataGridProcessedProps, 'initialState' | 'columns' | 'onColumnVisibilityChange' | 'columnVisibilityModel' | 'onColumnVisibilityModelChange' | 'columnTypes' | '
|
|
11
|
+
export declare function useGridColumns(apiRef: React.MutableRefObject<GridApiCommunity>, props: Pick<DataGridProcessedProps, 'initialState' | 'columns' | 'onColumnVisibilityChange' | 'columnVisibilityModel' | 'onColumnVisibilityModelChange' | 'columnTypes' | 'classes' | 'components' | 'componentsProps'>): void;
|
|
@@ -233,12 +233,31 @@ export const useGridRows = (apiRef, props) => {
|
|
|
233
233
|
|
|
234
234
|
return (_gridRowTreeSelector$ = gridRowTreeSelector(apiRef)[id]) != null ? _gridRowTreeSelector$ : null;
|
|
235
235
|
}, [apiRef]);
|
|
236
|
+
const setRowIndex = React.useCallback((rowId, targetIndex) => {
|
|
237
|
+
const allRows = gridRowIdsSelector(apiRef);
|
|
238
|
+
const oldIndex = allRows.findIndex(row => row === rowId);
|
|
239
|
+
|
|
240
|
+
if (oldIndex === targetIndex) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
logger.debug(`Moving row ${rowId} to index ${targetIndex}`);
|
|
245
|
+
const updatedRows = [...allRows];
|
|
246
|
+
updatedRows.splice(targetIndex, 0, updatedRows.splice(oldIndex, 1)[0]);
|
|
247
|
+
apiRef.current.setState(state => _extends({}, state, {
|
|
248
|
+
rows: _extends({}, state.rows, {
|
|
249
|
+
ids: updatedRows
|
|
250
|
+
})
|
|
251
|
+
}));
|
|
252
|
+
apiRef.current.applySorting();
|
|
253
|
+
}, [apiRef, logger]);
|
|
236
254
|
const rowApi = {
|
|
237
255
|
getRow,
|
|
238
256
|
getRowModels,
|
|
239
257
|
getRowsCount,
|
|
240
258
|
getAllRowIds,
|
|
241
259
|
setRows,
|
|
260
|
+
setRowIndex,
|
|
242
261
|
updateRows,
|
|
243
262
|
setRowChildrenExpansion,
|
|
244
263
|
getRowNode,
|
|
@@ -34,6 +34,8 @@ export declare const useGridVirtualScroller: (props: UseGridVirtualScrollerProps
|
|
|
34
34
|
}) => {
|
|
35
35
|
ref: React.Ref<HTMLDivElement>;
|
|
36
36
|
onScroll: (event: React.UIEvent) => void;
|
|
37
|
+
onWheel: (event: React.WheelEvent) => void;
|
|
38
|
+
onTouchMove: (event: React.TouchEvent) => void;
|
|
37
39
|
style: {
|
|
38
40
|
accentColor?: import("csstype").Property.AccentColor | undefined;
|
|
39
41
|
alignContent?: import("csstype").Property.AlignContent | undefined;
|
|
@@ -214,6 +214,14 @@ export const useGridVirtualScroller = props => {
|
|
|
214
214
|
}
|
|
215
215
|
};
|
|
216
216
|
|
|
217
|
+
const handleWheel = event => {
|
|
218
|
+
apiRef.current.publishEvent(GridEvents.virtualScrollerWheel, {}, event);
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
const handleTouchMove = event => {
|
|
222
|
+
apiRef.current.publishEvent(GridEvents.virtualScrollerTouchMove, {}, event);
|
|
223
|
+
};
|
|
224
|
+
|
|
217
225
|
const getRows = (params = {
|
|
218
226
|
renderContext
|
|
219
227
|
}) => {
|
|
@@ -364,6 +372,8 @@ export const useGridVirtualScroller = props => {
|
|
|
364
372
|
return _extends({
|
|
365
373
|
ref: handleRef,
|
|
366
374
|
onScroll: handleScroll,
|
|
375
|
+
onWheel: handleWheel,
|
|
376
|
+
onTouchMove: handleTouchMove,
|
|
367
377
|
style: _extends({}, style, rootStyle)
|
|
368
378
|
}, other);
|
|
369
379
|
},
|
package/index.js
CHANGED
|
@@ -7,12 +7,12 @@ export var GridRootStyles = styled('div', {
|
|
|
7
7
|
slot: 'Root',
|
|
8
8
|
overridesResolver: function overridesResolver(props, styles) {
|
|
9
9
|
return [_defineProperty({}, "&.".concat(gridClasses.autoHeight), styles.autoHeight), _defineProperty({}, "& .".concat(gridClasses.editBooleanCell), styles.editBooleanCell), _defineProperty({}, "& .".concat(gridClasses['cell--editing']), styles['cell--editing']), _defineProperty({}, "& .".concat(gridClasses['cell--textCenter']), styles['cell--textCenter']), _defineProperty({}, "& .".concat(gridClasses['cell--textLeft']), styles['cell--textLeft']), _defineProperty({}, "& .".concat(gridClasses['cell--textRight']), styles['cell--textRight']), // TODO v6: Remove
|
|
10
|
-
_defineProperty({}, "& .".concat(gridClasses['cell--withRenderer']), styles['cell--withRenderer']), _defineProperty({}, "& .".concat(gridClasses.cell), styles.cell), _defineProperty({}, "& .".concat(gridClasses.cellContent), styles.cellContent), _defineProperty({}, "& .".concat(gridClasses.cellCheckbox), styles.cellCheckbox), _defineProperty({}, "& .".concat(gridClasses.checkboxInput), styles.checkboxInput), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignCenter']), styles['columnHeader--alignCenter']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignLeft']), styles['columnHeader--alignLeft']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignRight']), styles['columnHeader--alignRight']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--dragging']), styles['columnHeader--dragging']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--moving']), styles['columnHeader--moving']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--numeric']), styles['columnHeader--numeric']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--sortable']), styles['columnHeader--sortable']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--sorted']), styles['columnHeader--sorted']), _defineProperty({}, "& .".concat(gridClasses.columnHeader), styles.columnHeader), _defineProperty({}, "& .".concat(gridClasses.columnHeaderCheckbox), styles.columnHeaderCheckbox), _defineProperty({}, "& .".concat(gridClasses.columnHeaderDraggableContainer), styles.columnHeaderDraggableContainer), _defineProperty({}, "& .".concat(gridClasses.columnHeaderTitleContainer), styles.columnHeaderTitleContainer), _defineProperty({}, "& .".concat(gridClasses['columnSeparator--resizable']), styles['columnSeparator--resizable']), _defineProperty({}, "& .".concat(gridClasses['columnSeparator--resizing']), styles['columnSeparator--resizing']), _defineProperty({}, "& .".concat(gridClasses.columnSeparator), styles.columnSeparator), _defineProperty({}, "& .".concat(gridClasses.filterIcon), styles.filterIcon), _defineProperty({}, "& .".concat(gridClasses.iconSeparator), styles.iconSeparator), _defineProperty({}, "& .".concat(gridClasses.menuIcon), styles.menuIcon), _defineProperty({}, "& .".concat(gridClasses.menuIconButton), styles.menuIconButton), _defineProperty({}, "& .".concat(gridClasses.menuOpen), styles.menuOpen), _defineProperty({}, "& .".concat(gridClasses.menuList), styles.menuList), _defineProperty({}, "& .".concat(gridClasses['row--editable']), styles['row--editable']), _defineProperty({}, "& .".concat(gridClasses['row--editing']), styles['row--editing']), _defineProperty({}, "& .".concat(gridClasses.row), styles.row), _defineProperty({}, "& .".concat(gridClasses.sortIcon), styles.sortIcon), _defineProperty({}, "& .".concat(gridClasses.withBorder), styles.withBorder), _defineProperty({}, "& .".concat(gridClasses.treeDataGroupingCell), styles.treeDataGroupingCell), _defineProperty({}, "& .".concat(gridClasses.treeDataGroupingCellToggle), styles.treeDataGroupingCellToggle), _defineProperty({}, "& .".concat(gridClasses.detailPanelToggleCell), styles.detailPanelToggleCell), _defineProperty({}, "& .".concat(gridClasses['detailPanelToggleCell--expanded']), styles['detailPanelToggleCell--expanded']), styles.root];
|
|
10
|
+
_defineProperty({}, "& .".concat(gridClasses['cell--withRenderer']), styles['cell--withRenderer']), _defineProperty({}, "& .".concat(gridClasses.cell), styles.cell), _defineProperty({}, "& .".concat(gridClasses.cellContent), styles.cellContent), _defineProperty({}, "& .".concat(gridClasses.cellCheckbox), styles.cellCheckbox), _defineProperty({}, "& .".concat(gridClasses.checkboxInput), styles.checkboxInput), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignCenter']), styles['columnHeader--alignCenter']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignLeft']), styles['columnHeader--alignLeft']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignRight']), styles['columnHeader--alignRight']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--dragging']), styles['columnHeader--dragging']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--moving']), styles['columnHeader--moving']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--numeric']), styles['columnHeader--numeric']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--sortable']), styles['columnHeader--sortable']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--sorted']), styles['columnHeader--sorted']), _defineProperty({}, "& .".concat(gridClasses.columnHeader), styles.columnHeader), _defineProperty({}, "& .".concat(gridClasses.columnHeaderCheckbox), styles.columnHeaderCheckbox), _defineProperty({}, "& .".concat(gridClasses.columnHeaderDraggableContainer), styles.columnHeaderDraggableContainer), _defineProperty({}, "& .".concat(gridClasses.columnHeaderTitleContainer), styles.columnHeaderTitleContainer), _defineProperty({}, "& .".concat(gridClasses['columnSeparator--resizable']), styles['columnSeparator--resizable']), _defineProperty({}, "& .".concat(gridClasses['columnSeparator--resizing']), styles['columnSeparator--resizing']), _defineProperty({}, "& .".concat(gridClasses.columnSeparator), styles.columnSeparator), _defineProperty({}, "& .".concat(gridClasses.filterIcon), styles.filterIcon), _defineProperty({}, "& .".concat(gridClasses.iconSeparator), styles.iconSeparator), _defineProperty({}, "& .".concat(gridClasses.menuIcon), styles.menuIcon), _defineProperty({}, "& .".concat(gridClasses.menuIconButton), styles.menuIconButton), _defineProperty({}, "& .".concat(gridClasses.menuOpen), styles.menuOpen), _defineProperty({}, "& .".concat(gridClasses.menuList), styles.menuList), _defineProperty({}, "& .".concat(gridClasses['row--editable']), styles['row--editable']), _defineProperty({}, "& .".concat(gridClasses['row--editing']), styles['row--editing']), _defineProperty({}, "& .".concat(gridClasses['row--dragging']), styles['row--dragging']), _defineProperty({}, "& .".concat(gridClasses.row), styles.row), _defineProperty({}, "& .".concat(gridClasses.rowReorderCellPlaceholder), styles.rowReorderCellPlaceholder), _defineProperty({}, "& .".concat(gridClasses.rowReorderCell), styles.rowReorderCell), _defineProperty({}, "& .".concat(gridClasses['rowReorderCell--draggable']), styles['rowReorderCell--draggable']), _defineProperty({}, "& .".concat(gridClasses.sortIcon), styles.sortIcon), _defineProperty({}, "& .".concat(gridClasses.withBorder), styles.withBorder), _defineProperty({}, "& .".concat(gridClasses.treeDataGroupingCell), styles.treeDataGroupingCell), _defineProperty({}, "& .".concat(gridClasses.treeDataGroupingCellToggle), styles.treeDataGroupingCellToggle), _defineProperty({}, "& .".concat(gridClasses.detailPanelToggleCell), styles.detailPanelToggleCell), _defineProperty({}, "& .".concat(gridClasses['detailPanelToggleCell--expanded']), styles['detailPanelToggleCell--expanded']), styles.root];
|
|
11
11
|
}
|
|
12
|
-
})(function (
|
|
12
|
+
})(function (_ref46) {
|
|
13
13
|
var _$concat3, _extends2;
|
|
14
14
|
|
|
15
|
-
var theme =
|
|
15
|
+
var theme = _ref46.theme;
|
|
16
16
|
var borderColor = theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68);
|
|
17
17
|
|
|
18
18
|
var gridStyle = _extends({
|
|
@@ -189,6 +189,18 @@ export var GridRootStyles = styled('div', {
|
|
|
189
189
|
display: 'inline-flex',
|
|
190
190
|
alignItems: 'center',
|
|
191
191
|
gridGap: theme.spacing(1)
|
|
192
|
+
}), _defineProperty(_extends2, "& .".concat(gridClasses.rowReorderCell), {
|
|
193
|
+
display: 'inline-flex',
|
|
194
|
+
flex: 1,
|
|
195
|
+
alignItems: 'center',
|
|
196
|
+
justifyContent: 'center',
|
|
197
|
+
opacity: theme.palette.action.disabledOpacity
|
|
198
|
+
}), _defineProperty(_extends2, "& .".concat(gridClasses['rowReorderCell--draggable']), {
|
|
199
|
+
cursor: 'move',
|
|
200
|
+
opacity: 1
|
|
201
|
+
}), _defineProperty(_extends2, "& .".concat(gridClasses.rowReorderCellContainer), {
|
|
202
|
+
padding: 0,
|
|
203
|
+
alignItems: 'stretch'
|
|
192
204
|
}), _defineProperty(_extends2, "& .".concat(gridClasses.withBorder), {
|
|
193
205
|
borderRight: "1px solid ".concat(borderColor)
|
|
194
206
|
}), _defineProperty(_extends2, "& .".concat(gridClasses['cell--textLeft']), {
|
|
@@ -200,12 +212,21 @@ export var GridRootStyles = styled('div', {
|
|
|
200
212
|
}), _defineProperty(_extends2, "& .".concat(gridClasses.columnHeaderDraggableContainer), {
|
|
201
213
|
display: 'flex',
|
|
202
214
|
width: '100%'
|
|
203
|
-
}), _defineProperty(_extends2, "& .".concat(gridClasses
|
|
215
|
+
}), _defineProperty(_extends2, "& .".concat(gridClasses.rowReorderCellPlaceholder), {
|
|
216
|
+
display: 'none'
|
|
217
|
+
}), _defineProperty(_extends2, "& .".concat(gridClasses['columnHeader--dragging'], ", & .").concat(gridClasses['row--dragging']), {
|
|
218
|
+
background: theme.palette.background.paper,
|
|
219
|
+
padding: '0 12px',
|
|
220
|
+
borderRadius: theme.shape.borderRadius,
|
|
221
|
+
opacity: theme.palette.action.disabledOpacity
|
|
222
|
+
}), _defineProperty(_extends2, "& .".concat(gridClasses['row--dragging']), _defineProperty({
|
|
204
223
|
background: theme.palette.background.paper,
|
|
205
224
|
padding: '0 12px',
|
|
206
225
|
borderRadius: theme.shape.borderRadius,
|
|
207
226
|
opacity: theme.palette.action.disabledOpacity
|
|
208
|
-
}
|
|
227
|
+
}, "& .".concat(gridClasses.rowReorderCellPlaceholder), {
|
|
228
|
+
display: 'flex'
|
|
229
|
+
})), _defineProperty(_extends2, "& .".concat(gridClasses.treeDataGroupingCell), {
|
|
209
230
|
display: 'flex',
|
|
210
231
|
alignItems: 'center',
|
|
211
232
|
width: '100%'
|
|
@@ -96,6 +96,7 @@ var GridMenu = function GridMenu(props) {
|
|
|
96
96
|
placement = _ref3.placement;
|
|
97
97
|
return /*#__PURE__*/_jsx(ClickAwayListener, {
|
|
98
98
|
onClickAway: onClickAway,
|
|
99
|
+
mouseEvent: "onMouseDown",
|
|
99
100
|
children: /*#__PURE__*/_jsx(Grow, _extends({}, TransitionProps, {
|
|
100
101
|
style: {
|
|
101
102
|
transformOrigin: transformOrigin[placement]
|
|
@@ -7,7 +7,7 @@ import MUISwitch from '@mui/material/Switch';
|
|
|
7
7
|
import MUIButton from '@mui/material/Button';
|
|
8
8
|
import MUITooltip from '@mui/material/Tooltip';
|
|
9
9
|
import MUIPopper from '@mui/material/Popper';
|
|
10
|
-
import { GridArrowDownwardIcon, GridArrowUpwardIcon, GridCell, GridCheckIcon, GridCloseIcon, GridColumnIcon, GridColumnMenu, GridColumnsPanel, GridFilterAltIcon, GridFilterListIcon, GridFilterPanel, GridFooter, GridHeader, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridPreferencesPanel, GridRow, GridSaveAltIcon, GridSeparatorIcon, GridTableRowsIcon, GridTripleDotsVerticalIcon, GridViewHeadlineIcon, GridViewStreamIcon, GridMoreVertIcon, GridExpandMoreIcon, GridKeyboardArrowRight, GridAddIcon, GridRemoveIcon, GridColumnHeaderFilterIconButton } from '../components';
|
|
10
|
+
import { GridArrowDownwardIcon, GridArrowUpwardIcon, GridCell, GridCheckIcon, GridCloseIcon, GridColumnIcon, GridColumnMenu, GridColumnsPanel, GridFilterAltIcon, GridFilterListIcon, GridFilterPanel, GridFooter, GridHeader, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridPreferencesPanel, GridRow, GridSaveAltIcon, GridSeparatorIcon, GridTableRowsIcon, GridTripleDotsVerticalIcon, GridViewHeadlineIcon, GridViewStreamIcon, GridMoreVertIcon, GridExpandMoreIcon, GridKeyboardArrowRight, GridAddIcon, GridRemoveIcon, GridDragIcon, GridColumnHeaderFilterIconButton } from '../components';
|
|
11
11
|
import { GridColumnUnsortedIcon } from '../components/columnHeaders/GridColumnUnsortedIcon';
|
|
12
12
|
import { ErrorOverlay } from '../components/ErrorOverlay';
|
|
13
13
|
import { GridNoResultsOverlay } from '../components/GridNoResultsOverlay';
|
|
@@ -33,7 +33,8 @@ var DEFAULT_GRID_ICON_SLOTS_COMPONENTS = {
|
|
|
33
33
|
GroupingCriteriaCollapseIcon: GridExpandMoreIcon,
|
|
34
34
|
GroupingCriteriaExpandIcon: GridKeyboardArrowRight,
|
|
35
35
|
DetailPanelExpandIcon: GridAddIcon,
|
|
36
|
-
DetailPanelCollapseIcon: GridRemoveIcon
|
|
36
|
+
DetailPanelCollapseIcon: GridRemoveIcon,
|
|
37
|
+
RowReorderIcon: GridDragIcon
|
|
37
38
|
};
|
|
38
39
|
/**
|
|
39
40
|
* TODO: Differentiate community and pro value and interface
|
|
@@ -2,4 +2,4 @@ import { generateUtilityClasses, generateUtilityClass } from '@mui/material';
|
|
|
2
2
|
export function getDataGridUtilityClass(slot) {
|
|
3
3
|
return generateUtilityClass('MuiDataGrid', slot);
|
|
4
4
|
}
|
|
5
|
-
export var gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell', 'cellContent', 'cellCheckbox', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLinkOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'root', 'row--editable', 'row--editing', 'row', 'row--
|
|
5
|
+
export var gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell', 'cellContent', 'cellCheckbox', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLinkOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'root', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle']);
|
|
@@ -115,5 +115,7 @@ export var GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
115
115
|
expandDetailPanel: 'Expand',
|
|
116
116
|
collapseDetailPanel: 'Collapse',
|
|
117
117
|
// Used core components translation keys
|
|
118
|
-
MuiTablePagination: {}
|
|
118
|
+
MuiTablePagination: {},
|
|
119
|
+
// Row reordering text
|
|
120
|
+
rowReorderingHeaderName: 'Row reordering'
|
|
119
121
|
};
|
|
@@ -81,5 +81,6 @@ export var useGridColumnMenu = function useGridColumnMenu(apiRef) {
|
|
|
81
81
|
*/
|
|
82
82
|
|
|
83
83
|
useGridApiEventHandler(apiRef, GridEvents.columnResizeStart, hideColumnMenu);
|
|
84
|
-
useGridApiEventHandler(apiRef, GridEvents.
|
|
84
|
+
useGridApiEventHandler(apiRef, GridEvents.virtualScrollerWheel, apiRef.current.hideColumnMenu);
|
|
85
|
+
useGridApiEventHandler(apiRef, GridEvents.virtualScrollerTouchMove, apiRef.current.hideColumnMenu);
|
|
85
86
|
};
|
|
@@ -245,12 +245,37 @@ export var useGridRows = function useGridRows(apiRef, props) {
|
|
|
245
245
|
|
|
246
246
|
return (_gridRowTreeSelector$ = gridRowTreeSelector(apiRef)[id]) != null ? _gridRowTreeSelector$ : null;
|
|
247
247
|
}, [apiRef]);
|
|
248
|
+
var setRowIndex = React.useCallback(function (rowId, targetIndex) {
|
|
249
|
+
var allRows = gridRowIdsSelector(apiRef);
|
|
250
|
+
var oldIndex = allRows.findIndex(function (row) {
|
|
251
|
+
return row === rowId;
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
if (oldIndex === targetIndex) {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
logger.debug("Moving row ".concat(rowId, " to index ").concat(targetIndex));
|
|
259
|
+
|
|
260
|
+
var updatedRows = _toConsumableArray(allRows);
|
|
261
|
+
|
|
262
|
+
updatedRows.splice(targetIndex, 0, updatedRows.splice(oldIndex, 1)[0]);
|
|
263
|
+
apiRef.current.setState(function (state) {
|
|
264
|
+
return _extends({}, state, {
|
|
265
|
+
rows: _extends({}, state.rows, {
|
|
266
|
+
ids: updatedRows
|
|
267
|
+
})
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
apiRef.current.applySorting();
|
|
271
|
+
}, [apiRef, logger]);
|
|
248
272
|
var rowApi = {
|
|
249
273
|
getRow: getRow,
|
|
250
274
|
getRowModels: getRowModels,
|
|
251
275
|
getRowsCount: getRowsCount,
|
|
252
276
|
getAllRowIds: getAllRowIds,
|
|
253
277
|
setRows: setRows,
|
|
278
|
+
setRowIndex: setRowIndex,
|
|
254
279
|
updateRows: updateRows,
|
|
255
280
|
setRowChildrenExpansion: setRowChildrenExpansion,
|
|
256
281
|
getRowNode: getRowNode,
|
|
@@ -231,6 +231,14 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
231
231
|
}
|
|
232
232
|
};
|
|
233
233
|
|
|
234
|
+
var handleWheel = function handleWheel(event) {
|
|
235
|
+
apiRef.current.publishEvent(GridEvents.virtualScrollerWheel, {}, event);
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
var handleTouchMove = function handleTouchMove(event) {
|
|
239
|
+
apiRef.current.publishEvent(GridEvents.virtualScrollerTouchMove, {}, event);
|
|
240
|
+
};
|
|
241
|
+
|
|
234
242
|
var getRows = function getRows() {
|
|
235
243
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
236
244
|
renderContext: renderContext
|
|
@@ -392,6 +400,8 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
392
400
|
return _extends({
|
|
393
401
|
ref: handleRef,
|
|
394
402
|
onScroll: handleScroll,
|
|
403
|
+
onWheel: handleWheel,
|
|
404
|
+
onTouchMove: handleTouchMove,
|
|
395
405
|
style: _extends({}, style, rootStyle)
|
|
396
406
|
}, other);
|
|
397
407
|
},
|
package/legacy/index.js
CHANGED
package/legacy/locales/arSD.js
CHANGED
|
@@ -115,6 +115,8 @@ var arSDGrid = {
|
|
|
115
115
|
},
|
|
116
116
|
// Master/detail
|
|
117
117
|
expandDetailPanel: 'توسيع',
|
|
118
|
-
collapseDetailPanel: 'طوي'
|
|
118
|
+
collapseDetailPanel: 'طوي' // Row reordering text
|
|
119
|
+
// rowReorderingHeaderName: 'Row reordering',
|
|
120
|
+
|
|
119
121
|
};
|
|
120
122
|
export var arSD = getGridLocalization(arSDGrid, arSDCore);
|
package/legacy/locales/bgBG.js
CHANGED
|
@@ -115,6 +115,8 @@ var bgBGGrid = {
|
|
|
115
115
|
},
|
|
116
116
|
// Master/detail
|
|
117
117
|
expandDetailPanel: 'Разгъване',
|
|
118
|
-
collapseDetailPanel: 'Свиване'
|
|
118
|
+
collapseDetailPanel: 'Свиване' // Row reordering text
|
|
119
|
+
// rowReorderingHeaderName: 'Row reordering',
|
|
120
|
+
|
|
119
121
|
};
|
|
120
122
|
export var bgBG = getGridLocalization(bgBGGrid, bgBGCore);
|
package/legacy/locales/csCZ.js
CHANGED
|
@@ -142,6 +142,8 @@ var csCZGrid = {
|
|
|
142
142
|
} // Master/detail
|
|
143
143
|
// expandDetailPanel: 'Expand',
|
|
144
144
|
// collapseDetailPanel: 'Collapse',
|
|
145
|
+
// Row reordering text
|
|
146
|
+
// rowReorderingHeaderName: 'Row reordering',
|
|
145
147
|
|
|
146
148
|
};
|
|
147
149
|
export var csCZ = getGridLocalization(csCZGrid, csCZCore);
|
package/legacy/locales/daDK.js
CHANGED
|
@@ -115,6 +115,8 @@ var daDKGrid = {
|
|
|
115
115
|
},
|
|
116
116
|
// Master/detail
|
|
117
117
|
expandDetailPanel: 'Udvid',
|
|
118
|
-
collapseDetailPanel: 'Kollaps'
|
|
118
|
+
collapseDetailPanel: 'Kollaps' // Row reordering text
|
|
119
|
+
// rowReorderingHeaderName: 'Row reordering',
|
|
120
|
+
|
|
119
121
|
};
|
|
120
122
|
export var daDK = getGridLocalization(daDKGrid, daDKCore);
|
package/legacy/locales/deDE.js
CHANGED
|
@@ -115,6 +115,8 @@ var deDEGrid = {
|
|
|
115
115
|
},
|
|
116
116
|
// Master/detail
|
|
117
117
|
expandDetailPanel: 'Aufklappen',
|
|
118
|
-
collapseDetailPanel: 'Zuklappen'
|
|
118
|
+
collapseDetailPanel: 'Zuklappen' // Row reordering text
|
|
119
|
+
// rowReorderingHeaderName: 'Row reordering',
|
|
120
|
+
|
|
119
121
|
};
|
|
120
122
|
export var deDE = getGridLocalization(deDEGrid, deDECore);
|
package/legacy/locales/elGR.js
CHANGED
|
@@ -110,6 +110,8 @@ var elGRGrid = {
|
|
|
110
110
|
// Master/detail
|
|
111
111
|
// expandDetailPanel: 'Expand',
|
|
112
112
|
// collapseDetailPanel: 'Collapse',
|
|
113
|
+
// Row reordering text
|
|
114
|
+
// rowReorderingHeaderName: 'Row reordering',
|
|
113
115
|
|
|
114
116
|
};
|
|
115
117
|
export var elGR = getGridLocalization(elGRGrid);
|
package/legacy/locales/esES.js
CHANGED
|
@@ -111,6 +111,8 @@ var esESGrid = {
|
|
|
111
111
|
// Master/detail
|
|
112
112
|
// expandDetailPanel: 'Expand',
|
|
113
113
|
// collapseDetailPanel: 'Collapse',
|
|
114
|
+
// Row reordering text
|
|
115
|
+
// rowReorderingHeaderName: 'Row reordering',
|
|
114
116
|
|
|
115
117
|
};
|
|
116
118
|
export var esES = getGridLocalization(esESGrid, esESCore);
|