UNPKG

110 kBSource Map (JSON)View Raw
1{"version":3,"file":"ag-grid-angular.js","sources":["ng://ag-grid-angular/lib/ag-grid-column.component.ts","ng://ag-grid-angular/lib/angularFrameworkOverrides.ts","ng://ag-grid-angular/lib/angularFrameworkComponentWrapper.ts","ng://ag-grid-angular/lib/ag-grid-angular.component.ts","ng://ag-grid-angular/lib/ag-grid-angular.module.ts","ng://ag-grid-angular/ag-grid-angular.ts"],"sourcesContent":["import { CellClassFunc, CellClassRules, CellClickedEvent, CellContextMenuEvent, CellDoubleClickedEvent, CellEditorSelectorFunc, CellRendererSelectorFunc, CellStyleFunc, CheckboxSelectionCallback, ColDef, ColGroupDef, ColSpanParams, ColumnsMenuParams, DndSourceCallback, EditableCallback, GetQuickFilterTextParams, HeaderCheckboxSelectionCallback, HeaderClass, IAggFunc, ICellEditorComp, ICellRendererComp, ICellRendererFunc, IHeaderGroupComp, IRowDragItem, ITooltipComp, ITooltipParams, NewValueParams, RowDragCallback, RowNode, RowSpanParams, SuppressHeaderKeyboardEventParams, SuppressKeyboardEventParams, SuppressNavigableCallback, SuppressPasteCallback, ToolPanelClass, ValueFormatterFunc, ValueGetterFunc, ValueParserFunc, ValueSetterFunc } from \"ag-grid-community\";\nimport { Component, ContentChildren, Input, QueryList } from \"@angular/core\";\n\n@Component({\n selector: 'ag-grid-column',\n template: ''\n})\nexport class AgGridColumn {\n @ContentChildren(AgGridColumn) public childColumns: QueryList<AgGridColumn>;\n\n public hasChildColumns(): boolean {\n if (this.childColumns && this.childColumns.length > 0) {\n // necessary because of https://github.com/angular/angular/issues/10098\n return !(this.childColumns.length === 1 && this.childColumns.first === this);\n }\n return false;\n }\n\n public toColDef(): ColDef {\n let colDef: ColDef = this.createColDefFromGridColumn(this);\n\n if (this.hasChildColumns()) {\n (<any>colDef)[\"children\"] = this.getChildColDefs(this.childColumns);\n }\n return colDef;\n }\n\n private getChildColDefs(childColumns: QueryList<AgGridColumn>) {\n return childColumns\n // necessary because of https://github.com/angular/angular/issues/10098\n .filter(column => !column.hasChildColumns())\n .map((column: AgGridColumn) => {\n return column.toColDef();\n });\n }\n\n private createColDefFromGridColumn(from: AgGridColumn): ColDef {\n let { childColumns, ...colDef } = from;\n return colDef;\n }\n\n // inputs - pretty much most of ColDef, with the exception of template, templateUrl and internal only properties\n // @START@\n /** Columns in this group */\n @Input() public children: (ColDef | ColGroupDef)[] | undefined = undefined;\n /** The sort order, provide an array with any of the following in any order ['asc','desc',null] */\n @Input() public sortingOrder: (string | null)[] | undefined = undefined;\n /** Agg funcs allowed on this column. If missing, all installed agg funcs are allowed.\n * Can be eg ['sum','avg']. This will restrict what the GUI allows to select only. */\n @Input() public allowedAggFuncs: string[] | undefined = undefined;\n /** The menu tabs to show, and in which order, the valid values for this property are:\n * filterMenuTab, generalMenuTab, columnsMenuTab * */\n @Input() public menuTabs: string[] | undefined = undefined;\n /** Rules for applying css classes */\n @Input() public cellClassRules: CellClassRules | undefined = undefined;\n /** Icons for this column. Leave blank to use default. */\n @Input() public icons: { [key: string]: Function | string; } | undefined = undefined;\n /** The custom header group component to be used for rendering the component header. If none specified the default AG Grid is used* */\n @Input() public headerGroupComponent: string | { new(): IHeaderGroupComp; } | undefined = undefined;\n /** The custom header group component to be used for rendering the component header in the hosting framework (ie: React/Angular). If none specified the default AG Grid is used* */\n @Input() public headerGroupComponentFramework: any | undefined = undefined;\n /** The custom header group component to be used for rendering the component header. If none specified the default AG Grid is used* */\n @Input() public headerGroupComponentParams: any | undefined = undefined;\n /** An object of css values. Or a function returning an object of css values. */\n @Input() public cellStyle: { [cssProperty: string]: string } | CellStyleFunc | undefined = undefined;\n @Input() public cellRendererParams: any | undefined = undefined;\n @Input() public cellEditorFramework: any | undefined = undefined;\n @Input() public cellEditorParams: any | undefined = undefined;\n /** @deprecated Use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned.\n */\n @Input() public pinnedRowCellRendererFramework: any | undefined = undefined;\n /** @deprecated Use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned.\n */\n @Input() public pinnedRowCellRendererParams: any | undefined = undefined;\n @Input() public filterFramework: any = undefined;\n @Input() public filterParams: any = undefined;\n /** The custom header component to be used for rendering the component header. If none specified the default AG Grid is used* */\n @Input() public headerComponent: string | { new(): any; } | undefined = undefined;\n /** The custom header component to be used for rendering the component header in the hosting framework (ie: React/Angular). If none specified the default AG Grid is used* */\n @Input() public headerComponentFramework: any | undefined = undefined;\n /** The custom header component parameters* */\n @Input() public headerComponentParams: any | undefined = undefined;\n @Input() public floatingFilterComponent: any = undefined;\n @Input() public floatingFilterComponentParams: any = undefined;\n @Input() public floatingFilterComponentFramework: any = undefined;\n @Input() public tooltipComponent: { new(): ITooltipComp; } | string | undefined = undefined;\n @Input() public tooltipComponentParams: any | undefined = undefined;\n @Input() public tooltipComponentFramework: any | undefined = undefined;\n @Input() public refData: { [key: string]: string; } | undefined = undefined;\n /** Params to customise the columns menu behaviour and appearance */\n @Input() public columnsMenuParams: ColumnsMenuParams | undefined = undefined;\n /** The name to render in the column header */\n @Input() public headerName: string | undefined = undefined;\n /** Whether to show the column when the group is open / closed. */\n @Input() public columnGroupShow: string | undefined = undefined;\n /** CSS class for the header */\n @Input() public headerClass: HeaderClass | undefined = undefined;\n /** CSS class for the toolPanel */\n @Input() public toolPanelClass: ToolPanelClass | undefined = undefined;\n /** Expression or function to get the cells value. */\n @Input() public headerValueGetter: string | Function | undefined = undefined;\n /** Group ID */\n @Input() public groupId: string | undefined = undefined;\n /** The unique ID to give the column. This is optional. If missing, the ID will default to the field.\n * If both field and colId are missing, a unique ID will be generated.\n * This ID is used to identify the column in the API for sorting, filtering etc. */\n @Input() public colId: string | undefined = undefined;\n /** If sorting by default, set it here. Set to 'asc' or 'desc' */\n @Input() public sort: string | null | undefined = undefined;\n @Input() public initialSort: string | undefined = undefined;\n /** The field of the row to get the cells data from */\n @Input() public field: string | undefined = undefined;\n /** A comma separated string or array of strings containing ColumnType keys which can be used as a template for a column.\n * This helps to reduce duplication of properties when you have a lot of common column properties. */\n @Input() public type: string | string[] | undefined = undefined;\n /** The field where we get the tooltip on the object */\n @Input() public tooltipField: string | undefined = undefined;\n /** Tooltip for the column header */\n @Input() public headerTooltip: string | undefined = undefined;\n /** Class to use for the cell. Can be string, array of strings, or function. */\n @Input() public cellClass: string | string[] | CellClassFunc | undefined = undefined;\n /** Set to true to have the grid place the values for the group into the cell, or put the name of a grouped column to just show that group. */\n @Input() public showRowGroup: string | boolean | undefined = undefined;\n @Input() public filter: any = undefined;\n @Input() public initialAggFunc: string | IAggFunc | undefined = undefined;\n /** Name of function to use for aggregation. One of [sum,min,max,first,last] or a function. */\n @Input() public aggFunc: string | IAggFunc | null | undefined = undefined;\n /** A function for rendering a cell. */\n @Input() public cellRenderer: { new(): ICellRendererComp; } | ICellRendererFunc | string | undefined = undefined;\n /** Cell editor */\n @Input() public cellEditor: string | { new(): ICellEditorComp; } | undefined = undefined;\n /** Whether this column is pinned or not. */\n @Input() public pinned: boolean | string | null | undefined = undefined;\n @Input() public initialPinned: boolean | string | undefined = undefined;\n /** Defines the column data type used when charting */\n @Input() public chartDataType: 'category' | 'series' | 'time' | 'excluded' | undefined = undefined;\n @Input() public cellEditorPopupPosition: string | undefined = undefined;\n /** @deprecated since v24 - use sortIndex instead\n */\n @Input() public sortedAt: number | undefined = undefined;\n /** If sorting more than one column by default, specifies order in which the sorting should be applied. */\n @Input() public sortIndex: number | null | undefined = undefined;\n @Input() public initialSortIndex: number | undefined = undefined;\n /** Sets the grow factor of a column. It specifies how much of the remaining\n * space should be assigned to the column. */\n @Input() public flex: number | undefined = undefined;\n @Input() public initialFlex: number | undefined = undefined;\n /** Actual width, in pixels, of the cell */\n @Input() public width: number | undefined = undefined;\n /** Default width, in pixels, of the cell */\n @Input() public initialWidth: number | undefined = undefined;\n /** Min width, in pixels, of the cell */\n @Input() public minWidth: number | undefined = undefined;\n /** Max width, in pixels, of the cell */\n @Input() public maxWidth: number | undefined = undefined;\n /** To group by this column by default, either provide an index (eg rowGroupIndex=1), or set rowGroup=true. */\n @Input() public rowGroupIndex: number | null | undefined = undefined;\n @Input() public initialRowGroupIndex: number | undefined = undefined;\n /** To pivot by this column by default, either provide an index (eg pivotIndex=1), or set pivot=true. */\n @Input() public pivotIndex: number | null | undefined = undefined;\n @Input() public initialPivotIndex: number | undefined = undefined;\n /** For native drag and drop, set to true to allow custom onRowDrag processing */\n @Input() public dndSourceOnRowDrag: (params: { rowNode: RowNode, dragEvent: DragEvent; }) => void | undefined = undefined;\n /** Expression or function to get the cells value. */\n @Input() public valueGetter: string | ValueGetterFunc | undefined = undefined;\n /** If not using a field, then this puts the value into the cell */\n @Input() public valueSetter: string | ValueSetterFunc | undefined = undefined;\n /** Expression or function to get the cells value for filtering. */\n @Input() public filterValueGetter: string | ValueGetterFunc | undefined = undefined;\n /** Function to return the key for a value - use this if the value is an object (not a primitive type) and you\n * want to a) group by this field or b) use set filter on this field. */\n @Input() public keyCreator: (value: any) => string | undefined = undefined;\n @Input() public cellRendererFramework: any | undefined = undefined;\n /** @deprecated Use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned.\n */\n @Input() public pinnedRowCellRenderer: { new(): ICellRendererComp; } | ICellRendererFunc | string | undefined = undefined;\n /** A function to format a value, should return a string. Not used for CSV export or copy to clipboard, only for UI cell rendering. */\n @Input() public valueFormatter: string | ValueFormatterFunc | undefined = undefined;\n /** @deprecated Use valueFormatter for pinned rows, and check params.node.rowPinned.\n */\n @Input() public pinnedRowValueFormatter: string | ValueFormatterFunc | undefined = undefined;\n /** Gets called after editing, converts the value in the cell. */\n @Input() public valueParser: string | ValueParserFunc | undefined = undefined;\n /** Comparator function for custom sorting. */\n @Input() public comparator: (valueA: any, valueB: any, nodeA: RowNode, nodeB: RowNode, isInverted: boolean) => number | undefined = undefined;\n /** Comparator for values, used by renderer to know if values have changed. Cells who's values have not changed don't get refreshed. */\n @Input() public equals: (valueA: any, valueB: any) => boolean | undefined = undefined;\n /** Comparator for ordering the pivot columns */\n @Input() public pivotComparator: (valueA: string, valueB: string) => number | undefined = undefined;\n /** Allows the user to suppress certain keyboard events in the grid cell */\n @Input() public suppressKeyboardEvent: (params: SuppressKeyboardEventParams) => boolean | undefined = undefined;\n /** Allows the user to suppress certain keyboard events in the grid header */\n @Input() public suppressHeaderKeyboardEvent: (params: SuppressHeaderKeyboardEventParams) => boolean | undefined = undefined;\n @Input() public colSpan: (params: ColSpanParams) => number | undefined = undefined;\n @Input() public rowSpan: (params: RowSpanParams) => number | undefined = undefined;\n /** To create the quick filter text for this column, if toString is not good enough on the value. */\n @Input() public getQuickFilterText: (params: GetQuickFilterTextParams) => string | undefined = undefined;\n /** Callbacks for editing. See editing section for further details.\n * Return true if the update was successful, or false if not.\n * If false, then skips the UI refresh and no events are emitted.\n * Return false if the values are the same (ie no update). */\n @Input() public newValueHandler: (params: NewValueParams) => boolean | undefined = undefined;\n /** Callbacks for editing.See editing section for further details. */\n @Input() public onCellValueChanged: (event: NewValueParams) => void | undefined = undefined;\n /** Function callback, gets called when a cell is clicked. */\n @Input() public onCellClicked: (event: CellClickedEvent) => void | undefined = undefined;\n /** Function callback, gets called when a cell is double clicked. */\n @Input() public onCellDoubleClicked: (event: CellDoubleClickedEvent) => void | undefined = undefined;\n /** Function callback, gets called when a cell is right clicked. */\n @Input() public onCellContextMenu: (event: CellContextMenuEvent) => void | undefined = undefined;\n /** To configure the text to be displayed in the floating div while dragging a row when rowDrag is true */\n @Input() public rowDragText: (params: IRowDragItem, dragItemCount: number) => string | undefined = undefined;\n /** The function used to calculate the tooltip of the object, tooltipField takes precedence */\n @Input() public tooltipValueGetter: (params: ITooltipParams) => string | undefined = undefined;\n @Input() public cellRendererSelector: CellRendererSelectorFunc | undefined = undefined;\n @Input() public cellEditorSelector: CellEditorSelectorFunc | undefined = undefined;\n /** Set to true to not flash this column for value changes */\n @Input() public suppressCellFlash: boolean | undefined = undefined;\n /** Set to true to not include this column in the Columns Tool Panel */\n @Input() public suppressColumnsToolPanel: boolean | undefined = undefined;\n /** Set to true to not include this column / filter in the Filters Tool Panel */\n @Input() public suppressFiltersToolPanel: boolean | undefined = undefined;\n /** Open by Default */\n @Input() public openByDefault: boolean | undefined = undefined;\n /** If true, group cannot be broken up by column moving, child columns will always appear side by side, however you can rearrange child columns within the group */\n @Input() public marryChildren: boolean | undefined = undefined;\n /** Set to true for this column to be hidden. Naturally you might think, it would make more sense to call this field 'visible' and mark it false to hide,\n * however we want all default values to be false and we want columns to be visible by default. */\n @Input() public hide: boolean | undefined = undefined;\n @Input() public initialHide: boolean | undefined = undefined;\n @Input() public rowGroup: boolean | undefined = undefined;\n @Input() public initialRowGroup: boolean | undefined = undefined;\n @Input() public pivot: boolean | undefined = undefined;\n @Input() public initialPivot: boolean | undefined = undefined;\n /** Set to true to render a selection checkbox in the column. */\n @Input() public checkboxSelection: boolean | CheckboxSelectionCallback | undefined = undefined;\n /** If true, a 'select all' checkbox will be put into the header */\n @Input() public headerCheckboxSelection: boolean | HeaderCheckboxSelectionCallback | undefined = undefined;\n /** If true, the header checkbox selection will work on filtered items */\n @Input() public headerCheckboxSelectionFilteredOnly: boolean | undefined = undefined;\n /** Set to true if no menu should be shown for this column header. */\n @Input() public suppressMenu: boolean | undefined = undefined;\n /** Set to true to not allow moving this column via dragging it's header */\n @Input() public suppressMovable: boolean | undefined = undefined;\n /** Set to true to make sure this column is always first. Other columns, if movable, cannot move before this column. */\n @Input() public lockPosition: boolean | undefined = undefined;\n /** Set to true to block the user showing / hiding the column, the column can only be shown / hidden via definitions or API */\n @Input() public lockVisible: boolean | undefined = undefined;\n /** Set to true to block the user pinning the column, the column can only be pinned via definitions or API */\n @Input() public lockPinned: boolean | undefined = undefined;\n /** Set to true if you want the unsorted icon to be shown when no sort is applied to this column. */\n @Input() public unSortIcon: boolean | undefined = undefined;\n /** Set to true if you want this columns width to be fixed during 'size to fit' operation. */\n @Input() public suppressSizeToFit: boolean | undefined = undefined;\n /** Set to true if you do not want this column to be auto-resizable by double clicking it's edge. */\n @Input() public suppressAutoSize: boolean | undefined = undefined;\n /** If true, GUI will allow adding this columns as a row group */\n @Input() public enableRowGroup: boolean | undefined = undefined;\n /** If true, GUI will allow adding this columns as a pivot */\n @Input() public enablePivot: boolean | undefined = undefined;\n /** If true, GUI will allow adding this columns as a value */\n @Input() public enableValue: boolean | undefined = undefined;\n /** Set to true if this col is editable, otherwise false. Can also be a function to have different rows editable. */\n @Input() public editable: boolean | EditableCallback | undefined = undefined;\n /** Set to true if this col should not be allowed take new values from the clipboard . */\n @Input() public suppressPaste: boolean | SuppressPasteCallback | undefined = undefined;\n /** Set to true if this col should not be navigable with the tab key. Can also be a function to have different rows editable. */\n @Input() public suppressNavigable: boolean | SuppressNavigableCallback | undefined = undefined;\n /** If true, grid will flash cell after cell is refreshed */\n @Input() public enableCellChangeFlash: boolean | undefined = undefined;\n /** For grid row dragging, set to true to enable row dragging within the grid */\n @Input() public rowDrag: boolean | RowDragCallback | undefined = undefined;\n /** For native drag and drop, set to true to enable drag source */\n @Input() public dndSource: boolean | DndSourceCallback | undefined = undefined;\n /** True if this column should stretch rows height to fit contents */\n @Input() public autoHeight: boolean | undefined = undefined;\n /** True if this column should wrap cell contents - typically used with autoHeight */\n @Input() public wrapText: boolean | undefined = undefined;\n /** Set to true if sorting allowed for this column. */\n @Input() public sortable: boolean | undefined = undefined;\n /** Set to true if this column should be resizable */\n @Input() public resizable: boolean | undefined = undefined;\n /** If true, this cell will be in editing mode after first click. */\n @Input() public singleClickEdit: boolean | undefined = undefined;\n /** Whether to display a floating filter for this column. */\n @Input() public floatingFilter: boolean | undefined = undefined;\n @Input() public cellEditorPopup: boolean | undefined = undefined;\n // @END@\n\n}\n","import {Injectable, NgZone} from \"@angular/core\";\nimport {VanillaFrameworkOverrides} from \"ag-grid-community\";\nimport {AgPromise} from \"ag-grid-community\";\n\n@Injectable()\nexport class AngularFrameworkOverrides extends VanillaFrameworkOverrides {\n private isEmitterUsed: (eventType: string) => boolean;\n\n constructor(private _ngZone: NgZone) {\n super();\n }\n\n setEmitterUsedCallback(isEmitterUsed: (eventType: string) => boolean) {\n this.isEmitterUsed = isEmitterUsed;\n\n }\n\n public setTimeout(action: any, timeout?: any): void {\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(() => {\n window.setTimeout(() => {\n action();\n }, timeout);\n });\n } else {\n window.setTimeout(() => {\n action();\n }, timeout);\n }\n }\n\n public setInterval(action: any, interval?: any): AgPromise<number> {\n return new AgPromise<number>(resolve => {\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(() => {\n resolve(window.setInterval(() => {\n action();\n }, interval)\n );\n });\n } else {\n resolve(window.setInterval(() => {\n action();\n }, interval)\n );\n }\n });\n }\n\n addEventListener(element: HTMLElement, eventType: string, listener: EventListener | EventListenerObject, useCapture?: boolean): void {\n if (this.isOutsideAngular(eventType) && this._ngZone) {\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener(eventType, listener, useCapture);\n });\n } else {\n element.addEventListener(eventType, listener, useCapture);\n }\n }\n\n dispatchEvent(eventType: string, listener: () => {}, global = false): void {\n if (this.isOutsideAngular(eventType)) {\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(listener);\n } else {\n listener();\n }\n } else if (this.isEmitterUsed(eventType) || global) {\n // only trigger off events (and potentially change detection) if actually used\n if (!NgZone.isInAngularZone() && this._ngZone) {\n this._ngZone.run(listener);\n } else {\n listener();\n }\n }\n }\n}\n","import {ComponentFactoryResolver, ComponentRef, Injectable, ViewContainerRef} from \"@angular/core\";\nimport {BaseComponentWrapper, FrameworkComponentWrapper, WrappableInterface} from 'ag-grid-community';\nimport {AgFrameworkComponent} from \"./interfaces\";\n\n@Injectable()\nexport class AngularFrameworkComponentWrapper extends BaseComponentWrapper<WrappableInterface> implements FrameworkComponentWrapper {\n private viewContainerRef: ViewContainerRef;\n private componentFactoryResolver: ComponentFactoryResolver;\n\n public setViewContainerRef(viewContainerRef: ViewContainerRef) {\n this.viewContainerRef = viewContainerRef;\n }\n\n public setComponentFactoryResolver(componentFactoryResolver: ComponentFactoryResolver) {\n this.componentFactoryResolver = componentFactoryResolver;\n }\n\n createWrapper(OriginalConstructor: { new(): any }): WrappableInterface {\n let that = this;\n\n class DynamicAgNg2Component extends BaseGuiComponent<any, AgFrameworkComponent<any>> implements WrappableInterface {\n init(params: any): void {\n super.init(params);\n this._componentRef.changeDetectorRef.detectChanges();\n }\n\n protected createComponent(): ComponentRef<AgFrameworkComponent<any>> {\n return that.createComponent(OriginalConstructor);\n }\n\n hasMethod(name: string): boolean {\n return wrapper.getFrameworkComponentInstance()[name] != null;\n }\n\n callMethod(name: string, args: IArguments): void {\n const componentRef = this.getFrameworkComponentInstance();\n return wrapper.getFrameworkComponentInstance()[name].apply(componentRef, args)\n\n }\n\n addMethod(name: string, callback: Function): void {\n wrapper[name] = callback\n }\n }\n\n let wrapper: DynamicAgNg2Component = new DynamicAgNg2Component();\n return wrapper;\n }\n\n public createComponent<T>(componentType: { new(...args: any[]): T; }): ComponentRef<T> {\n // used to cache the factory, but this a) caused issues when used with either webpack/angularcli with --prod\n // but more significantly, the underlying implementation of resolveComponentFactory uses a map too, so us\n // caching the factory here yields no performance benefits\n let factory = this.componentFactoryResolver.resolveComponentFactory(componentType);\n return this.viewContainerRef.createComponent(factory);\n }\n}\n\nabstract class BaseGuiComponent<P, T extends AgFrameworkComponent<P>> {\n protected _params: P;\n protected _eGui: HTMLElement;\n protected _componentRef: ComponentRef<T>;\n protected _agAwareComponent: T;\n protected _frameworkComponentInstance: any; // the users component - for accessing methods they create\n\n protected init(params: P): void {\n this._params = params;\n\n this._componentRef = this.createComponent();\n this._agAwareComponent = this._componentRef.instance;\n this._frameworkComponentInstance = this._componentRef.instance;\n this._eGui = this._componentRef.location.nativeElement;\n\n this._agAwareComponent.agInit(this._params);\n }\n\n public getGui(): HTMLElement {\n return this._eGui;\n }\n\n public destroy(): void {\n if (this._componentRef) {\n this._componentRef.destroy();\n }\n }\n\n public getFrameworkComponentInstance(): any {\n return this._frameworkComponentInstance;\n }\n\n protected abstract createComponent(): ComponentRef<T>;\n}\n","import {\n AfterViewInit,\n Component,\n ComponentFactoryResolver,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewContainerRef,\n ViewEncapsulation\n} from \"@angular/core\";\n\nimport {\n ColDef,\n ColumnApi,\n ComponentUtil,\n Grid,\n GridApi,\n GridOptions,\n GridParams,\n Module,\n AgPromise,\n ColGroupDef,\n ExcelStyle,\n IDatasource,\n IServerSideDatasource,\n IViewportDatasource,\n IAggFunc,\n CsvExportParams,\n ExcelExportParams,\n StatusPanelDef,\n SideBarDef,\n AgChartThemeOverrides,\n AgChartTheme,\n ServerSideStoreType,\n RowGroupingDisplayType,\n ICellRendererComp,\n ICellRendererFunc,\n GetContextMenuItems,\n GetMainMenuItems,\n GetRowNodeIdFunc,\n NavigateToNextHeaderParams,\n HeaderPosition,\n TabToNextHeaderParams,\n NavigateToNextCellParams,\n CellPosition,\n TabToNextCellParams,\n PostProcessPopupParams,\n GetDataPath,\n ICellRenderer,\n ILoadingOverlayComp,\n INoRowsOverlayComp,\n RowNode,\n IsRowMaster,\n IsRowSelectable,\n PaginationNumberFormatterParams,\n ProcessDataFromClipboardParams,\n GetServerSideGroupKey,\n IsServerSideGroup,\n SuppressKeyboardEventParams,\n ChartRef,\n ChartOptions,\n GetChartToolbarItems,\n FillOperationParams,\n IsApplyServerSideTransaction,\n GetServerSideStoreParamsParams,\n ServerSideStoreParams,\n IsServerSideGroupOpenByDefaultParams,\n IsGroupOpenByDefaultParams,\n ColumnEverythingChangedEvent,\n NewColumnsLoadedEvent,\n ColumnPivotModeChangedEvent,\n ColumnRowGroupChangedEvent,\n ExpandCollapseAllEvent,\n ColumnPivotChangedEvent,\n GridColumnsChangedEvent,\n ColumnValueChangedEvent,\n ColumnMovedEvent,\n ColumnVisibleEvent,\n ColumnPinnedEvent,\n ColumnGroupOpenedEvent,\n ColumnResizedEvent,\n DisplayedColumnsChangedEvent,\n VirtualColumnsChangedEvent,\n AsyncTransactionsFlushed,\n RowGroupOpenedEvent,\n RowDataChangedEvent,\n RowDataUpdatedEvent,\n PinnedRowDataChangedEvent,\n RangeSelectionChangedEvent,\n ChartCreated,\n ChartRangeSelectionChanged,\n ChartOptionsChanged,\n ChartDestroyed,\n ToolPanelVisibleChangedEvent,\n ModelUpdatedEvent,\n PasteStartEvent,\n PasteEndEvent,\n FillStartEvent,\n FillEndEvent,\n CellClickedEvent,\n CellDoubleClickedEvent,\n CellMouseDownEvent,\n CellContextMenuEvent,\n CellValueChangedEvent,\n RowValueChangedEvent,\n CellFocusedEvent,\n RowSelectedEvent,\n SelectionChangedEvent,\n CellKeyDownEvent,\n CellKeyPressEvent,\n CellMouseOverEvent,\n CellMouseOutEvent,\n FilterChangedEvent,\n FilterModifiedEvent,\n FilterOpenedEvent,\n SortChangedEvent,\n VirtualRowRemovedEvent,\n RowClickedEvent,\n RowDoubleClickedEvent,\n GridReadyEvent,\n GridSizeChangedEvent,\n ViewportChangedEvent,\n FirstDataRenderedEvent,\n DragStartedEvent,\n DragStoppedEvent,\n RowEditingStartedEvent,\n RowEditingStoppedEvent,\n CellEditingStartedEvent,\n CellEditingStoppedEvent,\n BodyScrollEvent,\n PaginationChangedEvent,\n ComponentStateChangedEvent,\n RowDragEvent,\n ColumnRowGroupChangeRequestEvent,\n ColumnPivotChangeRequestEvent,\n ColumnValueChangeRequestEvent,\n ColumnAggFuncChangeRequestEvent,\n ProcessRowParams,\n ProcessCellForExportParams,\n ProcessHeaderForExportParams,\n ProcessChartOptionsParams,\n RowClassRules,\n RowClassParams,\n RowHeightParams,\n SendToClipboardParams,\n TreeDataDisplayType,\n FullWidthCellKeyDownEvent,\n FullWidthCellKeyPressEvent\n} from \"ag-grid-community\";\n\nimport {AngularFrameworkOverrides} from \"./angularFrameworkOverrides\";\nimport {AngularFrameworkComponentWrapper} from \"./angularFrameworkComponentWrapper\";\nimport {AgGridColumn} from \"./ag-grid-column.component\";\n\n@Component({\n selector: 'ag-grid-angular',\n template: '',\n providers: [\n AngularFrameworkOverrides,\n AngularFrameworkComponentWrapper\n ],\n // tell angular we don't want view encapsulation, we don't want a shadow root\n encapsulation: ViewEncapsulation.None\n})\nexport class AgGridAngular implements AfterViewInit {\n // not intended for user to interact with. so putting _ in so if user gets reference\n // to this object, they kind'a know it's not part of the agreed interface\n private _nativeElement: any;\n private _initialised = false;\n private _destroyed = false;\n\n private gridParams: GridParams;\n\n // in order to ensure firing of gridReady is deterministic\n private _fullyReady: AgPromise<boolean> = AgPromise.resolve(true);\n\n // making these public, so they are accessible to people using the ng2 component references\n public api: GridApi;\n public columnApi: ColumnApi;\n\n @ContentChildren(AgGridColumn) public columns: QueryList<AgGridColumn>;\n\n constructor(elementDef: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private angularFrameworkOverrides: AngularFrameworkOverrides,\n private frameworkComponentWrapper: AngularFrameworkComponentWrapper,\n private componentFactoryResolver: ComponentFactoryResolver) {\n this._nativeElement = elementDef.nativeElement;\n\n }\n\n ngAfterViewInit(): void {\n this.frameworkComponentWrapper.setViewContainerRef(this.viewContainerRef);\n this.frameworkComponentWrapper.setComponentFactoryResolver(this.componentFactoryResolver);\n this.angularFrameworkOverrides.setEmitterUsedCallback(this.isEmitterUsed.bind(this));\n\n this.gridOptions = ComponentUtil.copyAttributesToGridOptions(this.gridOptions, this, true);\n\n this.gridParams = {\n globalEventListener: this.globalEventListener.bind(this),\n frameworkOverrides: this.angularFrameworkOverrides,\n providedBeanInstances: {\n frameworkComponentWrapper: this.frameworkComponentWrapper\n },\n modules: (this.modules || []) as any\n };\n\n if (this.columns && this.columns.length > 0) {\n this.gridOptions.columnDefs = this.columns\n .map((column: AgGridColumn): ColDef => {\n return column.toColDef();\n });\n }\n\n new Grid(this._nativeElement, this.gridOptions, this.gridParams);\n\n if (this.gridOptions.api) {\n this.api = this.gridOptions.api;\n }\n\n if (this.gridOptions.columnApi) {\n this.columnApi = this.gridOptions.columnApi;\n }\n\n this._initialised = true;\n\n // sometimes, especially in large client apps gridReady can fire before ngAfterViewInit\n // this ties these together so that gridReady will always fire after agGridAngular's ngAfterViewInit\n // the actual containing component's ngAfterViewInit will fire just after agGridAngular's\n this._fullyReady.resolveNow(null, resolve => resolve);\n }\n\n public ngOnChanges(changes: any): void {\n if (this._initialised) {\n ComponentUtil.processOnChange(changes, this.gridOptions, this.api, this.columnApi);\n }\n }\n\n public ngOnDestroy(): void {\n if (this._initialised) {\n // need to do this before the destroy, so we know not to emit any events\n // while tearing down the grid.\n this._destroyed = true;\n if (this.api) {\n this.api.destroy();\n }\n }\n }\n\n // we'll emit the emit if a user is listening for a given event either on the component via normal angular binding\n // or via gridOptions\n protected isEmitterUsed(eventType: string): boolean {\n const emitter = <EventEmitter<any>>(<any>this)[eventType];\n const hasEmitter = !!emitter && emitter.observers && emitter.observers.length > 0;\n\n // gridReady => onGridReady\n const asEventName = `on${eventType.charAt(0).toUpperCase()}${eventType.substring(1)}`\n const hasGridOptionListener = !!this.gridOptions && !!this.gridOptions[asEventName];\n\n return hasEmitter || hasGridOptionListener;\n }\n\n private globalEventListener(eventType: string, event: any): void {\n // if we are tearing down, don't emit angular events, as this causes\n // problems with the angular router\n if (this._destroyed) {\n return;\n }\n\n // generically look up the eventType\n const emitter = <EventEmitter<any>>(<any>this)[eventType];\n if (emitter && this.isEmitterUsed(eventType)) {\n if (eventType === 'gridReady') {\n // if the user is listening for gridReady, wait for ngAfterViewInit to fire first, then emit the\n // gridReady event\n this._fullyReady.then((result => {\n emitter.emit(event);\n }));\n } else {\n emitter.emit(event);\n }\n }\n }\n\n @Input() public gridOptions: GridOptions;\n @Input() public modules: Module[];\n\n // @START@\n @Input() public alignedGrids: GridOptions[] | undefined = undefined;\n @Input() public rowData: any[] | undefined = undefined;\n @Input() public columnDefs: (ColDef | ColGroupDef)[] | undefined = undefined;\n @Input() public excelStyles: ExcelStyle[] | undefined = undefined;\n @Input() public pinnedTopRowData: any[] | undefined = undefined;\n @Input() public pinnedBottomRowData: any[] | undefined = undefined;\n @Input() public chartThemes: string[] | undefined = undefined;\n @Input() public components: { [p: string]: any; } | undefined = undefined;\n @Input() public frameworkComponents: { [p: string]: { new(): any; }; } | any | undefined = undefined;\n @Input() public rowStyle: { [cssProperty: string]: string } | undefined = undefined;\n @Input() public context: any | undefined = undefined;\n @Input() public autoGroupColumnDef: ColDef | undefined = undefined;\n @Input() public localeText: { [key: string]: string } | undefined = undefined;\n @Input() public icons: { [key: string]: Function | string; } | undefined = undefined;\n @Input() public datasource: IDatasource | undefined = undefined;\n @Input() public serverSideDatasource: IServerSideDatasource | undefined = undefined;\n @Input() public viewportDatasource: IViewportDatasource | undefined = undefined;\n @Input() public groupRowRendererParams: any | undefined = undefined;\n @Input() public aggFuncs: { [key: string]: IAggFunc; } | undefined = undefined;\n @Input() public fullWidthCellRendererParams: any | undefined = undefined;\n @Input() public defaultColGroupDef: Partial<ColGroupDef> | undefined = undefined;\n @Input() public defaultColDef: ColDef | undefined = undefined;\n /** @deprecated Use defaultCsvExportParams or defaultExcelExportParams\n */\n @Input() public defaultExportParams: CsvExportParams | ExcelExportParams | undefined = undefined;\n @Input() public defaultCsvExportParams: CsvExportParams | undefined = undefined;\n @Input() public defaultExcelExportParams: ExcelExportParams | undefined = undefined;\n @Input() public columnTypes: { [key: string]: ColDef; } | undefined = undefined;\n @Input() public rowClassRules: RowClassRules | undefined = undefined;\n @Input() public detailCellRendererParams: any | undefined = undefined;\n @Input() public loadingCellRendererParams: any | undefined = undefined;\n @Input() public loadingOverlayComponentParams: any | undefined = undefined;\n @Input() public noRowsOverlayComponentParams: any | undefined = undefined;\n @Input() public popupParent: HTMLElement | undefined = undefined;\n @Input() public colResizeDefault: string | undefined = undefined;\n @Input() public statusBar: { statusPanels: StatusPanelDef[]; } | undefined = undefined;\n @Input() public sideBar: SideBarDef | string | boolean | null | undefined = undefined;\n @Input() public chartThemeOverrides: AgChartThemeOverrides | undefined = undefined;\n @Input() public customChartThemes: { [name: string]: AgChartTheme } | undefined = undefined;\n @Input() public sortingOrder: (string | null)[] | undefined = undefined;\n @Input() public rowClass: string | string[] | undefined = undefined;\n @Input() public rowSelection: string | undefined = undefined;\n @Input() public overlayLoadingTemplate: string | undefined = undefined;\n @Input() public overlayNoRowsTemplate: string | undefined = undefined;\n @Input() public quickFilterText: string | undefined = undefined;\n @Input() public rowModelType: string | undefined = undefined;\n @Input() public editType: string | undefined = undefined;\n @Input() public domLayout: string | undefined = undefined;\n @Input() public clipboardDeliminator: string | undefined = undefined;\n @Input() public rowGroupPanelShow: string | undefined = undefined;\n @Input() public multiSortKey: string | undefined = undefined;\n @Input() public pivotColumnGroupTotals: string | undefined = undefined;\n @Input() public pivotRowTotals: string | undefined = undefined;\n @Input() public pivotPanelShow: string | undefined = undefined;\n @Input() public fillHandleDirection: string | undefined = undefined;\n @Input() public serverSideStoreType: ServerSideStoreType | undefined = undefined;\n @Input() public groupDisplayType: RowGroupingDisplayType | undefined = undefined;\n @Input() public treeDataDisplayType: TreeDataDisplayType | undefined = undefined;\n @Input() public rowHeight: number | undefined = undefined;\n @Input() public detailRowHeight: number | undefined = undefined;\n @Input() public rowBuffer: number | undefined = undefined;\n @Input() public colWidth: number | undefined = undefined;\n @Input() public headerHeight: number | undefined = undefined;\n @Input() public groupHeaderHeight: number | undefined = undefined;\n @Input() public floatingFiltersHeight: number | undefined = undefined;\n @Input() public pivotHeaderHeight: number | undefined = undefined;\n @Input() public pivotGroupHeaderHeight: number | undefined = undefined;\n @Input() public groupDefaultExpanded: number | undefined = undefined;\n @Input() public minColWidth: number | undefined = undefined;\n @Input() public maxColWidth: number | undefined = undefined;\n @Input() public viewportRowModelPageSize: number | undefined = undefined;\n @Input() public viewportRowModelBufferSize: number | undefined = undefined;\n @Input() public autoSizePadding: number | undefined = undefined;\n @Input() public maxBlocksInCache: number | undefined = undefined;\n @Input() public maxConcurrentDatasourceRequests: number | undefined = undefined;\n @Input() public tooltipShowDelay: number | undefined = undefined;\n @Input() public cacheOverflowSize: number | undefined = undefined;\n @Input() public paginationPageSize: number | undefined = undefined;\n @Input() public cacheBlockSize: number | undefined = undefined;\n @Input() public infiniteInitialRowCount: number | undefined = undefined;\n @Input() public scrollbarWidth: number | undefined = undefined;\n @Input() public batchUpdateWaitMillis: number | undefined = undefined;\n @Input() public asyncTransactionWaitMillis: number | undefined = undefined;\n @Input() public blockLoadDebounceMillis: number | undefined = undefined;\n @Input() public keepDetailRowsCount: number | undefined = undefined;\n @Input() public undoRedoCellEditingLimit: number | undefined = undefined;\n @Input() public cellFlashDelay: number | undefined = undefined;\n @Input() public cellFadeDelay: number | undefined = undefined;\n @Input() public tabIndex: number | undefined = undefined;\n @Input() public localeTextFunc: (key: string, defaultValue: string) => string | undefined = undefined;\n /** @deprecated - this is now groupRowRendererParams.innerRenderer\n */\n @Input() public groupRowInnerRenderer: { new(): ICellRendererComp; } | ICellRendererFunc | string | undefined = undefined;\n /** @deprecated - this is now groupRowRendererParams.innerRendererFramework\n */\n @Input() public groupRowInnerRendererFramework: any | undefined = undefined;\n @Input() public dateComponent: any = undefined;\n @Input() public dateComponentFramework: any = undefined;\n @Input() public groupRowRenderer: { new(): ICellRendererComp; } | ICellRendererFunc | string | undefined = undefined;\n @Input() public groupRowRendererFramework: any | undefined = undefined;\n @Input() public isExternalFilterPresent: () => boolean | undefined = undefined;\n @Input() public getRowHeight: (params: RowHeightParams) => number | undefined | null | undefined = undefined;\n @Input() public doesExternalFilterPass: (node: RowNode) => boolean | undefined = undefined;\n @Input() public getRowClass: (params: RowClassParams) => string | string[] | undefined | undefined = undefined;\n @Input() public getRowStyle: (params: RowClassParams) => { [cssProperty: string]: string } | undefined = undefined;\n @Input() public getContextMenuItems: GetContextMenuItems | undefined = undefined;\n @Input() public getMainMenuItems: GetMainMenuItems | undefined = undefined;\n @Input() public processRowPostCreate: (params: ProcessRowParams) => void | undefined = undefined;\n @Input() public processCellForClipboard: (params: ProcessCellForExportParams) => any | undefined = undefined;\n @Input() public groupRowAggNodes: (nodes: RowNode[]) => any | undefined = undefined;\n @Input() public getRowNodeId: GetRowNodeIdFunc | undefined = undefined;\n @Input() public isFullWidthCell: (rowNode: RowNode) => boolean | undefined = undefined;\n @Input() public fullWidthCellRenderer: { new(): ICellRendererComp; } | ICellRendererFunc | string | undefined = undefined;\n @Input() public fullWidthCellRendererFramework: any | undefined = undefined;\n @Input() public processSecondaryColDef: (colDef: ColDef) => void | undefined = undefined;\n @Input() public processSecondaryColGroupDef: (colGroupDef: ColGroupDef) => void | undefined = undefined;\n @Input() public getBusinessKeyForNode: (node: RowNode) => string | undefined = undefined;\n @Input() public sendToClipboard: (params: SendToClipboardParams) => void | undefined = undefined;\n @Input() public navigateToNextHeader: (params: NavigateToNextHeaderParams) => HeaderPosition | undefined = undefined;\n @Input() public tabToNextHeader: (params: TabToNextHeaderParams) => HeaderPosition | undefined = undefined;\n @Input() public navigateToNextCell: (params: NavigateToNextCellParams) => CellPosition | undefined = undefined;\n @Input() public tabToNextCell: (params: TabToNextCellParams) => CellPosition | undefined = undefined;\n @Input() public processCellFromClipboard: (params: ProcessCellForExportParams) => any | undefined = undefined;\n @Input() public getDocument: () => Document | undefined = undefined;\n @Input() public postProcessPopup: (params: PostProcessPopupParams) => void | undefined = undefined;\n @Input() public getChildCount: (dataItem: any) => number | undefined = undefined;\n @Input() public getDataPath: GetDataPath | undefined = undefined;\n @Input() public loadingCellRenderer: { new(): ICellRenderer; } | string | undefined = undefined;\n @Input() public loadingCellRendererFramework: any | undefined = undefined;\n @Input() public loadingOverlayComponent: { new(): ILoadingOverlayComp; } | string | undefined = undefined;\n @Input() public loadingOverlayComponentFramework: any | undefined = undefined;\n @Input() public noRowsOverlayComponent: { new(): INoRowsOverlayComp; } | string | undefined = undefined;\n @Input() public noRowsOverlayComponentFramework: any | undefined = undefined;\n @Input() public detailCellRenderer: { new(): ICellRendererComp; } | ICellRendererFunc | string | undefined = undefined;\n @Input() public detailCellRendererFramework: any | undefined = undefined;\n @Input() public isRowMaster: IsRowMaster | undefined = undefined;\n @Input() public isRowSelectable: IsRowSelectable | undefined = undefined;\n @Input() public postSort: (nodes: RowNode[]) => void | undefined = undefined;\n @Input() public processHeaderForClipboard: (params: ProcessHeaderForExportParams) => any | undefined = undefined;\n @Input() public paginationNumberFormatter: (params: PaginationNumberFormatterParams) => string | undefined = undefined;\n @Input() public processDataFromClipboard: (params: ProcessDataFromClipboardParams) => string[][] | null | undefined = undefined;\n @Input() public getServerSideGroupKey: GetServerSideGroupKey | undefined = undefined;\n @Input() public isServerSideGroup: IsServerSideGroup | undefined = undefined;\n /** Allows user to suppress certain keyboard events */\n @Input() public suppressKeyboardEvent: (params: SuppressKeyboardEventParams) => boolean | undefined = undefined;\n @Input() public createChartContainer: (params: ChartRef) => void | undefined = undefined;\n /** @deprecated\n */\n @Input() public processChartOptions: (params: ProcessChartOptionsParams) => ChartOptions<any> | undefined = undefined;\n @Input() public getChartToolbarItems: GetChartToolbarItems | undefined = undefined;\n @Input() public fillOperation: (params: FillOperationParams) => any | undefined = undefined;\n @Input() public isApplyServerSideTransaction: IsApplyServerSideTransaction | undefined = undefined;\n @Input() public getServerSideStoreParams: (params: GetServerSideStoreParamsParams) => ServerSideStoreParams | undefined = undefined;\n @Input() public isServerSideGroupOpenByDefault: (params: IsServerSideGroupOpenByDefaultParams) => boolean | undefined = undefined;\n @Input() public isGroupOpenByDefault: (params: IsGroupOpenByDefaultParams) => boolean | undefined = undefined;\n /** @deprecated - Use defaultGroupOrderComparator instead\n */\n @Input() public defaultGroupSortComparator: (nodeA: RowNode, nodeB: RowNode) => number | undefined = undefined;\n @Input() public defaultGroupOrderComparator: (nodeA: RowNode, nodeB: RowNode) => number | undefined = undefined;\n @Input() public suppressMakeColumnVisibleAfterUnGroup: boolean | undefined = undefined;\n @Input() public suppressRowClickSelection: boolean | undefined = undefined;\n @Input() public suppressCellSelection: boolean | undefined = undefined;\n @Input() public suppressHorizontalScroll: boolean | undefined = undefined;\n @Input() public alwaysShowHorizontalScroll: boolean | undefined = undefined;\n @Input() public alwaysShowVerticalScroll: boolean | undefined = undefined;\n @Input() public debug: boolean | undefined = undefined;\n @Input() public enableBrowserTooltips: boolean | undefined = undefined;\n @Input() public enableCellExpressions: boolean | undefined = undefined;\n @Input() public angularCompileRows: boolean | undefined = undefined;\n @Input() public angularCompileFilters: boolean | undefined = undefined;\n /** @deprecated - Use groupDisplayType = 'custom' instead\n */\n @Input() public groupSuppressAutoColumn: boolean | undefined = undefined;\n @Input() public groupSelectsChildren: boolean | undefined = undefined;\n @Input() public groupIncludeFooter: boolean | undefined = undefined;\n @Input() public groupIncludeTotalFooter: boolean | undefined = undefined;\n /** @deprecated - Use groupDisplayType = 'groupRows' instead\n */\n @Input() public groupUseEntireRow: boolean | undefined = undefined;\n @Input() public groupSuppressBlankHeader: boolean | undefined = undefined;\n @Input() public suppressMenuHide: boolean | undefined = undefined;\n @Input() public suppressRowDeselection: boolean | undefined = undefined;\n @Input() public unSortIcon: boolean | undefined = undefined;\n @Input() public suppressMultiSort: boolean | undefined = undefined;\n @Input() public singleClickEdit: boolean | undefined = undefined;\n @Input() public suppressLoadingOverlay: boolean | undefined = undefined;\n @Input() public suppressNoRowsOverlay: boolean | undefined = undefined;\n @Input() public suppressAutoSize: boolean | undefined = undefined;\n @Input() public skipHeaderOnAutoSize: boolean | undefined = undefined;\n @Input() public suppressParentsInRowNodes: boolean | undefined = undefined;\n @Input() public suppressColumnMoveAnimation: boolean | undefined = undefined;\n @Input() public suppressMovableColumns: boolean | undefined = undefined;\n @Input() public suppressFieldDotNotation: boolean | undefined = undefined;\n @Input() public enableRangeSelection: boolean | undefined = undefined;\n @Input() public enableRangeHandle: boolean | undefined = undefined;\n @Input() public enableFillHandle: boolean | undefined = undefined;\n @Input() public suppressClearOnFillReduction: boolean | undefined = undefined;\n @Input() public deltaSort: boolean | undefined = undefined;\n @Input() public suppressTouch: boolean | undefined = undefined;\n @Input() public suppressAsyncEvents: boolean | undefined = undefined;\n @Input() public allowContextMenuWithControlKey: boolean | undefined = undefined;\n @Input() public suppressContextMenu: boolean | undefined = undefined;\n /** @deprecated - no longer needed, transaction updates keep group state\n */\n @Input() public rememberGroupStateWhenNewData: boolean | undefined = undefined;\n @Input() public enableCellChangeFlash: boolean | undefined = undefined;\n @Input() public suppressDragLeaveHidesColumns: boolean | undefined = undefined;\n @Input() public suppressMiddleClickScrolls: boolean | undefined = undefined;\n @Input() public suppressPreventDefaultOnMouseWheel: boolean | undefined = undefined;\n @Input() public suppressCopyRowsToClipboard: boolean | undefined = undefined;\n @Input() public copyHeadersToClipboard: boolean | undefined = undefined;\n @Input() public pivotMode: boolean | undefined = undefined;\n @Input() public suppressAggFuncInHeader: boolean | undefined = undefined;\n @Input() public suppressColumnVirtualisation: boolean | undefined = undefined;\n @Input() public suppressAggAtRootLevel: boolean | undefined = undefined;\n @Input() public suppressFocusAfterRefresh: boolean | undefined = undefined;\n @Input() public functionsPassive: boolean | undefined = undefined;\n @Input() public functionsReadOnly: boolean | undefined = undefined;\n @Input() public animateRows: boolean | undefined = undefined;\n @Input() public groupSelectsFiltered: boolean | undefined = undefined;\n @Input() public groupRemoveSingleChildren: boolean | undefined = undefined;\n @Input() public groupRemoveLowestSingleChildren: boolean | undefined = undefined;\n @Input() public enableRtl: boolean | undefined = undefined;\n @Input() public suppressClickEdit: boolean | undefined = undefined;\n @Input() public rowDragManaged: boolean | undefined = undefined;\n @Input() public suppressRowDrag: boolean | undefined = undefined;\n @Input() public suppressMoveWhenRowDragging: boolean | undefined = undefined;\n @Input() public enableMultiRowDragging: boolean | undefined = undefined;\n @Input() public enableGroupEdit: boolean | undefined = undefined;\n @Input() public embedFullWidthRows: boolean | undefined = undefined;\n /** @deprecated\n */\n @Input() public deprecatedEmbedFullWidthRows: boolean | undefined = undefined;\n @Input() public suppressPaginationPanel: boolean | undefined = undefined;\n /** @deprecated Use floatingFilter on the colDef instead\n */\n @Input() public floatingFilter: boolean | undefined = undefined;\n @Input() public groupHideOpenParents: boolean | undefined = undefined;\n /** @deprecated - Use groupDisplayType = 'multipleColumns' instead\n */\n @Input() public groupMultiAutoColumn: boolean | undefined = undefined;\n @Input() public pagination: boolean | undefined = undefined;\n /** @deprecated Use stopEditingWhenCellsLoseFocus instead\n */\n @Input() public stopEditingWhenGridLosesFocus: boolean | undefined = undefined;\n @Input() public paginationAutoPageSize: boolean | undefined = undefined;\n @Input() public suppressScrollOnNewData: boolean | undefined = undefined;\n @Input() public purgeClosedRowNodes: boolean | undefined = undefined;\n @Input() public cacheQuickFilter: boolean | undefined = undefined;\n /** @deprecated\n */\n @Input() public deltaRowDataMode: boolean | undefined = undefined;\n @Input() public ensureDomOrder: boolean | undefined = undefined;\n @Input() public accentedSort: boolean | undefined = undefined;\n @Input() public suppressChangeDetection: boolean | undefined = undefined;\n @Input() public valueCache: boolean | undefined = undefined;\n @Input() public valueCacheNeverExpires: boolean | undefined = undefined;\n @Input() public aggregateOnlyChangedColumns: boolean | undefined = undefined;\n @Input() public suppressAnimationFrame: boolean | undefined = undefined;\n @Input() public suppressExcelExport: boolean | undefined = undefined;\n @Input() public suppressCsvExport: boolean | undefined = undefined;\n @Input() public treeData: boolean | undefined = undefined;\n @Input() public masterDetail: boolean | undefined = undefined;\n @Input() public suppressMultiRangeSelection: boolean | undefined = undefined;\n @Input() public enterMovesDownAfterEdit: boolean | undefined = undefined;\n @Input() public enterMovesDown: boolean | undefined = undefined;\n @Input() public suppressPropertyNamesCheck: boolean | undefined = undefined;\n @Input() public rowMultiSelectWithClick: boolean | undefined = undefined;\n @Input() public suppressEnterpriseResetOnNewColumns: boolean | undefined = undefined;\n @Input() public enableOldSetFilterModel: boolean | undefined = undefined;\n @Input() public suppressRowHoverHighlight: boolean | undefined = undefined;\n @Input() public suppressRowTransform: boolean | undefined = undefined;\n @Input() public suppressClipboardPaste: boolean | undefined = undefined;\n @Input() public suppressLastEmptyLineOnPaste: boolean | undefined = undefined;\n @Input() public serverSideSortingAlwaysResets: boolean | undefined = undefined;\n /** @deprecated\n */\n @Input() public suppressSetColumnStateEvents: boolean | undefined = undefined;\n /** @deprecated\n */\n @Input() public suppressColumnStateEvents: boolean | undefined = undefined;\n @Input() public enableCharts: boolean | undefined = undefined;\n /** @deprecated\n */\n @Input() public deltaColumnMode: boolean | undefined = undefined;\n @Input() public suppressMaintainUnsortedOrder: boolean | undefined = undefined;\n @Input() public enableCellTextSelection: boolean | undefined = undefined;\n /** Set once in init, can never change */\n @Input() public suppressBrowserResizeObserver: boolean | undefined = undefined;\n @Input() public suppressMaxRenderedRowRestriction: boolean | undefined = undefined;\n @Input() public excludeChildrenWhenTreeDataFiltering: boolean | undefined = undefined;\n @Input() public tooltipMouseTrack: boolean | undefined = undefined;\n @Input() public keepDetailRows: boolean | undefined = undefined;\n @Input() public paginateChildRows: boolean | undefined = undefined;\n @Input() public preventDefaultOnContextMenu: boolean | undefined = undefined;\n @Input() public undoRedoCellEditing: boolean | undefined = undefined;\n @Input() public allowDragFromColumnsToolPanel: boolean | undefined = undefined;\n @Input() public immutableData: boolean | undefined = undefined;\n /** @deprecated\n */\n @Input() public immutableColumns: boolean | undefined = undefined;\n @Input() public pivotSuppressAutoColumn: boolean | undefined = undefined;\n @Input() public suppressExpandablePivotGroups: boolean | undefined = undefined;\n /** @deprecated\n */\n @Input() public applyColumnDefOrder: boolean | undefined = undefined;\n @Input() public debounceVerticalScrollbar: boolean | undefined = undefined;\n @Input() public detailRowAutoHeight: boolean | undefined = undefined;\n @Input() public serverSideFilteringAlwaysResets: boolean | undefined = undefined;\n @Input() public suppressAggFilteredOnly: boolean | undefined = undefined;\n @Input() public showOpenedGroup: boolean | undefined = undefined;\n @Input() public suppressClipboardApi: boolean | undefined = undefined;\n @Input() public suppressModelUpdateAfterUpdateTransaction: boolean | undefined = undefined;\n @Input() public stopEditingWhenCellsLoseFocus: boolean | undefined = undefined;\n @Input() public maintainColumnOrder: boolean | undefined = undefined;\n @Input() public groupMaintainOrder: boolean | undefined = undefined;\n @Input() public columnHoverHighlight: boolean | undefined = undefined;\n /** @deprecated\n */\n @Input() public allowProcessChartOptions: boolean | undefined = undefined;\n\n @Output() public columnEverythingChanged: EventEmitter<ColumnEverythingChangedEvent> = new EventEmitter<ColumnEverythingChangedEvent>();\n @Output() public newColumnsLoaded: EventEmitter<NewColumnsLoadedEvent> = new EventEmitter<NewColumnsLoadedEvent>();\n @Output() public columnPivotModeChanged: EventEmitter<ColumnPivotModeChangedEvent> = new EventEmitter<ColumnPivotModeChangedEvent>();\n @Output() public columnRowGroupChanged: EventEmitter<ColumnRowGroupChangedEvent> = new EventEmitter<ColumnRowGroupChangedEvent>();\n @Output() public expandOrCollapseAll: EventEmitter<ExpandCollapseAllEvent> = new EventEmitter<ExpandCollapseAllEvent>();\n @Output() public columnPivotChanged: EventEmitter<ColumnPivotChangedEvent> = new EventEmitter<ColumnPivotChangedEvent>();\n @Output() public gridColumnsChanged: EventEmitter<GridColumnsChangedEvent> = new EventEmitter<GridColumnsChangedEvent>();\n @Output() public columnValueChanged: EventEmitter<ColumnValueChangedEvent> = new EventEmitter<ColumnValueChangedEvent>();\n @Output() public columnMoved: EventEmitter<ColumnMovedEvent> = new EventEmitter<ColumnMovedEvent>();\n @Output() public columnVisible: EventEmitter<ColumnVisibleEvent> = new EventEmitter<ColumnVisibleEvent>();\n @Output() public columnPinned: EventEmitter<ColumnPinnedEvent> = new EventEmitter<ColumnPinnedEvent>();\n @Output() public columnGroupOpened: EventEmitter<ColumnGroupOpenedEvent> = new EventEmitter<ColumnGroupOpenedEvent>();\n @Output() public columnResized: EventEmitter<ColumnResizedEvent> = new EventEmitter<ColumnResizedEvent>();\n @Output() public displayedColumnsChanged: EventEmitter<DisplayedColumnsChangedEvent> = new EventEmitter<DisplayedColumnsChangedEvent>();\n @Output() public virtualColumnsChanged: EventEmitter<VirtualColumnsChangedEvent> = new EventEmitter<VirtualColumnsChangedEvent>();\n @Output() public asyncTransactionsFlushed: EventEmitter<AsyncTransactionsFlushed> = new EventEmitter<AsyncTransactionsFlushed>();\n @Output() public rowGroupOpened: EventEmitter<RowGroupOpenedEvent> = new EventEmitter<RowGroupOpenedEvent>();\n @Output() public rowDataChanged: EventEmitter<RowDataChangedEvent> = new EventEmitter<RowDataChangedEvent>();\n @Output() public rowDataUpdated: EventEmitter<RowDataUpdatedEvent> = new EventEmitter<RowDataUpdatedEvent>();\n @Output() public pinnedRowDataChanged: EventEmitter<PinnedRowDataChangedEvent> = new EventEmitter<PinnedRowDataChangedEvent>();\n @Output() public rangeSelectionChanged: EventEmitter<RangeSelectionChangedEvent> = new EventEmitter<RangeSelectionChangedEvent>();\n @Output() public chartCreated: EventEmitter<ChartCreated> = new EventEmitter<ChartCreated>();\n @Output() public chartRangeSelectionChanged: EventEmitter<ChartRangeSelectionChanged> = new EventEmitter<ChartRangeSelectionChanged>();\n @Output() public chartOptionsChanged: EventEmitter<ChartOptionsChanged> = new EventEmitter<ChartOptionsChanged>();\n @Output() public chartDestroyed: EventEmitter<ChartDestroyed> = new EventEmitter<ChartDestroyed>();\n @Output() public toolPanelVisibleChanged: EventEmitter<ToolPanelVisibleChangedEvent> = new EventEmitter<ToolPanelVisibleChangedEvent>();\n @Output() public modelUpdated: EventEmitter<ModelUpdatedEvent> = new EventEmitter<ModelUpdatedEvent>();\n @Output() public pasteStart: EventEmitter<PasteStartEvent> = new EventEmitter<PasteStartEvent>();\n @Output() public pasteEnd: EventEmitter<PasteEndEvent> = new EventEmitter<PasteEndEvent>();\n @Output() public fillStart: EventEmitter<FillStartEvent> = new EventEmitter<FillStartEvent>();\n @Output() public fillEnd: EventEmitter<FillEndEvent> = new EventEmitter<FillEndEvent>();\n @Output() public cellClicked: EventEmitter<CellClickedEvent> = new EventEmitter<CellClickedEvent>();\n @Output() public cellDoubleClicked: EventEmitter<CellDoubleClickedEvent> = new EventEmitter<CellDoubleClickedEvent>();\n @Output() public cellMouseDown: EventEmitter<CellMouseDownEvent> = new EventEmitter<CellMouseDownEvent>();\n @Output() public cellContextMenu: EventEmitter<CellContextMenuEvent> = new EventEmitter<CellContextMenuEvent>();\n @Output() public cellValueChanged: EventEmitter<CellValueChangedEvent> = new EventEmitter<CellValueChangedEvent>();\n @Output() public rowValueChanged: EventEmitter<RowValueChangedEvent> = new EventEmitter<RowValueChangedEvent>();\n @Output() public cellFocused: EventEmitter<CellFocusedEvent> = new EventEmitter<CellFocusedEvent>();\n @Output() public rowSelected: EventEmitter<RowSelectedEvent> = new EventEmitter<RowSelectedEvent>();\n @Output() public selectionChanged: EventEmitter<SelectionChangedEvent> = new EventEmitter<SelectionChangedEvent>();\n @Output() public cellKeyDown: EventEmitter<CellKeyDownEvent | FullWidthCellKeyDownEvent> = new EventEmitter<CellKeyDownEvent | FullWidthCellKeyDownEvent>();\n @Output() public cellKeyPress: EventEmitter<CellKeyPressEvent | FullWidthCellKeyPressEvent> = new EventEmitter<CellKeyPressEvent | FullWidthCellKeyPressEvent>();\n @Output() public cellMouseOver: EventEmitter<CellMouseOverEvent> = new EventEmitter<CellMouseOverEvent>();\n @Output() public cellMouseOut: EventEmitter<CellMouseOutEvent> = new EventEmitter<CellMouseOutEvent>();\n @Output() public filterChanged: EventEmitter<FilterChangedEvent> = new EventEmitter<FilterChangedEvent>();\n @Output() public filterModified: EventEmitter<FilterModifiedEvent> = new EventEmitter<FilterModifiedEvent>();\n @Output() public filterOpened: EventEmitter<FilterOpenedEvent> = new EventEmitter<FilterOpenedEvent>();\n @Output() public sortChanged: EventEmitter<SortChangedEvent> = new EventEmitter<SortChangedEvent>();\n @Output() public virtualRowRemoved: EventEmitter<VirtualRowRemovedEvent> = new EventEmitter<VirtualRowRemovedEvent>();\n @Output() public rowClicked: EventEmitter<RowClickedEvent> = new EventEmitter<RowClickedEvent>();\n @Output() public rowDoubleClicked: EventEmitter<RowDoubleClickedEvent> = new EventEmitter<RowDoubleClickedEvent>();\n @Output() public gridReady: EventEmitter<GridReadyEvent> = new EventEmitter<GridReadyEvent>();\n @Output() public gridSizeChanged: EventEmitter<GridSizeChangedEvent> = new EventEmitter<GridSizeChangedEvent>();\n @Output() public viewportChanged: EventEmitter<ViewportChangedEvent> = new EventEmitter<ViewportChangedEvent>();\n @Output() public firstDataRendered: EventEmitter<FirstDataRenderedEvent> = new EventEmitter<FirstDataRenderedEvent>();\n @Output() public dragStarted: EventEmitter<DragStartedEvent> = new EventEmitter<DragStartedEvent>();\n @Output() public dragStopped: EventEmitter<DragStoppedEvent> = new EventEmitter<DragStoppedEvent>();\n @Output() public rowEditingStarted: EventEmitter<RowEditingStartedEvent> = new EventEmitter<RowEditingStartedEvent>();\n @Output() public rowEditingStopped: EventEmitter<RowEditingStoppedEvent> = new EventEmitter<RowEditingStoppedEvent>();\n @Output() public cellEditingStarted: EventEmitter<CellEditingStartedEvent> = new EventEmitter<CellEditingStartedEvent>();\n @Output() public cellEditingStopped: EventEmitter<CellEditingStoppedEvent> = new EventEmitter<CellEditingStoppedEvent>();\n @Output() public bodyScroll: EventEmitter<BodyScrollEvent> = new EventEmitter<BodyScrollEvent>();\n @Output() public paginationChanged: EventEmitter<PaginationChangedEvent> = new EventEmitter<PaginationChangedEvent>();\n @Output() public componentStateChanged: EventEmitter<ComponentStateChangedEvent> = new EventEmitter<ComponentStateChangedEvent>();\n @Output() public rowDragEnter: EventEmitter<RowDragEvent> = new EventEmitter<RowDragEvent>();\n @Output() public rowDragMove: EventEmitter<RowDragEvent> = new EventEmitter<RowDragEvent>();\n @Output() public rowDragLeave: EventEmitter<RowDragEvent> = new EventEmitter<RowDragEvent>();\n @Output() public rowDragEnd: EventEmitter<RowDragEvent> = new EventEmitter<RowDragEvent>();\n @Output() public columnRowGroupChangeRequest: EventEmitter<ColumnRowGroupChangeRequestEvent> = new EventEmitter<ColumnRowGroupChangeRequestEvent>();\n @Output() public columnPivotChangeRequest: EventEmitter<ColumnPivotChangeRequestEvent> = new EventEmitter<ColumnPivotChangeRequestEvent>();\n @Output() public columnValueChangeRequest: EventEmitter<ColumnValueChangeRequestEvent> = new EventEmitter<ColumnValueChangeRequestEvent>();\n @Output() public columnAggFuncChangeRequest: EventEmitter<ColumnAggFuncChangeRequestEvent> = new EventEmitter<ColumnAggFuncChangeRequestEvent>();\n // @END@\n}\n\n","import {ANALYZE_FOR_ENTRY_COMPONENTS, ModuleWithProviders, NgModule} from '@angular/core';\n\nimport {AgGridAngular} from './ag-grid-angular.component';\nimport {AgGridColumn} from './ag-grid-column.component';\n\n@NgModule({\n declarations: [AgGridAngular, AgGridColumn],\n imports: [],\n exports: [AgGridAngular, AgGridColumn]\n})\nexport class AgGridModule {\n static withComponents(components?: any): ModuleWithProviders<any> {\n return {\n ngModule: AgGridModule,\n providers: [\n {provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: components, multi: true}\n ],\n };\n }\n\n static forRoot(components?: any): ModuleWithProviders<any> {\n return {\n ngModule: AgGridModule,\n providers: [\n {provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: components, multi: true}\n ],\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
\No newline at end of file