Skip to content

Commit

Permalink
move useGridApiInitialization out of useGridInitialization
Browse files Browse the repository at this point in the history
  • Loading branch information
cherniavskii committed Feb 18, 2025
1 parent 66c6cee commit 13b15d9
Show file tree
Hide file tree
Showing 8 changed files with 34 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
propValidatorsDataGridPro,
PropValidator,
validateProps,
useGridApiInitialization,
} from '@mui/x-data-grid-pro/internals';
import { useMaterialCSSVariables } from '@mui/x-data-grid/material';
import { forwardRef } from '@mui/x-internals/forwardRef';
Expand All @@ -22,6 +23,7 @@ import { GridSidebar } from '../components/sidebar/GridSidebar';
import { GridSidebarColumnPanel } from '../components/sidebar/columnPanel/GridSidebarColumnPanel';
import { useGridAriaAttributes } from '../hooks/utils/useGridAriaAttributes';
import { useGridRowAriaAttributes } from '../hooks/features/rows/useGridRowAriaAttributes';
import type { GridApiPremium, GridPrivateApiPremium } from '../models/gridApiPremium';

export type { GridPremiumSlotsComponent as GridSlots } from '../models';

Expand All @@ -46,7 +48,11 @@ const DataGridPremiumRaw = forwardRef(function DataGridPremium<R extends GridVal
ref: React.Ref<HTMLDivElement>,
) {
const props = useDataGridPremiumProps(inProps);
const privateApiRef = useDataGridPremiumComponent(props.apiRef, props);
const privateApiRef = useGridApiInitialization<GridPrivateApiPremium, GridApiPremium>(
props.apiRef,
props,
);
useDataGridPremiumComponent(privateApiRef, props);
useLicenseVerifier('x-data-grid-premium', releaseInfo);

const { pivotParams } = props;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ import {
listViewStateInitializer,
propsStateInitializer,
} from '@mui/x-data-grid-pro/internals';
import { GridApiPremium, GridPrivateApiPremium } from '../models/gridApiPremium';
import { GridPrivateApiPremium } from '../models/gridApiPremium';
import { DataGridPremiumProcessedProps } from '../models/dataGridPremiumProps';
import { useGridDataSourcePremium as useGridDataSource } from '../hooks/features/dataSource/useGridDataSourcePremium';
// Premium-only features
Expand All @@ -97,10 +97,10 @@ import {
import { useGridClipboardImport } from '../hooks/features/clipboard/useGridClipboardImport';

export const useDataGridPremiumComponent = (
inputApiRef: RefObject<GridApiPremium | null> | undefined,
apiRef: RefObject<GridPrivateApiPremium>,
props: DataGridPremiumProcessedProps,
) => {
const apiRef = useGridInitialization<GridPrivateApiPremium, GridApiPremium>(inputApiRef, props);
useGridInitialization<GridPrivateApiPremium>(apiRef, props);

/**
* Register all pre-processors called during state initialization here.
Expand Down Expand Up @@ -195,6 +195,4 @@ export const useDataGridPremiumComponent = (
useGridDataSource(apiRef, props);
useGridVirtualization(apiRef, props);
useGridListView(apiRef, props);

return apiRef;
};
9 changes: 7 additions & 2 deletions packages/x-data-grid-pro/src/DataGridPro/DataGridPro.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as React from 'react';
import PropTypes from 'prop-types';
import { useLicenseVerifier, Watermark } from '@mui/x-license';
import { GridRoot, GridContextProvider, GridValidRowModel } from '@mui/x-data-grid';
import { validateProps } from '@mui/x-data-grid/internals';
import { useGridApiInitialization, validateProps } from '@mui/x-data-grid/internals';
import { useMaterialCSSVariables } from '@mui/x-data-grid/material';
import { forwardRef } from '@mui/x-internals/forwardRef';
import { useDataGridProComponent } from './useDataGridProComponent';
Expand All @@ -13,6 +13,7 @@ import { getReleaseInfo } from '../utils/releaseInfo';
import { propValidatorsDataGridPro } from '../internals/propValidation';
import { useGridAriaAttributes } from '../hooks/utils/useGridAriaAttributes';
import { useGridRowAriaAttributes } from '../hooks/features/rows/useGridRowAriaAttributes';
import type { GridApiPro, GridPrivateApiPro } from '../models/gridApiPro';

export type { GridProSlotsComponent as GridSlots } from '../models';

Expand All @@ -31,7 +32,11 @@ const DataGridProRaw = forwardRef(function DataGridPro<R extends GridValidRowMod
ref: React.Ref<HTMLDivElement>,
) {
const props = useDataGridProProps(inProps);
const privateApiRef = useDataGridProComponent(props.apiRef, props);
const privateApiRef = useGridApiInitialization<GridPrivateApiPro, GridApiPro>(
props.apiRef,
props,
);
useDataGridProComponent(privateApiRef, props);
useLicenseVerifier('x-data-grid-pro', releaseInfo);

if (process.env.NODE_ENV !== 'production') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ import {
listViewStateInitializer,
propsStateInitializer,
} from '@mui/x-data-grid/internals';
import { GridApiPro, GridPrivateApiPro } from '../models/gridApiPro';
import { GridPrivateApiPro } from '../models/gridApiPro';
import { DataGridProProcessedProps } from '../models/dataGridProProps';
// Pro-only features
import { useGridInfiniteLoader } from '../hooks/features/infiniteLoader/useGridInfiniteLoader';
Expand Down Expand Up @@ -90,10 +90,10 @@ import {
import { useGridDataSourceLazyLoader } from '../hooks/features/serverSideLazyLoader/useGridDataSourceLazyLoader';

export const useDataGridProComponent = (
inputApiRef: RefObject<GridApiPro | null> | undefined,
apiRef: RefObject<GridPrivateApiPro>,
props: DataGridProProcessedProps,
) => {
const apiRef = useGridInitialization<GridPrivateApiPro, GridApiPro>(inputApiRef, props);
useGridInitialization<GridPrivateApiPro>(apiRef, props);

/**
* Register all pre-processors called during state initialization here.
Expand Down Expand Up @@ -177,6 +177,4 @@ export const useDataGridProComponent = (
useGridVirtualization(apiRef, props);
useGridDataSource(apiRef, props);
useGridListView(apiRef, props);

return apiRef;
};
8 changes: 7 additions & 1 deletion packages/x-data-grid/src/DataGrid/DataGrid.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import { useDataGridProps } from './useDataGridProps';
import { GridValidRowModel } from '../models/gridRows';
import { propValidatorsDataGrid, validateProps } from '../internals/utils/propValidation';
import { useMaterialCSSVariables } from '../material/variables';
import type { GridApiCommunity, GridPrivateApiCommunity } from '../models/api/gridApiCommunity';
import { useGridApiInitialization } from '../hooks/core/useGridApiInitialization';

export type { GridSlotsComponent as GridSlots } from '../models';

Expand All @@ -28,7 +30,11 @@ const DataGridRaw = forwardRef(function DataGrid<R extends GridValidRowModel>(
ref: React.Ref<HTMLDivElement>,
) {
const props = useDataGridProps(inProps);
const privateApiRef = useDataGridComponent(props.apiRef, props);
const privateApiRef = useGridApiInitialization<GridPrivateApiCommunity, GridApiCommunity>(
props.apiRef,
props,
);
useDataGridComponent(privateApiRef, props);

if (process.env.NODE_ENV !== 'production') {
validateProps(props, propValidatorsDataGrid);
Expand Down
11 changes: 3 additions & 8 deletions packages/x-data-grid/src/DataGrid/useDataGridComponent.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { RefObject } from '@mui/x-internals/types';
import { DataGridProcessedProps } from '../models/props/DataGridProps';
import { GridApiCommunity, GridPrivateApiCommunity } from '../models/api/gridApiCommunity';
import { GridPrivateApiCommunity } from '../models/api/gridApiCommunity';
import { useGridInitialization } from '../hooks/core/useGridInitialization';
import { useGridInitializeState } from '../hooks/utils/useGridInitializeState';
import { useGridClipboard } from '../hooks/features/clipboard/useGridClipboard';
Expand Down Expand Up @@ -66,13 +66,10 @@ import { propsStateInitializer } from '../hooks/core/useGridProps';
import { useGridDataSource } from '../hooks/features/dataSource/useGridDataSource';

export const useDataGridComponent = (
inputApiRef: RefObject<GridApiCommunity | null> | undefined,
apiRef: RefObject<GridPrivateApiCommunity>,
props: DataGridProcessedProps,
) => {
const apiRef = useGridInitialization<GridPrivateApiCommunity, GridApiCommunity>(
inputApiRef,
props,
);
useGridInitialization<GridPrivateApiCommunity>(apiRef, props);

/**
* Register all pre-processors called during state initialization here.
Expand Down Expand Up @@ -131,6 +128,4 @@ export const useDataGridComponent = (
useGridVirtualization(apiRef, props);
useGridListView(apiRef, props);
useGridDataSource(apiRef, props);

return apiRef;
};
14 changes: 3 additions & 11 deletions packages/x-data-grid/src/hooks/core/useGridInitialization.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import { RefObject } from '@mui/x-internals/types';
import type { GridApiCommon, GridPrivateApiCommon } from '../../models/api/gridApiCommon';
import type { GridPrivateApiCommon } from '../../models/api/gridApiCommon';
import { DataGridProcessedProps } from '../../models/props/DataGridProps';
import { useGridRefs } from './useGridRefs';
import { useGridIsRtl } from './useGridIsRtl';
import { useGridLoggerFactory } from './useGridLoggerFactory';
import { useGridApiInitialization } from './useGridApiInitialization';
import { useGridLocaleText } from './useGridLocaleText';
import { useGridPipeProcessing } from './pipeProcessing';
import { useGridStrategyProcessing } from './strategyProcessing';
Expand All @@ -14,15 +13,10 @@ import { useGridProps } from './useGridProps';
/**
* Initialize the technical pieces of the DataGrid (logger, state, ...) that any DataGrid implementation needs
*/
export const useGridInitialization = <
PrivateApi extends GridPrivateApiCommon,
Api extends GridApiCommon,
>(
inputApiRef: RefObject<Api | null> | undefined,
export const useGridInitialization = <PrivateApi extends GridPrivateApiCommon>(
privateApiRef: RefObject<PrivateApi>,
props: DataGridProcessedProps,
) => {
const privateApiRef = useGridApiInitialization<PrivateApi, Api>(inputApiRef, props);

useGridRefs(privateApiRef);
useGridProps(privateApiRef, props);
useGridIsRtl(privateApiRef);
Expand All @@ -33,6 +27,4 @@ export const useGridInitialization = <
useGridLocaleText(privateApiRef, props);

privateApiRef.current.register('private', { rootProps: props });

return privateApiRef;
};
2 changes: 1 addition & 1 deletion packages/x-data-grid/src/internals/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export type {
GridStrategyProcessorName,
} from '../hooks/core/strategyProcessing';
export { useGridInitialization } from '../hooks/core/useGridInitialization';
export { unwrapPrivateAPI } from '../hooks/core/useGridApiInitialization';
export { unwrapPrivateAPI, useGridApiInitialization } from '../hooks/core/useGridApiInitialization';

export { useGridClipboard } from '../hooks/features/clipboard/useGridClipboard';
export * from '../hooks/features/columnHeaders/useGridColumnHeaders';
Expand Down

0 comments on commit 13b15d9

Please sign in to comment.