UNPKG

@mui/x-data-grid

Version:

The Community plan edition of the MUI X Data Grid components.

44 lines (41 loc) 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerGridColumnTypes = exports.isCommunityColumnType = exports.getRegisteredColumnTypeDef = exports.getGridColumnTypesRegistry = exports.DEFAULT_GRID_COL_TYPE_KEY = void 0; var _gridStringColDef = require("./gridStringColDef"); var _gridNumericColDef = require("./gridNumericColDef"); var _gridDateColDef = require("./gridDateColDef"); var _gridBooleanColDef = require("./gridBooleanColDef"); var _gridSingleSelectColDef = require("./gridSingleSelectColDef"); var _gridActionsColDef = require("./gridActionsColDef"); var _gridLongTextColDef = require("./gridLongTextColDef"); const DEFAULT_GRID_COL_TYPE_KEY = exports.DEFAULT_GRID_COL_TYPE_KEY = 'string'; // Mutable registry seeded with the community column types. Pro/Premium packages append // their own types at module load via `registerGridColumnTypes`, so a community-only bundle // never references them at runtime. const columnTypesRegistry = { string: _gridStringColDef.GRID_STRING_COL_DEF, number: _gridNumericColDef.GRID_NUMERIC_COL_DEF, date: _gridDateColDef.GRID_DATE_COL_DEF, dateTime: _gridDateColDef.GRID_DATETIME_COL_DEF, boolean: _gridBooleanColDef.GRID_BOOLEAN_COL_DEF, singleSelect: _gridSingleSelectColDef.GRID_SINGLE_SELECT_COL_DEF, [_gridActionsColDef.GRID_ACTIONS_COLUMN_TYPE]: _gridActionsColDef.GRID_ACTIONS_COL_DEF, custom: _gridStringColDef.GRID_STRING_COL_DEF, longText: _gridLongTextColDef.GRID_LONG_TEXT_COL_DEF }; // Captured before any `registerGridColumnTypes` call, so it reflects the community-native types // only. Used to keep Pro/Premium-registered types (e.g. `multiSelect`) from resolving in a // community `DataGrid` even when a Pro grid registered them globally in the same bundle. const COMMUNITY_COLUMN_TYPE_KEYS = new Set(Object.keys(columnTypesRegistry)); const isCommunityColumnType = type => type == null || COMMUNITY_COLUMN_TYPE_KEYS.has(type); exports.isCommunityColumnType = isCommunityColumnType; const registerGridColumnTypes = columnTypes => { Object.assign(columnTypesRegistry, columnTypes); }; exports.registerGridColumnTypes = registerGridColumnTypes; const getGridColumnTypesRegistry = () => columnTypesRegistry; exports.getGridColumnTypesRegistry = getGridColumnTypesRegistry; const getRegisteredColumnTypeDef = type => (type ? columnTypesRegistry[type] : undefined) ?? columnTypesRegistry[DEFAULT_GRID_COL_TYPE_KEY]; exports.getRegisteredColumnTypeDef = getRegisteredColumnTypeDef;