{"version":3,"sources":["../node_modules/@ag-grid-enterprise/side-bar/dist/es6/sideBar/horizontalResizeComp.js","../node_modules/@ag-grid-enterprise/side-bar/dist/es6/sideBar/sideBarButtonsComp.js","../node_modules/@ag-grid-enterprise/side-bar/dist/es6/sideBar/toolPanelWrapper.js","../node_modules/@ag-grid-enterprise/side-bar/dist/es6/sideBar/sideBarComp.js","../node_modules/@ag-grid-enterprise/side-bar/dist/es6/sideBar/common/toolPanelColDefService.js","../node_modules/@ag-grid-enterprise/side-bar/dist/es6/sideBarModule.js","../node_modules/@ag-grid-enterprise/side-bar/dist/es6/main.js","../node_modules/@ag-grid-enterprise/status-bar/dist/es6/statusBar/statusBarService.js","../node_modules/@ag-grid-enterprise/status-bar/dist/es6/statusBar/statusBar.js","../node_modules/@ag-grid-enterprise/status-bar/dist/es6/statusBar/providedPanels/nameValueComp.js","../node_modules/@ag-grid-enterprise/status-bar/dist/es6/statusBar/providedPanels/totalAndFilteredRowsComp.js","../node_modules/@ag-grid-enterprise/status-bar/dist/es6/statusBar/providedPanels/filteredRowsComp.js","../node_modules/@ag-grid-enterprise/status-bar/dist/es6/statusBar/providedPanels/totalRowsComp.js","../node_modules/@ag-grid-enterprise/status-bar/dist/es6/statusBar/providedPanels/selectedRowsComp.js","../node_modules/@ag-grid-enterprise/status-bar/dist/es6/statusBar/providedPanels/aggregationComp.js","../node_modules/@ag-grid-enterprise/status-bar/dist/es6/statusBarModule.js","../node_modules/@ag-grid-enterprise/status-bar/dist/es6/main.js","../node_modules/@ag-grid-enterprise/viewport-row-model/dist/es6/viewportRowModel/viewportRowModel.js","../node_modules/@ag-grid-enterprise/viewport-row-model/dist/es6/viewportRowModelModule.js","../node_modules/@ag-grid-enterprise/viewport-row-model/dist/es6/main.js"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","_super","HorizontalResizeComp","call","setElementToResize","elementToResize","postConstruct","finishedWithResizeFunc","horizontalResizeService","addResizeBar","eResizeBar","getGui","dragStartPixels","onResizeStart","bind","onResizing","onResizeEnd","addDestroyFunc","setInverted","gridOptionsWrapper","isEnableRtl","startingWidth","offsetWidth","delta","direction","inverted","newWidth","Math","max","floor","style","width","SideBarButtonsComp","_this","TEMPLATE","buttonComps","setToolPanelDefs","toolPanelDefs","forEach","addButtonComp","setActiveButton","id","comp","setSelected","getToolPanelId","def","buttonComp","getContext","wireBean","push","appendChild","addEventListener","EVENT_TOGGLE_BUTTON_CLICKED","dispatchEvent","type","EVENT_SIDE_BAR_BUTTON_CLICKED","toolPanelId","clearButtons","destroy","clearElement","SideBarButtonComp","toolPanelDef","template","createTemplate","setTemplate","eToggleButton","querySelector","insertAdjacentElement","createIconNoSpan","iconKey","addDestroyableEventListener","onButtonPressed","translate","getLocaleTextFunc","labelKey","labelDefault","selected","addOrRemoveCssClass","ToolPanelWrapper","setToolPanelDef","params","api","getApi","componentPromise","userComponentFactory","newToolPanelComponent","then","setToolPanelComponent","console","warn","setupResize","resizeBar","compInstance","toolPanelCompInstance","getToolPanelInstance","setResizerSizerSide","side","isLeft","refresh","SideBarComp","toolPanelWrappers","sideBarButtonsComp","onToolPanelButtonClicked","setSideBarDef","event","openedItem","openToolPanel","undefined","clearDownUi","destroyToolPanelWrappers","setDisplayed","sideBar","getSideBar","sideBarExists","toolPanels","shouldDisplaySideBar","hiddenByDefault","setupToolPanels","setSideBarPosition","position","defaultToolPanel","resizerSide","eGui","wrapper","defs","toolPanel","assertRegistered","ColumnToolPanelModule","FiltersToolPanelModule","currentlyOpenedKey","show","raiseToolPanelVisibleEvent","toolPanelWrapper","filter","EVENT_TOOL_PANEL_VISIBLE_CHANGED","source","columnApi","getColumnApi","eventService","close","isToolPanelShowing","activeToolPanel","isDisplayed","reset","removeFromParent","ToolPanelColDefService","isColGroupDef","colDef","children","getId","groupId","colId","createColumnTree","colDefs","invalidColIds","createDummyColGroup","abstractColDef","depth","groupDef","headerName","group","children_1","child","setChildren","field","column","columnController","getPrimaryColumn","mappedResults","result","syncLayoutWithGrid","syncLayoutCallback","leafPathTrees","getLeafPathTrees","mergeLeafPathTrees","getLeafPathTree","node","childDef","leafPathTree","isPadding","assign","getColGroupDef","getGroupId","getColDef","getColId","parent","getOriginalParent","getAllGridColumns","isPrimary","showRowGroup","map","col","pathA","pathB","mergeTrees","treeA","treeB","mergeResult","groupToMerge","addChildrenToGroup","mergeColDefs","first","second","tree","currentGroup","groupToAdd","existingChildIds","childGroupAlreadyExists","includes","lastChild","last","lastChildIsDifferent","subGroupIsSplit","subGroup","SideBarModule","moduleName","beans","agStackComponents","componentName","componentClass","dependantModules","StatusBarService","allComponents","registerStatusPanel","component","getStatusPanel","StatusBar","gridOptions","statusBar","statusPanels","leftStatusPanelComponents","componentConfig","align","createAndRenderComponents","eStatusBarLeft","centerStatusPanelComponents","eStatusBarCenter","rightStatusPanelComponents","eStatusBarRight","statusBarComponents","ePanelComponent","componentDetails","context","promise","newStatusPanelComponent","statusPanel","all","details","componentDetail","destroyFunc","isAlive","statusBarService","NameValueComp","setLabel","defaultValue","localeTextFunc","eLabel","innerHTML","setValue","value","eValue","TotalAndFilteredRowsComp","apply","gridApi","getModel","getType","addCssClass","EVENT_MODEL_UPDATED","onDataChanged","rowCount","formatNumberCommas","getFilteredRowCountValue","totalRowCount","getTotalRowCount","filteredRowCount","forEachNodeAfterFilter","forEachNode","init","FilteredRowsComp","listener","totalRowCountValue","getTotalRowCountValue","filteredRowCountValue","TotalRowsComp","getRowCountValue","forEachLeafNode","SelectedRowsComp","isValidRowModel","selectedRowCount","getSelectedRows","eventListener","onRowSelectionChanged","EVENT_SELECTION_CHANGED","rowModelType","AggregationComp","avgAggregationComp","countAggregationComp","minAggregationComp","maxAggregationComp","sumAggregationComp","EVENT_RANGE_SELECTION_CHANGED","onRangeSelectionChanged","setAggregationComponentValue","aggFuncName","visible","statusBarValueComponent","getAggregationValueComponent","exists","formatNumberTwoDecimalPlacesAndCommas","refComponentName","aggregationPanelConfig","find","panel","statusPanelParams","aggFuncs","func","cellRanges","rangeController","getCellRanges","sum","count","numberCount","min","cellsSoFar","missingOrEmpty","cellRange","currentRow","getRangeStartRow","lastRow","getRangeEndRow","missing","rowPositionUtils","before","columns","cellId","cellPositionUtils","createId","rowPinned","rowIndex","rowNode","rowRenderer","getRowNode","valueService","getValue","Number","isNaN","cellNavigationService","getRowBelow","gotResult","gotNumberResult","StatusBarModule","userComponents","ViewportRowModel","firstRow","rowNodesByIndex","ensureRowHeightsValid","startPixel","endPixel","startLimitIndex","endLimitIndex","rowHeight","getRowHeightAsNumber","EVENT_VIEWPORT_CHANGED","onViewportChanged","start","getViewportDatasource","setViewportDatasource","isLastRowFound","destroyDatasource","viewportDatasource","datasourceChanged","calculateFirstRow","firstRenderedRow","bufferSize","getViewportRowModelBufferSize","pageSize","getViewportRowModelPageSize","afterBuffer","calculateLastRow","lastRenderedRow","ceil","lastRowIndex","newFirst","newLast","purgeRowsNotInViewport","setViewportRange","keys","indexStr","index","parseInt","setRowCount","setRowData","getRow","ROW_MODEL_TYPE_VIEWPORT","createBlankRowNode","getRowCount","getRowIndexAtPixel","pixel","getRowBounds","rowTop","getTopLevelRowCount","getTopLevelRowDisplayedIndex","topLevelIndex","getCurrentPageHeight","isEmpty","isRowsToRender","getNodesInRangeForSelection","firstInRange","lastInRange","firstIndex","lastIndex","firstNodeOutOfRange","lastNodeOutOfRange","endIndex","callback","callbackCount","rowData","iterateObject","dataItem","setDataAndId","toString","setRowHeight","setRowTop","setRowIndex","keepRenderedRows","event_1","newData","newPage","animate","isRowPresent","ViewportRowModelModule","rowModels"],"mappings":"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","file":"static/js/defaultVendors~main~0be9fada.ccb6568c.chunk.js","sourcesContent":["var __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 { Autowired, Component, PostConstruct } from \"@ag-grid-community/core\";\nvar HorizontalResizeComp = /** @class */ (function (_super) {\n __extends(HorizontalResizeComp, _super);\n function HorizontalResizeComp() {\n return _super.call(this, \"
\") || this;\n }\n HorizontalResizeComp.prototype.setElementToResize = function (elementToResize) {\n this.elementToResize = elementToResize;\n };\n HorizontalResizeComp.prototype.postConstruct = function () {\n var finishedWithResizeFunc = this.horizontalResizeService.addResizeBar({\n eResizeBar: this.getGui(),\n dragStartPixels: 1,\n onResizeStart: this.onResizeStart.bind(this),\n onResizing: this.onResizing.bind(this),\n onResizeEnd: this.onResizing.bind(this)\n });\n this.addDestroyFunc(finishedWithResizeFunc);\n this.setInverted(this.gridOptionsWrapper.isEnableRtl());\n };\n HorizontalResizeComp.prototype.onResizeStart = function () {\n this.startingWidth = this.elementToResize.offsetWidth;\n };\n HorizontalResizeComp.prototype.onResizing = function (delta) {\n var direction = this.inverted ? -1 : 1;\n var newWidth = Math.max(100, Math.floor(this.startingWidth - (delta * direction)));\n this.elementToResize.style.width = newWidth + \"px\";\n };\n HorizontalResizeComp.prototype.setInverted = function (inverted) {\n this.inverted = inverted;\n };\n __decorate([\n Autowired('horizontalResizeService')\n ], HorizontalResizeComp.prototype, \"horizontalResizeService\", void 0);\n __decorate([\n Autowired('gridOptionsWrapper')\n ], HorizontalResizeComp.prototype, \"gridOptionsWrapper\", void 0);\n __decorate([\n Autowired('eventService')\n ], HorizontalResizeComp.prototype, \"eventService\", void 0);\n __decorate([\n PostConstruct\n ], HorizontalResizeComp.prototype, \"postConstruct\", null);\n return HorizontalResizeComp;\n}(Component));\nexport { HorizontalResizeComp };\n","var __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 { Autowired, Component, PostConstruct, RefSelector, _ } from \"@ag-grid-community/core\";\nvar SideBarButtonsComp = /** @class */ (function (_super) {\n __extends(SideBarButtonsComp, _super);\n function SideBarButtonsComp() {\n var _this = _super.call(this, SideBarButtonsComp.TEMPLATE) || this;\n _this.buttonComps = [];\n return _this;\n }\n SideBarButtonsComp.prototype.setToolPanelDefs = function (toolPanelDefs) {\n toolPanelDefs.forEach(this.addButtonComp.bind(this));\n };\n SideBarButtonsComp.prototype.setActiveButton = function (id) {\n this.buttonComps.forEach(function (comp) {\n comp.setSelected(id === comp.getToolPanelId());\n });\n };\n SideBarButtonsComp.prototype.addButtonComp = function (def) {\n var _this = this;\n var buttonComp = new SideBarButtonComp(def);\n this.getContext().wireBean(buttonComp);\n this.buttonComps.push(buttonComp);\n this.getGui().appendChild(buttonComp.getGui());\n buttonComp.addEventListener(SideBarButtonComp.EVENT_TOGGLE_BUTTON_CLICKED, function () {\n _this.dispatchEvent({\n type: SideBarButtonsComp.EVENT_SIDE_BAR_BUTTON_CLICKED,\n toolPanelId: def.id\n });\n });\n };\n SideBarButtonsComp.prototype.clearButtons = function () {\n if (this.buttonComps) {\n this.buttonComps.forEach(function (comp) { return comp.destroy(); });\n }\n _.clearElement(this.getGui());\n this.buttonComps.length = 0;\n };\n SideBarButtonsComp.prototype.destroy = function () {\n this.clearButtons();\n _super.prototype.destroy.call(this);\n };\n SideBarButtonsComp.EVENT_SIDE_BAR_BUTTON_CLICKED = 'sideBarButtonClicked';\n SideBarButtonsComp.TEMPLATE = \"
\";\n __decorate([\n Autowired(\"gridOptionsWrapper\")\n ], SideBarButtonsComp.prototype, \"gridOptionsWrapper\", void 0);\n return SideBarButtonsComp;\n}(Component));\nexport { SideBarButtonsComp };\nvar SideBarButtonComp = /** @class */ (function (_super) {\n __extends(SideBarButtonComp, _super);\n function SideBarButtonComp(toolPanelDef) {\n var _this = _super.call(this) || this;\n _this.toolPanelDef = toolPanelDef;\n return _this;\n }\n SideBarButtonComp.prototype.getToolPanelId = function () {\n return this.toolPanelDef.id;\n };\n SideBarButtonComp.prototype.postConstruct = function () {\n var template = this.createTemplate();\n this.setTemplate(template);\n var toggleButton = this.eToggleButton;\n var iconDiv = toggleButton.querySelector('div');\n iconDiv.insertAdjacentElement('afterbegin', _.createIconNoSpan(this.toolPanelDef.iconKey, this.gridOptionsWrapper));\n this.addDestroyableEventListener(this.eToggleButton, 'click', this.onButtonPressed.bind(this));\n };\n SideBarButtonComp.prototype.createTemplate = function () {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var def = this.toolPanelDef;\n var label = translate(def.labelKey, def.labelDefault);\n var res = \"
\\n \\n
\";\n return res;\n };\n SideBarButtonComp.prototype.onButtonPressed = function () {\n this.dispatchEvent({ type: SideBarButtonComp.EVENT_TOGGLE_BUTTON_CLICKED });\n };\n SideBarButtonComp.prototype.setSelected = function (selected) {\n this.addOrRemoveCssClass('ag-selected', selected);\n };\n SideBarButtonComp.EVENT_TOGGLE_BUTTON_CLICKED = 'toggleButtonClicked';\n __decorate([\n Autowired(\"gridOptionsWrapper\")\n ], SideBarButtonComp.prototype, \"gridOptionsWrapper\", void 0);\n __decorate([\n RefSelector('eToggleButton')\n ], SideBarButtonComp.prototype, \"eToggleButton\", void 0);\n __decorate([\n PostConstruct\n ], SideBarButtonComp.prototype, \"postConstruct\", null);\n return SideBarButtonComp;\n}(Component));\n","var __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 { Autowired, Component, PostConstruct } from \"@ag-grid-community/core\";\nimport { HorizontalResizeComp } from \"./horizontalResizeComp\";\nvar ToolPanelWrapper = /** @class */ (function (_super) {\n __extends(ToolPanelWrapper, _super);\n function ToolPanelWrapper() {\n return _super.call(this, ToolPanelWrapper.TEMPLATE) || this;\n }\n ToolPanelWrapper.prototype.getToolPanelId = function () {\n return this.toolPanelId;\n };\n ToolPanelWrapper.prototype.setToolPanelDef = function (toolPanelDef) {\n this.toolPanelId = toolPanelDef.id;\n var params = {\n api: this.gridOptionsWrapper.getApi()\n };\n var componentPromise = this.userComponentFactory.newToolPanelComponent(toolPanelDef, params);\n if (componentPromise == null) {\n console.warn(\"ag-grid: error processing tool panel component \" + toolPanelDef.id + \". You need to specify either 'toolPanel' or 'toolPanelFramework'\");\n return;\n }\n componentPromise.then(this.setToolPanelComponent.bind(this));\n };\n ToolPanelWrapper.prototype.setupResize = function () {\n var resizeBar = this.resizeBar = new HorizontalResizeComp();\n this.getContext().wireBean(resizeBar);\n resizeBar.setElementToResize(this.getGui());\n this.appendChild(resizeBar);\n };\n ToolPanelWrapper.prototype.setToolPanelComponent = function (compInstance) {\n this.toolPanelCompInstance = compInstance;\n this.appendChild(compInstance);\n };\n ToolPanelWrapper.prototype.getToolPanelInstance = function () {\n return this.toolPanelCompInstance;\n };\n ToolPanelWrapper.prototype.setResizerSizerSide = function (side) {\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n var isLeft = side === 'left';\n var inverted = isRtl ? isLeft : !isLeft;\n this.resizeBar.setInverted(inverted);\n };\n ToolPanelWrapper.prototype.refresh = function () {\n this.toolPanelCompInstance.refresh();\n };\n ToolPanelWrapper.TEMPLATE = \"
\";\n __decorate([\n Autowired(\"userComponentFactory\")\n ], ToolPanelWrapper.prototype, \"userComponentFactory\", void 0);\n __decorate([\n Autowired(\"gridOptionsWrapper\")\n ], ToolPanelWrapper.prototype, \"gridOptionsWrapper\", void 0);\n __decorate([\n PostConstruct\n ], ToolPanelWrapper.prototype, \"setupResize\", null);\n return ToolPanelWrapper;\n}(Component));\nexport { ToolPanelWrapper };\n","var __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 { _, Autowired, Component, Events, ModuleNames, ModuleRegistry, PostConstruct, RefSelector } from \"@ag-grid-community/core\";\nimport { SideBarButtonsComp } from \"./sideBarButtonsComp\";\nimport { ToolPanelWrapper } from \"./toolPanelWrapper\";\nvar SideBarComp = /** @class */ (function (_super) {\n __extends(SideBarComp, _super);\n function SideBarComp() {\n var _this = _super.call(this, SideBarComp.TEMPLATE) || this;\n _this.toolPanelWrappers = [];\n return _this;\n }\n SideBarComp.prototype.postConstruct = function () {\n this.sideBarButtonsComp.addEventListener(SideBarButtonsComp.EVENT_SIDE_BAR_BUTTON_CLICKED, this.onToolPanelButtonClicked.bind(this));\n this.setSideBarDef();\n };\n SideBarComp.prototype.onToolPanelButtonClicked = function (event) {\n var id = event.toolPanelId;\n var openedItem = this.openedItem();\n // if item was already open, we close it\n if (openedItem === id) {\n this.openToolPanel(undefined); // passing undefined closes\n }\n else {\n this.openToolPanel(id);\n }\n };\n SideBarComp.prototype.clearDownUi = function () {\n this.sideBarButtonsComp.clearButtons();\n this.destroyToolPanelWrappers();\n };\n SideBarComp.prototype.setSideBarDef = function () {\n // initially hide side bar\n this.setDisplayed(false);\n var sideBar = this.gridOptionsWrapper.getSideBar();\n var sideBarExists = !!sideBar && !!sideBar.toolPanels;\n if (sideBarExists) {\n var shouldDisplaySideBar = sideBarExists && !sideBar.hiddenByDefault;\n this.setDisplayed(shouldDisplaySideBar);\n var toolPanelDefs = sideBar.toolPanels;\n this.sideBarButtonsComp.setToolPanelDefs(toolPanelDefs);\n this.setupToolPanels(toolPanelDefs);\n this.setSideBarPosition(sideBar.position);\n if (!sideBar.hiddenByDefault) {\n this.openToolPanel(sideBar.defaultToolPanel);\n }\n }\n };\n SideBarComp.prototype.setSideBarPosition = function (position) {\n if (!position) {\n position = 'right';\n }\n var isLeft = position === 'left';\n var resizerSide = isLeft ? 'right' : 'left';\n var eGui = this.getGui();\n _.addOrRemoveCssClass(eGui, 'ag-side-bar-left', isLeft);\n _.addOrRemoveCssClass(eGui, 'ag-side-bar-right', !isLeft);\n this.toolPanelWrappers.forEach(function (wrapper) {\n wrapper.setResizerSizerSide(resizerSide);\n });\n return this;\n };\n SideBarComp.prototype.setupToolPanels = function (defs) {\n var _this = this;\n defs.forEach(function (def) {\n if (def.id == null) {\n console.warn(\"ag-grid: please review all your toolPanel components, it seems like at least one of them doesn't have an id\");\n return;\n }\n // helpers, in case user doesn't have the right module loaded\n if (def.toolPanel === 'agColumnsToolPanel') {\n var moduleMissing = !ModuleRegistry.assertRegistered(ModuleNames.ColumnToolPanelModule, 'Column Tool Panel');\n if (moduleMissing) {\n return;\n }\n }\n if (def.toolPanel === 'agFiltersToolPanel') {\n var moduleMissing = !ModuleRegistry.assertRegistered(ModuleNames.FiltersToolPanelModule, 'Filters Tool Panel');\n if (moduleMissing) {\n return;\n }\n }\n var wrapper = new ToolPanelWrapper();\n _this.getContext().wireBean(wrapper);\n wrapper.setToolPanelDef(def);\n wrapper.setDisplayed(false);\n _this.getGui().appendChild(wrapper.getGui());\n _this.toolPanelWrappers.push(wrapper);\n });\n };\n SideBarComp.prototype.refresh = function () {\n this.toolPanelWrappers.forEach(function (wrapper) { return wrapper.refresh(); });\n };\n SideBarComp.prototype.openToolPanel = function (key) {\n var currentlyOpenedKey = this.openedItem();\n if (currentlyOpenedKey === key) {\n return;\n }\n this.toolPanelWrappers.forEach(function (wrapper) {\n var show = key === wrapper.getToolPanelId();\n wrapper.setDisplayed(show);\n });\n var newlyOpenedKey = this.openedItem();\n var openToolPanelChanged = currentlyOpenedKey !== newlyOpenedKey;\n if (openToolPanelChanged) {\n this.sideBarButtonsComp.setActiveButton(key);\n this.raiseToolPanelVisibleEvent(key);\n }\n };\n SideBarComp.prototype.getToolPanelInstance = function (key) {\n var toolPanelWrapper = this.toolPanelWrappers.filter(function (toolPanel) { return toolPanel.getToolPanelId() === key; })[0];\n if (!toolPanelWrapper) {\n console.warn(\"ag-grid: unable to lookup Tool Panel as invalid key supplied: \" + key);\n return;\n }\n return toolPanelWrapper.getToolPanelInstance();\n };\n SideBarComp.prototype.raiseToolPanelVisibleEvent = function (key) {\n var event = {\n type: Events.EVENT_TOOL_PANEL_VISIBLE_CHANGED,\n source: key,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi()\n };\n this.eventService.dispatchEvent(event);\n };\n SideBarComp.prototype.close = function () {\n this.openToolPanel(undefined);\n };\n SideBarComp.prototype.isToolPanelShowing = function () {\n return !!this.openedItem();\n };\n SideBarComp.prototype.openedItem = function () {\n var activeToolPanel = null;\n this.toolPanelWrappers.forEach(function (wrapper) {\n if (wrapper.isDisplayed()) {\n activeToolPanel = wrapper.getToolPanelId();\n }\n });\n return activeToolPanel;\n };\n // get called after user sets new sideBarDef via the API\n SideBarComp.prototype.reset = function () {\n this.clearDownUi();\n this.setSideBarDef();\n };\n SideBarComp.prototype.destroyToolPanelWrappers = function () {\n this.toolPanelWrappers.forEach(function (wrapper) {\n _.removeFromParent(wrapper.getGui());\n wrapper.destroy();\n });\n this.toolPanelWrappers.length = 0;\n };\n SideBarComp.prototype.destroy = function () {\n this.destroyToolPanelWrappers();\n _super.prototype.destroy.call(this);\n };\n SideBarComp.TEMPLATE = \"
\\n \\n
\";\n __decorate([\n Autowired(\"eventService\")\n ], SideBarComp.prototype, \"eventService\", void 0);\n __decorate([\n Autowired(\"gridOptionsWrapper\")\n ], SideBarComp.prototype, \"gridOptionsWrapper\", void 0);\n __decorate([\n RefSelector('sideBarButtons')\n ], SideBarComp.prototype, \"sideBarButtonsComp\", void 0);\n __decorate([\n PostConstruct\n ], SideBarComp.prototype, \"postConstruct\", null);\n return SideBarComp;\n}(Component));\nexport { SideBarComp };\n","var __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 { _, Autowired, Bean, OriginalColumnGroup } from \"@ag-grid-community/core\";\nvar ToolPanelColDefService = /** @class */ (function () {\n function ToolPanelColDefService() {\n var _this = this;\n this.isColGroupDef = function (colDef) { return colDef && typeof colDef.children !== 'undefined'; };\n this.getId = function (colDef) {\n return _this.isColGroupDef(colDef) ? colDef.groupId : colDef.colId;\n };\n }\n ToolPanelColDefService.prototype.createColumnTree = function (colDefs) {\n var _this = this;\n var invalidColIds = [];\n var createDummyColGroup = function (abstractColDef, depth) {\n if (_this.isColGroupDef(abstractColDef)) {\n // creating 'dummy' group which is not associated with grid column group\n var groupDef = abstractColDef;\n var groupId = (typeof groupDef.groupId !== 'undefined') ? groupDef.groupId : groupDef.headerName;\n var group = new OriginalColumnGroup(groupDef, groupId, false, depth);\n var children_1 = [];\n groupDef.children.forEach(function (def) {\n var child = createDummyColGroup(def, depth + 1);\n // check column exists in case invalid colDef is supplied for primary column\n if (child) {\n children_1.push(child);\n }\n });\n group.setChildren(children_1);\n return group;\n }\n else {\n var colDef = abstractColDef;\n var key = colDef.colId ? colDef.colId : colDef.field;\n var column = _this.columnController.getPrimaryColumn(key);\n if (!column) {\n invalidColIds.push(colDef);\n }\n return column;\n }\n };\n var mappedResults = [];\n colDefs.forEach(function (colDef) {\n var result = createDummyColGroup(colDef, 0);\n if (result) {\n // only return correctly mapped colDef results\n mappedResults.push(result);\n }\n });\n if (invalidColIds.length > 0) {\n console.warn('ag-Grid: unable to find grid columns for the supplied colDef(s):', invalidColIds);\n }\n return mappedResults;\n };\n ToolPanelColDefService.prototype.syncLayoutWithGrid = function (syncLayoutCallback) {\n // extract ordered list of leaf path trees (column group hierarchy for each individual leaf column)\n var leafPathTrees = this.getLeafPathTrees();\n // merge leaf path tree taking split column groups into account\n var mergedColumnTrees = this.mergeLeafPathTrees(leafPathTrees);\n // sync layout with merged column trees\n syncLayoutCallback(mergedColumnTrees);\n };\n ToolPanelColDefService.prototype.getLeafPathTrees = function () {\n // leaf tree paths are obtained by walking up the tree starting at a column until we reach the top level group.\n var getLeafPathTree = function (node, childDef) {\n var leafPathTree;\n // build up tree in reverse order\n if (node instanceof OriginalColumnGroup) {\n if (node.isPadding()) {\n // skip over padding groups\n leafPathTree = childDef;\n }\n else {\n var groupDef = _.assign({}, node.getColGroupDef());\n // ensure group contains groupId\n groupDef.groupId = node.getGroupId();\n groupDef.children = [childDef];\n leafPathTree = groupDef;\n }\n }\n else {\n var colDef = _.assign({}, node.getColDef());\n // ensure col contains colId\n colDef.colId = node.getColId();\n leafPathTree = colDef;\n }\n // walk tree\n var parent = node.getOriginalParent();\n if (parent) {\n // keep walking up the tree until we reach the root\n return getLeafPathTree(parent, leafPathTree);\n }\n else {\n // we have reached the root - exit with resulting leaf path tree\n return leafPathTree;\n }\n };\n // obtain a sorted list of all grid columns\n var allGridColumns = this.columnController.getAllGridColumns();\n // only primary columns and non row group columns should appear in the tool panel\n var allPrimaryGridColumns = allGridColumns.filter(function (column) {\n var colDef = column.getColDef();\n return column.isPrimary() && !colDef.showRowGroup;\n });\n // construct a leaf path tree for each column\n return allPrimaryGridColumns.map(function (col) { return getLeafPathTree(col, col.getColDef()); });\n };\n ToolPanelColDefService.prototype.mergeLeafPathTrees = function (leafPathTrees) {\n var _this = this;\n var getLeafPathString = function (leafPath) {\n var group = leafPath;\n return group.children ? group.groupId + getLeafPathString(group.children[0]) : '';\n };\n var matchingRootGroupIds = function (pathA, pathB) {\n var bothPathsAreGroups = _this.isColGroupDef(pathA) && _this.isColGroupDef(pathB);\n return bothPathsAreGroups && _this.getId(pathA) === _this.getId(pathB);\n };\n var mergeTrees = function (treeA, treeB) {\n if (!_this.isColGroupDef(treeB))\n return treeA;\n var mergeResult = treeA;\n var groupToMerge = treeB;\n if (groupToMerge.children && groupToMerge.groupId) {\n var added = _this.addChildrenToGroup(mergeResult, groupToMerge.groupId, groupToMerge.children[0]);\n if (added)\n return mergeResult;\n }\n groupToMerge.children.forEach(function (child) { return mergeTrees(mergeResult, child); });\n return mergeResult;\n };\n // we can't just merge the leaf path trees as groups can be split apart - instead only merge if leaf\n // path groups with the same root group id are contiguous.\n var mergeColDefs = [];\n for (var i = 1; i <= leafPathTrees.length; i++) {\n var first = leafPathTrees[i - 1];\n var second = leafPathTrees[i];\n if (matchingRootGroupIds(first, second)) {\n leafPathTrees[i] = mergeTrees(first, second);\n }\n else {\n mergeColDefs.push(first);\n }\n }\n return mergeColDefs;\n };\n ToolPanelColDefService.prototype.addChildrenToGroup = function (tree, groupId, colDef) {\n var _this = this;\n var subGroupIsSplit = function (currentGroup, groupToAdd) {\n var existingChildIds = currentGroup.children.map(_this.getId);\n var childGroupAlreadyExists = _.includes(existingChildIds, _this.getId(groupToAdd));\n var lastChild = _.last(currentGroup.children);\n var lastChildIsDifferent = lastChild && _this.getId(lastChild) !== _this.getId(groupToAdd);\n return childGroupAlreadyExists && lastChildIsDifferent;\n };\n if (!this.isColGroupDef(tree))\n return true;\n var currentGroup = tree;\n var groupToAdd = colDef;\n if (subGroupIsSplit(currentGroup, groupToAdd)) {\n currentGroup.children.push(groupToAdd);\n return true;\n }\n if (currentGroup.groupId === groupId) {\n // add children that don't already exist to group\n var existingChildIds = currentGroup.children.map(this.getId);\n var colDefAlreadyPresent = _.includes(existingChildIds, this.getId(groupToAdd));\n if (!colDefAlreadyPresent) {\n currentGroup.children.push(groupToAdd);\n return true;\n }\n }\n // recurse until correct group is found to add children\n currentGroup.children.forEach(function (subGroup) { return _this.addChildrenToGroup(subGroup, groupId, colDef); });\n return false;\n };\n __decorate([\n Autowired('columnController')\n ], ToolPanelColDefService.prototype, \"columnController\", void 0);\n ToolPanelColDefService = __decorate([\n Bean('toolPanelColDefService')\n ], ToolPanelColDefService);\n return ToolPanelColDefService;\n}());\nexport { ToolPanelColDefService };\n","import { ModuleNames } from \"@ag-grid-community/core\";\nimport { EnterpriseCoreModule } from \"@ag-grid-enterprise/core\";\nimport { HorizontalResizeComp } from \"./sideBar/horizontalResizeComp\";\nimport { SideBarComp } from \"./sideBar/sideBarComp\";\nimport { SideBarButtonsComp } from \"./sideBar/sideBarButtonsComp\";\nimport { ToolPanelColDefService } from \"./sideBar/common/toolPanelColDefService\";\nexport var SideBarModule = {\n moduleName: ModuleNames.SideBarModule,\n beans: [ToolPanelColDefService],\n agStackComponents: [\n { componentName: 'AgHorizontalResize', componentClass: HorizontalResizeComp },\n { componentName: 'AgSideBar', componentClass: SideBarComp },\n { componentName: 'AgSideBarButtons', componentClass: SideBarButtonsComp },\n ],\n dependantModules: [\n EnterpriseCoreModule\n ]\n};\n","export { SideBarModule } from \"./sideBarModule\";\nexport { ToolPanelColDefService } from \"./sideBar/common/toolPanelColDefService\";\n","var __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 { Bean } from '@ag-grid-community/core';\nvar StatusBarService = /** @class */ (function () {\n // tslint:disable-next-line\n function StatusBarService() {\n this.allComponents = {};\n }\n StatusBarService.prototype.registerStatusPanel = function (key, component) {\n this.allComponents[key] = component;\n };\n StatusBarService.prototype.getStatusPanel = function (key) {\n return this.allComponents[key];\n };\n StatusBarService = __decorate([\n Bean('statusBarService')\n ], StatusBarService);\n return StatusBarService;\n}());\nexport { StatusBarService };\n","var __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 { Autowired, Component, PostConstruct, Promise, RefSelector } from '@ag-grid-community/core';\nvar StatusBar = /** @class */ (function (_super) {\n __extends(StatusBar, _super);\n function StatusBar() {\n return _super.call(this, StatusBar.TEMPLATE) || this;\n }\n StatusBar.prototype.postConstruct = function () {\n if (this.gridOptions.statusBar && this.gridOptions.statusBar.statusPanels) {\n var leftStatusPanelComponents = this.gridOptions.statusBar.statusPanels\n .filter(function (componentConfig) { return componentConfig.align === 'left'; });\n this.createAndRenderComponents(leftStatusPanelComponents, this.eStatusBarLeft);\n var centerStatusPanelComponents = this.gridOptions.statusBar.statusPanels\n .filter(function (componentConfig) { return componentConfig.align === 'center'; });\n this.createAndRenderComponents(centerStatusPanelComponents, this.eStatusBarCenter);\n var rightStatusPanelComponents = this.gridOptions.statusBar.statusPanels\n .filter(function (componentConfig) { return (!componentConfig.align || componentConfig.align === 'right'); });\n this.createAndRenderComponents(rightStatusPanelComponents, this.eStatusBarRight);\n }\n };\n StatusBar.prototype.createAndRenderComponents = function (statusBarComponents, ePanelComponent) {\n var _this = this;\n var componentDetails = [];\n statusBarComponents.forEach(function (componentConfig) {\n var params = {\n api: _this.gridOptionsWrapper.getApi(),\n columnApi: _this.gridOptionsWrapper.getColumnApi(),\n context: _this.gridOptionsWrapper.getContext()\n };\n var promise = _this.userComponentFactory.newStatusPanelComponent(componentConfig, params);\n componentDetails.push({\n // default to the component name if no key supplied\n key: componentConfig.key || componentConfig.statusPanel,\n promise: promise\n });\n });\n Promise.all(componentDetails.map(function (details) { return details.promise; }))\n .then(function () {\n componentDetails.forEach(function (componentDetail) {\n componentDetail.promise.then(function (component) {\n var destroyFunc = function () {\n if (component.destroy) {\n component.destroy();\n }\n };\n if (_this.isAlive()) {\n _this.statusBarService.registerStatusPanel(componentDetail.key, component);\n ePanelComponent.appendChild(component.getGui());\n _this.addDestroyFunc(destroyFunc);\n }\n else {\n destroyFunc();\n }\n });\n });\n });\n };\n StatusBar.TEMPLATE = \"
\\n
\\n
\\n
\\n
\";\n __decorate([\n Autowired('gridOptionsWrapper')\n ], StatusBar.prototype, \"gridOptionsWrapper\", void 0);\n __decorate([\n Autowired('gridOptions')\n ], StatusBar.prototype, \"gridOptions\", void 0);\n __decorate([\n Autowired('userComponentFactory')\n ], StatusBar.prototype, \"userComponentFactory\", void 0);\n __decorate([\n Autowired('statusBarService')\n ], StatusBar.prototype, \"statusBarService\", void 0);\n __decorate([\n RefSelector('eStatusBarLeft')\n ], StatusBar.prototype, \"eStatusBarLeft\", void 0);\n __decorate([\n RefSelector('eStatusBarCenter')\n ], StatusBar.prototype, \"eStatusBarCenter\", void 0);\n __decorate([\n RefSelector('eStatusBarRight')\n ], StatusBar.prototype, \"eStatusBarRight\", void 0);\n __decorate([\n PostConstruct\n ], StatusBar.prototype, \"postConstruct\", null);\n return StatusBar;\n}(Component));\nexport { StatusBar };\n","var __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 { Autowired, Component, RefSelector } from '@ag-grid-community/core';\nvar NameValueComp = /** @class */ (function (_super) {\n __extends(NameValueComp, _super);\n function NameValueComp() {\n return _super.call(this, NameValueComp.TEMPLATE) || this;\n }\n NameValueComp.prototype.setLabel = function (key, defaultValue) {\n // we want to hide until the first value comes in\n this.setDisplayed(false);\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eLabel.innerHTML = localeTextFunc(key, defaultValue);\n };\n NameValueComp.prototype.setValue = function (value) {\n this.eValue.innerHTML = value;\n };\n NameValueComp.TEMPLATE = \"
\\n : \\n \\n
\";\n __decorate([\n Autowired('gridOptionsWrapper')\n ], NameValueComp.prototype, \"gridOptionsWrapper\", void 0);\n __decorate([\n RefSelector('eLabel')\n ], NameValueComp.prototype, \"eLabel\", void 0);\n __decorate([\n RefSelector('eValue')\n ], NameValueComp.prototype, \"eValue\", void 0);\n return NameValueComp;\n}(Component));\nexport { NameValueComp };\n","var __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 { Autowired, Events, PostConstruct, _ } from '@ag-grid-community/core';\nimport { NameValueComp } from \"./nameValueComp\";\nvar TotalAndFilteredRowsComp = /** @class */ (function (_super) {\n __extends(TotalAndFilteredRowsComp, _super);\n function TotalAndFilteredRowsComp() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TotalAndFilteredRowsComp.prototype.postConstruct = function () {\n // this component is only really useful with client side row model\n if (this.gridApi.getModel().getType() !== 'clientSide') {\n console.warn(\"ag-Grid: agTotalAndFilteredRowCountComponent should only be used with the client side row model.\");\n return;\n }\n this.setLabel('totalAndFilteredRows', 'Rows');\n this.addCssClass('ag-status-panel');\n this.addCssClass('ag-status-panel-total-and-filtered-row-count');\n this.setDisplayed(true);\n this.addDestroyableEventListener(this.eventService, Events.EVENT_MODEL_UPDATED, this.onDataChanged.bind(this));\n };\n TotalAndFilteredRowsComp.prototype.onDataChanged = function () {\n var rowCount = _.formatNumberCommas(this.getFilteredRowCountValue());\n var totalRowCount = _.formatNumberCommas(this.getTotalRowCount());\n if (rowCount === totalRowCount) {\n this.setValue(rowCount);\n }\n else {\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n this.setValue(rowCount + \" \" + localeTextFunc('of', 'of') + \" \" + totalRowCount);\n }\n };\n TotalAndFilteredRowsComp.prototype.getFilteredRowCountValue = function () {\n var filteredRowCount = 0;\n this.gridApi.forEachNodeAfterFilter(function (node) {\n if (!node.group) {\n filteredRowCount++;\n }\n });\n return filteredRowCount;\n };\n TotalAndFilteredRowsComp.prototype.getTotalRowCount = function () {\n var totalRowCount = 0;\n this.gridApi.forEachNode(function (node) {\n if (!node.group) {\n totalRowCount++;\n }\n });\n return totalRowCount;\n };\n TotalAndFilteredRowsComp.prototype.init = function () { };\n __decorate([\n Autowired('gridApi')\n ], TotalAndFilteredRowsComp.prototype, \"gridApi\", void 0);\n __decorate([\n Autowired('eventService')\n ], TotalAndFilteredRowsComp.prototype, \"eventService\", void 0);\n __decorate([\n PostConstruct\n ], TotalAndFilteredRowsComp.prototype, \"postConstruct\", null);\n return TotalAndFilteredRowsComp;\n}(NameValueComp));\nexport { TotalAndFilteredRowsComp };\n","var __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 { Autowired, Events, PostConstruct, _ } from '@ag-grid-community/core';\nimport { NameValueComp } from \"./nameValueComp\";\nvar FilteredRowsComp = /** @class */ (function (_super) {\n __extends(FilteredRowsComp, _super);\n function FilteredRowsComp() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilteredRowsComp.prototype.postConstruct = function () {\n this.setLabel('filteredRows', 'Filtered');\n // this component is only really useful with client side row model\n if (this.gridApi.getModel().getType() !== 'clientSide') {\n console.warn(\"ag-Grid: agFilteredRowCountComponent should only be used with the client side row model.\");\n return;\n }\n this.addCssClass('ag-status-panel');\n this.addCssClass('ag-status-panel-filtered-row-count');\n this.setDisplayed(true);\n var listener = this.onDataChanged.bind(this);\n this.eventService.addEventListener(Events.EVENT_MODEL_UPDATED, listener);\n };\n FilteredRowsComp.prototype.onDataChanged = function () {\n var totalRowCountValue = this.getTotalRowCountValue();\n var filteredRowCountValue = this.getFilteredRowCountValue();\n this.setValue(_.formatNumberCommas(filteredRowCountValue));\n this.setDisplayed(totalRowCountValue !== filteredRowCountValue);\n };\n FilteredRowsComp.prototype.getTotalRowCountValue = function () {\n var totalRowCount = 0;\n this.gridApi.forEachNode(function (node) { return totalRowCount += 1; });\n return totalRowCount;\n };\n FilteredRowsComp.prototype.getFilteredRowCountValue = function () {\n var filteredRowCount = 0;\n this.gridApi.forEachNodeAfterFilter(function (node) {\n if (!node.group) {\n filteredRowCount += 1;\n }\n });\n return filteredRowCount;\n };\n FilteredRowsComp.prototype.init = function () { };\n __decorate([\n Autowired('eventService')\n ], FilteredRowsComp.prototype, \"eventService\", void 0);\n __decorate([\n Autowired('gridApi')\n ], FilteredRowsComp.prototype, \"gridApi\", void 0);\n __decorate([\n PostConstruct\n ], FilteredRowsComp.prototype, \"postConstruct\", null);\n return FilteredRowsComp;\n}(NameValueComp));\nexport { FilteredRowsComp };\n","var __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 { Autowired, Events, PostConstruct, _ } from '@ag-grid-community/core';\nimport { NameValueComp } from \"./nameValueComp\";\nvar TotalRowsComp = /** @class */ (function (_super) {\n __extends(TotalRowsComp, _super);\n function TotalRowsComp() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TotalRowsComp.prototype.postConstruct = function () {\n this.setLabel('totalRows', 'Total Rows');\n // this component is only really useful with client side row model\n if (this.gridApi.getModel().getType() !== 'clientSide') {\n console.warn(\"ag-Grid: agTotalRowCountComponent should only be used with the client side row model.\");\n return;\n }\n this.addCssClass('ag-status-panel');\n this.addCssClass('ag-status-panel-total-row-count');\n this.setDisplayed(true);\n var listener = this.onDataChanged.bind(this);\n this.eventService.addEventListener(Events.EVENT_MODEL_UPDATED, listener);\n };\n TotalRowsComp.prototype.onDataChanged = function () {\n this.setValue(_.formatNumberCommas(this.getRowCountValue()));\n };\n TotalRowsComp.prototype.getRowCountValue = function () {\n var totalRowCount = 0;\n this.gridApi.forEachLeafNode(function (node) { return totalRowCount += 1; });\n return totalRowCount;\n };\n TotalRowsComp.prototype.init = function () {\n };\n __decorate([\n Autowired('eventService')\n ], TotalRowsComp.prototype, \"eventService\", void 0);\n __decorate([\n Autowired('gridApi')\n ], TotalRowsComp.prototype, \"gridApi\", void 0);\n __decorate([\n PostConstruct\n ], TotalRowsComp.prototype, \"postConstruct\", null);\n return TotalRowsComp;\n}(NameValueComp));\nexport { TotalRowsComp };\n","var __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 { Autowired, Events, PostConstruct, _ } from '@ag-grid-community/core';\nimport { NameValueComp } from \"./nameValueComp\";\nvar SelectedRowsComp = /** @class */ (function (_super) {\n __extends(SelectedRowsComp, _super);\n function SelectedRowsComp() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectedRowsComp.prototype.postConstruct = function () {\n if (!this.isValidRowModel()) {\n console.warn(\"ag-Grid: agSelectedRowCountComponent should only be used with the client and server side row model.\");\n return;\n }\n this.setLabel('selectedRows', 'Selected');\n this.addCssClass('ag-status-panel');\n this.addCssClass('ag-status-panel-selected-row-count');\n var selectedRowCount = this.gridApi.getSelectedRows().length;\n this.setValue(_.formatNumberCommas(selectedRowCount));\n this.setDisplayed(selectedRowCount > 0);\n var eventListener = this.onRowSelectionChanged.bind(this);\n this.eventService.addEventListener(Events.EVENT_MODEL_UPDATED, eventListener);\n this.eventService.addEventListener(Events.EVENT_SELECTION_CHANGED, eventListener);\n };\n SelectedRowsComp.prototype.isValidRowModel = function () {\n // this component is only really useful with client or server side rowmodels\n var rowModelType = this.gridApi.getModel().getType();\n return rowModelType === 'clientSide' || rowModelType === 'serverSide';\n };\n SelectedRowsComp.prototype.onRowSelectionChanged = function () {\n var selectedRowCount = this.gridApi.getSelectedRows().length;\n this.setValue(_.formatNumberCommas(selectedRowCount));\n this.setDisplayed(selectedRowCount > 0);\n };\n SelectedRowsComp.prototype.init = function () {\n };\n __decorate([\n Autowired('eventService')\n ], SelectedRowsComp.prototype, \"eventService\", void 0);\n __decorate([\n Autowired('gridApi')\n ], SelectedRowsComp.prototype, \"gridApi\", void 0);\n __decorate([\n PostConstruct\n ], SelectedRowsComp.prototype, \"postConstruct\", null);\n return SelectedRowsComp;\n}(NameValueComp));\nexport { SelectedRowsComp };\n","var __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 { Autowired, Component, Events, PostConstruct, RefSelector, _, Optional } from '@ag-grid-community/core';\nvar AggregationComp = /** @class */ (function (_super) {\n __extends(AggregationComp, _super);\n function AggregationComp() {\n return _super.call(this, AggregationComp.TEMPLATE) || this;\n }\n AggregationComp.prototype.postConstruct = function () {\n if (!this.isValidRowModel()) {\n console.warn(\"ag-Grid: agAggregationComponent should only be used with the client and server side row model.\");\n return;\n }\n this.avgAggregationComp.setLabel('average', 'Average');\n this.countAggregationComp.setLabel('count', 'Count');\n this.minAggregationComp.setLabel('min', 'Min');\n this.maxAggregationComp.setLabel('max', 'Max');\n this.sumAggregationComp.setLabel('sum', 'Sum');\n this.addDestroyableEventListener(this.eventService, Events.EVENT_RANGE_SELECTION_CHANGED, this.onRangeSelectionChanged.bind(this));\n this.addDestroyableEventListener(this.eventService, Events.EVENT_MODEL_UPDATED, this.onRangeSelectionChanged.bind(this));\n };\n AggregationComp.prototype.isValidRowModel = function () {\n // this component is only really useful with client or server side rowmodels\n var rowModelType = this.gridApi.getModel().getType();\n return rowModelType === 'clientSide' || rowModelType === 'serverSide';\n };\n AggregationComp.prototype.init = function () {\n };\n AggregationComp.prototype.setAggregationComponentValue = function (aggFuncName, value, visible) {\n var statusBarValueComponent = this.getAggregationValueComponent(aggFuncName);\n if (_.exists(statusBarValueComponent) && statusBarValueComponent) {\n statusBarValueComponent.setValue(_.formatNumberTwoDecimalPlacesAndCommas(value));\n statusBarValueComponent.setDisplayed(visible);\n }\n };\n AggregationComp.prototype.getAggregationValueComponent = function (aggFuncName) {\n // converts user supplied agg name to our reference - eg: sum => sumAggregationComp\n var refComponentName = aggFuncName + \"AggregationComp\";\n // if the user has specified the agAggregationPanelComp but no aggFuncs we show the all\n // if the user has specified the agAggregationPanelComp and aggFuncs, then we only show the aggFuncs listed\n var statusBarValueComponent = null;\n var aggregationPanelConfig = _.exists(this.gridOptions.statusBar) && this.gridOptions.statusBar ? _.find(this.gridOptions.statusBar.statusPanels, function (panel) { return panel.statusPanel === 'agAggregationComponent'; }) : null;\n if (_.exists(aggregationPanelConfig) && aggregationPanelConfig) {\n // a little defensive here - if no statusPanelParams show it, if componentParams we also expect aggFuncs\n if (!_.exists(aggregationPanelConfig.statusPanelParams) ||\n (_.exists(aggregationPanelConfig.statusPanelParams) &&\n _.exists(aggregationPanelConfig.statusPanelParams.aggFuncs) &&\n _.exists(_.find(aggregationPanelConfig.statusPanelParams.aggFuncs, function (func) { return func === aggFuncName; })))) {\n statusBarValueComponent = this[refComponentName];\n }\n }\n else {\n // components not specified - assume we can show this component\n statusBarValueComponent = this[refComponentName];\n }\n // either we can't find it (which would indicate a typo or similar user side), or the user has deliberately\n // not listed the component in aggFuncs\n return statusBarValueComponent;\n };\n AggregationComp.prototype.onRangeSelectionChanged = function () {\n var _this = this;\n var cellRanges = this.rangeController ? this.rangeController.getCellRanges() : undefined;\n var sum = 0;\n var count = 0;\n var numberCount = 0;\n var min = null;\n var max = null;\n var cellsSoFar = {};\n if (cellRanges && !_.missingOrEmpty(cellRanges)) {\n cellRanges.forEach(function (cellRange) {\n var currentRow = _this.rangeController.getRangeStartRow(cellRange);\n var lastRow = _this.rangeController.getRangeEndRow(cellRange);\n while (true) {\n var finishedAllRows = _.missing(currentRow) || !currentRow || _this.rowPositionUtils.before(lastRow, currentRow);\n if (finishedAllRows || !currentRow || !cellRange.columns) {\n break;\n }\n cellRange.columns.forEach(function (col) {\n if (currentRow === null) {\n return;\n }\n // we only want to include each cell once, in case a cell is in multiple ranges\n var cellId = _this.cellPositionUtils.createId({\n rowPinned: currentRow.rowPinned,\n column: col,\n rowIndex: currentRow.rowIndex\n });\n if (cellsSoFar[cellId]) {\n return;\n }\n cellsSoFar[cellId] = true;\n var rowNode = _this.rowRenderer.getRowNode(currentRow);\n if (_.missing(rowNode)) {\n return;\n }\n var value = _this.valueService.getValue(col, rowNode);\n // if empty cell, skip it, doesn't impact count or anything\n if (_.missing(value) || value === '') {\n return;\n }\n // see if value is wrapped, can happen when doing count() or avg() functions\n if (value.value) {\n value = value.value;\n }\n if (typeof value === 'string') {\n value = Number(value);\n }\n if (typeof value === 'number' && !isNaN(value)) {\n sum += value;\n if (max === null || value > max) {\n max = value;\n }\n if (min === null || value < min) {\n min = value;\n }\n numberCount++;\n }\n count++;\n });\n currentRow = _this.cellNavigationService.getRowBelow(currentRow);\n }\n });\n }\n var gotResult = count > 1;\n var gotNumberResult = numberCount > 1;\n // we show count even if no numbers\n this.setAggregationComponentValue('count', count, gotResult);\n // show if numbers found\n this.setAggregationComponentValue('sum', sum, gotNumberResult);\n this.setAggregationComponentValue('min', min, gotNumberResult);\n this.setAggregationComponentValue('max', max, gotNumberResult);\n this.setAggregationComponentValue('avg', (sum / numberCount), gotNumberResult);\n };\n AggregationComp.TEMPLATE = \"
\\n \\n \\n \\n \\n \\n
\";\n __decorate([\n Autowired('eventService')\n ], AggregationComp.prototype, \"eventService\", void 0);\n __decorate([\n Optional('rangeController')\n ], AggregationComp.prototype, \"rangeController\", void 0);\n __decorate([\n Autowired('valueService')\n ], AggregationComp.prototype, \"valueService\", void 0);\n __decorate([\n Autowired('cellNavigationService')\n ], AggregationComp.prototype, \"cellNavigationService\", void 0);\n __decorate([\n Autowired('rowRenderer')\n ], AggregationComp.prototype, \"rowRenderer\", void 0);\n __decorate([\n Autowired('gridOptionsWrapper')\n ], AggregationComp.prototype, \"gridOptionsWrapper\", void 0);\n __decorate([\n Autowired('gridOptions')\n ], AggregationComp.prototype, \"gridOptions\", void 0);\n __decorate([\n Autowired('gridApi')\n ], AggregationComp.prototype, \"gridApi\", void 0);\n __decorate([\n Autowired('cellPositionUtils')\n ], AggregationComp.prototype, \"cellPositionUtils\", void 0);\n __decorate([\n Autowired('rowPositionUtils')\n ], AggregationComp.prototype, \"rowPositionUtils\", void 0);\n __decorate([\n RefSelector('sumAggregationComp')\n ], AggregationComp.prototype, \"sumAggregationComp\", void 0);\n __decorate([\n RefSelector('countAggregationComp')\n ], AggregationComp.prototype, \"countAggregationComp\", void 0);\n __decorate([\n RefSelector('minAggregationComp')\n ], AggregationComp.prototype, \"minAggregationComp\", void 0);\n __decorate([\n RefSelector('maxAggregationComp')\n ], AggregationComp.prototype, \"maxAggregationComp\", void 0);\n __decorate([\n RefSelector('avgAggregationComp')\n ], AggregationComp.prototype, \"avgAggregationComp\", void 0);\n __decorate([\n PostConstruct\n ], AggregationComp.prototype, \"postConstruct\", null);\n return AggregationComp;\n}(Component));\nexport { AggregationComp };\n","import { ModuleNames } from \"@ag-grid-community/core\";\nimport { EnterpriseCoreModule } from \"@ag-grid-enterprise/core\";\nimport { StatusBarService } from \"./statusBar/statusBarService\";\nimport { StatusBar } from \"./statusBar/statusBar\";\nimport { NameValueComp } from \"./statusBar/providedPanels/nameValueComp\";\nimport { TotalAndFilteredRowsComp } from \"./statusBar/providedPanels/totalAndFilteredRowsComp\";\nimport { FilteredRowsComp } from \"./statusBar/providedPanels/filteredRowsComp\";\nimport { TotalRowsComp } from \"./statusBar/providedPanels/totalRowsComp\";\nimport { SelectedRowsComp } from \"./statusBar/providedPanels/selectedRowsComp\";\nimport { AggregationComp } from \"./statusBar/providedPanels/aggregationComp\";\nexport var StatusBarModule = {\n moduleName: ModuleNames.StatusBarModule,\n beans: [StatusBarService],\n agStackComponents: [\n { componentName: 'AgStatusBar', componentClass: StatusBar },\n { componentName: 'AgNameValue', componentClass: NameValueComp },\n ],\n userComponents: [\n { componentName: 'agAggregationComponent', componentClass: AggregationComp },\n { componentName: 'agSelectedRowCountComponent', componentClass: SelectedRowsComp },\n { componentName: 'agTotalRowCountComponent', componentClass: TotalRowsComp },\n { componentName: 'agFilteredRowCountComponent', componentClass: FilteredRowsComp },\n { componentName: 'agTotalAndFilteredRowCountComponent', componentClass: TotalAndFilteredRowsComp }\n ],\n dependantModules: [\n EnterpriseCoreModule\n ]\n};\n","export { StatusBarModule } from \"./statusBarModule\";\n","var __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 { Bean, PostConstruct, Autowired, PreDestroy, RowNode, Constants, Events, _ } from \"@ag-grid-community/core\";\nvar ViewportRowModel = /** @class */ (function () {\n function ViewportRowModel() {\n // rowRenderer tells us these\n this.firstRow = -1;\n this.lastRow = -1;\n // datasource tells us this\n this.rowCount = -1;\n this.rowNodesByIndex = {};\n }\n // we don't implement as lazy row heights is not supported in this row model\n ViewportRowModel.prototype.ensureRowHeightsValid = function (startPixel, endPixel, startLimitIndex, endLimitIndex) { return false; };\n ViewportRowModel.prototype.init = function () {\n this.rowHeight = this.gridOptionsWrapper.getRowHeightAsNumber();\n this.eventService.addEventListener(Events.EVENT_VIEWPORT_CHANGED, this.onViewportChanged.bind(this));\n };\n ViewportRowModel.prototype.start = function () {\n if (this.gridOptionsWrapper.getViewportDatasource()) {\n this.setViewportDatasource(this.gridOptionsWrapper.getViewportDatasource());\n }\n };\n ViewportRowModel.prototype.isLastRowFound = function () {\n return true;\n };\n ViewportRowModel.prototype.destroyDatasource = function () {\n if (this.viewportDatasource) {\n if (this.viewportDatasource.destroy) {\n this.viewportDatasource.destroy();\n }\n this.rowRenderer.datasourceChanged();\n this.firstRow = -1;\n this.lastRow = -1;\n }\n };\n ViewportRowModel.prototype.calculateFirstRow = function (firstRenderedRow) {\n var bufferSize = this.gridOptionsWrapper.getViewportRowModelBufferSize();\n var pageSize = this.gridOptionsWrapper.getViewportRowModelPageSize();\n var afterBuffer = firstRenderedRow - bufferSize;\n if (afterBuffer < 0) {\n return 0;\n }\n else {\n return Math.floor(afterBuffer / pageSize) * pageSize;\n }\n };\n ViewportRowModel.prototype.calculateLastRow = function (lastRenderedRow) {\n if (lastRenderedRow === -1) {\n return lastRenderedRow;\n }\n var bufferSize = this.gridOptionsWrapper.getViewportRowModelBufferSize();\n var pageSize = this.gridOptionsWrapper.getViewportRowModelPageSize();\n var afterBuffer = lastRenderedRow + bufferSize;\n var result = Math.ceil(afterBuffer / pageSize) * pageSize;\n var lastRowIndex = this.rowCount - 1;\n return Math.min(result, lastRowIndex);\n };\n ViewportRowModel.prototype.onViewportChanged = function (event) {\n var newFirst = this.calculateFirstRow(event.firstRow);\n var newLast = this.calculateLastRow(event.lastRow);\n if (this.firstRow !== newFirst || this.lastRow !== newLast) {\n this.firstRow = newFirst;\n this.lastRow = newLast;\n this.purgeRowsNotInViewport();\n if (this.viewportDatasource) {\n this.viewportDatasource.setViewportRange(this.firstRow, this.lastRow);\n }\n }\n };\n ViewportRowModel.prototype.purgeRowsNotInViewport = function () {\n var _this = this;\n Object.keys(this.rowNodesByIndex).forEach(function (indexStr) {\n var index = parseInt(indexStr, 10);\n if (index < _this.firstRow || index > _this.lastRow) {\n delete _this.rowNodesByIndex[index];\n }\n });\n };\n ViewportRowModel.prototype.setViewportDatasource = function (viewportDatasource) {\n this.destroyDatasource();\n this.viewportDatasource = viewportDatasource;\n this.rowCount = 0;\n if (!viewportDatasource.init) {\n console.warn('ag-Grid: viewport is missing init method.');\n }\n else {\n viewportDatasource.init({\n setRowCount: this.setRowCount.bind(this),\n setRowData: this.setRowData.bind(this),\n getRow: this.getRow.bind(this)\n });\n }\n };\n ViewportRowModel.prototype.getType = function () {\n return Constants.ROW_MODEL_TYPE_VIEWPORT;\n };\n ViewportRowModel.prototype.getRow = function (rowIndex) {\n if (!this.rowNodesByIndex[rowIndex]) {\n this.rowNodesByIndex[rowIndex] = this.createBlankRowNode(rowIndex);\n }\n return this.rowNodesByIndex[rowIndex];\n };\n ViewportRowModel.prototype.getRowNode = function (id) {\n var result = null;\n this.forEachNode(function (rowNode) {\n if (rowNode.id === id) {\n result = rowNode;\n }\n });\n return result;\n };\n ViewportRowModel.prototype.getRowCount = function () {\n return this.rowCount;\n };\n ViewportRowModel.prototype.getRowIndexAtPixel = function (pixel) {\n if (this.rowHeight !== 0) { // avoid divide by zero error\n return Math.floor(pixel / this.rowHeight);\n }\n else {\n return 0;\n }\n };\n ViewportRowModel.prototype.getRowBounds = function (index) {\n return {\n rowHeight: this.rowHeight,\n rowTop: this.rowHeight * index\n };\n };\n ViewportRowModel.prototype.getTopLevelRowCount = function () {\n return this.getRowCount();\n };\n ViewportRowModel.prototype.getTopLevelRowDisplayedIndex = function (topLevelIndex) {\n return topLevelIndex;\n };\n ViewportRowModel.prototype.getCurrentPageHeight = function () {\n return this.rowCount * this.rowHeight;\n };\n ViewportRowModel.prototype.isEmpty = function () {\n return this.rowCount > 0;\n };\n ViewportRowModel.prototype.isRowsToRender = function () {\n return this.rowCount > 0;\n };\n ViewportRowModel.prototype.getNodesInRangeForSelection = function (firstInRange, lastInRange) {\n var firstIndex = _.missing(firstInRange) ? 0 : firstInRange.rowIndex;\n var lastIndex = lastInRange.rowIndex;\n var firstNodeOutOfRange = firstIndex < this.firstRow || firstIndex > this.lastRow;\n var lastNodeOutOfRange = lastIndex < this.firstRow || lastIndex > this.lastRow;\n if (firstNodeOutOfRange || lastNodeOutOfRange) {\n return [];\n }\n var result = [];\n var startIndex = firstIndex <= lastIndex ? firstIndex : lastIndex;\n var endIndex = firstIndex <= lastIndex ? lastIndex : firstIndex;\n for (var i = startIndex; i <= endIndex; i++) {\n result.push(this.rowNodesByIndex[i]);\n }\n return result;\n };\n ViewportRowModel.prototype.forEachNode = function (callback) {\n var _this = this;\n var callbackCount = 0;\n Object.keys(this.rowNodesByIndex).forEach(function (indexStr) {\n var index = parseInt(indexStr, 10);\n var rowNode = _this.rowNodesByIndex[index];\n callback(rowNode, callbackCount);\n callbackCount++;\n });\n };\n ViewportRowModel.prototype.setRowData = function (rowData) {\n var _this = this;\n _.iterateObject(rowData, function (indexStr, dataItem) {\n var index = parseInt(indexStr, 10);\n // we should never keep rows that we didn't specifically ask for, this\n // guarantees the contract we have with the server.\n if (index >= _this.firstRow && index <= _this.lastRow) {\n var rowNode = _this.rowNodesByIndex[index];\n // the abnormal case is we requested a row even though the grid didn't need it\n // as a result of the paging and buffer (ie the row is off screen), in which\n // case we need to create a new node now\n if (_.missing(rowNode)) {\n rowNode = _this.createBlankRowNode(index);\n _this.rowNodesByIndex[index] = rowNode;\n }\n // now we deffo have a row node, so set in the details\n // if the grid already asked for this row (the normal case), then we would\n // of put a placeholder node in place.\n rowNode.setDataAndId(dataItem, index.toString());\n }\n });\n };\n ViewportRowModel.prototype.createBlankRowNode = function (rowIndex) {\n var rowNode = new RowNode();\n this.context.wireBean(rowNode);\n rowNode.setRowHeight(this.rowHeight);\n rowNode.setRowTop(this.rowHeight * rowIndex);\n rowNode.setRowIndex(rowIndex);\n return rowNode;\n };\n ViewportRowModel.prototype.setRowCount = function (rowCount, keepRenderedRows) {\n if (keepRenderedRows === void 0) { keepRenderedRows = false; }\n if (rowCount !== this.rowCount) {\n this.rowCount = rowCount;\n var event_1 = {\n type: Events.EVENT_MODEL_UPDATED,\n api: this.gridApi,\n columnApi: this.columnApi,\n newData: false,\n newPage: false,\n keepRenderedRows: keepRenderedRows,\n animate: false\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n ViewportRowModel.prototype.isRowPresent = function (rowNode) {\n return false;\n };\n __decorate([\n Autowired('gridOptionsWrapper')\n ], ViewportRowModel.prototype, \"gridOptionsWrapper\", void 0);\n __decorate([\n Autowired('eventService')\n ], ViewportRowModel.prototype, \"eventService\", void 0);\n __decorate([\n Autowired('selectionController')\n ], ViewportRowModel.prototype, \"selectionController\", void 0);\n __decorate([\n Autowired('context')\n ], ViewportRowModel.prototype, \"context\", void 0);\n __decorate([\n Autowired('gridApi')\n ], ViewportRowModel.prototype, \"gridApi\", void 0);\n __decorate([\n Autowired('columnApi')\n ], ViewportRowModel.prototype, \"columnApi\", void 0);\n __decorate([\n Autowired('rowRenderer')\n ], ViewportRowModel.prototype, \"rowRenderer\", void 0);\n __decorate([\n PostConstruct\n ], ViewportRowModel.prototype, \"init\", null);\n __decorate([\n PreDestroy\n ], ViewportRowModel.prototype, \"destroyDatasource\", null);\n ViewportRowModel = __decorate([\n Bean('rowModel')\n ], ViewportRowModel);\n return ViewportRowModel;\n}());\nexport { ViewportRowModel };\n","import { ModuleNames } from \"@ag-grid-community/core\";\nimport { EnterpriseCoreModule } from \"@ag-grid-enterprise/core\";\nimport { ViewportRowModel } from \"./viewportRowModel/viewportRowModel\";\nexport var ViewportRowModelModule = {\n moduleName: ModuleNames.ViewportRowModelModule,\n rowModels: { 'viewport': ViewportRowModel },\n dependantModules: [\n EnterpriseCoreModule\n ]\n};\n","export { ViewportRowModelModule } from \"./viewportRowModelModule\";\n"],"sourceRoot":""}