@ng-zi/extensions-ag-grid
Version:
AgGrid Extension for Ag-grid
1 lines • 37.9 kB
Source Map (JSON)
{"version":3,"file":"mtxAgGrid.mjs","sources":["../../ag-grid.ts","../../ag-grid.module.ts","../../reference/angularFrameworkComponentWrapper.ts","../../reference/angularFrameworkOverrides.ts","../../reference/ag-grid.models.ts","../../mtxAgGrid.ts"],"sourcesContent":["import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tElementRef,\r\n\tHostBinding,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tSimpleChanges,\r\n\tViewContainerRef,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { NgIf } from '@angular/common';\r\nimport {\r\n\tAgGridAngular,\r\n\tAgGridModule,\r\n\tAngularFrameworkComponentWrapper,\r\n\tAngularFrameworkOverrides,\r\n} from 'ag-grid-angular';\r\n\r\nimport { LicenseManager } from 'ag-grid-enterprise';\r\n\r\nLicenseManager.setLicenseKey(\r\n\t'Using_this_{AG_Grid}_Enterprise_key_{AG-073130}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{K12insight_LLC}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{k12insight}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{k12insight}_need_to_be_licensed___{k12insight}_has_been_granted_a_Deployment_License_Add-on_for_{1}_Production_Environment___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{9_December_2025}____[v3]_[01]_MTc2NTIzODQwMDAwMA==4e14752e9a31fc44065379e196e84403'\r\n);\r\n\r\n@Component({\r\n\tselector: 'mtx-ag-grid',\r\n\tstyleUrls: ['./ag-grid.scss'],\r\n\tstandalone: true,\r\n\ttemplate: '',\r\n\timports: [AgGridModule],\r\n\tproviders: [AngularFrameworkOverrides, AngularFrameworkComponentWrapper, NgIf],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\thost: {\r\n\t\tclass: 'mtx-ag-grid',\r\n\t\trole: 'data-grid',\r\n\t},\r\n})\r\nexport class MtxAgGrid\r\n\textends AgGridAngular\r\n\timplements OnInit, AfterViewInit, OnChanges, OnDestroy\r\n{\r\n\t@Input() gridHeight!: string | number;\r\n\t@Input() gridWidth!: string | number;\r\n\t@HostBinding('style.height') componentHeight!: string;\r\n\t@HostBinding('style.width') componentWidth!: string;\r\n\r\n\tpublic gridElement!: ElementRef;\r\n\r\n\tconstructor(\r\n\t\telementDef: ElementRef,\r\n\t\tviewContainerRef: ViewContainerRef,\r\n\t\tangularFrameworkOverrides: AngularFrameworkOverrides,\r\n\t\tframeworkComponentWrapper: AngularFrameworkComponentWrapper\r\n\t) {\r\n\t\tsuper(elementDef, viewContainerRef, angularFrameworkOverrides, frameworkComponentWrapper);\r\n\t\tthis.gridElement = elementDef;\r\n\t}\r\n\r\n\tngOnInit(): void {}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (changes['gridHeight']) {\r\n\t\t\tthis.componentHeight = this.normalizeDimension(this.gridHeight);\r\n\t\t}\r\n\t\tif (changes['gridWidth']) {\r\n\t\t\tthis.componentWidth = this.normalizeDimension(this.gridWidth);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate normalizeDimension(value: undefined | string | number): string {\r\n\t\tif (typeof value === 'number') {\r\n\t\t\treturn `${value}px`;\r\n\t\t}\r\n\t\treturn value ? value.toString() : '';\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { MtxAgGrid } from './ag-grid';\r\nimport { AngularFrameworkComponentWrapper, AngularFrameworkOverrides } from 'ag-grid-angular';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tAgGridModule,\r\n\t\tMtxAgGrid\r\n\t],\r\n\texports: [MtxAgGrid],\r\n\tproviders: [\r\n\t\tAngularFrameworkOverrides,\r\n\t\tAngularFrameworkComponentWrapper\r\n\t]\r\n})\r\nexport class MtxAgGridModule { }\r\n","import {ComponentRef, Injectable, NgZone, ViewContainerRef} from \"@angular/core\";\r\nimport {BaseComponentWrapper, FrameworkComponentWrapper, GridApi, WrappableInterface} from 'ag-grid-community';\r\nimport { AngularFrameworkOverrides } from \"./angularFrameworkOverrides\";\r\nimport { AgFrameworkComponent } from \"./ag-grid.interfaces\";\r\n\r\n@Injectable()\r\nexport class AngularFrameworkComponentWrapper extends BaseComponentWrapper<WrappableInterface> implements FrameworkComponentWrapper {\r\n private viewContainerRef!: ViewContainerRef;\r\n private angularFrameworkOverrides!: AngularFrameworkOverrides;\r\n\r\n public setViewContainerRef(viewContainerRef: ViewContainerRef, angularFrameworkOverrides: AngularFrameworkOverrides) {\r\n this.viewContainerRef = viewContainerRef;\r\n this.angularFrameworkOverrides = angularFrameworkOverrides;\r\n }\r\n\r\n createWrapper(OriginalConstructor: { new(): any }, compType: any): WrappableInterface {\r\n let angularFrameworkOverrides = this.angularFrameworkOverrides;\r\n let that = this;\r\n class DynamicAgNg2Component extends BaseGuiComponent<any, AgFrameworkComponent<any>> implements WrappableInterface {\r\n init(params: any): void {\r\n angularFrameworkOverrides.runInsideAngular(() => {\r\n super.init(params);\r\n this._componentRef.changeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n protected createComponent(): ComponentRef<AgFrameworkComponent<any>> {\r\n return angularFrameworkOverrides.runInsideAngular(() => that.createComponent(OriginalConstructor));\r\n }\r\n\r\n hasMethod(name: string): boolean {\r\n return wrapper.getFrameworkComponentInstance()[name] != null;\r\n }\r\n\r\n callMethod(name: string, args: IArguments): void {\r\n const componentRef = this.getFrameworkComponentInstance();\r\n return angularFrameworkOverrides.runInsideAngular(() => wrapper.getFrameworkComponentInstance()[name].apply(componentRef, args));\r\n }\r\n\r\n addMethod(name: string, callback: Function): void {\r\n (wrapper as any)[name] = callback\r\n }\r\n }\r\n let wrapper = new DynamicAgNg2Component();\r\n return wrapper;\r\n }\r\n\r\n public createComponent<T>(componentType: { new(...args: any[]): T; }): ComponentRef<T> {\r\n return this.viewContainerRef.createComponent(componentType);\r\n }\r\n}\r\n\r\nabstract class BaseGuiComponent<P, T extends AgFrameworkComponent<P>> {\r\n protected _params!: P;\r\n protected _eGui!: HTMLElement;\r\n protected _componentRef!: ComponentRef<T>;\r\n protected _agAwareComponent!: T;\r\n protected _frameworkComponentInstance: any; // the users component - for accessing methods they create\r\n\r\n protected init(params: P): void {\r\n this._params = params;\r\n\r\n this._componentRef = this.createComponent();\r\n this._agAwareComponent = this._componentRef.instance;\r\n this._frameworkComponentInstance = this._componentRef.instance;\r\n this._eGui = this._componentRef.location.nativeElement;\r\n\r\n this._agAwareComponent.agInit(this._params);\r\n }\r\n\r\n public getGui(): HTMLElement {\r\n return this._eGui;\r\n }\r\n\r\n /** `getGui()` returns the `ng-component` element. This returns the actual root element. */\r\n public getRootElement(): HTMLElement {\r\n const firstChild = this._eGui.firstChild;\r\n return firstChild as HTMLElement;\r\n }\r\n\r\n public destroy(): void {\r\n if (this._frameworkComponentInstance && typeof this._frameworkComponentInstance.destroy === 'function') {\r\n this._frameworkComponentInstance.destroy();\r\n }\r\n if (this._componentRef) {\r\n this._componentRef.destroy();\r\n }\r\n }\r\n\r\n public getFrameworkComponentInstance(): any {\r\n return this._frameworkComponentInstance;\r\n }\r\n\r\n protected abstract createComponent(): ComponentRef<T>;\r\n}\r\n","import {Injectable, NgZone} from \"@angular/core\";\r\nimport {VanillaFrameworkOverrides, FrameworkOverridesIncomingSource} from \"ag-grid-community\";\r\n\r\n@Injectable()\r\nexport class AngularFrameworkOverrides extends VanillaFrameworkOverrides {\r\n // Flag used to control Zone behaviour when running tests as many test features rely on Zone.\r\n private isRunningWithinTestZone: boolean = false;\r\n\r\n private runOutside: <T>(callback: () => T, source?: FrameworkOverridesIncomingSource) => T;\r\n\r\n constructor(private _ngZone: NgZone ) {\r\n super('angular');\r\n\r\n this.isRunningWithinTestZone = (window as any)?.AG_GRID_UNDER_TEST ?? !!((window as any)?.Zone?.AsyncTestZoneSpec);\r\n\r\n if(!this._ngZone){\r\n this.runOutside = (callback) => callback();\r\n }else if(this.isRunningWithinTestZone){\r\n this.runOutside = (callback, source) =>{\r\n if(source === 'resize-observer'){\r\n // ensure resize observer callbacks are run outside of Angular even under test due to Jest not supporting ResizeObserver\r\n // which means it just loops continuously with a setTimeout with no way to flush the queue or have fixture.whenStable() resolve.\r\n return this._ngZone.runOutsideAngular(callback);\r\n }\r\n // When under test run inside Angular so that tests can use fixture.whenStable() to wait for async operations to complete.\r\n return callback();\r\n };\r\n }else{\r\n this.runOutside = (callback) => this._ngZone.runOutsideAngular(callback);\r\n }\r\n }\r\n\r\n // Make all events run outside Angular as they often trigger the setup of event listeners\r\n // By having the event listeners outside Angular we can avoid triggering change detection\r\n // This also means that if a user calls an AG Grid API method from within their component\r\n // the internal side effects will not trigger change detection. Without this the events would\r\n // run inside Angular and trigger change detection as the source of the event was within the angular zone.\r\n wrapIncoming: <T>(callback: () => T, source?: FrameworkOverridesIncomingSource) => T = (callback, source) => this.runOutside(callback, source);\r\n\r\n // Only setup wrapping when the call is coming from within Angular zone, i.e from a users application code.\r\n // Used to distinguish between user code and AG Grid code setting up events against RowNodes and Columns\r\n get shouldWrapOutgoing() {\r\n return this._ngZone && NgZone.isInAngularZone();\r\n }\r\n\r\n /**\r\n * Make sure that any code that is executed outside of AG Grid is running within the Angular zone.\r\n * This means users can update templates and use binding without having to do anything extra.\r\n */\r\n wrapOutgoing: <T>( callback: () => T) => T = (callback) => this.runInsideAngular(callback);\r\n\r\n isFrameworkComponent(comp: any): boolean {\r\n if (!comp) { return false; }\r\n const prototype = comp.prototype;\r\n const isAngularComp = prototype && 'agInit' in prototype;\r\n return isAngularComp;\r\n }\r\n\r\n runInsideAngular<T>( callback: () => T): T {\r\n // Check for _ngZone existence as it is not present when Zoneless\r\n return this._ngZone ? this._ngZone.run(callback) : callback();\r\n }\r\n\r\n runOutsideAngular<T>(callback: () => T, source?: FrameworkOverridesIncomingSource): T {\r\n return this.runOutside(callback, source);\r\n }\r\n}\r\n","import { _includes, _iterateObject, _values } from '@ag-grid-community/core';\r\nimport {\r\n\tWithoutGridCommon,\r\n\tGridOptions,\r\n\tGridApi,\r\n\tComponentStateChangedEvent,\r\n\tPropertyKeys\r\n} from 'ag-grid-community';\r\n\r\nexport class Events {\r\n static readonly EVENT_COLUMN_EVERYTHING_CHANGED: 'columnEverythingChanged';\r\n static readonly EVENT_NEW_COLUMNS_LOADED: 'newColumnsLoaded';\r\n static readonly EVENT_COLUMN_PIVOT_MODE_CHANGED: 'columnPivotModeChanged';\r\n static readonly EVENT_COLUMN_ROW_GROUP_CHANGED: 'columnRowGroupChanged';\r\n static readonly EVENT_EXPAND_COLLAPSE_ALL: 'expandOrCollapseAll';\r\n static readonly EVENT_COLUMN_PIVOT_CHANGED: 'columnPivotChanged';\r\n static readonly EVENT_GRID_COLUMNS_CHANGED: 'gridColumnsChanged';\r\n static readonly EVENT_COLUMN_VALUE_CHANGED: 'columnValueChanged';\r\n static readonly EVENT_COLUMN_MOVED: 'columnMoved';\r\n static readonly EVENT_COLUMN_VISIBLE: 'columnVisible';\r\n static readonly EVENT_COLUMN_PINNED: 'columnPinned';\r\n static readonly EVENT_COLUMN_GROUP_OPENED: 'columnGroupOpened';\r\n static readonly EVENT_COLUMN_RESIZED: 'columnResized';\r\n static readonly EVENT_DISPLAYED_COLUMNS_CHANGED: 'displayedColumnsChanged';\r\n static readonly EVENT_SUPPRESS_COLUMN_MOVE_CHANGED: 'suppressMovableColumns';\r\n static readonly EVENT_SUPPRESS_MENU_HIDE_CHANGED: 'suppressMenuHide';\r\n static readonly EVENT_SUPPRESS_FIELD_DOT_NOTATION: 'suppressFieldDotNotation';\r\n static readonly EVENT_VIRTUAL_COLUMNS_CHANGED: 'virtualColumnsChanged';\r\n static readonly EVENT_COLUMN_HEADER_MOUSE_OVER: 'columnHeaderMouseOver';\r\n static readonly EVENT_COLUMN_HEADER_MOUSE_LEAVE: 'columnHeaderMouseLeave';\r\n static readonly EVENT_COLUMN_HEADER_CLICKED: 'columnHeaderClicked';\r\n static readonly EVENT_COLUMN_HEADER_CONTEXT_MENU: 'columnHeaderContextMenu';\r\n static readonly EVENT_ASYNC_TRANSACTIONS_FLUSHED: 'asyncTransactionsFlushed';\r\n static readonly EVENT_ROW_GROUP_OPENED: 'rowGroupOpened';\r\n static readonly EVENT_ROW_DATA_UPDATED: 'rowDataUpdated';\r\n static readonly EVENT_PINNED_ROW_DATA_CHANGED: 'pinnedRowDataChanged';\r\n static readonly EVENT_RANGE_SELECTION_CHANGED: 'rangeSelectionChanged';\r\n static readonly EVENT_CHART_CREATED: 'chartCreated';\r\n static readonly EVENT_CHART_RANGE_SELECTION_CHANGED: 'chartRangeSelectionChanged';\r\n static readonly EVENT_CHART_OPTIONS_CHANGED: 'chartOptionsChanged';\r\n static readonly EVENT_CHART_DESTROYED: 'chartDestroyed';\r\n static readonly EVENT_TOOL_PANEL_VISIBLE_CHANGED: 'toolPanelVisibleChanged';\r\n static readonly EVENT_TOOL_PANEL_SIZE_CHANGED: 'toolPanelSizeChanged';\r\n static readonly EVENT_COLUMN_PANEL_ITEM_DRAG_START: 'columnPanelItemDragStart';\r\n static readonly EVENT_COLUMN_PANEL_ITEM_DRAG_END: 'columnPanelItemDragEnd';\r\n static readonly EVENT_MODEL_UPDATED: 'modelUpdated';\r\n static readonly EVENT_CUT_START: 'cutStart';\r\n static readonly EVENT_CUT_END: 'cutEnd';\r\n static readonly EVENT_PASTE_START: 'pasteStart';\r\n static readonly EVENT_PASTE_END: 'pasteEnd';\r\n static readonly EVENT_FILL_START: 'fillStart';\r\n static readonly EVENT_FILL_END: 'fillEnd';\r\n static readonly EVENT_RANGE_DELETE_START: 'rangeDeleteStart';\r\n static readonly EVENT_RANGE_DELETE_END: 'rangeDeleteEnd';\r\n static readonly EVENT_UNDO_STARTED: 'undoStarted';\r\n static readonly EVENT_UNDO_ENDED: 'undoEnded';\r\n static readonly EVENT_REDO_STARTED: 'redoStarted';\r\n static readonly EVENT_REDO_ENDED: 'redoEnded';\r\n static readonly EVENT_KEY_SHORTCUT_CHANGED_CELL_START: 'keyShortcutChangedCellStart';\r\n static readonly EVENT_KEY_SHORTCUT_CHANGED_CELL_END: 'keyShortcutChangedCellEnd';\r\n static readonly EVENT_CELL_CLICKED: 'cellClicked';\r\n static readonly EVENT_CELL_DOUBLE_CLICKED: 'cellDoubleClicked';\r\n static readonly EVENT_CELL_MOUSE_DOWN: 'cellMouseDown';\r\n static readonly EVENT_CELL_CONTEXT_MENU: 'cellContextMenu';\r\n static readonly EVENT_CELL_VALUE_CHANGED: 'cellValueChanged';\r\n static readonly EVENT_CELL_EDIT_REQUEST: 'cellEditRequest';\r\n static readonly EVENT_ROW_VALUE_CHANGED: 'rowValueChanged';\r\n static readonly EVENT_CELL_FOCUSED: 'cellFocused';\r\n static readonly EVENT_CELL_FOCUS_CLEARED: 'cellFocusCleared';\r\n static readonly EVENT_FULL_WIDTH_ROW_FOCUSED: 'fullWidthRowFocused';\r\n static readonly EVENT_ROW_SELECTED: 'rowSelected';\r\n static readonly EVENT_SELECTION_CHANGED: 'selectionChanged';\r\n static readonly EVENT_TOOLTIP_SHOW: 'tooltipShow';\r\n static readonly EVENT_TOOLTIP_HIDE: 'tooltipHide';\r\n static readonly EVENT_CELL_KEY_DOWN: 'cellKeyDown';\r\n static readonly EVENT_CELL_MOUSE_OVER: 'cellMouseOver';\r\n static readonly EVENT_CELL_MOUSE_OUT: 'cellMouseOut';\r\n static readonly EVENT_FILTER_CHANGED: 'filterChanged';\r\n static readonly EVENT_FILTER_MODIFIED: 'filterModified';\r\n static readonly EVENT_FILTER_OPENED: 'filterOpened';\r\n static readonly EVENT_ADVANCED_FILTER_BUILDER_VISIBLE_CHANGED: 'advancedFilterBuilderVisibleChanged';\r\n static readonly EVENT_SORT_CHANGED: 'sortChanged';\r\n static readonly EVENT_VIRTUAL_ROW_REMOVED: 'virtualRowRemoved';\r\n static readonly EVENT_ROW_CLICKED: 'rowClicked';\r\n static readonly EVENT_ROW_DOUBLE_CLICKED: 'rowDoubleClicked';\r\n static readonly EVENT_GRID_READY: 'gridReady';\r\n static readonly EVENT_GRID_PRE_DESTROYED: 'gridPreDestroyed';\r\n static readonly EVENT_GRID_SIZE_CHANGED: 'gridSizeChanged';\r\n static readonly EVENT_VIEWPORT_CHANGED: 'viewportChanged';\r\n static readonly EVENT_SCROLLBAR_WIDTH_CHANGED: 'scrollbarWidthChanged';\r\n static readonly EVENT_FIRST_DATA_RENDERED: 'firstDataRendered';\r\n static readonly EVENT_DRAG_STARTED: 'dragStarted';\r\n static readonly EVENT_DRAG_STOPPED: 'dragStopped';\r\n static readonly EVENT_CHECKBOX_CHANGED: 'checkboxChanged';\r\n static readonly EVENT_ROW_EDITING_STARTED: 'rowEditingStarted';\r\n static readonly EVENT_ROW_EDITING_STOPPED: 'rowEditingStopped';\r\n static readonly EVENT_CELL_EDITING_STARTED: 'cellEditingStarted';\r\n static readonly EVENT_CELL_EDITING_STOPPED: 'cellEditingStopped';\r\n static readonly EVENT_BODY_SCROLL: 'bodyScroll';\r\n static readonly EVENT_BODY_SCROLL_END: 'bodyScrollEnd';\r\n static readonly EVENT_HEIGHT_SCALE_CHANGED: 'heightScaleChanged';\r\n static readonly EVENT_PAGINATION_CHANGED: 'paginationChanged';\r\n static readonly EVENT_COMPONENT_STATE_CHANGED: 'componentStateChanged';\r\n static readonly EVENT_STORE_REFRESHED: 'storeRefreshed';\r\n static readonly EVENT_STATE_UPDATED: 'stateUpdated';\r\n static readonly EVENT_COLUMN_MENU_VISIBLE_CHANGED: 'columnMenuVisibleChanged';\r\n static readonly EVENT_BODY_HEIGHT_CHANGED: 'bodyHeightChanged';\r\n static readonly EVENT_COLUMN_CONTAINER_WIDTH_CHANGED: 'columnContainerWidthChanged';\r\n static readonly EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED: 'displayedColumnsWidthChanged';\r\n static readonly EVENT_SCROLL_VISIBILITY_CHANGED: 'scrollVisibilityChanged';\r\n static readonly EVENT_COLUMN_HOVER_CHANGED: 'columnHoverChanged';\r\n static readonly EVENT_FLASH_CELLS: 'flashCells';\r\n static readonly EVENT_PAGINATION_PIXEL_OFFSET_CHANGED: 'paginationPixelOffsetChanged';\r\n static readonly EVENT_DISPLAYED_ROWS_CHANGED: 'displayedRowsChanged';\r\n static readonly EVENT_LEFT_PINNED_WIDTH_CHANGED: 'leftPinnedWidthChanged';\r\n static readonly EVENT_RIGHT_PINNED_WIDTH_CHANGED: 'rightPinnedWidthChanged';\r\n static readonly EVENT_ROW_CONTAINER_HEIGHT_CHANGED: 'rowContainerHeightChanged';\r\n static readonly EVENT_HEADER_HEIGHT_CHANGED: 'headerHeightChanged';\r\n static readonly EVENT_COLUMN_HEADER_HEIGHT_CHANGED: 'columnHeaderHeightChanged';\r\n static readonly EVENT_ROW_DRAG_ENTER: 'rowDragEnter';\r\n static readonly EVENT_ROW_DRAG_MOVE: 'rowDragMove';\r\n static readonly EVENT_ROW_DRAG_LEAVE: 'rowDragLeave';\r\n static readonly EVENT_ROW_DRAG_END: 'rowDragEnd';\r\n static readonly EVENT_GRID_STYLES_CHANGED: 'gridStylesChanged';\r\n static readonly EVENT_POPUP_TO_FRONT: 'popupToFront';\r\n static readonly EVENT_COLUMN_ROW_GROUP_CHANGE_REQUEST: 'columnRowGroupChangeRequest';\r\n static readonly EVENT_COLUMN_PIVOT_CHANGE_REQUEST: 'columnPivotChangeRequest';\r\n static readonly EVENT_COLUMN_VALUE_CHANGE_REQUEST: 'columnValueChangeRequest';\r\n static readonly EVENT_COLUMN_AGG_FUNC_CHANGE_REQUEST: 'columnAggFuncChangeRequest';\r\n static readonly EVENT_STORE_UPDATED: 'storeUpdated';\r\n static readonly EVENT_FILTER_DESTROYED: 'filterDestroyed';\r\n static readonly EVENT_ROW_DATA_UPDATE_STARTED: 'rowDataUpdateStarted';\r\n static readonly EVENT_ROW_COUNT_READY: 'rowCountReady';\r\n static readonly EVENT_ADVANCED_FILTER_ENABLED_CHANGED: 'advancedFilterEnabledChanged';\r\n static readonly EVENT_DATA_TYPES_INFERRED: 'dataTypesInferred';\r\n static readonly EVENT_FIELD_VALUE_CHANGED: 'fieldValueChanged';\r\n static readonly EVENT_FIELD_PICKER_VALUE_SELECTED: 'fieldPickerValueSelected';\r\n static readonly EVENT_SIDE_BAR_UPDATED: 'sideBarUpdated';\r\n}\r\n\r\nexport class ComponentUtil {\r\n\r\n // all events\r\n public static EVENTS: string[] = _values<any>(new Events());\r\n\r\n public static VUE_OMITTED_PROPERTY = 'AG-VUE-OMITTED-PROPERTY';\r\n\r\n // events that are internal to AG Grid and should not be exposed to users via documentation or generated framework components\r\n /** Exclude the following internal events from code generation to prevent exposing these events via framework components */\r\n public static EXCLUDED_INTERNAL_EVENTS: string[] = [\r\n Events.EVENT_SCROLLBAR_WIDTH_CHANGED,\r\n Events.EVENT_CHECKBOX_CHANGED,\r\n Events.EVENT_HEIGHT_SCALE_CHANGED,\r\n Events.EVENT_BODY_HEIGHT_CHANGED,\r\n Events.EVENT_COLUMN_CONTAINER_WIDTH_CHANGED,\r\n Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED,\r\n Events.EVENT_SCROLL_VISIBILITY_CHANGED,\r\n Events.EVENT_COLUMN_HOVER_CHANGED,\r\n Events.EVENT_FLASH_CELLS,\r\n Events.EVENT_PAGINATION_PIXEL_OFFSET_CHANGED,\r\n Events.EVENT_DISPLAYED_ROWS_CHANGED,\r\n Events.EVENT_LEFT_PINNED_WIDTH_CHANGED,\r\n Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED,\r\n Events.EVENT_ROW_CONTAINER_HEIGHT_CHANGED,\r\n Events.EVENT_POPUP_TO_FRONT,\r\n Events.EVENT_STORE_UPDATED,\r\n Events.EVENT_COLUMN_PANEL_ITEM_DRAG_START,\r\n Events.EVENT_COLUMN_PANEL_ITEM_DRAG_END,\r\n Events.EVENT_FILL_START,\r\n Events.EVENT_FILL_END,\r\n Events.EVENT_KEY_SHORTCUT_CHANGED_CELL_START,\r\n Events.EVENT_KEY_SHORTCUT_CHANGED_CELL_END,\r\n Events.EVENT_FULL_WIDTH_ROW_FOCUSED,\r\n Events.EVENT_HEADER_HEIGHT_CHANGED,\r\n Events.EVENT_COLUMN_HEADER_HEIGHT_CHANGED,\r\n Events.EVENT_CELL_FOCUS_CLEARED,\r\n Events.EVENT_GRID_STYLES_CHANGED,\r\n Events.EVENT_FILTER_DESTROYED,\r\n Events.EVENT_ROW_DATA_UPDATE_STARTED,\r\n Events.EVENT_ADVANCED_FILTER_ENABLED_CHANGED,\r\n Events.EVENT_DATA_TYPES_INFERRED,\r\n Events.EVENT_FIELD_VALUE_CHANGED,\r\n Events.EVENT_FIELD_PICKER_VALUE_SELECTED,\r\n Events.EVENT_SUPPRESS_COLUMN_MOVE_CHANGED,\r\n Events.EVENT_SUPPRESS_MENU_HIDE_CHANGED,\r\n Events.EVENT_SUPPRESS_FIELD_DOT_NOTATION,\r\n Events.EVENT_ROW_COUNT_READY,\r\n Events.EVENT_SIDE_BAR_UPDATED,\r\n ];\r\n\r\n // events that are available for use by users of AG Grid and so should be documented\r\n /** EVENTS that should be exposed via code generation for the framework components. */\r\n public static PUBLIC_EVENTS: string[] = ComponentUtil.EVENTS.filter(e => !_includes(ComponentUtil.EXCLUDED_INTERNAL_EVENTS, e));\r\n\r\n public static getCallbackForEvent(eventName: string): string {\r\n if (!eventName || eventName.length < 2) {\r\n return eventName;\r\n }\r\n return 'on' + eventName[0].toUpperCase() + eventName.substring(1);\r\n }\r\n // onXXX methods, based on the above events\r\n public static EVENT_CALLBACKS: string[] = ComponentUtil.EVENTS.map(event => ComponentUtil.getCallbackForEvent(event));\r\n\r\n public static STRING_PROPERTIES = PropertyKeys.STRING_PROPERTIES;\r\n public static OBJECT_PROPERTIES = PropertyKeys.OBJECT_PROPERTIES;\r\n public static ARRAY_PROPERTIES = PropertyKeys.ARRAY_PROPERTIES;\r\n public static NUMBER_PROPERTIES = PropertyKeys.NUMBER_PROPERTIES;\r\n public static BOOLEAN_PROPERTIES = PropertyKeys.BOOLEAN_PROPERTIES;\r\n public static FUNCTION_PROPERTIES = PropertyKeys.FUNCTION_PROPERTIES;\r\n public static ALL_PROPERTIES = PropertyKeys.ALL_PROPERTIES;\r\n\r\n public static ALL_PROPERTIES_AND_CALLBACKS = [...this.ALL_PROPERTIES, ...this.EVENT_CALLBACKS];\r\n public static ALL_PROPERTIES_AND_CALLBACKS_SET = new Set(ComponentUtil.ALL_PROPERTIES_AND_CALLBACKS);\r\n\r\n public static getGridOptionKeys() {\r\n // Vue does not have keys in prod so instead need to run through all the\r\n // gridOptions checking for presence of a gridOption key.\r\n return this.ALL_PROPERTIES_AND_CALLBACKS;\r\n }\r\n\r\n /** Combines component props / attributes with the provided gridOptions returning a new combined gridOptions object */\r\n public static combineAttributesAndGridOptions(gridOptions: GridOptions | undefined, component: any): GridOptions {\r\n\r\n // create empty grid options if none were passed\r\n if (typeof gridOptions !== 'object') {\r\n gridOptions = {} as GridOptions;\r\n }\r\n // shallow copy (so we don't change the provided object)\r\n const mergedOptions = {...gridOptions} as any;\r\n const keys = ComponentUtil.getGridOptionKeys();\r\n // Loop through component props, if they are not undefined and a valid gridOption copy to gridOptions\r\n keys.forEach(key => {\r\n const value = component[key];\r\n if (typeof value !== 'undefined' && value !== ComponentUtil.VUE_OMITTED_PROPERTY) {\r\n mergedOptions[key] = value;\r\n }\r\n })\r\n return mergedOptions;\r\n }\r\n\r\n public static processOnChange(changes: any, api: GridApi): void {\r\n if (!changes) {\r\n return;\r\n }\r\n\r\n // Only process changes to properties that are part of the gridOptions\r\n const gridChanges: any = {};\r\n let hasChanges = false;\r\n Object.keys(changes)\r\n .filter((key) => ComponentUtil.ALL_PROPERTIES_AND_CALLBACKS_SET.has(key))\r\n .forEach((key) => {\r\n gridChanges[key] = changes[key]\r\n hasChanges = true;\r\n });\r\n\r\n if (!hasChanges) {\r\n return;\r\n }\r\n\r\n api.updateGridOptions(gridChanges);\r\n\r\n // copy gridChanges into an event for dispatch\r\n const event: WithoutGridCommon<ComponentStateChangedEvent> = {\r\n type: Events.EVENT_COMPONENT_STATE_CHANGED\r\n };\r\n\r\n _iterateObject(gridChanges, (key: string, value: any) => {\r\n (event as any)[key] = value;\r\n });\r\n\r\n api.dispatchEvent(event);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["AngularFrameworkOverrides","AngularFrameworkComponentWrapper"],"mappings":"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"}