@mui/x-data-grid
Version:
The Community plan edition of the MUI X Data Grid components.
44 lines (41 loc) • 2.5 kB
JavaScript
;
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;