@mui/x-data-grid-premium
Version:
The Premium plan edition of the MUI X Data Grid Components.
164 lines (159 loc) • 11 kB
JavaScript
;
'use client';
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useDataGridPremiumComponent = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
var _internals = require("@mui/x-data-grid-pro/internals");
var _xDataGridPro = require("@mui/x-data-grid-pro");
var _useGridDataSourcePremium = require("../hooks/features/dataSource/useGridDataSourcePremium");
var _useGridAggregation = require("../hooks/features/aggregation/useGridAggregation");
var _useGridAggregationPreProcessors = require("../hooks/features/aggregation/useGridAggregationPreProcessors");
var _useGridRowGrouping = require("../hooks/features/rowGrouping/useGridRowGrouping");
var _useGridRowGroupingPreProcessors = require("../hooks/features/rowGrouping/useGridRowGroupingPreProcessors");
var _useGridDataSourceRowGroupingPreProcessors = require("../hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors");
var _useGridExcelExport = require("../hooks/features/export/useGridExcelExport");
var _useGridCellSelection = require("../hooks/features/cellSelection/useGridCellSelection");
var _useGridClipboardImport = require("../hooks/features/clipboard/useGridClipboardImport");
var _useGridPivoting = require("../hooks/features/pivoting/useGridPivoting");
var _gridPivotingSelectors = require("../hooks/features/pivoting/gridPivotingSelectors");
var _useGridAiAssistant = require("../hooks/features/aiAssistant/useGridAiAssistant");
var _useGridSidebar = require("../hooks/features/sidebar/useGridSidebar");
var _useGridChartsIntegration = require("../hooks/features/chartsIntegration/useGridChartsIntegration");
var _useGridHistory = require("../hooks/features/history/useGridHistory");
// Premium-only features
const useDataGridPremiumComponent = (apiRef, inProps, configuration) => {
const pivotPropsOverrides = (0, _xDataGridPro.useGridSelector)(apiRef, _gridPivotingSelectors.gridPivotPropsOverridesSelector);
const props = React.useMemo(() => {
if (pivotPropsOverrides) {
return (0, _extends2.default)({}, inProps, pivotPropsOverrides, {
initialState: (0, _extends2.default)({}, inProps.initialState, {
columns: undefined
})
});
}
return inProps;
}, [inProps, pivotPropsOverrides]);
(0, _internals.useGridInitialization)(apiRef, props);
const key = pivotPropsOverrides ? 'pivoting' : undefined;
/**
* Register all pre-processors called during state initialization here.
* Some pre-processors are changing the same part of the state (like the order of the columns).
* Order them in descending order of priority.
* For example, left pinned columns should always render first from the left, so the `hydrateColumns` pre-processor from `useGridColumnPinningPreProcessors` should be called last (after all other `hydrateColumns` pre-processors).
* Similarly, the `hydrateColumns` pre-processor from `useGridRowSelectionPreProcessors` should be called after `useGridRowGroupingPreProcessors` because the selection checkboxes should appear before the grouping columns.
* Desired autogenerated columns order is:
* left pinned columns -> row reordering column -> checkbox column -> tree data / row grouping column -> master detail column -> rest of the columns
*/
(0, _internals.useGridDetailPanelPreProcessors)(apiRef, props);
(0, _useGridRowGroupingPreProcessors.useGridRowGroupingPreProcessors)(apiRef, props);
(0, _useGridDataSourceRowGroupingPreProcessors.useGridDataSourceRowGroupingPreProcessors)(apiRef, props);
(0, _internals.useGridTreeDataPreProcessors)(apiRef, props);
(0, _internals.useGridDataSourceTreeDataPreProcessors)(apiRef, props);
(0, _internals.useGridRowSelectionPreProcessors)(apiRef, props);
(0, _internals.useGridLazyLoaderPreProcessors)(apiRef, props);
(0, _internals.useGridRowPinningPreProcessors)(apiRef);
(0, _useGridAggregationPreProcessors.useGridAggregationPreProcessors)(apiRef, props);
(0, _internals.useGridRowReorderPreProcessors)(apiRef, props);
(0, _internals.useGridColumnPinningPreProcessors)(apiRef, props);
(0, _internals.useGridRowsPreProcessors)(apiRef);
/**
* Register all state initializers here.
*/
(0, _internals.useGridInitializeState)(_internals.propsStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.headerFilteringStateInitializer, apiRef, props, key);
(0, _internals.useGridInitializeState)(_useGridRowGrouping.rowGroupingStateInitializer, apiRef, props, key);
(0, _internals.useGridInitializeState)(_useGridAggregation.aggregationStateInitializer, apiRef, props, key);
(0, _internals.useGridInitializeState)(_internals.rowSelectionStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.rowReorderStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_useGridCellSelection.cellSelectionStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.detailPanelStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.columnPinningStateInitializer, apiRef, props, key);
(0, _internals.useGridInitializeState)(_internals.columnsStateInitializer, apiRef, props, key);
(0, _internals.useGridInitializeState)(_useGridSidebar.sidebarStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_useGridPivoting.pivotingStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.rowPinningStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.rowsStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.paginationStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.editingStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.focusStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.sortingStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.preferencePanelStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.filterStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.rowSpanningStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.densityStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.columnReorderStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.columnResizeStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.columnMenuStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.columnGroupsStateInitializer, apiRef, props, key);
(0, _internals.useGridInitializeState)(_internals.virtualizationStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.dataSourceStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.dimensionsStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.rowsMetaStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_internals.listViewStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_useGridAiAssistant.aiAssistantStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_useGridChartsIntegration.chartsIntegrationStateInitializer, apiRef, props);
(0, _internals.useGridInitializeState)(_useGridHistory.historyStateInitializer, apiRef, props);
(0, _useGridSidebar.useGridSidebar)(apiRef, props);
(0, _useGridPivoting.useGridPivoting)(apiRef, props, inProps.columns, inProps.rows);
(0, _useGridRowGrouping.useGridRowGrouping)(apiRef, props);
(0, _internals.useGridHeaderFiltering)(apiRef, props);
(0, _internals.useGridTreeData)(apiRef, props);
(0, _useGridAggregation.useGridAggregation)(apiRef, props);
(0, _internals.useGridKeyboardNavigation)(apiRef, props);
(0, _internals.useGridRowSelection)(apiRef, props);
(0, _useGridCellSelection.useGridCellSelection)(apiRef, props);
(0, _internals.useGridColumnPinning)(apiRef, props);
(0, _internals.useGridRowPinning)(apiRef, props);
(0, _internals.useGridColumns)(apiRef, props);
(0, _internals.useGridRows)(apiRef, props, configuration);
(0, _internals.useGridRowSpanning)(apiRef, props);
(0, _internals.useGridParamsApi)(apiRef, props, configuration);
(0, _internals.useGridDetailPanel)(apiRef, props);
(0, _internals.useGridColumnSpanning)(apiRef);
(0, _internals.useGridColumnGrouping)(apiRef, props);
(0, _useGridClipboardImport.useGridClipboardImport)(apiRef, props);
(0, _internals.useGridEditing)(apiRef, props, configuration);
(0, _internals.useGridFocus)(apiRef, props);
(0, _internals.useGridPreferencesPanel)(apiRef, props);
(0, _internals.useGridFilter)(apiRef, props, configuration);
(0, _internals.useGridSorting)(apiRef, props);
(0, _internals.useGridDensity)(apiRef, props);
(0, _internals.useGridColumnReorder)(apiRef, props);
(0, _internals.useGridColumnResize)(apiRef, props);
(0, _internals.useGridPagination)(apiRef, props);
(0, _internals.useGridRowReorder)(apiRef, props);
(0, _internals.useGridScroll)(apiRef, props);
(0, _internals.useGridInfiniteLoader)(apiRef, props);
(0, _internals.useGridLazyLoader)(apiRef, props);
(0, _internals.useGridDataSourceLazyLoader)(apiRef, props);
(0, _internals.useGridInfiniteLoadingIntersection)(apiRef, props);
(0, _internals.useGridColumnMenu)(apiRef);
(0, _internals.useGridCsvExport)(apiRef, props);
(0, _internals.useGridPrintExport)(apiRef, props);
(0, _useGridExcelExport.useGridExcelExport)(apiRef, props);
(0, _internals.useGridClipboard)(apiRef, props);
(0, _internals.useGridDimensions)(apiRef, props);
(0, _internals.useGridEvents)(apiRef, props);
(0, _internals.useGridStatePersistence)(apiRef);
(0, _useGridDataSourcePremium.useGridDataSourcePremium)(apiRef, props);
(0, _internals.useGridVirtualization)(apiRef, props);
(0, _internals.useGridListView)(apiRef, props);
(0, _useGridAiAssistant.useGridAiAssistant)(apiRef, props);
(0, _useGridChartsIntegration.useGridChartsIntegration)(apiRef, props);
(0, _useGridHistory.useGridHistory)(apiRef, props);
(0, _useGridPivoting.useGridPivotingExportState)(apiRef);
// Should be the last thing to run, because all pre-processors should have been registered by now.
(0, _internals.useFirstRender)(() => {
apiRef.current.runAppliersForPendingProcessors();
});
React.useEffect(() => {
apiRef.current.runAppliersForPendingProcessors();
});
return props;
};
exports.useDataGridPremiumComponent = useDataGridPremiumComponent;