ag-grid-community
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
1,388 lines (1,378 loc) • 2.05 MB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
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 = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2);
// packages/ag-grid-community/src/main.ts
var main_exports = {};
__export(main_exports, {
ALWAYS_SYNC_GLOBAL_EVENTS: () => ALWAYS_SYNC_GLOBAL_EVENTS,
AbstractClientSideNodeManager: () => AbstractClientSideNodeManager,
AgAbstractCellEditor: () => AgAbstractCellEditor,
AgAbstractInputField: () => AgAbstractInputField,
AgAbstractLabel: () => AgAbstractLabel,
AgCheckbox: () => AgCheckbox,
AgCheckboxSelector: () => AgCheckboxSelector,
AgColumn: () => AgColumn,
AgColumnGroup: () => AgColumnGroup,
AgInputDateField: () => AgInputDateField,
AgInputNumberField: () => AgInputNumberField,
AgInputNumberFieldSelector: () => AgInputNumberFieldSelector,
AgInputTextArea: () => AgInputTextArea,
AgInputTextField: () => AgInputTextField,
AgInputTextFieldSelector: () => AgInputTextFieldSelector,
AgPickerField: () => AgPickerField,
AgPromise: () => AgPromise,
AgProvidedColumnGroup: () => AgProvidedColumnGroup,
AgRadioButton: () => AgRadioButton,
AgSelect: () => AgSelect,
AgSelectSelector: () => AgSelectSelector,
AgToggleButton: () => AgToggleButton,
AgToggleButtonSelector: () => AgToggleButtonSelector,
AlignedGridsModule: () => AlignedGridsModule,
AllCommunityModule: () => AllCommunityModule,
AutoScrollService: () => AutoScrollService,
BaseColsService: () => BaseColsService,
BaseComponentWrapper: () => BaseComponentWrapper,
BaseCreator: () => BaseCreator,
BaseGridSerializingSession: () => BaseGridSerializingSession,
BaseSelectionService: () => BaseSelectionService,
BeanStub: () => BeanStub,
CellApiModule: () => CellApiModule,
CellRangeType: () => CellRangeType,
CellSpanModule: () => CellSpanModule,
CellStyleModule: () => CellStyleModule,
ChangedPath: () => ChangedPath,
CheckboxEditorModule: () => CheckboxEditorModule,
ClientSideRowModelApiModule: () => ClientSideRowModelApiModule,
ClientSideRowModelModule: () => ClientSideRowModelModule,
ColumnApiModule: () => ColumnApiModule,
ColumnAutoSizeModule: () => ColumnAutoSizeModule,
ColumnHoverModule: () => ColumnHoverModule,
ColumnKeyCreator: () => ColumnKeyCreator,
Component: () => Component,
CssClassManager: () => CssClassManager,
CsvExportModule: () => CsvExportModule,
CustomEditorModule: () => CustomEditorModule,
CustomFilterModule: () => CustomFilterModule,
DateEditorModule: () => DateEditorModule,
DateFilterModule: () => DateFilterModule,
DragAndDropModule: () => DragAndDropModule,
DragSourceType: () => DragSourceType,
EventApiModule: () => EventApiModule,
ExternalFilterModule: () => ExternalFilterModule,
FakeHScrollComp: () => FakeHScrollComp,
FakeVScrollComp: () => FakeVScrollComp,
FilterButtonComp: () => FilterButtonComp,
FilterComp: () => FilterComp,
FilterWrapperComp: () => FilterWrapperComp,
GROUP_AUTO_COLUMN_ID: () => GROUP_AUTO_COLUMN_ID,
GridBodyCtrl: () => GridBodyCtrl,
GridCoreCreator: () => GridCoreCreator,
GridCtrl: () => GridCtrl,
GridHeaderCtrl: () => GridHeaderCtrl,
GridStateModule: () => GridStateModule,
GroupInstanceIdCreator: () => GroupInstanceIdCreator,
HeaderRowContainerCtrl: () => HeaderRowContainerCtrl,
HighlightChangesModule: () => HighlightChangesModule,
InfiniteRowModelModule: () => InfiniteRowModelModule,
KeyCode: () => KeyCode,
LargeTextEditorModule: () => LargeTextEditorModule,
LocalEventService: () => LocalEventService,
LocaleModule: () => LocaleModule,
LocaleService: () => LocaleService,
ManagedFocusFeature: () => ManagedFocusFeature,
ModuleRegistry: () => ModuleRegistry,
NumberEditorModule: () => NumberEditorModule,
NumberFilterModule: () => NumberFilterModule,
PaginationModule: () => PaginationModule,
PinnedRowModel: () => PinnedRowModel,
PinnedRowModule: () => PinnedRowModule,
PopupComponent: () => PopupComponent,
PositionableFeature: () => PositionableFeature,
ProvidedFilter: () => ProvidedFilter,
QuickFilterModule: () => QuickFilterModule,
ROW_NUMBERS_COLUMN_ID: () => ROW_NUMBERS_COLUMN_ID,
RefPlaceholder: () => RefPlaceholder,
RenderApiModule: () => RenderApiModule,
RowApiModule: () => RowApiModule,
RowAutoHeightModule: () => RowAutoHeightModule,
RowContainerCtrl: () => RowContainerCtrl,
RowDragModule: () => RowDragModule,
RowNode: () => RowNode,
RowSelectionModule: () => RowSelectionModule,
RowStyleModule: () => RowStyleModule,
SELECTION_COLUMN_ID: () => SELECTION_COLUMN_ID,
ScrollApiModule: () => ScrollApiModule,
SelectEditorModule: () => SelectEditorModule,
ServerSideTransactionResultStatus: () => ServerSideTransactionResultStatus,
TabGuardClassNames: () => TabGuardClassNames,
TabGuardComp: () => TabGuardComp,
TabGuardCtrl: () => TabGuardCtrl,
TabGuardFeature: () => TabGuardFeature,
TextEditorModule: () => TextEditorModule,
TextFilterModule: () => TextFilterModule,
TooltipFeature: () => TooltipFeature,
TooltipModule: () => TooltipModule,
TouchListener: () => TouchListener,
UndoRedoEditModule: () => UndoRedoEditModule,
ValidationModule: () => ValidationModule,
ValueCacheModule: () => ValueCacheModule,
VanillaFrameworkOverrides: () => VanillaFrameworkOverrides,
_BOOLEAN_MIXED_GRID_OPTIONS: () => _BOOLEAN_MIXED_GRID_OPTIONS,
_ColumnFilterModule: () => ColumnFilterModule,
_ColumnGroupModule: () => ColumnGroupModule,
_ColumnMoveModule: () => ColumnMoveModule,
_CsrmSsrmSharedApiModule: () => CsrmSsrmSharedApiModule,
_DragModule: () => DragModule,
_EditCoreModule: () => EditCoreModule,
_EmptyArray: () => _EmptyArray,
_EmptyBean: () => EmptyBean,
_FOCUS_MANAGED_CLASS: () => FOCUS_MANAGED_CLASS,
_FilterCoreModule: () => FilterCoreModule,
_FilterValueModule: () => FilterValueModule,
_GET_ALL_EVENTS: () => _GET_ALL_EVENTS,
_GET_ALL_GRID_OPTIONS: () => _GET_ALL_GRID_OPTIONS,
_HeaderComp: () => HeaderComp,
_HorizontalResizeModule: () => HorizontalResizeModule,
_KeyboardNavigationModule: () => KeyboardNavigationModule,
_PUBLIC_EVENTS: () => _PUBLIC_EVENTS,
_PUBLIC_EVENT_HANDLERS_MAP: () => _PUBLIC_EVENT_HANDLERS_MAP,
_PopupModule: () => PopupModule,
_ROW_ID_PREFIX_BOTTOM_PINNED: () => ROW_ID_PREFIX_BOTTOM_PINNED,
_ROW_ID_PREFIX_ROW_GROUP: () => ROW_ID_PREFIX_ROW_GROUP,
_ROW_ID_PREFIX_TOP_PINNED: () => ROW_ID_PREFIX_TOP_PINNED,
_SharedDragAndDropModule: () => SharedDragAndDropModule,
_SharedExportModule: () => SharedExportModule,
_SharedMenuModule: () => SharedMenuModule,
_SharedRowSelectionModule: () => SharedRowSelectionModule,
_SortModule: () => SortModule,
_SsrmInfiniteSharedApiModule: () => SsrmInfiniteSharedApiModule,
_addColumnDefaultAndTypes: () => _addColumnDefaultAndTypes,
_addFocusableContainerListener: () => _addFocusableContainerListener,
_addGridCommonParams: () => _addGridCommonParams,
_anchorElementToMouseMoveEvent: () => _anchorElementToMouseMoveEvent,
_applyColumnState: () => _applyColumnState,
_areCellsEqual: () => _areCellsEqual,
_areColIdsEqual: () => _areColIdsEqual,
_areEqual: () => _areEqual,
_asThemeImpl: () => _asThemeImpl,
_batchCall: () => _batchCall,
_canSkipShowingRowGroup: () => _canSkipShowingRowGroup,
_clearElement: () => _clearElement,
_columnsMatch: () => _columnsMatch,
_combineAttributesAndGridOptions: () => _combineAttributesAndGridOptions,
_convertColumnEventSourceType: () => _convertColumnEventSourceType,
_createCellId: () => _createCellId,
_createColumnTree: () => _createColumnTree,
_createColumnTreeWithIds: () => _createColumnTreeWithIds,
_createElement: () => _createElement,
_createGlobalRowEvent: () => _createGlobalRowEvent,
_createIcon: () => _createIcon,
_createIconNoSpan: () => _createIconNoSpan,
_createRowNodeSibling: () => _createRowNodeSibling,
_debounce: () => _debounce,
_defaultComparator: () => _defaultComparator,
_destroyColumnTree: () => _destroyColumnTree,
_doOnce: () => _doOnce,
_downloadFile: () => _downloadFile,
_errMsg: () => _errMsg,
_error: () => _error,
_escapeString: () => _escapeString,
_exists: () => _exists,
_findFocusableElements: () => _findFocusableElements,
_findNextFocusableElement: () => _findNextFocusableElement,
_findTabbableParent: () => _findTabbableParent,
_flatten: () => _flatten,
_focusGridInnerElement: () => _focusGridInnerElement,
_focusInto: () => _focusInto,
_focusNextGridCoreContainer: () => _focusNextGridCoreContainer,
_formatNumberCommas: () => _formatNumberCommas,
_fuzzySuggestions: () => _fuzzySuggestions,
_getAbsoluteHeight: () => _getAbsoluteHeight,
_getAbsoluteWidth: () => _getAbsoluteWidth,
_getActiveDomElement: () => _getActiveDomElement,
_getAriaPosInSet: () => _getAriaPosInSet,
_getCallbackForEvent: () => _getCallbackForEvent,
_getCellByPosition: () => _getCellByPosition,
_getCellCtrlForEventTarget: () => _getCellCtrlForEventTarget,
_getCellPositionForEvent: () => _getCellPositionForEvent,
_getCellRendererDetails: () => _getCellRendererDetails,
_getCheckboxLocation: () => _getCheckboxLocation,
_getCheckboxes: () => _getCheckboxes,
_getClientSideRowModel: () => _getClientSideRowModel,
_getColumnState: () => _getColumnState,
_getColumnsFromTree: () => _getColumnsFromTree,
_getDateParts: () => _getDateParts,
_getDefaultFloatingFilterType: () => _getDefaultFloatingFilterType,
_getDefaultSimpleFilter: () => _getDefaultSimpleFilter,
_getDocument: () => _getDocument,
_getEditorRendererDetails: () => _getEditorRendererDetails,
_getFillHandle: () => _getFillHandle,
_getFilterDetails: () => _getFilterDetails,
_getFilterModel: () => _getFilterModel,
_getFilterParamsForDataType: () => _getFilterParamsForDataType,
_getFloatingFilterCompDetails: () => _getFloatingFilterCompDetails,
_getFloatingFiltersHeight: () => getFloatingFiltersHeight,
_getGlobalGridOption: () => _getGlobalGridOption,
_getGrandTotalRow: () => _getGrandTotalRow,
_getGridOption: () => _getGridOption,
_getGridRegisteredModules: () => _getGridRegisteredModules,
_getGroupAggFiltering: () => _getGroupAggFiltering,
_getGroupSelection: () => _getGroupSelection,
_getGroupSelectsDescendants: () => _getGroupSelectsDescendants,
_getGroupTotalRowCallback: () => _getGroupTotalRowCallback,
_getGroupingApproach: () => _getGroupingApproach,
_getHeaderCheckbox: () => _getHeaderCheckbox,
_getHeaderClassesFromColDef: () => _getHeaderClassesFromColDef,
_getHeaderRowCount: () => getHeaderRowCount,
_getInnerCellRendererDetails: () => _getInnerCellRendererDetails,
_getInnerHeight: () => _getInnerHeight,
_getInnerWidth: () => _getInnerWidth,
_getIsRowSelectable: () => _getIsRowSelectable,
_getLocaleTextFunc: () => _getLocaleTextFunc,
_getMaxConcurrentDatasourceRequests: () => _getMaxConcurrentDatasourceRequests,
_getNormalisedMousePosition: () => _getNormalisedMousePosition,
_getPageBody: () => _getPageBody,
_getRootNode: () => _getRootNode,
_getRowAbove: () => _getRowAbove,
_getRowBelow: () => _getRowBelow,
_getRowContainerClass: () => _getRowContainerClass,
_getRowContainerOptions: () => _getRowContainerOptions,
_getRowHeightAsNumber: () => _getRowHeightAsNumber,
_getRowHeightForNode: () => _getRowHeightForNode,
_getRowIdCallback: () => _getRowIdCallback,
_getRowNode: () => _getRowNode,
_getRowSelectionMode: () => _getRowSelectionMode,
_getRowSpanContainerClass: () => _getRowSpanContainerClass,
_getRowViewportClass: () => _getRowViewportClass,
_getServerSideRowModel: () => _getServerSideRowModel,
_getShouldDisplayTooltip: () => _getShouldDisplayTooltip,
_getSuppressMultiRanges: () => _getSuppressMultiRanges,
_getToolPanelClassesFromColDef: () => _getToolPanelClassesFromColDef,
_interpretAsRightClick: () => _interpretAsRightClick,
_isAnimateRows: () => _isAnimateRows,
_isCellSelectionEnabled: () => _isCellSelectionEnabled,
_isClientSideRowModel: () => _isClientSideRowModel,
_isColumnMenuAnchoringEnabled: () => _isColumnMenuAnchoringEnabled,
_isColumnsSortingCoupledToGroup: () => _isColumnsSortingCoupledToGroup,
_isDomLayout: () => _isDomLayout,
_isElementInEventPath: () => _isElementInEventPath,
_isElementOverflowingCallback: () => _isElementOverflowingCallback,
_isEventFromPrintableCharacter: () => _isEventFromPrintableCharacter,
_isFullWidthGroupRow: () => _isFullWidthGroupRow,
_isGetRowHeightFunction: () => _isGetRowHeightFunction,
_isGroupMultiAutoColumn: () => _isGroupMultiAutoColumn,
_isGroupRowsSticky: () => _isGroupRowsSticky,
_isGroupUseEntireRow: () => _isGroupUseEntireRow,
_isIOSUserAgent: () => _isIOSUserAgent,
_isKeyboardMode: () => _isKeyboardMode,
_isLegacyMenuEnabled: () => _isLegacyMenuEnabled,
_isMultiRowSelection: () => _isMultiRowSelection,
_isNodeOrElement: () => _isNodeOrElement,
_isNothingFocused: () => _isNothingFocused,
_isPromise: () => _isPromise,
_isRowBefore: () => _isRowBefore,
_isRowSelection: () => _isRowSelection,
_isSameRow: () => _isSameRow,
_isServerSideRowModel: () => _isServerSideRowModel,
_isSetFilterByDefault: () => _isSetFilterByDefault,
_isShowTooltipWhenTruncated: () => _isShowTooltipWhenTruncated,
_isStopPropagationForAgGrid: () => _isStopPropagationForAgGrid,
_isUseApplyButton: () => _isUseApplyButton,
_isUsingNewCellSelectionAPI: () => _isUsingNewCellSelectionAPI,
_isUsingNewRowSelectionAPI: () => _isUsingNewRowSelectionAPI,
_isVisible: () => _isVisible,
_jsonEquals: () => _jsonEquals,
_last: () => _last,
_loadTemplate: () => _loadTemplate,
_makeNull: () => _makeNull,
_mergeDeep: () => _mergeDeep,
_missing: () => _missing,
_observeResize: () => _observeResize,
_parseDateTimeFromString: () => _parseDateTimeFromString,
_preInitErrMsg: () => _preInitErrMsg,
_preserveRangesWhile: () => _preserveRangesWhile,
_processOnChange: () => _processOnChange,
_radioCssClass: () => _radioCssClass,
_refreshFilterUi: () => _refreshFilterUi,
_refreshHandlerAndUi: () => _refreshHandlerAndUi,
_registerModule: () => _registerModule,
_removeAriaExpanded: () => _removeAriaExpanded,
_removeAriaSort: () => _removeAriaSort,
_removeFromArray: () => _removeFromArray,
_removeFromParent: () => _removeFromParent,
_requestAnimationFrame: () => _requestAnimationFrame,
_resetColumnState: () => _resetColumnState,
_selectAllCells: () => _selectAllCells,
_serialiseDate: () => _serialiseDate,
_setAriaActiveDescendant: () => _setAriaActiveDescendant,
_setAriaChecked: () => _setAriaChecked,
_setAriaColCount: () => _setAriaColCount,
_setAriaColIndex: () => _setAriaColIndex,
_setAriaColSpan: () => _setAriaColSpan,
_setAriaControls: () => _setAriaControls,
_setAriaControlsAndLabel: () => _setAriaControlsAndLabel,
_setAriaDescribedBy: () => _setAriaDescribedBy,
_setAriaDisabled: () => _setAriaDisabled,
_setAriaExpanded: () => _setAriaExpanded,
_setAriaHasPopup: () => _setAriaHasPopup,
_setAriaHidden: () => _setAriaHidden,
_setAriaInvalid: () => _setAriaInvalid,
_setAriaLabel: () => _setAriaLabel,
_setAriaLabelledBy: () => _setAriaLabelledBy,
_setAriaLevel: () => _setAriaLevel,
_setAriaPosInSet: () => _setAriaPosInSet,
_setAriaRole: () => _setAriaRole,
_setAriaRowCount: () => _setAriaRowCount,
_setAriaRowIndex: () => _setAriaRowIndex,
_setAriaSelected: () => _setAriaSelected,
_setAriaSetSize: () => _setAriaSetSize,
_setAriaSort: () => _setAriaSort,
_setColMenuVisible: () => _setColMenuVisible,
_setDisabled: () => _setDisabled,
_setDisplayed: () => _setDisplayed,
_setFixedWidth: () => _setFixedWidth,
_setUmd: () => _setUmd,
_setVisible: () => _setVisible,
_shouldUpdateColVisibilityAfterGroup: () => _shouldUpdateColVisibilityAfterGroup,
_stopPropagationForAgGrid: () => _stopPropagationForAgGrid,
_toString: () => _toString,
_toStringOrNull: () => _toStringOrNull,
_translate: () => _translate,
_unwrapUserComp: () => _unwrapUserComp,
_updateColsMap: () => _updateColsMap,
_updateColumnState: () => _updateColumnState,
_updateFilterModel: () => _updateFilterModel,
_waitUntil: () => _waitUntil,
_warn: () => _warn,
_warnOnce: () => _warnOnce,
buttonStyleAlpine: () => buttonStyleAlpine,
buttonStyleBalham: () => buttonStyleBalham,
buttonStyleBase: () => buttonStyleBase,
buttonStyleQuartz: () => buttonStyleQuartz,
checkboxStyleDefault: () => checkboxStyleDefault,
colorSchemeDark: () => colorSchemeDark,
colorSchemeDarkBlue: () => colorSchemeDarkBlue,
colorSchemeDarkWarm: () => colorSchemeDarkWarm,
colorSchemeLight: () => colorSchemeLight,
colorSchemeLightCold: () => colorSchemeLightCold,
colorSchemeLightWarm: () => colorSchemeLightWarm,
colorSchemeVariable: () => colorSchemeVariable,
columnDropStyleBordered: () => columnDropStyleBordered,
columnDropStylePlain: () => columnDropStylePlain,
convertColumnGroupState: () => convertColumnGroupState,
convertColumnState: () => convertColumnState,
createGrid: () => createGrid,
createPart: () => createPart,
createTheme: () => createTheme,
iconOverrides: () => iconOverrides,
iconSetAlpine: () => iconSetAlpine,
iconSetMaterial: () => iconSetMaterial,
iconSetQuartz: () => iconSetQuartz,
iconSetQuartzBold: () => iconSetQuartzBold,
iconSetQuartzLight: () => iconSetQuartzLight,
iconSetQuartzRegular: () => iconSetQuartzRegular,
inputStyleBase: () => inputStyleBase,
inputStyleBordered: () => inputStyleBordered,
inputStyleUnderlined: () => inputStyleUnderlined,
isColumn: () => isColumn,
isColumnGroup: () => isColumnGroup,
isColumnGroupAutoCol: () => isColumnGroupAutoCol,
isColumnSelectionCol: () => isColumnSelectionCol,
isCombinedFilterModel: () => isCombinedFilterModel,
isProvidedColumnGroup: () => isProvidedColumnGroup,
isRowNumberCol: () => isRowNumberCol,
provideGlobalGridOptions: () => provideGlobalGridOptions,
styleMaterial: () => styleMaterial,
tabStyleAlpine: () => tabStyleAlpine,
tabStyleBase: () => tabStyleBase,
tabStyleMaterial: () => tabStyleMaterial,
tabStyleQuartz: () => tabStyleQuartz,
tabStyleRolodex: () => tabStyleRolodex,
themeAlpine: () => themeAlpine,
themeBalham: () => themeBalham,
themeMaterial: () => themeMaterial,
themeQuartz: () => themeQuartz
});
module.exports = __toCommonJS(main_exports);
// packages/ag-grid-community/src/localEventService.ts
var LocalEventService = 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 = {};
}
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) {
(async ? this.allAsyncListeners : this.allSyncListeners).delete(eventType);
}
}
addGlobalListener(listener, async = false) {
this.getGlobalListeners(async).add(listener);
}
removeGlobalListener(listener, async = false) {
this.getGlobalListeners(async).delete(listener);
}
dispatchEvent(event) {
this.dispatchToListeners(event, true);
this.dispatchToListeners(event, false);
this.firedEvents[event.type] = true;
}
dispatchEventOnce(event) {
if (!this.firedEvents[event.type]) {
this.dispatchEvent(event);
}
}
dispatchToListeners(event, async) {
const eventType = event.type;
if (async && "event" in event) {
const browserEvent = event.event;
if (browserEvent instanceof Event) {
event.eventPath = browserEvent.composedPath();
}
}
const { frameworkOverrides } = this;
const runCallback = (func) => {
const callback = frameworkOverrides ? () => frameworkOverrides.wrapIncoming(func) : func;
if (async) {
this.dispatchAsync(callback);
} else {
callback();
}
};
const originalListeners = this.getListeners(eventType, async, false);
if ((originalListeners?.size ?? 0) > 0) {
const listeners = new Set(originalListeners);
for (const listener of listeners) {
if (!originalListeners?.has(listener)) {
continue;
}
runCallback(() => listener(event));
}
}
const globalListenersSrc = this.getGlobalListeners(async);
if (globalListenersSrc.size > 0) {
const globalListeners = new Set(globalListenersSrc);
for (const listener of globalListeners) {
runCallback(() => listener(eventType, event));
}
}
}
getGlobalListeners(async) {
return async ? this.globalAsyncListeners : this.globalSyncListeners;
}
// 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) {
const flush = () => {
window.setTimeout(this.flushAsyncQueue.bind(this), 0);
};
this.frameworkOverrides ? this.frameworkOverrides.wrapIncoming(flush) : flush();
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());
}
};
// packages/ag-grid-community/src/misc/locale/localeUtils.ts
function defaultLocaleTextFunc(_key, defaultValue) {
return defaultValue;
}
function _getLocaleTextFunc(localeSvc) {
return localeSvc?.getLocaleTextFunc() ?? defaultLocaleTextFunc;
}
function _translate(bean, localeValues, key, variableValues) {
const defaultValue = localeValues[key];
return bean.getLocaleTextFunc()(
key,
typeof defaultValue === "function" ? defaultValue(variableValues) : defaultValue,
variableValues
);
}
// packages/ag-grid-community/src/utils/generic.ts
function _makeNull(value) {
if (value == null || value === "") {
return null;
}
return value;
}
function _exists(value) {
return value != null && value !== "";
}
function _missing(value) {
return !_exists(value);
}
function _toStringOrNull(value) {
return value != null && typeof value.toString === "function" ? value.toString() : null;
}
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);
}
}
// packages/ag-grid-community/src/utils/object.ts
var SKIP_JS_BUILTINS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
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 of Object.keys(object)) {
callback(key, object[key]);
}
}
function _mergeDeep(dest, source, copyUndefined = true, makeCopyOfSimpleObjects = false) {
if (!_exists(source)) {
return;
}
_iterateObject(source, (key, sourceValue) => {
if (SKIP_JS_BUILTINS.has(key)) {
return;
}
let destValue = dest[key];
if (destValue === sourceValue) {
return;
}
if (makeCopyOfSimpleObjects) {
const objectIsDueToBeCopied = destValue == null && sourceValue != null;
if (objectIsDueToBeCopied) {
const doNotCopyAsSourceIsSimpleObject = typeof sourceValue === "object" && sourceValue.constructor === Object;
if (doNotCopyAsSourceIsSimpleObject) {
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 _isNonNullObject(value) {
return typeof value === "object" && value !== null;
}
// packages/ag-grid-community/src/globalGridOptions.ts
var _GlobalGridOptions = class _GlobalGridOptions {
/**
* @param providedOptions
* @returns Shallow copy of the provided options with global options merged in.
*/
static applyGlobalGridOptions(providedOptions) {
if (!_GlobalGridOptions.gridOptions) {
return { ...providedOptions };
}
let mergedGridOps = {};
_mergeDeep(mergedGridOps, _GlobalGridOptions.gridOptions, true, true);
if (_GlobalGridOptions.mergeStrategy === "deep") {
_mergeDeep(mergedGridOps, providedOptions, true, true);
} else {
mergedGridOps = { ...mergedGridOps, ...providedOptions };
}
if (_GlobalGridOptions.gridOptions.context) {
mergedGridOps.context = _GlobalGridOptions.gridOptions.context;
}
if (providedOptions.context) {
if (_GlobalGridOptions.mergeStrategy === "deep" && mergedGridOps.context) {
_mergeDeep(providedOptions.context, mergedGridOps.context, true, true);
}
mergedGridOps.context = providedOptions.context;
}
return mergedGridOps;
}
};
_GlobalGridOptions.gridOptions = void 0;
_GlobalGridOptions.mergeStrategy = "shallow";
var GlobalGridOptions = _GlobalGridOptions;
function provideGlobalGridOptions(gridOptions, mergeStrategy = "shallow") {
GlobalGridOptions.gridOptions = gridOptions;
GlobalGridOptions.mergeStrategy = mergeStrategy;
}
function _getGlobalGridOption(gridOption) {
return GlobalGridOptions.gridOptions?.[gridOption];
}
// packages/ag-grid-community/src/gridOptionsDefault.ts
var GRID_OPTION_DEFAULTS = {
suppressContextMenu: false,
preventDefaultOnContextMenu: false,
allowContextMenuWithControlKey: false,
suppressMenuHide: true,
enableBrowserTooltips: false,
tooltipTrigger: "hover",
tooltipShowDelay: 2e3,
tooltipHideDelay: 1e4,
tooltipMouseTrack: false,
tooltipShowMode: "standard",
tooltipInteraction: false,
copyHeadersToClipboard: false,
copyGroupHeadersToClipboard: false,
clipboardDelimiter: " ",
suppressCopyRowsToClipboard: false,
suppressCopySingleCellRanges: false,
suppressLastEmptyLineOnPaste: false,
suppressClipboardPaste: false,
suppressClipboardApi: false,
suppressCutToClipboard: false,
maintainColumnOrder: false,
enableStrictPivotColumnOrder: false,
suppressFieldDotNotation: false,
allowDragFromColumnsToolPanel: false,
suppressMovableColumns: false,
suppressColumnMoveAnimation: false,
suppressMoveWhenColumnDragging: false,
suppressDragLeaveHidesColumns: false,
suppressRowGroupHidesColumns: false,
suppressAutoSize: false,
autoSizePadding: 20,
skipHeaderOnAutoSize: false,
singleClickEdit: false,
suppressClickEdit: false,
readOnlyEdit: false,
stopEditingWhenCellsLoseFocus: false,
enterNavigatesVertically: false,
enterNavigatesVerticallyAfterEdit: false,
enableCellEditingOnBackspace: false,
undoRedoCellEditing: false,
undoRedoCellEditingLimit: 10,
suppressCsvExport: false,
suppressExcelExport: false,
cacheQuickFilter: false,
includeHiddenColumnsInQuickFilter: false,
excludeChildrenWhenTreeDataFiltering: false,
enableAdvancedFilter: false,
includeHiddenColumnsInAdvancedFilter: false,
enableCharts: false,
masterDetail: false,
keepDetailRows: false,
keepDetailRowsCount: 10,
detailRowAutoHeight: false,
tabIndex: 0,
rowBuffer: 10,
valueCache: false,
valueCacheNeverExpires: false,
enableCellExpressions: false,
suppressTouch: false,
suppressFocusAfterRefresh: false,
suppressBrowserResizeObserver: false,
suppressPropertyNamesCheck: false,
suppressChangeDetection: false,
debug: false,
suppressLoadingOverlay: false,
suppressNoRowsOverlay: false,
pagination: false,
paginationPageSize: 100,
paginationPageSizeSelector: true,
paginationAutoPageSize: false,
paginateChildRows: false,
suppressPaginationPanel: false,
pivotMode: false,
pivotPanelShow: "never",
pivotDefaultExpanded: 0,
pivotSuppressAutoColumn: false,
suppressExpandablePivotGroups: false,
functionsReadOnly: false,
suppressAggFuncInHeader: false,
alwaysAggregateAtRootLevel: false,
aggregateOnlyChangedColumns: false,
suppressAggFilteredOnly: false,
removePivotHeaderRowWhenSingleValueColumn: false,
animateRows: true,
cellFlashDuration: 500,
cellFadeDuration: 1e3,
allowShowChangeAfterFilter: false,
domLayout: "normal",
ensureDomOrder: false,
enableRtl: false,
suppressColumnVirtualisation: false,
suppressMaxRenderedRowRestriction: false,
suppressRowVirtualisation: false,
rowDragManaged: false,
rowDragInsertDelay: 500,
suppressRowDrag: false,
suppressMoveWhenRowDragging: false,
rowDragEntireRow: false,
rowDragMultiRow: false,
embedFullWidthRows: false,
groupDisplayType: "singleColumn",
groupDefaultExpanded: 0,
groupMaintainOrder: false,
groupSelectsChildren: false,
groupSuppressBlankHeader: false,
groupSelectsFiltered: false,
showOpenedGroup: false,
groupRemoveSingleChildren: false,
groupRemoveLowestSingleChildren: false,
groupHideOpenParents: false,
groupAllowUnbalanced: false,
rowGroupPanelShow: "never",
suppressMakeColumnVisibleAfterUnGroup: false,
treeData: false,
rowGroupPanelSuppressSort: false,
suppressGroupRowsSticky: false,
rowModelType: "clientSide",
asyncTransactionWaitMillis: 50,
suppressModelUpdateAfterUpdateTransaction: false,
cacheOverflowSize: 1,
infiniteInitialRowCount: 1,
serverSideInitialRowCount: 1,
cacheBlockSize: 100,
maxBlocksInCache: -1,
maxConcurrentDatasourceRequests: 2,
blockLoadDebounceMillis: 0,
purgeClosedRowNodes: false,
serverSideSortAllLevels: false,
serverSideOnlyRefreshFilteredGroups: false,
serverSidePivotResultFieldSeparator: "_",
viewportRowModelPageSize: 5,
viewportRowModelBufferSize: 5,
alwaysShowHorizontalScroll: false,
alwaysShowVerticalScroll: false,
debounceVerticalScrollbar: false,
suppressHorizontalScroll: false,
suppressScrollOnNewData: false,
suppressScrollWhenPopupsAreOpen: false,
suppressAnimationFrame: false,
suppressMiddleClickScrolls: false,
suppressPreventDefaultOnMouseWheel: false,
rowMultiSelectWithClick: false,
suppressRowDeselection: false,
suppressRowClickSelection: false,
suppressCellFocus: false,
suppressHeaderFocus: false,
suppressMultiRangeSelection: false,
enableCellTextSelection: false,
enableRangeSelection: false,
enableRangeHandle: false,
enableFillHandle: false,
fillHandleDirection: "xy",
suppressClearOnFillReduction: false,
accentedSort: false,
unSortIcon: false,
suppressMultiSort: false,
alwaysMultiSort: false,
suppressMaintainUnsortedOrder: false,
suppressRowHoverHighlight: false,
suppressRowTransform: false,
columnHoverHighlight: false,
deltaSort: false,
enableGroupEdit: false,
groupLockGroupColumns: 0,
serverSideEnableClientSideSort: false,
suppressServerSideFullWidthLoadingRow: false,
pivotMaxGeneratedColumns: -1,
columnMenu: "new",
reactiveCustomComponents: true,
suppressSetFilterByDefault: false,
rowNumbers: false,
enableFilterHandlers: false
};
// packages/ag-grid-community/src/utils/aria.ts
function _toggleAriaAttribute(element, attribute, value) {
if (value == null || typeof value === "string" && value == "") {
_removeAriaAttribute(element, attribute);
} else {
_setAriaAttribute(element, attribute, value);
}
}
function _setAriaAttribute(element, attribute, value) {
element.setAttribute(_ariaAttributeName(attribute), value.toString());
}
function _removeAriaAttribute(element, attribute) {
element.removeAttribute(_ariaAttributeName(attribute));
}
function _ariaAttributeName(attribute) {
return `aria-${attribute}`;
}
function _setAriaRole(element, role) {
if (role) {
element.setAttribute("role", role);
} else {
element.removeAttribute("role");
}
}
function _getAriaSortState(sortDirection) {
let sort;
if (sortDirection === "asc") {
sort = "ascending";
} else if (sortDirection === "desc") {
sort = "descending";
} else if (sortDirection === "mixed") {
sort = "other";
} else {
sort = "none";
}
return sort;
}
function _getAriaPosInSet(element) {
return parseInt(element.getAttribute("aria-posinset"), 10);
}
function _getAriaLabel(element) {
return element.getAttribute("aria-label");
}
function _setAriaLabel(element, label) {
_toggleAriaAttribute(element, "label", label);
}
function _setAriaLabelledBy(element, labelledBy) {
_toggleAriaAttribute(element, "labelledby", labelledBy);
}
function _setAriaDescribedBy(element, describedby) {
_toggleAriaAttribute(element, "describedby", describedby);
}
function _setAriaLive(element, live) {
_toggleAriaAttribute(element, "live", live);
}
function _setAriaAtomic(element, atomic) {
_toggleAriaAttribute(element, "atomic", atomic);
}
function _setAriaRelevant(element, relevant) {
_toggleAriaAttribute(element, "relevant", relevant);
}
function _setAriaInvalid(element, invalid) {
_toggleAriaAttribute(element, "invalid", invalid);
}
function _setAriaLevel(element, level) {
_toggleAriaAttribute(element, "level", level);
}
function _setAriaDisabled(element, disabled) {
_toggleAriaAttribute(element, "disabled", disabled);
}
function _setAriaHidden(element, hidden) {
_toggleAriaAttribute(element, "hidden", hidden);
}
function _setAriaActiveDescendant(element, descendantId) {
_toggleAriaAttribute(element, "activedescendant", descendantId);
}
function _setAriaExpanded(element, expanded) {
_setAriaAttribute(element, "expanded", expanded);
}
function _removeAriaExpanded(element) {
_removeAriaAttribute(element, "expanded");
}
function _setAriaSetSize(element, setsize) {
_setAriaAttribute(element, "setsize", setsize);
}
function _setAriaPosInSet(element, position) {
_setAriaAttribute(element, "posinset", position);
}
function _setAriaMultiSelectable(element, multiSelectable) {
_setAriaAttribute(element, "multiselectable", multiSelectable);
}
function _setAriaRowCount(element, rowCount) {
_setAriaAttribute(element, "rowcount", rowCount);
}
function _setAriaRowIndex(element, rowIndex) {
_setAriaAttribute(element, "rowindex", rowIndex);
}
function _setAriaRowSpan(element, spanCount) {
_setAriaAttribute(element, "rowspan", spanCount);
}
function _setAriaColCount(element, colCount) {
_setAriaAttribute(element, "colcount", colCount);
}
function _setAriaColIndex(element, colIndex) {
_setAriaAttribute(element, "colindex", colIndex);
}
function _setAriaColSpan(element, colSpan) {
_setAriaAttribute(element, "colspan", colSpan);
}
function _setAriaSort(element, sort) {
_setAriaAttribute(element, "sort", sort);
}
function _removeAriaSort(element) {
_removeAriaAttribute(element, "sort");
}
function _setAriaSelected(element, selected) {
_toggleAriaAttribute(element, "selected", selected);
}
function _setAriaChecked(element, checked) {
_setAriaAttribute(element, "checked", checked === void 0 ? "mixed" : checked);
}
function _setAriaControls(controllerElement, controlledId) {
_toggleAriaAttribute(controllerElement, "controls", controlledId);
}
function _setAriaControlsAndLabel(controllerElement, controlledElement) {
_setAriaControls(controllerElement, controlledElement.id);
_setAriaLabelledBy(controlledElement, controllerElement.id);
}
function _setAriaHasPopup(element, hasPopup) {
_toggleAriaAttribute(element, "haspopup", hasPopup === false ? null : hasPopup);
}
function _getAriaCheckboxStateName(translate, state) {
return state === void 0 ? translate("ariaIndeterminate", "indeterminate") : state === true ? translate("ariaChecked", "checked") : translate("ariaUnchecked", "unchecked");
}
// packages/ag-grid-community/src/utils/browser.ts
var isSafari;
var isFirefox;
var isMacOs;
var isIOS;
var invisibleScrollbar;
var browserScrollbarWidth;
var maxDivHeight;
function _isBrowserSafari() {
if (isSafari === void 0) {
isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
}
return isSafari;
}
function _isBrowserFirefox() {
if (isFirefox === void 0) {
isFirefox = /(firefox)/i.test(navigator.userAgent);
}
return isFirefox;
}
function _isMacOsUserAgent() {
if (isMacOs === void 0) {
isMacOs = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
}
return isMacOs;
}
function _isIOSUserAgent() {
if (isIOS === void 0) {
isIOS = /iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
}
return isIOS;
}
function _getTabIndex(el) {
if (!el) {
return null;
}
const numberTabIndex = el.tabIndex;
const tabIndex = el.getAttribute("tabIndex");
if (numberTabIndex === -1 && (tabIndex === null || tabIndex === "" && !_isBrowserFirefox())) {
return null;
}
return numberTabIndex.toString();
}
function _getMaxDivHeight() {
if (maxDivHeight !== void 0) {
return maxDivHeight;
}
if (!document.body) {
return -1;
}
let res = 1e6;
const testUpTo = _isBrowserFirefox() ? 6e6 : 1e9;
const div = document.createElement("div");
document.body.appendChild(div);
while (true) {
const test = res * 2;
div.style.height = test + "px";
if (test > testUpTo || div.clientHeight !== test) {
break;
} else {
res = test;
}
}
document.body.removeChild(div);
maxDivHeight = res;
return res;
}
function _getScrollbarWidth() {
if (browserScrollbarWidth == null) {
initScrollbarWidthAndVisibility();
}
return browserScrollbarWidth;
}
function initScrollbarWidthAndVisibility() {
const body = document.body;
const div = document.createElement("div");
div.style.width = div.style.height = "100px";
div.style.opacity = "0";
div.style.overflow = "scroll";
div.style.msOverflowStyle = "scrollbar";
div.style.position = "absolute";
body.appendChild(div);
let width = div.offsetWidth - div.clientWidth;
if (width === 0 && div.clientWidth === 0) {
width = null;
}
if (div.parentNode) {
div.parentNode.removeChild(div);
}
if (width != null) {
browserScrollbarWidth = width;
invisibleScrollbar = width === 0;
}
}
function _isInvisibleScrollbar() {
if (invisibleScrollbar == null) {
initScrollbarWidthAndVisibility();
}
return invisibleScrollbar;
}
// packages/ag-grid-community/src/utils/dom.ts
function _radioCssClass(element, elementClass, otherElementClass) {
const parent = element.parentElement;
let sibling = parent && parent.firstChild;
while (sibling) {
if (elementClass) {
sibling.classList.toggle(elementClass, sibling === element);
}
if (otherElementClass) {
sibling.classList.toggle(otherElementClass, sibling !== element);
}
sibling = sibling.nextSibling;
}
}
var FOCUSABLE_SELECTOR = "[tabindex], input, select, button, textarea, [href]";
var FOCUSABLE_EXCLUDE = "[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";
function _isFocusableFormField(element) {
const matches = Element.prototype.matches || Element.prototype.msMatchesSelector;
const inputSelector = "input, select, button, textarea";
const isFocusable = matches.call(element, inputSelector);
const isNotFocusable = matches.call(element, FOCUSABLE_EXCLUDE);
const isElementVisible = _isVisible(element);
const focusable = isFocusable && !isNotFocusable && isElementVisible;
return focusable;
}
function _setDisplayed(element, displayed, options = {}) {
const { skipAriaHidden } = options;
element.classList.toggle("ag-hidden", !displayed);
if (!skipAriaHidden) {
_setAriaHidden(element, !displayed);
}
}
function _setVisible(element, visible, options = {}) {
const { skipAriaHidden } = options;
element.classList.toggle("ag-invisible", !visible);
if (!skipAriaHidden) {
_setAriaHidden(element, !visible);
}
}
function _setDisabled(element, disabled) {
const attributeName = "disabled";
const addOrRemoveDisabledAttribute = disabled ? (e) => e.setAttribute(attributeName, "") : (e) => e.removeAttribute(attributeName);
addOrRemoveDisabledAttribute(element);
const inputs = element.querySelectorAll("input") ?? [];
for (const input of inputs) {
addOrRemoveDisabledAttribute(input);
}
}
function _isElementChildOfClass(element, cls, maxNest) {
let counter = 0;
while (element) {
if (element.classList.contains(cls)) {
return true;
}
element = element.parentElement;
if (typeof maxNest == "number") {
if (++counter > maxNest) {
break;
}
} else if (element === maxNest) {
break;
}
}
return false;
}
function _getElementSize(el) {
const {
height,
width,
borderTopWidth,
borderRightWidth,
borderBottomWidth,
borderLeftWidth,
paddingTop,
paddingRight,
paddingBottom,
paddingLeft,
marginTop,
marginRight,
marginBottom,
marginLeft,
boxSizing
} = window.getComputedStyle(el);
return {
height: parseFloat(height || "0"),
width: parseFloat(width || "0"),
borderTopWidth: parseFloat(borderTopWidth || "0"),
borderRightWidth: parseFloat(borderRightWidth || "0"),
borderBottomWidth: parseFloat(borderBottomWidth || "0"),
borderLeftWidth: parseFloat(borderLeftWidth || "0"),
paddingTop: parseFloat(paddingTop || "0"),
paddingRight: parseFloat(paddingRight || "0"),
paddingBottom: parseFloat(paddingBottom || "0"),
paddingLeft: parseFloat(paddingLeft || "0"),
marginTop: parseFloat(marginTop || "0"),
marginRight: parseFloat(marginRight || "0"),
marginBottom: parseFloat(marginBottom || "0"),
marginLeft: parseFloat(marginLeft || "0"),
boxSizing
};
}
function _getInnerHeight(el) {
const size = _getElementSize(el);
if (size.boxSizing === "border-box") {
return size.height - size.paddingTop - size.paddingBottom;
}
return size.height;
}
function _getInnerWidth(el) {
const size = _getElementSize(el);
if (size.boxSizing === "border-box") {
return size.width - size.paddingLeft - size.paddingRight;
}
return size.width;
}
function _getAbsoluteHeight(el) {
const { height, marginBottom, marginTop } = _getElementSize(el);
return Math.floor(height + marginBottom + marginTop);
}
function _getAbsoluteWidth(el) {
const { width, marginLeft, marginRight } = _getElementSize(el);
return Math.floor(width + marginLeft + marginRight);
}
function _getElementRectWithOffset(el) {
const offsetElementRect = el.getBoundingClientRect();
const { borderTopWidth, borderLeftWidth, borderRightWidth, borderBottomWidth } = _getElementSize(el);
return {
top: offsetElementRect.top + (borderTopWidth || 0),
left: offsetElementRect.left + (borderLeftWidth || 0),
right: offsetElementRect.right + (borderRightWidth || 0),
bottom: offsetElementRect.bottom + (borderBottomWidth || 0)
};
}
function _getScrollLeft(element, rtl) {
let scrollLeft = element.scrollLeft;
if (rtl) {
scrollLeft = Math.abs(scrollLeft);
}
return scrollLeft;
}
function _setScrollLeft(element, value, rtl) {
if (rtl) {
value *= -1;
}
element.scrollLeft = value;
}
function _clearElement(el) {
while (el && el.firstChild) {
el.removeChild(el.firstChild);
}
}
function _removeFromParent(node) {
if (node && node.parentNode) {
node.parentNode.removeChild(node);
}
}
function _isInDOM(element) {
return !!element.offsetParent;
}
function _isVisible(element) {
const el = element;
if (el.checkVisibility) {
return el.checkVisibility({ checkVisibilityCSS: true });
}
const isHidden = !_isInDOM(element) || window.getComputedStyle(element).visibility !== "visible";
return !isHidden;
}
function _loadTemplate(template) {
const tempDiv = document.createElement("div");
tempDiv.innerHTML = (template || "").trim();
return tempDiv.firstChild;
}
function _ensureDomOrder(eContainer, eChild, eChildBefore) {
if (eChildBefore && eChildBefore.nextSibling === eChild) {
return;
}
if (!eContainer.firstChild) {
eContainer.appendChild(eChild);
} else if (eChildBefore) {
if (eChildBefore.nextSibling) {
eContainer.insertBefore(eChild, eChildBefore.nextSibling);
} else {
eContainer.appendChild(eChild);
}
} else if (eContainer.firstChild && eContainer.firstChild !== eChild) {
eContainer.insertAdjacentElement("afterbegin", eChild);
}
}
function _setDomChildOrder(eContainer, orderedChildren) {
for (let i = 0; i < orderedChildren.length; i++) {
const correctCellAtIndex = orderedChildren[i];
const actualCellAtIndex = eContainer.children[i];
if (actualCellAtIndex !== correctCellAtIndex) {
eContainer.insertBefore(correctCellAtIndex, actualCellAtIndex);
}
}
}
function _camelCaseToHyphenated(camelCase) {
return camelCase.replace(/[A-Z]/g, (s) => `-${s.toLocaleLowerCase()}`);
}
function _addStylesToElement(eElement, styles) {
if (!styles) {
return;
}
for (const key of Object.keys(styles)) {
const value = styles[key];
if (!key || !key.length || value == null) {
continue;
}
const parsedKey = _camelCaseToHyphenated(key);
const valueAsString = value.toString();
const parsedValue = valueAsString.replace(/\s*!important/g, "");
const priority = parsedValue.length != valueAsString.length ? "important" : void 0;
eElement.style.setProperty(parsedKey, parsedValue, priority);
}
}
function _isElementOverflowingCallback(getElement2) {
return () => {
const element = getElement2();
if (!element) {
return true;
}
return _isHorizontalScrollShowing(element);
};
}
function _isHorizontalScrollShowing(element) {
return element.clientWidth < element.scrollWidth;
}
function _isVerticalScrollShowing(element) {
return element.clientHeight < element.scrollHeight;
}
function _setElementWidth(element, width) {
if (width === "flex") {
element.style.removeProperty("width");
element.style.removeProperty("minWidth");
element.style.removeProperty("maxWidth");
element.style.flex = "1 1 auto";
} else {
_setFixedWidth(element, width);
}
}
function _setFixedWidth(element, width) {
width = _formatSize(width);
element.style.width = width;
element.style.maxWidth = width;
element.style.minWidth = width;
}
function _setFixedHeight(element, height) {
height = _formatSize(height);
element.style.height = height;
element.style.maxHeight = height;
element.style.minHeight = height;
}
function _formatSize(size) {
return typeof size === "number" ? `${size}px` : size;
}
function _isNodeOrElement(o) {
return o instanceof Node || o instanceof HTMLElement;
}
function _addOrRemoveAttribute(element, name, value) {
if (value == null || value === "") {
element.removeAttribute(name);
} else {
element.setAttribute(name, value.toString());
}
}
function _observeResize(beans, element, callback) {
const win = _getWindow(beans);
const ResizeObserverImpl = win.ResizeObserver;
const resizeObser