{"version":3,"sources":["webpack:///./node_modules/ag-grid-community/dist/lib/gridApi.js","webpack:///./node_modules/ag-grid-community/dist/lib/gridCore.js"],"names":["__decorate","this","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","k","v","metadata","exports","value","csvCreator_1","rowRenderer_1","filterManager_1","columnController_1","selectionController_1","gridOptionsWrapper_1","valueService_1","eventService_1","constants_1","context_1","sortController_1","focusedCellController_1","cellRendererFactory_1","paginationProxy_1","immutableService_1","valueCache_1","alignedGridsService_1","pinnedRowModel_1","animationFrameService_1","utils_1","GridApi","detailGridInfoMap","prototype","registerGridComp","gridPanel","registerGridCore","gridCore","registerHeaderRootComp","headerRootComp","init","rowModel","getType","Constants","ROW_MODEL_TYPE_CLIENT_SIDE","clientSideRowModel","ROW_MODEL_TYPE_INFINITE","infinitePageRowModel","ROW_MODEL_TYPE_SERVER_SIDE","serverSideRowModel","__getAlignedGridService","alignedGridsService","addDetailGridInfo","id","gridInfo","removeDetailGridInfo","undefined","getDetailGridInfo","forEachDetailGridInfo","callback","index","_","iterateObject","exists","getDataAsCsv","params","csvCreator","exportDataAsCsv","getDataAsExcel","excelCreator","console","warn","getDataAsExcelXml","exportDataAsExcel","setEnterpriseDatasource","datasource","setServerSideDatasource","gridOptionsWrapper","isRowModelServerSide","setDatasource","isRowModelInfinite","setViewportDatasource","viewportDatasource","isRowModelViewport","ROW_MODEL_TYPE_VIEWPORT","setRowData","rowData","isRowModelDefault","isDeltaRowDataMode","_a","immutableService","createTransactionForRowData","transaction","orderIdMap","updateRowData","rowRenderer","refreshFullWidthRows","selectionController","reset","setFloatingTopRowData","rows","setPinnedTopRowData","setFloatingBottomRowData","setPinnedBottomRowData","getFloatingTopRowCount","getPinnedTopRowCount","getFloatingBottomRowCount","getPinnedBottomRowCount","getFloatingTopRow","getPinnedTopRow","getFloatingBottomRow","getPinnedBottomRow","pinnedRowModel","setColumnDefs","colDefs","source","columnController","expireValueCache","valueCache","expire","getVerticalPixelRange","getVScrollPosition","getHorizontalPixelRange","getHScrollPosition","setAlwaysShowVerticalScroll","show","setProperty","refreshToolPanel","refreshSideBar","refreshCells","Array","isArray","flashCells","redrawRows","rowNodes","redrawAfterModelUpdate","timeFullRedraw","count","iterationCount","totalProcessing","totalReflow","that","doOneIteration","start","Date","getTime","endProcessing","window","setTimeout","endReflow","durationProcessing","durationReflow","log","finish","refreshView","refreshRows","rowDataChanged","softRefreshView","error","refreshGroupRows","setFunctionsReadOnly","readOnly","refreshHeader","setHeaderAndFloatingHeights","isAnyFilterPresent","filterManager","isAdvancedFilterPresent","isColumnFilterPresent","isQuickFilterPresent","getModel","setRowNodeExpanded","rowNode","expanded","setExpanded","onGroupExpandedOrCollapsed","deprecated_refreshFromIndex","missing","refreshModel","step","STEP_MAP","refreshInMemoryRowModel","refreshClientSideRowModel","paramsStep","STEP_EVERYTHING","stepsMapped","group","filter","STEP_FILTER","map","aggregate","STEP_AGGREGATE","sort","STEP_SORT","pivot","STEP_PIVOT","keys","join","modelParams","keepRenderedRows","animate","keepEditingRows","isAnimationFrameQueueEmpty","animationFrameService","isQueueEmpty","getRowNode","expandAll","expandOrCollapseAll","collapseAll","addVirtualRowListener","eventName","rowIndex","addRenderedRowListener","setQuickFilter","newFilter","selectIndex","tryMulti","suppressEvents","deselectIndex","selectNode","node","setSelectedParams","newValue","clearSelection","deselectNode","selectAll","selectAllRowNodes","deselectAll","deselectAllRowNodes","selectAllFiltered","deselectAllFiltered","recomputeAggregates","sizeColumnsToFit","showLoadingOverlay","showNoRowsOverlay","hideOverlay","isNodeSelected","isSelected","getSelectedNodesById","getSelectedNodes","getSelectedRows","getBestCostNodeSelection","getRenderedNodes","ensureColIndexVisible","ensureColumnVisible","ensureIndexVisible","position","ensureNodeVisible","comparator","forEachLeafNode","forEachNode","forEachNodeAfterFilter","forEachNodeAfterFilterAndSort","getFilterApiForColDef","colDef","getFilterInstance","column","getPrimaryColumn","getFilterComponent","resolveNow","filterComp","getFilterApi","destroyFilter","getStatusPanel","statusBarService","getColumnDef","getColDef","onFilterChanged","onSortChanged","sortController","setSortModel","sortModel","getSortModel","setFilterModel","model","getFilterModel","getFocusedCell","focusedCellController","clearFocusedCell","setFocusedCell","colKey","floating","setSuppressRowDrag","GridOptionsWrapper","PROP_SUPPRESS_ROW_DRAG","setHeaderHeight","headerHeight","PROP_HEADER_HEIGHT","doLayout","setGridAutoHeight","gridAutoHeight","setDomLayout","domLayout","PROP_DOM_LAYOUT","setEnableCellTextSelection","selectable","setCellTextSelection","setGroupHeaderHeight","PROP_GROUP_HEADER_HEIGHT","setFloatingFiltersHeight","PROP_FLOATING_FILTERS_HEIGHT","setPivotGroupHeaderHeight","PROP_PIVOT_GROUP_HEADER_HEIGHT","setPivotHeaderHeight","PROP_PIVOT_HEADER_HEIGHT","isSideBarVisible","setSideBarVisible","showToolPanel","openToolPanel","closeToolPanel","getOpenedToolPanel","getSideBar","setSideBar","def","setSuppressClipboardPaste","PROP_SUPPRESS_CLIPBOARD_PASTE","isToolPanelShowing","checkViewportAndScrolls","resetRowHeights","setGroupRemoveSingleChildren","PROP_GROUP_REMOVE_SINGLE_CHILDREN","setGroupRemoveLowestSingleChildren","PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN","onRowHeightChanged","getValue","getGridColumn","valueService","addEventListener","eventType","listener","async","useAsyncEvents","eventService","addGlobalListener","removeEventListener","removeGlobalListener","dispatchEvent","event","destroy","context","resetQuickFilter","quickFilterAggregateText","getRangeSelections","getCellRanges","rangeController","camelCaseToHumanReadable","camelCase","camelCaseToHumanText","addRangeSelection","deprecatedNoLongerUsed","addCellRange","clearRangeSelection","removeAllCellRanges","chartRange","isModuleRegistered","chartService","chartCellRange","doOnce","copySelectedRowsToClipboard","includeHeader","columnKeys","clipboardService","copySelectedRangeToClipboard","copySelectedRangeDown","copyRangeDown","showColumnMenuAfterButtonClick","buttonElement","menuFactory","showMenuAfterButtonClick","showColumnMenuAfterMouseClick","mouseEvent","showMenuAfterMouseEvent","hidePopupMenu","contextMenuFactory","hideActiveMenu","setPopupParent","ePopupParent","PROP_POPUP_PARENT","tabToNextCell","tabToPreviousCell","getCellRendererInstances","getCellEditorInstances","getEditingCells","stopEditing","cancel","startEditingCell","cellPosition","rowPinned","notPinned","keyPress","charPress","addAggFunc","aggFunc","aggFuncService","addAggFuncs","aggFuncs","clearAggFuncs","clear","rowDataTransaction","res","isSuppressChangeDetection","batchUpdateRowData","insertItemsAtIndex","items","skipRefresh","add","addIndex","update","remove","removeItems","dataToRemove","data","addItems","refreshVirtualPageCache","refreshInfiniteCache","refreshInfinitePageCache","refreshCache","purgeVirtualPageCache","purgeInfinitePageCache","purgeInfiniteCache","purgeCache","purgeEnterpriseCache","route","purgeServerSideCache","getVirtualRowCount","getInfiniteRowCount","isMaxRowFound","setVirtualRowCount","rowCount","maxRowFound","setInfiniteRowCount","getVirtualPageState","getCacheBlockState","getInfinitePageState","getBlockState","checkGridSize","getFirstRenderedRow","getFirstDisplayedRow","getFirstVirtualRenderedRow","getLastRenderedRow","getLastDisplayedRow","getLastVirtualRenderedRow","getDisplayedRowAtIndex","getRow","getDisplayedRowCount","getRowCount","paginationIsLastPageFound","paginationProxy","isLastPageFound","paginationGetPageSize","getPageSize","paginationSetPageSize","size","paginationGetCurrentPage","getCurrentPage","paginationGetTotalPages","getTotalPages","paginationGetRowCount","getMasterRowCount","paginationGoToNextPage","goToNextPage","paginationGoToPreviousPage","goToPreviousPage","paginationGoToFirstPage","goToFirstPage","paginationGoToLastPage","goToLastPage","paginationGoToPage","page","goToPage","Autowired","ImmutableService","CsvCreator","Optional","RowRenderer","FilterManager","ColumnController","SelectionController","ValueService","AlignedGridsService","EventService","PinnedRowModel","Context","SortController","PaginationProxy","FocusedCellController","CellRendererFactory","ValueCache","AnimationFrameService","PostConstruct","Function","Bean","__extends","extendStatics","b","setPrototypeOf","__proto__","p","hasOwnProperty","__","constructor","create","columnApi_1","gridPanel_1","logger_1","popupService_1","component_1","gridApi_1","componentAnnotations_1","events_1","resizeObserverService_1","sideBar_1","GridCore","_super","apply","_this","logger","loggerFactory","template","enterprise","TEMPLATE_ENTERPRISE","TEMPLATE_NORMAL","setTemplate","gridApi","popupService","forEach","service","addLayoutElement","getGui","isShowToolPanel","eGridDiv","appendChild","addDestroyFunc","removeChild","$scope","quickFilterUnregisterFn","$watch","quickFilterOnScope","addRtlSupport","eRootWrapperBody","gridPanelEl","addDestroyableEventListener","addCssClass","e","contains","relatedTarget","removeCssClass","unsubscribeFromResize","resizeObserverService","observeResize","onGridSizeChanged","bind","type","Events","EVENT_GRID_SIZE_CHANGED","api","columnApi","clientWidth","clientHeight","cssClass","isEnableRtl","getRootGui","sideBarComp","isDisplayed","setDisplayed","close","gridOptions","sideBar","refresh","SideBarDefParser","parse","openedItem","call","doingVirtualPaging","Error","comparatorIsAFunction","indexToSelect","Boolean","ResizeObserverService","HTMLElement","String","PopupService","LoggerFactory","ColumnApi","RefSelector","GridPanel","Component"],"mappings":"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","file":"js/chunk-vendors~0e7956dc.c6e0170f.js","sourcesContent":["/**\n * ag-grid-community - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components\n * @version v21.2.2\n * @link http://www.ag-grid.com/\n * @license MIT\n */\n\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar csvCreator_1 = require(\"./exporter/csvCreator\");\nvar rowRenderer_1 = require(\"./rendering/rowRenderer\");\nvar filterManager_1 = require(\"./filter/filterManager\");\nvar columnController_1 = require(\"./columnController/columnController\");\nvar selectionController_1 = require(\"./selectionController\");\nvar gridOptionsWrapper_1 = require(\"./gridOptionsWrapper\");\nvar valueService_1 = require(\"./valueService/valueService\");\nvar eventService_1 = require(\"./eventService\");\nvar constants_1 = require(\"./constants\");\nvar context_1 = require(\"./context/context\");\nvar sortController_1 = require(\"./sortController\");\nvar focusedCellController_1 = require(\"./focusedCellController\");\nvar cellRendererFactory_1 = require(\"./rendering/cellRendererFactory\");\nvar paginationProxy_1 = require(\"./rowModels/paginationProxy\");\nvar immutableService_1 = require(\"./rowModels/clientSide/immutableService\");\nvar valueCache_1 = require(\"./valueService/valueCache\");\nvar alignedGridsService_1 = require(\"./alignedGridsService\");\nvar pinnedRowModel_1 = require(\"./rowModels/pinnedRowModel\");\nvar animationFrameService_1 = require(\"./misc/animationFrameService\");\nvar utils_1 = require(\"./utils\");\nvar GridApi = /** @class */ (function () {\n function GridApi() {\n this.detailGridInfoMap = {};\n }\n GridApi.prototype.registerGridComp = function (gridPanel) {\n this.gridPanel = gridPanel;\n };\n GridApi.prototype.registerGridCore = function (gridCore) {\n this.gridCore = gridCore;\n };\n GridApi.prototype.registerHeaderRootComp = function (headerRootComp) {\n this.headerRootComp = headerRootComp;\n };\n GridApi.prototype.init = function () {\n switch (this.rowModel.getType()) {\n case constants_1.Constants.ROW_MODEL_TYPE_CLIENT_SIDE:\n this.clientSideRowModel = this.rowModel;\n break;\n case constants_1.Constants.ROW_MODEL_TYPE_INFINITE:\n this.infinitePageRowModel = this.rowModel;\n break;\n case constants_1.Constants.ROW_MODEL_TYPE_SERVER_SIDE:\n this.serverSideRowModel = this.rowModel;\n break;\n }\n };\n /** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */\n GridApi.prototype.__getAlignedGridService = function () {\n return this.alignedGridsService;\n };\n GridApi.prototype.addDetailGridInfo = function (id, gridInfo) {\n this.detailGridInfoMap[id] = gridInfo;\n };\n GridApi.prototype.removeDetailGridInfo = function (id) {\n this.detailGridInfoMap[id] = undefined;\n };\n GridApi.prototype.getDetailGridInfo = function (id) {\n return this.detailGridInfoMap[id];\n };\n GridApi.prototype.forEachDetailGridInfo = function (callback) {\n var index = 0;\n utils_1._.iterateObject(this.detailGridInfoMap, function (id, gridInfo) {\n // check for undefined, as old references will still be lying around\n if (utils_1._.exists(gridInfo)) {\n callback(gridInfo, index);\n index++;\n }\n });\n };\n GridApi.prototype.getDataAsCsv = function (params) {\n return this.csvCreator.getDataAsCsv(params);\n };\n GridApi.prototype.exportDataAsCsv = function (params) {\n this.csvCreator.exportDataAsCsv(params);\n };\n GridApi.prototype.getDataAsExcel = function (params) {\n if (!this.excelCreator) {\n console.warn('ag-Grid: Excel export is only available in ag-Grid Enterprise');\n }\n return this.excelCreator.getDataAsExcelXml(params);\n };\n GridApi.prototype.exportDataAsExcel = function (params) {\n if (!this.excelCreator) {\n console.warn('ag-Grid: Excel export is only available in ag-Grid Enterprise');\n }\n this.excelCreator.exportDataAsExcel(params);\n };\n /** @deprecated */\n GridApi.prototype.setEnterpriseDatasource = function (datasource) {\n console.warn(\"ag-grid: since version 18.x, api.setEnterpriseDatasource() should be replaced with api.setServerSideDatasource()\");\n this.setServerSideDatasource(datasource);\n };\n GridApi.prototype.setServerSideDatasource = function (datasource) {\n if (this.gridOptionsWrapper.isRowModelServerSide()) {\n // should really have an IEnterpriseRowModel interface, so we are not casting to any\n this.rowModel.setDatasource(datasource);\n }\n else {\n console.warn(\"ag-Grid: you can only use an enterprise datasource when gridOptions.rowModelType is '\" + constants_1.Constants.ROW_MODEL_TYPE_SERVER_SIDE + \"'\");\n }\n };\n GridApi.prototype.setDatasource = function (datasource) {\n if (this.gridOptionsWrapper.isRowModelInfinite()) {\n this.rowModel.setDatasource(datasource);\n }\n else {\n console.warn(\"ag-Grid: you can only use a datasource when gridOptions.rowModelType is '\" + constants_1.Constants.ROW_MODEL_TYPE_INFINITE + \"'\");\n }\n };\n GridApi.prototype.setViewportDatasource = function (viewportDatasource) {\n if (this.gridOptionsWrapper.isRowModelViewport()) {\n // this is bad coding, because it's using an interface that's exposed in the enterprise.\n // really we should create an interface in the core for viewportDatasource and let\n // the enterprise implement it, rather than casting to 'any' here\n this.rowModel.setViewportDatasource(viewportDatasource);\n }\n else {\n console.warn(\"ag-Grid: you can only use a viewport datasource when gridOptions.rowModelType is '\" + constants_1.Constants.ROW_MODEL_TYPE_VIEWPORT + \"'\");\n }\n };\n GridApi.prototype.setRowData = function (rowData) {\n if (this.gridOptionsWrapper.isRowModelDefault()) {\n if (this.gridOptionsWrapper.isDeltaRowDataMode()) {\n var _a = this.immutableService.createTransactionForRowData(rowData), transaction = _a[0], orderIdMap = _a[1];\n this.clientSideRowModel.updateRowData(transaction, orderIdMap);\n // need to force updating of full width rows - note this wouldn't be necessary the full width cell comp listened\n // to the data change event on the row node and refreshed itself.\n this.rowRenderer.refreshFullWidthRows();\n }\n else {\n this.selectionController.reset();\n this.clientSideRowModel.setRowData(rowData);\n }\n }\n else {\n console.warn('cannot call setRowData unless using normal row model');\n }\n };\n /** @deprecated */\n GridApi.prototype.setFloatingTopRowData = function (rows) {\n console.warn('ag-Grid: since v12, api.setFloatingTopRowData() is now api.setPinnedTopRowData()');\n this.setPinnedTopRowData(rows);\n };\n /** @deprecated */\n GridApi.prototype.setFloatingBottomRowData = function (rows) {\n console.warn('ag-Grid: since v12, api.setFloatingBottomRowData() is now api.setPinnedBottomRowData()');\n this.setPinnedBottomRowData(rows);\n };\n /** @deprecated */\n GridApi.prototype.getFloatingTopRowCount = function () {\n console.warn('ag-Grid: since v12, api.getFloatingTopRowCount() is now api.getPinnedTopRowCount()');\n return this.getPinnedTopRowCount();\n };\n /** @deprecated */\n GridApi.prototype.getFloatingBottomRowCount = function () {\n console.warn('ag-Grid: since v12, api.getFloatingBottomRowCount() is now api.getPinnedBottomRowCount()');\n return this.getPinnedBottomRowCount();\n };\n /** @deprecated */\n GridApi.prototype.getFloatingTopRow = function (index) {\n console.warn('ag-Grid: since v12, api.getFloatingTopRow() is now api.getPinnedTopRow()');\n return this.getPinnedTopRow(index);\n };\n /** @deprecated */\n GridApi.prototype.getFloatingBottomRow = function (index) {\n console.warn('ag-Grid: since v12, api.getFloatingBottomRow() is now api.getPinnedBottomRow()');\n return this.getPinnedBottomRow(index);\n };\n GridApi.prototype.setPinnedTopRowData = function (rows) {\n this.pinnedRowModel.setPinnedTopRowData(rows);\n };\n GridApi.prototype.setPinnedBottomRowData = function (rows) {\n this.pinnedRowModel.setPinnedBottomRowData(rows);\n };\n GridApi.prototype.getPinnedTopRowCount = function () {\n return this.pinnedRowModel.getPinnedTopRowCount();\n };\n GridApi.prototype.getPinnedBottomRowCount = function () {\n return this.pinnedRowModel.getPinnedBottomRowCount();\n };\n GridApi.prototype.getPinnedTopRow = function (index) {\n return this.pinnedRowModel.getPinnedTopRow(index);\n };\n GridApi.prototype.getPinnedBottomRow = function (index) {\n return this.pinnedRowModel.getPinnedBottomRow(index);\n };\n GridApi.prototype.setColumnDefs = function (colDefs, source) {\n if (source === void 0) { source = \"api\"; }\n this.columnController.setColumnDefs(colDefs, source);\n };\n GridApi.prototype.expireValueCache = function () {\n this.valueCache.expire();\n };\n GridApi.prototype.getVerticalPixelRange = function () {\n return this.gridPanel.getVScrollPosition();\n };\n GridApi.prototype.getHorizontalPixelRange = function () {\n return this.gridPanel.getHScrollPosition();\n };\n GridApi.prototype.setAlwaysShowVerticalScroll = function (show) {\n this.gridOptionsWrapper.setProperty('alwaysShowVerticalScroll', show);\n };\n GridApi.prototype.refreshToolPanel = function () {\n this.gridCore.refreshSideBar();\n };\n GridApi.prototype.refreshCells = function (params) {\n if (params === void 0) { params = {}; }\n if (Array.isArray(params)) {\n // the old version of refreshCells() took an array of rowNodes for the first argument\n console.warn('since ag-Grid v11.1, refreshCells() now takes parameters, please see the documentation.');\n return;\n }\n this.rowRenderer.refreshCells(params);\n };\n GridApi.prototype.flashCells = function (params) {\n if (params === void 0) { params = {}; }\n this.rowRenderer.flashCells(params);\n };\n GridApi.prototype.redrawRows = function (params) {\n if (params === void 0) { params = {}; }\n if (params && params.rowNodes) {\n this.rowRenderer.redrawRows(params.rowNodes);\n }\n else {\n this.rowRenderer.redrawAfterModelUpdate();\n }\n };\n GridApi.prototype.timeFullRedraw = function (count) {\n if (count === void 0) { count = 1; }\n var iterationCount = 0;\n var totalProcessing = 0;\n var totalReflow = 0;\n var that = this;\n doOneIteration();\n function doOneIteration() {\n var start = (new Date()).getTime();\n that.rowRenderer.redrawAfterModelUpdate();\n var endProcessing = (new Date()).getTime();\n window.setTimeout(function () {\n var endReflow = (new Date()).getTime();\n var durationProcessing = endProcessing - start;\n var durationReflow = endReflow - endProcessing;\n // tslint:disable-next-line\n console.log('duration: processing = ' + durationProcessing + 'ms, reflow = ' + durationReflow + 'ms');\n iterationCount++;\n totalProcessing += durationProcessing;\n totalReflow += durationReflow;\n if (iterationCount < count) {\n // wait for 1s between tests\n window.setTimeout(doOneIteration, 1000);\n }\n else {\n finish();\n }\n }, 0);\n }\n function finish() {\n // tslint:disable-next-line\n console.log('tests complete. iteration count = ' + iterationCount);\n // tslint:disable-next-line\n console.log('average processing = ' + (totalProcessing / iterationCount) + 'ms');\n // tslint:disable-next-line\n console.log('average reflow = ' + (totalReflow / iterationCount) + 'ms');\n }\n };\n /** @deprecated */\n GridApi.prototype.refreshView = function () {\n console.warn('ag-Grid: since v11.1, refreshView() is deprecated, please call refreshCells() or redrawRows() instead');\n this.redrawRows();\n };\n //** @deprecated */\n GridApi.prototype.refreshRows = function (rowNodes) {\n console.warn('since ag-Grid v11.1, refreshRows() is deprecated, please use refreshCells({rowNodes: rows}) or redrawRows({rowNodes: rows}) instead');\n this.refreshCells({ rowNodes: rowNodes });\n };\n /** @deprecated */\n GridApi.prototype.rowDataChanged = function (rows) {\n console.warn('ag-Grid: rowDataChanged is deprecated, either call refreshView() to refresh everything, or call rowNode.setRowData(newData) to set value on a particular node');\n this.redrawRows();\n };\n /** @deprecated */\n GridApi.prototype.softRefreshView = function () {\n console.error('ag-Grid: since v16, softRefreshView() is no longer supported. Please check the documentation on how to refresh.');\n };\n /** @deprecated */\n GridApi.prototype.refreshGroupRows = function () {\n console.warn('ag-Grid: since v11.1, refreshGroupRows() is no longer supported, call refreshCells() instead. ' +\n 'Because refreshCells() now does dirty checking, it will only refresh cells that have changed, so it should ' +\n 'not be necessary to only refresh the group rows.');\n this.refreshCells();\n };\n GridApi.prototype.setFunctionsReadOnly = function (readOnly) {\n this.gridOptionsWrapper.setProperty('functionsReadOnly', readOnly);\n };\n GridApi.prototype.refreshHeader = function () {\n this.headerRootComp.refreshHeader();\n this.gridPanel.setHeaderAndFloatingHeights();\n };\n GridApi.prototype.isAnyFilterPresent = function () {\n return this.filterManager.isAnyFilterPresent();\n };\n GridApi.prototype.isAdvancedFilterPresent = function () {\n console.warn('ag-Grid: isAdvancedFilterPresent() is deprecated, please use isColumnFilterPresent()');\n return this.isColumnFilterPresent();\n };\n GridApi.prototype.isColumnFilterPresent = function () {\n return this.filterManager.isAdvancedFilterPresent();\n };\n GridApi.prototype.isQuickFilterPresent = function () {\n return this.filterManager.isQuickFilterPresent();\n };\n GridApi.prototype.getModel = function () {\n return this.rowModel;\n };\n GridApi.prototype.setRowNodeExpanded = function (rowNode, expanded) {\n if (rowNode) {\n rowNode.setExpanded(expanded);\n }\n };\n GridApi.prototype.onGroupExpandedOrCollapsed = function (deprecated_refreshFromIndex) {\n if (utils_1._.missing(this.clientSideRowModel)) {\n console.warn('ag-Grid: cannot call onGroupExpandedOrCollapsed unless using normal row model');\n }\n if (utils_1._.exists(deprecated_refreshFromIndex)) {\n console.warn('ag-Grid: api.onGroupExpandedOrCollapsed - refreshFromIndex parameter is no longer used, the grid will refresh all rows');\n }\n // we don't really want the user calling this if only one rowNode was expanded, instead they should be\n // calling rowNode.setExpanded(boolean) - this way we do a 'keepRenderedRows=false' so that the whole\n // grid gets refreshed again - otherwise the row with the rowNodes that were changed won't get updated,\n // and thus the expand icon in the group cell won't get 'opened' or 'closed'.\n this.clientSideRowModel.refreshModel({ step: constants_1.Constants.STEP_MAP });\n };\n GridApi.prototype.refreshInMemoryRowModel = function (step) {\n console.warn(\"ag-grid: since version 18.x, api.refreshInMemoryRowModel() should be replaced with api.refreshClientSideRowModel()\");\n this.refreshClientSideRowModel(step);\n };\n GridApi.prototype.refreshClientSideRowModel = function (step) {\n if (utils_1._.missing(this.clientSideRowModel)) {\n console.warn('cannot call refreshClientSideRowModel unless using normal row model');\n }\n var paramsStep = constants_1.Constants.STEP_EVERYTHING;\n var stepsMapped = {\n group: constants_1.Constants.STEP_EVERYTHING,\n filter: constants_1.Constants.STEP_FILTER,\n map: constants_1.Constants.STEP_MAP,\n aggregate: constants_1.Constants.STEP_AGGREGATE,\n sort: constants_1.Constants.STEP_SORT,\n pivot: constants_1.Constants.STEP_PIVOT\n };\n if (utils_1._.exists(step)) {\n paramsStep = stepsMapped[step];\n }\n if (utils_1._.missing(paramsStep)) {\n console.error(\"ag-Grid: invalid step \" + step + \", available steps are \" + Object.keys(stepsMapped).join(', '));\n return;\n }\n var modelParams = {\n step: paramsStep,\n keepRenderedRows: true,\n animate: true,\n keepEditingRows: true\n };\n this.clientSideRowModel.refreshModel(modelParams);\n };\n GridApi.prototype.isAnimationFrameQueueEmpty = function () {\n return this.animationFrameService.isQueueEmpty();\n };\n GridApi.prototype.getRowNode = function (id) {\n return this.rowModel.getRowNode(id);\n };\n GridApi.prototype.expandAll = function () {\n if (utils_1._.missing(this.clientSideRowModel)) {\n console.warn('ag-Grid: cannot call expandAll unless using normal row model');\n return;\n }\n this.clientSideRowModel.expandOrCollapseAll(true);\n };\n GridApi.prototype.collapseAll = function () {\n if (utils_1._.missing(this.clientSideRowModel)) {\n console.warn('ag-Grid: cannot call collapseAll unless using normal row model');\n return;\n }\n this.clientSideRowModel.expandOrCollapseAll(false);\n };\n GridApi.prototype.addVirtualRowListener = function (eventName, rowIndex, callback) {\n if (typeof eventName !== 'string') {\n console.warn('ag-Grid: addVirtualRowListener is deprecated, please use addRenderedRowListener.');\n }\n this.addRenderedRowListener(eventName, rowIndex, callback);\n };\n GridApi.prototype.addRenderedRowListener = function (eventName, rowIndex, callback) {\n if (eventName === 'virtualRowSelected') {\n console.warn(\"ag-Grid: event virtualRowSelected is deprecated, to register for individual row\\n selection events, add a listener directly to the row node.\");\n }\n this.rowRenderer.addRenderedRowListener(eventName, rowIndex, callback);\n };\n GridApi.prototype.setQuickFilter = function (newFilter) {\n this.filterManager.setQuickFilter(newFilter);\n };\n GridApi.prototype.selectIndex = function (index, tryMulti, suppressEvents) {\n console.warn('ag-Grid: do not use api for selection, call node.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('ag-Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n this.selectionController.selectIndex(index, tryMulti);\n };\n GridApi.prototype.deselectIndex = function (index, suppressEvents) {\n if (suppressEvents === void 0) { suppressEvents = false; }\n console.warn('ag-Grid: do not use api for selection, call node.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('ag-Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n this.selectionController.deselectIndex(index);\n };\n GridApi.prototype.selectNode = function (node, tryMulti, suppressEvents) {\n if (tryMulti === void 0) { tryMulti = false; }\n if (suppressEvents === void 0) { suppressEvents = false; }\n console.warn('ag-Grid: API for selection is deprecated, call node.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('ag-Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n node.setSelectedParams({ newValue: true, clearSelection: !tryMulti });\n };\n GridApi.prototype.deselectNode = function (node, suppressEvents) {\n if (suppressEvents === void 0) { suppressEvents = false; }\n console.warn('ag-Grid: API for selection is deprecated, call node.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('ag-Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n node.setSelectedParams({ newValue: false });\n };\n GridApi.prototype.selectAll = function () {\n this.selectionController.selectAllRowNodes();\n };\n GridApi.prototype.deselectAll = function () {\n this.selectionController.deselectAllRowNodes();\n };\n GridApi.prototype.selectAllFiltered = function () {\n this.selectionController.selectAllRowNodes(true);\n };\n GridApi.prototype.deselectAllFiltered = function () {\n this.selectionController.deselectAllRowNodes(true);\n };\n GridApi.prototype.recomputeAggregates = function () {\n if (utils_1._.missing(this.clientSideRowModel)) {\n console.warn('cannot call recomputeAggregates unless using normal row model');\n }\n console.warn(\"recomputeAggregates is deprecated, please call api.refreshClientSideRowModel('aggregate') instead\");\n this.clientSideRowModel.refreshModel({ step: constants_1.Constants.STEP_AGGREGATE });\n };\n GridApi.prototype.sizeColumnsToFit = function () {\n this.gridPanel.sizeColumnsToFit();\n };\n GridApi.prototype.showLoadingOverlay = function () {\n this.gridPanel.showLoadingOverlay();\n };\n GridApi.prototype.showNoRowsOverlay = function () {\n this.gridPanel.showNoRowsOverlay();\n };\n GridApi.prototype.hideOverlay = function () {\n this.gridPanel.hideOverlay();\n };\n GridApi.prototype.isNodeSelected = function (node) {\n console.warn('ag-Grid: no need to call api.isNodeSelected(), just call node.isSelected() instead');\n return node.isSelected();\n };\n GridApi.prototype.getSelectedNodesById = function () {\n console.error('ag-Grid: since version 3.4, getSelectedNodesById no longer exists, use getSelectedNodes() instead');\n return null;\n };\n GridApi.prototype.getSelectedNodes = function () {\n return this.selectionController.getSelectedNodes();\n };\n GridApi.prototype.getSelectedRows = function () {\n return this.selectionController.getSelectedRows();\n };\n GridApi.prototype.getBestCostNodeSelection = function () {\n return this.selectionController.getBestCostNodeSelection();\n };\n GridApi.prototype.getRenderedNodes = function () {\n return this.rowRenderer.getRenderedNodes();\n };\n GridApi.prototype.ensureColIndexVisible = function (index) {\n console.warn('ag-Grid: ensureColIndexVisible(index) no longer supported, use ensureColumnVisible(colKey) instead.');\n };\n GridApi.prototype.ensureColumnVisible = function (key) {\n this.gridPanel.ensureColumnVisible(key);\n };\n // Valid values for position are bottom, middle and top\n GridApi.prototype.ensureIndexVisible = function (index, position) {\n this.gridPanel.ensureIndexVisible(index, position);\n };\n // Valid values for position are bottom, middle and top\n GridApi.prototype.ensureNodeVisible = function (comparator, position) {\n this.gridCore.ensureNodeVisible(comparator, position);\n };\n GridApi.prototype.forEachLeafNode = function (callback) {\n if (utils_1._.missing(this.clientSideRowModel)) {\n console.warn('cannot call forEachNode unless using normal row model');\n }\n this.clientSideRowModel.forEachLeafNode(callback);\n };\n GridApi.prototype.forEachNode = function (callback) {\n this.rowModel.forEachNode(callback);\n };\n GridApi.prototype.forEachNodeAfterFilter = function (callback) {\n if (utils_1._.missing(this.clientSideRowModel)) {\n console.warn('cannot call forEachNodeAfterFilter unless using normal row model');\n }\n this.clientSideRowModel.forEachNodeAfterFilter(callback);\n };\n GridApi.prototype.forEachNodeAfterFilterAndSort = function (callback) {\n if (utils_1._.missing(this.clientSideRowModel)) {\n console.warn('cannot call forEachNodeAfterFilterAndSort unless using normal row model');\n }\n this.clientSideRowModel.forEachNodeAfterFilterAndSort(callback);\n };\n GridApi.prototype.getFilterApiForColDef = function (colDef) {\n console.warn('ag-grid API method getFilterApiForColDef deprecated, use getFilterApi instead');\n return this.getFilterInstance(colDef);\n };\n GridApi.prototype.getFilterInstance = function (key) {\n var column = this.columnController.getPrimaryColumn(key);\n if (column) {\n return this.filterManager.getFilterComponent(column, 'NO_UI').resolveNow(null, function (filterComp) { return filterComp; });\n }\n };\n GridApi.prototype.getFilterApi = function (key) {\n console.warn('ag-Grid: getFilterApi is deprecated, use getFilterInstance instead');\n return this.getFilterInstance(key);\n };\n GridApi.prototype.destroyFilter = function (key) {\n var column = this.columnController.getPrimaryColumn(key);\n if (column) {\n return this.filterManager.destroyFilter(column, \"filterDestroyed\");\n }\n };\n GridApi.prototype.getStatusPanel = function (key) {\n if (this.statusBarService) {\n return this.statusBarService.getStatusPanel(key);\n }\n };\n GridApi.prototype.getColumnDef = function (key) {\n var column = this.columnController.getPrimaryColumn(key);\n if (column) {\n return column.getColDef();\n }\n else {\n return null;\n }\n };\n GridApi.prototype.onFilterChanged = function () {\n this.filterManager.onFilterChanged();\n };\n GridApi.prototype.onSortChanged = function () {\n this.sortController.onSortChanged();\n };\n GridApi.prototype.setSortModel = function (sortModel, source) {\n if (source === void 0) { source = \"api\"; }\n this.sortController.setSortModel(sortModel, source);\n };\n GridApi.prototype.getSortModel = function () {\n return this.sortController.getSortModel();\n };\n GridApi.prototype.setFilterModel = function (model) {\n this.filterManager.setFilterModel(model);\n };\n GridApi.prototype.getFilterModel = function () {\n return this.filterManager.getFilterModel();\n };\n GridApi.prototype.getFocusedCell = function () {\n return this.focusedCellController.getFocusedCell();\n };\n GridApi.prototype.clearFocusedCell = function () {\n return this.focusedCellController.clearFocusedCell();\n };\n GridApi.prototype.setFocusedCell = function (rowIndex, colKey, floating) {\n this.focusedCellController.setFocusedCell(rowIndex, colKey, floating, true);\n };\n GridApi.prototype.setSuppressRowDrag = function (value) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_SUPPRESS_ROW_DRAG, value);\n };\n GridApi.prototype.setHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_HEADER_HEIGHT, headerHeight);\n this.doLayout();\n };\n GridApi.prototype.setGridAutoHeight = function (gridAutoHeight) {\n console.warn('api.setGridAutoHeight(boolean) is deprecated, please use api.setDomLayout() instead');\n this.setDomLayout(gridAutoHeight ? 'autoHeight' : 'normal');\n };\n GridApi.prototype.setDomLayout = function (domLayout) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_DOM_LAYOUT, domLayout);\n };\n GridApi.prototype.setEnableCellTextSelection = function (selectable) {\n this.gridPanel.setCellTextSelection(selectable);\n };\n GridApi.prototype.setGroupHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT, headerHeight);\n this.doLayout();\n };\n GridApi.prototype.setFloatingFiltersHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT, headerHeight);\n this.doLayout();\n };\n GridApi.prototype.setPivotGroupHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT, headerHeight);\n this.doLayout();\n };\n GridApi.prototype.setPivotHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT, headerHeight);\n this.doLayout();\n };\n GridApi.prototype.isSideBarVisible = function () {\n return this.gridCore.isSideBarVisible();\n };\n GridApi.prototype.setSideBarVisible = function (show) {\n this.gridCore.setSideBarVisible(show);\n };\n GridApi.prototype.showToolPanel = function (show) {\n console.warn(\"ag-grid: from v19 api.showToolPanel has been deprecated in favour of api.setSideBarVisible\");\n this.setSideBarVisible(show);\n };\n GridApi.prototype.openToolPanel = function (key) {\n this.gridCore.openToolPanel(key);\n };\n GridApi.prototype.closeToolPanel = function () {\n this.gridCore.closeToolPanel();\n };\n GridApi.prototype.getOpenedToolPanel = function () {\n return this.gridCore.getOpenedToolPanel();\n };\n GridApi.prototype.getSideBar = function () {\n return this.gridCore.getSideBar();\n };\n GridApi.prototype.setSideBar = function (def) {\n return this.gridCore.setSideBar(def);\n };\n GridApi.prototype.setSuppressClipboardPaste = function (value) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_SUPPRESS_CLIPBOARD_PASTE, value);\n };\n GridApi.prototype.isToolPanelShowing = function () {\n return this.gridCore.isToolPanelShowing();\n };\n GridApi.prototype.doLayout = function () {\n this.gridPanel.checkViewportAndScrolls();\n };\n GridApi.prototype.resetRowHeights = function () {\n if (utils_1._.exists(this.clientSideRowModel)) {\n this.clientSideRowModel.resetRowHeights();\n }\n };\n GridApi.prototype.setGroupRemoveSingleChildren = function (value) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_GROUP_REMOVE_SINGLE_CHILDREN, value);\n };\n GridApi.prototype.setGroupRemoveLowestSingleChildren = function (value) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN, value);\n };\n GridApi.prototype.onRowHeightChanged = function () {\n if (utils_1._.exists(this.clientSideRowModel)) {\n this.clientSideRowModel.onRowHeightChanged();\n }\n };\n GridApi.prototype.getValue = function (colKey, rowNode) {\n var column = this.columnController.getPrimaryColumn(colKey);\n if (utils_1._.missing(column)) {\n column = this.columnController.getGridColumn(colKey);\n }\n if (utils_1._.missing(column)) {\n return null;\n }\n else {\n return this.valueService.getValue(column, rowNode);\n }\n };\n GridApi.prototype.addEventListener = function (eventType, listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.addEventListener(eventType, listener, async);\n };\n GridApi.prototype.addGlobalListener = function (listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.addGlobalListener(listener, async);\n };\n GridApi.prototype.removeEventListener = function (eventType, listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.removeEventListener(eventType, listener, async);\n };\n GridApi.prototype.removeGlobalListener = function (listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.removeGlobalListener(listener, async);\n };\n GridApi.prototype.dispatchEvent = function (event) {\n this.eventService.dispatchEvent(event);\n };\n GridApi.prototype.destroy = function () {\n // destroy the UI first (as they use the services)\n this.gridCore.destroy();\n // destroy the services\n this.context.destroy();\n };\n GridApi.prototype.resetQuickFilter = function () {\n this.rowModel.forEachNode(function (node) { return node.quickFilterAggregateText = null; });\n };\n GridApi.prototype.getRangeSelections = function () {\n console.warn(\"ag-Grid: in v20.1.x, api.getRangeSelections() is gone, please use getCellRanges() instead.\\n We had to change how cell selections works a small bit to allow charting to integrate. The return type of\\n getCellRanges() is a bit different, please check the ag-Grid documentation.\");\n return null;\n };\n GridApi.prototype.getCellRanges = function () {\n if (this.rangeController) {\n return this.rangeController.getCellRanges();\n }\n else {\n console.warn('ag-Grid: cell range selection is only available in ag-Grid Enterprise');\n return null;\n }\n };\n GridApi.prototype.camelCaseToHumanReadable = function (camelCase) {\n return utils_1._.camelCaseToHumanText(camelCase);\n };\n GridApi.prototype.addRangeSelection = function (deprecatedNoLongerUsed) {\n console.warn('ag-Grid: As of version 21.x, range selection changed slightly to allow charting integration. Please call api.addCellRange() instead of api.addRangeSelection()');\n };\n GridApi.prototype.addCellRange = function (params) {\n if (!this.rangeController) {\n console.warn('ag-Grid: cell range selection is only available in ag-Grid Enterprise');\n }\n this.rangeController.addCellRange(params);\n };\n GridApi.prototype.clearRangeSelection = function () {\n if (!this.rangeController) {\n console.warn('ag-Grid: cell range selection is only available in ag-Grid Enterprise');\n }\n this.rangeController.removeAllCellRanges();\n };\n GridApi.prototype.chartRange = function (params) {\n if (!this.context.isModuleRegistered(\"chartsModule\" /* ChartsModule */)) {\n utils_1._.doOnce(function () {\n console.warn('ag-grid: Cannot chart range - the Charts Module has not been included.');\n }, 'ChartsModuleCheck');\n return;\n }\n return this.chartService.chartCellRange(params);\n };\n GridApi.prototype.copySelectedRowsToClipboard = function (includeHeader, columnKeys) {\n if (!this.clipboardService) {\n console.warn('ag-Grid: clipboard is only available in ag-Grid Enterprise');\n }\n this.clipboardService.copySelectedRowsToClipboard(includeHeader, columnKeys);\n };\n GridApi.prototype.copySelectedRangeToClipboard = function (includeHeader) {\n if (!this.clipboardService) {\n console.warn('ag-Grid: clipboard is only available in ag-Grid Enterprise');\n }\n this.clipboardService.copySelectedRangeToClipboard(includeHeader);\n };\n GridApi.prototype.copySelectedRangeDown = function () {\n if (!this.clipboardService) {\n console.warn('ag-Grid: clipboard is only available in ag-Grid Enterprise');\n }\n this.clipboardService.copyRangeDown();\n };\n GridApi.prototype.showColumnMenuAfterButtonClick = function (colKey, buttonElement) {\n // use grid column so works with pivot mode\n var column = this.columnController.getGridColumn(colKey);\n this.menuFactory.showMenuAfterButtonClick(column, buttonElement);\n };\n GridApi.prototype.showColumnMenuAfterMouseClick = function (colKey, mouseEvent) {\n // use grid column so works with pivot mode\n var column = this.columnController.getGridColumn(colKey);\n this.menuFactory.showMenuAfterMouseEvent(column, mouseEvent);\n };\n GridApi.prototype.hidePopupMenu = function () {\n // hide the context menu if in enterprise\n if (this.contextMenuFactory) {\n this.contextMenuFactory.hideActiveMenu();\n }\n // and hide the column menu always\n this.menuFactory.hideActiveMenu();\n };\n GridApi.prototype.setPopupParent = function (ePopupParent) {\n this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_POPUP_PARENT, ePopupParent);\n };\n GridApi.prototype.tabToNextCell = function () {\n return this.rowRenderer.tabToNextCell(false);\n };\n GridApi.prototype.tabToPreviousCell = function () {\n return this.rowRenderer.tabToNextCell(true);\n };\n GridApi.prototype.getCellRendererInstances = function (params) {\n if (params === void 0) { params = {}; }\n return this.rowRenderer.getCellRendererInstances(params);\n };\n GridApi.prototype.getCellEditorInstances = function (params) {\n if (params === void 0) { params = {}; }\n return this.rowRenderer.getCellEditorInstances(params);\n };\n GridApi.prototype.getEditingCells = function () {\n return this.rowRenderer.getEditingCells();\n };\n GridApi.prototype.stopEditing = function (cancel) {\n if (cancel === void 0) { cancel = false; }\n this.rowRenderer.stopEditing(cancel);\n };\n GridApi.prototype.startEditingCell = function (params) {\n var column = this.columnController.getGridColumn(params.colKey);\n if (!column) {\n console.warn(\"ag-Grid: no column found for \" + params.colKey);\n return;\n }\n var cellPosition = {\n rowIndex: params.rowIndex,\n rowPinned: params.rowPinned,\n column: column\n };\n var notPinned = utils_1._.missing(params.rowPinned);\n if (notPinned) {\n this.gridPanel.ensureIndexVisible(params.rowIndex);\n }\n this.rowRenderer.startEditingCell(cellPosition, params.keyPress, params.charPress);\n };\n GridApi.prototype.addAggFunc = function (key, aggFunc) {\n if (this.aggFuncService) {\n this.aggFuncService.addAggFunc(key, aggFunc);\n }\n };\n GridApi.prototype.addAggFuncs = function (aggFuncs) {\n if (this.aggFuncService) {\n this.aggFuncService.addAggFuncs(aggFuncs);\n }\n };\n GridApi.prototype.clearAggFuncs = function () {\n if (this.aggFuncService) {\n this.aggFuncService.clear();\n }\n };\n GridApi.prototype.updateRowData = function (rowDataTransaction) {\n var res = null;\n if (this.clientSideRowModel) {\n res = this.clientSideRowModel.updateRowData(rowDataTransaction);\n }\n else if (this.infinitePageRowModel) {\n this.infinitePageRowModel.updateRowData(rowDataTransaction);\n }\n else {\n console.error('ag-Grid: updateRowData() only works with ClientSideRowModel and InfiniteRowModel.');\n }\n // refresh all the full width rows\n this.rowRenderer.refreshFullWidthRows();\n // do change detection for all present cells\n if (!this.gridOptionsWrapper.isSuppressChangeDetection()) {\n this.rowRenderer.refreshCells();\n }\n return res;\n };\n GridApi.prototype.batchUpdateRowData = function (rowDataTransaction, callback) {\n if (!this.clientSideRowModel) {\n console.error('ag-Grid: api.batchUpdateRowData() only works with ClientSideRowModel.');\n return;\n }\n this.clientSideRowModel.batchUpdateRowData(rowDataTransaction, callback);\n };\n GridApi.prototype.insertItemsAtIndex = function (index, items, skipRefresh) {\n if (skipRefresh === void 0) { skipRefresh = false; }\n console.warn('ag-Grid: insertItemsAtIndex() is deprecated, use updateRowData(transaction) instead.');\n this.updateRowData({ add: items, addIndex: index, update: null, remove: null });\n };\n GridApi.prototype.removeItems = function (rowNodes, skipRefresh) {\n if (skipRefresh === void 0) { skipRefresh = false; }\n console.warn('ag-Grid: removeItems() is deprecated, use updateRowData(transaction) instead.');\n var dataToRemove = rowNodes.map(function (rowNode) { return rowNode.data; });\n this.updateRowData({ add: null, addIndex: null, update: null, remove: dataToRemove });\n };\n GridApi.prototype.addItems = function (items, skipRefresh) {\n if (skipRefresh === void 0) { skipRefresh = false; }\n console.warn('ag-Grid: addItems() is deprecated, use updateRowData(transaction) instead.');\n this.updateRowData({ add: items, addIndex: null, update: null, remove: null });\n };\n GridApi.prototype.refreshVirtualPageCache = function () {\n console.warn('ag-Grid: refreshVirtualPageCache() is now called refreshInfiniteCache(), please call refreshInfiniteCache() instead');\n this.refreshInfiniteCache();\n };\n GridApi.prototype.refreshInfinitePageCache = function () {\n console.warn('ag-Grid: refreshInfinitePageCache() is now called refreshInfiniteCache(), please call refreshInfiniteCache() instead');\n this.refreshInfiniteCache();\n };\n GridApi.prototype.refreshInfiniteCache = function () {\n if (this.infinitePageRowModel) {\n this.infinitePageRowModel.refreshCache();\n }\n else {\n console.warn(\"ag-Grid: api.refreshInfiniteCache is only available when rowModelType='infinite'.\");\n }\n };\n GridApi.prototype.purgeVirtualPageCache = function () {\n console.warn('ag-Grid: purgeVirtualPageCache() is now called purgeInfiniteCache(), please call purgeInfiniteCache() instead');\n this.purgeInfinitePageCache();\n };\n GridApi.prototype.purgeInfinitePageCache = function () {\n console.warn('ag-Grid: purgeInfinitePageCache() is now called purgeInfiniteCache(), please call purgeInfiniteCache() instead');\n this.purgeInfiniteCache();\n };\n GridApi.prototype.purgeInfiniteCache = function () {\n if (this.infinitePageRowModel) {\n this.infinitePageRowModel.purgeCache();\n }\n else {\n console.warn(\"ag-Grid: api.purgeInfiniteCache is only available when rowModelType='infinite'.\");\n }\n };\n /** @deprecated */\n GridApi.prototype.purgeEnterpriseCache = function (route) {\n console.warn(\"ag-grid: since version 18.x, api.purgeEnterpriseCache() should be replaced with api.purgeServerSideCache()\");\n this.purgeServerSideCache(route);\n };\n GridApi.prototype.purgeServerSideCache = function (route) {\n if (this.serverSideRowModel) {\n this.serverSideRowModel.purgeCache(route);\n }\n else {\n console.warn(\"ag-Grid: api.purgeServerSideCache is only available when rowModelType='enterprise'.\");\n }\n };\n GridApi.prototype.getVirtualRowCount = function () {\n console.warn('ag-Grid: getVirtualRowCount() is now called getInfiniteRowCount(), please call getInfiniteRowCount() instead');\n return this.getInfiniteRowCount();\n };\n GridApi.prototype.getInfiniteRowCount = function () {\n if (this.infinitePageRowModel) {\n return this.infinitePageRowModel.getVirtualRowCount();\n }\n else {\n console.warn(\"ag-Grid: api.getVirtualRowCount is only available when rowModelType='virtual'.\");\n }\n };\n GridApi.prototype.isMaxRowFound = function () {\n if (this.infinitePageRowModel) {\n return this.infinitePageRowModel.isMaxRowFound();\n }\n else {\n console.warn(\"ag-Grid: api.isMaxRowFound is only available when rowModelType='virtual'.\");\n }\n };\n GridApi.prototype.setVirtualRowCount = function (rowCount, maxRowFound) {\n console.warn('ag-Grid: setVirtualRowCount() is now called setInfiniteRowCount(), please call setInfiniteRowCount() instead');\n this.setInfiniteRowCount(rowCount, maxRowFound);\n };\n GridApi.prototype.setInfiniteRowCount = function (rowCount, maxRowFound) {\n if (this.infinitePageRowModel) {\n this.infinitePageRowModel.setVirtualRowCount(rowCount, maxRowFound);\n }\n else {\n console.warn(\"ag-Grid: api.setVirtualRowCount is only available when rowModelType='virtual'.\");\n }\n };\n GridApi.prototype.getVirtualPageState = function () {\n console.warn('ag-Grid: getVirtualPageState() is now called getCacheBlockState(), please call getCacheBlockState() instead');\n return this.getCacheBlockState();\n };\n GridApi.prototype.getInfinitePageState = function () {\n console.warn('ag-Grid: getInfinitePageState() is now called getCacheBlockState(), please call getCacheBlockState() instead');\n return this.getCacheBlockState();\n };\n GridApi.prototype.getCacheBlockState = function () {\n if (this.infinitePageRowModel) {\n return this.infinitePageRowModel.getBlockState();\n }\n else if (this.serverSideRowModel) {\n return this.serverSideRowModel.getBlockState();\n }\n else {\n console.warn(\"ag-Grid: api.getCacheBlockState() is only available when rowModelType='infinite' or rowModelType='serverSide'.\");\n }\n };\n GridApi.prototype.checkGridSize = function () {\n this.gridPanel.setHeaderAndFloatingHeights();\n };\n GridApi.prototype.getFirstRenderedRow = function () {\n console.warn('in ag-Grid v12, getFirstRenderedRow() was renamed to getFirstDisplayedRow()');\n return this.getFirstDisplayedRow();\n };\n GridApi.prototype.getFirstDisplayedRow = function () {\n return this.rowRenderer.getFirstVirtualRenderedRow();\n };\n GridApi.prototype.getLastRenderedRow = function () {\n console.warn('in ag-Grid v12, getLastRenderedRow() was renamed to getLastDisplayedRow()');\n return this.getLastDisplayedRow();\n };\n GridApi.prototype.getLastDisplayedRow = function () {\n return this.rowRenderer.getLastVirtualRenderedRow();\n };\n GridApi.prototype.getDisplayedRowAtIndex = function (index) {\n return this.rowModel.getRow(index);\n };\n GridApi.prototype.getDisplayedRowCount = function () {\n return this.rowModel.getRowCount();\n };\n GridApi.prototype.paginationIsLastPageFound = function () {\n return this.paginationProxy.isLastPageFound();\n };\n GridApi.prototype.paginationGetPageSize = function () {\n return this.paginationProxy.getPageSize();\n };\n GridApi.prototype.paginationSetPageSize = function (size) {\n this.gridOptionsWrapper.setProperty('paginationPageSize', size);\n };\n GridApi.prototype.paginationGetCurrentPage = function () {\n return this.paginationProxy.getCurrentPage();\n };\n GridApi.prototype.paginationGetTotalPages = function () {\n return this.paginationProxy.getTotalPages();\n };\n GridApi.prototype.paginationGetRowCount = function () {\n return this.paginationProxy.getMasterRowCount();\n };\n GridApi.prototype.paginationGoToNextPage = function () {\n this.paginationProxy.goToNextPage();\n };\n GridApi.prototype.paginationGoToPreviousPage = function () {\n this.paginationProxy.goToPreviousPage();\n };\n GridApi.prototype.paginationGoToFirstPage = function () {\n this.paginationProxy.goToFirstPage();\n };\n GridApi.prototype.paginationGoToLastPage = function () {\n this.paginationProxy.goToLastPage();\n };\n GridApi.prototype.paginationGoToPage = function (page) {\n this.paginationProxy.goToPage(page);\n };\n __decorate([\n context_1.Autowired('immutableService'),\n __metadata(\"design:type\", immutableService_1.ImmutableService)\n ], GridApi.prototype, \"immutableService\", void 0);\n __decorate([\n context_1.Autowired('csvCreator'),\n __metadata(\"design:type\", csvCreator_1.CsvCreator)\n ], GridApi.prototype, \"csvCreator\", void 0);\n __decorate([\n context_1.Optional('excelCreator'),\n __metadata(\"design:type\", Object)\n ], GridApi.prototype, \"excelCreator\", void 0);\n __decorate([\n context_1.Autowired('rowRenderer'),\n __metadata(\"design:type\", rowRenderer_1.RowRenderer)\n ], GridApi.prototype, \"rowRenderer\", void 0);\n __decorate([\n context_1.Autowired('filterManager'),\n __metadata(\"design:type\", filterManager_1.FilterManager)\n ], GridApi.prototype, \"filterManager\", void 0);\n __decorate([\n context_1.Autowired('columnController'),\n __metadata(\"design:type\", columnController_1.ColumnController)\n ], GridApi.prototype, \"columnController\", void 0);\n __decorate([\n context_1.Autowired('selectionController'),\n __metadata(\"design:type\", selectionController_1.SelectionController)\n ], GridApi.prototype, \"selectionController\", void 0);\n __decorate([\n context_1.Autowired('gridOptionsWrapper'),\n __metadata(\"design:type\", gridOptionsWrapper_1.GridOptionsWrapper)\n ], GridApi.prototype, \"gridOptionsWrapper\", void 0);\n __decorate([\n context_1.Autowired('valueService'),\n __metadata(\"design:type\", valueService_1.ValueService)\n ], GridApi.prototype, \"valueService\", void 0);\n __decorate([\n context_1.Autowired('alignedGridsService'),\n __metadata(\"design:type\", alignedGridsService_1.AlignedGridsService)\n ], GridApi.prototype, \"alignedGridsService\", void 0);\n __decorate([\n context_1.Autowired('eventService'),\n __metadata(\"design:type\", eventService_1.EventService)\n ], GridApi.prototype, \"eventService\", void 0);\n __decorate([\n context_1.Autowired('pinnedRowModel'),\n __metadata(\"design:type\", pinnedRowModel_1.PinnedRowModel)\n ], GridApi.prototype, \"pinnedRowModel\", void 0);\n __decorate([\n context_1.Autowired('context'),\n __metadata(\"design:type\", context_1.Context)\n ], GridApi.prototype, \"context\", void 0);\n __decorate([\n context_1.Autowired('rowModel'),\n __metadata(\"design:type\", Object)\n ], GridApi.prototype, \"rowModel\", void 0);\n __decorate([\n context_1.Autowired('sortController'),\n __metadata(\"design:type\", sortController_1.SortController)\n ], GridApi.prototype, \"sortController\", void 0);\n __decorate([\n context_1.Autowired('paginationProxy'),\n __metadata(\"design:type\", paginationProxy_1.PaginationProxy)\n ], GridApi.prototype, \"paginationProxy\", void 0);\n __decorate([\n context_1.Autowired('focusedCellController'),\n __metadata(\"design:type\", focusedCellController_1.FocusedCellController)\n ], GridApi.prototype, \"focusedCellController\", void 0);\n __decorate([\n context_1.Optional('rangeController'),\n __metadata(\"design:type\", Object)\n ], GridApi.prototype, \"rangeController\", void 0);\n __decorate([\n context_1.Optional('clipboardService'),\n __metadata(\"design:type\", Object)\n ], GridApi.prototype, \"clipboardService\", void 0);\n __decorate([\n context_1.Optional('aggFuncService'),\n __metadata(\"design:type\", Object)\n ], GridApi.prototype, \"aggFuncService\", void 0);\n __decorate([\n context_1.Autowired('menuFactory'),\n __metadata(\"design:type\", Object)\n ], GridApi.prototype, \"menuFactory\", void 0);\n __decorate([\n context_1.Optional('contextMenuFactory'),\n __metadata(\"design:type\", Object)\n ], GridApi.prototype, \"contextMenuFactory\", void 0);\n __decorate([\n context_1.Autowired('cellRendererFactory'),\n __metadata(\"design:type\", cellRendererFactory_1.CellRendererFactory)\n ], GridApi.prototype, \"cellRendererFactory\", void 0);\n __decorate([\n context_1.Autowired('valueCache'),\n __metadata(\"design:type\", valueCache_1.ValueCache)\n ], GridApi.prototype, \"valueCache\", void 0);\n __decorate([\n context_1.Optional('sideBarComp'),\n __metadata(\"design:type\", Object)\n ], GridApi.prototype, \"sideBarComp\", void 0);\n __decorate([\n context_1.Autowired('animationFrameService'),\n __metadata(\"design:type\", animationFrameService_1.AnimationFrameService)\n ], GridApi.prototype, \"animationFrameService\", void 0);\n __decorate([\n context_1.Optional('statusBarService'),\n __metadata(\"design:type\", Object)\n ], GridApi.prototype, \"statusBarService\", void 0);\n __decorate([\n context_1.Optional('chartService'),\n __metadata(\"design:type\", Object)\n ], GridApi.prototype, \"chartService\", void 0);\n __decorate([\n context_1.PostConstruct,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n ], GridApi.prototype, \"init\", null);\n GridApi = __decorate([\n context_1.Bean('gridApi')\n ], GridApi);\n return GridApi;\n}());\nexports.GridApi = GridApi;\n","/**\n * ag-grid-community - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components\n * @version v21.2.2\n * @link http://www.ag-grid.com/\n * @license MIT\n */\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar gridOptionsWrapper_1 = require(\"./gridOptionsWrapper\");\nvar columnApi_1 = require(\"./columnController/columnApi\");\nvar columnController_1 = require(\"./columnController/columnController\");\nvar rowRenderer_1 = require(\"./rendering/rowRenderer\");\nvar filterManager_1 = require(\"./filter/filterManager\");\nvar eventService_1 = require(\"./eventService\");\nvar gridPanel_1 = require(\"./gridPanel/gridPanel\");\nvar logger_1 = require(\"./logger\");\nvar popupService_1 = require(\"./widgets/popupService\");\nvar context_1 = require(\"./context/context\");\nvar focusedCellController_1 = require(\"./focusedCellController\");\nvar component_1 = require(\"./widgets/component\");\nvar gridApi_1 = require(\"./gridApi\");\nvar componentAnnotations_1 = require(\"./widgets/componentAnnotations\");\nvar events_1 = require(\"./events\");\nvar resizeObserverService_1 = require(\"./misc/resizeObserverService\");\nvar sideBar_1 = require(\"./entities/sideBar\");\nvar utils_1 = require(\"./utils\");\nvar GridCore = /** @class */ (function (_super) {\n __extends(GridCore, _super);\n function GridCore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridCore.prototype.init = function () {\n var _this = this;\n this.logger = this.loggerFactory.create('GridCore');\n var template = this.enterprise ? GridCore.TEMPLATE_ENTERPRISE : GridCore.TEMPLATE_NORMAL;\n this.setTemplate(template);\n // register with services that need grid core\n [\n this.gridApi,\n this.filterManager,\n this.rowRenderer,\n this.popupService\n ].forEach(function (service) { return service.registerGridCore(_this); });\n if (this.enterprise) {\n this.clipboardService.registerGridCore(this);\n }\n this.gridOptionsWrapper.addLayoutElement(this.getGui());\n // see what the grid options are for default of toolbar\n this.setSideBarVisible(this.gridOptionsWrapper.isShowToolPanel());\n this.eGridDiv.appendChild(this.getGui());\n this.addDestroyFunc(function () {\n _this.eGridDiv.removeChild(_this.getGui());\n });\n // if using angular, watch for quickFilter changes\n if (this.$scope) {\n var quickFilterUnregisterFn = this.$scope.$watch(this.quickFilterOnScope, function (newFilter) { return _this.filterManager.setQuickFilter(newFilter); });\n this.addDestroyFunc(quickFilterUnregisterFn);\n }\n // important to set rtl before doLayout, as setting the RTL class impacts the scroll position,\n // which doLayout indirectly depends on\n this.addRtlSupport();\n this.logger.log('ready');\n this.gridOptionsWrapper.addLayoutElement(this.eRootWrapperBody);\n var gridPanelEl = this.gridPanel.getGui();\n this.addDestroyableEventListener(gridPanelEl, 'focusin', function () {\n utils_1._.addCssClass(gridPanelEl, 'ag-has-focus');\n });\n this.addDestroyableEventListener(gridPanelEl, 'focusout', function (e) {\n if (!gridPanelEl.contains(e.relatedTarget)) {\n utils_1._.removeCssClass(gridPanelEl, 'ag-has-focus');\n }\n });\n var unsubscribeFromResize = this.resizeObserverService.observeResize(this.eGridDiv, this.onGridSizeChanged.bind(this));\n this.addDestroyFunc(function () { return unsubscribeFromResize(); });\n };\n GridCore.prototype.onGridSizeChanged = function () {\n var event = {\n type: events_1.Events.EVENT_GRID_SIZE_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi,\n clientWidth: this.eGridDiv.clientWidth,\n clientHeight: this.eGridDiv.clientHeight\n };\n this.eventService.dispatchEvent(event);\n };\n GridCore.prototype.addRtlSupport = function () {\n var cssClass = this.gridOptionsWrapper.isEnableRtl() ? 'ag-rtl' : 'ag-ltr';\n utils_1._.addCssClass(this.getGui(), cssClass);\n };\n GridCore.prototype.getRootGui = function () {\n return this.getGui();\n };\n GridCore.prototype.isSideBarVisible = function () {\n if (!this.sideBarComp) {\n return false;\n }\n return this.sideBarComp.isDisplayed();\n };\n GridCore.prototype.setSideBarVisible = function (show) {\n if (!this.sideBarComp) {\n if (show) {\n console.warn('ag-Grid: toolPanel is only available in ag-Grid Enterprise');\n }\n return;\n }\n this.sideBarComp.setDisplayed(show);\n };\n GridCore.prototype.closeToolPanel = function () {\n if (!this.sideBarComp) {\n console.warn('ag-Grid: toolPanel is only available in ag-Grid Enterprise');\n return;\n }\n this.sideBarComp.close();\n };\n GridCore.prototype.getSideBar = function () {\n return this.gridOptions.sideBar;\n };\n GridCore.prototype.refreshSideBar = function () {\n if (this.sideBarComp) {\n this.sideBarComp.refresh();\n }\n };\n GridCore.prototype.setSideBar = function (def) {\n this.eRootWrapperBody.removeChild(this.sideBarComp.getGui());\n this.gridOptions.sideBar = sideBar_1.SideBarDefParser.parse(def);\n this.sideBarComp.reset();\n this.eRootWrapperBody.appendChild(this.sideBarComp.getGui());\n };\n GridCore.prototype.getOpenedToolPanel = function () {\n if (!this.sideBarComp) {\n return null;\n }\n return this.sideBarComp.openedItem();\n };\n GridCore.prototype.openToolPanel = function (key) {\n if (!this.sideBarComp) {\n console.warn('ag-Grid: toolPanel is only available in ag-Grid Enterprise');\n return;\n }\n this.sideBarComp.openToolPanel(key);\n };\n GridCore.prototype.isToolPanelShowing = function () {\n return this.sideBarComp.isToolPanelShowing();\n };\n GridCore.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.logger.log('Grid DOM removed');\n };\n // Valid values for position are bottom, middle and top\n GridCore.prototype.ensureNodeVisible = function (comparator, position) {\n if (position === void 0) { position = 'top'; }\n if (this.doingVirtualPaging) {\n throw new Error('Cannot use ensureNodeVisible when doing virtual paging, as we cannot check rows that are not in memory');\n }\n // look for the node index we want to display\n var rowCount = this.rowModel.getRowCount();\n var comparatorIsAFunction = typeof comparator === 'function';\n var indexToSelect = -1;\n // go through all the nodes, find the one we want to show\n for (var i = 0; i < rowCount; i++) {\n var node = this.rowModel.getRow(i);\n if (comparatorIsAFunction) {\n if (comparator(node)) {\n indexToSelect = i;\n break;\n }\n }\n else {\n // check object equality against node and data\n if (comparator === node || comparator === node.data) {\n indexToSelect = i;\n break;\n }\n }\n }\n if (indexToSelect >= 0) {\n this.gridPanel.ensureIndexVisible(indexToSelect, position);\n }\n };\n GridCore.TEMPLATE_NORMAL = \"