@mui/x-data-grid 7.0.0-beta.3 → 7.0.0-beta.5
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 +357 -22
- package/DataGrid/DataGrid.js +2 -0
- package/colDef/gridActionsColDef.js +1 -0
- package/colDef/gridBooleanColDef.js +1 -0
- package/colDef/gridBooleanOperators.js +1 -1
- package/colDef/gridCheckboxSelectionColDef.js +1 -0
- package/components/GridRow.d.ts +7 -9
- package/components/GridRow.js +36 -47
- package/components/GridScrollbarFillerCell.js +6 -21
- package/components/cell/GridCell.d.ts +2 -1
- package/components/cell/GridCell.js +17 -15
- package/components/cell/GridSkeletonCell.d.ts +3 -2
- package/components/cell/GridSkeletonCell.js +14 -6
- package/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
- package/components/columnsManagement/GridColumnsManagement.js +1 -1
- package/components/containers/GridRootStyles.js +59 -21
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
- package/components/virtualization/GridBottomContainer.js +1 -1
- package/components/virtualization/GridTopContainer.js +1 -1
- package/components/virtualization/GridVirtualScroller.js +2 -2
- package/components/virtualization/GridVirtualScrollerRenderZone.js +9 -3
- package/constants/gridClasses.d.ts +24 -8
- package/constants/gridClasses.js +1 -1
- package/hooks/features/clipboard/useGridClipboard.js +1 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +11 -8
- package/hooks/features/columns/gridColumnsSelector.d.ts +6 -0
- package/hooks/features/columns/gridColumnsSelector.js +8 -1
- package/hooks/features/columns/useGridColumns.js +4 -0
- package/hooks/features/editing/useGridCellEditing.js +3 -4
- package/hooks/features/editing/useGridRowEditing.js +4 -6
- package/hooks/features/filter/useGridFilter.js +2 -2
- package/hooks/features/rows/useGridRows.js +8 -4
- package/hooks/features/rows/useGridRowsMeta.js +5 -13
- package/hooks/features/sorting/gridSortingUtils.js +9 -1
- package/hooks/features/sorting/useGridSorting.js +1 -2
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +0 -9
- package/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -7
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -0
- package/hooks/features/virtualization/useGridVirtualScroller.js +82 -138
- package/hooks/features/virtualization/useGridVirtualization.d.ts +0 -8
- package/hooks/features/virtualization/useGridVirtualization.js +1 -6
- package/hooks/utils/useTimeout.d.ts +5 -3
- package/hooks/utils/useTimeout.js +13 -5
- package/index.js +1 -1
- package/internals/index.d.ts +1 -1
- package/internals/index.js +1 -1
- package/models/colDef/gridColDef.d.ts +13 -0
- package/modern/DataGrid/DataGrid.js +2 -0
- package/modern/colDef/gridActionsColDef.js +1 -0
- package/modern/colDef/gridBooleanColDef.js +1 -0
- package/modern/colDef/gridBooleanOperators.js +1 -1
- package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
- package/modern/components/GridRow.js +35 -46
- package/modern/components/GridScrollbarFillerCell.js +6 -21
- package/modern/components/cell/GridCell.js +17 -15
- package/modern/components/cell/GridSkeletonCell.js +14 -6
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
- package/modern/components/columnsManagement/GridColumnsManagement.js +1 -1
- package/modern/components/containers/GridRootStyles.js +59 -21
- package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
- package/modern/components/virtualization/GridBottomContainer.js +1 -1
- package/modern/components/virtualization/GridTopContainer.js +1 -1
- package/modern/components/virtualization/GridVirtualScroller.js +2 -2
- package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +8 -3
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +11 -8
- package/modern/hooks/features/columns/gridColumnsSelector.js +8 -1
- package/modern/hooks/features/columns/useGridColumns.js +2 -0
- package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
- package/modern/hooks/features/editing/useGridRowEditing.js +4 -6
- package/modern/hooks/features/filter/useGridFilter.js +2 -2
- package/modern/hooks/features/rows/useGridRows.js +8 -4
- package/modern/hooks/features/rows/useGridRowsMeta.js +5 -13
- package/modern/hooks/features/sorting/gridSortingUtils.js +9 -1
- package/modern/hooks/features/sorting/useGridSorting.js +1 -2
- package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -7
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +80 -136
- package/modern/hooks/features/virtualization/useGridVirtualization.js +1 -6
- package/modern/hooks/utils/useTimeout.js +13 -5
- package/modern/index.js +1 -1
- package/modern/internals/index.js +1 -1
- package/modern/utils/keyboardUtils.js +20 -11
- package/modern/utils/utils.js +9 -0
- package/node/DataGrid/DataGrid.js +1 -0
- package/node/colDef/gridActionsColDef.js +1 -0
- package/node/colDef/gridBooleanColDef.js +1 -0
- package/node/colDef/gridBooleanOperators.js +1 -1
- package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
- package/node/components/GridRow.js +35 -46
- package/node/components/GridScrollbarFillerCell.js +5 -20
- package/node/components/cell/GridCell.js +17 -15
- package/node/components/cell/GridSkeletonCell.js +15 -7
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
- package/node/components/columnsManagement/GridColumnsManagement.js +1 -1
- package/node/components/containers/GridRootStyles.js +59 -21
- package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
- package/node/components/virtualization/GridBottomContainer.js +1 -1
- package/node/components/virtualization/GridTopContainer.js +1 -1
- package/node/components/virtualization/GridVirtualScroller.js +2 -2
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +7 -2
- package/node/constants/gridClasses.js +1 -1
- package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +8 -5
- package/node/hooks/features/columns/gridColumnsSelector.js +9 -2
- package/node/hooks/features/columns/useGridColumns.js +2 -0
- package/node/hooks/features/editing/useGridCellEditing.js +2 -3
- package/node/hooks/features/editing/useGridRowEditing.js +3 -5
- package/node/hooks/features/filter/useGridFilter.js +2 -2
- package/node/hooks/features/rows/useGridRows.js +8 -4
- package/node/hooks/features/rows/useGridRowsMeta.js +5 -13
- package/node/hooks/features/sorting/gridSortingUtils.js +9 -1
- package/node/hooks/features/sorting/useGridSorting.js +1 -2
- package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +1 -8
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +81 -136
- package/node/hooks/features/virtualization/useGridVirtualization.js +2 -7
- package/node/hooks/utils/useTimeout.js +13 -4
- package/node/index.js +1 -1
- package/node/internals/index.js +7 -0
- package/node/utils/keyboardUtils.js +25 -20
- package/node/utils/utils.js +12 -1
- package/package.json +1 -1
- package/utils/keyboardUtils.d.ts +7 -6
- package/utils/keyboardUtils.js +20 -11
- package/utils/utils.d.ts +4 -0
- package/utils/utils.js +9 -0
- package/legacy/DataGrid/DataGrid.js +0 -664
- package/legacy/DataGrid/index.js +0 -2
- package/legacy/DataGrid/useDataGridComponent.js +0 -81
- package/legacy/DataGrid/useDataGridProps.js +0 -98
- package/legacy/colDef/gridActionsColDef.js +0 -18
- package/legacy/colDef/gridBooleanColDef.js +0 -42
- package/legacy/colDef/gridBooleanOperators.js +0 -16
- package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
- package/legacy/colDef/gridDateColDef.js +0 -62
- package/legacy/colDef/gridDateOperators.js +0 -115
- package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
- package/legacy/colDef/gridNumericColDef.js +0 -19
- package/legacy/colDef/gridNumericOperators.js +0 -145
- package/legacy/colDef/gridSingleSelectColDef.js +0 -64
- package/legacy/colDef/gridSingleSelectOperators.js +0 -46
- package/legacy/colDef/gridStringColDef.js +0 -27
- package/legacy/colDef/gridStringOperators.js +0 -112
- package/legacy/colDef/index.js +0 -13
- package/legacy/components/GridApiContext.js +0 -5
- package/legacy/components/GridColumnHeaders.js +0 -94
- package/legacy/components/GridDetailPanels.js +0 -4
- package/legacy/components/GridFooter.js +0 -42
- package/legacy/components/GridHeader.js +0 -13
- package/legacy/components/GridHeaders.js +0 -53
- package/legacy/components/GridLoadingOverlay.js +0 -21
- package/legacy/components/GridNoResultsOverlay.js +0 -14
- package/legacy/components/GridNoRowsOverlay.js +0 -23
- package/legacy/components/GridPagination.js +0 -85
- package/legacy/components/GridPinnedRows.js +0 -4
- package/legacy/components/GridRow.js +0 -465
- package/legacy/components/GridRowCount.js +0 -63
- package/legacy/components/GridScrollbarFillerCell.js +0 -34
- package/legacy/components/GridSelectedRowCount.js +0 -66
- package/legacy/components/base/GridBody.js +0 -2
- package/legacy/components/base/GridFooterPlaceholder.js +0 -12
- package/legacy/components/base/GridOverlays.js +0 -122
- package/legacy/components/base/index.js +0 -3
- package/legacy/components/cell/GridActionsCell.js +0 -294
- package/legacy/components/cell/GridActionsCellItem.js +0 -69
- package/legacy/components/cell/GridBooleanCell.js +0 -121
- package/legacy/components/cell/GridCell.js +0 -350
- package/legacy/components/cell/GridEditBooleanCell.js +0 -174
- package/legacy/components/cell/GridEditDateCell.js +0 -230
- package/legacy/components/cell/GridEditInputCell.js +0 -198
- package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
- package/legacy/components/cell/GridSkeletonCell.js +0 -52
- package/legacy/components/cell/index.js +0 -9
- package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
- package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
- package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
- package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
- package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
- package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
- package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
- package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
- package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
- package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
- package/legacy/components/columnHeaders/index.js +0 -5
- package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
- package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
- package/legacy/components/columnSelection/index.js +0 -2
- package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
- package/legacy/components/columnsManagement/index.js +0 -1
- package/legacy/components/columnsManagement/utils.js +0 -22
- package/legacy/components/containers/GridFooterContainer.js +0 -50
- package/legacy/components/containers/GridOverlay.js +0 -52
- package/legacy/components/containers/GridRoot.js +0 -79
- package/legacy/components/containers/GridRootStyles.js +0 -395
- package/legacy/components/containers/GridToolbarContainer.js +0 -59
- package/legacy/components/containers/index.js +0 -4
- package/legacy/components/index.js +0 -19
- package/legacy/components/menu/GridMenu.js +0 -132
- package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
- package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
- package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
- package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
- package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
- package/legacy/components/menu/columnMenu/index.js +0 -9
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
- package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
- package/legacy/components/menu/index.js +0 -2
- package/legacy/components/panel/GridColumnsPanel.js +0 -22
- package/legacy/components/panel/GridPanel.js +0 -137
- package/legacy/components/panel/GridPanelContent.js +0 -49
- package/legacy/components/panel/GridPanelFooter.js +0 -50
- package/legacy/components/panel/GridPanelHeader.js +0 -48
- package/legacy/components/panel/GridPanelWrapper.js +0 -64
- package/legacy/components/panel/GridPreferencesPanel.js +0 -26
- package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
- package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -118
- package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
- package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
- package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
- package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -149
- package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -106
- package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
- package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
- package/legacy/components/panel/filterPanel/index.js +0 -9
- package/legacy/components/panel/index.js +0 -7
- package/legacy/components/reexportable.js +0 -1
- package/legacy/components/toolbar/GridToolbar.js +0 -64
- package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
- package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
- package/legacy/components/toolbar/GridToolbarExport.js +0 -80
- package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
- package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
- package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
- package/legacy/components/toolbar/index.js +0 -7
- package/legacy/components/virtualization/GridBottomContainer.js +0 -25
- package/legacy/components/virtualization/GridMainContainer.js +0 -20
- package/legacy/components/virtualization/GridTopContainer.js +0 -35
- package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
- package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
- package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
- package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
- package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -49
- package/legacy/constants/defaultGridSlotsComponents.js +0 -33
- package/legacy/constants/envConstants.js +0 -19
- package/legacy/constants/gridClasses.js +0 -5
- package/legacy/constants/gridDetailPanelToggleField.js +0 -2
- package/legacy/constants/index.js +0 -3
- package/legacy/constants/localeTextConstants.js +0 -158
- package/legacy/context/GridContextProvider.js +0 -21
- package/legacy/context/GridRootPropsContext.js +0 -6
- package/legacy/context/index.js +0 -1
- package/legacy/hooks/core/gridCoreSelector.js +0 -7
- package/legacy/hooks/core/index.js +0 -1
- package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
- package/legacy/hooks/core/pipeProcessing/index.js +0 -4
- package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
- package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
- package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
- package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
- package/legacy/hooks/core/strategyProcessing/index.js +0 -3
- package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
- package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
- package/legacy/hooks/core/useGridApiInitialization.js +0 -124
- package/legacy/hooks/core/useGridInitialization.js +0 -26
- package/legacy/hooks/core/useGridLocaleText.js +0 -12
- package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
- package/legacy/hooks/core/useGridRefs.js +0 -13
- package/legacy/hooks/core/useGridStateInitialization.js +0 -106
- package/legacy/hooks/core/useGridTheme.js +0 -21
- package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
- package/legacy/hooks/features/columnGrouping/index.js +0 -2
- package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -272
- package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
- package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
- package/legacy/hooks/features/columnMenu/index.js +0 -2
- package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
- package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
- package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
- package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
- package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
- package/legacy/hooks/features/columns/index.js +0 -2
- package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
- package/legacy/hooks/features/columns/useGridColumns.js +0 -319
- package/legacy/hooks/features/density/densitySelector.js +0 -10
- package/legacy/hooks/features/density/densityState.js +0 -1
- package/legacy/hooks/features/density/index.js +0 -2
- package/legacy/hooks/features/density/useGridDensity.js +0 -48
- package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
- package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
- package/legacy/hooks/features/dimensions/index.js +0 -2
- package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
- package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
- package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
- package/legacy/hooks/features/editing/useGridEditing.js +0 -145
- package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
- package/legacy/hooks/features/events/useGridEvents.js +0 -23
- package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
- package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
- package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
- package/legacy/hooks/features/export/utils.js +0 -49
- package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
- package/legacy/hooks/features/filter/gridFilterState.js +0 -20
- package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
- package/legacy/hooks/features/filter/index.js +0 -2
- package/legacy/hooks/features/filter/useGridFilter.js +0 -378
- package/legacy/hooks/features/focus/gridFocusState.js +0 -1
- package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
- package/legacy/hooks/features/focus/index.js +0 -2
- package/legacy/hooks/features/focus/useGridFocus.js +0 -408
- package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
- package/legacy/hooks/features/headerFiltering/index.js +0 -1
- package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
- package/legacy/hooks/features/index.js +0 -16
- package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
- package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
- package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
- package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
- package/legacy/hooks/features/pagination/index.js +0 -2
- package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
- package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
- package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
- package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
- package/legacy/hooks/features/preferencesPanel/index.js +0 -3
- package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
- package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
- package/legacy/hooks/features/rowSelection/index.js +0 -1
- package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
- package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
- package/legacy/hooks/features/rowSelection/utils.js +0 -8
- package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
- package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
- package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
- package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
- package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
- package/legacy/hooks/features/rows/index.js +0 -4
- package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
- package/legacy/hooks/features/rows/useGridRows.js +0 -466
- package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
- package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
- package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
- package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
- package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
- package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
- package/legacy/hooks/features/sorting/index.js +0 -2
- package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
- package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
- package/legacy/hooks/features/statePersistence/index.js +0 -1
- package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
- package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -61
- package/legacy/hooks/features/virtualization/index.js +0 -2
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -646
- package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -63
- package/legacy/hooks/index.js +0 -3
- package/legacy/hooks/utils/index.js +0 -9
- package/legacy/hooks/utils/useFirstRender.js +0 -8
- package/legacy/hooks/utils/useGridApiContext.js +0 -9
- package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
- package/legacy/hooks/utils/useGridApiMethod.js +0 -11
- package/legacy/hooks/utils/useGridApiRef.js +0 -7
- package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
- package/legacy/hooks/utils/useGridInitializeState.js +0 -8
- package/legacy/hooks/utils/useGridLogger.js +0 -10
- package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
- package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
- package/legacy/hooks/utils/useGridRootProps.js +0 -9
- package/legacy/hooks/utils/useGridSelector.js +0 -54
- package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
- package/legacy/hooks/utils/useLazyRef.js +0 -11
- package/legacy/hooks/utils/useOnMount.js +0 -7
- package/legacy/hooks/utils/useResizeObserver.js +0 -36
- package/legacy/hooks/utils/useRunOnce.js +0 -18
- package/legacy/hooks/utils/useTimeout.js +0 -38
- package/legacy/index.js +0 -38
- package/legacy/internals/index.js +0 -68
- package/legacy/internals/utils/computeSlots.js +0 -17
- package/legacy/internals/utils/index.js +0 -3
- package/legacy/internals/utils/propValidation.js +0 -21
- package/legacy/internals/utils/useProps.js +0 -32
- package/legacy/joy/icons.js +0 -432
- package/legacy/joy/index.js +0 -2
- package/legacy/joy/joySlots.js +0 -420
- package/legacy/locales/arSD.js +0 -160
- package/legacy/locales/beBY.js +0 -184
- package/legacy/locales/bgBG.js +0 -160
- package/legacy/locales/coreLocales.js +0 -62
- package/legacy/locales/csCZ.js +0 -181
- package/legacy/locales/daDK.js +0 -160
- package/legacy/locales/deDE.js +0 -160
- package/legacy/locales/elGR.js +0 -160
- package/legacy/locales/enUS.js +0 -4
- package/legacy/locales/esES.js +0 -160
- package/legacy/locales/faIR.js +0 -160
- package/legacy/locales/fiFI.js +0 -160
- package/legacy/locales/frFR.js +0 -160
- package/legacy/locales/heIL.js +0 -160
- package/legacy/locales/hrHR.js +0 -160
- package/legacy/locales/huHU.js +0 -160
- package/legacy/locales/index.js +0 -35
- package/legacy/locales/itIT.js +0 -160
- package/legacy/locales/jaJP.js +0 -160
- package/legacy/locales/koKR.js +0 -162
- package/legacy/locales/nbNO.js +0 -162
- package/legacy/locales/nlNL.js +0 -160
- package/legacy/locales/plPL.js +0 -163
- package/legacy/locales/ptBR.js +0 -160
- package/legacy/locales/ptPT.js +0 -160
- package/legacy/locales/roRO.js +0 -160
- package/legacy/locales/ruRU.js +0 -181
- package/legacy/locales/skSK.js +0 -181
- package/legacy/locales/svSE.js +0 -160
- package/legacy/locales/trTR.js +0 -161
- package/legacy/locales/ukUA.js +0 -182
- package/legacy/locales/urPK.js +0 -160
- package/legacy/locales/viVN.js +0 -160
- package/legacy/locales/zhCN.js +0 -160
- package/legacy/locales/zhHK.js +0 -160
- package/legacy/locales/zhTW.js +0 -160
- package/legacy/material/components/MUISelectOption.js +0 -14
- package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
- package/legacy/material/icons/index.js +0 -89
- package/legacy/material/index.js +0 -69
- package/legacy/models/api/gridApiCommon.js +0 -1
- package/legacy/models/api/gridApiCommunity.js +0 -1
- package/legacy/models/api/gridCallbackDetails.js +0 -1
- package/legacy/models/api/gridColumnApi.js +0 -1
- package/legacy/models/api/gridColumnGroupingApi.js +0 -1
- package/legacy/models/api/gridColumnMenuApi.js +0 -1
- package/legacy/models/api/gridColumnSpanning.js +0 -1
- package/legacy/models/api/gridCoreApi.js +0 -1
- package/legacy/models/api/gridCsvExportApi.js +0 -1
- package/legacy/models/api/gridDensityApi.js +0 -1
- package/legacy/models/api/gridEditingApi.js +0 -1
- package/legacy/models/api/gridFilterApi.js +0 -1
- package/legacy/models/api/gridFocusApi.js +0 -1
- package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
- package/legacy/models/api/gridLocaleTextApi.js +0 -1
- package/legacy/models/api/gridLoggerApi.js +0 -1
- package/legacy/models/api/gridParamsApi.js +0 -1
- package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
- package/legacy/models/api/gridPrintExportApi.js +0 -1
- package/legacy/models/api/gridRowApi.js +0 -1
- package/legacy/models/api/gridRowSelectionApi.js +0 -1
- package/legacy/models/api/gridRowsMetaApi.js +0 -1
- package/legacy/models/api/gridScrollApi.js +0 -1
- package/legacy/models/api/gridSortApi.js +0 -1
- package/legacy/models/api/gridStateApi.js +0 -1
- package/legacy/models/api/gridVirtualizationApi.js +0 -1
- package/legacy/models/api/index.js +0 -16
- package/legacy/models/colDef/gridColDef.js +0 -1
- package/legacy/models/colDef/gridColType.js +0 -1
- package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
- package/legacy/models/colDef/index.js +0 -6
- package/legacy/models/controlStateItem.js +0 -1
- package/legacy/models/cursorCoordinates.js +0 -1
- package/legacy/models/elementSize.js +0 -1
- package/legacy/models/events/gridEventListener.js +0 -1
- package/legacy/models/events/gridEventLookup.js +0 -1
- package/legacy/models/events/gridEventPublisher.js +0 -1
- package/legacy/models/events/index.js +0 -3
- package/legacy/models/gridApiCaches.js +0 -1
- package/legacy/models/gridCell.js +0 -1
- package/legacy/models/gridCellClass.js +0 -1
- package/legacy/models/gridColumnGrouping.js +0 -11
- package/legacy/models/gridColumnHeaderClass.js +0 -1
- package/legacy/models/gridColumnSpanning.js +0 -1
- package/legacy/models/gridDensity.js +0 -1
- package/legacy/models/gridEditRowModel.js +0 -16
- package/legacy/models/gridExport.js +0 -1
- package/legacy/models/gridFeatureMode.js +0 -1
- package/legacy/models/gridFilterItem.js +0 -11
- package/legacy/models/gridFilterModel.js +0 -1
- package/legacy/models/gridFilterOperator.js +0 -1
- package/legacy/models/gridHeaderFilteringModel.js +0 -1
- package/legacy/models/gridIconSlotsComponent.js +0 -1
- package/legacy/models/gridPaginationProps.js +0 -1
- package/legacy/models/gridRenderContextProps.js +0 -1
- package/legacy/models/gridRowSelectionModel.js +0 -1
- package/legacy/models/gridRows.js +0 -1
- package/legacy/models/gridSlotsComponent.js +0 -1
- package/legacy/models/gridSlotsComponentsProps.js +0 -1
- package/legacy/models/gridSortModel.js +0 -1
- package/legacy/models/gridStateCommunity.js +0 -1
- package/legacy/models/index.js +0 -29
- package/legacy/models/logger.js +0 -1
- package/legacy/models/muiEvent.js +0 -1
- package/legacy/models/params/gridCellParams.js +0 -1
- package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
- package/legacy/models/params/gridColumnHeaderParams.js +0 -1
- package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
- package/legacy/models/params/gridColumnResizeParams.js +0 -1
- package/legacy/models/params/gridEditCellParams.js +0 -27
- package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
- package/legacy/models/params/gridMenuParams.js +0 -1
- package/legacy/models/params/gridPreferencePanelParams.js +0 -1
- package/legacy/models/params/gridRowParams.js +0 -44
- package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
- package/legacy/models/params/gridScrollParams.js +0 -1
- package/legacy/models/params/gridValueOptionsParams.js +0 -1
- package/legacy/models/params/index.js +0 -13
- package/legacy/models/props/DataGridProps.js +0 -1
- package/legacy/themeAugmentation/index.js +0 -4
- package/legacy/themeAugmentation/overrides.js +0 -1
- package/legacy/themeAugmentation/props.js +0 -1
- package/legacy/utils/EventManager.js +0 -91
- package/legacy/utils/Store.js +0 -34
- package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
- package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
- package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
- package/legacy/utils/createControllablePromise.js +0 -11
- package/legacy/utils/createSelector.js +0 -120
- package/legacy/utils/doesSupportPreventScroll.js +0 -13
- package/legacy/utils/domUtils.js +0 -49
- package/legacy/utils/exportAs.js +0 -40
- package/legacy/utils/fastMemo.js +0 -5
- package/legacy/utils/fastObjectShallowCompare.js +0 -32
- package/legacy/utils/getGridLocalization.js +0 -15
- package/legacy/utils/getPublicApiRef.js +0 -5
- package/legacy/utils/index.js +0 -1
- package/legacy/utils/keyboardUtils.js +0 -60
- package/legacy/utils/utils.js +0 -189
- package/legacy/utils/warning.js +0 -25
|
@@ -1,528 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["item", "hasMultipleFilters", "deleteFilter", "applyFilterChanges", "showMultiFilterOperators", "disableMultiFilterOperator", "applyMultiFilterOperatorChanges", "focusElementRef", "logicOperators", "columnsSort", "filterColumns", "deleteIconProps", "logicOperatorInputProps", "operatorInputProps", "columnInputProps", "valueInputProps", "readOnly", "children"],
|
|
4
|
-
_excluded2 = ["InputComponentProps"];
|
|
5
|
-
import * as React from 'react';
|
|
6
|
-
import PropTypes from 'prop-types';
|
|
7
|
-
import { unstable_composeClasses as composeClasses, unstable_useId as useId, unstable_capitalize as capitalize } from '@mui/utils';
|
|
8
|
-
import { styled } from '@mui/material/styles';
|
|
9
|
-
import clsx from 'clsx';
|
|
10
|
-
import { gridFilterableColumnDefinitionsSelector, gridColumnLookupSelector } from '../../../hooks/features/columns/gridColumnsSelector';
|
|
11
|
-
import { gridFilterModelSelector } from '../../../hooks/features/filter/gridFilterSelector';
|
|
12
|
-
import { useGridSelector } from '../../../hooks/utils/useGridSelector';
|
|
13
|
-
import { GridLogicOperator } from '../../../models/gridFilterItem';
|
|
14
|
-
import { useGridApiContext } from '../../../hooks/utils/useGridApiContext';
|
|
15
|
-
import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
|
|
16
|
-
import { getDataGridUtilityClass } from '../../../constants/gridClasses';
|
|
17
|
-
import { getValueFromValueOptions, getValueOptions } from './filterPanelUtils';
|
|
18
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
|
-
import { createElement as _createElement } from "react";
|
|
20
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
-
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
22
|
-
var classes = ownerState.classes;
|
|
23
|
-
var slots = {
|
|
24
|
-
root: ['filterForm'],
|
|
25
|
-
deleteIcon: ['filterFormDeleteIcon'],
|
|
26
|
-
logicOperatorInput: ['filterFormLogicOperatorInput'],
|
|
27
|
-
columnInput: ['filterFormColumnInput'],
|
|
28
|
-
operatorInput: ['filterFormOperatorInput'],
|
|
29
|
-
valueInput: ['filterFormValueInput']
|
|
30
|
-
};
|
|
31
|
-
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
32
|
-
};
|
|
33
|
-
var GridFilterFormRoot = styled('div', {
|
|
34
|
-
name: 'MuiDataGrid',
|
|
35
|
-
slot: 'FilterForm',
|
|
36
|
-
overridesResolver: function overridesResolver(props, styles) {
|
|
37
|
-
return styles.filterForm;
|
|
38
|
-
}
|
|
39
|
-
})(function (_ref) {
|
|
40
|
-
var theme = _ref.theme;
|
|
41
|
-
return {
|
|
42
|
-
display: 'flex',
|
|
43
|
-
padding: theme.spacing(1)
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
var FilterFormDeleteIcon = styled('div', {
|
|
47
|
-
name: 'MuiDataGrid',
|
|
48
|
-
slot: 'FilterFormDeleteIcon',
|
|
49
|
-
overridesResolver: function overridesResolver(_, styles) {
|
|
50
|
-
return styles.filterFormDeleteIcon;
|
|
51
|
-
}
|
|
52
|
-
})(function (_ref2) {
|
|
53
|
-
var theme = _ref2.theme;
|
|
54
|
-
return {
|
|
55
|
-
flexShrink: 0,
|
|
56
|
-
justifyContent: 'flex-end',
|
|
57
|
-
marginRight: theme.spacing(0.5),
|
|
58
|
-
marginBottom: theme.spacing(0.2)
|
|
59
|
-
};
|
|
60
|
-
});
|
|
61
|
-
var FilterFormLogicOperatorInput = styled('div', {
|
|
62
|
-
name: 'MuiDataGrid',
|
|
63
|
-
slot: 'FilterFormLogicOperatorInput',
|
|
64
|
-
overridesResolver: function overridesResolver(_, styles) {
|
|
65
|
-
return styles.filterFormLogicOperatorInput;
|
|
66
|
-
}
|
|
67
|
-
})({
|
|
68
|
-
minWidth: 55,
|
|
69
|
-
marginRight: 5,
|
|
70
|
-
justifyContent: 'end'
|
|
71
|
-
});
|
|
72
|
-
var FilterFormColumnInput = styled('div', {
|
|
73
|
-
name: 'MuiDataGrid',
|
|
74
|
-
slot: 'FilterFormColumnInput',
|
|
75
|
-
overridesResolver: function overridesResolver(_, styles) {
|
|
76
|
-
return styles.filterFormColumnInput;
|
|
77
|
-
}
|
|
78
|
-
})({
|
|
79
|
-
width: 150
|
|
80
|
-
});
|
|
81
|
-
var FilterFormOperatorInput = styled('div', {
|
|
82
|
-
name: 'MuiDataGrid',
|
|
83
|
-
slot: 'FilterFormOperatorInput',
|
|
84
|
-
overridesResolver: function overridesResolver(_, styles) {
|
|
85
|
-
return styles.filterFormOperatorInput;
|
|
86
|
-
}
|
|
87
|
-
})({
|
|
88
|
-
width: 120
|
|
89
|
-
});
|
|
90
|
-
var FilterFormValueInput = styled('div', {
|
|
91
|
-
name: 'MuiDataGrid',
|
|
92
|
-
slot: 'FilterFormValueInput',
|
|
93
|
-
overridesResolver: function overridesResolver(_, styles) {
|
|
94
|
-
return styles.filterFormValueInput;
|
|
95
|
-
}
|
|
96
|
-
})({
|
|
97
|
-
width: 190
|
|
98
|
-
});
|
|
99
|
-
var getLogicOperatorLocaleKey = function getLogicOperatorLocaleKey(logicOperator) {
|
|
100
|
-
switch (logicOperator) {
|
|
101
|
-
case GridLogicOperator.And:
|
|
102
|
-
return 'filterPanelOperatorAnd';
|
|
103
|
-
case GridLogicOperator.Or:
|
|
104
|
-
return 'filterPanelOperatorOr';
|
|
105
|
-
default:
|
|
106
|
-
throw new Error('MUI X: Invalid `logicOperator` property in the `GridFilterPanel`.');
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
var getColumnLabel = function getColumnLabel(col) {
|
|
110
|
-
return col.headerName || col.field;
|
|
111
|
-
};
|
|
112
|
-
var collator = new Intl.Collator();
|
|
113
|
-
var GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(props, ref) {
|
|
114
|
-
var _filterModel$logicOpe, _rootProps$slotProps, _rootProps$slotProps2, _baseSelectProps$nati, _rootProps$slotProps3, _rootProps$slotProps4, _rootProps$slotProps5, _rootProps$slotProps6, _rootProps$slotProps7, _rootProps$slotProps8, _currentColumn$filter2;
|
|
115
|
-
var item = props.item,
|
|
116
|
-
hasMultipleFilters = props.hasMultipleFilters,
|
|
117
|
-
deleteFilter = props.deleteFilter,
|
|
118
|
-
applyFilterChanges = props.applyFilterChanges,
|
|
119
|
-
showMultiFilterOperators = props.showMultiFilterOperators,
|
|
120
|
-
disableMultiFilterOperator = props.disableMultiFilterOperator,
|
|
121
|
-
applyMultiFilterOperatorChanges = props.applyMultiFilterOperatorChanges,
|
|
122
|
-
focusElementRef = props.focusElementRef,
|
|
123
|
-
_props$logicOperators = props.logicOperators,
|
|
124
|
-
logicOperators = _props$logicOperators === void 0 ? [GridLogicOperator.And, GridLogicOperator.Or] : _props$logicOperators,
|
|
125
|
-
columnsSort = props.columnsSort,
|
|
126
|
-
filterColumns = props.filterColumns,
|
|
127
|
-
_props$deleteIconProp = props.deleteIconProps,
|
|
128
|
-
deleteIconProps = _props$deleteIconProp === void 0 ? {} : _props$deleteIconProp,
|
|
129
|
-
_props$logicOperatorI = props.logicOperatorInputProps,
|
|
130
|
-
logicOperatorInputProps = _props$logicOperatorI === void 0 ? {} : _props$logicOperatorI,
|
|
131
|
-
_props$operatorInputP = props.operatorInputProps,
|
|
132
|
-
operatorInputProps = _props$operatorInputP === void 0 ? {} : _props$operatorInputP,
|
|
133
|
-
_props$columnInputPro = props.columnInputProps,
|
|
134
|
-
columnInputProps = _props$columnInputPro === void 0 ? {} : _props$columnInputPro,
|
|
135
|
-
_props$valueInputProp = props.valueInputProps,
|
|
136
|
-
valueInputProps = _props$valueInputProp === void 0 ? {} : _props$valueInputProp,
|
|
137
|
-
readOnly = props.readOnly,
|
|
138
|
-
children = props.children,
|
|
139
|
-
other = _objectWithoutProperties(props, _excluded);
|
|
140
|
-
var apiRef = useGridApiContext();
|
|
141
|
-
var columnLookup = useGridSelector(apiRef, gridColumnLookupSelector);
|
|
142
|
-
var filterableColumns = useGridSelector(apiRef, gridFilterableColumnDefinitionsSelector);
|
|
143
|
-
var filterModel = useGridSelector(apiRef, gridFilterModelSelector);
|
|
144
|
-
var columnSelectId = useId();
|
|
145
|
-
var columnSelectLabelId = useId();
|
|
146
|
-
var operatorSelectId = useId();
|
|
147
|
-
var operatorSelectLabelId = useId();
|
|
148
|
-
var rootProps = useGridRootProps();
|
|
149
|
-
var classes = useUtilityClasses(rootProps);
|
|
150
|
-
var valueRef = React.useRef(null);
|
|
151
|
-
var filterSelectorRef = React.useRef(null);
|
|
152
|
-
var multiFilterOperator = (_filterModel$logicOpe = filterModel.logicOperator) != null ? _filterModel$logicOpe : GridLogicOperator.And;
|
|
153
|
-
var hasLogicOperatorColumn = hasMultipleFilters && logicOperators.length > 0;
|
|
154
|
-
var baseFormControlProps = ((_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseFormControl) || {};
|
|
155
|
-
var baseSelectProps = ((_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseSelect) || {};
|
|
156
|
-
var isBaseSelectNative = (_baseSelectProps$nati = baseSelectProps.native) != null ? _baseSelectProps$nati : false;
|
|
157
|
-
var baseInputLabelProps = ((_rootProps$slotProps3 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps3.baseInputLabel) || {};
|
|
158
|
-
var baseSelectOptionProps = ((_rootProps$slotProps4 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps4.baseSelectOption) || {};
|
|
159
|
-
var InputComponentProps = valueInputProps.InputComponentProps,
|
|
160
|
-
valueInputPropsOther = _objectWithoutProperties(valueInputProps, _excluded2);
|
|
161
|
-
var _React$useMemo = React.useMemo(function () {
|
|
162
|
-
var itemField = item.field;
|
|
163
|
-
|
|
164
|
-
// Yields a valid value if the current filter belongs to a column that is not filterable
|
|
165
|
-
var selectedNonFilterableColumn = columnLookup[item.field].filterable === false ? columnLookup[item.field] : null;
|
|
166
|
-
if (selectedNonFilterableColumn) {
|
|
167
|
-
return {
|
|
168
|
-
filteredColumns: [selectedNonFilterableColumn],
|
|
169
|
-
selectedField: itemField
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
if (filterColumns === undefined || typeof filterColumns !== 'function') {
|
|
173
|
-
return {
|
|
174
|
-
filteredColumns: filterableColumns,
|
|
175
|
-
selectedField: itemField
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
var filteredFields = filterColumns({
|
|
179
|
-
field: item.field,
|
|
180
|
-
columns: filterableColumns,
|
|
181
|
-
currentFilters: (filterModel == null ? void 0 : filterModel.items) || []
|
|
182
|
-
});
|
|
183
|
-
return {
|
|
184
|
-
filteredColumns: filterableColumns.filter(function (column) {
|
|
185
|
-
var isFieldIncluded = filteredFields.includes(column.field);
|
|
186
|
-
if (column.field === item.field && !isFieldIncluded) {
|
|
187
|
-
itemField = undefined;
|
|
188
|
-
}
|
|
189
|
-
return isFieldIncluded;
|
|
190
|
-
}),
|
|
191
|
-
selectedField: itemField
|
|
192
|
-
};
|
|
193
|
-
}, [filterColumns, filterModel == null ? void 0 : filterModel.items, filterableColumns, item.field, columnLookup]),
|
|
194
|
-
filteredColumns = _React$useMemo.filteredColumns,
|
|
195
|
-
selectedField = _React$useMemo.selectedField;
|
|
196
|
-
var sortedFilteredColumns = React.useMemo(function () {
|
|
197
|
-
switch (columnsSort) {
|
|
198
|
-
case 'asc':
|
|
199
|
-
return filteredColumns.sort(function (a, b) {
|
|
200
|
-
return collator.compare(getColumnLabel(a), getColumnLabel(b));
|
|
201
|
-
});
|
|
202
|
-
case 'desc':
|
|
203
|
-
return filteredColumns.sort(function (a, b) {
|
|
204
|
-
return -collator.compare(getColumnLabel(a), getColumnLabel(b));
|
|
205
|
-
});
|
|
206
|
-
default:
|
|
207
|
-
return filteredColumns;
|
|
208
|
-
}
|
|
209
|
-
}, [filteredColumns, columnsSort]);
|
|
210
|
-
var currentColumn = item.field ? apiRef.current.getColumn(item.field) : null;
|
|
211
|
-
var currentOperator = React.useMemo(function () {
|
|
212
|
-
var _currentColumn$filter;
|
|
213
|
-
if (!item.operator || !currentColumn) {
|
|
214
|
-
return null;
|
|
215
|
-
}
|
|
216
|
-
return (_currentColumn$filter = currentColumn.filterOperators) == null ? void 0 : _currentColumn$filter.find(function (operator) {
|
|
217
|
-
return operator.value === item.operator;
|
|
218
|
-
});
|
|
219
|
-
}, [item, currentColumn]);
|
|
220
|
-
var changeColumn = React.useCallback(function (event) {
|
|
221
|
-
var field = event.target.value;
|
|
222
|
-
var column = apiRef.current.getColumn(field);
|
|
223
|
-
if (column.field === currentColumn.field) {
|
|
224
|
-
// column did not change
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
// try to keep the same operator when column change
|
|
229
|
-
var newOperator = column.filterOperators.find(function (operator) {
|
|
230
|
-
return operator.value === item.operator;
|
|
231
|
-
}) || column.filterOperators[0];
|
|
232
|
-
|
|
233
|
-
// Erase filter value if the input component or filtered column type is modified
|
|
234
|
-
var eraseFilterValue = !newOperator.InputComponent || newOperator.InputComponent !== (currentOperator == null ? void 0 : currentOperator.InputComponent) || column.type !== currentColumn.type;
|
|
235
|
-
var filterValue = eraseFilterValue ? undefined : item.value;
|
|
236
|
-
|
|
237
|
-
// Check filter value against the new valueOptions
|
|
238
|
-
if (column.type === 'singleSelect' && filterValue !== undefined) {
|
|
239
|
-
var colDef = column;
|
|
240
|
-
var valueOptions = getValueOptions(colDef);
|
|
241
|
-
if (Array.isArray(filterValue)) {
|
|
242
|
-
filterValue = filterValue.filter(function (val) {
|
|
243
|
-
return (
|
|
244
|
-
// Only keep values that are in the new value options
|
|
245
|
-
getValueFromValueOptions(val, valueOptions, colDef == null ? void 0 : colDef.getOptionValue) !== undefined
|
|
246
|
-
);
|
|
247
|
-
});
|
|
248
|
-
} else if (getValueFromValueOptions(item.value, valueOptions, colDef == null ? void 0 : colDef.getOptionValue) === undefined) {
|
|
249
|
-
// Reset the filter value if it is not in the new value options
|
|
250
|
-
filterValue = undefined;
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
applyFilterChanges(_extends({}, item, {
|
|
254
|
-
field: field,
|
|
255
|
-
operator: newOperator.value,
|
|
256
|
-
value: filterValue
|
|
257
|
-
}));
|
|
258
|
-
}, [apiRef, applyFilterChanges, item, currentColumn, currentOperator]);
|
|
259
|
-
var changeOperator = React.useCallback(function (event) {
|
|
260
|
-
var operator = event.target.value;
|
|
261
|
-
var newOperator = currentColumn == null ? void 0 : currentColumn.filterOperators.find(function (op) {
|
|
262
|
-
return op.value === operator;
|
|
263
|
-
});
|
|
264
|
-
var eraseItemValue = !(newOperator != null && newOperator.InputComponent) || (newOperator == null ? void 0 : newOperator.InputComponent) !== (currentOperator == null ? void 0 : currentOperator.InputComponent);
|
|
265
|
-
applyFilterChanges(_extends({}, item, {
|
|
266
|
-
operator: operator,
|
|
267
|
-
value: eraseItemValue ? undefined : item.value
|
|
268
|
-
}));
|
|
269
|
-
}, [applyFilterChanges, item, currentColumn, currentOperator]);
|
|
270
|
-
var changeLogicOperator = React.useCallback(function (event) {
|
|
271
|
-
var logicOperator = event.target.value === GridLogicOperator.And.toString() ? GridLogicOperator.And : GridLogicOperator.Or;
|
|
272
|
-
applyMultiFilterOperatorChanges(logicOperator);
|
|
273
|
-
}, [applyMultiFilterOperatorChanges]);
|
|
274
|
-
var handleDeleteFilter = function handleDeleteFilter() {
|
|
275
|
-
if (rootProps.disableMultipleColumnsFiltering) {
|
|
276
|
-
if (item.value === undefined) {
|
|
277
|
-
deleteFilter(item);
|
|
278
|
-
} else {
|
|
279
|
-
// TODO v6: simplify the behavior by always remove the filter form
|
|
280
|
-
applyFilterChanges(_extends({}, item, {
|
|
281
|
-
value: undefined
|
|
282
|
-
}));
|
|
283
|
-
}
|
|
284
|
-
} else {
|
|
285
|
-
deleteFilter(item);
|
|
286
|
-
}
|
|
287
|
-
};
|
|
288
|
-
React.useImperativeHandle(focusElementRef, function () {
|
|
289
|
-
return {
|
|
290
|
-
focus: function focus() {
|
|
291
|
-
if (currentOperator != null && currentOperator.InputComponent) {
|
|
292
|
-
var _valueRef$current;
|
|
293
|
-
valueRef == null || (_valueRef$current = valueRef.current) == null || _valueRef$current.focus();
|
|
294
|
-
} else {
|
|
295
|
-
filterSelectorRef.current.focus();
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
};
|
|
299
|
-
}, [currentOperator]);
|
|
300
|
-
return /*#__PURE__*/_jsxs(GridFilterFormRoot, _extends({
|
|
301
|
-
ref: ref,
|
|
302
|
-
className: classes.root,
|
|
303
|
-
"data-id": item.id,
|
|
304
|
-
ownerState: rootProps
|
|
305
|
-
}, other, {
|
|
306
|
-
children: [/*#__PURE__*/_jsx(FilterFormDeleteIcon, _extends({
|
|
307
|
-
variant: "standard",
|
|
308
|
-
as: rootProps.slots.baseFormControl
|
|
309
|
-
}, baseFormControlProps, deleteIconProps, {
|
|
310
|
-
className: clsx(classes.deleteIcon, baseFormControlProps.className, deleteIconProps.className),
|
|
311
|
-
ownerState: rootProps,
|
|
312
|
-
children: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
|
|
313
|
-
"aria-label": apiRef.current.getLocaleText('filterPanelDeleteIconLabel'),
|
|
314
|
-
title: apiRef.current.getLocaleText('filterPanelDeleteIconLabel'),
|
|
315
|
-
onClick: handleDeleteFilter,
|
|
316
|
-
size: "small",
|
|
317
|
-
disabled: readOnly
|
|
318
|
-
}, (_rootProps$slotProps5 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps5.baseIconButton, {
|
|
319
|
-
children: /*#__PURE__*/_jsx(rootProps.slots.filterPanelDeleteIcon, {
|
|
320
|
-
fontSize: "small"
|
|
321
|
-
})
|
|
322
|
-
}))
|
|
323
|
-
})), /*#__PURE__*/_jsx(FilterFormLogicOperatorInput, _extends({
|
|
324
|
-
variant: "standard",
|
|
325
|
-
as: rootProps.slots.baseFormControl
|
|
326
|
-
}, baseFormControlProps, logicOperatorInputProps, {
|
|
327
|
-
sx: _extends({
|
|
328
|
-
display: hasLogicOperatorColumn ? 'flex' : 'none',
|
|
329
|
-
visibility: showMultiFilterOperators ? 'visible' : 'hidden'
|
|
330
|
-
}, baseFormControlProps.sx || {}, logicOperatorInputProps.sx || {}),
|
|
331
|
-
className: clsx(classes.logicOperatorInput, baseFormControlProps.className, logicOperatorInputProps.className),
|
|
332
|
-
ownerState: rootProps,
|
|
333
|
-
children: /*#__PURE__*/_jsx(rootProps.slots.baseSelect, _extends({
|
|
334
|
-
inputProps: {
|
|
335
|
-
'aria-label': apiRef.current.getLocaleText('filterPanelLogicOperator')
|
|
336
|
-
},
|
|
337
|
-
value: multiFilterOperator != null ? multiFilterOperator : '',
|
|
338
|
-
onChange: changeLogicOperator,
|
|
339
|
-
disabled: !!disableMultiFilterOperator || logicOperators.length === 1,
|
|
340
|
-
native: isBaseSelectNative
|
|
341
|
-
}, (_rootProps$slotProps6 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps6.baseSelect, {
|
|
342
|
-
children: logicOperators.map(function (logicOperator) {
|
|
343
|
-
return /*#__PURE__*/_createElement(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
|
|
344
|
-
native: isBaseSelectNative,
|
|
345
|
-
key: logicOperator.toString(),
|
|
346
|
-
value: logicOperator.toString()
|
|
347
|
-
}), apiRef.current.getLocaleText(getLogicOperatorLocaleKey(logicOperator)));
|
|
348
|
-
})
|
|
349
|
-
}))
|
|
350
|
-
})), /*#__PURE__*/_jsxs(FilterFormColumnInput, _extends({
|
|
351
|
-
variant: "standard",
|
|
352
|
-
as: rootProps.slots.baseFormControl
|
|
353
|
-
}, baseFormControlProps, columnInputProps, {
|
|
354
|
-
className: clsx(classes.columnInput, baseFormControlProps.className, columnInputProps.className),
|
|
355
|
-
ownerState: rootProps,
|
|
356
|
-
children: [/*#__PURE__*/_jsx(rootProps.slots.baseInputLabel, _extends({}, baseInputLabelProps, {
|
|
357
|
-
htmlFor: columnSelectId,
|
|
358
|
-
id: columnSelectLabelId,
|
|
359
|
-
children: apiRef.current.getLocaleText('filterPanelColumns')
|
|
360
|
-
})), /*#__PURE__*/_jsx(rootProps.slots.baseSelect, _extends({
|
|
361
|
-
labelId: columnSelectLabelId,
|
|
362
|
-
id: columnSelectId,
|
|
363
|
-
label: apiRef.current.getLocaleText('filterPanelColumns'),
|
|
364
|
-
value: selectedField != null ? selectedField : '',
|
|
365
|
-
onChange: changeColumn,
|
|
366
|
-
native: isBaseSelectNative,
|
|
367
|
-
disabled: readOnly
|
|
368
|
-
}, (_rootProps$slotProps7 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps7.baseSelect, {
|
|
369
|
-
children: sortedFilteredColumns.map(function (col) {
|
|
370
|
-
return /*#__PURE__*/_createElement(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
|
|
371
|
-
native: isBaseSelectNative,
|
|
372
|
-
key: col.field,
|
|
373
|
-
value: col.field
|
|
374
|
-
}), getColumnLabel(col));
|
|
375
|
-
})
|
|
376
|
-
}))]
|
|
377
|
-
})), /*#__PURE__*/_jsxs(FilterFormOperatorInput, _extends({
|
|
378
|
-
variant: "standard",
|
|
379
|
-
as: rootProps.slots.baseFormControl
|
|
380
|
-
}, baseFormControlProps, operatorInputProps, {
|
|
381
|
-
className: clsx(classes.operatorInput, baseFormControlProps.className, operatorInputProps.className),
|
|
382
|
-
ownerState: rootProps,
|
|
383
|
-
children: [/*#__PURE__*/_jsx(rootProps.slots.baseInputLabel, _extends({}, baseInputLabelProps, {
|
|
384
|
-
htmlFor: operatorSelectId,
|
|
385
|
-
id: operatorSelectLabelId,
|
|
386
|
-
children: apiRef.current.getLocaleText('filterPanelOperator')
|
|
387
|
-
})), /*#__PURE__*/_jsx(rootProps.slots.baseSelect, _extends({
|
|
388
|
-
labelId: operatorSelectLabelId,
|
|
389
|
-
label: apiRef.current.getLocaleText('filterPanelOperator'),
|
|
390
|
-
id: operatorSelectId,
|
|
391
|
-
value: item.operator,
|
|
392
|
-
onChange: changeOperator,
|
|
393
|
-
native: isBaseSelectNative,
|
|
394
|
-
inputRef: filterSelectorRef,
|
|
395
|
-
disabled: readOnly
|
|
396
|
-
}, (_rootProps$slotProps8 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps8.baseSelect, {
|
|
397
|
-
children: currentColumn == null || (_currentColumn$filter2 = currentColumn.filterOperators) == null ? void 0 : _currentColumn$filter2.map(function (operator) {
|
|
398
|
-
return /*#__PURE__*/_createElement(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
|
|
399
|
-
native: isBaseSelectNative,
|
|
400
|
-
key: operator.value,
|
|
401
|
-
value: operator.value
|
|
402
|
-
}), operator.label || apiRef.current.getLocaleText("filterOperator".concat(capitalize(operator.value))));
|
|
403
|
-
})
|
|
404
|
-
}))]
|
|
405
|
-
})), /*#__PURE__*/_jsx(FilterFormValueInput, _extends({
|
|
406
|
-
variant: "standard",
|
|
407
|
-
as: rootProps.slots.baseFormControl
|
|
408
|
-
}, baseFormControlProps, valueInputPropsOther, {
|
|
409
|
-
className: clsx(classes.valueInput, baseFormControlProps.className, valueInputPropsOther.className),
|
|
410
|
-
ownerState: rootProps,
|
|
411
|
-
children: currentOperator != null && currentOperator.InputComponent ? /*#__PURE__*/_jsx(currentOperator.InputComponent, _extends({
|
|
412
|
-
apiRef: apiRef,
|
|
413
|
-
item: item,
|
|
414
|
-
applyValue: applyFilterChanges,
|
|
415
|
-
focusElementRef: valueRef,
|
|
416
|
-
disabled: readOnly
|
|
417
|
-
}, currentOperator.InputComponentProps, InputComponentProps), item.field) : null
|
|
418
|
-
}))]
|
|
419
|
-
}));
|
|
420
|
-
});
|
|
421
|
-
process.env.NODE_ENV !== "production" ? GridFilterForm.propTypes = {
|
|
422
|
-
// ----------------------------- Warning --------------------------------
|
|
423
|
-
// | These PropTypes are generated from the TypeScript type definitions |
|
|
424
|
-
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
425
|
-
// ----------------------------------------------------------------------
|
|
426
|
-
/**
|
|
427
|
-
* Callback called when the operator, column field or value is changed.
|
|
428
|
-
* @param {GridFilterItem} item The updated [[GridFilterItem]].
|
|
429
|
-
*/
|
|
430
|
-
applyFilterChanges: PropTypes.func.isRequired,
|
|
431
|
-
/**
|
|
432
|
-
* Callback called when the logic operator is changed.
|
|
433
|
-
* @param {GridLogicOperator} operator The new logic operator.
|
|
434
|
-
*/
|
|
435
|
-
applyMultiFilterOperatorChanges: PropTypes.func.isRequired,
|
|
436
|
-
/**
|
|
437
|
-
* @ignore - do not document.
|
|
438
|
-
*/
|
|
439
|
-
children: PropTypes.node,
|
|
440
|
-
/**
|
|
441
|
-
* Props passed to the column input component.
|
|
442
|
-
* @default {}
|
|
443
|
-
*/
|
|
444
|
-
columnInputProps: PropTypes.any,
|
|
445
|
-
/**
|
|
446
|
-
* Changes how the options in the columns selector should be ordered.
|
|
447
|
-
* If not specified, the order is derived from the `columns` prop.
|
|
448
|
-
*/
|
|
449
|
-
columnsSort: PropTypes.oneOf(['asc', 'desc']),
|
|
450
|
-
/**
|
|
451
|
-
* Callback called when the delete button is clicked.
|
|
452
|
-
* @param {GridFilterItem} item The deleted [[GridFilterItem]].
|
|
453
|
-
*/
|
|
454
|
-
deleteFilter: PropTypes.func.isRequired,
|
|
455
|
-
/**
|
|
456
|
-
* Props passed to the delete icon.
|
|
457
|
-
* @default {}
|
|
458
|
-
*/
|
|
459
|
-
deleteIconProps: PropTypes.any,
|
|
460
|
-
/**
|
|
461
|
-
* If `true`, disables the logic operator field but still renders it.
|
|
462
|
-
*/
|
|
463
|
-
disableMultiFilterOperator: PropTypes.bool,
|
|
464
|
-
/**
|
|
465
|
-
* Allows to filter the columns displayed in the filter form.
|
|
466
|
-
* @param {FilterColumnsArgs} args The columns of the grid and name of field.
|
|
467
|
-
* @returns {GridColDef['field'][]} The filtered fields array.
|
|
468
|
-
*/
|
|
469
|
-
filterColumns: PropTypes.func,
|
|
470
|
-
/**
|
|
471
|
-
* A ref allowing to set imperative focus.
|
|
472
|
-
* It can be passed to the el
|
|
473
|
-
*/
|
|
474
|
-
focusElementRef: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.func, PropTypes.object]),
|
|
475
|
-
/**
|
|
476
|
-
* If `true`, the logic operator field is rendered.
|
|
477
|
-
* The field will be invisible if `showMultiFilterOperators` is also `true`.
|
|
478
|
-
*/
|
|
479
|
-
hasMultipleFilters: PropTypes.bool.isRequired,
|
|
480
|
-
/**
|
|
481
|
-
* The [[GridFilterItem]] representing this form.
|
|
482
|
-
*/
|
|
483
|
-
item: PropTypes.shape({
|
|
484
|
-
field: PropTypes.string.isRequired,
|
|
485
|
-
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
486
|
-
operator: PropTypes.string.isRequired,
|
|
487
|
-
value: PropTypes.any
|
|
488
|
-
}).isRequired,
|
|
489
|
-
/**
|
|
490
|
-
* Props passed to the logic operator input component.
|
|
491
|
-
* @default {}
|
|
492
|
-
*/
|
|
493
|
-
logicOperatorInputProps: PropTypes.any,
|
|
494
|
-
/**
|
|
495
|
-
* Sets the available logic operators.
|
|
496
|
-
* @default [GridLogicOperator.And, GridLogicOperator.Or]
|
|
497
|
-
*/
|
|
498
|
-
logicOperators: PropTypes.arrayOf(PropTypes.oneOf(['and', 'or']).isRequired),
|
|
499
|
-
/**
|
|
500
|
-
* Props passed to the operator input component.
|
|
501
|
-
* @default {}
|
|
502
|
-
*/
|
|
503
|
-
operatorInputProps: PropTypes.any,
|
|
504
|
-
/**
|
|
505
|
-
* `true` if the filter is disabled/read only.
|
|
506
|
-
* i.e. `colDef.fiterable = false` but passed in `filterModel`
|
|
507
|
-
* @default false
|
|
508
|
-
*/
|
|
509
|
-
readOnly: PropTypes.bool,
|
|
510
|
-
/**
|
|
511
|
-
* If `true`, the logic operator field is visible.
|
|
512
|
-
*/
|
|
513
|
-
showMultiFilterOperators: PropTypes.bool,
|
|
514
|
-
/**
|
|
515
|
-
* Props passed to the value input component.
|
|
516
|
-
* @default {}
|
|
517
|
-
*/
|
|
518
|
-
valueInputProps: PropTypes.any
|
|
519
|
-
} : void 0;
|
|
520
|
-
|
|
521
|
-
/**
|
|
522
|
-
* Demos:
|
|
523
|
-
* - [Filtering - overview](https://mui.com/x/react-data-grid/filtering/)
|
|
524
|
-
*
|
|
525
|
-
* API:
|
|
526
|
-
* - [GridFilterForm API](https://mui.com/x/api/data-grid/grid-filter-form/)
|
|
527
|
-
*/
|
|
528
|
-
export { GridFilterForm };
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
|
-
var _excluded = ["item", "applyValue", "apiRef", "focusElementRef", "isFilterActive", "clearButton", "tabIndex", "label", "variant", "InputLabelProps"];
|
|
6
|
-
import * as React from 'react';
|
|
7
|
-
import PropTypes from 'prop-types';
|
|
8
|
-
import { refType, unstable_useId as useId } from '@mui/utils';
|
|
9
|
-
import { styled } from '@mui/material/styles';
|
|
10
|
-
import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
var BooleanOperatorContainer = styled('div')(_defineProperty({
|
|
14
|
-
display: 'flex',
|
|
15
|
-
alignItems: 'center',
|
|
16
|
-
width: '100%'
|
|
17
|
-
}, "& button", {
|
|
18
|
-
margin: 'auto 0px 5px 5px'
|
|
19
|
-
}));
|
|
20
|
-
function GridFilterInputBoolean(props) {
|
|
21
|
-
var _rootProps$slotProps, _baseSelectProps$nati, _rootProps$slotProps2, _rootProps$slotProps3;
|
|
22
|
-
var item = props.item,
|
|
23
|
-
applyValue = props.applyValue,
|
|
24
|
-
apiRef = props.apiRef,
|
|
25
|
-
focusElementRef = props.focusElementRef,
|
|
26
|
-
isFilterActive = props.isFilterActive,
|
|
27
|
-
clearButton = props.clearButton,
|
|
28
|
-
tabIndex = props.tabIndex,
|
|
29
|
-
labelProp = props.label,
|
|
30
|
-
_props$variant = props.variant,
|
|
31
|
-
variant = _props$variant === void 0 ? 'standard' : _props$variant,
|
|
32
|
-
InputLabelProps = props.InputLabelProps,
|
|
33
|
-
others = _objectWithoutProperties(props, _excluded);
|
|
34
|
-
var _React$useState = React.useState(item.value || ''),
|
|
35
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
36
|
-
filterValueState = _React$useState2[0],
|
|
37
|
-
setFilterValueState = _React$useState2[1];
|
|
38
|
-
var rootProps = useGridRootProps();
|
|
39
|
-
var labelId = useId();
|
|
40
|
-
var selectId = useId();
|
|
41
|
-
var baseSelectProps = ((_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseSelect) || {};
|
|
42
|
-
var isSelectNative = (_baseSelectProps$nati = baseSelectProps.native) != null ? _baseSelectProps$nati : false;
|
|
43
|
-
var baseSelectOptionProps = ((_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseSelectOption) || {};
|
|
44
|
-
var onFilterChange = React.useCallback(function (event) {
|
|
45
|
-
var value = event.target.value;
|
|
46
|
-
setFilterValueState(value);
|
|
47
|
-
applyValue(_extends({}, item, {
|
|
48
|
-
value: value
|
|
49
|
-
}));
|
|
50
|
-
}, [applyValue, item]);
|
|
51
|
-
React.useEffect(function () {
|
|
52
|
-
setFilterValueState(item.value || '');
|
|
53
|
-
}, [item.value]);
|
|
54
|
-
var label = labelProp != null ? labelProp : apiRef.current.getLocaleText('filterPanelInputLabel');
|
|
55
|
-
return /*#__PURE__*/_jsxs(BooleanOperatorContainer, {
|
|
56
|
-
children: [/*#__PURE__*/_jsxs(rootProps.slots.baseFormControl, {
|
|
57
|
-
fullWidth: true,
|
|
58
|
-
children: [/*#__PURE__*/_jsx(rootProps.slots.baseInputLabel, _extends({}, (_rootProps$slotProps3 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps3.baseInputLabel, {
|
|
59
|
-
id: labelId,
|
|
60
|
-
shrink: true,
|
|
61
|
-
variant: variant,
|
|
62
|
-
children: label
|
|
63
|
-
})), /*#__PURE__*/_jsxs(rootProps.slots.baseSelect, _extends({
|
|
64
|
-
labelId: labelId,
|
|
65
|
-
id: selectId,
|
|
66
|
-
label: label,
|
|
67
|
-
value: filterValueState,
|
|
68
|
-
onChange: onFilterChange,
|
|
69
|
-
variant: variant,
|
|
70
|
-
notched: variant === 'outlined' ? true : undefined,
|
|
71
|
-
native: isSelectNative,
|
|
72
|
-
displayEmpty: true,
|
|
73
|
-
inputProps: {
|
|
74
|
-
ref: focusElementRef,
|
|
75
|
-
tabIndex: tabIndex
|
|
76
|
-
}
|
|
77
|
-
}, others /* FIXME: typing error */, baseSelectProps, {
|
|
78
|
-
children: [/*#__PURE__*/_jsx(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
|
|
79
|
-
native: isSelectNative,
|
|
80
|
-
value: "",
|
|
81
|
-
children: apiRef.current.getLocaleText('filterValueAny')
|
|
82
|
-
})), /*#__PURE__*/_jsx(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
|
|
83
|
-
native: isSelectNative,
|
|
84
|
-
value: "true",
|
|
85
|
-
children: apiRef.current.getLocaleText('filterValueTrue')
|
|
86
|
-
})), /*#__PURE__*/_jsx(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
|
|
87
|
-
native: isSelectNative,
|
|
88
|
-
value: "false",
|
|
89
|
-
children: apiRef.current.getLocaleText('filterValueFalse')
|
|
90
|
-
}))]
|
|
91
|
-
}))]
|
|
92
|
-
}), clearButton]
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
process.env.NODE_ENV !== "production" ? GridFilterInputBoolean.propTypes = {
|
|
96
|
-
// ----------------------------- Warning --------------------------------
|
|
97
|
-
// | These PropTypes are generated from the TypeScript type definitions |
|
|
98
|
-
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
99
|
-
// ----------------------------------------------------------------------
|
|
100
|
-
apiRef: PropTypes.shape({
|
|
101
|
-
current: PropTypes.object.isRequired
|
|
102
|
-
}).isRequired,
|
|
103
|
-
applyValue: PropTypes.func.isRequired,
|
|
104
|
-
clearButton: PropTypes.node,
|
|
105
|
-
focusElementRef: refType,
|
|
106
|
-
/**
|
|
107
|
-
* It is `true` if the filter either has a value or an operator with no value
|
|
108
|
-
* required is selected (e.g. `isEmpty`)
|
|
109
|
-
*/
|
|
110
|
-
isFilterActive: PropTypes.bool,
|
|
111
|
-
item: PropTypes.shape({
|
|
112
|
-
field: PropTypes.string.isRequired,
|
|
113
|
-
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
114
|
-
operator: PropTypes.string.isRequired,
|
|
115
|
-
value: PropTypes.any
|
|
116
|
-
}).isRequired
|
|
117
|
-
} : void 0;
|
|
118
|
-
export { GridFilterInputBoolean };
|