ag-grid-community
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
1,378 lines (1,359 loc) • 1.9 MB
JavaScript
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
target[prop] = source[prop];
}
return target;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __decorateClass = (decorators, target, key, kind) => {
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
for (var i = decorators.length - 1, decorator; i >= 0; i--)
if (decorator = decorators[i])
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
if (kind && result)
__defProp(target, key, result);
return result;
};
var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index);
// packages/ag-grid-community/src/main.ts
var main_exports = {};
__export(main_exports, {
ALWAYS_SYNC_GLOBAL_EVENTS: () => ALWAYS_SYNC_GLOBAL_EVENTS,
AbstractHeaderCellCtrl: () => AbstractHeaderCellCtrl,
AgAbstractField: () => AgAbstractField,
AgAbstractLabel: () => AgAbstractLabel,
AgAutocomplete: () => AgAutocomplete,
AgCheckbox: () => AgCheckbox,
AgDialog: () => AgDialog,
AgGroupComponent: () => AgGroupComponent,
AgInputDateField: () => AgInputDateField,
AgInputNumberField: () => AgInputNumberField,
AgInputRange: () => AgInputRange,
AgInputTextArea: () => AgInputTextArea,
AgInputTextField: () => AgInputTextField,
AgMenuItemComponent: () => AgMenuItemComponent,
AgMenuItemRenderer: () => AgMenuItemRenderer,
AgMenuList: () => AgMenuList,
AgMenuPanel: () => AgMenuPanel,
AgPanel: () => AgPanel,
AgPickerField: () => AgPickerField,
AgPromise: () => AgPromise,
AgPromiseStatus: () => AgPromiseStatus,
AgRadioButton: () => AgRadioButton,
AgRichSelect: () => AgRichSelect,
AgSelect: () => AgSelect,
AgSlider: () => AgSlider,
AgStackComponentsRegistry: () => AgStackComponentsRegistry,
AgToggleButton: () => AgToggleButton,
AlignedGridsService: () => AlignedGridsService,
AnimateShowChangeCellRenderer: () => AnimateShowChangeCellRenderer,
AnimateSlideCellRenderer: () => AnimateSlideCellRenderer,
AnimationFrameService: () => AnimationFrameService,
AutoScrollService: () => AutoScrollService,
AutoWidthCalculator: () => AutoWidthCalculator,
Autowired: () => Autowired,
BarColumnLabelPlacement: () => BarColumnLabelPlacement,
BaseComponentWrapper: () => BaseComponentWrapper,
BaseCreator: () => BaseCreator,
BaseGridSerializingSession: () => BaseGridSerializingSession,
Bean: () => Bean,
BeanStub: () => BeanStub,
Beans: () => Beans,
BodyDropPivotTarget: () => BodyDropPivotTarget,
BodyDropTarget: () => BodyDropTarget,
CellComp: () => CellComp,
CellCtrl: () => CellCtrl,
CellNavigationService: () => CellNavigationService,
CellPositionUtils: () => CellPositionUtils,
CellRangeType: () => CellRangeType,
ChangedPath: () => ChangedPath,
CheckboxCellEditor: () => CheckboxCellEditor,
CheckboxCellRenderer: () => CheckboxCellRenderer,
CheckboxSelectionComponent: () => CheckboxSelectionComponent,
ClientSideRowModelModule: () => ClientSideRowModelModule,
ClientSideRowModelSteps: () => ClientSideRowModelSteps,
ColDefUtil: () => ColDefUtil,
Column: () => Column,
ColumnApi: () => ColumnApi,
ColumnFactory: () => ColumnFactory,
ColumnGroup: () => ColumnGroup,
ColumnKeyCreator: () => ColumnKeyCreator,
ColumnModel: () => ColumnModel,
ColumnUtils: () => ColumnUtils,
Component: () => Component,
ComponentUtil: () => ComponentUtil,
Context: () => Context,
CssClassApplier: () => CssClassApplier,
CssClassManager: () => CssClassManager,
CsvCreator: () => CsvCreator,
CsvExportModule: () => CsvExportModule,
CtrlsService: () => CtrlsService,
DataTypeService: () => DataTypeService,
DateCellEditor: () => DateCellEditor,
DateFilter: () => DateFilter,
DateStringCellEditor: () => DateStringCellEditor,
DisplayedGroupCreator: () => DisplayedGroupCreator,
Downloader: () => Downloader,
DragAndDropService: () => DragAndDropService,
DragService: () => DragService,
DragSourceType: () => DragSourceType,
Environment: () => Environment,
EventService: () => EventService,
Events: () => Events,
ExcelFactoryMode: () => ExcelFactoryMode,
ExpansionService: () => ExpansionService,
ExpressionService: () => ExpressionService,
FilterManager: () => FilterManager,
FloatingFilterMapper: () => FloatingFilterMapper,
FocusService: () => FocusService,
GROUP_AUTO_COLUMN_ID: () => GROUP_AUTO_COLUMN_ID,
Grid: () => Grid,
GridApi: () => GridApi,
GridBodyComp: () => GridBodyComp,
GridBodyCtrl: () => GridBodyCtrl,
GridComp: () => GridComp,
GridCoreCreator: () => GridCoreCreator,
GridCtrl: () => GridCtrl,
GridHeaderComp: () => GridHeaderComp,
GridHeaderCtrl: () => GridHeaderCtrl,
GridOptionsService: () => GridOptionsService,
GridSerializer: () => GridSerializer,
GroupCellRenderer: () => GroupCellRenderer,
GroupCellRendererCtrl: () => GroupCellRendererCtrl,
GroupInstanceIdCreator: () => GroupInstanceIdCreator,
HeaderCellCtrl: () => HeaderCellCtrl,
HeaderFilterCellComp: () => HeaderFilterCellComp,
HeaderFilterCellCtrl: () => HeaderFilterCellCtrl,
HeaderGroupCellCtrl: () => HeaderGroupCellCtrl,
HeaderNavigationDirection: () => HeaderNavigationDirection,
HeaderNavigationService: () => HeaderNavigationService,
HeaderPositionUtils: () => HeaderPositionUtils,
HeaderRowComp: () => HeaderRowComp,
HeaderRowContainerComp: () => HeaderRowContainerComp,
HeaderRowContainerCtrl: () => HeaderRowContainerCtrl,
HeaderRowCtrl: () => HeaderRowCtrl,
HeaderRowType: () => HeaderRowType,
HorizontalDirection: () => HorizontalDirection,
HorizontalResizeService: () => HorizontalResizeService,
InfiniteRowModelModule: () => InfiniteRowModelModule,
KeyCode: () => KeyCode,
LargeTextCellEditor: () => LargeTextCellEditor,
LayoutCssClasses: () => LayoutCssClasses,
LocaleService: () => LocaleService,
Logger: () => Logger,
LoggerFactory: () => LoggerFactory,
ManagedFocusFeature: () => ManagedFocusFeature,
MenuService: () => MenuService,
ModuleNames: () => ModuleNames,
ModuleRegistry: () => ModuleRegistry,
MouseEventService: () => MouseEventService,
MoveColumnFeature: () => MoveColumnFeature,
NavigationService: () => NavigationService,
NumberCellEditor: () => NumberCellEditor,
NumberFilter: () => NumberFilter,
NumberSequence: () => NumberSequence,
Optional: () => Optional,
PaginationProxy: () => PaginationProxy,
PillDragComp: () => PillDragComp,
PillDropZonePanel: () => PillDropZonePanel,
PinnedRowModel: () => PinnedRowModel,
PopupComponent: () => PopupComponent,
PopupEditorWrapper: () => PopupEditorWrapper,
PopupService: () => PopupService,
PositionableFeature: () => PositionableFeature,
PostConstruct: () => PostConstruct,
PreConstruct: () => PreConstruct,
PreDestroy: () => PreDestroy,
PropertyKeys: () => PropertyKeys,
ProvidedColumnGroup: () => ProvidedColumnGroup,
ProvidedFilter: () => ProvidedFilter,
Qualifier: () => Qualifier,
QuerySelector: () => QuerySelector,
RefSelector: () => RefSelector,
ResizeObserverService: () => ResizeObserverService,
RowAnimationCssClasses: () => RowAnimationCssClasses,
RowContainerComp: () => RowContainerComp,
RowContainerCtrl: () => RowContainerCtrl,
RowContainerName: () => RowContainerName,
RowContainerType: () => RowContainerType,
RowCtrl: () => RowCtrl,
RowHighlightPosition: () => RowHighlightPosition,
RowNode: () => RowNode,
RowNodeBlock: () => RowNodeBlock,
RowNodeBlockLoader: () => RowNodeBlockLoader,
RowNodeSorter: () => RowNodeSorter,
RowPositionUtils: () => RowPositionUtils,
RowRenderer: () => RowRenderer,
RowType: () => RowType,
ScalarFilter: () => ScalarFilter,
ScrollVisibleService: () => ScrollVisibleService,
SelectCellEditor: () => SelectCellEditor,
SelectableService: () => SelectableService,
SelectionHandleType: () => SelectionHandleType,
ServerSideTransactionResultStatus: () => ServerSideTransactionResultStatus,
SetLeftFeature: () => SetLeftFeature,
SimpleFilter: () => SimpleFilter,
SortController: () => SortController,
SortIndicatorComp: () => SortIndicatorComp,
StandardMenuFactory: () => StandardMenuFactory,
StylingService: () => StylingService,
TabGuardClassNames: () => TabGuardClassNames,
TabGuardComp: () => TabGuardComp,
TabGuardCtrl: () => TabGuardCtrl,
TabbedLayout: () => TabbedLayout,
TemplateService: () => TemplateService,
TextCellEditor: () => TextCellEditor,
TextFilter: () => TextFilter,
TextFloatingFilter: () => TextFloatingFilter,
Timer: () => Timer,
TooltipFeature: () => TooltipFeature,
TooltipStateManager: () => TooltipStateManager,
TouchListener: () => TouchListener,
UserComponentFactory: () => UserComponentFactory,
UserComponentRegistry: () => UserComponentRegistry,
ValueCache: () => ValueCache,
ValueFormatterService: () => ValueFormatterService,
ValueParserService: () => ValueParserService,
ValueService: () => ValueService,
VanillaFrameworkOverrides: () => VanillaFrameworkOverrides,
VerticalDirection: () => VerticalDirection,
VirtualList: () => VirtualList,
VirtualListDragFeature: () => VirtualListDragFeature,
XmlFactory: () => XmlFactory,
ZipContainer: () => ZipContainer,
_: () => _,
createGrid: () => createGrid,
getRowContainerTypeForName: () => getRowContainerTypeForName
});
module.exports = __toCommonJS(main_exports);
// community-modules/core/src/utils/generic.ts
var generic_exports = {};
__export(generic_exports, {
attrToBoolean: () => attrToBoolean,
attrToNumber: () => attrToNumber,
attrToString: () => attrToString,
defaultComparator: () => defaultComparator,
exists: () => exists,
jsonEquals: () => jsonEquals,
makeNull: () => makeNull,
missing: () => missing,
missingOrEmpty: () => missingOrEmpty,
toStringOrNull: () => toStringOrNull,
values: () => values
});
function makeNull(value) {
if (value == null || value === "") {
return null;
}
return value;
}
function exists(value, allowEmptyString = false) {
return value != null && (value !== "" || allowEmptyString);
}
function missing(value) {
return !exists(value);
}
function missingOrEmpty(value) {
return value == null || value.length === 0;
}
function toStringOrNull(value) {
return value != null && typeof value.toString === "function" ? value.toString() : null;
}
function attrToNumber(value) {
if (value === void 0) {
return;
}
if (value === null || value === "") {
return null;
}
if (typeof value === "number") {
return isNaN(value) ? void 0 : value;
}
const valueParsed = parseInt(value, 10);
return isNaN(valueParsed) ? void 0 : valueParsed;
}
function attrToBoolean(value) {
if (value === void 0) {
return;
}
if (value === null || value === "") {
return false;
}
if (typeof value === "boolean") {
return value;
}
return /true/i.test(value);
}
function attrToString(value) {
if (value == null || value === "") {
return;
}
return value;
}
function jsonEquals(val1, val2) {
const val1Json = val1 ? JSON.stringify(val1) : null;
const val2Json = val2 ? JSON.stringify(val2) : null;
return val1Json === val2Json;
}
function defaultComparator(valueA, valueB, accentedCompare = false) {
const valueAMissing = valueA == null;
const valueBMissing = valueB == null;
if (valueA && valueA.toNumber) {
valueA = valueA.toNumber();
}
if (valueB && valueB.toNumber) {
valueB = valueB.toNumber();
}
if (valueAMissing && valueBMissing) {
return 0;
}
if (valueAMissing) {
return -1;
}
if (valueBMissing) {
return 1;
}
function doQuickCompare(a, b) {
return a > b ? 1 : a < b ? -1 : 0;
}
if (typeof valueA !== "string") {
return doQuickCompare(valueA, valueB);
}
if (!accentedCompare) {
return doQuickCompare(valueA, valueB);
}
try {
return valueA.localeCompare(valueB);
} catch (e) {
return doQuickCompare(valueA, valueB);
}
}
function values(object) {
if (object instanceof Set || object instanceof Map) {
const arr = [];
object.forEach((value) => arr.push(value));
return arr;
}
return Object.values(object);
}
// community-modules/core/src/columns/columnKeyCreator.ts
var ColumnKeyCreator = class {
constructor() {
this.existingKeys = {};
}
addExistingKeys(keys2) {
for (let i = 0; i < keys2.length; i++) {
this.existingKeys[keys2[i]] = true;
}
}
getUniqueKey(colId, colField) {
colId = toStringOrNull(colId);
let count = 0;
while (true) {
let idToTry;
if (colId) {
idToTry = colId;
if (count !== 0) {
idToTry += "_" + count;
}
} else if (colField) {
idToTry = colField;
if (count !== 0) {
idToTry += "_" + count;
}
} else {
idToTry = count;
}
if (!this.existingKeys[idToTry]) {
this.existingKeys[idToTry] = true;
return String(idToTry);
}
count++;
}
}
};
// community-modules/core/src/utils/object.ts
var object_exports = {};
__export(object_exports, {
cloneObject: () => cloneObject,
deepCloneDefinition: () => deepCloneDefinition,
getAllValuesInObject: () => getAllValuesInObject,
getValueUsingField: () => getValueUsingField,
isNonNullObject: () => isNonNullObject,
iterateObject: () => iterateObject,
mergeDeep: () => mergeDeep,
removeAllReferences: () => removeAllReferences
});
function iterateObject(object, callback) {
if (object == null) {
return;
}
if (Array.isArray(object)) {
for (let i = 0; i < object.length; i++) {
callback(i.toString(), object[i]);
}
return;
}
for (const [key, value] of Object.entries(object)) {
callback(key, value);
}
}
function cloneObject(object) {
const copy = {};
const keys2 = Object.keys(object);
for (let i = 0; i < keys2.length; i++) {
const key = keys2[i];
const value = object[key];
copy[key] = value;
}
return copy;
}
function deepCloneDefinition(object, keysToSkip) {
if (!object) {
return;
}
const obj = object;
const res = {};
Object.keys(obj).forEach((key) => {
if (keysToSkip && keysToSkip.indexOf(key) >= 0) {
return;
}
const value = obj[key];
const sourceIsSimpleObject = isNonNullObject(value) && value.constructor === Object;
if (sourceIsSimpleObject) {
res[key] = deepCloneDefinition(value);
} else {
res[key] = value;
}
});
return res;
}
function getAllValuesInObject(obj) {
if (!obj) {
return [];
}
const anyObject = Object;
if (typeof anyObject.values === "function") {
return anyObject.values(obj);
}
const ret = [];
for (const key in obj) {
if (obj.hasOwnProperty(key) && obj.propertyIsEnumerable(key)) {
ret.push(obj[key]);
}
}
return ret;
}
function mergeDeep(dest, source, copyUndefined = true, makeCopyOfSimpleObjects = false) {
if (!exists(source)) {
return;
}
iterateObject(source, (key, sourceValue) => {
let destValue = dest[key];
if (destValue === sourceValue) {
return;
}
if (makeCopyOfSimpleObjects) {
const objectIsDueToBeCopied = destValue == null && sourceValue != null;
if (objectIsDueToBeCopied) {
const sourceIsSimpleObject = typeof sourceValue === "object" && sourceValue.constructor === Object;
const dontCopy = sourceIsSimpleObject;
if (dontCopy) {
destValue = {};
dest[key] = destValue;
}
}
}
if (isNonNullObject(sourceValue) && isNonNullObject(destValue) && !Array.isArray(destValue)) {
mergeDeep(destValue, sourceValue, copyUndefined, makeCopyOfSimpleObjects);
} else if (copyUndefined || sourceValue !== void 0) {
dest[key] = sourceValue;
}
});
}
function getValueUsingField(data, field, fieldContainsDots) {
if (!field || !data) {
return;
}
if (!fieldContainsDots) {
return data[field];
}
const fields = field.split(".");
let currentObject = data;
for (let i = 0; i < fields.length; i++) {
if (currentObject == null) {
return void 0;
}
currentObject = currentObject[fields[i]];
}
return currentObject;
}
function removeAllReferences(obj, preserveKeys = [], preDestroyLink) {
Object.keys(obj).forEach((key) => {
const value = obj[key];
if (typeof value === "object" && !preserveKeys.includes(key)) {
obj[key] = void 0;
}
});
const proto = Object.getPrototypeOf(obj);
const properties = {};
const msgFunc = (key) => `AG Grid: Grid API function ${key}() cannot be called as the grid has been destroyed.
It is recommended to remove local references to the grid api. Alternatively, check gridApi.isDestroyed() to avoid calling methods against a destroyed grid.
To run logic when the grid is about to be destroyed use the gridPreDestroy event. See: ${preDestroyLink}`;
Object.getOwnPropertyNames(proto).forEach((key) => {
const value = proto[key];
if (typeof value === "function" && !preserveKeys.includes(key)) {
const func = () => {
console.warn(msgFunc(key));
};
properties[key] = { value: func, writable: true };
}
});
Object.defineProperties(obj, properties);
}
function isNonNullObject(value) {
return typeof value === "object" && value !== null;
}
// community-modules/core/src/utils/function.ts
var function_exports = {};
__export(function_exports, {
compose: () => compose,
debounce: () => debounce,
doOnce: () => doOnce,
errorOnce: () => errorOnce,
executeAfter: () => executeAfter,
executeInAWhile: () => executeInAWhile,
executeNextVMTurn: () => executeNextVMTurn,
getFunctionName: () => getFunctionName,
isFunction: () => isFunction,
noop: () => noop,
throttle: () => throttle,
waitUntil: () => waitUntil,
warnOnce: () => warnOnce
});
var doOnceFlags = {};
function doOnce(func, key) {
if (doOnceFlags[key]) {
return;
}
func();
doOnceFlags[key] = true;
}
function warnOnce(msg) {
doOnce(() => console.warn("AG Grid: " + msg), msg);
}
function errorOnce(msg) {
doOnce(() => console.error("AG Grid: " + msg), msg);
}
function getFunctionName(funcConstructor) {
if (funcConstructor.name) {
return funcConstructor.name;
}
const matches = /function\s+([^\(]+)/.exec(funcConstructor.toString());
return matches && matches.length === 2 ? matches[1].trim() : null;
}
function isFunction(val) {
return !!(val && val.constructor && val.call && val.apply);
}
function executeInAWhile(funcs) {
executeAfter(funcs, 400);
}
var executeNextVMTurnFuncs = [];
var executeNextVMTurnPending = false;
function executeNextVMTurn(func) {
executeNextVMTurnFuncs.push(func);
if (executeNextVMTurnPending) {
return;
}
executeNextVMTurnPending = true;
window.setTimeout(() => {
const funcsCopy = executeNextVMTurnFuncs.slice();
executeNextVMTurnFuncs.length = 0;
executeNextVMTurnPending = false;
funcsCopy.forEach((func2) => func2());
}, 0);
}
function executeAfter(funcs, milliseconds = 0) {
if (funcs.length > 0) {
window.setTimeout(() => funcs.forEach((func) => func()), milliseconds);
}
}
function debounce(func, delay) {
let timeout;
return function(...args) {
const context = this;
window.clearTimeout(timeout);
timeout = window.setTimeout(function() {
func.apply(context, args);
}, delay);
};
}
function throttle(func, wait) {
let previousCall = 0;
return function(...args) {
const context = this;
const currentCall = (/* @__PURE__ */ new Date()).getTime();
if (currentCall - previousCall < wait) {
return;
}
previousCall = currentCall;
func.apply(context, args);
};
}
function waitUntil(condition, callback, timeout = 100, timeoutMessage) {
const timeStamp = (/* @__PURE__ */ new Date()).getTime();
let interval = null;
let executed = false;
const internalCallback = () => {
const reachedTimeout = (/* @__PURE__ */ new Date()).getTime() - timeStamp > timeout;
if (condition() || reachedTimeout) {
callback();
executed = true;
if (interval != null) {
window.clearInterval(interval);
interval = null;
}
if (reachedTimeout && timeoutMessage) {
console.warn(timeoutMessage);
}
}
};
internalCallback();
if (!executed) {
interval = window.setInterval(internalCallback, 10);
}
}
function compose(...fns) {
return (arg) => fns.reduce((composed, f) => f(composed), arg);
}
var noop = () => {
return;
};
// community-modules/core/src/modules/moduleNames.ts
var ModuleNames = /* @__PURE__ */ ((ModuleNames2) => {
ModuleNames2["CommunityCoreModule"] = "@ag-grid-community/core";
ModuleNames2["InfiniteRowModelModule"] = "@ag-grid-community/infinite-row-model";
ModuleNames2["ClientSideRowModelModule"] = "@ag-grid-community/client-side-row-model";
ModuleNames2["CsvExportModule"] = "@ag-grid-community/csv-export";
ModuleNames2["EnterpriseCoreModule"] = "@ag-grid-enterprise/core";
ModuleNames2["RowGroupingModule"] = "@ag-grid-enterprise/row-grouping";
ModuleNames2["ColumnsToolPanelModule"] = "@ag-grid-enterprise/column-tool-panel";
ModuleNames2["FiltersToolPanelModule"] = "@ag-grid-enterprise/filter-tool-panel";
ModuleNames2["MenuModule"] = "@ag-grid-enterprise/menu";
ModuleNames2["SetFilterModule"] = "@ag-grid-enterprise/set-filter";
ModuleNames2["MultiFilterModule"] = "@ag-grid-enterprise/multi-filter";
ModuleNames2["StatusBarModule"] = "@ag-grid-enterprise/status-bar";
ModuleNames2["SideBarModule"] = "@ag-grid-enterprise/side-bar";
ModuleNames2["RangeSelectionModule"] = "@ag-grid-enterprise/range-selection";
ModuleNames2["MasterDetailModule"] = "@ag-grid-enterprise/master-detail";
ModuleNames2["RichSelectModule"] = "@ag-grid-enterprise/rich-select";
ModuleNames2["GridChartsModule"] = "@ag-grid-enterprise/charts";
ModuleNames2["ViewportRowModelModule"] = "@ag-grid-enterprise/viewport-row-model";
ModuleNames2["ServerSideRowModelModule"] = "@ag-grid-enterprise/server-side-row-model";
ModuleNames2["ExcelExportModule"] = "@ag-grid-enterprise/excel-export";
ModuleNames2["ClipboardModule"] = "@ag-grid-enterprise/clipboard";
ModuleNames2["SparklinesModule"] = "@ag-grid-enterprise/sparklines";
ModuleNames2["AdvancedFilterModule"] = "@ag-grid-enterprise/advanced-filter";
ModuleNames2["AngularModule"] = "@ag-grid-community/angular";
ModuleNames2["ReactModule"] = "@ag-grid-community/react";
ModuleNames2["VueModule"] = "@ag-grid-community/vue";
return ModuleNames2;
})(ModuleNames || {});
// community-modules/core/src/modules/moduleRegistry.ts
var _ModuleRegistry = class _ModuleRegistry {
/**
* Globally register the given module for all grids.
* @param module - module to register
*/
static register(module2) {
_ModuleRegistry.__register(module2, true, void 0);
}
/**
* Globally register the given modules for all grids.
* @param modules - modules to register
*/
static registerModules(modules) {
_ModuleRegistry.__registerModules(modules, true, void 0);
}
/** AG GRID INTERNAL - Module registration helper. */
static __register(module2, moduleBased, gridId) {
_ModuleRegistry.runVersionChecks(module2);
if (gridId !== void 0) {
_ModuleRegistry.areGridScopedModules = true;
if (_ModuleRegistry.gridModulesMap[gridId] === void 0) {
_ModuleRegistry.gridModulesMap[gridId] = {};
}
_ModuleRegistry.gridModulesMap[gridId][module2.moduleName] = module2;
} else {
_ModuleRegistry.globalModulesMap[module2.moduleName] = module2;
}
_ModuleRegistry.setModuleBased(moduleBased);
}
/** AG GRID INTERNAL - Unregister grid scoped module. */
static __unRegisterGridModules(gridId) {
delete _ModuleRegistry.gridModulesMap[gridId];
}
/** AG GRID INTERNAL - Module registration helper. */
static __registerModules(modules, moduleBased, gridId) {
_ModuleRegistry.setModuleBased(moduleBased);
if (!modules) {
return;
}
modules.forEach((module2) => _ModuleRegistry.__register(module2, moduleBased, gridId));
}
static isValidModuleVersion(module2) {
const [moduleMajor, moduleMinor] = module2.version.split(".") || [];
const [currentModuleMajor, currentModuleMinor] = _ModuleRegistry.currentModuleVersion.split(".") || [];
return moduleMajor === currentModuleMajor && moduleMinor === currentModuleMinor;
}
static runVersionChecks(module2) {
if (!_ModuleRegistry.currentModuleVersion) {
_ModuleRegistry.currentModuleVersion = module2.version;
}
if (!module2.version) {
console.error(`AG Grid: You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. '${module2.moduleName}' is incompatible. Please update all modules to the same version.`);
} else if (!_ModuleRegistry.isValidModuleVersion(module2)) {
console.error(`AG Grid: You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. '${module2.moduleName}' is version ${module2.version} but the other modules are version ${this.currentModuleVersion}. Please update all modules to the same version.`);
}
if (module2.validate) {
const result = module2.validate();
if (!result.isValid) {
const errorResult = result;
console.error(`AG Grid: ${errorResult.message}`);
}
}
}
static setModuleBased(moduleBased) {
if (_ModuleRegistry.moduleBased === void 0) {
_ModuleRegistry.moduleBased = moduleBased;
} else {
if (_ModuleRegistry.moduleBased !== moduleBased) {
doOnce(
() => {
console.warn(`AG Grid: You are mixing modules (i.e. @ag-grid-community/core) and packages (ag-grid-community) - you can only use one or the other of these mechanisms.`);
console.warn("Please see https://www.ag-grid.com/javascript-grid/packages-modules/ for more information.");
},
"ModulePackageCheck"
);
}
}
}
/**
* AG GRID INTERNAL - Set if files are being served from a single UMD bundle to provide accurate enterprise upgrade steps.
*/
static __setIsBundled() {
_ModuleRegistry.isBundled = true;
}
/** AG GRID INTERNAL - Assert a given module has been register, globally or individually with this grid. */
static __assertRegistered(moduleName, reason, gridId) {
var _a;
if (this.__isRegistered(moduleName, gridId)) {
return true;
}
const warningKey = reason + moduleName;
let warningMessage;
if (_ModuleRegistry.isBundled) {
{
warningMessage = `AG Grid: unable to use ${reason} as 'ag-grid-enterprise' has not been loaded. Check you are using the Enterprise bundle:
<script src="https://cdn.jsdelivr.net/npm/ag-grid-enterprise@AG_GRID_VERSION/dist/ag-grid-enterprise.min.js"><\/script>
For more info see: https://ag-grid.com/javascript-data-grid/getting-started/#getting-started-with-ag-grid-enterprise`;
}
} else if (_ModuleRegistry.moduleBased || _ModuleRegistry.moduleBased === void 0) {
let modName = (_a = Object.entries(ModuleNames).find(([k, v]) => v === moduleName)) == null ? void 0 : _a[0];
warningMessage = `AG Grid: unable to use ${reason} as the ${modName} is not registered${_ModuleRegistry.areGridScopedModules ? ` for gridId: ${gridId}` : ""}. Check if you have registered the module:
import { ModuleRegistry } from '@ag-grid-community/core';
import { ${modName} } from '${moduleName}';
ModuleRegistry.registerModules([ ${modName} ]);
For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
} else {
warningMessage = `AG Grid: unable to use ${reason} as package 'ag-grid-enterprise' has not been imported. Check that you have imported the package:
import 'ag-grid-enterprise';
For more info see: https://www.ag-grid.com/javascript-grid/packages/`;
}
doOnce(() => {
console.warn(warningMessage);
}, warningKey);
return false;
}
/**
* AG GRID INTERNAL - Warn that a given integrated chart type is not supported under the community distribution.
*/
static __warnEnterpriseChartDisabled(chartType) {
const reason = "ag-charts-enterprise";
const warningKey = reason + ":" + chartType;
const url = "https://www.ag-grid.com/javascript-data-grid/integrated-charts-installation/";
const warningMessage = `AG Grid: the '${chartType}' chart type is not supported in AG Charts Community as 'ag-grid-charts-enterprise' or '@ag-grid-enterprise/charts-enterprise' hasn't been loaded. See ${url} for more details.`;
doOnce(() => {
console.warn(warningMessage);
}, warningKey);
}
/** AG GRID INTERNAL - Is the given module registered, globally or individually with this grid. */
static __isRegistered(moduleName, gridId) {
var _a;
return !!_ModuleRegistry.globalModulesMap[moduleName] || !!((_a = _ModuleRegistry.gridModulesMap[gridId]) == null ? void 0 : _a[moduleName]);
}
/** AG GRID INTERNAL - Get all registered modules globally / individually for this grid. */
static __getRegisteredModules(gridId) {
return [...values(_ModuleRegistry.globalModulesMap), ...values(_ModuleRegistry.gridModulesMap[gridId] || {})];
}
/** AG GRID INTERNAL - Get the list of modules registered individually for this grid. */
static __getGridRegisteredModules(gridId) {
var _a;
return values((_a = _ModuleRegistry.gridModulesMap[gridId]) != null ? _a : {}) || [];
}
/** INTERNAL */
static __isPackageBased() {
return !_ModuleRegistry.moduleBased;
}
};
// having in a map a) removes duplicates and b) allows fast lookup
_ModuleRegistry.globalModulesMap = {};
_ModuleRegistry.gridModulesMap = {};
_ModuleRegistry.areGridScopedModules = false;
var ModuleRegistry = _ModuleRegistry;
// community-modules/core/src/context/context.ts
var Context = class {
constructor(params, logger) {
this.beanWrappers = {};
this.destroyed = false;
if (!params || !params.beanClasses) {
return;
}
this.contextParams = params;
this.logger = logger;
this.logger.log(">> creating ag-Application Context");
this.createBeans();
const beanInstances = this.getBeanInstances();
this.wireBeans(beanInstances);
this.logger.log(">> ag-Application Context ready - component is alive");
}
getBeanInstances() {
return values(this.beanWrappers).map((beanEntry) => beanEntry.beanInstance);
}
createBean(bean, afterPreCreateCallback) {
if (!bean) {
throw Error(`Can't wire to bean since it is null`);
}
this.wireBeans([bean], afterPreCreateCallback);
return bean;
}
wireBeans(beanInstances, afterPreCreateCallback) {
this.autoWireBeans(beanInstances);
this.methodWireBeans(beanInstances);
this.callLifeCycleMethods(beanInstances, "preConstructMethods");
if (exists(afterPreCreateCallback)) {
beanInstances.forEach(afterPreCreateCallback);
}
this.callLifeCycleMethods(beanInstances, "postConstructMethods");
}
createBeans() {
this.contextParams.beanClasses.forEach(this.createBeanWrapper.bind(this));
iterateObject(this.beanWrappers, (key, beanEntry) => {
let constructorParamsMeta;
if (beanEntry.bean.__agBeanMetaData && beanEntry.bean.__agBeanMetaData.autowireMethods && beanEntry.bean.__agBeanMetaData.autowireMethods.agConstructor) {
constructorParamsMeta = beanEntry.bean.__agBeanMetaData.autowireMethods.agConstructor;
}
const constructorParams = this.getBeansForParameters(constructorParamsMeta, beanEntry.bean.name);
const newInstance = new (beanEntry.bean.bind.apply(beanEntry.bean, [null, ...constructorParams]))();
beanEntry.beanInstance = newInstance;
});
const createdBeanNames = Object.keys(this.beanWrappers).join(", ");
this.logger.log(`created beans: ${createdBeanNames}`);
}
// tslint:disable-next-line
createBeanWrapper(BeanClass) {
const metaData = BeanClass.__agBeanMetaData;
if (!metaData) {
let beanName;
if (BeanClass.prototype.constructor) {
beanName = getFunctionName(BeanClass.prototype.constructor);
} else {
beanName = "" + BeanClass;
}
console.error(`Context item ${beanName} is not a bean`);
return;
}
const beanEntry = {
bean: BeanClass,
beanInstance: null,
beanName: metaData.beanName
};
this.beanWrappers[metaData.beanName] = beanEntry;
}
autoWireBeans(beanInstances) {
beanInstances.forEach((beanInstance) => {
this.forEachMetaDataInHierarchy(beanInstance, (metaData, beanName) => {
const attributes = metaData.agClassAttributes;
if (!attributes) {
return;
}
attributes.forEach((attribute) => {
const otherBean = this.lookupBeanInstance(beanName, attribute.beanName, attribute.optional);
beanInstance[attribute.attributeName] = otherBean;
});
});
});
}
methodWireBeans(beanInstances) {
beanInstances.forEach((beanInstance) => {
this.forEachMetaDataInHierarchy(beanInstance, (metaData, beanName) => {
iterateObject(metaData.autowireMethods, (methodName, wireParams) => {
if (methodName === "agConstructor") {
return;
}
const initParams = this.getBeansForParameters(wireParams, beanName);
beanInstance[methodName].apply(beanInstance, initParams);
});
});
});
}
forEachMetaDataInHierarchy(beanInstance, callback) {
let prototype = Object.getPrototypeOf(beanInstance);
while (prototype != null) {
const constructor = prototype.constructor;
if (constructor.hasOwnProperty("__agBeanMetaData")) {
const metaData = constructor.__agBeanMetaData;
const beanName = this.getBeanName(constructor);
callback(metaData, beanName);
}
prototype = Object.getPrototypeOf(prototype);
}
}
getBeanName(constructor) {
if (constructor.__agBeanMetaData && constructor.__agBeanMetaData.beanName) {
return constructor.__agBeanMetaData.beanName;
}
const constructorString = constructor.toString();
const beanName = constructorString.substring(9, constructorString.indexOf("("));
return beanName;
}
getBeansForParameters(parameters, beanName) {
const beansList = [];
if (parameters) {
iterateObject(parameters, (paramIndex, otherBeanName) => {
const otherBean = this.lookupBeanInstance(beanName, otherBeanName);
beansList[Number(paramIndex)] = otherBean;
});
}
return beansList;
}
lookupBeanInstance(wiringBean, beanName, optional = false) {
if (this.destroyed) {
this.logger.log(`AG Grid: bean reference ${beanName} is used after the grid is destroyed!`);
return null;
}
if (beanName === "context") {
return this;
}
if (this.contextParams.providedBeanInstances && this.contextParams.providedBeanInstances.hasOwnProperty(beanName)) {
return this.contextParams.providedBeanInstances[beanName];
}
const beanEntry = this.beanWrappers[beanName];
if (beanEntry) {
return beanEntry.beanInstance;
}
if (!optional) {
console.error(`AG Grid: unable to find bean reference ${beanName} while initialising ${wiringBean}`);
}
return null;
}
callLifeCycleMethods(beanInstances, lifeCycleMethod) {
beanInstances.forEach((beanInstance) => this.callLifeCycleMethodsOnBean(beanInstance, lifeCycleMethod));
}
callLifeCycleMethodsOnBean(beanInstance, lifeCycleMethod, methodToIgnore) {
const allMethods = {};
this.forEachMetaDataInHierarchy(beanInstance, (metaData) => {
const methods = metaData[lifeCycleMethod];
if (methods) {
methods.forEach((methodName) => {
if (methodName != methodToIgnore) {
allMethods[methodName] = true;
}
});
}
});
const allMethodsList = Object.keys(allMethods);
allMethodsList.forEach((methodName) => beanInstance[methodName]());
}
getBean(name) {
return this.lookupBeanInstance("getBean", name, true);
}
destroy() {
if (this.destroyed) {
return;
}
this.destroyed = true;
this.logger.log(">> Shutting down ag-Application Context");
const beanInstances = this.getBeanInstances();
this.destroyBeans(beanInstances);
this.contextParams.providedBeanInstances = null;
ModuleRegistry.__unRegisterGridModules(this.contextParams.gridId);
this.logger.log(">> ag-Application Context shut down - component is dead");
}
destroyBean(bean) {
if (!bean) {
return;
}
this.destroyBeans([bean]);
}
destroyBeans(beans) {
if (!beans) {
return [];
}
beans.forEach((bean) => {
this.callLifeCycleMethodsOnBean(bean, "preDestroyMethods", "destroy");
const beanAny = bean;
if (typeof beanAny.destroy === "function") {
beanAny.destroy();
}
});
return [];
}
isDestroyed() {
return this.destroyed;
}
getGridId() {
return this.contextParams.gridId;
}
};
function PreConstruct(target, methodName, descriptor) {
const props = getOrCreateProps(target.constructor);
if (!props.preConstructMethods) {
props.preConstructMethods = [];
}
props.preConstructMethods.push(methodName);
}
function PostConstruct(target, methodName, descriptor) {
const props = getOrCreateProps(target.constructor);
if (!props.postConstructMethods) {
props.postConstructMethods = [];
}
props.postConstructMethods.push(methodName);
}
function PreDestroy(target, methodName, descriptor) {
const props = getOrCreateProps(target.constructor);
if (!props.preDestroyMethods) {
props.preDestroyMethods = [];
}
props.preDestroyMethods.push(methodName);
}
function Bean(beanName) {
return (classConstructor) => {
const props = getOrCreateProps(classConstructor);
props.beanName = beanName;
};
}
function Autowired(name) {
return (target, propertyKey, descriptor) => {
autowiredFunc(target, name, false, target, propertyKey, null);
};
}
function Optional(name) {
return (target, propertyKey, descriptor) => {
autowiredFunc(target, name, true, target, propertyKey, null);
};
}
function autowiredFunc(target, name, optional, classPrototype, methodOrAttributeName, index) {
if (name === null) {
console.error("AG Grid: Autowired name should not be null");
return;
}
if (typeof index === "number") {
console.error("AG Grid: Autowired should be on an attribute");
return;
}
const props = getOrCreateProps(target.constructor);
if (!props.agClassAttributes) {
props.agClassAttributes = [];
}
props.agClassAttributes.push({
attributeName: methodOrAttributeName,
beanName: name,
optional
});
}
function Qualifier(name) {
return (classPrototype, methodOrAttributeName, index) => {
const constructor = typeof classPrototype == "function" ? classPrototype : classPrototype.constructor;
let props;
if (typeof index === "number") {
let methodName;
if (methodOrAttributeName) {
props = getOrCreateProps(constructor);
methodName = methodOrAttributeName;
} else {
props = getOrCreateProps(constructor);
methodName = "agConstructor";
}
if (!props.autowireMethods) {
props.autowireMethods = {};
}
if (!props.autowireMethods[methodName]) {
props.autowireMethods[methodName] = {};
}
props.autowireMethods[methodName][index] = name;
}
};
}
function getOrCreateProps(target) {
if (!target.hasOwnProperty("__agBeanMetaData")) {
target.__agBeanMetaData = {};
}
return target.__agBeanMetaData;
}
// community-modules/core/src/eventService.ts
var EventService = class {
constructor() {
this.allSyncListeners = /* @__PURE__ */ new Map();
this.allAsyncListeners = /* @__PURE__ */ new Map();
this.globalSyncListeners = /* @__PURE__ */ new Set();
this.globalAsyncListeners = /* @__PURE__ */ new Set();
this.asyncFunctionsQueue = [];
this.scheduled = false;
// using an object performs better than a Set for the number of different events we have
this.firedEvents = {};
}
// because this class is used both inside the context and outside the context, we do not
// use autowired attributes, as that would be confusing, as sometimes the attributes
// would be wired, and sometimes not.
//
// the global event servers used by AG Grid is autowired by the context once, and this
// setBeans method gets called once.
//
// the times when this class is used outside of the context (eg RowNode has an instance of this
// class) then it is not a bean, and this setBeans method is not called.
setBeans(gridOptionsService, frameworkOverrides, globalEventListener = null, globalSyncEventListener = null) {
this.frameworkOverrides = frameworkOverrides;
this.gridOptionsService = gridOptionsService;
if (globalEventListener) {
const async = gridOptionsService.useAsyncEvents();
this.addGlobalListener(globalEventListener, async);
}
if (globalSyncEventListener) {
this.addGlobalListener(globalSyncEventListener, false);
}
}
setFrameworkOverrides(frameworkOverrides) {
this.frameworkOverrides = frameworkOverrides;
}
getListeners(eventType, async, autoCreateListenerCollection) {
const listenerMap = async ? this.allAsyncListeners : this.allSyncListeners;
let listeners = listenerMap.get(eventType);
if (!listeners && autoCreateListenerCollection) {
listeners = /* @__PURE__ */ new Set();
listenerMap.set(eventType, listeners);
}
return listeners;
}
noRegisteredListenersExist() {
return this.allSyncListeners.size === 0 && this.allAsyncListeners.size === 0 && this.globalSyncListeners.size === 0 && this.globalAsyncListeners.size === 0;
}
addEventListener(eventType, listener, async = false) {
this.getListeners(eventType, async, true).add(listener);
}
removeEventListener(eventType, listener, async = false) {
const listeners = this.getListeners(eventType, async, false);
if (!listeners) {
return;
}
listeners.delete(listener);
if (listeners.size === 0) {
const listenerMap = async ? this.allAsyncListeners : this.allSyncListeners;
listenerMap.delete(eventType);
}
}
addGlobalListener(listener, async = false) {
(async ? this.globalAsyncListeners : this.globalSyncListeners).add(listener);
}
removeGlobalListener(listener, async = false) {
(async ? this.globalAsyncListeners : this.globalSyncListeners).delete(listener);
}
dispatchEvent(event) {
let agEvent = event;
if (this.gridOptionsService) {
this.gridOptionsService.addGridCommonParams(agEvent);
}
this.dispatchToListeners(agEvent, true);
this.dispatchToListeners(agEvent, false);
this.firedEvents[agEvent.type] = true;
}
dispatchEventOnce(event) {
if (!this.firedEvents[event.type]) {
this.dispatchEvent(event);
}
}
dispatchToListeners(event, async) {
var _a;
const eventType = event.type;
if (async && "event" in event) {
const browserEvent = event.event;
if (browserEvent instanceof Event) {
event.eventPath = browserEvent.composedPath();
}
}
const processEventListeners = (listeners2, originalListeners2) => listeners2.forEach((listener) => {
if (!originalListeners2.has(listener)) {
return;
}
const callback = this.frameworkOverrides ? () => this.frameworkOverrides.wrapIncoming(() => listener(event)) : () => listener(event);
if (async) {
this.dispatchAsync(callback);
} else {
callback();
}
});
const originalListeners = (_a = this.getListeners(eventType, async, false)) != null ? _a : /* @__PURE__ */ new Set();
const listeners = new Set(originalListeners);
if (listeners.size > 0) {
processEventListeners(listeners, originalListeners);
}
const globalListeners = new Set(async ? this.globalAsyncListeners : this.globalSyncListeners);
globalListeners.forEach((listener) => {
const callback = this.frameworkOverrides ? () => this.frameworkOverrides.wrapIncoming(() => listener(eventType, event)) : () => listener(eventType, event);
if (async) {
this.dispatchAsync(callback);
} else {
callback();
}
});
}
// this gets called inside the grid's thread, for each event that it
// wants to set async. the grid then batches the events into one setTimeout()
// because setTimeout() is an expensive operation. ideally we would have
// each event in it's own setTimeout(), but we batch for performance.
dispatchAsync(func) {
this.asyncFunctionsQueue.push(func);
if (!this.scheduled) {
this.frameworkOverrides.wrapIncoming(() => {
window.setTimeout(this.flushAsyncQueue.bind(this), 0);
});
this.scheduled = true;
}
}
// this happens in the next VM turn only, and empties the queue of events
flushAsyncQueue() {
this.scheduled = false;
const queueCopy = this.asyncFunctionsQueue.slice();
this.asyncFunctionsQueue = [];
queueCopy.forEach((func) => func());
}
};
__decorateClass([
__decorateParam(0, Qualifier("gridOptionsService")),
__decorateParam(1, Qualifier("frameworkOverrides")),
__decorateParam(2, Qualifier("globalEventListener")),
__decorateParam(3, Qualifier("globalSyncEventListener"))
], EventService.prototype, "setBeans", 1);
EventService = __decorateClass([
Bean("eventService")
], EventService);
// community-modules/core/src/misc/frameworkEventListenerService.ts
var FrameworkEventListenerService = class {
constructor(frameworkOverrides) {
this.frameworkOverrides = frameworkOverrides;
// Map from user listener to wrapped listener so we can remove listener provided by user
this.wrappedListeners = /* @__PURE__ */ new Map();
this.wrappedGlobalListeners = /* @__PURE__ */ new Map();
}
wrap(userListener) {
let listener = userListener;
if (this.frameworkOverrides.shouldWrapOutgoing) {
listener = (event) => {
this.frameworkOverrides.wrapOutgoing(() => userListener(event));
};
this.wrappedListeners.set(userListener, listener);
}
return listener;
}
wrapGlobal(userListener) {
let listener = userListener;
if (this.frameworkOverrides.shouldWrapOutgoing) {
listener = (eventType, event) => {
this.frameworkOverrides.wrapOutgoing(() => userListener(eventType, event));
};
this.wrappedGlobalListeners.set(userListener, listener);
}
return listener;
}
unwrap(userListener) {
var _a;
return (_a = this.wrappedListeners.get(userListener)) != null ? _a : userListener;
}
unwrapGlobal(userListener) {
var _a;
return (_a = this.wrappedGlobalListeners.get(userListener)) != null ? _a : userListener;
}
};
// community-modules/core/src/entities/column.ts
var COL_DEF_DEFAULTS = {
resizable: true,
sortable: true
};
var instanceIdSequence = 0;
function getNextColInstanceId() {
return instanceIdSequence++;
}
var _Column = class _Column {
constructor(colDef, userProvidedColDef, colId, primary) {
// used by React (and possibly other frameworks) as key for rendering. also used to
// identify old vs new columns for destroying cols when no longer used.
this.instanceId = getNextColInstanceId();
// The measured height of this column's header when autoHeaderHeight is enabled
this.autoHeaderHeight = null;
this.moving = false;
this.menuVisible = false;
this.lastLeftPinned = false;
this.firstRightPinned = false;
this.filterActive = false;
this.eventService = new EventService();
this.tooltipEnabled = false;
this.rowGroupActive = false;
this.pivotActive = false;
this.aggregationActive = false;
this.colDef = colDef;
this.userProvidedColDef = userProvidedColDef;
this.colId = colId;
this.primary = primary;
this.setState(colDef);
}
getInstanceId() {
return this.instanceId;