{"version":3,"sources":["../node_modules/@ag-grid-community/core/dist/es6/main.js","../node_modules/@ag-grid-community/core/dist/es6/gridOptionsWrapper.js","../node_modules/@ag-grid-community/core/dist/es6/logger.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/headerGroup/headerGroupWrapperComp.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/headerRowComp.js","../node_modules/@ag-grid-community/core/dist/es6/interfaces/iRangeController.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/cssClassApplier.js","../node_modules/@ag-grid-community/core/dist/es6/gridPanel/navigationService.js","../node_modules/@ag-grid-community/core/dist/es6/grid.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/headerContainer.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/hoverFeature.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/headerRootComp.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/bodyDropTarget.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/moveColumnController.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/bodyDropPivotTarget.js","../node_modules/@ag-grid-community/core/dist/es6/gridApi.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/horizontalResizeService.js","../node_modules/@ag-grid-community/core/dist/es6/gridCore.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/standardMenu.js","../node_modules/@ag-grid-community/core/dist/es6/gridPanel/mouseEventService.js","../node_modules/@ag-grid-community/core/dist/es6/gridPanel/scrollVisibleService.js","../node_modules/@ag-grid-community/core/dist/es6/gridPanel/rowDragFeature.js","../node_modules/@ag-grid-community/core/dist/es6/gridPanel/gridPanel.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/header/selectAllFeature.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/header/headerWrapperComp.js","../node_modules/@ag-grid-community/core/dist/es6/layout/tabbedLayout.js","../node_modules/@ag-grid-community/core/dist/es6/functions.js","../node_modules/@ag-grid-community/core/dist/es6/interfaces/iChartOptions.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/header/headerComp.js","../node_modules/@ag-grid-community/core/dist/es6/headerRendering/headerGroup/headerGroupComp.js"],"names":["globalObj","global","HTMLElement","HTMLButtonElement","HTMLSelectElement","HTMLInputElement","Node","MouseEvent","__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","__spreadArrays","s","il","Array","k","a","j","jl","isTrue","value","GridOptionsWrapper","this","propertyEventService","domDataKey","Math","random","toString","layoutElements","GridOptionsWrapper_1","prototype","agWire","gridApi","columnApi","gridOptions","api","checkForDeprecated","checkForViolations","destroy","init","suppressPropertyNamesCheck","checkGridOptionsProperties","checkColumnDefProperties","async","useAsyncEvents","eventService","addGlobalListener","globalEventHandler","bind","isGroupSelectsChildren","isSuppressParentsInRowNodes","console","warn","isRowSelectionMulti","isRowModelServerSide","isGroupRemoveSingleChildren","isGroupHideOpenParents","isEnableRangeSelection","assertRegistered","RangeSelectionModule","isEnableRangeHandle","isEnableFillHandle","addEventListener","PROP_DOM_LAYOUT","updateLayoutClasses","_this","columnDefs","forEach","colDef","userProperties","getOwnPropertyNames","validProperties","ALL_PROPERTIES","FRAMEWORK_PROPERTIES","checkProperties","values","map","event","getCallbackForEvent","validPropertiesAndExceptions","containerName","docsUrl","invalidProperties","fuzzyCheckStrings","iterateObject","slice","join","keys","getDomData","element","domData","undefined","setDomData","missing","isRowSelection","rowSelection","isRowDeselection","rowDeselection","isRowMultiSelectWithClick","rowMultiSelectWithClick","getContext","context","isPivotMode","pivotMode","isPivotTotals","pivotTotals","getPivotColumnGroupTotals","pivotColumnGroupTotals","getPivotRowTotals","pivotRowTotals","isRowModelInfinite","rowModelType","ROW_MODEL_TYPE_INFINITE","isRowModelViewport","ROW_MODEL_TYPE_VIEWPORT","ROW_MODEL_TYPE_SERVER_SIDE","isRowModelDefault","ROW_MODEL_TYPE_CLIENT_SIDE","DEPRECATED_ROW_MODEL_TYPE_NORMAL","isFullRowEdit","editType","isSuppressFocusAfterRefresh","suppressFocusAfterRefresh","isSuppressBrowserResizeObserver","suppressBrowserResizeObserver","isSuppressMaintainUnsortedOrder","suppressMaintainUnsortedOrder","isSuppressClearOnFillReduction","suppressClearOnFillReduction","isShowToolPanel","sideBar","isArray","getSideBar","toolPanels","isSuppressTouch","suppressTouch","isSuppressRowTransform","suppressRowTransform","isSuppressSetColumnStateEvents","suppressSetColumnStateEvents","isAllowDragFromColumnsToolPanel","allowDragFromColumnsToolPanel","suppressAsyncEvents","isEnableCellChangeFlash","enableCellChangeFlash","result","groupSelectsChildren","isTreeData","isSuppressRowHoverHighlight","suppressRowHoverHighlight","isGroupSelectsFiltered","groupSelectsFiltered","groupHideOpenParents","isGroupMultiAutoColumn","groupMultiAutoColumn","groupRemoveSingleChildren","isGroupRemoveLowestSingleChildren","groupRemoveLowestSingleChildren","isGroupIncludeFooter","groupIncludeFooter","isGroupIncludeTotalFooter","groupIncludeTotalFooter","isGroupSuppressBlankHeader","groupSuppressBlankHeader","isSuppressRowClickSelection","suppressRowClickSelection","isSuppressCellSelection","suppressCellSelection","isSuppressMultiSort","suppressMultiSort","isMultiSortKeyCtrl","multiSortKey","isGroupSuppressAutoColumn","groupSuppressAutoColumn","isSuppressDragLeaveHidesColumns","suppressDragLeaveHidesColumns","isSuppressScrollOnNewData","suppressScrollOnNewData","isRowDragManaged","rowDragManaged","isSuppressRowDrag","suppressRowDrag","getDomLayout","domLayout","DOM_LAYOUT_NORMAL","DOM_LAYOUT_PRINT","DOM_LAYOUT_AUTO_HEIGHT","indexOf","doOnce","isSuppressHorizontalScroll","suppressHorizontalScroll","isSuppressMaxRenderedRowRestriction","suppressMaxRenderedRowRestriction","isExcludeChildrenWhenTreeDataFiltering","excludeChildrenWhenTreeDataFiltering","isAlwaysShowVerticalScroll","alwaysShowVerticalScroll","isSuppressLoadingOverlay","suppressLoadingOverlay","isSuppressNoRowsOverlay","suppressNoRowsOverlay","isSuppressFieldDotNotation","suppressFieldDotNotation","getPinnedTopRowData","pinnedTopRowData","getPinnedBottomRowData","pinnedBottomRowData","isFunctionsPassive","functionsPassive","isSuppressTabbing","suppressTabbing","isSuppressChangeDetection","suppressChangeDetection","isSuppressAnimationFrame","suppressAnimationFrame","getQuickFilterText","quickFilterText","isCacheQuickFilter","cacheQuickFilter","isUnSortIcon","unSortIcon","isSuppressMenuHide","suppressMenuHide","isEnterMovesDownAfterEdit","enterMovesDownAfterEdit","isEnterMovesDown","enterMovesDown","isUndoRedoCellEditing","undoRedoCellEditing","getUndoRedoCellEditingLimit","undoRedoCellEditingLimit","getRowStyle","rowStyle","getRowClass","rowClass","getRowStyleFunc","getRowClassFunc","rowClassRules","getCreateChartContainerFunc","createChartContainer","getPopupParent","popupParent","getBlockLoadDebounceMillis","blockLoadDebounceMillis","getPostProcessPopupFunc","postProcessPopup","getDoesDataFlowerFunc","doesDataFlower","getPaginationNumberFormatterFunc","paginationNumberFormatter","getChildCountFunc","getChildCount","getDefaultGroupSortComparator","defaultGroupSortComparator","getIsFullWidthCellFunc","isFullWidthCell","getFullWidthCellRendererParams","fullWidthCellRendererParams","isEmbedFullWidthRows","embedFullWidthRows","deprecatedEmbedFullWidthRows","getSuppressKeyboardEventFunc","suppressKeyboardEvent","getBusinessKeyForNodeFunc","getBusinessKeyForNode","getApi","getColumnApi","isDeltaRowDataMode","deltaRowDataMode","isDeltaColumnMode","deltaColumnMode","isEnsureDomOrder","ensureDomOrder","isEnableCharts","enableCharts","GridChartsModule","getColResizeDefault","colResizeDefault","isSingleClickEdit","singleClickEdit","isSuppressClickEdit","suppressClickEdit","isStopEditingWhenGridLosesFocus","stopEditingWhenGridLosesFocus","getGroupDefaultExpanded","groupDefaultExpanded","getMaxConcurrentDatasourceRequests","maxConcurrentDatasourceRequests","getMaxBlocksInCache","maxBlocksInCache","getCacheOverflowSize","cacheOverflowSize","getPaginationPageSize","paginationPageSize","isPaginateChildRows","isGroupSuppressRow","paginateChildRows","getCacheBlockSize","cacheBlockSize","getInfiniteInitialRowCount","infiniteInitialRowCount","isPurgeClosedRowNodes","purgeClosedRowNodes","isSuppressPaginationPanel","suppressPaginationPanel","getRowData","rowData","isGroupUseEntireRow","groupUseEntireRow","isEnableRtl","enableRtl","getAutoGroupColumnDef","autoGroupColumnDef","groupSuppressRow","getRowGroupPanelShow","rowGroupPanelShow","getPivotPanelShow","pivotPanelShow","isAngularCompileRows","angularCompileRows","isAngularCompileFilters","angularCompileFilters","isAngularCompileHeaders","angularCompileHeaders","isDebug","debug","getColumnDefs","getColumnTypes","columnTypes","getDatasource","datasource","getViewportDatasource","viewportDatasource","getServerSideDatasource","serverSideDatasource","isAccentedSort","accentedSort","isEnableBrowserTooltips","enableBrowserTooltips","isEnableCellExpressions","enableCellExpressions","isEnableGroupEdit","enableGroupEdit","isSuppressMiddleClickScrolls","suppressMiddleClickScrolls","isPreventDefaultOnContextMenu","preventDefaultOnContextMenu","isSuppressPreventDefaultOnMouseWheel","suppressPreventDefaultOnMouseWheel","isSuppressColumnVirtualisation","suppressColumnVirtualisation","isSuppressContextMenu","suppressContextMenu","isAllowContextMenuWithControlKey","allowContextMenuWithControlKey","isSuppressCopyRowsToClipboard","suppressCopyRowsToClipboard","isCopyHeadersToClipboard","copyHeadersToClipboard","isSuppressClipboardPaste","suppressClipboardPaste","isPagination","pagination","isSuppressEnterpriseResetOnNewColumns","suppressEnterpriseResetOnNewColumns","getProcessDataFromClipboardFunc","processDataFromClipboard","getBatchUpdateWaitMillis","exists","batchUpdateWaitMillis","BATCH_WAIT_MILLIS","isSuppressMovableColumns","suppressMovableColumns","isAnimateRows","animateRows","isSuppressColumnMoveAnimation","suppressColumnMoveAnimation","isSuppressAggFuncInHeader","suppressAggFuncInHeader","isSuppressAggAtRootLevel","suppressAggAtRootLevel","isRegistered","enableRangeSelection","enableRangeHandle","enableFillHandle","getFillOperation","fillOperation","isSuppressMultiRangeSelection","suppressMultiRangeSelection","isPaginationAutoPageSize","paginationAutoPageSize","isRememberGroupStateWhenNewData","rememberGroupStateWhenNewData","getIcons","icons","getAggFuncs","aggFuncs","getSortingOrder","sortingOrder","getAlignedGrids","alignedGrids","isMasterDetail","masterDetail","MasterDetailModule","isKeepDetailRows","keepDetailRows","getKeepDetailRowsCount","keepDetailRowsCount","getIsRowMasterFunc","isRowMaster","getIsRowSelectableFunc","isRowSelectable","getGroupRowRendererParams","groupRowRendererParams","getOverlayLoadingTemplate","overlayLoadingTemplate","getOverlayNoRowsTemplate","overlayNoRowsTemplate","isSuppressAutoSize","suppressAutoSize","isEnableCellTextSelection","enableCellTextSelection","suppressParentsInRowNodes","isFunctionsReadOnly","functionsReadOnly","isFloatingFilter","floatingFilter","isEnableCellTextSelect","isEnableOldSetFilterModel","enableOldSetFilterModel","getDefaultColDef","defaultColDef","getDefaultColGroupDef","defaultColGroupDef","getDefaultExportParams","defaultExportParams","isSuppressCsvExport","suppressCsvExport","isAllowShowChangeAfterFilter","allowShowChangeAfterFilter","isSuppressExcelExport","suppressExcelExport","isSuppressMakeColumnVisibleAfterUnGroup","suppressMakeColumnVisibleAfterUnGroup","getNodeChildDetailsFunc","getNodeChildDetails","getDataPathFunc","getDataPath","getIsServerSideGroupFunc","isServerSideGroup","getServerSideGroupKeyFunc","getServerSideGroupKey","getGroupRowAggNodesFunc","groupRowAggNodes","getContextMenuItemsFunc","getContextMenuItems","getMainMenuItemsFunc","getMainMenuItems","getChartToolbarItemsFunc","getChartToolbarItems","getRowNodeIdFunc","getRowNodeId","getNavigateToNextCellFunc","navigateToNextCell","getTabToNextCellFunc","tabToNextCell","treeData","RowGroupingModule","isValueCache","valueCache","isValueCacheNeverExpires","valueCacheNeverExpires","isDeltaSort","deltaSort","isAggregateOnlyChangedColumns","aggregateOnlyChangedColumns","getProcessSecondaryColDefFunc","processSecondaryColDef","getProcessSecondaryColGroupDefFunc","processSecondaryColGroupDef","getSendToClipboardFunc","sendToClipboard","getProcessRowPostCreateFunc","processRowPostCreate","getProcessCellForClipboardFunc","processCellForClipboard","getProcessHeaderForClipboardFunc","processHeaderForClipboard","getProcessCellFromClipboardFunc","processCellFromClipboard","getViewportRowModelPageSize","viewportRowModelPageSize","defaultValue","getViewportRowModelBufferSize","viewportRowModelBufferSize","isServerSideSortingAlwaysResets","serverSideSortingAlwaysResets","getPostSortFunc","postSort","getProcessChartOptionsFunc","processChartOptions","getClipboardDeliminator","clipboardDeliminator","setProperty","gridOptionsNoType","previousValue","event_1","type","currentValue","dispatchEvent","addLayoutElement","push","domLayoutAutoHeight","domLayoutPrint","domLayoutNormal","e","addOrRemoveCssClass","listener","checkEventDeprecation","eventName","removeEventListener","isSkipHeaderOnAutoSize","skipHeaderOnAutoSize","getAutoSizePadding","autoSizePadding","getHeaderHeight","headerHeight","specialForNewMaterial","getFloatingFiltersHeight","floatingFiltersHeight","getGroupHeaderHeight","groupHeaderHeight","getPivotHeaderHeight","pivotHeaderHeight","getPivotGroupHeaderHeight","pivotGroupHeaderHeight","isExternalFilterPresent","doesExternalFilterPass","node","getDocument","document","getMinColWidth","minColWidth","MIN_COL_WIDTH","getMaxColWidth","maxColWidth","getColWidth","colWidth","getRowBuffer","rowBuffer","ROW_BUFFER_SIZE","getRowBufferInPixels","getRowHeightAsNumber","getScrollbarWidth","scrollWidth","useGridOptions","scrollbarWidth","options","suppressUnSort","suppressDescSort","groupAggFields","groupHidePivotColumns","groupKeys","onRowDeselected","rowDeselected","rowsAlreadyGrouped","groupAggFunction","checkboxSelection","paginationInitialRowCount","infinitePageSize","infiniteBlockSize","maxPagesInCache","paginationOverflowSize","suppressMenuFilterPanel","suppressMenuMainPanel","suppressMenuColumnPanel","suppressUseColIdForGroups","groupColumnDef","slaveGrids","floatingTopRowData","floatingBottomRowData","paginationStartPage","getHeaderCellTemplate","headerCellTemplate","headerCellRenderer","layoutInterval","gridAutoHeight","showToolPanel","oldToolPanelProperties","toolPanelSuppressRowGroups","toolPanelSuppressValues","toolPanelSuppressPivots","toolPanelSuppressPivotMode","toolPanelSuppressColumnFilter","toolPanelSuppressColumnSelectAll","toolPanelSuppressSideButtons","toolPanelSuppressColumnExpandAll","contractColumnSelection","toolPanelColumnsCompProps","translation","parse","sideBarDef","columnsDef","filter","it","id","mergeDeep","componentParams","enableStatusBar","statusBar","components","component","alwaysShowStatusBar","enableServerSideSorting","enableSorting","sortable","enableFilter","enableServerSideFilter","enableColResize","resizable","treeDataViolations","getLocaleTextFunc","localeTextFunc","that","localeText","callbackMethodName","rowHeight","getDefaultRowHeight","isNumeric","getRowHeightForNode","rowNode","allowEstimate","getRowHeight","height","estimated","params","data","detail","detailRowHeight","defaultRowHeight","minRowHeight","min","columnController","isAutoRowHeightActive","autoHeight","autoHeightCalculator","getPreferredHeightForRow","max","isDynamicRowHeight","getVirtualItemHeight","useNativeCheckboxes","environment","chartMenuPanelWidth","isNaN","sassVariableName","theme","getTheme","getSassVariable","PROP_HEADER_HEIGHT","PROP_GROUP_REMOVE_SINGLE_CHILDREN","PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN","PROP_PIVOT_HEADER_HEIGHT","PROP_SUPPRESS_CLIPBOARD_PASTE","PROP_GROUP_HEADER_HEIGHT","PROP_PIVOT_GROUP_HEADER_HEIGHT","PROP_FLOATING_FILTERS_HEIGHT","PROP_SUPPRESS_ROW_DRAG","PROP_POPUP_PARENT","LoggerFactory","setBeans","gridOptionsWrapper","logging","create","name","Logger","isLogging","isLoggingFunc","log","message","__extends","extendStatics","b","setPrototypeOf","__proto__","p","hasOwnProperty","__","constructor","_super","HeaderGroupWrapperComp","columnGroup","dragSourceDropTarget","pinned","call","TEMPLATE","childColumnsDestroyFuncs","postConstruct","addHeaderClassesFromColDef","getComponentHolder","getGui","displayName","getDisplayNameForColumnGroup","appendHeaderGroupComp","setupResize","addClasses","setupWidth","addAttributes","setupMovingCss","setupTooltip","addFeature","getOriginalColumnGroup","getLeafColumns","setLeftFeature","beans","addDestroyFunc","col","addDestroyableEventListener","EVENT_MOVING_CHANGED","onColumnMovingChanged","getColumn","getColGroupDef","getTooltipText","colGroupDef","headerTooltip","tooltipText","setAttribute","tooltipManager","registerTooltip","isMoving","getUniqueId","setExpanded","expanded","setColumnGroupOpened","leafCols","getParent","headerName","getDisplayNameForColumn","callback","afterHeaderCompCreated","userComponentFactory","newHeaderGroupComponent","then","headerGroupComp","appendChild","setupMove","style","isPadding","addCssClass","eHeaderGroup","isSuppressMoving","allLeafColumns","dragSource","HeaderCell","eElement","dragItemName","getDragItem","getDragItemForGroup","onDragStarted","setMoving","onDragStopped","dragAndDropService","addDragSource","removeDragSource","allColumnsOriginalOrder","visibleState","column","getId","isVisible","allColumnsCurrentOrder","getAllDisplayedColumns","removeFromArray","columns","childSuppressesMoving","getColDef","suppressMovable","lockPosition","addListenersToChildrenColumns","EVENT_DISPLAYED_CHILDREN_CHANGED","onDisplayedChildrenChanged","onWidthChanged","destroyListenersOnChildrenColumns","widthChangedListener","EVENT_WIDTH_CHANGED","EVENT_VISIBLE_CHANGED","func","width","getActualWidth","eHeaderCellResize","getRefElement","isResizable","finishedWithResizeFunc","horizontalResizeService","addResizeBar","eResizeBar","onResizeStart","onResizing","onResizeEnd","skipHeaderOnAutoSize_1","getDisplayedLeafColumns","getColId","autoSizeColumns","removeFromParent","shiftKey","resizeCols","resizeStartWidth","resizeRatios","takeFromGroup","getDisplayedGroupAfter","takeFromLeafCols","resizeTakeFromCols","resizeTakeFromStartWidth","resizeTakeFromRatios","finished","resizeAmount","resizeSets","resizeAmountNormalised","normaliseDragChange","ratios","resizeColumnSets","removeCssClass","dragChange","PINNED_LEFT","PINNED_RIGHT","HeaderRowType","HeaderRowComp","dept","dropTarget","headerComps","forEachHeaderElement","idsOfAllChildren","removeAndDestroyChildComponents","idsToDestroy","childHeaderComp","removeChild","onRowHeightChanged","groupHeight","headerRowCount","getHeaderRowCount","sizes","numberOfFloating","numberOfGroups","top","onVirtualColumnsChanged","setWidth","EVENT_VIRTUAL_COLUMNS_CHANGED","EVENT_DISPLAYED_COLUMNS_CHANGED","onDisplayedColumnsChanged","EVENT_COLUMN_RESIZED","onColumnResized","EVENT_GRID_COLUMNS_CHANGED","onGridColumnsChanged","getWidthForRow","getContainerWidth","removeAndDestroyAllChildComponents","getItemsAtDepth","result_1","items","getVirtualHeaderGroupRow","FLOATING_FILTER","concat","currentChildIds","correctChildIds","child","isEmptyGroup","headerComp","eHeaderCompGui","idOfChild","eParentContainer","createHeaderComp","correctChildOrder","setDomChildOrder","columnGroupChild","COLUMN","COLUMN_GROUP","wireBean","CellRangeType","CssClassApplier","abstractColDef","eHeaderCell","addColumnClassesFromCollDef","headerClass","addToolPanelClassesFromColDef","toolPanelClass","classesOrFunc","classToUse","cssClassItem","NavigationService","timeLastPageEventProcessed","registerGridComp","gridPanel","handlePageScrollingKey","which","keyCode","alt","altKey","ctrl","ctrlKey","currentCell","mouseEventService","getCellPositionForEvent","processed","KEY_PAGE_HOME","KEY_PAGE_END","onHomeOrEndKey","KEY_LEFT","KEY_RIGHT","onCtrlLeftOrRight","KEY_UP","KEY_DOWN","onCtrlUpOrDown","KEY_PAGE_DOWN","onPageDown","KEY_PAGE_UP","onPageUp","preventDefault","isTimeSinceLastPageEventToRecent","Date","getTime","setTimeLastPageEventProcessed","gridCell","scrollPosition","getVScrollPosition","pixelsInOnePage","bottom","isHorizontalScrollShowing","pagingPixelOffset","paginationProxy","getPixelOffset","currentPageBottomPixel","scrollIndex","getRowIndexAtPixel","nextCellPixel","getRow","rowIndex","rowTop","focusIndex","pageLastRow","getPageLastRow","navigateTo","currentPageTopPixel","currentRowNode","firstRow","getPageFirstRow","scrollType","scrollColumn","focusColumn","ensureColumnVisible","ensureIndexVisible","animationFrameService","flushAllFrames","focusedCellController","setFocusedCell","rangeController","cellPosition","rowPinned","setRangeToCell","rowIndexToScrollTo","leftKey","allColumns","columnToSelect","last","homeKey","Grid","eGridDiv","registeredModules","getRegisteredModules","beanClasses","createBeansList","agStackComponents","createAgStackComponentsList","providedBeanInstances","createProvidedBeans","contextParams","logger","contextLogger","registerModuleUserComponents","gridCore","setColumnsAndData","dispatchGridReadyEvent","isEnterprise","EnterpriseCoreModule","error","passedViaConstructor","modules","registered","allModules","mapNames","addModule","module","moduleName","register","addIndividualModule","dependantModules","userComponentRegistry","getBean","extractModuleEntity","userComponents","compMeta","registerDefaultComponent","componentName","componentClass","frameworkOverrides","seed","$scope","$compile","quickFilterOnScope","globalEventListener","assign","moduleAgStackComps","rowModelClass","getRowModelClass","moduleBeans","apply","beansNoDuplicates","bean","moduleEntities","extractor","setColumnDefs","start","readyEvent","EVENT_GRID_READY","rowModelClasses","rowModels","HeaderContainer","eContainer","eViewport","headerRowComps","setupDragAndDrop","headerRowComp","EVENT_COLUMN_VALUE_CHANGED","onColumnValueChanged","EVENT_COLUMN_ROW_GROUP_CHANGED","onColumnRowGroupChanged","EVENT_SCROLL_VISIBILITY_CHANGED","onScrollVisibilityChanged","setWidthOfPinnedContainer","pinningLeft","pinningRight","controller","isRtl","scrollVisibleService","isVerticalScrollShowing","setFixedWidth","removeHeaderRowComps","getRowComps","removeAndCreateAllRowComps","createHeaderRowComps","refresh","gridComp","dropContainer","bodyDropTarget","clearElement","rowCount","HoverFeature","addMouseHoverListeners","onMouseOut","onMouseOver","columnHoverService","clearMouseOver","setMouseOver","HeaderRootComp","childContainers","printLayout","registerHeaderRootComp","autoWidthCalculator","centerContainer","eHeaderContainer","eHeaderViewport","pinnedLeftContainer","ePinnedLeftHeader","pinnedRightContainer","ePinnedRightHeader","container","refreshHeader","onDomLayoutChanged","EVENT_COLUMN_PIVOT_MODE_CHANGED","onPivotModeChanged","addPreventHeaderScroll","isReady","newValue","setHorizontalScroll","offset","transform","childContainer","setHeight","px","minHeight","scrollLeft","scrollHorizontally","setHeaderContainerWidth","setLeftVisible","visible","setDisplayed","setRightVisible","DropType","BodyDropTarget","dropListeners","moveColumnController","eSecondaryContainers","getDropTargetLeftContainers","getDropTargetRightContainers","getDropTargetBodyContainers","isInterestedIn","ToolPanel","getSecondaryContainers","getContainer","bodyDropPivotTarget","ColumnMove","Pivot","addDropTarget","getIconName","currentDropListener","getDropType","draggingEvent","onDragEnter","dropType","onDragLeave","onDragging","onDragStop","MoveColumnController","needToMoveLeft","needToMoveRight","loggerFactory","ICON_PINNED","ICON_MOVE","dragItem","setColumnsVisible","visibleState_1","visibleColumns","setColumnsPinned","fromNudge","ensureIntervalCleared","source","allowedCols","lockVisible","lockPinned","normaliseX","x","clientWidth","getCenterViewportScrollLeft","checkCenterForScrolling","xAdjustedForScroll","firstVisiblePixel","lastVisiblePixel","getCenterWidth","ensureIntervalStarted","fromEnter","lastDraggingEvent","hDirection","mouseXNormalised","hDirectionNormalised","normaliseDirection","dragSourceType","columnsToMove","getPinned","attemptMoveColumns","Left","Right","calculateOldIndex","movingCols","gridCols","getAllGridColumns","indexes","sortNumerically","firstIndex","allMovingColumns","mouseX","draggingLeft","draggingRight","validMoves","calculateValidMoves","oldIndex","firstValidMove","constrainDirection","move","doesMovePassRules","moveColumns","allDisplayedCols","getDisplayedColumns","allGridCols","movingDisplayedCols","includes","otherDisplayedCols","otherGridCols","displayIndex","availableWidth","widthOfMovingDisplayedCols_1","leftColumn","pointer","lastIndex","displacedCol","isColumnHidden","displayedColumns","movingIntervalId","intervalCount","failedMoveAttempts","window","setInterval","moveInterval","setGhostIcon","ICON_LEFT","ICON_RIGHT","clearInterval","pixelsToMove","pixelsMoved","columnsThatCanPin","pinType","nudge","BodyDropPivotTarget","columnsToAggregate","columnsToGroup","columnsToPivot","clearColumnsList","isPrimary","isAnyFunctionActive","isAllowValue","isAllowRowGroup","addValueColumns","addRowGroupColumns","addPivotColumns","GridApi","detailGridInfoMap","registerGridCore","headerRootComp","rowModel","getType","clientSideRowModel","infiniteRowModel","serverSideRowModel","__getAlignedGridService","alignedGridsService","addDetailGridInfo","gridInfo","removeDetailGridInfo","getDetailGridInfo","forEachDetailGridInfo","index","getDataAsCsv","CsvExportModule","csvCreator","exportDataAsCsv","getDataAsExcel","ExcelExportModule","excelCreator","getDataAsExcelXml","exportDataAsExcel","setEnterpriseDatasource","setServerSideDatasource","setDatasource","setViewportDatasource","setRowData","_a","immutableService","createTransactionForRowData","transaction","orderIdMap","updateRowData","rowRenderer","refreshFullWidthRows","selectionController","reset","setFloatingTopRowData","rows","setPinnedTopRowData","setFloatingBottomRowData","setPinnedBottomRowData","getFloatingTopRowCount","getPinnedTopRowCount","getFloatingBottomRowCount","getPinnedBottomRowCount","getFloatingTopRow","getPinnedTopRow","getFloatingBottomRow","getPinnedBottomRow","pinnedRowModel","colDefs","expireValueCache","expire","getVerticalPixelRange","getHorizontalPixelRange","getHScrollPosition","setAlwaysShowVerticalScroll","show","refreshToolPanel","refreshSideBar","refreshCells","flashCells","redrawRows","rowNodes","redrawAfterModelUpdate","timeFullRedraw","count","iterationCount","totalProcessing","totalReflow","doOneIteration","endProcessing","setTimeout","endReflow","durationProcessing","durationReflow","refreshView","refreshRows","rowDataChanged","softRefreshView","refreshGroupRows","setFunctionsReadOnly","readOnly","setHeaderAndFloatingHeights","isAnyFilterPresent","filterManager","isAdvancedFilterPresent","isColumnFilterPresent","isQuickFilterPresent","getModel","setRowNodeExpanded","onGroupExpandedOrCollapsed","deprecated_refreshFromIndex","refreshModel","step","STEP_MAP","refreshInMemoryRowModel","refreshClientSideRowModel","paramsStep","STEP_EVERYTHING","stepsMapped","group","STEP_FILTER","aggregate","STEP_AGGREGATE","sort","STEP_SORT","pivot","STEP_PIVOT","modelParams","keepRenderedRows","animate","keepEditingRows","isAnimationFrameQueueEmpty","isQueueEmpty","getRowNode","expandAll","expandOrCollapseAll","collapseAll","getToolPanelInstance","addVirtualRowListener","addRenderedRowListener","setQuickFilter","newFilter","selectIndex","tryMulti","suppressEvents","deselectIndex","selectNode","setSelectedParams","clearSelection","deselectNode","selectAll","selectAllRowNodes","deselectAll","deselectAllRowNodes","selectAllFiltered","deselectAllFiltered","recomputeAggregates","sizeColumnsToFit","showLoadingOverlay","showNoRowsOverlay","hideOverlay","isNodeSelected","isSelected","getSelectedNodesById","getSelectedNodes","getSelectedRows","getBestCostNodeSelection","getRenderedNodes","ensureColIndexVisible","position","ensureNodeVisible","comparator","forEachLeafNode","forEachNode","forEachNodeAfterFilter","forEachNodeAfterFilterAndSort","getFilterApiForColDef","getFilterInstance","getPrimaryColumn","getFilterComponent","resolveNow","filterComp","getFilterApi","destroyFilter","getStatusPanel","statusBarService","getColumnDef","onFilterChanged","onSortChanged","sortController","setSortModel","sortModel","getSortModel","setFilterModel","model","getFilterModel","getFocusedCell","clearFocusedCell","colKey","floating","setSuppressRowDrag","setHeaderHeight","doLayout","setGridAutoHeight","setDomLayout","setEnableCellTextSelection","selectable","setCellTextSelection","setGroupHeaderHeight","setFloatingFiltersHeight","setPivotGroupHeaderHeight","setPivotHeaderHeight","isSideBarVisible","setSideBarVisible","setSideBarPosition","openToolPanel","closeToolPanel","getOpenedToolPanel","setSideBar","def","setSuppressClipboardPaste","isToolPanelShowing","checkViewportAndScrolls","resetRowHeights","setGroupRemoveSingleChildren","setGroupRemoveLowestSingleChildren","getValue","getGridColumn","valueService","eventType","removeGlobalListener","resetQuickFilter","quickFilterAggregateText","getRangeSelections","getCellRanges","camelCaseToHumanReadable","camelCase","camelCaseToHumanText","addRangeSelection","deprecatedNoLongerUsed","addCellRange","clearRangeSelection","removeAllCellRanges","undoCellEditing","undoRedoService","undo","redoCellEditing","redo","getChartModels","chartService","createRangeChart","createPivotChart","copySelectedRowsToClipboard","includeHeader","columnKeys","clipboardService","copySelectedRangeToClipboard","copySelectedRangeDown","copyRangeDown","showColumnMenuAfterButtonClick","buttonElement","menuFactory","showMenuAfterButtonClick","showColumnMenuAfterMouseClick","mouseEvent","showMenuAfterMouseEvent","hidePopupMenu","contextMenuFactory","hideActiveMenu","setPopupParent","ePopupParent","tabToPreviousCell","getCellRendererInstances","getCellEditorInstances","getEditingCells","stopEditing","cancel","startEditingCell","keyPress","charPress","addAggFunc","aggFunc","aggFuncService","addAggFuncs","clearAggFuncs","clear","rowDataTransaction","res","batchUpdateRowData","insertItemsAtIndex","skipRefresh","add","addIndex","update","remove","removeItems","dataToRemove","addItems","refreshVirtualPageCache","refreshInfiniteCache","refreshInfinitePageCache","refreshCache","purgeVirtualPageCache","purgeInfinitePageCache","purgeInfiniteCache","purgeCache","purgeEnterpriseCache","route","purgeServerSideCache","getVirtualRowCount","getInfiniteRowCount","isMaxRowFound","setVirtualRowCount","maxRowFound","setInfiniteRowCount","getVirtualPageState","getCacheBlockState","getInfinitePageState","getBlockState","checkGridSize","getFirstRenderedRow","getFirstDisplayedRow","getFirstVirtualRenderedRow","getLastRenderedRow","getLastDisplayedRow","getLastVirtualRenderedRow","getDisplayedRowAtIndex","getDisplayedRowCount","getRowCount","paginationIsLastPageFound","isLastPageFound","paginationGetPageSize","getPageSize","paginationSetPageSize","size","paginationGetCurrentPage","getCurrentPage","paginationGetTotalPages","getTotalPages","paginationGetRowCount","getMasterRowCount","paginationGoToNextPage","goToNextPage","paginationGoToPreviousPage","goToPreviousPage","paginationGoToFirstPage","goToFirstPage","paginationGoToLastPage","goToLastPage","paginationGoToPage","page","goToPage","HorizontalResizeService","dragStartPixels","onDragStart","dragService","draggingStarted","dragStartX","clientX","setResizeIcons","oldBodyCursor","cursor","oldMsUserSelect","msUserSelect","oldWebkitUserSelect","webkitUserSelect","resetIcons","GridCore","template","createTemplate","setTemplate","popupService","service","ClipboardModule","quickFilterUnregisterFn","$watch","addRtlSupport","eRootWrapperBody","gridPanelEl","contains","relatedTarget","unsubscribeFromResize","resizeObserverService","observeResize","onGridSizeChanged","test","sideBarModuleLoaded","SideBarModule","statusBarModuleLoaded","StatusBarModule","EVENT_GRID_SIZE_CHANGED","clientHeight","cssClass","getRootGui","sideBarComp","isDisplayed","close","openedItem","doingVirtualPaging","Error","comparatorIsAFunction","indexToSelect","StandardMenuFactory","hidePopup","showPopup","eMenu","positionPopupUnderMouseEvent","ePopup","eventSource","positionPopupUnderComponent","keepWithinBounds","positionCallback","filterWrapper","getOrCreateFilterWrapper","createElement","guiPromise","promise","gui","bodyScrollListener","direction","addAsModalPopup","setMenuVisible","filterPromise","afterGuiAttached","isMenuEnabled","isFilterAllowed","MouseEventService","gridInstanceId","MouseEventService_1","gridInstanceSequence","next","stampDomElementWithGridInstance","GRID_DOM_KEY","getRenderedCellForEvent","getCellCompForEvent","isEventFromThisGrid","path","getEventPath","instanceId","cellComp","getCellPosition","ScrollVisibleService","setScrollsVisible","horizontalScrollShowing","verticalScrollShowing","RowDragFeature","RowDrag","EVENT_ROW_DRAG_ENTER","setDragging","onEnterOrDragging","EVENT_ROW_DRAG_MOVE","pixel","normaliseForScroll","y","doManagedDrag","ensureRowAtPixel","pixelRange","needToMoveUp","needToMoveDown","scrollVertically","vDirectionString","yNormalised","overIndex","overNode","getCurrentPageHeight","vDirection","Down","Up","EVENT_ROW_DRAG_LEAVE","stopDragging","EVENT_ROW_DRAG_END","GridPanel","scrollTop","resetLastHorizontalScrollElementDebounce","debounce","resetLastHorizontalScrollElement","eBodyViewport","offsetHeight","left","eCenterViewport","right","offsetWidth","onRowDataChanged","showOrHideOverlay","isEmpty","onNewColumnsLoaded","suppressScrollOnFloatingRow","setupRowAnimationCssClass","buildRowContainerComponents","addEventListeners","addDragListeners","addScrollListener","setPinnedContainerSize","disableBrowserDragging","addMouseListeners","addKeyboardEvents","addBodyViewportListener","addStopEditingWhenGridLosesFocus","mockContextMenuForIPad","addRowDragListener","addAngularApplyCheck","onDisplayedColumnsWidthChanged","navigationService","heightScaler","columnAnimationService","paginationAutoPageSizeService","viewport","onCenterViewportResized","newPrintLayout","setWidthsOfContainers","refreshFlexedColumns","bodyHeight","setColumnMovingCss","moving","eTop","eBottom","ct","rowDragFeature","focusOutListener","clickInsideGrid","isPopup","DOM_KEY_POPUP_EDITOR_WRAPPER","isBody","parentNode","applyTriggered","$apply","addGuiEventListener","HTMLImageElement","EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED","EVENT_PINNED_ROW_DATA_CHANGED","EVENT_ROW_DATA_CHANGED","EVENT_ROW_DATA_UPDATED","EVENT_NEW_COLUMNS_LOADED","eLeftContainer","eRightContainer","eCenterContainer","processMouseEvent","eAllCellContainers","processKeyboardEvent","getTarget","onContextMenu","getBodyClientRect","getBoundingClientRect","getRowForEvent","sourceElement","renderedRow","DOM_DATA_KEY_RENDERED_ROW","parentElement","keyboardEvent","getRenderedRow","editing","isEditing","isUserSuppressingKeyboardEvent","onKeyDown","doGridOperations","onKeyPress","cellKeyDownEvent","createEvent","EVENT_CELL_KEY_DOWN","cellKeyPressEvent","EVENT_CELL_KEY_PRESS","metaKey","KEY_A","onCtrlAndA","KEY_C","onCtrlAndC","KEY_V","onCtrlAndV","KEY_D","onCtrlAndD","KEY_Z","KEY_Y","scrollToTop","isStopPropagationForAgGrid","rowComp","handleContextMenuMouseEvent","onMouseEvent","isIOSUserAgent","touchListener","EVENT_LONG_TAP","touchEvent","dispatchCellContextMenuEvent","eventOrTouch","touches","showMenu","PINNED_BOTTOM","PINNED_TOP","isRowsToRender","_b","floatingStart","floatingEnd","rowEnd","allDisplayedColumns","missingOrEmpty","setCellRange","rowStartIndex","rowStartPinned","rowEndIndex","rowEndPinned","columnStart","columnEnd","focusedCell","copyToClipboard","pasteFromClipboard","goToPageWithIndex","rowGotShiftedDuringOperation","startingRowTop","startingRowHeight","paginationOffset","rowTopPixel","rowBottomPixel","heightOffset","getOffset","vScrollTop","vScrollBottom","viewportHeight","pxTop","getScrollPositionForPixel","pxBottom","pxMiddle","newScrollPosition","redrawAfterScroll","updateScrollVisibleService","checkBodyHeight","onHorizontalViewportChanged","onBodyHorizontalScroll","updateScrollVisibleServiceImpl","setHorizontalScrollVisible","setVerticalScrollPaddingVisible","scrollSize","scrollContainerSize","addIEPadding","isBrowserIE","setFixedHeight","eHorizontalScrollBody","eBodyHorizontalScrollViewport","eBodyHorizontalScrollContainer","scroller","overflowY","setFakeHScrollSpacerWidths","updateRowCount","total","updateColumnCount","isPinned","isColumnDisplayed","viewportLeftPixel","viewportRightPixel","colLeftPixel","getLeft","colRightPixel","viewportWidth","bodyWidth","getBodyContainerWidth","viewportScrolledPastCol","viewportScrolledBeforeCol","colToSmallForViewport","alignColToLeft","alignColToRight","setCenterViewportScrollLeft","overlayWrapper","nextTimeout","getCenterContainer","eTopViewport","eBottomViewport","eLeftBottom","eLeftTop","eRightBottom","eRightTop","eFullWidthContainer","rowContainerComponents","body","eWrapper","eCenterColsClipper","fullWidth","pinnedLeft","pinnedRight","floatingTop","eTopContainer","floatingTopPinnedLeft","floatingTopPinnedRight","floatingTopFullWidth","eTopFullWidthContainer","hideWhenNoChildren","floatingBottom","eBottomContainer","floatingBottomPinnedLeft","floatingBottomPinnedRight","floatingBottomFullWith","eBottomFullWidthContainer","isScaling","EVENT_HEIGHT_SCALE_CHANGED","getRowContainers","getFloatingTopBottom","horizontallyScrollHeaderCenterAndFloatingCenter","setCenterWidth","getPinnedLeftContainerWidth","getPinnedRightContainerWidth","widthPx","setPinnedLeftWidth","oldPinning","widthOfCols","newPinning","containers","setPinnedRightWidth","rightSpacing","eHorizontalRightSpacer","leftSpacing","eHorizontalLeftSpacer","event_3","EVENT_BODY_HEIGHT_CHANGED","totalHeaderHeight","floatingTopHeight","getPinnedTopTotalHeight","floatingBottomHeight","getPinnedBottomTotalHeight","floatingTopHeightString","floatingBottomHeightString","display","getBodyHeight","setHorizontalScrollPosition","hScrollPosition","doHorizontalScroll","setVerticalScrollPosition","vScrollPosition","pixels","oldScrollPosition","onCenterViewportScroll","onFakeHorizontalScroll","onVerticalScroll","setScrollTop","redrawRowsAfterScroll","isControllingScroll","eDiv","lastHorizontalScrollElement","eSource","floor","getScrollLeft","EVENT_BODY_SCROLL","setVirtualViewportPosition","setScrollLeft","abs","partner","addScrollEventListener","removeScrollEventListener","SelectAllFeature","cbSelectAll","cbSelectAllVisible","processingEventFromCheckbox","filteredOnly","headerCheckboxSelectionFilteredOnly","showOrHideSelectAll","EVENT_SELECTION_CHANGED","onSelectionChanged","EVENT_MODEL_UPDATED","onModelChanged","EVENT_CHANGED","onCbSelectAll","isCheckboxSelection","checkRightRowModelType","updateStateOfCheckbox","getNextCheckboxState","selectionCount","selected","notSelected","getSelectionCount","allSelected","setValue","selectedCount","notSelectedCount","headerCheckboxSelection","HeaderWrapperComp","enableMenu","suppressMenu","appendHeaderComp","setupMenuClass","setupSortableClass","addColumnHoverListener","EVENT_FILTER_ACTIVE_CHANGED","EVENT_COLUMN_HOVER_CHANGED","onColumnHover","isHovered","filterPresent","isFilterActive","showColumnMenu","progressSort","multiSort","setSort","setSortForColumn","newHeaderComponent","eHeaderCellLabel","dragSource_1","createDragItem","eResize","weWantAutoSize","autoSizeColumn","EVENT_DOUBLE_TAP","normaliseResizeAmount","newWidth","setColumnWidth","resizeWithShiftKey","onColumnWidthChanged","EVENT_MENU_VISIBLE_CHANGED","onMenuVisible","isMenuVisible","TabbedLayout","eGui","innerHTML","eHeader","querySelector","eBody","item","addItem","setAfterAttachedParams","afterAttachedParams","getMinDimensions","eDummyContainer","cloneNode","eDummyBody","minWidth","itemWrapper","eClone","tabbedItem","bodyPromise","showFirstItem","showItemWrapper","eHeaderButton","title","wrapper","showItem","find","onItemClicked","activeItem","afterAttachedCallback","callIfPresent","onActiveItemClicked","defaultGroupComparator","valueA","valueB","nodeA","nodeB","accentedCompare","nodeAIsGroup","nodeBIsGroup","bothAreNormal","defaultComparator","ChartType","HeaderComp","lastMovingChanged","firstExistingValue","trim","setupTap","setupIcons","setupMenu","setupSort","setupFilterIcon","setupText","displayNameSanitised","escape","eText","addInIcon","eSortAsc","eSortDesc","eSortNone","eFilter","iconName","eParent","eIcon","createIconNoSpan","tapMenuButton","menuTouchListener","touchStart","EVENT_TAP","opacity","transition","removeSortIcons","eSortOrder","sortUsingCtrl","eLabel","movedRecently","EVENT_SORT_CHANGED","setMultiSortOrder","isSortAscending","isSortDescending","isSortNone","alwaysHideNoSort","allColumnsWithSorting","getColumnsWithSortingOrdered","indexThisCol","moreThanOneColSorting","showIndex","isSorting","EVENT_FILTER_CHANGED","HeaderGroupComp","setupLabel","addGroupExpandIcon","setupExpandIcons","expandAction","newExpandedValue","isExpanded","addTouchAndClickListeners","eCloseIcon","eOpenIcon","stopPropagationAction","stopPropagationForAgGrid","updateIconVisibility","originalColumnGroup","EVENT_EXPANDED_CHANGED","EVENT_EXPANDABLE_CHANGED","action","isExpandable","refName"],"mappings":"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","file":"static/js/defaultVendors~main~f489a15f.efae15a2.chunk.js","sourcesContent":["/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components\n * @version v22.1.1\n * @link http://www.ag-grid.com/\n * @license MIT\n */\nvar globalObj = typeof global === 'undefined' ? {} : global;\nglobalObj.HTMLElement = typeof HTMLElement === 'undefined' ? {} : HTMLElement;\nglobalObj.HTMLButtonElement = typeof HTMLButtonElement === 'undefined' ? {} : HTMLButtonElement;\nglobalObj.HTMLSelectElement = typeof HTMLSelectElement === 'undefined' ? {} : HTMLSelectElement;\nglobalObj.HTMLInputElement = typeof HTMLInputElement === 'undefined' ? {} : HTMLInputElement;\nglobalObj.Node = typeof Node === 'undefined' ? {} : Node;\nglobalObj.MouseEvent = typeof MouseEvent === 'undefined' ? {} : MouseEvent;\n// columnController\nexport { ColumnFactory } from \"./columnController/columnFactory\";\nexport { ColumnController } from \"./columnController/columnController\";\nexport { ColumnKeyCreator } from \"./columnController/columnKeyCreator\";\nexport { ColumnUtils } from \"./columnController/columnUtils\";\nexport { DisplayedGroupCreator } from \"./columnController/displayedGroupCreator\";\nexport { GroupInstanceIdCreator } from \"./columnController/groupInstanceIdCreator\";\n// components\nexport { ComponentUtil } from \"./components/componentUtil\";\nexport { ColDefUtil } from \"./components/colDefUtil\";\nexport { UserComponentRegistry } from \"./components/framework/userComponentRegistry\";\nexport { UserComponentFactory } from \"./components/framework/userComponentFactory\";\nexport { initialiseAgGridWithAngular1 } from \"./components/agGridNg1\";\nexport { initialiseAgGridWithWebComponents } from \"./components/agGridWebComponent\";\n// context\nexport { BeanStub } from \"./context/beanStub\";\nexport { Context, Autowired, PostConstruct, PreConstruct, Optional, Bean, Qualifier, PreDestroy } from \"./context/context\";\nexport { QuerySelector, Listener, RefSelector } from \"./widgets/componentAnnotations\";\n// dragAndDrop\nexport { DragAndDropService, DragSourceType, HorizontalDirection, VerticalDirection } from \"./dragAndDrop/dragAndDropService\";\nexport { DragService } from \"./dragAndDrop/dragService\";\n// entities\nexport { Column } from \"./entities/column\";\nexport { ColumnGroup } from \"./entities/columnGroup\";\nexport { OriginalColumnGroup } from \"./entities/originalColumnGroup\";\nexport { RowNode } from \"./entities/rowNode\";\n// filter\nexport { FilterManager } from \"./filter/filterManager\";\nexport { ProvidedFilter } from \"./filter/provided/providedFilter\";\nexport { SimpleFilter } from \"./filter/provided/simpleFilter\";\nexport { ScalerFilter } from \"./filter/provided/scalerFilter\";\nexport { NumberFilter } from \"./filter/provided/number/numberFilter\";\nexport { TextFilter } from \"./filter/provided/text/textFilter\";\nexport { DateFilter } from \"./filter/provided/date/dateFilter\";\n// gridPanel\nexport { GridPanel } from \"./gridPanel/gridPanel\";\nexport { ScrollVisibleService } from \"./gridPanel/scrollVisibleService\";\nexport { MouseEventService } from \"./gridPanel/mouseEventService\";\n// headerRendering\nexport { BodyDropPivotTarget } from \"./headerRendering/bodyDropPivotTarget\";\nexport { BodyDropTarget } from \"./headerRendering/bodyDropTarget\";\nexport { CssClassApplier } from \"./headerRendering/cssClassApplier\";\nexport { HeaderContainer } from \"./headerRendering/headerContainer\";\nexport { HeaderRootComp } from \"./headerRendering/headerRootComp\";\nexport { HeaderRowComp } from \"./headerRendering/headerRowComp\";\nexport { HorizontalResizeService } from \"./headerRendering/horizontalResizeService\";\nexport { MoveColumnController } from \"./headerRendering/moveColumnController\";\nexport { StandardMenuFactory } from \"./headerRendering/standardMenu\";\n// layout\nexport { TabbedLayout } from \"./layout/tabbedLayout\";\n// misc\nexport { simpleHttpRequest } from \"./misc/simpleHttpRequest\";\nexport { ResizeObserverService } from \"./misc/resizeObserverService\";\nexport { LargeTextCellEditor } from \"./rendering/cellEditors/largeTextCellEditor\";\nexport { PopupEditorWrapper } from \"./rendering/cellEditors/popupEditorWrapper\";\nexport { PopupSelectCellEditor } from \"./rendering/cellEditors/popupSelectCellEditor\";\nexport { PopupTextCellEditor } from \"./rendering/cellEditors/popupTextCellEditor\";\nexport { SelectCellEditor } from \"./rendering/cellEditors/selectCellEditor\";\nexport { TextCellEditor } from \"./rendering/cellEditors/textCellEditor\";\nexport { AnimateShowChangeCellRenderer } from \"./rendering/cellRenderers/animateShowChangeCellRenderer\";\nexport { AnimateSlideCellRenderer } from \"./rendering/cellRenderers/animateSlideCellRenderer\";\nexport { GroupCellRenderer } from \"./rendering/cellRenderers/groupCellRenderer\";\n// features\nexport { SetLeftFeature } from \"./rendering/features/setLeftFeature\";\n// rendering\nexport { AutoWidthCalculator } from \"./rendering/autoWidthCalculator\";\nexport { CellRendererFactory } from \"./rendering/cellRendererFactory\";\nexport { CheckboxSelectionComponent } from \"./rendering/checkboxSelectionComponent\";\nexport { CellComp } from \"./rendering/cellComp\";\nexport { RowComp } from \"./rendering/rowComp\";\nexport { RowRenderer } from \"./rendering/rowRenderer\";\nexport { ValueFormatterService } from \"./rendering/valueFormatterService\";\n// row models\nexport { PinnedRowModel } from \"./pinnedRowModel/pinnedRowModel\";\nexport { ChangedPath } from \"./utils/changedPath\";\nexport { RowNodeBlock } from \"./modules/rowNodeCache/rowNodeBlock\";\nexport { RowNodeBlockLoader } from \"./modules/rowNodeCache/rowNodeBlockLoader\";\nexport { PaginationProxy } from \"./pagination/paginationProxy\";\nexport { RowNodeCache } from \"./modules/rowNodeCache/rowNodeCache\";\n//styling\nexport { StylingService } from \"./styling/stylingService\";\n// widgets\nexport { AgAbstractField } from \"./widgets/agAbstractField\";\nexport { AgCheckbox } from \"./widgets/agCheckbox\";\nexport { AgRadioButton } from \"./widgets/agRadioButton\";\nexport { AgToggleButton } from \"./widgets/agToggleButton\";\nexport { AgInputTextField } from \"./widgets/agInputTextField\";\nexport { AgInputTextArea } from \"./widgets/agInputTextArea\";\nexport { AgInputNumberField } from \"./widgets/agInputNumberField\";\nexport { AgInputRange } from \"./widgets/agInputRange\";\nexport { AgSelect } from \"./widgets/agSelect\";\nexport { AgSlider } from \"./widgets/agSlider\";\nexport { AgAngleSelect } from \"./widgets/agAngleSelect\";\nexport { AgColorPicker } from \"./widgets/agColorPicker\";\nexport { AgGroupComponent } from \"./widgets/agGroupComponent\";\nexport { AgDialog } from \"./widgets/agDialog\";\nexport { AgPanel } from \"./widgets/agPanel\";\nexport { MessageBox } from \"./widgets/messageBox\";\nexport { Component } from \"./widgets/component\";\nexport { PopupComponent } from \"./widgets/popupComponent\";\nexport { PopupService } from \"./widgets/popupService\";\nexport { TouchListener } from \"./widgets/touchListener\";\nexport { VirtualList } from \"./widgets/virtualList\";\n// range\nexport { CellRangeType } from \"./interfaces/iRangeController\";\n// root\nexport { VanillaFrameworkOverrides } from \"./vanillaFrameworkOverrides\";\nexport { CellNavigationService } from \"./cellNavigationService\";\nexport { AlignedGridsService } from \"./alignedGridsService\";\nexport { Constants } from \"./constants\";\nexport { Grid } from \"./grid\";\nexport { GridApi } from \"./gridApi\";\nexport { Events } from \"./eventKeys\";\nexport { FocusedCellController } from \"./focusedCellController\";\nexport { defaultGroupComparator } from \"./functions\";\nexport { GridOptionsWrapper } from \"./gridOptionsWrapper\";\nexport { EventService } from \"./eventService\";\nexport { SelectableService } from \"./rowNodes/selectableService\";\nexport { GridCore } from \"./gridCore\";\nexport { Logger } from \"./logger\";\nexport { SelectionController } from \"./selectionController\";\nexport { SortController } from \"./sortController\";\nexport { TemplateService } from \"./templateService\";\nexport { Color, Utils, NumberSequence, _, Promise } from \"./utils\";\nexport { ValueService } from \"./valueService/valueService\";\nexport { ValueCache } from \"./valueService/valueCache\";\nexport { ExpressionService } from \"./valueService/expressionService\";\nexport { LoggerFactory } from \"./logger\";\nexport { CellPositionUtils } from \"./entities/cellPosition\";\nexport { RowPositionUtils } from \"./entities/rowPosition\";\nexport { ColumnApi } from \"./columnController/columnApi\";\nexport { BaseComponentWrapper } from \"./components/framework/frameworkComponentWrapper\";\nexport { Environment } from \"./environment\";\nexport { TooltipManager } from \"./widgets/tooltipManager\";\n// charts\nexport * from \"./interfaces/iChartOptions\";\nexport { ModuleNames } from \"./modules/moduleNames\";\nexport { ModuleRegistry } from \"./modules/moduleRegistry\";\n// events\nexport * from \"./events\";\n","/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components\n * @version v22.1.1\n * @link http://www.ag-grid.com/\n * @license MIT\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 __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { _ } from './utils';\nimport { EventService } from './eventService';\nimport { Constants } from './constants';\nimport { ComponentUtil } from './components/componentUtil';\nimport { Autowired, Bean, PostConstruct, PreDestroy, Qualifier } from './context/context';\nimport { PropertyKeys } from './propertyKeys';\nimport { ColDefUtil } from './components/colDefUtil';\nimport { Events } from './eventKeys';\nimport { SideBarDefParser } from './entities/sideBar';\nimport { ModuleNames } from './modules/moduleNames';\nimport { ModuleRegistry } from './modules/moduleRegistry';\nvar DEFAULT_ROW_HEIGHT = 25;\nvar DEFAULT_DETAIL_ROW_HEIGHT = 300;\nvar DEFAULT_VIEWPORT_ROW_MODEL_PAGE_SIZE = 5;\nvar DEFAULT_VIEWPORT_ROW_MODEL_BUFFER_SIZE = 5;\nvar DEFAULT_KEEP_DETAIL_ROW_COUNT = 10;\nfunction isTrue(value) {\n return value === true || value === 'true';\n}\nfunction zeroOrGreater(value, defaultValue) {\n if (value >= 0) {\n return value;\n }\n // zero gets returned if number is missing or the wrong type\n return defaultValue;\n}\nfunction oneOrGreater(value, defaultValue) {\n if (value > 0) {\n return value;\n }\n // zero gets returned if number is missing or the wrong type\n return defaultValue;\n}\nvar GridOptionsWrapper = /** @class */ (function () {\n function GridOptionsWrapper() {\n this.propertyEventService = new EventService();\n this.domDataKey = '__AG_' + Math.random().toString();\n this.layoutElements = [];\n }\n GridOptionsWrapper_1 = GridOptionsWrapper;\n GridOptionsWrapper.prototype.agWire = function (gridApi, columnApi) {\n this.gridOptions.api = gridApi;\n this.gridOptions.columnApi = columnApi;\n this.checkForDeprecated();\n this.checkForViolations();\n };\n GridOptionsWrapper.prototype.destroy = function () {\n // need to remove these, as we don't own the lifecycle of the gridOptions, we need to\n // remove the references in case the user keeps the grid options, we want the rest\n // of the grid to be picked up by the garbage collector\n this.gridOptions.api = null;\n this.gridOptions.columnApi = null;\n };\n GridOptionsWrapper.prototype.init = function () {\n if (!(this.gridOptions.suppressPropertyNamesCheck === true)) {\n this.checkGridOptionsProperties();\n this.checkColumnDefProperties();\n }\n var async = this.useAsyncEvents();\n this.eventService.addGlobalListener(this.globalEventHandler.bind(this), async);\n if (this.isGroupSelectsChildren() && this.isSuppressParentsInRowNodes()) {\n console.warn(\"ag-Grid: 'groupSelectsChildren' does not work with 'suppressParentsInRowNodes', this selection method needs the part in rowNode to work\");\n }\n if (this.isGroupSelectsChildren()) {\n if (!this.isRowSelectionMulti()) {\n console.warn(\"ag-Grid: rowSelection must be 'multiple' for groupSelectsChildren to make sense\");\n }\n if (this.isRowModelServerSide()) {\n console.warn('ag-Grid: group selects children is NOT support for Server Side Row Model. ' +\n 'This is because the rows are lazy loaded, so selecting a group is not possible as' +\n 'the grid has no way of knowing what the children are.');\n }\n }\n if (this.isGroupRemoveSingleChildren() && this.isGroupHideOpenParents()) {\n console.warn(\"ag-Grid: groupRemoveSingleChildren and groupHideOpenParents do not work with each other, you need to pick one. And don't ask us how to us these together on our support forum either you will get the same answer!\");\n }\n if (this.isEnableRangeSelection()) {\n ModuleRegistry.assertRegistered(ModuleNames.RangeSelectionModule, 'enableRangeSelection');\n }\n if (!this.isEnableRangeSelection() && (this.isEnableRangeHandle() || this.isEnableFillHandle())) {\n console.warn(\"ag-Grid: 'enableRangeHandle' and 'enableFillHandle' will not work unless 'enableRangeSelection' is set to true\");\n }\n this.addEventListener(GridOptionsWrapper_1.PROP_DOM_LAYOUT, this.updateLayoutClasses.bind(this));\n };\n GridOptionsWrapper.prototype.checkColumnDefProperties = function () {\n var _this = this;\n if (this.gridOptions.columnDefs == null) {\n return;\n }\n this.gridOptions.columnDefs.forEach(function (colDef) {\n var userProperties = Object.getOwnPropertyNames(colDef);\n var validProperties = __spreadArrays(ColDefUtil.ALL_PROPERTIES, ColDefUtil.FRAMEWORK_PROPERTIES);\n _this.checkProperties(userProperties, validProperties, validProperties, 'colDef', 'https://www.ag-grid.com/javascript-grid-column-properties/');\n });\n };\n GridOptionsWrapper.prototype.checkGridOptionsProperties = function () {\n var userProperties = Object.getOwnPropertyNames(this.gridOptions);\n var validProperties = __spreadArrays(PropertyKeys.ALL_PROPERTIES, PropertyKeys.FRAMEWORK_PROPERTIES, _.values(Events).map(function (event) { return ComponentUtil.getCallbackForEvent(event); }));\n var validPropertiesAndExceptions = __spreadArrays(validProperties, ['api', 'columnApi']);\n this.checkProperties(userProperties, validPropertiesAndExceptions, validProperties, 'gridOptions', 'https://www.ag-grid.com/javascript-grid-properties/');\n };\n GridOptionsWrapper.prototype.checkProperties = function (userProperties, validPropertiesAndExceptions, validProperties, containerName, docsUrl) {\n var invalidProperties = _.fuzzyCheckStrings(userProperties, validPropertiesAndExceptions, validProperties);\n _.iterateObject(invalidProperties, function (key, value) {\n console.warn(\"ag-grid: invalid \" + containerName + \" property '\" + key + \"' did you mean any of these: \" + value.slice(0, 8).join(\", \"));\n });\n if (Object.keys(invalidProperties).length > 0) {\n console.warn(\"ag-grid: to see all the valid \" + containerName + \" properties please check: \" + docsUrl);\n }\n };\n // returns the dom data, or undefined if not found\n GridOptionsWrapper.prototype.getDomData = function (element, key) {\n var domData = element[this.domDataKey];\n return domData ? domData[key] : undefined;\n };\n GridOptionsWrapper.prototype.setDomData = function (element, key, value) {\n var domData = element[this.domDataKey];\n if (_.missing(domData)) {\n domData = {};\n element[this.domDataKey] = domData;\n }\n domData[key] = value;\n };\n GridOptionsWrapper.prototype.isRowSelection = function () {\n return this.gridOptions.rowSelection === 'single' || this.gridOptions.rowSelection === 'multiple';\n };\n GridOptionsWrapper.prototype.isRowDeselection = function () {\n return isTrue(this.gridOptions.rowDeselection);\n };\n GridOptionsWrapper.prototype.isRowSelectionMulti = function () {\n return this.gridOptions.rowSelection === 'multiple';\n };\n GridOptionsWrapper.prototype.isRowMultiSelectWithClick = function () {\n return isTrue(this.gridOptions.rowMultiSelectWithClick);\n };\n GridOptionsWrapper.prototype.getContext = function () {\n return this.gridOptions.context;\n };\n GridOptionsWrapper.prototype.isPivotMode = function () {\n return isTrue(this.gridOptions.pivotMode);\n };\n GridOptionsWrapper.prototype.isPivotTotals = function () {\n return isTrue(this.gridOptions.pivotTotals);\n };\n GridOptionsWrapper.prototype.getPivotColumnGroupTotals = function () {\n return this.gridOptions.pivotColumnGroupTotals;\n };\n GridOptionsWrapper.prototype.getPivotRowTotals = function () {\n return this.gridOptions.pivotRowTotals;\n };\n GridOptionsWrapper.prototype.isRowModelInfinite = function () {\n return this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_INFINITE;\n };\n GridOptionsWrapper.prototype.isRowModelViewport = function () {\n return this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_VIEWPORT;\n };\n GridOptionsWrapper.prototype.isRowModelServerSide = function () {\n return this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_SERVER_SIDE;\n };\n GridOptionsWrapper.prototype.isRowModelDefault = function () {\n return (_.missing(this.gridOptions.rowModelType) ||\n this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE ||\n this.gridOptions.rowModelType === Constants.DEPRECATED_ROW_MODEL_TYPE_NORMAL);\n };\n GridOptionsWrapper.prototype.isFullRowEdit = function () {\n return this.gridOptions.editType === 'fullRow';\n };\n GridOptionsWrapper.prototype.isSuppressFocusAfterRefresh = function () {\n return isTrue(this.gridOptions.suppressFocusAfterRefresh);\n };\n GridOptionsWrapper.prototype.isSuppressBrowserResizeObserver = function () {\n return isTrue(this.gridOptions.suppressBrowserResizeObserver);\n };\n GridOptionsWrapper.prototype.isSuppressMaintainUnsortedOrder = function () {\n return isTrue(this.gridOptions.suppressMaintainUnsortedOrder);\n };\n GridOptionsWrapper.prototype.isSuppressClearOnFillReduction = function () {\n return isTrue(this.gridOptions.suppressClearOnFillReduction);\n };\n GridOptionsWrapper.prototype.isShowToolPanel = function () {\n return isTrue(this.gridOptions.sideBar && Array.isArray(this.getSideBar().toolPanels));\n };\n GridOptionsWrapper.prototype.getSideBar = function () {\n return this.gridOptions.sideBar;\n };\n GridOptionsWrapper.prototype.isSuppressTouch = function () {\n return isTrue(this.gridOptions.suppressTouch);\n };\n GridOptionsWrapper.prototype.isSuppressRowTransform = function () {\n return isTrue(this.gridOptions.suppressRowTransform);\n };\n GridOptionsWrapper.prototype.isSuppressSetColumnStateEvents = function () {\n return isTrue(this.gridOptions.suppressSetColumnStateEvents);\n };\n GridOptionsWrapper.prototype.isAllowDragFromColumnsToolPanel = function () {\n return isTrue(this.gridOptions.allowDragFromColumnsToolPanel);\n };\n GridOptionsWrapper.prototype.useAsyncEvents = function () {\n return !isTrue(this.gridOptions.suppressAsyncEvents);\n };\n GridOptionsWrapper.prototype.isEnableCellChangeFlash = function () {\n return isTrue(this.gridOptions.enableCellChangeFlash);\n };\n GridOptionsWrapper.prototype.isGroupSelectsChildren = function () {\n var result = isTrue(this.gridOptions.groupSelectsChildren);\n if (result && this.isTreeData()) {\n console.warn('ag-Grid: groupSelectsChildren does not work with tree data');\n return false;\n }\n return result;\n };\n GridOptionsWrapper.prototype.isSuppressRowHoverHighlight = function () {\n return isTrue(this.gridOptions.suppressRowHoverHighlight);\n };\n GridOptionsWrapper.prototype.isGroupSelectsFiltered = function () {\n return isTrue(this.gridOptions.groupSelectsFiltered);\n };\n GridOptionsWrapper.prototype.isGroupHideOpenParents = function () {\n return isTrue(this.gridOptions.groupHideOpenParents);\n };\n // if we are doing hideOpenParents, then we always have groupMultiAutoColumn, otherwise hideOpenParents would not work\n GridOptionsWrapper.prototype.isGroupMultiAutoColumn = function () {\n return isTrue(this.gridOptions.groupMultiAutoColumn) || isTrue(this.gridOptions.groupHideOpenParents);\n };\n GridOptionsWrapper.prototype.isGroupRemoveSingleChildren = function () {\n return isTrue(this.gridOptions.groupRemoveSingleChildren);\n };\n GridOptionsWrapper.prototype.isGroupRemoveLowestSingleChildren = function () {\n return isTrue(this.gridOptions.groupRemoveLowestSingleChildren);\n };\n GridOptionsWrapper.prototype.isGroupIncludeFooter = function () {\n return isTrue(this.gridOptions.groupIncludeFooter);\n };\n GridOptionsWrapper.prototype.isGroupIncludeTotalFooter = function () {\n return isTrue(this.gridOptions.groupIncludeTotalFooter);\n };\n GridOptionsWrapper.prototype.isGroupSuppressBlankHeader = function () {\n return isTrue(this.gridOptions.groupSuppressBlankHeader);\n };\n GridOptionsWrapper.prototype.isSuppressRowClickSelection = function () {\n return isTrue(this.gridOptions.suppressRowClickSelection);\n };\n GridOptionsWrapper.prototype.isSuppressCellSelection = function () {\n return isTrue(this.gridOptions.suppressCellSelection);\n };\n GridOptionsWrapper.prototype.isSuppressMultiSort = function () {\n return isTrue(this.gridOptions.suppressMultiSort);\n };\n GridOptionsWrapper.prototype.isMultiSortKeyCtrl = function () {\n return this.gridOptions.multiSortKey === 'ctrl';\n };\n GridOptionsWrapper.prototype.isGroupSuppressAutoColumn = function () {\n return isTrue(this.gridOptions.groupSuppressAutoColumn);\n };\n GridOptionsWrapper.prototype.isSuppressDragLeaveHidesColumns = function () {\n return isTrue(this.gridOptions.suppressDragLeaveHidesColumns);\n };\n GridOptionsWrapper.prototype.isSuppressScrollOnNewData = function () {\n return isTrue(this.gridOptions.suppressScrollOnNewData);\n };\n GridOptionsWrapper.prototype.isRowDragManaged = function () {\n return isTrue(this.gridOptions.rowDragManaged);\n };\n GridOptionsWrapper.prototype.isSuppressRowDrag = function () {\n return isTrue(this.gridOptions.suppressRowDrag);\n };\n // returns either 'print', 'autoHeight' or 'normal' (normal is the default)\n GridOptionsWrapper.prototype.getDomLayout = function () {\n var domLayout = this.gridOptions.domLayout || Constants.DOM_LAYOUT_NORMAL;\n var validLayouts = [\n Constants.DOM_LAYOUT_PRINT,\n Constants.DOM_LAYOUT_AUTO_HEIGHT,\n Constants.DOM_LAYOUT_NORMAL\n ];\n if (validLayouts.indexOf(domLayout) === -1) {\n _.doOnce(function () {\n return console.warn(\"ag-Grid: \" + domLayout + \" is not valid for DOM Layout, valid values are \" + Constants.DOM_LAYOUT_NORMAL + \", \" + Constants.DOM_LAYOUT_AUTO_HEIGHT + \" and \" + Constants.DOM_LAYOUT_PRINT);\n }, 'warn about dom layout values');\n return Constants.DOM_LAYOUT_NORMAL;\n }\n return domLayout;\n };\n GridOptionsWrapper.prototype.isSuppressHorizontalScroll = function () {\n return isTrue(this.gridOptions.suppressHorizontalScroll);\n };\n GridOptionsWrapper.prototype.isSuppressMaxRenderedRowRestriction = function () {\n return isTrue(this.gridOptions.suppressMaxRenderedRowRestriction);\n };\n GridOptionsWrapper.prototype.isExcludeChildrenWhenTreeDataFiltering = function () {\n return isTrue(this.gridOptions.excludeChildrenWhenTreeDataFiltering);\n };\n GridOptionsWrapper.prototype.isAlwaysShowVerticalScroll = function () {\n return isTrue(this.gridOptions.alwaysShowVerticalScroll);\n };\n GridOptionsWrapper.prototype.isSuppressLoadingOverlay = function () {\n return isTrue(this.gridOptions.suppressLoadingOverlay);\n };\n GridOptionsWrapper.prototype.isSuppressNoRowsOverlay = function () {\n return isTrue(this.gridOptions.suppressNoRowsOverlay);\n };\n GridOptionsWrapper.prototype.isSuppressFieldDotNotation = function () {\n return isTrue(this.gridOptions.suppressFieldDotNotation);\n };\n GridOptionsWrapper.prototype.getPinnedTopRowData = function () {\n return this.gridOptions.pinnedTopRowData;\n };\n GridOptionsWrapper.prototype.getPinnedBottomRowData = function () {\n return this.gridOptions.pinnedBottomRowData;\n };\n GridOptionsWrapper.prototype.isFunctionsPassive = function () {\n return isTrue(this.gridOptions.functionsPassive);\n };\n GridOptionsWrapper.prototype.isSuppressTabbing = function () {\n return isTrue(this.gridOptions.suppressTabbing);\n };\n GridOptionsWrapper.prototype.isSuppressChangeDetection = function () {\n return isTrue(this.gridOptions.suppressChangeDetection);\n };\n GridOptionsWrapper.prototype.isSuppressAnimationFrame = function () {\n return isTrue(this.gridOptions.suppressAnimationFrame);\n };\n GridOptionsWrapper.prototype.getQuickFilterText = function () {\n return this.gridOptions.quickFilterText;\n };\n GridOptionsWrapper.prototype.isCacheQuickFilter = function () {\n return isTrue(this.gridOptions.cacheQuickFilter);\n };\n GridOptionsWrapper.prototype.isUnSortIcon = function () {\n return isTrue(this.gridOptions.unSortIcon);\n };\n GridOptionsWrapper.prototype.isSuppressMenuHide = function () {\n return isTrue(this.gridOptions.suppressMenuHide);\n };\n GridOptionsWrapper.prototype.isEnterMovesDownAfterEdit = function () {\n return isTrue(this.gridOptions.enterMovesDownAfterEdit);\n };\n GridOptionsWrapper.prototype.isEnterMovesDown = function () {\n return isTrue(this.gridOptions.enterMovesDown);\n };\n GridOptionsWrapper.prototype.isUndoRedoCellEditing = function () {\n return isTrue(this.gridOptions.undoRedoCellEditing);\n };\n GridOptionsWrapper.prototype.getUndoRedoCellEditingLimit = function () {\n return this.gridOptions.undoRedoCellEditingLimit;\n };\n GridOptionsWrapper.prototype.getRowStyle = function () {\n return this.gridOptions.rowStyle;\n };\n GridOptionsWrapper.prototype.getRowClass = function () {\n return this.gridOptions.rowClass;\n };\n GridOptionsWrapper.prototype.getRowStyleFunc = function () {\n return this.gridOptions.getRowStyle;\n };\n GridOptionsWrapper.prototype.getRowClassFunc = function () {\n return this.gridOptions.getRowClass;\n };\n GridOptionsWrapper.prototype.rowClassRules = function () {\n return this.gridOptions.rowClassRules;\n };\n GridOptionsWrapper.prototype.getCreateChartContainerFunc = function () {\n return this.gridOptions.createChartContainer;\n };\n GridOptionsWrapper.prototype.getPopupParent = function () {\n return this.gridOptions.popupParent;\n };\n GridOptionsWrapper.prototype.getBlockLoadDebounceMillis = function () {\n return this.gridOptions.blockLoadDebounceMillis;\n };\n GridOptionsWrapper.prototype.getPostProcessPopupFunc = function () {\n return this.gridOptions.postProcessPopup;\n };\n GridOptionsWrapper.prototype.getDoesDataFlowerFunc = function () {\n return this.gridOptions.doesDataFlower;\n };\n GridOptionsWrapper.prototype.getPaginationNumberFormatterFunc = function () {\n return this.gridOptions.paginationNumberFormatter;\n };\n GridOptionsWrapper.prototype.getChildCountFunc = function () {\n return this.gridOptions.getChildCount;\n };\n GridOptionsWrapper.prototype.getDefaultGroupSortComparator = function () {\n return this.gridOptions.defaultGroupSortComparator;\n };\n GridOptionsWrapper.prototype.getIsFullWidthCellFunc = function () {\n return this.gridOptions.isFullWidthCell;\n };\n GridOptionsWrapper.prototype.getFullWidthCellRendererParams = function () {\n return this.gridOptions.fullWidthCellRendererParams;\n };\n GridOptionsWrapper.prototype.isEmbedFullWidthRows = function () {\n return isTrue(this.gridOptions.embedFullWidthRows) || isTrue(this.gridOptions.deprecatedEmbedFullWidthRows);\n };\n GridOptionsWrapper.prototype.getSuppressKeyboardEventFunc = function () {\n return this.gridOptions.suppressKeyboardEvent;\n };\n GridOptionsWrapper.prototype.getBusinessKeyForNodeFunc = function () {\n return this.gridOptions.getBusinessKeyForNode;\n };\n GridOptionsWrapper.prototype.getApi = function () {\n return this.gridOptions.api;\n };\n GridOptionsWrapper.prototype.getColumnApi = function () {\n return this.gridOptions.columnApi;\n };\n GridOptionsWrapper.prototype.isDeltaRowDataMode = function () {\n return isTrue(this.gridOptions.deltaRowDataMode);\n };\n GridOptionsWrapper.prototype.isDeltaColumnMode = function () {\n return isTrue(this.gridOptions.deltaColumnMode);\n };\n GridOptionsWrapper.prototype.isEnsureDomOrder = function () {\n return isTrue(this.gridOptions.ensureDomOrder);\n };\n GridOptionsWrapper.prototype.isEnableCharts = function () {\n if (isTrue(this.gridOptions.enableCharts)) {\n return ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'enableCharts');\n }\n return false;\n };\n GridOptionsWrapper.prototype.getColResizeDefault = function () {\n return this.gridOptions.colResizeDefault;\n };\n GridOptionsWrapper.prototype.isSingleClickEdit = function () {\n return isTrue(this.gridOptions.singleClickEdit);\n };\n GridOptionsWrapper.prototype.isSuppressClickEdit = function () {\n return isTrue(this.gridOptions.suppressClickEdit);\n };\n GridOptionsWrapper.prototype.isStopEditingWhenGridLosesFocus = function () {\n return isTrue(this.gridOptions.stopEditingWhenGridLosesFocus);\n };\n GridOptionsWrapper.prototype.getGroupDefaultExpanded = function () {\n return this.gridOptions.groupDefaultExpanded;\n };\n GridOptionsWrapper.prototype.getMaxConcurrentDatasourceRequests = function () {\n return this.gridOptions.maxConcurrentDatasourceRequests;\n };\n GridOptionsWrapper.prototype.getMaxBlocksInCache = function () {\n return this.gridOptions.maxBlocksInCache;\n };\n GridOptionsWrapper.prototype.getCacheOverflowSize = function () {\n return this.gridOptions.cacheOverflowSize;\n };\n GridOptionsWrapper.prototype.getPaginationPageSize = function () {\n return this.gridOptions.paginationPageSize;\n };\n GridOptionsWrapper.prototype.isPaginateChildRows = function () {\n // if using groupSuppressRow, means we are not showing parent rows,\n // so we always paginate on the child rows here as there are no parent rows\n var shouldPaginate = this.isGroupSuppressRow() || this.isGroupRemoveSingleChildren() || this.isGroupRemoveLowestSingleChildren();\n if (shouldPaginate) {\n return true;\n }\n return isTrue(this.gridOptions.paginateChildRows);\n };\n GridOptionsWrapper.prototype.getCacheBlockSize = function () {\n return this.gridOptions.cacheBlockSize;\n };\n GridOptionsWrapper.prototype.getInfiniteInitialRowCount = function () {\n return this.gridOptions.infiniteInitialRowCount;\n };\n GridOptionsWrapper.prototype.isPurgeClosedRowNodes = function () {\n return isTrue(this.gridOptions.purgeClosedRowNodes);\n };\n GridOptionsWrapper.prototype.isSuppressPaginationPanel = function () {\n return isTrue(this.gridOptions.suppressPaginationPanel);\n };\n GridOptionsWrapper.prototype.getRowData = function () {\n return this.gridOptions.rowData;\n };\n // this property is different - we never allow groupUseEntireRow if in pivot mode,\n // as otherwise we don't see the pivot values.\n GridOptionsWrapper.prototype.isGroupUseEntireRow = function (pivotMode) {\n return pivotMode ? false : isTrue(this.gridOptions.groupUseEntireRow);\n };\n GridOptionsWrapper.prototype.isEnableRtl = function () {\n return isTrue(this.gridOptions.enableRtl);\n };\n GridOptionsWrapper.prototype.getAutoGroupColumnDef = function () {\n return this.gridOptions.autoGroupColumnDef;\n };\n GridOptionsWrapper.prototype.isGroupSuppressRow = function () {\n return isTrue(this.gridOptions.groupSuppressRow);\n };\n GridOptionsWrapper.prototype.getRowGroupPanelShow = function () {\n return this.gridOptions.rowGroupPanelShow;\n };\n GridOptionsWrapper.prototype.getPivotPanelShow = function () {\n return this.gridOptions.pivotPanelShow;\n };\n GridOptionsWrapper.prototype.isAngularCompileRows = function () {\n return isTrue(this.gridOptions.angularCompileRows);\n };\n GridOptionsWrapper.prototype.isAngularCompileFilters = function () {\n return isTrue(this.gridOptions.angularCompileFilters);\n };\n GridOptionsWrapper.prototype.isAngularCompileHeaders = function () {\n return isTrue(this.gridOptions.angularCompileHeaders);\n };\n GridOptionsWrapper.prototype.isDebug = function () {\n return isTrue(this.gridOptions.debug);\n };\n GridOptionsWrapper.prototype.getColumnDefs = function () {\n return this.gridOptions.columnDefs;\n };\n GridOptionsWrapper.prototype.getColumnTypes = function () {\n return this.gridOptions.columnTypes;\n };\n GridOptionsWrapper.prototype.getDatasource = function () {\n return this.gridOptions.datasource;\n };\n GridOptionsWrapper.prototype.getViewportDatasource = function () {\n return this.gridOptions.viewportDatasource;\n };\n GridOptionsWrapper.prototype.getServerSideDatasource = function () {\n return this.gridOptions.serverSideDatasource;\n };\n GridOptionsWrapper.prototype.isAccentedSort = function () {\n return isTrue(this.gridOptions.accentedSort);\n };\n GridOptionsWrapper.prototype.isEnableBrowserTooltips = function () {\n return isTrue(this.gridOptions.enableBrowserTooltips);\n };\n GridOptionsWrapper.prototype.isEnableCellExpressions = function () {\n return isTrue(this.gridOptions.enableCellExpressions);\n };\n GridOptionsWrapper.prototype.isEnableGroupEdit = function () {\n return isTrue(this.gridOptions.enableGroupEdit);\n };\n GridOptionsWrapper.prototype.isSuppressMiddleClickScrolls = function () {\n return isTrue(this.gridOptions.suppressMiddleClickScrolls);\n };\n GridOptionsWrapper.prototype.isPreventDefaultOnContextMenu = function () {\n return isTrue(this.gridOptions.preventDefaultOnContextMenu);\n };\n GridOptionsWrapper.prototype.isSuppressPreventDefaultOnMouseWheel = function () {\n return isTrue(this.gridOptions.suppressPreventDefaultOnMouseWheel);\n };\n GridOptionsWrapper.prototype.isSuppressColumnVirtualisation = function () {\n return isTrue(this.gridOptions.suppressColumnVirtualisation);\n };\n GridOptionsWrapper.prototype.isSuppressContextMenu = function () {\n return isTrue(this.gridOptions.suppressContextMenu);\n };\n GridOptionsWrapper.prototype.isAllowContextMenuWithControlKey = function () {\n return isTrue(this.gridOptions.allowContextMenuWithControlKey);\n };\n GridOptionsWrapper.prototype.isSuppressCopyRowsToClipboard = function () {\n return isTrue(this.gridOptions.suppressCopyRowsToClipboard);\n };\n GridOptionsWrapper.prototype.isCopyHeadersToClipboard = function () {\n return isTrue(this.gridOptions.copyHeadersToClipboard);\n };\n GridOptionsWrapper.prototype.isSuppressClipboardPaste = function () {\n return isTrue(this.gridOptions.suppressClipboardPaste);\n };\n GridOptionsWrapper.prototype.isPagination = function () {\n return isTrue(this.gridOptions.pagination);\n };\n GridOptionsWrapper.prototype.isSuppressEnterpriseResetOnNewColumns = function () {\n return isTrue(this.gridOptions.suppressEnterpriseResetOnNewColumns);\n };\n GridOptionsWrapper.prototype.getProcessDataFromClipboardFunc = function () {\n return this.gridOptions.processDataFromClipboard;\n };\n GridOptionsWrapper.prototype.getBatchUpdateWaitMillis = function () {\n return _.exists(this.gridOptions.batchUpdateWaitMillis) ? this.gridOptions.batchUpdateWaitMillis : Constants.BATCH_WAIT_MILLIS;\n };\n GridOptionsWrapper.prototype.isSuppressMovableColumns = function () {\n return isTrue(this.gridOptions.suppressMovableColumns);\n };\n GridOptionsWrapper.prototype.isAnimateRows = function () {\n // never allow animating if enforcing the row order\n if (this.isEnsureDomOrder()) {\n return false;\n }\n return isTrue(this.gridOptions.animateRows);\n };\n GridOptionsWrapper.prototype.isSuppressColumnMoveAnimation = function () {\n return isTrue(this.gridOptions.suppressColumnMoveAnimation);\n };\n GridOptionsWrapper.prototype.isSuppressAggFuncInHeader = function () {\n return isTrue(this.gridOptions.suppressAggFuncInHeader);\n };\n GridOptionsWrapper.prototype.isSuppressAggAtRootLevel = function () {\n return isTrue(this.gridOptions.suppressAggAtRootLevel);\n };\n GridOptionsWrapper.prototype.isEnableRangeSelection = function () {\n return ModuleRegistry.isRegistered(ModuleNames.RangeSelectionModule) && isTrue(this.gridOptions.enableRangeSelection);\n };\n GridOptionsWrapper.prototype.isEnableRangeHandle = function () {\n return isTrue(this.gridOptions.enableRangeHandle);\n };\n GridOptionsWrapper.prototype.isEnableFillHandle = function () {\n return isTrue(this.gridOptions.enableFillHandle);\n };\n GridOptionsWrapper.prototype.getFillOperation = function () {\n return this.gridOptions.fillOperation;\n };\n GridOptionsWrapper.prototype.isSuppressMultiRangeSelection = function () {\n return isTrue(this.gridOptions.suppressMultiRangeSelection);\n };\n GridOptionsWrapper.prototype.isPaginationAutoPageSize = function () {\n return isTrue(this.gridOptions.paginationAutoPageSize);\n };\n GridOptionsWrapper.prototype.isRememberGroupStateWhenNewData = function () {\n return isTrue(this.gridOptions.rememberGroupStateWhenNewData);\n };\n GridOptionsWrapper.prototype.getIcons = function () {\n return this.gridOptions.icons;\n };\n GridOptionsWrapper.prototype.getAggFuncs = function () {\n return this.gridOptions.aggFuncs;\n };\n GridOptionsWrapper.prototype.getSortingOrder = function () {\n return this.gridOptions.sortingOrder;\n };\n GridOptionsWrapper.prototype.getAlignedGrids = function () {\n return this.gridOptions.alignedGrids;\n };\n GridOptionsWrapper.prototype.isMasterDetail = function () {\n var masterDetail = isTrue(this.gridOptions.masterDetail);\n if (masterDetail) {\n return ModuleRegistry.assertRegistered(ModuleNames.MasterDetailModule, 'masterDetail');\n }\n else {\n return false;\n }\n };\n GridOptionsWrapper.prototype.isKeepDetailRows = function () {\n return isTrue(this.gridOptions.keepDetailRows);\n };\n GridOptionsWrapper.prototype.getKeepDetailRowsCount = function () {\n if (this.gridOptions.keepDetailRowsCount > 0) {\n return this.gridOptions.keepDetailRowsCount;\n }\n return DEFAULT_KEEP_DETAIL_ROW_COUNT;\n };\n GridOptionsWrapper.prototype.getIsRowMasterFunc = function () {\n return this.gridOptions.isRowMaster;\n };\n GridOptionsWrapper.prototype.getIsRowSelectableFunc = function () {\n return this.gridOptions.isRowSelectable;\n };\n GridOptionsWrapper.prototype.getGroupRowRendererParams = function () {\n return this.gridOptions.groupRowRendererParams;\n };\n GridOptionsWrapper.prototype.getOverlayLoadingTemplate = function () {\n return this.gridOptions.overlayLoadingTemplate;\n };\n GridOptionsWrapper.prototype.getOverlayNoRowsTemplate = function () {\n return this.gridOptions.overlayNoRowsTemplate;\n };\n GridOptionsWrapper.prototype.isSuppressAutoSize = function () {\n return isTrue(this.gridOptions.suppressAutoSize);\n };\n GridOptionsWrapper.prototype.isEnableCellTextSelection = function () {\n return isTrue(this.gridOptions.enableCellTextSelection);\n };\n GridOptionsWrapper.prototype.isSuppressParentsInRowNodes = function () {\n return isTrue(this.gridOptions.suppressParentsInRowNodes);\n };\n GridOptionsWrapper.prototype.isFunctionsReadOnly = function () {\n return isTrue(this.gridOptions.functionsReadOnly);\n };\n GridOptionsWrapper.prototype.isFloatingFilter = function () {\n return this.gridOptions.floatingFilter;\n };\n GridOptionsWrapper.prototype.isEnableCellTextSelect = function () {\n return isTrue(this.gridOptions.enableCellTextSelection);\n };\n GridOptionsWrapper.prototype.isEnableOldSetFilterModel = function () {\n return isTrue(this.gridOptions.enableOldSetFilterModel);\n };\n GridOptionsWrapper.prototype.getDefaultColDef = function () {\n return this.gridOptions.defaultColDef;\n };\n GridOptionsWrapper.prototype.getDefaultColGroupDef = function () {\n return this.gridOptions.defaultColGroupDef;\n };\n GridOptionsWrapper.prototype.getDefaultExportParams = function () {\n return this.gridOptions.defaultExportParams;\n };\n GridOptionsWrapper.prototype.isSuppressCsvExport = function () {\n return isTrue(this.gridOptions.suppressCsvExport);\n };\n GridOptionsWrapper.prototype.isAllowShowChangeAfterFilter = function () {\n return isTrue(this.gridOptions.allowShowChangeAfterFilter);\n };\n GridOptionsWrapper.prototype.isSuppressExcelExport = function () {\n return isTrue(this.gridOptions.suppressExcelExport);\n };\n GridOptionsWrapper.prototype.isSuppressMakeColumnVisibleAfterUnGroup = function () {\n return isTrue(this.gridOptions.suppressMakeColumnVisibleAfterUnGroup);\n };\n GridOptionsWrapper.prototype.getNodeChildDetailsFunc = function () {\n return this.gridOptions.getNodeChildDetails;\n };\n GridOptionsWrapper.prototype.getDataPathFunc = function () {\n return this.gridOptions.getDataPath;\n };\n GridOptionsWrapper.prototype.getIsServerSideGroupFunc = function () {\n return this.gridOptions.isServerSideGroup;\n };\n GridOptionsWrapper.prototype.getServerSideGroupKeyFunc = function () {\n return this.gridOptions.getServerSideGroupKey;\n };\n GridOptionsWrapper.prototype.getGroupRowAggNodesFunc = function () {\n return this.gridOptions.groupRowAggNodes;\n };\n GridOptionsWrapper.prototype.getContextMenuItemsFunc = function () {\n return this.gridOptions.getContextMenuItems;\n };\n GridOptionsWrapper.prototype.getMainMenuItemsFunc = function () {\n return this.gridOptions.getMainMenuItems;\n };\n GridOptionsWrapper.prototype.getChartToolbarItemsFunc = function () {\n return this.gridOptions.getChartToolbarItems;\n };\n GridOptionsWrapper.prototype.getRowNodeIdFunc = function () {\n return this.gridOptions.getRowNodeId;\n };\n GridOptionsWrapper.prototype.getNavigateToNextCellFunc = function () {\n return this.gridOptions.navigateToNextCell;\n };\n GridOptionsWrapper.prototype.getTabToNextCellFunc = function () {\n return this.gridOptions.tabToNextCell;\n };\n GridOptionsWrapper.prototype.isTreeData = function () {\n var usingTreeData = isTrue(this.gridOptions.treeData);\n if (usingTreeData) {\n return ModuleRegistry.assertRegistered(ModuleNames.RowGroupingModule, 'Tree Data');\n }\n else {\n return false;\n }\n };\n GridOptionsWrapper.prototype.isValueCache = function () {\n return isTrue(this.gridOptions.valueCache);\n };\n GridOptionsWrapper.prototype.isValueCacheNeverExpires = function () {\n return isTrue(this.gridOptions.valueCacheNeverExpires);\n };\n GridOptionsWrapper.prototype.isDeltaSort = function () {\n return isTrue(this.gridOptions.deltaSort);\n };\n GridOptionsWrapper.prototype.isAggregateOnlyChangedColumns = function () {\n return isTrue(this.gridOptions.aggregateOnlyChangedColumns);\n };\n GridOptionsWrapper.prototype.getProcessSecondaryColDefFunc = function () {\n return this.gridOptions.processSecondaryColDef;\n };\n GridOptionsWrapper.prototype.getProcessSecondaryColGroupDefFunc = function () {\n return this.gridOptions.processSecondaryColGroupDef;\n };\n GridOptionsWrapper.prototype.getSendToClipboardFunc = function () {\n return this.gridOptions.sendToClipboard;\n };\n GridOptionsWrapper.prototype.getProcessRowPostCreateFunc = function () {\n return this.gridOptions.processRowPostCreate;\n };\n GridOptionsWrapper.prototype.getProcessCellForClipboardFunc = function () {\n return this.gridOptions.processCellForClipboard;\n };\n GridOptionsWrapper.prototype.getProcessHeaderForClipboardFunc = function () {\n return this.gridOptions.processHeaderForClipboard;\n };\n GridOptionsWrapper.prototype.getProcessCellFromClipboardFunc = function () {\n return this.gridOptions.processCellFromClipboard;\n };\n GridOptionsWrapper.prototype.getViewportRowModelPageSize = function () {\n return oneOrGreater(this.gridOptions.viewportRowModelPageSize, DEFAULT_VIEWPORT_ROW_MODEL_PAGE_SIZE);\n };\n GridOptionsWrapper.prototype.getViewportRowModelBufferSize = function () {\n return zeroOrGreater(this.gridOptions.viewportRowModelBufferSize, DEFAULT_VIEWPORT_ROW_MODEL_BUFFER_SIZE);\n };\n // public getCellRenderers(): {[key: string]: {new(): ICellRenderer} | ICellRendererFunc} { return this.gridOptions.cellRenderers; }\n // public getCellEditors(): {[key: string]: {new(): ICellEditor}} { return this.gridOptions.cellEditors; }\n GridOptionsWrapper.prototype.isServerSideSortingAlwaysResets = function () {\n return isTrue(this.gridOptions.serverSideSortingAlwaysResets);\n };\n GridOptionsWrapper.prototype.getPostSortFunc = function () {\n return this.gridOptions.postSort;\n };\n GridOptionsWrapper.prototype.getProcessChartOptionsFunc = function () {\n return this.gridOptions.processChartOptions;\n };\n GridOptionsWrapper.prototype.getClipboardDeliminator = function () {\n return _.exists(this.gridOptions.clipboardDeliminator) ? this.gridOptions.clipboardDeliminator : '\\t';\n };\n GridOptionsWrapper.prototype.setProperty = function (key, value) {\n var gridOptionsNoType = this.gridOptions;\n var previousValue = gridOptionsNoType[key];\n if (previousValue !== value) {\n gridOptionsNoType[key] = value;\n var event_1 = {\n type: key,\n currentValue: value,\n previousValue: previousValue\n };\n this.propertyEventService.dispatchEvent(event_1);\n }\n };\n // this logic is repeated in lots of places. any element that had different CSS\n // dependent on the layout needs to have the layout class added ot it.\n GridOptionsWrapper.prototype.addLayoutElement = function (element) {\n this.layoutElements.push(element);\n this.updateLayoutClasses();\n };\n GridOptionsWrapper.prototype.updateLayoutClasses = function () {\n var domLayout = this.getDomLayout();\n var domLayoutAutoHeight = domLayout === Constants.DOM_LAYOUT_AUTO_HEIGHT;\n var domLayoutPrint = domLayout === Constants.DOM_LAYOUT_PRINT;\n var domLayoutNormal = domLayout === Constants.DOM_LAYOUT_NORMAL;\n this.layoutElements.forEach(function (e) {\n _.addOrRemoveCssClass(e, 'ag-layout-auto-height', domLayoutAutoHeight);\n _.addOrRemoveCssClass(e, 'ag-layout-normal', domLayoutNormal);\n _.addOrRemoveCssClass(e, 'ag-layout-print', domLayoutPrint);\n });\n };\n GridOptionsWrapper.prototype.addEventListener = function (key, listener) {\n GridOptionsWrapper_1.checkEventDeprecation(key);\n this.propertyEventService.addEventListener(key, listener);\n };\n GridOptionsWrapper.checkEventDeprecation = function (eventName) {\n if (eventName === 'floatingRowDataChanged') {\n console.warn('ag-Grid: floatingRowDataChanged is now called pinnedRowDataChanged');\n }\n };\n GridOptionsWrapper.prototype.removeEventListener = function (key, listener) {\n this.propertyEventService.removeEventListener(key, listener);\n };\n GridOptionsWrapper.prototype.isSkipHeaderOnAutoSize = function () {\n return !!this.gridOptions.skipHeaderOnAutoSize;\n };\n GridOptionsWrapper.prototype.getAutoSizePadding = function () {\n return this.gridOptions.autoSizePadding && this.gridOptions.autoSizePadding > 0 ? this.gridOptions.autoSizePadding : 20;\n };\n // properties\n GridOptionsWrapper.prototype.getHeaderHeight = function () {\n if (typeof this.gridOptions.headerHeight === 'number') {\n return this.gridOptions.headerHeight;\n }\n return this.specialForNewMaterial(25, 'headerHeight');\n };\n GridOptionsWrapper.prototype.getFloatingFiltersHeight = function () {\n if (typeof this.gridOptions.floatingFiltersHeight === 'number') {\n return this.gridOptions.floatingFiltersHeight;\n }\n return this.specialForNewMaterial(25, 'headerHeight');\n };\n GridOptionsWrapper.prototype.getGroupHeaderHeight = function () {\n if (typeof this.gridOptions.groupHeaderHeight === 'number') {\n return this.gridOptions.groupHeaderHeight;\n }\n return this.getHeaderHeight();\n };\n GridOptionsWrapper.prototype.getPivotHeaderHeight = function () {\n if (typeof this.gridOptions.pivotHeaderHeight === 'number') {\n return this.gridOptions.pivotHeaderHeight;\n }\n return this.getHeaderHeight();\n };\n GridOptionsWrapper.prototype.getPivotGroupHeaderHeight = function () {\n if (typeof this.gridOptions.pivotGroupHeaderHeight === 'number') {\n return this.gridOptions.pivotGroupHeaderHeight;\n }\n return this.getGroupHeaderHeight();\n };\n GridOptionsWrapper.prototype.isExternalFilterPresent = function () {\n if (typeof this.gridOptions.isExternalFilterPresent === 'function') {\n return this.gridOptions.isExternalFilterPresent();\n }\n return false;\n };\n GridOptionsWrapper.prototype.doesExternalFilterPass = function (node) {\n if (typeof this.gridOptions.doesExternalFilterPass === 'function') {\n return this.gridOptions.doesExternalFilterPass(node);\n }\n return false;\n };\n GridOptionsWrapper.prototype.getDocument = function () {\n // if user is providing document, we use the users one,\n // otherwise we use the document on the global namespace.\n var result = null;\n if (this.gridOptions.getDocument && _.exists(this.gridOptions.getDocument)) {\n result = this.gridOptions.getDocument();\n }\n if (result && _.exists(result)) {\n return result;\n }\n return document;\n };\n GridOptionsWrapper.prototype.getMinColWidth = function () {\n if (this.gridOptions.minColWidth && this.gridOptions.minColWidth > GridOptionsWrapper_1.MIN_COL_WIDTH) {\n return this.gridOptions.minColWidth;\n }\n return GridOptionsWrapper_1.MIN_COL_WIDTH;\n };\n GridOptionsWrapper.prototype.getMaxColWidth = function () {\n if (this.gridOptions.maxColWidth && this.gridOptions.maxColWidth > GridOptionsWrapper_1.MIN_COL_WIDTH) {\n return this.gridOptions.maxColWidth;\n }\n return null;\n };\n GridOptionsWrapper.prototype.getColWidth = function () {\n if (typeof this.gridOptions.colWidth !== 'number' || this.gridOptions.colWidth < GridOptionsWrapper_1.MIN_COL_WIDTH) {\n return 200;\n }\n return this.gridOptions.colWidth;\n };\n GridOptionsWrapper.prototype.getRowBuffer = function () {\n var rowBuffer = this.gridOptions.rowBuffer;\n if (typeof rowBuffer === 'number') {\n if (rowBuffer < 0) {\n _.doOnce(function () { return console.warn(\"ag-Grid: rowBuffer should not be negative\"); }, 'warn rowBuffer negative');\n this.gridOptions.rowBuffer = rowBuffer = 0;\n }\n }\n else {\n rowBuffer = Constants.ROW_BUFFER_SIZE;\n }\n return rowBuffer;\n };\n GridOptionsWrapper.prototype.getRowBufferInPixels = function () {\n var rowsToBuffer = this.getRowBuffer();\n var defaultRowHeight = this.getRowHeightAsNumber();\n return rowsToBuffer * defaultRowHeight;\n };\n // the user might be using some non-standard scrollbar, eg a scrollbar that has zero\n // width and overlays (like the Safari scrollbar, but presented in Chrome). so we\n // allow the user to provide the scroll width before we work it out.\n GridOptionsWrapper.prototype.getScrollbarWidth = function () {\n if (this.scrollWidth == null) {\n var useGridOptions = typeof this.gridOptions.scrollbarWidth === 'number' && this.gridOptions.scrollbarWidth >= 0;\n this.scrollWidth = useGridOptions ? this.gridOptions.scrollbarWidth : _.getScrollbarWidth();\n }\n return this.scrollWidth;\n };\n GridOptionsWrapper.prototype.checkForDeprecated = function () {\n var _this = this;\n // casting to generic object, so typescript compiles even though\n // we are looking for attributes that don't exist\n var options = this.gridOptions;\n if (options.suppressUnSort) {\n console.warn('ag-grid: as of v1.12.4 suppressUnSort is not used. Please use sortingOrder instead.');\n }\n if (options.suppressDescSort) {\n console.warn('ag-grid: as of v1.12.4 suppressDescSort is not used. Please use sortingOrder instead.');\n }\n if (options.groupAggFields) {\n console.warn('ag-grid: as of v3 groupAggFields is not used. Please add appropriate agg fields to your columns.');\n }\n if (options.groupHidePivotColumns) {\n console.warn('ag-grid: as of v3 groupHidePivotColumns is not used as pivot columns are now called rowGroup columns. Please refer to the documentation');\n }\n if (options.groupKeys) {\n console.warn('ag-grid: as of v3 groupKeys is not used. You need to set rowGroupIndex on the columns to group. Please refer to the documentation');\n }\n if (typeof options.groupDefaultExpanded === 'boolean') {\n console.warn('ag-grid: groupDefaultExpanded can no longer be boolean. for groupDefaultExpanded=true, use groupDefaultExpanded=9999 instead, to expand all the groups');\n }\n if (options.onRowDeselected || options.rowDeselected) {\n console.warn('ag-grid: since version 3.4 event rowDeselected no longer exists, please check the docs');\n }\n if (options.rowsAlreadyGrouped) {\n console.warn('ag-grid: since version 3.4 rowsAlreadyGrouped no longer exists, please use getNodeChildDetails() instead');\n }\n if (options.groupAggFunction) {\n console.warn('ag-grid: since version 4.3.x groupAggFunction is now called groupRowAggNodes');\n }\n if (options.checkboxSelection) {\n console.warn('ag-grid: since version 8.0.x checkboxSelection is not supported as a grid option. ' + 'If you want this on all columns, use defaultColDef instead and set it there');\n }\n if (options.paginationInitialRowCount) {\n console.warn('ag-grid: since version 9.0.x paginationInitialRowCount is now called infiniteInitialRowCount');\n }\n if (options.infinitePageSize) {\n console.warn('ag-grid: since version 9.0.x infinitePageSize is now called cacheBlockSize');\n }\n if (options.infiniteBlockSize) {\n console.warn('ag-grid: since version 10.0.x infiniteBlockSize is now called cacheBlockSize');\n }\n if (options.maxPagesInCache) {\n console.warn('ag-grid: since version 10.0.x maxPagesInCache is now called maxBlocksInCache');\n }\n if (options.paginationOverflowSize) {\n console.warn('ag-grid: since version 10.0.x paginationOverflowSize is now called cacheOverflowSize');\n }\n // if (options.forPrint) {\n // console.warn('ag-grid: since version 10.1.x, use property domLayout=\"forPrint\" instead of forPrint=true');\n // }\n if (options.suppressMenuFilterPanel) {\n console.warn(\"ag-grid: since version 11.0.x, use property colDef.menuTabs=['generalMenuTab','columnsMenuTab'] instead of suppressMenuFilterPanel=true\");\n }\n if (options.suppressMenuMainPanel) {\n console.warn(\"ag-grid: since version 11.0.x, use property colDef.menuTabs=['filterMenuTab','columnsMenuTab'] instead of suppressMenuMainPanel=true\");\n }\n if (options.suppressMenuColumnPanel) {\n console.warn(\"ag-grid: since version 11.0.x, use property colDef.menuTabs=['generalMenuTab','filterMenuTab'] instead of suppressMenuColumnPanel=true\");\n }\n if (options.suppressUseColIdForGroups) {\n console.warn(\"ag-grid: since version 11.0.x, this is not in use anymore. You should be able to remove it from your definition\");\n }\n if (options.groupSuppressRow) {\n console.warn(\"ag-grid: since version 18.2.x, 'groupSuppressRow' should not be used anymore. Instead remove row groups and perform custom sorting.\");\n }\n if (options.groupColumnDef) {\n console.warn(\"ag-grid: since version 11.0.x, groupColumnDef has been renamed, this property is now called autoGroupColumnDef. Please change your configuration accordingly\");\n }\n if (options.slaveGrids) {\n console.warn(\"ag-grid: since version 12.x, slaveGrids has been renamed, this property is now called alignedGrids. Please change your configuration accordingly\");\n }\n if (options.floatingTopRowData) {\n console.warn(\"ag-grid: since version 12.x, floatingTopRowData is now called pinnedTopRowData\");\n }\n if (options.floatingBottomRowData) {\n console.warn(\"ag-grid: since version 12.x, floatingBottomRowData is now called pinnedBottomRowData\");\n }\n if (options.paginationStartPage) {\n console.warn(\"ag-grid: since version 12.x, paginationStartPage is gone, please call api.paginationGoToPage(\" + options.paginationStartPage + \") instead.\");\n }\n if (options.getHeaderCellTemplate) {\n console.warn(\"ag-grid: since version 15.x, getHeaderCellTemplate is gone, please check the header documentation on how to set header templates.\");\n }\n if (options.headerCellTemplate) {\n console.warn(\"ag-grid: since version 15.x, headerCellTemplate is gone, please check the header documentation on how to set header templates.\");\n }\n if (options.headerCellRenderer) {\n console.warn(\"ag-grid: since version 15.x, headerCellRenderer is gone, please check the header documentation on how to set header templates.\");\n }\n if (options.angularCompileHeaders) {\n console.warn(\"ag-grid: since version 15.x, angularCompileHeaders is gone, please see the getting started for Angular 1 docs to see how to do headers in Angular 1.x.\");\n }\n if (options.pivotTotals) {\n console.warn(\"ag-grid: since version 18.x, pivotTotals has been removed, instead if using pivotTotals, set pivotColumnGroupTotals='before'|'after'.\");\n options.pivotColumnGroupTotals = 'before';\n }\n if (options.rowModelType === 'inMemory') {\n console.warn(\"ag-grid: since version 18.x, The In Memory Row Model has been renamed to the Client Side Row Model, set rowModelType='clientSide' instead.\");\n options.rowModelType = 'clientSide';\n }\n if (options.rowModelType === 'enterprise') {\n console.warn(\"ag-grid: since version 18.x, The Enterprise Row Model has been renamed to the Server Side Row Model, set rowModelType='serverSide' instead.\");\n options.rowModelType = 'serverSide';\n }\n if (options.layoutInterval) {\n console.warn(\"ag-grid: since version 18.x, layoutInterval is no longer a property. This is because the grid now uses CSS Flex for layout.\");\n }\n if (options.gridAutoHeight) {\n console.warn(\"ag-grid: since version 19.x, gridAutoHeight is gone, please use domLayout=autoHeight instead\");\n options.domLayout = 'autoHeight';\n }\n if (options.showToolPanel === true) {\n console.warn(\"ag-grid: since version 19.x, showToolPanel is gone, please specify toolPanel components. See https://www.ag-grid.com/javascript-grid-tool-panel/\");\n options.showToolPanel = undefined;\n options.sideBar = options.sideBar || true;\n }\n if (options.showToolPanel === false) {\n console.warn(\"ag-grid: since version 19.x, showToolPanel is gone, please specify toolPanel components. See https://www.ag-grid.com/javascript-grid-tool-panel/\");\n options.showToolPanel = undefined;\n options.sideBar = options.sideBar || false;\n }\n var oldToolPanelProperties = {\n toolPanelSuppressRowGroups: 'suppressRowGroups',\n toolPanelSuppressValues: 'suppressValues',\n toolPanelSuppressPivots: 'suppressPivots',\n toolPanelSuppressPivotMode: 'suppressPivotMode',\n toolPanelSuppressColumnFilter: 'suppressColumnFilter',\n toolPanelSuppressColumnSelectAll: 'suppressColumnSelectAll',\n toolPanelSuppressSideButtons: 'suppressSideButtons',\n toolPanelSuppressColumnExpandAll: 'suppressColumnExpandAll',\n contractColumnSelection: 'contractColumnSelection'\n };\n var toolPanelColumnsCompProps = {};\n Object.keys(oldToolPanelProperties).forEach(function (key) {\n var translation = oldToolPanelProperties[key];\n var value = _this.gridOptions[key];\n if (value !== undefined) {\n if (key === 'toolPanelSuppressSideButtons') {\n console.warn('ag-grid: since v19.0 toolPanelSuppressSideButtons has been completely removed. See https://www.ag-grid.com/javascript-grid-tool-panel/');\n return;\n }\n console.warn(\"ag-grid: since v19.0 gridOptions.\" + key + \" is deprecated, please use gridOptions.sideBar.toolPanel[columnsIndex].componentParams.\" + translation);\n toolPanelColumnsCompProps[translation] = value;\n }\n });\n if (Object.keys(toolPanelColumnsCompProps).length > 0 && !_.exists(options.sideBar)) {\n console.warn(\"ag-grid: since version 19.x, sideBar is mandatory if using toolPanel related properties. See https://www.ag-grid.com/javascript-grid-tool-panel/\");\n options.sideBar = true;\n }\n if (options.sideBar != null) {\n options.sideBar = SideBarDefParser.parse(options.sideBar);\n }\n var sideBarDef = this.gridOptions.sideBar;\n if (Object.keys(toolPanelColumnsCompProps).length > 0 && sideBarDef && sideBarDef.toolPanels) {\n var columnsDef = sideBarDef.toolPanels.filter(function (it) { return it.id === 'columns'; });\n if (columnsDef.length === 1) {\n _.mergeDeep(columnsDef[0], {\n componentParams: toolPanelColumnsCompProps\n });\n }\n }\n if (options.enableStatusBar) {\n console.warn(\"ag-grid: since version 19.x, enableStatusBar is gone, please specify statusBar components\");\n options.statusBar = options.statusBar || {\n components: [{ component: 'agAggregationComponent' }]\n };\n }\n if (options.alwaysShowStatusBar) {\n console.warn(\"ag-grid: since version 19.x, alwaysShowStatusBar is gone. Please specify a min-height on the ag-status-bar css class, eg .ag-status-bar {min-height: 35px; }\");\n }\n if (options.enableServerSideSorting || options.enableSorting) {\n console.warn(\"ag-Grid: since v20, grid options enableSorting and enableServerSideSorting are gone. Instead set sortable=true on the column definition for the columns sorting are allowed on. To migrate from gridOption.enableSorting=true, set gridOptions.defaultColDef.sortable=true\");\n if (!options.defaultColDef) {\n options.defaultColDef = {};\n }\n if (!options.defaultColDef.sortable) {\n options.defaultColDef.sortable = true;\n }\n }\n if (options.enableFilter || options.enableServerSideFilter) {\n console.warn(\"ag-Grid: since v20, grid options enableFilter and enableServerSideFilter are gone. Instead set filter=true (if not already specifying a specific filter) on the column definition for the columns filtering is allowed on. To migrate from gridOptions.enableFilter=true, set gridOptions.defaultColDef.filter=true. If you are explicitly setting specific filters for each column (ie colDef.filter is already set) the you don't need to do anything.\");\n if (!options.defaultColDef) {\n options.defaultColDef = {};\n }\n if (!options.defaultColDef.filter) {\n options.defaultColDef.filter = true;\n }\n }\n if (options.enableColResize) {\n console.warn(\"ag-Grid: since v20, grid options enableColResize is gone. Instead set resizable=true on the column definition for the columns resizing are allowed on. To migrate from gridOption.enableColResize=true, set gridOptions.defaultColDef.resizable=true\");\n if (!options.defaultColDef) {\n options.defaultColDef = {};\n }\n if (!options.defaultColDef.resizable) {\n options.defaultColDef.resizable = true;\n }\n }\n if (options.deprecatedEmbedFullWidthRows) {\n console.warn(\"ag-Grid: since v21.2, deprecatedEmbedFullWidthRows has been replaced with embedFullWidthRows.\");\n }\n if (options.suppressTabbing) {\n console.warn(\"ag-Grid: since v20.1, suppressTabbing is replaced with the more powerful grid callback suppressKeyboardEvent(params) which can suppress any keyboard event including tabbing.\");\n }\n if (options.doesDataFlower) {\n console.warn('ag-Grid: since v21.1, doesDataFlower is deprecated. Master/Detail is the new way for showing child data for a row and was introduced over a year ago. Please migrate your code to use master/detail instead.');\n }\n if (options.enableOldSetFilterModel) {\n console.warn('ag-Grid: since v22.x, enableOldSetFilterModel is deprecated. Please move to the new Set Filter Model as the old one may not be supported in v23 onwards.');\n }\n };\n GridOptionsWrapper.prototype.checkForViolations = function () {\n if (this.isTreeData()) {\n this.treeDataViolations();\n }\n };\n GridOptionsWrapper.prototype.treeDataViolations = function () {\n if (this.isRowModelDefault()) {\n if (_.missing(this.getDataPathFunc())) {\n console.warn('ag-Grid: property usingTreeData=true with rowModel=clientSide, but you did not ' +\n 'provide getDataPath function, please provide getDataPath function if using tree data.');\n }\n }\n if (this.isRowModelServerSide()) {\n if (_.missing(this.getIsServerSideGroupFunc())) {\n console.warn('ag-Grid: property usingTreeData=true with rowModel=serverSide, but you did not ' +\n 'provide isServerSideGroup function, please provide isServerSideGroup function if using tree data.');\n }\n if (_.missing(this.getServerSideGroupKeyFunc())) {\n console.warn('ag-Grid: property usingTreeData=true with rowModel=serverSide, but you did not ' +\n 'provide getServerSideGroupKey function, please provide getServerSideGroupKey function if using tree data.');\n }\n }\n };\n GridOptionsWrapper.prototype.getLocaleTextFunc = function () {\n if (this.gridOptions.localeTextFunc) {\n return this.gridOptions.localeTextFunc;\n }\n var that = this;\n return function (key, defaultValue) {\n var localeText = that.gridOptions.localeText;\n if (localeText && localeText[key]) {\n return localeText[key];\n }\n return defaultValue;\n };\n };\n // responsible for calling the onXXX functions on gridOptions\n GridOptionsWrapper.prototype.globalEventHandler = function (eventName, event) {\n var callbackMethodName = ComponentUtil.getCallbackForEvent(eventName);\n if (typeof this.gridOptions[callbackMethodName] === 'function') {\n this.gridOptions[callbackMethodName](event);\n }\n };\n // we don't allow dynamic row height for virtual paging\n GridOptionsWrapper.prototype.getRowHeightAsNumber = function () {\n if (!this.gridOptions.rowHeight || _.missing(this.gridOptions.rowHeight)) {\n return this.getDefaultRowHeight();\n }\n else if (this.gridOptions.rowHeight && this.isNumeric(this.gridOptions.rowHeight)) {\n return this.gridOptions.rowHeight;\n }\n console.warn('ag-Grid row height must be a number if not using standard row model');\n return this.getDefaultRowHeight();\n };\n GridOptionsWrapper.prototype.getRowHeightForNode = function (rowNode, allowEstimate) {\n // check the function first, in case use set both function and\n // number, when using virtual pagination then function can be\n // used for pinned rows and the number for the body rows.\n if (allowEstimate === void 0) { allowEstimate = false; }\n if (typeof this.gridOptions.getRowHeight === 'function') {\n if (allowEstimate) {\n return { height: this.getDefaultRowHeight(), estimated: true };\n }\n var params = {\n node: rowNode,\n data: rowNode.data,\n api: this.gridOptions.api,\n context: this.gridOptions.context\n };\n return { height: this.gridOptions.getRowHeight(params), estimated: false };\n }\n else if (rowNode.detail && this.isMasterDetail()) {\n if (this.isNumeric(this.gridOptions.detailRowHeight)) {\n return { height: this.gridOptions.detailRowHeight, estimated: false };\n }\n return { height: DEFAULT_DETAIL_ROW_HEIGHT, estimated: false };\n }\n var defaultRowHeight = this.getDefaultRowHeight();\n var rowHeight = this.gridOptions.rowHeight && this.isNumeric(this.gridOptions.rowHeight) ? this.gridOptions.rowHeight : defaultRowHeight;\n var minRowHeight = Math.min(defaultRowHeight, rowHeight);\n if (this.columnController.isAutoRowHeightActive()) {\n if (allowEstimate) {\n return { height: rowHeight, estimated: true };\n }\n var autoHeight = this.autoHeightCalculator.getPreferredHeightForRow(rowNode);\n // never return less than the default row height - covers when auto height\n // cells are blank.\n return { height: Math.max(autoHeight, minRowHeight), estimated: false };\n }\n return { height: rowHeight, estimated: false };\n };\n GridOptionsWrapper.prototype.isDynamicRowHeight = function () {\n return typeof this.gridOptions.getRowHeight === 'function';\n };\n GridOptionsWrapper.prototype.getVirtualItemHeight = function () {\n return this.specialForNewMaterial(20, 'virtualItemHeight');\n };\n GridOptionsWrapper.prototype.useNativeCheckboxes = function () {\n return this.environment.useNativeCheckboxes();\n };\n GridOptionsWrapper.prototype.chartMenuPanelWidth = function () {\n return this.environment.chartMenuPanelWidth();\n };\n GridOptionsWrapper.prototype.isNumeric = function (value) {\n return !isNaN(value) && typeof value === 'number';\n };\n // Material data table has strict guidelines about whitespace, and these values are different than the ones\n // ag-grid uses by default. We override the default ones for the sake of making it better out of the box\n GridOptionsWrapper.prototype.specialForNewMaterial = function (defaultValue, sassVariableName) {\n var theme = this.environment.getTheme().theme;\n if (theme && theme.indexOf('ag-theme') === 0) {\n return this.environment.getSassVariable(theme, sassVariableName);\n }\n return defaultValue;\n };\n GridOptionsWrapper.prototype.getDefaultRowHeight = function () {\n return this.specialForNewMaterial(DEFAULT_ROW_HEIGHT, 'rowHeight');\n };\n var GridOptionsWrapper_1;\n GridOptionsWrapper.MIN_COL_WIDTH = 10;\n GridOptionsWrapper.PROP_HEADER_HEIGHT = 'headerHeight';\n GridOptionsWrapper.PROP_GROUP_REMOVE_SINGLE_CHILDREN = 'groupRemoveSingleChildren';\n GridOptionsWrapper.PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN = 'groupRemoveLowestSingleChildren';\n GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT = 'pivotHeaderHeight';\n GridOptionsWrapper.PROP_SUPPRESS_CLIPBOARD_PASTE = 'suppressClipboardPaste';\n GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT = 'groupHeaderHeight';\n GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT = 'pivotGroupHeaderHeight';\n GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT = 'floatingFiltersHeight';\n GridOptionsWrapper.PROP_SUPPRESS_ROW_DRAG = 'suppressRowDrag';\n GridOptionsWrapper.PROP_POPUP_PARENT = 'popupParent';\n GridOptionsWrapper.PROP_DOM_LAYOUT = 'domLayout';\n __decorate([\n Autowired('gridOptions')\n ], GridOptionsWrapper.prototype, \"gridOptions\", void 0);\n __decorate([\n Autowired('columnController')\n ], GridOptionsWrapper.prototype, \"columnController\", void 0);\n __decorate([\n Autowired('eventService')\n ], GridOptionsWrapper.prototype, \"eventService\", void 0);\n __decorate([\n Autowired('gridApi')\n ], GridOptionsWrapper.prototype, \"gridApi\", void 0);\n __decorate([\n Autowired('columnApi')\n ], GridOptionsWrapper.prototype, \"columnApi\", void 0);\n __decorate([\n Autowired('environment')\n ], GridOptionsWrapper.prototype, \"environment\", void 0);\n __decorate([\n Autowired('autoHeightCalculator')\n ], GridOptionsWrapper.prototype, \"autoHeightCalculator\", void 0);\n __decorate([\n Autowired('context')\n ], GridOptionsWrapper.prototype, \"context\", void 0);\n __decorate([\n __param(0, Qualifier('gridApi')), __param(1, Qualifier('columnApi'))\n ], GridOptionsWrapper.prototype, \"agWire\", null);\n __decorate([\n PreDestroy\n ], GridOptionsWrapper.prototype, \"destroy\", null);\n __decorate([\n PostConstruct\n ], GridOptionsWrapper.prototype, \"init\", null);\n GridOptionsWrapper = GridOptionsWrapper_1 = __decorate([\n Bean('gridOptionsWrapper')\n ], GridOptionsWrapper);\n return GridOptionsWrapper;\n}());\nexport { GridOptionsWrapper };\n","/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components\n * @version v22.1.1\n * @link http://www.ag-grid.com/\n * @license MIT\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 __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nimport { Bean } from \"./context/context\";\nimport { Qualifier } from \"./context/context\";\nvar LoggerFactory = /** @class */ (function () {\n function LoggerFactory() {\n }\n LoggerFactory.prototype.setBeans = function (gridOptionsWrapper) {\n this.logging = gridOptionsWrapper.isDebug();\n };\n LoggerFactory.prototype.create = function (name) {\n return new Logger(name, this.isLogging.bind(this));\n };\n LoggerFactory.prototype.isLogging = function () {\n return this.logging;\n };\n __decorate([\n __param(0, Qualifier('gridOptionsWrapper'))\n ], LoggerFactory.prototype, \"setBeans\", null);\n LoggerFactory = __decorate([\n Bean('loggerFactory')\n ], LoggerFactory);\n return LoggerFactory;\n}());\nexport { LoggerFactory };\nvar Logger = /** @class */ (function () {\n function Logger(name, isLoggingFunc) {\n this.name = name;\n this.isLoggingFunc = isLoggingFunc;\n }\n Logger.prototype.isLogging = function () {\n return this.isLoggingFunc();\n };\n Logger.prototype.log = function (message) {\n if (this.isLoggingFunc()) {\n // tslint:disable-next-line\n console.log('ag-Grid.' + this.name + ': ' + message);\n }\n };\n return Logger;\n}());\nexport { Logger };\n","/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components\n * @version v22.1.1\n * @link http://www.ag-grid.com/\n * @license MIT\n */\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};\nimport { Component } from \"../../widgets/component\";\nimport { Column } from \"../../entities/column\";\nimport { ColumnGroup } from \"../../entities/columnGroup\";\nimport { Autowired, PostConstruct } from \"../../context/context\";\nimport { CssClassApplier } from \"../cssClassApplier\";\nimport { DragSourceType } from \"../../dragAndDrop/dragAndDropService\";\nimport { SetLeftFeature } from \"../../rendering/features/setLeftFeature\";\nimport { HoverFeature } from \"../hoverFeature\";\nimport { _ } from \"../../utils\";\nimport { Constants } from \"../../constants\";\nvar HeaderGroupWrapperComp = /** @class */ (function (_super) {\n __extends(HeaderGroupWrapperComp, _super);\n function HeaderGroupWrapperComp(columnGroup, dragSourceDropTarget, pinned) {\n var _this = _super.call(this, HeaderGroupWrapperComp.TEMPLATE) || this;\n // the children can change, we keep destroy functions related to listening to the children here\n _this.childColumnsDestroyFuncs = [];\n _this.columnGroup = columnGroup;\n _this.dragSourceDropTarget = dragSourceDropTarget;\n _this.pinned = pinned;\n return _this;\n }\n HeaderGroupWrapperComp.prototype.postConstruct = function () {\n CssClassApplier.addHeaderClassesFromColDef(this.getComponentHolder(), this.getGui(), this.gridOptionsWrapper, null, this.columnGroup);\n var displayName = this.columnController.getDisplayNameForColumnGroup(this.columnGroup, 'header');\n this.appendHeaderGroupComp(displayName);\n this.setupResize();\n this.addClasses();\n this.setupWidth();\n this.addAttributes();\n this.setupMovingCss();\n this.setupTooltip();\n this.addFeature(new HoverFeature(this.columnGroup.getOriginalColumnGroup().getLeafColumns(), this.getGui()));\n var setLeftFeature = new SetLeftFeature(this.columnGroup, this.getGui(), this.beans);\n setLeftFeature.init();\n this.addDestroyFunc(setLeftFeature.destroy.bind(setLeftFeature));\n };\n HeaderGroupWrapperComp.prototype.setupMovingCss = function () {\n var _this = this;\n var originalColumnGroup = this.columnGroup.getOriginalColumnGroup();\n var leafColumns = originalColumnGroup.getLeafColumns();\n leafColumns.forEach(function (col) {\n _this.addDestroyableEventListener(col, Column.EVENT_MOVING_CHANGED, _this.onColumnMovingChanged.bind(_this));\n });\n this.onColumnMovingChanged();\n };\n HeaderGroupWrapperComp.prototype.getColumn = function () {\n return this.columnGroup;\n };\n HeaderGroupWrapperComp.prototype.getComponentHolder = function () {\n return this.columnGroup.getColGroupDef();\n };\n HeaderGroupWrapperComp.prototype.getTooltipText = function () {\n var colGroupDef = this.getComponentHolder();\n return colGroupDef && colGroupDef.headerTooltip;\n };\n HeaderGroupWrapperComp.prototype.setupTooltip = function () {\n var tooltipText = this.getTooltipText();\n if (tooltipText == null) {\n return;\n }\n if (this.gridOptionsWrapper.isEnableBrowserTooltips()) {\n this.getGui().setAttribute('title', tooltipText);\n }\n else {\n this.beans.tooltipManager.registerTooltip(this);\n }\n };\n HeaderGroupWrapperComp.prototype.onColumnMovingChanged = function () {\n // this function adds or removes the moving css, based on if the col is moving.\n // this is what makes the header go dark when it is been moved (gives impression to\n // user that the column was picked up).\n _.addOrRemoveCssClass(this.getGui(), 'ag-header-cell-moving', this.columnGroup.isMoving());\n };\n HeaderGroupWrapperComp.prototype.addAttributes = function () {\n this.getGui().setAttribute(\"col-id\", this.columnGroup.getUniqueId());\n };\n HeaderGroupWrapperComp.prototype.appendHeaderGroupComp = function (displayName) {\n var _this = this;\n var params = {\n displayName: displayName,\n columnGroup: this.columnGroup,\n setExpanded: function (expanded) {\n _this.columnController.setColumnGroupOpened(_this.columnGroup.getOriginalColumnGroup(), expanded, \"gridInitializing\");\n },\n api: this.gridApi,\n columnApi: this.columnApi,\n context: this.gridOptionsWrapper.getContext()\n };\n if (!displayName) {\n var columnGroup = this.columnGroup;\n var leafCols = columnGroup.getLeafColumns();\n // find the top most column group that represents the same columns. so if we are dragging a group, we also\n // want to visually show the parent groups dragging for the same column set. for example imaging 5 levels\n // of grouping, with each group only containing the next group, and the last group containing three columns,\n // then when you move any group (even the lowest level group) you are in-fact moving all the groups, as all\n // the groups represent the same column set.\n while (columnGroup.getParent() && columnGroup.getParent().getLeafColumns().length === leafCols.length) {\n columnGroup = columnGroup.getParent();\n }\n var colGroupDef = columnGroup.getColGroupDef();\n if (colGroupDef) {\n displayName = colGroupDef.headerName;\n }\n if (!displayName) {\n displayName = leafCols ? this.columnController.getDisplayNameForColumn(leafCols[0], 'header', true) : '';\n }\n }\n var callback = this.afterHeaderCompCreated.bind(this, displayName);\n this.userComponentFactory.newHeaderGroupComponent(params).then(callback);\n };\n HeaderGroupWrapperComp.prototype.afterHeaderCompCreated = function (displayName, headerGroupComp) {\n this.appendChild(headerGroupComp);\n this.setupMove(headerGroupComp.getGui(), displayName);\n };\n HeaderGroupWrapperComp.prototype.addClasses = function () {\n // having different classes below allows the style to not have a bottom border\n // on the group header, if no group is specified\n // columnGroup.getColGroupDef\n var style = this.columnGroup.isPadding() ? 'no' : 'with';\n this.addCssClass(\"ag-header-group-cell-\" + style + \"-group\");\n };\n HeaderGroupWrapperComp.prototype.setupMove = function (eHeaderGroup, displayName) {\n var _this = this;\n if (!eHeaderGroup) {\n return;\n }\n if (this.isSuppressMoving()) {\n return;\n }\n var allLeafColumns = this.columnGroup.getOriginalColumnGroup().getLeafColumns();\n var dragSource = {\n type: DragSourceType.HeaderCell,\n eElement: eHeaderGroup,\n dragItemName: displayName,\n // we add in the original group leaf columns, so we move both visible and non-visible items\n getDragItem: this.getDragItemForGroup.bind(this),\n dragSourceDropTarget: this.dragSourceDropTarget,\n onDragStarted: function () { return allLeafColumns.forEach(function (col) { return col.setMoving(true, \"uiColumnDragged\"); }); },\n onDragStopped: function () { return allLeafColumns.forEach(function (col) { return col.setMoving(false, \"uiColumnDragged\"); }); }\n };\n this.dragAndDropService.addDragSource(dragSource, true);\n this.addDestroyFunc(function () { return _this.dragAndDropService.removeDragSource(dragSource); });\n };\n // when moving the columns, we want to move all the columns (contained within the DragItem) in this group in one go,\n // and in the order they are currently in the screen.\n HeaderGroupWrapperComp.prototype.getDragItemForGroup = function () {\n var allColumnsOriginalOrder = this.columnGroup.getOriginalColumnGroup().getLeafColumns();\n // capture visible state, used when re-entering grid to dictate which columns should be visible\n var visibleState = {};\n allColumnsOriginalOrder.forEach(function (column) { return visibleState[column.getId()] = column.isVisible(); });\n var allColumnsCurrentOrder = [];\n this.columnController.getAllDisplayedColumns().forEach(function (column) {\n if (allColumnsOriginalOrder.indexOf(column) >= 0) {\n allColumnsCurrentOrder.push(column);\n _.removeFromArray(allColumnsOriginalOrder, column);\n }\n });\n // we are left with non-visible columns, stick these in at the end\n allColumnsOriginalOrder.forEach(function (column) { return allColumnsCurrentOrder.push(column); });\n // create and return dragItem\n return {\n columns: allColumnsCurrentOrder,\n visibleState: visibleState\n };\n };\n HeaderGroupWrapperComp.prototype.isSuppressMoving = function () {\n // if any child is fixed, then don't allow moving\n var childSuppressesMoving = false;\n this.columnGroup.getLeafColumns().forEach(function (column) {\n if (column.getColDef().suppressMovable || column.getColDef().lockPosition) {\n childSuppressesMoving = true;\n }\n });\n var result = childSuppressesMoving || this.gridOptionsWrapper.isSuppressMovableColumns();\n return result;\n };\n HeaderGroupWrapperComp.prototype.setupWidth = function () {\n // we need to listen to changes in child columns, as they impact our width\n this.addListenersToChildrenColumns();\n // the children belonging to this group can change, so we need to add and remove listeners as they change\n this.addDestroyableEventListener(this.columnGroup, ColumnGroup.EVENT_DISPLAYED_CHILDREN_CHANGED, this.onDisplayedChildrenChanged.bind(this));\n this.onWidthChanged();\n // the child listeners are not tied to this components life-cycle, as children can get added and removed\n // to the group - hence they are on a different life-cycle. so we must make sure the existing children\n // listeners are removed when we finally get destroyed\n this.addDestroyFunc(this.destroyListenersOnChildrenColumns.bind(this));\n };\n HeaderGroupWrapperComp.prototype.onDisplayedChildrenChanged = function () {\n this.addListenersToChildrenColumns();\n this.onWidthChanged();\n };\n HeaderGroupWrapperComp.prototype.addListenersToChildrenColumns = function () {\n var _this = this;\n // first destroy any old listeners\n this.destroyListenersOnChildrenColumns();\n // now add new listeners to the new set of children\n var widthChangedListener = this.onWidthChanged.bind(this);\n this.columnGroup.getLeafColumns().forEach(function (column) {\n column.addEventListener(Column.EVENT_WIDTH_CHANGED, widthChangedListener);\n column.addEventListener(Column.EVENT_VISIBLE_CHANGED, widthChangedListener);\n _this.childColumnsDestroyFuncs.push(function () {\n column.removeEventListener(Column.EVENT_WIDTH_CHANGED, widthChangedListener);\n column.removeEventListener(Column.EVENT_VISIBLE_CHANGED, widthChangedListener);\n });\n });\n };\n HeaderGroupWrapperComp.prototype.destroyListenersOnChildrenColumns = function () {\n this.childColumnsDestroyFuncs.forEach(function (func) { return func(); });\n this.childColumnsDestroyFuncs = [];\n };\n HeaderGroupWrapperComp.prototype.onWidthChanged = function () {\n this.getGui().style.width = this.columnGroup.getActualWidth() + 'px';\n };\n HeaderGroupWrapperComp.prototype.setupResize = function () {\n var _this = this;\n this.eHeaderCellResize = this.getRefElement('agResize');\n if (!this.columnGroup.isResizable()) {\n _.removeFromParent(this.eHeaderCellResize);\n return;\n }\n var finishedWithResizeFunc = this.horizontalResizeService.addResizeBar({\n eResizeBar: this.eHeaderCellResize,\n onResizeStart: this.onResizeStart.bind(this),\n onResizing: this.onResizing.bind(this, false),\n onResizeEnd: this.onResizing.bind(this, true)\n });\n this.addDestroyFunc(finishedWithResizeFunc);\n if (!this.gridOptionsWrapper.isSuppressAutoSize()) {\n var skipHeaderOnAutoSize_1 = this.gridOptionsWrapper.isSkipHeaderOnAutoSize();\n this.eHeaderCellResize.addEventListener('dblclick', function (event) {\n // get list of all the column keys we are responsible for\n var keys = [];\n _this.columnGroup.getDisplayedLeafColumns().forEach(function (column) {\n // not all cols in the group may be participating with auto-resize\n if (!column.getColDef().suppressAutoSize) {\n keys.push(column.getColId());\n }\n });\n if (keys.length > 0) {\n _this.columnController.autoSizeColumns(keys, skipHeaderOnAutoSize_1, \"uiColumnResized\");\n }\n });\n }\n };\n HeaderGroupWrapperComp.prototype.onResizeStart = function (shiftKey) {\n var _this = this;\n var leafCols = this.columnGroup.getDisplayedLeafColumns();\n this.resizeCols = leafCols.filter(function (col) { return col.isResizable(); });\n this.resizeStartWidth = 0;\n this.resizeCols.forEach(function (col) { return _this.resizeStartWidth += col.getActualWidth(); });\n this.resizeRatios = [];\n this.resizeCols.forEach(function (col) { return _this.resizeRatios.push(col.getActualWidth() / _this.resizeStartWidth); });\n var takeFromGroup = null;\n if (shiftKey) {\n takeFromGroup = this.columnController.getDisplayedGroupAfter(this.columnGroup);\n }\n if (takeFromGroup) {\n var takeFromLeafCols = takeFromGroup.getDisplayedLeafColumns();\n this.resizeTakeFromCols = takeFromLeafCols.filter(function (col) { return col.isResizable(); });\n this.resizeTakeFromStartWidth = 0;\n this.resizeTakeFromCols.forEach(function (col) { return _this.resizeTakeFromStartWidth += col.getActualWidth(); });\n this.resizeTakeFromRatios = [];\n this.resizeTakeFromCols.forEach(function (col) { return _this.resizeTakeFromRatios.push(col.getActualWidth() / _this.resizeTakeFromStartWidth); });\n }\n else {\n this.resizeTakeFromCols = null;\n this.resizeTakeFromStartWidth = null;\n this.resizeTakeFromRatios = null;\n }\n _.addCssClass(this.getGui(), 'ag-column-resizing');\n };\n HeaderGroupWrapperComp.prototype.onResizing = function (finished, resizeAmount) {\n var resizeSets = [];\n var resizeAmountNormalised = this.normaliseDragChange(resizeAmount);\n resizeSets.push({\n columns: this.resizeCols,\n ratios: this.resizeRatios,\n width: this.resizeStartWidth + resizeAmountNormalised\n });\n if (this.resizeTakeFromCols) {\n resizeSets.push({\n columns: this.resizeTakeFromCols,\n ratios: this.resizeTakeFromRatios,\n width: this.resizeTakeFromStartWidth - resizeAmountNormalised\n });\n }\n this.columnController.resizeColumnSets(resizeSets, finished, 'uiColumnDragged');\n if (finished) {\n _.removeCssClass(this.getGui(), 'ag-column-resizing');\n }\n };\n // optionally inverts the drag, depending on pinned and RTL\n // note - this method is duplicated in RenderedHeaderCell - should refactor out?\n HeaderGroupWrapperComp.prototype.normaliseDragChange = function (dragChange) {\n var result = dragChange;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n // for RTL, dragging left makes the col bigger, except when pinning left\n if (this.pinned !== Constants.PINNED_LEFT) {\n result *= -1;\n }\n }\n else if (this.pinned === Constants.PINNED_RIGHT) {\n // for LTR (ie normal), dragging left makes the col smaller, except when pinning right\n result *= -1;\n }\n return result;\n };\n HeaderGroupWrapperComp.TEMPLATE = '