@mui/x-data-grid 5.8.0 → 5.9.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 +141 -63
- package/DataGrid/DataGrid.js +1 -1
- package/DataGrid/useDataGridComponent.js +3 -1
- package/LICENSE +21 -0
- package/README.md +1 -1
- package/components/GridRow.d.ts +4 -0
- package/components/GridRow.js +49 -23
- package/components/base/GridOverlays.js +4 -3
- package/components/cell/GridActionsCell.d.ts +5 -1
- package/components/cell/GridActionsCell.js +170 -21
- package/components/cell/GridActionsCellItem.d.ts +66 -4
- package/components/cell/GridActionsCellItem.js +7 -5
- package/components/cell/GridCell.d.ts +1 -0
- package/components/cell/GridCell.js +28 -7
- package/components/cell/GridEditInputCell.js +1 -1
- package/components/cell/GridEditSingleSelectCell.js +22 -13
- package/components/columnHeaders/GridColumnHeaderItem.js +4 -7
- package/components/columnHeaders/GridColumnHeaders.d.ts +0 -1
- package/components/columnHeaders/GridColumnHeaders.js +1 -1
- package/components/columnSelection/GridCellCheckboxRenderer.d.ts +3 -3
- package/components/columnSelection/GridCellCheckboxRenderer.js +20 -3
- package/components/panel/GridPanel.js +1 -0
- package/components/panel/filterPanel/GridFilterForm.js +14 -10
- package/components/panel/filterPanel/GridFilterInputBoolean.js +13 -8
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +22 -15
- package/components/panel/filterPanel/GridFilterInputValue.js +22 -15
- package/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
- package/components/virtualization/GridVirtualScroller.js +2 -0
- package/components/virtualization/GridVirtualScrollerContent.js +1 -3
- package/constants/gridDetailPanelToggleField.d.ts +1 -0
- package/constants/gridDetailPanelToggleField.js +2 -0
- package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +32 -15
- package/hooks/core/pipeProcessing/index.d.ts +1 -0
- package/hooks/core/pipeProcessing/index.js +2 -1
- package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +8 -3
- package/hooks/core/pipeProcessing/useGridPipeProcessing.js +53 -19
- package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +3 -0
- package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +0 -3
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +0 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +76 -10
- package/hooks/features/columns/gridColumnsInterfaces.d.ts +3 -1
- package/hooks/features/columns/gridColumnsUtils.d.ts +19 -1
- package/hooks/features/columns/gridColumnsUtils.js +61 -8
- package/hooks/features/columns/useGridColumnSpanning.d.ts +7 -0
- package/hooks/features/columns/useGridColumnSpanning.js +109 -0
- package/hooks/features/columns/useGridColumns.js +24 -18
- package/hooks/features/dimensions/useGridDimensions.js +3 -3
- package/hooks/features/editRows/useGridCellEditing.new.js +18 -10
- package/hooks/features/editRows/useGridEditing.new.js +7 -3
- package/hooks/features/editRows/useGridRowEditing.new.js +23 -15
- package/hooks/features/filter/useGridFilter.js +14 -9
- package/hooks/features/focus/useGridFocus.js +19 -9
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -0
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +39 -7
- package/hooks/features/rows/gridRowsSelector.d.ts +1 -0
- package/hooks/features/rows/gridRowsSelector.js +1 -0
- package/hooks/features/rows/gridRowsState.d.ts +4 -0
- package/hooks/features/rows/useGridRows.d.ts +2 -2
- package/hooks/features/rows/useGridRows.js +5 -4
- package/hooks/features/rows/useGridRowsMeta.js +6 -13
- package/hooks/features/scroll/useGridScroll.d.ts +2 -0
- package/hooks/features/scroll/useGridScroll.js +25 -3
- package/hooks/features/selection/useGridSelection.js +3 -2
- package/hooks/features/sorting/useGridSorting.js +10 -10
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +7 -0
- package/hooks/features/virtualization/useGridVirtualScroller.js +54 -27
- package/index.js +1 -1
- package/internals/index.d.ts +1 -0
- package/internals/index.js +1 -0
- package/legacy/DataGrid/DataGrid.js +1 -1
- package/legacy/DataGrid/useDataGridComponent.js +3 -1
- package/legacy/components/GridRow.js +47 -23
- package/legacy/components/base/GridOverlays.js +4 -3
- package/legacy/components/cell/GridActionsCell.js +188 -27
- package/legacy/components/cell/GridActionsCellItem.js +7 -5
- package/legacy/components/cell/GridCell.js +29 -7
- package/legacy/components/cell/GridEditInputCell.js +1 -1
- package/legacy/components/cell/GridEditSingleSelectCell.js +33 -24
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +4 -7
- package/legacy/components/columnHeaders/GridColumnHeaders.js +2 -3
- package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +21 -3
- package/legacy/components/panel/GridPanel.js +1 -0
- package/legacy/components/panel/filterPanel/GridFilterForm.js +14 -10
- package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +13 -8
- package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +22 -17
- package/legacy/components/panel/filterPanel/GridFilterInputValue.js +22 -17
- package/legacy/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/legacy/components/virtualization/GridVirtualScroller.js +2 -0
- package/legacy/components/virtualization/GridVirtualScrollerContent.js +1 -3
- package/legacy/constants/gridDetailPanelToggleField.js +2 -0
- package/legacy/hooks/core/pipeProcessing/index.js +2 -1
- package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +60 -24
- package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
- package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +89 -10
- package/legacy/hooks/features/columns/gridColumnsUtils.js +79 -22
- package/legacy/hooks/features/columns/useGridColumnSpanning.js +107 -0
- package/legacy/hooks/features/columns/useGridColumns.js +24 -18
- package/legacy/hooks/features/dimensions/useGridDimensions.js +3 -3
- package/legacy/hooks/features/editRows/useGridCellEditing.new.js +14 -8
- package/legacy/hooks/features/editRows/useGridEditing.new.js +7 -3
- package/legacy/hooks/features/editRows/useGridRowEditing.new.js +32 -24
- package/legacy/hooks/features/filter/useGridFilter.js +14 -9
- package/legacy/hooks/features/focus/useGridFocus.js +19 -9
- package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +39 -6
- package/legacy/hooks/features/rows/gridRowsSelector.js +3 -0
- package/legacy/hooks/features/rows/useGridRows.js +5 -4
- package/legacy/hooks/features/rows/useGridRowsMeta.js +6 -13
- package/legacy/hooks/features/scroll/useGridScroll.js +25 -3
- package/legacy/hooks/features/selection/useGridSelection.js +3 -2
- package/legacy/hooks/features/sorting/useGridSorting.js +5 -7
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +65 -37
- package/legacy/index.js +1 -1
- package/legacy/internals/index.js +1 -0
- package/legacy/locales/huHU.js +120 -0
- package/legacy/locales/index.js +1 -0
- package/legacy/models/api/gridColumnSpanning.js +1 -0
- package/legacy/models/events/gridEvents.js +2 -3
- package/legacy/models/gridColumnSpanning.js +1 -0
- package/locales/huHU.d.ts +2 -0
- package/locales/huHU.js +108 -0
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/models/api/gridApiCommon.d.ts +2 -1
- package/models/api/gridColumnSpanning.d.ts +28 -0
- package/models/api/gridColumnSpanning.js +1 -0
- package/models/api/gridEditingApi.d.ts +49 -3
- package/models/colDef/gridColDef.d.ts +5 -0
- package/models/events/gridEventLookup.d.ts +3 -8
- package/models/events/gridEvents.d.ts +9 -14
- package/models/events/gridEvents.js +2 -3
- package/models/gridColumnSpanning.d.ts +12 -0
- package/models/gridColumnSpanning.js +1 -0
- package/models/gridEditRowModel.d.ts +1 -1
- package/models/params/gridCellParams.d.ts +12 -2
- package/models/params/gridRowParams.d.ts +5 -0
- package/models/props/DataGridProps.d.ts +1 -1
- package/modern/DataGrid/DataGrid.js +1 -1
- package/modern/DataGrid/useDataGridComponent.js +3 -1
- package/modern/components/GridRow.js +47 -21
- package/modern/components/base/GridOverlays.js +4 -3
- package/modern/components/cell/GridActionsCell.js +168 -21
- package/modern/components/cell/GridActionsCellItem.js +7 -5
- package/modern/components/cell/GridCell.js +28 -7
- package/modern/components/cell/GridEditInputCell.js +1 -1
- package/modern/components/cell/GridEditSingleSelectCell.js +20 -11
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +4 -7
- package/modern/components/columnHeaders/GridColumnHeaders.js +1 -1
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +20 -3
- package/modern/components/panel/GridPanel.js +1 -0
- package/modern/components/panel/filterPanel/GridFilterForm.js +10 -6
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +11 -6
- package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +20 -13
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +20 -13
- package/modern/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/modern/components/virtualization/GridVirtualScroller.js +2 -0
- package/modern/components/virtualization/GridVirtualScrollerContent.js +1 -3
- package/modern/constants/gridDetailPanelToggleField.js +2 -0
- package/modern/hooks/core/pipeProcessing/index.js +2 -1
- package/modern/hooks/core/pipeProcessing/useGridPipeProcessing.js +53 -19
- package/modern/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
- package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +76 -10
- package/modern/hooks/features/columns/gridColumnsUtils.js +61 -8
- package/modern/hooks/features/columns/useGridColumnSpanning.js +107 -0
- package/modern/hooks/features/columns/useGridColumns.js +24 -18
- package/modern/hooks/features/dimensions/useGridDimensions.js +3 -3
- package/modern/hooks/features/editRows/useGridCellEditing.new.js +18 -10
- package/modern/hooks/features/editRows/useGridEditing.new.js +7 -3
- package/modern/hooks/features/editRows/useGridRowEditing.new.js +23 -15
- package/modern/hooks/features/filter/useGridFilter.js +14 -9
- package/modern/hooks/features/focus/useGridFocus.js +19 -9
- package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +37 -7
- package/modern/hooks/features/rows/gridRowsSelector.js +1 -0
- package/modern/hooks/features/rows/useGridRows.js +5 -4
- package/modern/hooks/features/rows/useGridRowsMeta.js +6 -13
- package/modern/hooks/features/scroll/useGridScroll.js +23 -3
- package/modern/hooks/features/selection/useGridSelection.js +3 -2
- package/modern/hooks/features/sorting/useGridSorting.js +10 -10
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +54 -23
- package/modern/index.js +1 -1
- package/modern/internals/index.js +1 -0
- package/modern/locales/huHU.js +108 -0
- package/modern/locales/index.js +1 -0
- package/modern/models/api/gridColumnSpanning.js +1 -0
- package/modern/models/events/gridEvents.js +2 -3
- package/modern/models/gridColumnSpanning.js +1 -0
- package/node/DataGrid/DataGrid.js +1 -1
- package/node/DataGrid/useDataGridComponent.js +4 -1
- package/node/components/GridRow.js +50 -23
- package/node/components/base/GridOverlays.js +3 -2
- package/node/components/cell/GridActionsCell.js +172 -21
- package/node/components/cell/GridActionsCellItem.js +7 -4
- package/node/components/cell/GridCell.js +28 -7
- package/node/components/cell/GridEditInputCell.js +1 -1
- package/node/components/cell/GridEditSingleSelectCell.js +23 -13
- package/node/components/columnHeaders/GridColumnHeaderItem.js +4 -7
- package/node/components/columnHeaders/GridColumnHeaders.js +1 -1
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +20 -3
- package/node/components/panel/GridPanel.js +1 -0
- package/node/components/panel/filterPanel/GridFilterForm.js +15 -10
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +14 -8
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +23 -15
- package/node/components/panel/filterPanel/GridFilterInputValue.js +23 -15
- package/node/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/node/components/virtualization/GridVirtualScroller.js +2 -0
- package/node/components/virtualization/GridVirtualScrollerContent.js +1 -3
- package/node/constants/gridDetailPanelToggleField.js +9 -0
- package/node/hooks/core/pipeProcessing/index.js +13 -0
- package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +51 -20
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +42 -0
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -3
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +80 -10
- package/node/hooks/features/columns/gridColumnsUtils.js +65 -9
- package/node/hooks/features/columns/useGridColumnSpanning.js +130 -0
- package/node/hooks/features/columns/useGridColumns.js +23 -17
- package/node/hooks/features/dimensions/useGridDimensions.js +3 -3
- package/node/hooks/features/editRows/useGridCellEditing.new.js +18 -10
- package/node/hooks/features/editRows/useGridEditing.new.js +6 -2
- package/node/hooks/features/editRows/useGridRowEditing.new.js +21 -14
- package/node/hooks/features/filter/useGridFilter.js +14 -9
- package/node/hooks/features/focus/useGridFocus.js +19 -9
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +40 -7
- package/node/hooks/features/rows/gridRowsSelector.js +3 -1
- package/node/hooks/features/rows/useGridRows.js +5 -4
- package/node/hooks/features/rows/useGridRowsMeta.js +6 -14
- package/node/hooks/features/scroll/useGridScroll.js +26 -2
- package/node/hooks/features/selection/useGridSelection.js +4 -2
- package/node/hooks/features/sorting/useGridSorting.js +10 -10
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +59 -27
- package/node/index.js +1 -1
- package/node/internals/index.js +8 -0
- package/node/locales/huHU.js +118 -0
- package/node/locales/index.js +13 -0
- package/node/models/api/gridColumnSpanning.js +5 -0
- package/node/models/events/gridEvents.js +2 -3
- package/node/models/gridColumnSpanning.js +5 -0
- package/package.json +4 -4
- package/utils/domUtils.d.ts +2 -2
|
@@ -43,7 +43,7 @@ const convertGridRowsPropToState = ({
|
|
|
43
43
|
};
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
-
const getRowsStateFromCache = (rowsCache, previousTree, apiRef, rowCountProp) => {
|
|
46
|
+
const getRowsStateFromCache = (rowsCache, previousTree, apiRef, rowCountProp, loadingProp) => {
|
|
47
47
|
const {
|
|
48
48
|
value
|
|
49
49
|
} = rowsCache.state;
|
|
@@ -53,6 +53,7 @@ const getRowsStateFromCache = (rowsCache, previousTree, apiRef, rowCountProp) =>
|
|
|
53
53
|
}));
|
|
54
54
|
const dataTopLevelRowCount = groupingResponse.treeDepth === 1 ? groupingResponse.ids.length : Object.values(groupingResponse.tree).filter(node => node.parent == null).length;
|
|
55
55
|
return _extends({}, groupingResponse, {
|
|
56
|
+
loading: loadingProp,
|
|
56
57
|
totalRowCount: Math.max(rowCount, groupingResponse.ids.length),
|
|
57
58
|
totalTopLevelRowCount: Math.max(rowCount, dataTopLevelRowCount)
|
|
58
59
|
});
|
|
@@ -75,7 +76,7 @@ export const rowsStateInitializer = (state, props, apiRef) => {
|
|
|
75
76
|
lastUpdateMs: Date.now()
|
|
76
77
|
};
|
|
77
78
|
return _extends({}, state, {
|
|
78
|
-
rows: getRowsStateFromCache(rowsCache, null, apiRef, props.rowCount),
|
|
79
|
+
rows: getRowsStateFromCache(rowsCache, null, apiRef, props.rowCount, props.loading),
|
|
79
80
|
rowsCache // TODO remove from state
|
|
80
81
|
|
|
81
82
|
});
|
|
@@ -102,7 +103,7 @@ export const useGridRows = (apiRef, props) => {
|
|
|
102
103
|
rowsCache.current.timeout = null;
|
|
103
104
|
rowsCache.current.lastUpdateMs = Date.now();
|
|
104
105
|
apiRef.current.setState(state => _extends({}, state, {
|
|
105
|
-
rows: getRowsStateFromCache(rowsCache.current, gridRowTreeSelector(apiRef), apiRef, props.rowCount)
|
|
106
|
+
rows: getRowsStateFromCache(rowsCache.current, gridRowTreeSelector(apiRef), apiRef, props.rowCount, props.loading)
|
|
106
107
|
}));
|
|
107
108
|
apiRef.current.publishEvent(GridEvents.rowsSet);
|
|
108
109
|
apiRef.current.forceUpdate();
|
|
@@ -128,7 +129,7 @@ export const useGridRows = (apiRef, props) => {
|
|
|
128
129
|
}
|
|
129
130
|
|
|
130
131
|
run();
|
|
131
|
-
}, [props.throttleRowsMs, props.rowCount, apiRef]);
|
|
132
|
+
}, [props.throttleRowsMs, props.rowCount, props.loading, apiRef]);
|
|
132
133
|
/**
|
|
133
134
|
* API METHODS
|
|
134
135
|
*/
|
|
@@ -7,8 +7,7 @@ import { gridDensityRowHeightSelector, gridDensityFactorSelector } from '../dens
|
|
|
7
7
|
import { gridFilterStateSelector } from '../filter/gridFilterSelector';
|
|
8
8
|
import { gridPaginationSelector } from '../pagination/gridPaginationSelector';
|
|
9
9
|
import { gridSortingStateSelector } from '../sorting/gridSortingSelector';
|
|
10
|
-
import {
|
|
11
|
-
import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
|
|
10
|
+
import { useGridRegisterPipeApplier } from '../../core/pipeProcessing';
|
|
12
11
|
export const rowsMetaStateInitializer = state => _extends({}, state, {
|
|
13
12
|
rowsMeta: {
|
|
14
13
|
currentPageTotalHeight: 0,
|
|
@@ -61,10 +60,11 @@ export const useGridRowsMeta = (apiRef, props) => {
|
|
|
61
60
|
};
|
|
62
61
|
|
|
63
62
|
if (getRowSpacing) {
|
|
64
|
-
const
|
|
63
|
+
const indexRelativeToCurrentPage = apiRef.current.getRowIndexRelativeToVisibleRows(row.id);
|
|
65
64
|
const spacing = getRowSpacing(_extends({}, row, {
|
|
66
|
-
isFirstVisible:
|
|
67
|
-
isLastVisible:
|
|
65
|
+
isFirstVisible: indexRelativeToCurrentPage === 0,
|
|
66
|
+
isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1,
|
|
67
|
+
indexRelativeToCurrentPage
|
|
68
68
|
}));
|
|
69
69
|
initialHeights.spacingTop = spacing.top ?? 0;
|
|
70
70
|
initialHeights.spacingBottom = spacing.bottom ?? 0;
|
|
@@ -108,14 +108,7 @@ export const useGridRowsMeta = (apiRef, props) => {
|
|
|
108
108
|
React.useEffect(() => {
|
|
109
109
|
hydrateRowsMeta();
|
|
110
110
|
}, [rowHeight, filterState, paginationState, sortingState, hydrateRowsMeta]);
|
|
111
|
-
|
|
112
|
-
if (name !== 'rowHeight') {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
hydrateRowsMeta();
|
|
117
|
-
}, [hydrateRowsMeta]);
|
|
118
|
-
useGridApiEventHandler(apiRef, GridEvents.pipeProcessorRegister, handlepipeProcessorRegister);
|
|
111
|
+
useGridRegisterPipeApplier(apiRef, 'rowHeight', hydrateRowsMeta);
|
|
119
112
|
const rowsMetaApi = {
|
|
120
113
|
unstable_getRowHeight: getTargetRowHeight,
|
|
121
114
|
unstable_getRowInternalSizes: getRowInternalSizes,
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useGridLogger } from '../../utils/useGridLogger';
|
|
3
3
|
import { gridColumnPositionsSelector, gridVisibleColumnDefinitionsSelector } from '../columns/gridColumnsSelector';
|
|
4
|
+
import { useGridSelector } from '../../utils/useGridSelector';
|
|
4
5
|
import { gridPageSelector, gridPageSizeSelector } from '../pagination/gridPaginationSelector';
|
|
5
6
|
import { gridRowCountSelector } from '../rows/gridRowsSelector';
|
|
6
7
|
import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
|
|
7
|
-
import { useGridApiMethod } from '../../utils/useGridApiMethod';
|
|
8
|
+
import { useGridApiMethod } from '../../utils/useGridApiMethod';
|
|
9
|
+
import { gridVisibleSortedRowEntriesSelector } from '../filter/gridFilterSelector'; // Logic copied from https://www.w3.org/TR/wai-aria-practices/examples/listbox/js/listbox.js
|
|
8
10
|
// Similar to https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
|
|
9
11
|
|
|
10
12
|
function scrollIntoView(dimensions) {
|
|
@@ -31,6 +33,8 @@ function scrollIntoView(dimensions) {
|
|
|
31
33
|
* @requires useGridColumns (state) - can be after, async only
|
|
32
34
|
* @requires useGridRows (state) - can be after, async only
|
|
33
35
|
* @requires useGridRowsMeta (state) - can be after, async only
|
|
36
|
+
* @requires useGridFilter (state)
|
|
37
|
+
* @requires useGridColumnSpanning (method)
|
|
34
38
|
*/
|
|
35
39
|
|
|
36
40
|
|
|
@@ -38,6 +42,7 @@ export const useGridScroll = (apiRef, props) => {
|
|
|
38
42
|
const logger = useGridLogger(apiRef, 'useGridScroll');
|
|
39
43
|
const colRef = apiRef.current.columnHeadersElementRef;
|
|
40
44
|
const windowRef = apiRef.current.windowRef;
|
|
45
|
+
const visibleSortedRows = useGridSelector(apiRef, gridVisibleSortedRowEntriesSelector);
|
|
41
46
|
const scrollToIndexes = React.useCallback(params => {
|
|
42
47
|
const totalRowCount = gridRowCountSelector(apiRef);
|
|
43
48
|
const visibleColumns = gridVisibleColumnDefinitionsSelector(apiRef);
|
|
@@ -52,10 +57,25 @@ export const useGridScroll = (apiRef, props) => {
|
|
|
52
57
|
|
|
53
58
|
if (params.colIndex != null) {
|
|
54
59
|
const columnPositions = gridColumnPositionsSelector(apiRef);
|
|
60
|
+
let cellWidth;
|
|
61
|
+
|
|
62
|
+
if (typeof params.rowIndex !== 'undefined') {
|
|
63
|
+
const rowId = visibleSortedRows[params.rowIndex]?.id;
|
|
64
|
+
const cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, params.colIndex);
|
|
65
|
+
|
|
66
|
+
if (cellColSpanInfo && !cellColSpanInfo.spannedByColSpan) {
|
|
67
|
+
cellWidth = cellColSpanInfo.cellProps.width;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (typeof cellWidth === 'undefined') {
|
|
72
|
+
cellWidth = visibleColumns[params.colIndex].computedWidth;
|
|
73
|
+
}
|
|
74
|
+
|
|
55
75
|
scrollCoordinates.left = scrollIntoView({
|
|
56
76
|
clientHeight: windowRef.current.clientWidth,
|
|
57
77
|
scrollTop: windowRef.current.scrollLeft,
|
|
58
|
-
offsetHeight:
|
|
78
|
+
offsetHeight: cellWidth,
|
|
59
79
|
offsetTop: columnPositions[params.colIndex]
|
|
60
80
|
});
|
|
61
81
|
}
|
|
@@ -82,7 +102,7 @@ export const useGridScroll = (apiRef, props) => {
|
|
|
82
102
|
}
|
|
83
103
|
|
|
84
104
|
return false;
|
|
85
|
-
}, [logger, apiRef, windowRef, props.pagination]);
|
|
105
|
+
}, [logger, apiRef, windowRef, props.pagination, visibleSortedRows]);
|
|
86
106
|
const scroll = React.useCallback(params => {
|
|
87
107
|
if (windowRef.current && params.left != null && colRef.current) {
|
|
88
108
|
colRef.current.scrollLeft = params.left;
|
|
@@ -13,6 +13,7 @@ import { GRID_CHECKBOX_SELECTION_COL_DEF, GRID_ACTIONS_COLUMN_TYPE } from '../..
|
|
|
13
13
|
import { GridCellModes } from '../../../models/gridEditRowModel';
|
|
14
14
|
import { isKeyboardEvent, isNavigationKey } from '../../../utils/keyboardUtils';
|
|
15
15
|
import { getVisibleRows, useGridVisibleRows } from '../../utils/useGridVisibleRows';
|
|
16
|
+
import { GRID_DETAIL_PANEL_TOGGLE_FIELD } from '../../../constants/gridDetailPanelToggleField';
|
|
16
17
|
|
|
17
18
|
const getSelectionModelPropValue = (selectionModelProp, prevSelectionModel) => {
|
|
18
19
|
if (selectionModelProp == null) {
|
|
@@ -234,7 +235,7 @@ export const useGridSelection = (apiRef, props) => {
|
|
|
234
235
|
return;
|
|
235
236
|
}
|
|
236
237
|
|
|
237
|
-
if (params.field ===
|
|
238
|
+
if (params.field === GRID_DETAIL_PANEL_TOGGLE_FIELD) {
|
|
238
239
|
// click to open the detail panel should not select the row
|
|
239
240
|
return;
|
|
240
241
|
}
|
|
@@ -340,7 +341,7 @@ export const useGridSelection = (apiRef, props) => {
|
|
|
340
341
|
selectRows(apiRef.current.getAllRowIds(), true);
|
|
341
342
|
}
|
|
342
343
|
}, [apiRef, handleSingleRowSelection, selectRows, visibleRows.rows, canHaveMultipleSelection]);
|
|
343
|
-
useGridApiEventHandler(apiRef, GridEvents.
|
|
344
|
+
useGridApiEventHandler(apiRef, GridEvents.sortedRowsSet, removeOutdatedSelection);
|
|
344
345
|
useGridApiEventHandler(apiRef, GridEvents.cellClick, handleCellClick);
|
|
345
346
|
useGridApiEventHandler(apiRef, GridEvents.rowSelectionCheckboxChange, handleRowSelectionCheckboxChange);
|
|
346
347
|
useGridApiEventHandler(apiRef, GridEvents.headerSelectionCheckboxChange, handleHeaderSelectionCheckboxChange);
|
|
@@ -74,17 +74,16 @@ export const useGridSorting = (apiRef, props) => {
|
|
|
74
74
|
*/
|
|
75
75
|
|
|
76
76
|
const applySorting = React.useCallback(() => {
|
|
77
|
-
if (props.sortingMode === GridFeatureModeConstant.server) {
|
|
78
|
-
logger.debug('Skipping sorting rows as sortingMode = server');
|
|
79
|
-
apiRef.current.setState(state => _extends({}, state, {
|
|
80
|
-
sorting: _extends({}, state.sorting, {
|
|
81
|
-
sortedRows: gridRowIdsSelector(state, apiRef.current.instanceId)
|
|
82
|
-
})
|
|
83
|
-
}));
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
77
|
apiRef.current.setState(state => {
|
|
78
|
+
if (props.sortingMode === GridFeatureModeConstant.server) {
|
|
79
|
+
logger.debug('Skipping sorting rows as sortingMode = server');
|
|
80
|
+
return _extends({}, state, {
|
|
81
|
+
sorting: _extends({}, state.sorting, {
|
|
82
|
+
sortedRows: gridRowIdsSelector(state, apiRef.current.instanceId)
|
|
83
|
+
})
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
88
87
|
const sortModel = gridSortModelSelector(state, apiRef.current.instanceId);
|
|
89
88
|
const sortRowList = buildAggregatedSortingApplier(sortModel, apiRef);
|
|
90
89
|
const sortedRows = apiRef.current.unstable_applyStrategyProcessor('sorting', {
|
|
@@ -96,6 +95,7 @@ export const useGridSorting = (apiRef, props) => {
|
|
|
96
95
|
})
|
|
97
96
|
});
|
|
98
97
|
});
|
|
98
|
+
apiRef.current.publishEvent(GridEvents.sortedRowsSet);
|
|
99
99
|
apiRef.current.forceUpdate();
|
|
100
100
|
}, [apiRef, logger, props.sortingMode]);
|
|
101
101
|
const setSortModel = React.useCallback(model => {
|
|
@@ -2,6 +2,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
const _excluded = ["style"];
|
|
4
4
|
import * as React from 'react';
|
|
5
|
+
import * as ReactDOM from 'react-dom';
|
|
5
6
|
import { useForkRef } from '@mui/material/utils';
|
|
6
7
|
import { useGridApiContext } from '../../utils/useGridApiContext';
|
|
7
8
|
import { useGridRootProps } from '../../utils/useGridRootProps';
|
|
@@ -16,8 +17,9 @@ import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
|
|
|
16
17
|
import { clamp } from '../../../utils/utils';
|
|
17
18
|
import { selectedIdsLookupSelector } from '../selection/gridSelectionSelector';
|
|
18
19
|
import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
|
|
20
|
+
import { getFirstNonSpannedColumnToRender } from '../columns/gridColumnsUtils'; // Uses binary search to avoid looping through all possible positions
|
|
21
|
+
|
|
19
22
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
|
-
// Uses binary search to avoid looping through all possible positions
|
|
21
23
|
export function getIndexFromScroll(offset, positions, sliceStart = 0, sliceEnd = positions.length) {
|
|
22
24
|
if (positions.length <= 0) {
|
|
23
25
|
return -1;
|
|
@@ -31,6 +33,15 @@ export function getIndexFromScroll(offset, positions, sliceStart = 0, sliceEnd =
|
|
|
31
33
|
const itemOffset = positions[pivot];
|
|
32
34
|
return offset <= itemOffset ? getIndexFromScroll(offset, positions, sliceStart, pivot) : getIndexFromScroll(offset, positions, pivot + 1, sliceEnd);
|
|
33
35
|
}
|
|
36
|
+
export const getRenderableIndexes = ({
|
|
37
|
+
firstIndex,
|
|
38
|
+
lastIndex,
|
|
39
|
+
buffer,
|
|
40
|
+
minFirstIndex,
|
|
41
|
+
maxLastIndex
|
|
42
|
+
}) => {
|
|
43
|
+
return [clamp(firstIndex - buffer, minFirstIndex, maxLastIndex), clamp(lastIndex + buffer, minFirstIndex, maxLastIndex)];
|
|
44
|
+
};
|
|
34
45
|
export const useGridVirtualScroller = props => {
|
|
35
46
|
const apiRef = useGridApiContext();
|
|
36
47
|
const rootProps = useGridRootProps();
|
|
@@ -106,32 +117,28 @@ export const useGridVirtualScroller = props => {
|
|
|
106
117
|
}
|
|
107
118
|
}, []);
|
|
108
119
|
useGridApiEventHandler(apiRef, GridEvents.resize, handleResize);
|
|
109
|
-
|
|
110
|
-
const getRenderableIndexes = ({
|
|
111
|
-
firstIndex,
|
|
112
|
-
lastIndex,
|
|
113
|
-
buffer,
|
|
114
|
-
minFirstIndex,
|
|
115
|
-
maxLastIndex
|
|
116
|
-
}) => {
|
|
117
|
-
return [clamp(firstIndex - buffer, minFirstIndex, maxLastIndex), clamp(lastIndex + buffer, minFirstIndex, maxLastIndex)];
|
|
118
|
-
};
|
|
119
|
-
|
|
120
120
|
const updateRenderZonePosition = React.useCallback(nextRenderContext => {
|
|
121
|
-
const [firstRowToRender] = getRenderableIndexes({
|
|
121
|
+
const [firstRowToRender, lastRowToRender] = getRenderableIndexes({
|
|
122
122
|
firstIndex: nextRenderContext.firstRowIndex,
|
|
123
123
|
lastIndex: nextRenderContext.lastRowIndex,
|
|
124
124
|
minFirstIndex: 0,
|
|
125
|
-
maxLastIndex: currentPage.
|
|
125
|
+
maxLastIndex: currentPage.rows.length,
|
|
126
126
|
buffer: rootProps.rowBuffer
|
|
127
127
|
});
|
|
128
|
-
const [
|
|
128
|
+
const [initialFirstColumnToRender] = getRenderableIndexes({
|
|
129
129
|
firstIndex: nextRenderContext.firstColumnIndex,
|
|
130
130
|
lastIndex: nextRenderContext.lastColumnIndex,
|
|
131
131
|
minFirstIndex: renderZoneMinColumnIndex,
|
|
132
132
|
maxLastIndex: renderZoneMaxColumnIndex,
|
|
133
133
|
buffer: rootProps.columnBuffer
|
|
134
134
|
});
|
|
135
|
+
const firstColumnToRender = getFirstNonSpannedColumnToRender({
|
|
136
|
+
firstColumnToRender: initialFirstColumnToRender,
|
|
137
|
+
apiRef,
|
|
138
|
+
firstRowToRender,
|
|
139
|
+
lastRowToRender,
|
|
140
|
+
visibleRows: currentPage.rows
|
|
141
|
+
});
|
|
135
142
|
const top = gridRowsMetaSelector(apiRef.current.state).positions[firstRowToRender];
|
|
136
143
|
const left = gridColumnPositionsSelector(apiRef)[firstColumnToRender]; // Call directly the selector because it might be outdated when this method is called
|
|
137
144
|
|
|
@@ -143,19 +150,22 @@ export const useGridVirtualScroller = props => {
|
|
|
143
150
|
left
|
|
144
151
|
});
|
|
145
152
|
}
|
|
146
|
-
}, [apiRef, currentPage.
|
|
153
|
+
}, [apiRef, currentPage.rows, onRenderZonePositioning, renderZoneMinColumnIndex, renderZoneMaxColumnIndex, rootProps.columnBuffer, rootProps.rowBuffer]);
|
|
154
|
+
React.useLayoutEffect(() => {
|
|
155
|
+
if (renderContext) {
|
|
156
|
+
updateRenderZonePosition(renderContext);
|
|
157
|
+
}
|
|
158
|
+
}, [renderContext, updateRenderZonePosition]);
|
|
147
159
|
const updateRenderContext = React.useCallback(nextRenderContext => {
|
|
148
160
|
setRenderContext(nextRenderContext);
|
|
149
|
-
updateRenderZonePosition(nextRenderContext);
|
|
150
161
|
prevRenderContext.current = nextRenderContext;
|
|
151
|
-
}, [setRenderContext, prevRenderContext
|
|
162
|
+
}, [setRenderContext, prevRenderContext]);
|
|
152
163
|
React.useEffect(() => {
|
|
153
164
|
if (containerWidth == null) {
|
|
154
165
|
return;
|
|
155
166
|
}
|
|
156
167
|
|
|
157
168
|
const initialRenderContext = computeRenderContext();
|
|
158
|
-
prevRenderContext.current = initialRenderContext;
|
|
159
169
|
updateRenderContext(initialRenderContext);
|
|
160
170
|
const {
|
|
161
171
|
top,
|
|
@@ -193,10 +203,13 @@ export const useGridVirtualScroller = props => {
|
|
|
193
203
|
top: scrollTop,
|
|
194
204
|
left: scrollLeft,
|
|
195
205
|
renderContext: shouldSetState ? nextRenderContext : prevRenderContext.current
|
|
196
|
-
});
|
|
206
|
+
}, event);
|
|
197
207
|
|
|
198
208
|
if (shouldSetState) {
|
|
199
|
-
|
|
209
|
+
// Prevents batching render context changes
|
|
210
|
+
ReactDOM.flushSync(() => {
|
|
211
|
+
updateRenderContext(nextRenderContext);
|
|
212
|
+
});
|
|
200
213
|
prevTotalWidth.current = columnsTotalWidth;
|
|
201
214
|
}
|
|
202
215
|
};
|
|
@@ -224,14 +237,32 @@ export const useGridVirtualScroller = props => {
|
|
|
224
237
|
maxLastIndex: currentPage.rows.length,
|
|
225
238
|
buffer: rowBuffer
|
|
226
239
|
});
|
|
227
|
-
const
|
|
240
|
+
const renderedRows = [];
|
|
241
|
+
|
|
242
|
+
for (let i = firstRowToRender; i < lastRowToRender; i += 1) {
|
|
243
|
+
const row = currentPage.rows[i];
|
|
244
|
+
renderedRows.push(row);
|
|
245
|
+
apiRef.current.unstable_calculateColSpan({
|
|
246
|
+
rowId: row.id,
|
|
247
|
+
minFirstColumn,
|
|
248
|
+
maxLastColumn
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
const [initialFirstColumnToRender, lastColumnToRender] = getRenderableIndexes({
|
|
228
253
|
firstIndex: nextRenderContext.firstColumnIndex,
|
|
229
254
|
lastIndex: nextRenderContext.lastColumnIndex,
|
|
230
255
|
minFirstIndex: minFirstColumn,
|
|
231
256
|
maxLastIndex: maxLastColumn,
|
|
232
257
|
buffer: columnBuffer
|
|
233
258
|
});
|
|
234
|
-
const
|
|
259
|
+
const firstColumnToRender = getFirstNonSpannedColumnToRender({
|
|
260
|
+
firstColumnToRender: initialFirstColumnToRender,
|
|
261
|
+
apiRef,
|
|
262
|
+
firstRowToRender,
|
|
263
|
+
lastRowToRender,
|
|
264
|
+
visibleRows: currentPage.rows
|
|
265
|
+
});
|
|
235
266
|
const renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
|
|
236
267
|
const rows = [];
|
|
237
268
|
|
package/modern/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export { useGridClipboard } from '../hooks/features/clipboard/useGridClipboard';
|
|
|
10
10
|
export { useGridColumnHeaders } from '../hooks/features/columnHeaders/useGridColumnHeaders';
|
|
11
11
|
export { useGridColumnMenu, columnMenuStateInitializer } from '../hooks/features/columnMenu/useGridColumnMenu';
|
|
12
12
|
export { useGridColumns, columnsStateInitializer } from '../hooks/features/columns/useGridColumns';
|
|
13
|
+
export { useGridColumnSpanning } from '../hooks/features/columns/useGridColumnSpanning';
|
|
13
14
|
export { useGridDensity, densityStateInitializer } from '../hooks/features/density/useGridDensity';
|
|
14
15
|
export { useGridCsvExport } from '../hooks/features/export/useGridCsvExport';
|
|
15
16
|
export { useGridPrintExport } from '../hooks/features/export/useGridPrintExport';
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { huHU as huHUCore } from '@mui/material/locale';
|
|
2
|
+
import { getGridLocalization } from '../utils/getGridLocalization';
|
|
3
|
+
const huHUGrid = {
|
|
4
|
+
// Root
|
|
5
|
+
noRowsLabel: 'Nincsenek sorok',
|
|
6
|
+
noResultsOverlayLabel: 'Nincs találat.',
|
|
7
|
+
errorOverlayDefaultLabel: 'Váratlan hiba történt.',
|
|
8
|
+
// Density selector toolbar button text
|
|
9
|
+
toolbarDensity: 'Sormagasság',
|
|
10
|
+
toolbarDensityLabel: 'Sormagasság',
|
|
11
|
+
toolbarDensityCompact: 'Kompakt',
|
|
12
|
+
toolbarDensityStandard: 'Normál',
|
|
13
|
+
toolbarDensityComfortable: 'Kényelmes',
|
|
14
|
+
// Columns selector toolbar button text
|
|
15
|
+
toolbarColumns: 'Oszlopok',
|
|
16
|
+
toolbarColumnsLabel: 'Oszlopok kiválasztása',
|
|
17
|
+
// Filters toolbar button text
|
|
18
|
+
toolbarFilters: 'Szűrők',
|
|
19
|
+
toolbarFiltersLabel: 'Szűrők megjelenítése',
|
|
20
|
+
toolbarFiltersTooltipHide: 'Szűrők elrejtése',
|
|
21
|
+
toolbarFiltersTooltipShow: 'Szűrők megjelenítése',
|
|
22
|
+
toolbarFiltersTooltipActive: count => `${count} aktív szűrő`,
|
|
23
|
+
// Export selector toolbar button text
|
|
24
|
+
toolbarExport: 'Exportálás',
|
|
25
|
+
toolbarExportLabel: 'Exportálás',
|
|
26
|
+
toolbarExportCSV: 'Mentés CSV fájlként',
|
|
27
|
+
toolbarExportPrint: 'Nyomtatás',
|
|
28
|
+
// Columns panel text
|
|
29
|
+
columnsPanelTextFieldLabel: 'Oszlop keresése',
|
|
30
|
+
columnsPanelTextFieldPlaceholder: 'Oszlop neve',
|
|
31
|
+
columnsPanelDragIconLabel: 'Oszlop átrendezése',
|
|
32
|
+
columnsPanelShowAllButton: 'Összes megjelenítése',
|
|
33
|
+
columnsPanelHideAllButton: 'Összes elrejtése',
|
|
34
|
+
// Filter panel text
|
|
35
|
+
filterPanelAddFilter: 'Szűrő hozzáadása',
|
|
36
|
+
filterPanelDeleteIconLabel: 'Törlés',
|
|
37
|
+
filterPanelLinkOperator: 'Logikai operátor',
|
|
38
|
+
filterPanelOperators: 'Operátorok',
|
|
39
|
+
// TODO v6: rename to filterPanelOperator
|
|
40
|
+
filterPanelOperatorAnd: 'És',
|
|
41
|
+
filterPanelOperatorOr: 'Vagy',
|
|
42
|
+
filterPanelColumns: 'Oszlopok',
|
|
43
|
+
filterPanelInputLabel: 'Érték',
|
|
44
|
+
filterPanelInputPlaceholder: 'Érték szűrése',
|
|
45
|
+
// Filter operators text
|
|
46
|
+
filterOperatorContains: 'tartalmazza:',
|
|
47
|
+
filterOperatorEquals: 'egyenlő ezzel:',
|
|
48
|
+
filterOperatorStartsWith: 'ezzel kezdődik:',
|
|
49
|
+
filterOperatorEndsWith: 'ezzel végződik:',
|
|
50
|
+
filterOperatorIs: 'a következő:',
|
|
51
|
+
filterOperatorNot: 'nem a következő:',
|
|
52
|
+
filterOperatorAfter: 'ezutáni:',
|
|
53
|
+
filterOperatorOnOrAfter: 'ekkori vagy ezutáni:',
|
|
54
|
+
filterOperatorBefore: 'ezelőtti:',
|
|
55
|
+
filterOperatorOnOrBefore: 'ekkori vagy ezelőtti:',
|
|
56
|
+
filterOperatorIsEmpty: 'üres',
|
|
57
|
+
filterOperatorIsNotEmpty: 'nem üres',
|
|
58
|
+
filterOperatorIsAnyOf: 'a következők egyike:',
|
|
59
|
+
// Filter values text
|
|
60
|
+
filterValueAny: 'bármilyen',
|
|
61
|
+
filterValueTrue: 'igaz',
|
|
62
|
+
filterValueFalse: 'hamis',
|
|
63
|
+
// Column menu text
|
|
64
|
+
columnMenuLabel: 'Menü',
|
|
65
|
+
columnMenuShowColumns: 'Oszlopok megjelenítése',
|
|
66
|
+
columnMenuFilter: 'Szűrők',
|
|
67
|
+
columnMenuHideColumn: 'Elrejtés',
|
|
68
|
+
columnMenuUnsort: 'Sorrend visszaállítása',
|
|
69
|
+
columnMenuSortAsc: 'Növekvő sorrendbe',
|
|
70
|
+
columnMenuSortDesc: 'Csökkenő sorrendbe',
|
|
71
|
+
// Column header text
|
|
72
|
+
columnHeaderFiltersTooltipActive: count => `${count} aktív szűrő`,
|
|
73
|
+
columnHeaderFiltersLabel: 'Szűrők megjelenítése',
|
|
74
|
+
columnHeaderSortIconLabel: 'Átrendezés',
|
|
75
|
+
// Rows selected footer text
|
|
76
|
+
footerRowSelected: count => `${count.toLocaleString()} sor kiválasztva`,
|
|
77
|
+
// Total row amount footer text
|
|
78
|
+
footerTotalRows: 'Összesen:',
|
|
79
|
+
// Total visible row amount footer text
|
|
80
|
+
footerTotalVisibleRows: (visibleCount, totalCount) => `${visibleCount.toLocaleString()} (összesen: ${totalCount.toLocaleString()})`,
|
|
81
|
+
// Checkbox selection text
|
|
82
|
+
checkboxSelectionHeaderName: 'Jelölőnégyzetes kijelölés',
|
|
83
|
+
checkboxSelectionSelectAllRows: 'Minden sor kijelölése',
|
|
84
|
+
checkboxSelectionUnselectAllRows: 'Minden sor kijelölésének törlése',
|
|
85
|
+
checkboxSelectionSelectRow: 'Sor kijelölése',
|
|
86
|
+
checkboxSelectionUnselectRow: 'Sor kijelölésének törlése',
|
|
87
|
+
// Boolean cell text
|
|
88
|
+
booleanCellTrueLabel: 'igen',
|
|
89
|
+
booleanCellFalseLabel: 'nem',
|
|
90
|
+
// Actions cell more text
|
|
91
|
+
actionsCellMore: 'további',
|
|
92
|
+
// Column pinning text
|
|
93
|
+
pinToLeft: 'Rögzítés balra',
|
|
94
|
+
pinToRight: 'Rögzítés jobbra',
|
|
95
|
+
unpin: 'Rögzítés törlése',
|
|
96
|
+
// Tree Data
|
|
97
|
+
treeDataGroupingHeaderName: 'Csoport',
|
|
98
|
+
treeDataExpand: 'gyermekek megjelenítése',
|
|
99
|
+
treeDataCollapse: 'gyermekek elrejtése',
|
|
100
|
+
// Grouping columns
|
|
101
|
+
groupingColumnHeaderName: 'Csoportosítás',
|
|
102
|
+
groupColumn: name => `Csoportosítás ${name} szerint`,
|
|
103
|
+
unGroupColumn: name => `${name} szerinti csoportosítás törlése`,
|
|
104
|
+
// Master/detail
|
|
105
|
+
expandDetailPanel: 'Kibontás',
|
|
106
|
+
collapseDetailPanel: 'Összecsukás'
|
|
107
|
+
};
|
|
108
|
+
export const huHU = getGridLocalization(huHUGrid, huHUCore);
|
package/modern/locales/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -59,12 +59,11 @@ var GridEvents;
|
|
|
59
59
|
GridEvents["columnOrderChange"] = "columnOrderChange";
|
|
60
60
|
GridEvents["rowsSet"] = "rowsSet";
|
|
61
61
|
GridEvents["rowExpansionChange"] = "rowExpansionChange";
|
|
62
|
-
GridEvents["
|
|
62
|
+
GridEvents["sortedRowsSet"] = "sortedRowsSet";
|
|
63
|
+
GridEvents["filteredRowsSet"] = "filteredRowsSet";
|
|
63
64
|
GridEvents["columnsChange"] = "columnsChange";
|
|
64
65
|
GridEvents["detailPanelsExpandedRowIdsChange"] = "detailPanelsExpandedRowIdsChange";
|
|
65
66
|
GridEvents["pinnedColumnsChange"] = "pinnedColumnsChange";
|
|
66
|
-
GridEvents["pipeProcessorRegister"] = "pipeProcessorRegister";
|
|
67
|
-
GridEvents["pipeProcessorUnregister"] = "pipeProcessorUnregister";
|
|
68
67
|
GridEvents["activeStrategyProcessorChange"] = "activeStrategyProcessorChange";
|
|
69
68
|
GridEvents["strategyAvailabilityChange"] = "strategyAvailabilityChange";
|
|
70
69
|
GridEvents["sortModelChange"] = "sortModelChange";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -481,7 +481,7 @@ DataGridRaw.propTypes = {
|
|
|
481
481
|
* @param {GridEditCellPropsParams} params With all properties from [[GridEditCellPropsParams]].
|
|
482
482
|
* @param {MuiEvent<React.SyntheticEvent>} event The event that caused this prop to be called.
|
|
483
483
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
484
|
-
* @deprecated use `preProcessEditCellProps` from the [`GridColDef`](/api/data-grid/grid-col-def/)
|
|
484
|
+
* @deprecated use `preProcessEditCellProps` from the [`GridColDef`](/x/api/data-grid/grid-col-def/)
|
|
485
485
|
*/
|
|
486
486
|
onEditCellPropsChange: _propTypes.default.func,
|
|
487
487
|
|
|
@@ -57,6 +57,8 @@ var _useGridRowsMeta = require("../hooks/features/rows/useGridRowsMeta");
|
|
|
57
57
|
|
|
58
58
|
var _useGridStatePersistence = require("../hooks/features/statePersistence/useGridStatePersistence");
|
|
59
59
|
|
|
60
|
+
var _useGridColumnSpanning = require("../hooks/features/columns/useGridColumnSpanning");
|
|
61
|
+
|
|
60
62
|
const useDataGridComponent = props => {
|
|
61
63
|
var _props$experimentalFe, _props$experimentalFe2;
|
|
62
64
|
|
|
@@ -88,12 +90,13 @@ const useDataGridComponent = props => {
|
|
|
88
90
|
(0, _useGridColumns.useGridColumns)(apiRef, props);
|
|
89
91
|
(0, _useGridRows.useGridRows)(apiRef, props);
|
|
90
92
|
(0, _useGridParamsApi.useGridParamsApi)(apiRef);
|
|
93
|
+
(0, _useGridColumnSpanning.useGridColumnSpanning)(apiRef);
|
|
91
94
|
const useGridEditing = (_props$experimentalFe2 = props.experimentalFeatures) != null && _props$experimentalFe2.newEditingApi ? _useGridEditing2.useGridEditing : _useGridEditing.useGridEditing;
|
|
92
95
|
useGridEditing(apiRef, props);
|
|
93
96
|
(0, _useGridFocus.useGridFocus)(apiRef, props);
|
|
94
|
-
(0, _useGridSorting.useGridSorting)(apiRef, props);
|
|
95
97
|
(0, _useGridPreferencesPanel.useGridPreferencesPanel)(apiRef);
|
|
96
98
|
(0, _useGridFilter.useGridFilter)(apiRef, props);
|
|
99
|
+
(0, _useGridSorting.useGridSorting)(apiRef, props);
|
|
97
100
|
(0, _useGridDensity.useGridDensity)(apiRef, props);
|
|
98
101
|
(0, _useGridPagination.useGridPagination)(apiRef, props);
|
|
99
102
|
(0, _useGridRowsMeta.useGridRowsMeta)(apiRef, props);
|