@mui/x-data-grid-premium 8.0.0-alpha.9 → 8.0.0-beta.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 +1446 -0
- package/DataGridPremium/DataGrid.d.ts +1 -1
- package/DataGridPremium/DataGridPremium.d.ts +6 -6
- package/DataGridPremium/DataGridPremium.js +61 -35
- package/DataGridPremium/index.d.ts +3 -3
- package/DataGridPremium/useDataGridPremiumComponent.d.ts +3 -3
- package/DataGridPremium/useDataGridPremiumComponent.js +5 -4
- package/DataGridPremium/useDataGridPremiumProps.d.ts +2 -2
- package/DataGridPremium/useDataGridPremiumProps.js +2 -2
- package/README.md +1 -1
- package/components/GridAggregationHeader.d.ts +3 -3
- package/components/GridAggregationHeader.js +13 -12
- package/components/GridAggregationRowOverlay.d.ts +3 -0
- package/components/GridAggregationRowOverlay.js +44 -0
- package/components/GridBottomContainer.d.ts +3 -0
- package/components/GridBottomContainer.js +51 -0
- package/components/GridColumnMenuAggregationItem.d.ts +2 -2
- package/components/GridColumnMenuAggregationItem.js +36 -46
- package/components/GridColumnMenuRowGroupItem.d.ts +1 -1
- package/components/GridColumnMenuRowUngroupItem.d.ts +1 -1
- package/components/GridDataSourceGroupingCriteriaCell.d.ts +2 -2
- package/components/GridDataSourceGroupingCriteriaCell.js +8 -12
- package/components/GridExcelExportMenuItem.d.ts +3 -3
- package/components/GridFooterCell.d.ts +2 -2
- package/components/GridFooterCell.js +5 -6
- package/components/GridGroupingColumnFooterCell.d.ts +1 -1
- package/components/GridGroupingColumnFooterCell.js +2 -1
- package/components/GridGroupingColumnLeafCell.d.ts +1 -1
- package/components/GridGroupingColumnLeafCell.js +3 -9
- package/components/GridGroupingCriteriaCell.d.ts +2 -2
- package/components/GridGroupingCriteriaCell.js +3 -8
- package/components/GridPremiumColumnMenu.d.ts +26 -26
- package/components/GridPremiumToolbar.d.ts +3 -0
- package/components/GridPremiumToolbar.js +31 -0
- package/components/export/ExportExcel.d.ts +29 -0
- package/components/export/ExportExcel.js +216 -0
- package/components/export/index.d.ts +1 -0
- package/components/export/index.js +16 -0
- package/components/index.d.ts +6 -5
- package/components/index.js +13 -1
- package/components/promptControl/GridToolbarPromptControl.d.ts +22 -22
- package/components/promptControl/GridToolbarPromptControl.js +33 -20
- package/components/promptControl/RecordButton.d.ts +9 -9
- package/components/promptControl/index.d.ts +1 -1
- package/components/reexports.d.ts +1 -1
- package/constants/dataGridPremiumDefaultSlotsComponents.d.ts +1 -1
- package/constants/dataGridPremiumDefaultSlotsComponents.js +5 -1
- package/esm/DataGridPremium/DataGrid.d.ts +8 -0
- package/esm/DataGridPremium/DataGridPremium.d.ts +16 -0
- package/esm/DataGridPremium/DataGridPremium.js +61 -35
- package/esm/DataGridPremium/index.d.ts +3 -0
- package/esm/DataGridPremium/useDataGridPremiumComponent.d.ts +4 -0
- package/esm/DataGridPremium/useDataGridPremiumComponent.js +6 -5
- package/esm/DataGridPremium/useDataGridPremiumProps.d.ts +6 -0
- package/esm/DataGridPremium/useDataGridPremiumProps.js +2 -2
- package/esm/components/GridAggregationHeader.d.ts +7 -0
- package/esm/components/GridAggregationHeader.js +13 -12
- package/esm/components/GridAggregationRowOverlay.d.ts +3 -0
- package/esm/components/GridAggregationRowOverlay.js +37 -0
- package/esm/components/GridBottomContainer.d.ts +3 -0
- package/esm/components/GridBottomContainer.js +43 -0
- package/esm/components/GridColumnMenuAggregationItem.d.ts +7 -0
- package/esm/components/GridColumnMenuAggregationItem.js +36 -46
- package/esm/components/GridColumnMenuRowGroupItem.d.ts +3 -0
- package/esm/components/GridColumnMenuRowUngroupItem.d.ts +3 -0
- package/esm/components/GridDataSourceGroupingCriteriaCell.d.ts +7 -0
- package/esm/components/GridDataSourceGroupingCriteriaCell.js +9 -13
- package/esm/components/GridExcelExportMenuItem.d.ts +9 -0
- package/esm/components/GridFooterCell.d.ts +9 -0
- package/esm/components/GridFooterCell.js +5 -6
- package/esm/components/GridGroupingColumnFooterCell.d.ts +4 -0
- package/esm/components/GridGroupingColumnFooterCell.js +2 -1
- package/esm/components/GridGroupingColumnLeafCell.d.ts +4 -0
- package/esm/components/GridGroupingColumnLeafCell.js +3 -8
- package/esm/components/GridGroupingCriteriaCell.d.ts +7 -0
- package/esm/components/GridGroupingCriteriaCell.js +3 -8
- package/esm/components/GridPremiumColumnMenu.d.ts +33 -0
- package/esm/components/GridPremiumToolbar.d.ts +3 -0
- package/esm/components/GridPremiumToolbar.js +23 -0
- package/esm/components/export/ExportExcel.d.ts +29 -0
- package/esm/components/export/ExportExcel.js +209 -0
- package/esm/components/export/index.d.ts +1 -0
- package/esm/components/export/index.js +1 -0
- package/esm/components/index.d.ts +6 -0
- package/esm/components/index.js +2 -1
- package/esm/components/promptControl/GridToolbarPromptControl.d.ts +26 -0
- package/esm/components/promptControl/GridToolbarPromptControl.js +33 -20
- package/esm/components/promptControl/RecordButton.d.ts +16 -0
- package/esm/components/promptControl/index.d.ts +1 -0
- package/esm/components/reexports.d.ts +1 -0
- package/esm/constants/dataGridPremiumDefaultSlotsComponents.d.ts +2 -0
- package/esm/constants/dataGridPremiumDefaultSlotsComponents.js +5 -1
- package/esm/hooks/features/aggregation/createAggregationLookup.d.ts +17 -0
- package/esm/hooks/features/aggregation/createAggregationLookup.js +3 -3
- package/esm/hooks/features/aggregation/gridAggregationFunctions.d.ts +8 -0
- package/esm/hooks/features/aggregation/gridAggregationInterfaces.d.ts +129 -0
- package/esm/hooks/features/aggregation/gridAggregationSelectors.d.ts +13 -0
- package/esm/hooks/features/aggregation/gridAggregationSelectors.js +2 -2
- package/esm/hooks/features/aggregation/gridAggregationUtils.d.ts +62 -0
- package/esm/hooks/features/aggregation/gridAggregationUtils.js +1 -1
- package/esm/hooks/features/aggregation/index.d.ts +4 -0
- package/esm/hooks/features/aggregation/useGridAggregation.d.ts +6 -0
- package/esm/hooks/features/aggregation/useGridAggregation.js +6 -8
- package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +4 -0
- package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.js +7 -6
- package/esm/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +81 -0
- package/esm/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
- package/esm/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +40 -0
- package/esm/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -0
- package/esm/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -1
- package/esm/hooks/features/cellSelection/index.d.ts +1 -0
- package/esm/hooks/features/cellSelection/useGridCellSelection.d.ts +6 -0
- package/esm/hooks/features/cellSelection/useGridCellSelection.js +15 -13
- package/esm/hooks/features/clipboard/useGridClipboardImport.d.ts +4 -0
- package/esm/hooks/features/clipboard/useGridClipboardImport.js +5 -5
- package/esm/hooks/features/dataSource/models.d.ts +54 -0
- package/esm/hooks/features/dataSource/useGridDataSourcePremium.d.ts +4 -0
- package/esm/hooks/features/dataSource/useGridDataSourcePremium.js +13 -7
- package/esm/hooks/features/export/gridExcelExportInterface.d.ts +71 -0
- package/esm/hooks/features/export/index.d.ts +2 -0
- package/esm/hooks/features/export/index.js +1 -1
- package/esm/hooks/features/export/serializer/excelSerializer.d.ts +40 -0
- package/esm/hooks/features/export/serializer/excelSerializer.js +69 -180
- package/esm/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
- package/esm/hooks/features/export/serializer/setupExcelExportWebWorker.js +53 -0
- package/esm/hooks/features/export/serializer/utils.d.ts +36 -0
- package/esm/hooks/features/export/serializer/utils.js +93 -0
- package/esm/hooks/features/export/useGridExcelExport.d.ts +11 -0
- package/esm/hooks/features/export/useGridExcelExport.js +11 -5
- package/esm/hooks/features/index.d.ts +5 -0
- package/esm/hooks/features/promptControl/api.d.ts +2 -0
- package/esm/hooks/features/promptControl/index.d.ts +2 -0
- package/esm/hooks/features/promptControl/types.d.ts +25 -0
- package/esm/hooks/features/rowGrouping/createGroupingColDef.d.ts +57 -0
- package/esm/hooks/features/rowGrouping/createGroupingColDef.js +5 -5
- package/esm/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +44 -0
- package/esm/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +3 -0
- package/esm/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
- package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +54 -0
- package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.js +5 -3
- package/esm/hooks/features/rowGrouping/index.d.ts +3 -0
- package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +4 -0
- package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
- package/esm/hooks/features/rowGrouping/useGridRowGrouping.d.ts +11 -0
- package/esm/hooks/features/rowGrouping/useGridRowGrouping.js +4 -5
- package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +4 -0
- package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
- package/esm/hooks/features/rows/index.d.ts +1 -0
- package/esm/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -0
- package/esm/hooks/index.d.ts +2 -0
- package/esm/hooks/utils/index.d.ts +1 -0
- package/esm/hooks/utils/useGridApiContext.d.ts +4 -0
- package/esm/hooks/utils/useGridApiRef.d.ts +4 -0
- package/esm/hooks/utils/useGridAriaAttributes.d.ts +2 -0
- package/esm/hooks/utils/useGridPrivateApiContext.d.ts +2 -0
- package/esm/hooks/utils/useGridRootProps.d.ts +2 -0
- package/esm/hooks/utils/useKeepGroupedColumnsHidden.d.ts +12 -0
- package/esm/hooks/utils/useKeepGroupedColumnsHidden.js +2 -2
- package/esm/index.d.ts +23 -0
- package/esm/index.js +6 -5
- package/esm/locales.d.ts +1 -0
- package/esm/material/icons.d.ts +15 -0
- package/esm/material/index.d.ts +8 -0
- package/esm/models/dataGridPremiumProps.d.ts +162 -0
- package/esm/models/gridApiPremium.d.ts +14 -0
- package/esm/models/gridGroupingValueGetter.d.ts +4 -0
- package/esm/models/gridPastedValueParser.d.ts +4 -0
- package/esm/models/gridPremiumIconSlotsComponent.d.ts +28 -0
- package/esm/models/gridPremiumSlotsComponent.d.ts +7 -0
- package/esm/models/gridStatePremium.d.ts +18 -0
- package/esm/models/index.d.ts +4 -0
- package/esm/package.json +1 -0
- package/esm/setupExcelExportWebWorker.d.ts +1 -0
- package/esm/setupExcelExportWebWorker.js +1 -0
- package/esm/themeAugmentation/index.d.ts +2 -0
- package/esm/themeAugmentation/overrides.d.ts +7 -0
- package/esm/themeAugmentation/props.d.ts +15 -0
- package/esm/typeOverloads/index.d.ts +2 -0
- package/esm/typeOverloads/modules.d.ts +97 -0
- package/esm/typeOverloads/reexports.d.ts +17 -0
- package/esm/utils/releaseInfo.d.ts +1 -0
- package/esm/utils/releaseInfo.js +1 -1
- package/hooks/features/aggregation/createAggregationLookup.d.ts +16 -10
- package/hooks/features/aggregation/createAggregationLookup.js +2 -2
- package/hooks/features/aggregation/gridAggregationFunctions.d.ts +7 -7
- package/hooks/features/aggregation/gridAggregationInterfaces.d.ts +81 -82
- package/hooks/features/aggregation/gridAggregationSelectors.d.ts +3 -3
- package/hooks/features/aggregation/gridAggregationSelectors.js +1 -2
- package/hooks/features/aggregation/gridAggregationUtils.d.ts +42 -25
- package/hooks/features/aggregation/gridAggregationUtils.js +1 -1
- package/hooks/features/aggregation/index.d.ts +4 -4
- package/hooks/features/aggregation/useGridAggregation.d.ts +3 -3
- package/hooks/features/aggregation/useGridAggregation.js +6 -8
- package/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +3 -3
- package/hooks/features/aggregation/useGridAggregationPreProcessors.js +7 -6
- package/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +67 -62
- package/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
- package/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +34 -34
- package/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -2
- package/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -2
- package/hooks/features/cellSelection/index.d.ts +1 -1
- package/hooks/features/cellSelection/useGridCellSelection.d.ts +3 -3
- package/hooks/features/cellSelection/useGridCellSelection.js +13 -11
- package/hooks/features/clipboard/useGridClipboardImport.d.ts +2 -2
- package/hooks/features/clipboard/useGridClipboardImport.js +4 -4
- package/hooks/features/dataSource/models.d.ts +41 -34
- package/hooks/features/dataSource/useGridDataSourcePremium.d.ts +3 -3
- package/hooks/features/dataSource/useGridDataSourcePremium.js +13 -7
- package/hooks/features/export/gridExcelExportInterface.d.ts +52 -52
- package/hooks/features/export/index.d.ts +2 -2
- package/hooks/features/export/index.js +2 -2
- package/hooks/features/export/serializer/excelSerializer.d.ts +23 -51
- package/hooks/features/export/serializer/excelSerializer.js +74 -187
- package/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
- package/hooks/features/export/serializer/setupExcelExportWebWorker.js +59 -0
- package/hooks/features/export/serializer/utils.d.ts +36 -0
- package/hooks/features/export/serializer/utils.js +106 -0
- package/hooks/features/export/useGridExcelExport.d.ts +3 -3
- package/hooks/features/export/useGridExcelExport.js +10 -3
- package/hooks/features/index.d.ts +5 -5
- package/hooks/features/promptControl/api.d.ts +2 -2
- package/hooks/features/promptControl/index.d.ts +2 -2
- package/hooks/features/promptControl/types.d.ts +15 -15
- package/hooks/features/rowGrouping/createGroupingColDef.d.ts +44 -32
- package/hooks/features/rowGrouping/createGroupingColDef.js +4 -4
- package/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +32 -32
- package/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +2 -2
- package/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
- package/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +30 -22
- package/hooks/features/rowGrouping/gridRowGroupingUtils.js +4 -2
- package/hooks/features/rowGrouping/index.d.ts +3 -3
- package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +3 -3
- package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
- package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +3 -3
- package/hooks/features/rowGrouping/useGridRowGrouping.js +4 -5
- package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +3 -3
- package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
- package/hooks/features/rows/index.d.ts +1 -1
- package/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -1
- package/hooks/index.d.ts +2 -2
- package/hooks/utils/index.d.ts +1 -1
- package/hooks/utils/useGridApiContext.d.ts +4 -2
- package/hooks/utils/useGridApiRef.d.ts +4 -2
- package/hooks/utils/useGridAriaAttributes.d.ts +1 -1
- package/hooks/utils/useGridPrivateApiContext.d.ts +2 -2
- package/hooks/utils/useGridRootProps.d.ts +2 -2
- package/hooks/utils/useKeepGroupedColumnsHidden.d.ts +4 -4
- package/hooks/utils/useKeepGroupedColumnsHidden.js +2 -2
- package/index.d.ts +9 -17
- package/index.js +2 -11
- package/locales.d.ts +1 -1
- package/material/icons.d.ts +6 -6
- package/material/index.d.ts +6 -6
- package/models/dataGridPremiumProps.d.ts +140 -135
- package/models/gridApiPremium.d.ts +4 -6
- package/models/gridGroupingValueGetter.d.ts +2 -2
- package/models/gridPastedValueParser.d.ts +2 -2
- package/models/gridPremiumIconSlotsComponent.d.ts +26 -26
- package/models/gridPremiumSlotsComponent.d.ts +2 -3
- package/models/gridStatePremium.d.ts +7 -7
- package/models/index.d.ts +4 -4
- package/modern/DataGridPremium/DataGrid.d.ts +8 -0
- package/modern/DataGridPremium/DataGridPremium.d.ts +16 -0
- package/modern/DataGridPremium/DataGridPremium.js +61 -35
- package/modern/DataGridPremium/index.d.ts +3 -0
- package/modern/DataGridPremium/useDataGridPremiumComponent.d.ts +4 -0
- package/modern/DataGridPremium/useDataGridPremiumComponent.js +6 -5
- package/modern/DataGridPremium/useDataGridPremiumProps.d.ts +6 -0
- package/modern/DataGridPremium/useDataGridPremiumProps.js +2 -2
- package/modern/components/GridAggregationHeader.d.ts +7 -0
- package/modern/components/GridAggregationHeader.js +13 -12
- package/modern/components/GridAggregationRowOverlay.d.ts +3 -0
- package/modern/components/GridAggregationRowOverlay.js +37 -0
- package/modern/components/GridBottomContainer.d.ts +3 -0
- package/modern/components/GridBottomContainer.js +43 -0
- package/modern/components/GridColumnMenuAggregationItem.d.ts +7 -0
- package/modern/components/GridColumnMenuAggregationItem.js +36 -46
- package/modern/components/GridColumnMenuRowGroupItem.d.ts +3 -0
- package/modern/components/GridColumnMenuRowUngroupItem.d.ts +3 -0
- package/modern/components/GridDataSourceGroupingCriteriaCell.d.ts +7 -0
- package/modern/components/GridDataSourceGroupingCriteriaCell.js +9 -13
- package/modern/components/GridExcelExportMenuItem.d.ts +9 -0
- package/modern/components/GridFooterCell.d.ts +9 -0
- package/modern/components/GridFooterCell.js +5 -6
- package/modern/components/GridGroupingColumnFooterCell.d.ts +4 -0
- package/modern/components/GridGroupingColumnFooterCell.js +2 -1
- package/modern/components/GridGroupingColumnLeafCell.d.ts +4 -0
- package/modern/components/GridGroupingColumnLeafCell.js +3 -8
- package/modern/components/GridGroupingCriteriaCell.d.ts +7 -0
- package/modern/components/GridGroupingCriteriaCell.js +3 -8
- package/modern/components/GridPremiumColumnMenu.d.ts +33 -0
- package/modern/components/GridPremiumToolbar.d.ts +3 -0
- package/modern/components/GridPremiumToolbar.js +23 -0
- package/modern/components/export/ExportExcel.d.ts +29 -0
- package/modern/components/export/ExportExcel.js +209 -0
- package/modern/components/export/index.d.ts +1 -0
- package/modern/components/export/index.js +1 -0
- package/modern/components/index.d.ts +6 -0
- package/modern/components/index.js +2 -1
- package/modern/components/promptControl/GridToolbarPromptControl.d.ts +26 -0
- package/modern/components/promptControl/GridToolbarPromptControl.js +33 -20
- package/modern/components/promptControl/RecordButton.d.ts +16 -0
- package/modern/components/promptControl/index.d.ts +1 -0
- package/modern/components/reexports.d.ts +1 -0
- package/modern/constants/dataGridPremiumDefaultSlotsComponents.d.ts +2 -0
- package/modern/constants/dataGridPremiumDefaultSlotsComponents.js +5 -1
- package/modern/hooks/features/aggregation/createAggregationLookup.d.ts +17 -0
- package/modern/hooks/features/aggregation/createAggregationLookup.js +3 -3
- package/modern/hooks/features/aggregation/gridAggregationFunctions.d.ts +8 -0
- package/modern/hooks/features/aggregation/gridAggregationInterfaces.d.ts +129 -0
- package/modern/hooks/features/aggregation/gridAggregationSelectors.d.ts +13 -0
- package/modern/hooks/features/aggregation/gridAggregationSelectors.js +2 -2
- package/modern/hooks/features/aggregation/gridAggregationUtils.d.ts +62 -0
- package/modern/hooks/features/aggregation/gridAggregationUtils.js +1 -1
- package/modern/hooks/features/aggregation/index.d.ts +4 -0
- package/modern/hooks/features/aggregation/useGridAggregation.d.ts +6 -0
- package/modern/hooks/features/aggregation/useGridAggregation.js +6 -8
- package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +4 -0
- package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.js +7 -6
- package/modern/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +81 -0
- package/modern/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
- package/modern/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +40 -0
- package/modern/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -0
- package/modern/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -1
- package/modern/hooks/features/cellSelection/index.d.ts +1 -0
- package/modern/hooks/features/cellSelection/useGridCellSelection.d.ts +6 -0
- package/modern/hooks/features/cellSelection/useGridCellSelection.js +15 -13
- package/modern/hooks/features/clipboard/useGridClipboardImport.d.ts +4 -0
- package/modern/hooks/features/clipboard/useGridClipboardImport.js +5 -5
- package/modern/hooks/features/dataSource/models.d.ts +54 -0
- package/modern/hooks/features/dataSource/useGridDataSourcePremium.d.ts +4 -0
- package/modern/hooks/features/dataSource/useGridDataSourcePremium.js +13 -7
- package/modern/hooks/features/export/gridExcelExportInterface.d.ts +71 -0
- package/modern/hooks/features/export/index.d.ts +2 -0
- package/modern/hooks/features/export/index.js +1 -1
- package/modern/hooks/features/export/serializer/excelSerializer.d.ts +40 -0
- package/modern/hooks/features/export/serializer/excelSerializer.js +69 -180
- package/modern/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
- package/modern/hooks/features/export/serializer/setupExcelExportWebWorker.js +53 -0
- package/modern/hooks/features/export/serializer/utils.d.ts +36 -0
- package/modern/hooks/features/export/serializer/utils.js +93 -0
- package/modern/hooks/features/export/useGridExcelExport.d.ts +11 -0
- package/modern/hooks/features/export/useGridExcelExport.js +11 -5
- package/modern/hooks/features/index.d.ts +5 -0
- package/modern/hooks/features/promptControl/api.d.ts +2 -0
- package/modern/hooks/features/promptControl/index.d.ts +2 -0
- package/modern/hooks/features/promptControl/types.d.ts +25 -0
- package/modern/hooks/features/rowGrouping/createGroupingColDef.d.ts +57 -0
- package/modern/hooks/features/rowGrouping/createGroupingColDef.js +5 -5
- package/modern/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +44 -0
- package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +3 -0
- package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
- package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +54 -0
- package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.js +5 -3
- package/modern/hooks/features/rowGrouping/index.d.ts +3 -0
- package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +4 -0
- package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
- package/modern/hooks/features/rowGrouping/useGridRowGrouping.d.ts +11 -0
- package/modern/hooks/features/rowGrouping/useGridRowGrouping.js +4 -5
- package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +4 -0
- package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
- package/modern/hooks/features/rows/index.d.ts +1 -0
- package/modern/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -0
- package/modern/hooks/index.d.ts +2 -0
- package/modern/hooks/utils/index.d.ts +1 -0
- package/modern/hooks/utils/useGridApiContext.d.ts +4 -0
- package/modern/hooks/utils/useGridApiRef.d.ts +4 -0
- package/modern/hooks/utils/useGridAriaAttributes.d.ts +2 -0
- package/modern/hooks/utils/useGridPrivateApiContext.d.ts +2 -0
- package/modern/hooks/utils/useGridRootProps.d.ts +2 -0
- package/modern/hooks/utils/useKeepGroupedColumnsHidden.d.ts +12 -0
- package/modern/hooks/utils/useKeepGroupedColumnsHidden.js +2 -2
- package/modern/index.d.ts +23 -0
- package/modern/index.js +1 -7
- package/modern/locales.d.ts +1 -0
- package/modern/material/icons.d.ts +15 -0
- package/modern/material/index.d.ts +8 -0
- package/modern/models/dataGridPremiumProps.d.ts +162 -0
- package/modern/models/gridApiPremium.d.ts +14 -0
- package/modern/models/gridGroupingValueGetter.d.ts +4 -0
- package/modern/models/gridPastedValueParser.d.ts +4 -0
- package/modern/models/gridPremiumIconSlotsComponent.d.ts +28 -0
- package/modern/models/gridPremiumSlotsComponent.d.ts +7 -0
- package/modern/models/gridStatePremium.d.ts +18 -0
- package/modern/models/index.d.ts +4 -0
- package/modern/package.json +1 -0
- package/modern/setupExcelExportWebWorker.d.ts +1 -0
- package/modern/setupExcelExportWebWorker.js +1 -0
- package/modern/themeAugmentation/index.d.ts +2 -0
- package/modern/themeAugmentation/overrides.d.ts +7 -0
- package/modern/themeAugmentation/props.d.ts +15 -0
- package/modern/typeOverloads/index.d.ts +2 -0
- package/modern/typeOverloads/modules.d.ts +97 -0
- package/modern/typeOverloads/reexports.d.ts +17 -0
- package/modern/utils/releaseInfo.d.ts +1 -0
- package/modern/utils/releaseInfo.js +1 -1
- package/package.json +42 -9
- package/setupExcelExportWebWorker.d.ts +1 -0
- package/setupExcelExportWebWorker.js +12 -0
- package/themeAugmentation/index.d.ts +2 -2
- package/themeAugmentation/overrides.d.ts +3 -4
- package/themeAugmentation/props.d.ts +9 -11
- package/tsconfig.build.tsbuildinfo +1 -0
- package/typeOverloads/index.d.ts +1 -1
- package/typeOverloads/modules.d.ts +75 -82
- package/typeOverloads/reexports.d.ts +5 -5
- package/utils/releaseInfo.d.ts +1 -1
- package/utils/releaseInfo.js +1 -1
- package/DataGridPremium/package.json +0 -6
- package/components/package.json +0 -6
- package/esm/hooks/features/dataSource/cache.js +0 -3
- package/hooks/features/dataSource/cache.d.ts +0 -2
- package/hooks/features/dataSource/cache.js +0 -9
- package/hooks/package.json +0 -6
- package/material/package.json +0 -6
- package/models/package.json +0 -6
- package/modern/hooks/features/dataSource/cache.js +0 -3
- package/themeAugmentation/package.json +0 -6
- package/typeOverloads/package.json +0 -6
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.addColumnGroupingHeaders = void 0;
|
|
8
|
+
exports.addSerializedRowToWorksheet = addSerializedRowToWorksheet;
|
|
9
|
+
exports.createValueOptionsSheetIfNeeded = createValueOptionsSheetIfNeeded;
|
|
10
|
+
exports.getExcelJs = void 0;
|
|
11
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
12
|
+
var _interopRequireWildcard2 = _interopRequireDefault(require("@babel/runtime/helpers/interopRequireWildcard"));
|
|
13
|
+
const getExcelJs = async () => {
|
|
14
|
+
const excelJsModule = await Promise.resolve().then(() => (0, _interopRequireWildcard2.default)(require('exceljs')));
|
|
15
|
+
return excelJsModule.default ?? excelJsModule;
|
|
16
|
+
};
|
|
17
|
+
exports.getExcelJs = getExcelJs;
|
|
18
|
+
const addColumnGroupingHeaders = (worksheet, columns, columnGroupPaths, columnGroupDetails) => {
|
|
19
|
+
const maxDepth = Math.max(...columns.map(({
|
|
20
|
+
key
|
|
21
|
+
}) => columnGroupPaths[key]?.length ?? 0));
|
|
22
|
+
if (maxDepth === 0) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
for (let rowIndex = 0; rowIndex < maxDepth; rowIndex += 1) {
|
|
26
|
+
const row = columns.map(({
|
|
27
|
+
key
|
|
28
|
+
}) => {
|
|
29
|
+
const groupingPath = columnGroupPaths[key];
|
|
30
|
+
if (groupingPath.length <= rowIndex) {
|
|
31
|
+
return {
|
|
32
|
+
groupId: null,
|
|
33
|
+
parents: groupingPath
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return (0, _extends2.default)({}, columnGroupDetails[groupingPath[rowIndex]], {
|
|
37
|
+
parents: groupingPath.slice(0, rowIndex)
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
const newRow = worksheet.addRow(row.map(group => group.groupId === null ? null : group?.headerName ?? group.groupId));
|
|
41
|
+
|
|
42
|
+
// use `rowCount`, since worksheet can have additional rows added in `exceljsPreProcess`
|
|
43
|
+
const lastRowIndex = newRow.worksheet.rowCount;
|
|
44
|
+
let leftIndex = 0;
|
|
45
|
+
let rightIndex = 1;
|
|
46
|
+
while (rightIndex < columns.length) {
|
|
47
|
+
const {
|
|
48
|
+
groupId: leftGroupId,
|
|
49
|
+
parents: leftParents
|
|
50
|
+
} = row[leftIndex];
|
|
51
|
+
const {
|
|
52
|
+
groupId: rightGroupId,
|
|
53
|
+
parents: rightParents
|
|
54
|
+
} = row[rightIndex];
|
|
55
|
+
const areInSameGroup = leftGroupId === rightGroupId && leftParents.length === rightParents.length && leftParents.every((leftParent, index) => rightParents[index] === leftParent);
|
|
56
|
+
if (areInSameGroup) {
|
|
57
|
+
rightIndex += 1;
|
|
58
|
+
} else {
|
|
59
|
+
if (rightIndex - leftIndex > 1) {
|
|
60
|
+
worksheet.mergeCells(lastRowIndex, leftIndex + 1, lastRowIndex, rightIndex);
|
|
61
|
+
}
|
|
62
|
+
leftIndex = rightIndex;
|
|
63
|
+
rightIndex += 1;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (rightIndex - leftIndex > 1) {
|
|
67
|
+
worksheet.mergeCells(lastRowIndex, leftIndex + 1, lastRowIndex, rightIndex);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
exports.addColumnGroupingHeaders = addColumnGroupingHeaders;
|
|
72
|
+
function addSerializedRowToWorksheet(serializedRow, worksheet) {
|
|
73
|
+
const {
|
|
74
|
+
row,
|
|
75
|
+
dataValidation,
|
|
76
|
+
outlineLevel,
|
|
77
|
+
mergedCells
|
|
78
|
+
} = serializedRow;
|
|
79
|
+
const newRow = worksheet.addRow(row);
|
|
80
|
+
Object.keys(dataValidation).forEach(field => {
|
|
81
|
+
newRow.getCell(field).dataValidation = (0, _extends2.default)({}, dataValidation[field]);
|
|
82
|
+
});
|
|
83
|
+
if (outlineLevel) {
|
|
84
|
+
newRow.outlineLevel = outlineLevel;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// use `rowCount`, since worksheet can have additional rows added in `exceljsPreProcess`
|
|
88
|
+
const lastRowIndex = newRow.worksheet.rowCount;
|
|
89
|
+
mergedCells.forEach(mergedCell => {
|
|
90
|
+
worksheet.mergeCells(lastRowIndex, mergedCell.leftIndex, lastRowIndex, mergedCell.rightIndex);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
async function createValueOptionsSheetIfNeeded(valueOptionsData, sheetName, workbook) {
|
|
94
|
+
if (Object.keys(valueOptionsData).length === 0) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const valueOptionsWorksheet = workbook.addWorksheet(sheetName);
|
|
98
|
+
valueOptionsWorksheet.columns = Object.keys(valueOptionsData).map(key => ({
|
|
99
|
+
key
|
|
100
|
+
}));
|
|
101
|
+
Object.entries(valueOptionsData).forEach(([field, {
|
|
102
|
+
values
|
|
103
|
+
}]) => {
|
|
104
|
+
valueOptionsWorksheet.getColumn(field).values = values;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RefObject } from '@mui/x-internals/types';
|
|
2
|
-
import { GridPrivateApiPremium } from
|
|
3
|
-
import { DataGridPremiumProps } from
|
|
2
|
+
import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
|
|
3
|
+
import { DataGridPremiumProps } from "../../../models/dataGridPremiumProps.js";
|
|
4
4
|
/**
|
|
5
5
|
* @requires useGridColumns (state)
|
|
6
6
|
* @requires useGridFilter (state)
|
|
@@ -8,4 +8,4 @@ import { DataGridPremiumProps } from '../../../models/dataGridPremiumProps';
|
|
|
8
8
|
* @requires useGridSelection (state)
|
|
9
9
|
* @requires useGridParamsApi (method)
|
|
10
10
|
*/
|
|
11
|
-
export declare const useGridExcelExport: (apiRef: RefObject<GridPrivateApiPremium>, props: DataGridPremiumProps) => void;
|
|
11
|
+
export declare const useGridExcelExport: (apiRef: RefObject<GridPrivateApiPremium>, props: DataGridPremiumProps) => void;
|
|
@@ -96,15 +96,22 @@ const useGridExcelExport = (apiRef, props) => {
|
|
|
96
96
|
const valueOptionsData = await (0, _excelSerializer.getDataForValueOptionsSheet)(exportedColumns, valueOptionsSheetName, apiRef.current);
|
|
97
97
|
const serializedColumns = (0, _excelSerializer.serializeColumns)(exportedColumns, options.columnsStyles || {});
|
|
98
98
|
apiRef.current.resetColSpan();
|
|
99
|
-
const serializedRows =
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
const serializedRows = [];
|
|
100
|
+
for (let i = 0; i < exportedRowIds.length; i += 1) {
|
|
101
|
+
const id = exportedRowIds[i];
|
|
102
|
+
const serializedRow = (0, _excelSerializer.serializeRowUnsafe)(id, exportedColumns, apiRef, valueOptionsData, {
|
|
103
|
+
escapeFormulas: options.escapeFormulas ?? true
|
|
104
|
+
});
|
|
105
|
+
serializedRows.push(serializedRow);
|
|
106
|
+
}
|
|
102
107
|
apiRef.current.resetColSpan();
|
|
103
108
|
const columnGroupPaths = exportedColumns.reduce((acc, column) => {
|
|
104
109
|
acc[column.field] = apiRef.current.getColumnGroupPath(column.field);
|
|
105
110
|
return acc;
|
|
106
111
|
}, {});
|
|
107
112
|
const message = {
|
|
113
|
+
// workers share the pub-sub channel namespace. Use this property to filter out messages.
|
|
114
|
+
namespace: 'mui-x-data-grid-export',
|
|
108
115
|
serializedColumns,
|
|
109
116
|
serializedRows,
|
|
110
117
|
valueOptionsData,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
1
|
+
export * from "./aggregation/index.js";
|
|
2
|
+
export * from "./rowGrouping/index.js";
|
|
3
|
+
export * from "./export/index.js";
|
|
4
|
+
export * from "./cellSelection/index.js";
|
|
5
|
+
export * from "./promptControl/index.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { PromptResponse } from
|
|
2
|
-
export declare function gridDefaultPromptResolver(url: string, context: string, query: string): Promise<PromptResponse>;
|
|
1
|
+
import { PromptResponse } from "./types.js";
|
|
2
|
+
export declare function gridDefaultPromptResolver(url: string, context: string, query: string): Promise<PromptResponse>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { gridDefaultPromptResolver as unstable_gridDefaultPromptResolver } from
|
|
2
|
-
export type { PromptResponse as unstable_PromptResponse } from './types';
|
|
1
|
+
export { gridDefaultPromptResolver as unstable_gridDefaultPromptResolver } from "./api.js";
|
|
2
|
+
export type { PromptResponse as unstable_PromptResponse } from './types';
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
export type Sort = {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
column: string;
|
|
3
|
+
direction: 'asc' | 'desc';
|
|
4
4
|
};
|
|
5
5
|
export type Grouping = {
|
|
6
|
-
|
|
6
|
+
column: string;
|
|
7
7
|
};
|
|
8
8
|
export type Filter = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
operator: string;
|
|
10
|
+
value: string | number | boolean | string[] | number[];
|
|
11
|
+
column: string;
|
|
12
12
|
};
|
|
13
13
|
export type AggregationFunction = 'avg' | 'sum' | 'min' | 'max' | 'size';
|
|
14
14
|
export type Aggregation = {
|
|
15
|
-
|
|
15
|
+
[column: string]: AggregationFunction;
|
|
16
16
|
};
|
|
17
17
|
export type PromptResponse = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
18
|
+
select: number;
|
|
19
|
+
filters: Filter[];
|
|
20
|
+
filterOperator?: 'and' | 'or';
|
|
21
|
+
aggregation: Aggregation;
|
|
22
|
+
sorting: Sort[];
|
|
23
|
+
grouping: Grouping[];
|
|
24
|
+
error: string | null;
|
|
25
|
+
};
|
|
@@ -1,45 +1,57 @@
|
|
|
1
1
|
import { RefObject } from '@mui/x-internals/types';
|
|
2
2
|
import { GridColDef, GridGroupingColDefOverride } from '@mui/x-data-grid-pro';
|
|
3
3
|
import { GridColumnRawLookup } from '@mui/x-data-grid-pro/internals';
|
|
4
|
-
import { GridApiPremium } from
|
|
5
|
-
import { RowGroupingStrategy } from
|
|
4
|
+
import { GridApiPremium } from "../../../models/gridApiPremium.js";
|
|
5
|
+
import { RowGroupingStrategy } from "./gridRowGroupingUtils.js";
|
|
6
6
|
interface CreateGroupingColDefMonoCriteriaParams {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
7
|
+
columnsLookup: GridColumnRawLookup;
|
|
8
|
+
/**
|
|
9
|
+
* The field from which we are grouping the rows.
|
|
10
|
+
*/
|
|
11
|
+
groupingCriteria: string;
|
|
12
|
+
/**
|
|
13
|
+
* The col def from which we are grouping the rows.
|
|
14
|
+
*/
|
|
15
|
+
groupedByColDef: GridColDef;
|
|
16
|
+
/**
|
|
17
|
+
* The col def properties the user wants to override.
|
|
18
|
+
* This value comes `prop.groupingColDef`.
|
|
19
|
+
*/
|
|
20
|
+
colDefOverride: GridGroupingColDefOverride | null | undefined;
|
|
21
|
+
strategy?: RowGroupingStrategy;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Creates the `GridColDef` for a grouping column that only takes care of a single grouping criteria
|
|
25
25
|
*/
|
|
26
|
-
export declare const createGroupingColDefForOneGroupingCriteria: ({
|
|
26
|
+
export declare const createGroupingColDefForOneGroupingCriteria: ({
|
|
27
|
+
columnsLookup,
|
|
28
|
+
groupedByColDef,
|
|
29
|
+
groupingCriteria,
|
|
30
|
+
colDefOverride,
|
|
31
|
+
strategy
|
|
32
|
+
}: CreateGroupingColDefMonoCriteriaParams) => GridColDef;
|
|
27
33
|
interface CreateGroupingColDefSeveralCriteriaParams {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
apiRef: RefObject<GridApiPremium>;
|
|
35
|
+
columnsLookup: GridColumnRawLookup;
|
|
36
|
+
/**
|
|
37
|
+
* The fields from which we are grouping the rows.
|
|
38
|
+
*/
|
|
39
|
+
rowGroupingModel: string[];
|
|
40
|
+
/**
|
|
41
|
+
* The col def properties the user wants to override.
|
|
42
|
+
* This value comes `prop.groupingColDef`.
|
|
43
|
+
*/
|
|
44
|
+
colDefOverride: GridGroupingColDefOverride | null | undefined;
|
|
45
|
+
strategy?: RowGroupingStrategy;
|
|
40
46
|
}
|
|
41
47
|
/**
|
|
42
48
|
* Creates the `GridColDef` for a grouping column that takes care of all the grouping criteria
|
|
43
49
|
*/
|
|
44
|
-
export declare const createGroupingColDefForAllGroupingCriteria: ({
|
|
45
|
-
|
|
50
|
+
export declare const createGroupingColDefForAllGroupingCriteria: ({
|
|
51
|
+
apiRef,
|
|
52
|
+
columnsLookup,
|
|
53
|
+
rowGroupingModel,
|
|
54
|
+
colDefOverride,
|
|
55
|
+
strategy
|
|
56
|
+
}: CreateGroupingColDefSeveralCriteriaParams) => GridColDef;
|
|
57
|
+
export {};
|
|
@@ -148,8 +148,8 @@ const createGroupingColDefForOneGroupingCriteria = ({
|
|
|
148
148
|
return '';
|
|
149
149
|
},
|
|
150
150
|
valueGetter: (value, row, column, apiRef) => {
|
|
151
|
-
const rowId =
|
|
152
|
-
const rowNode =
|
|
151
|
+
const rowId = (0, _xDataGridPro.gridRowIdSelector)(apiRef, row);
|
|
152
|
+
const rowNode = (0, _xDataGridPro.gridRowNodeSelector)(apiRef, rowId);
|
|
153
153
|
if (!rowNode || rowNode.type === 'footer' || rowNode.type === 'pinnedRow') {
|
|
154
154
|
return undefined;
|
|
155
155
|
}
|
|
@@ -241,8 +241,8 @@ const createGroupingColDefForAllGroupingCriteria = ({
|
|
|
241
241
|
}));
|
|
242
242
|
},
|
|
243
243
|
valueGetter: (value, row) => {
|
|
244
|
-
const rowId =
|
|
245
|
-
const rowNode =
|
|
244
|
+
const rowId = (0, _xDataGridPro.gridRowIdSelector)(apiRef, row);
|
|
245
|
+
const rowNode = (0, _xDataGridPro.gridRowNodeSelector)(apiRef, rowId);
|
|
246
246
|
if (!rowNode || rowNode.type === 'footer' || rowNode.type === 'pinnedRow') {
|
|
247
247
|
return undefined;
|
|
248
248
|
}
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import { GridColDef, GridValidRowModel } from '@mui/x-data-grid';
|
|
2
2
|
export type GridRowGroupingModel = string[];
|
|
3
3
|
export interface GridRowGroupingState {
|
|
4
|
-
|
|
4
|
+
model: GridRowGroupingModel;
|
|
5
5
|
}
|
|
6
6
|
export interface GridRowGroupingInitialState {
|
|
7
|
-
|
|
7
|
+
model?: GridRowGroupingModel;
|
|
8
8
|
}
|
|
9
9
|
export interface GridRowGroupingInternalCache {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Tracks the model on the last pre-processing
|
|
12
|
+
* Allows to check if we need to re-build the grouping columns when the grid upserts a column.
|
|
13
|
+
*/
|
|
14
|
+
rulesOnLastRowTreeCreation: GridGroupingRules;
|
|
15
15
|
}
|
|
16
16
|
export interface GridRowGroupingApi {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Sets the columns to use as grouping criteria.
|
|
19
|
+
* @param {GridRowGroupingModel} model The columns to use as grouping criteria.
|
|
20
|
+
*/
|
|
21
|
+
setRowGroupingModel: (model: GridRowGroupingModel) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Adds the field to the row grouping model.
|
|
24
|
+
* @param {string} groupingCriteriaField The field from which we want to group the rows.
|
|
25
|
+
* @param {number | undefined} groupingIndex The grouping index at which we want to insert the new grouping criteria. By default, it will be inserted at the end of the model.
|
|
26
|
+
*/
|
|
27
|
+
addRowGroupingCriteria: (groupingCriteriaField: string, groupingIndex?: number) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Remove the field from the row grouping model.
|
|
30
|
+
* @param {string} groupingCriteriaField The field from which we want to stop grouping the rows.
|
|
31
|
+
*/
|
|
32
|
+
removeRowGroupingCriteria: (groupingCriteriaField: string) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Sets the grouping index of a grouping criteria.
|
|
35
|
+
* @param {string} groupingCriteriaField The field of the grouping criteria from which we want to change the grouping index.
|
|
36
|
+
* @param {number} groupingIndex The new grouping index of this grouping criteria.
|
|
37
|
+
*/
|
|
38
|
+
setRowGroupingCriteriaIndex: (groupingCriteriaField: string, groupingIndex: number) => void;
|
|
39
39
|
}
|
|
40
40
|
export interface GridGroupingRule<R extends GridValidRowModel = GridValidRowModel, V = any> {
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
field: string;
|
|
42
|
+
groupingValueGetter?: GridColDef<R, V>['groupingValueGetter'];
|
|
43
43
|
}
|
|
44
|
-
export type GridGroupingRules<R extends GridValidRowModel = GridValidRowModel> = GridGroupingRule<R>[];
|
|
44
|
+
export type GridGroupingRules<R extends GridValidRowModel = GridValidRowModel> = GridGroupingRule<R>[];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { GridStatePremium } from
|
|
1
|
+
import { GridStatePremium } from "../../../models/gridStatePremium.js";
|
|
2
2
|
export declare const gridRowGroupingModelSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("./gridRowGroupingInterfaces").GridRowGroupingState, import("./gridRowGroupingInterfaces").GridRowGroupingModel>;
|
|
3
|
-
export declare const gridRowGroupingSanitizedModelSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("@mui/x-data-grid").GridColumnLookup, string[]>;
|
|
3
|
+
export declare const gridRowGroupingSanitizedModelSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("@mui/x-data-grid").GridColumnLookup, string[]>;
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.gridRowGroupingSanitizedModelSelector = exports.gridRowGroupingModelSelector = void 0;
|
|
7
7
|
var _xDataGridPro = require("@mui/x-data-grid-pro");
|
|
8
|
-
var _internals = require("@mui/x-data-grid/internals");
|
|
9
|
-
const gridRowGroupingStateSelector = state => state.rowGrouping;
|
|
8
|
+
var _internals = require("@mui/x-data-grid-pro/internals");
|
|
9
|
+
const gridRowGroupingStateSelector = (0, _internals.createRootSelector)(state => state.rowGrouping);
|
|
10
10
|
const gridRowGroupingModelSelector = exports.gridRowGroupingModelSelector = (0, _internals.createSelector)(gridRowGroupingStateSelector, rowGrouping => rowGrouping.model);
|
|
11
11
|
const gridRowGroupingSanitizedModelSelector = exports.gridRowGroupingSanitizedModelSelector = (0, _internals.createSelectorMemoized)(gridRowGroupingModelSelector, _xDataGridPro.gridColumnLookupSelector, (model, columnsLookup) => model.filter(field => !!columnsLookup[field]));
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { RefObject } from '@mui/x-internals/types';
|
|
2
2
|
import { GridRowTreeConfig, GridFilterState, GridFilterModel, GridRowModel, GridColDef, GridKeyValue, GridDataSource } from '@mui/x-data-grid-pro';
|
|
3
3
|
import { GridAggregatedFilterItemApplier, GridColumnRawLookup, GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn } from '@mui/x-data-grid-pro/internals';
|
|
4
|
-
import { DataGridPremiumProcessedProps } from
|
|
5
|
-
import { GridGroupingRule, GridGroupingRules, GridRowGroupingModel } from
|
|
6
|
-
import { GridStatePremium } from
|
|
7
|
-
import { GridPrivateApiPremium } from
|
|
8
|
-
export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn
|
|
4
|
+
import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
|
|
5
|
+
import { GridGroupingRule, GridGroupingRules, GridRowGroupingModel } from "./gridRowGroupingInterfaces.js";
|
|
6
|
+
import { GridStatePremium } from "../../../models/gridStatePremium.js";
|
|
7
|
+
import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
|
|
8
|
+
export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn };
|
|
9
9
|
export declare enum RowGroupingStrategy {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
Default = "grouping-columns",
|
|
11
|
+
DataSource = "grouping-columns-data-source",
|
|
12
12
|
}
|
|
13
13
|
export declare const getRowGroupingFieldFromGroupingCriteria: (groupingCriteria: string | null) => string;
|
|
14
14
|
interface FilterRowTreeFromTreeDataParams {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
rowTree: GridRowTreeConfig;
|
|
16
|
+
isRowMatchingFilters: GridAggregatedFilterItemApplier | null;
|
|
17
|
+
filterModel: GridFilterModel;
|
|
18
|
+
apiRef: RefObject<GridPrivateApiPremium>;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* A leaf is visible if it passed the filter
|
|
@@ -27,20 +27,28 @@ export declare const filterRowTreeFromGroupingColumns: (params: FilterRowTreeFro
|
|
|
27
27
|
export declare const getColDefOverrides: (groupingColDefProp: DataGridPremiumProcessedProps["groupingColDef"], fields: string[], strategy?: RowGroupingStrategy) => import("@mui/x-data-grid-pro").GridGroupingColDefOverride<any> | null | undefined;
|
|
28
28
|
export declare const mergeStateWithRowGroupingModel: (rowGroupingModel: GridRowGroupingModel) => (state: GridStatePremium) => GridStatePremium;
|
|
29
29
|
export declare const setStrategyAvailability: (privateApiRef: RefObject<GridPrivateApiPremium>, disableRowGrouping: boolean, dataSource?: GridDataSource) => void;
|
|
30
|
-
export declare const getCellGroupingCriteria: ({
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
export declare const getCellGroupingCriteria: ({
|
|
31
|
+
row,
|
|
32
|
+
colDef,
|
|
33
|
+
groupingRule,
|
|
34
|
+
apiRef
|
|
35
|
+
}: {
|
|
36
|
+
row: GridRowModel;
|
|
37
|
+
colDef: GridColDef;
|
|
38
|
+
groupingRule: GridGroupingRule;
|
|
39
|
+
apiRef: RefObject<GridPrivateApiPremium>;
|
|
35
40
|
}) => {
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
key: GridKeyValue | null | undefined;
|
|
42
|
+
field: string;
|
|
38
43
|
};
|
|
39
|
-
export declare const getGroupingRules: ({
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
export declare const getGroupingRules: ({
|
|
45
|
+
sanitizedRowGroupingModel,
|
|
46
|
+
columnsLookup
|
|
47
|
+
}: {
|
|
48
|
+
sanitizedRowGroupingModel: GridRowGroupingModel;
|
|
49
|
+
columnsLookup: GridColumnRawLookup;
|
|
42
50
|
}) => GridGroupingRules;
|
|
43
51
|
/**
|
|
44
52
|
* Compares two sets of grouping rules to determine if they are equal or not.
|
|
45
53
|
*/
|
|
46
|
-
export declare const areGroupingRulesEqual: (newValue: GridGroupingRules, previousValue: GridGroupingRules) => boolean;
|
|
54
|
+
export declare const areGroupingRulesEqual: (newValue: GridGroupingRules, previousValue: GridGroupingRules) => boolean;
|
|
@@ -102,7 +102,9 @@ const filterRowTreeFromGroupingColumns = params => {
|
|
|
102
102
|
isPassingFiltering = (0, _internals.passFilterLogic)(allResults.map(result => result.passingFilterItems), allResults.map(result => result.passingQuickFilterValues), filterModel, params.apiRef, filterCache);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
|
|
105
|
+
if (!isPassingFiltering) {
|
|
106
|
+
filteredRowsLookup[node.id] = false;
|
|
107
|
+
}
|
|
106
108
|
if (!isPassingFiltering) {
|
|
107
109
|
return 0;
|
|
108
110
|
}
|
|
@@ -167,7 +169,7 @@ const getCellGroupingCriteria = ({
|
|
|
167
169
|
if (groupingRule.groupingValueGetter) {
|
|
168
170
|
key = groupingRule.groupingValueGetter(row[groupingRule.field], row, colDef, apiRef);
|
|
169
171
|
} else {
|
|
170
|
-
key = row
|
|
172
|
+
key = (0, _internals.getRowValue)(row, colDef, apiRef);
|
|
171
173
|
}
|
|
172
174
|
return {
|
|
173
175
|
key,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingFieldFromGroupingCriteria, isGroupingColumn
|
|
1
|
+
export * from "./gridRowGroupingSelector.js";
|
|
2
|
+
export * from "./gridRowGroupingInterfaces.js";
|
|
3
|
+
export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingFieldFromGroupingCriteria, isGroupingColumn } from "./gridRowGroupingUtils.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { RefObject } from '@mui/x-internals/types';
|
|
2
|
-
import { DataGridPremiumProcessedProps } from
|
|
3
|
-
import { GridPrivateApiPremium } from
|
|
4
|
-
export declare const useGridDataSourceRowGroupingPreProcessors: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "disableRowGrouping" | "groupingColDef" | "rowGroupingColumnMode" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "
|
|
2
|
+
import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
|
|
3
|
+
import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
|
|
4
|
+
export declare const useGridDataSourceRowGroupingPreProcessors: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "disableRowGrouping" | "groupingColDef" | "rowGroupingColumnMode" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "dataSource">) => void;
|
|
@@ -12,11 +12,11 @@ var _gridRowGroupingUtils = require("./gridRowGroupingUtils");
|
|
|
12
12
|
var _gridRowGroupingSelector = require("./gridRowGroupingSelector");
|
|
13
13
|
const useGridDataSourceRowGroupingPreProcessors = (apiRef, props) => {
|
|
14
14
|
const createRowTreeForRowGrouping = React.useCallback(params => {
|
|
15
|
-
const getGroupKey = props.
|
|
15
|
+
const getGroupKey = props.dataSource?.getGroupKey;
|
|
16
16
|
if (!getGroupKey) {
|
|
17
17
|
throw new Error('MUI X: No `getGroupKey` method provided with the dataSource.');
|
|
18
18
|
}
|
|
19
|
-
const getChildrenCount = props.
|
|
19
|
+
const getChildrenCount = props.dataSource?.getChildrenCount;
|
|
20
20
|
if (!getChildrenCount) {
|
|
21
21
|
throw new Error('MUI X: No `getChildrenCount` method provided with the dataSource.');
|
|
22
22
|
}
|
|
@@ -64,7 +64,7 @@ const useGridDataSourceRowGroupingPreProcessors = (apiRef, props) => {
|
|
|
64
64
|
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
65
65
|
groupingName: _gridRowGroupingUtils.RowGroupingStrategy.DataSource
|
|
66
66
|
});
|
|
67
|
-
}, [apiRef, props.
|
|
67
|
+
}, [apiRef, props.dataSource, props.defaultGroupingExpansionDepth, props.isGroupExpandedByDefault]);
|
|
68
68
|
const filterRows = React.useCallback(() => {
|
|
69
69
|
const rowTree = (0, _xDataGridPro.gridRowTreeSelector)(apiRef);
|
|
70
70
|
return (0, _internals.skipFiltering)(rowTree);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { RefObject } from '@mui/x-internals/types';
|
|
2
2
|
import { GridStateInitializer } from '@mui/x-data-grid-pro/internals';
|
|
3
|
-
import { GridPrivateApiPremium } from
|
|
4
|
-
import { DataGridPremiumProcessedProps } from
|
|
3
|
+
import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
|
|
4
|
+
import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
|
|
5
5
|
export declare const rowGroupingStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'rowGroupingModel' | 'initialState'>>;
|
|
6
6
|
/**
|
|
7
7
|
* @requires useGridColumns (state, method) - can be after, async only
|
|
8
8
|
* @requires useGridRows (state, method) - can be after, async only
|
|
9
9
|
* @requires useGridParamsApi (method) - can be after, async only
|
|
10
10
|
*/
|
|
11
|
-
export declare const useGridRowGrouping: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "initialState" | "rowGroupingModel" | "onRowGroupingModelChange" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "groupingColDef" | "rowGroupingColumnMode" | "disableRowGrouping" | "slotProps" | "slots" | "
|
|
11
|
+
export declare const useGridRowGrouping: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "initialState" | "rowGroupingModel" | "onRowGroupingModelChange" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "groupingColDef" | "rowGroupingColumnMode" | "disableRowGrouping" | "slotProps" | "slots" | "dataSource">) => void;
|
|
@@ -46,7 +46,6 @@ const useGridRowGrouping = (apiRef, props) => {
|
|
|
46
46
|
if (currentModel !== model) {
|
|
47
47
|
apiRef.current.setState((0, _gridRowGroupingUtils.mergeStateWithRowGroupingModel)(model));
|
|
48
48
|
(0, _gridRowGroupingUtils.setStrategyAvailability)(apiRef, props.disableRowGrouping);
|
|
49
|
-
apiRef.current.forceUpdate();
|
|
50
49
|
}
|
|
51
50
|
}, [apiRef, props.disableRowGrouping]);
|
|
52
51
|
const addRowGroupingCriteria = React.useCallback((field, groupingIndex) => {
|
|
@@ -150,13 +149,13 @@ const useGridRowGrouping = (apiRef, props) => {
|
|
|
150
149
|
if (!isOnGroupingCell) {
|
|
151
150
|
return;
|
|
152
151
|
}
|
|
153
|
-
if (props.
|
|
154
|
-
apiRef.current.
|
|
152
|
+
if (props.dataSource && !params.rowNode.childrenExpanded) {
|
|
153
|
+
apiRef.current.dataSource.fetchRows(params.id);
|
|
155
154
|
return;
|
|
156
155
|
}
|
|
157
156
|
apiRef.current.setRowChildrenExpansion(params.id, !params.rowNode.childrenExpanded);
|
|
158
157
|
}
|
|
159
|
-
}, [apiRef, props.rowGroupingColumnMode, props.
|
|
158
|
+
}, [apiRef, props.rowGroupingColumnMode, props.dataSource]);
|
|
160
159
|
const checkGroupingColumnsModelDiff = React.useCallback(() => {
|
|
161
160
|
const sanitizedRowGroupingModel = (0, _gridRowGroupingSelector.gridRowGroupingSanitizedModelSelector)(apiRef);
|
|
162
161
|
const rulesOnLastRowTreeCreation = apiRef.current.caches.rowGrouping.rulesOnLastRowTreeCreation || [];
|
|
@@ -179,7 +178,7 @@ const useGridRowGrouping = (apiRef, props) => {
|
|
|
179
178
|
(0, _xDataGridPro.useGridApiEventHandler)(apiRef, 'cellKeyDown', handleCellKeyDown);
|
|
180
179
|
(0, _xDataGridPro.useGridApiEventHandler)(apiRef, 'columnsChange', checkGroupingColumnsModelDiff);
|
|
181
180
|
(0, _xDataGridPro.useGridApiEventHandler)(apiRef, 'rowGroupingModelChange', checkGroupingColumnsModelDiff);
|
|
182
|
-
(0, _xDataGridPro.useGridApiEventHandler)(apiRef, 'rowGroupingModelChange', () => apiRef.current.
|
|
181
|
+
(0, _xDataGridPro.useGridApiEventHandler)(apiRef, 'rowGroupingModelChange', () => apiRef.current.dataSource.fetchRows());
|
|
183
182
|
|
|
184
183
|
/*
|
|
185
184
|
* EFFECTS
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { RefObject } from '@mui/x-internals/types';
|
|
2
|
-
import { DataGridPremiumProcessedProps } from
|
|
3
|
-
import { GridPrivateApiPremium } from
|
|
4
|
-
export declare const useGridRowGroupingPreProcessors: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "disableRowGrouping" | "groupingColDef" | "rowGroupingColumnMode" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "
|
|
2
|
+
import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
|
|
3
|
+
import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
|
|
4
|
+
export declare const useGridRowGroupingPreProcessors: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "disableRowGrouping" | "groupingColDef" | "rowGroupingColumnMode" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "dataSource">) => void;
|