ag-grid-enterprise
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
1 lines • 2.8 MB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.agGrid=t():e.agGrid=t()}(self,(function(){return function(){var e={886:function(e,t,i){var s,o=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)o(e,i,{get:t[i],enumerable:!0})})(l,{ClientSideRowModelModule:()=>A}),e.exports=(s=l,((e,t,i,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of n(t))a.call(e,l)||l===i||o(e,l,{get:()=>t[l],enumerable:!(s=r(t,l))||s.enumerable});return e})(o({},"__esModule",{value:!0}),s));var h=i(423),d=i(423),c=i(423),u=i(423),p=class{constructor(e,t,i,s,o,r){this.nextId=0,this.rowCountReady=!1,this.allNodesMap={},this.rootNode=e,this.gos=t,this.eventService=i,this.funcColsService=s,this.beans=r,this.selectionService=o,this.rootNode.group=!0,this.rootNode.level=-1,this.rootNode.id="ROOT_NODE_ID",this.rootNode.allLeafChildren=[],this.rootNode.childrenAfterGroup=[],this.rootNode.childrenAfterSort=[],this.rootNode.childrenAfterAggFilter=[],this.rootNode.childrenAfterFilter=[]}getCopyOfNodesMap(){return(0,u._cloneObject)(this.allNodesMap)}getRowNode(e){return this.allNodesMap[e]}setRowData(e){if("string"==typeof e)return void(0,u._warnOnce)("rowData must be an array.");this.rowCountReady=!0,this.dispatchRowDataUpdateStartedEvent(e);const t=this.rootNode,i=this.rootNode.sibling;t.childrenAfterFilter=null,t.childrenAfterGroup=null,t.childrenAfterAggFilter=null,t.childrenAfterSort=null,t.childrenMapped=null,t.updateHasChildren(),this.nextId=0,this.allNodesMap={},e?t.allLeafChildren=e.map(((e,t)=>this.createNode(e,this.rootNode,0,t))):(t.allLeafChildren=[],t.childrenAfterGroup=[]),i&&(i.childrenAfterFilter=t.childrenAfterFilter,i.childrenAfterGroup=t.childrenAfterGroup,i.childrenAfterAggFilter=t.childrenAfterAggFilter,i.childrenAfterSort=t.childrenAfterSort,i.childrenMapped=t.childrenMapped,i.allLeafChildren=t.allLeafChildren)}updateRowData(e){this.rowCountReady=!0,this.dispatchRowDataUpdateStartedEvent(e.add);const t={rowNodeTransaction:{remove:[],update:[],add:[]},rowsInserted:!1},i=[];return this.executeRemove(e,t,i),this.executeUpdate(e,t,i),this.executeAdd(e,t),this.updateSelection(i,"rowDataChanged"),t}updateRowOrderFromRowData(e){const t=this.rootNode.allLeafChildren,i=t?.length??0,s=new Map;let o=-1,r=-1;for(let n=0;n<i;++n){const i=t[n],a=i.data;a!==e[n]&&(r<0&&(o=n),r=n,s.set(a,i))}if(o<0)return!1;for(let i=o;i<=r;++i){const o=s.get(e[i]);void 0!==o&&(t[i]=o,o.sourceRowIndex=i)}return!0}isRowCountReady(){return this.rowCountReady}dispatchRowDataUpdateStartedEvent(e){this.eventService.dispatchEvent({type:"rowDataUpdateStarted",firstRowData:e?.length?e[0]:null})}updateSelection(e,t){const i=e.length>0;i&&this.selectionService.setNodesSelected({newValue:!1,nodes:e,suppressFinishActions:!0,source:t}),this.selectionService.updateGroupsFromChildrenSelections(t),i&&this.eventService.dispatchEvent({type:"selectionChanged",source:t})}executeAdd(e,t){const i=e.add;if((0,u._missingOrEmpty)(i))return;const s=this.rootNode.allLeafChildren;let o=s.length;if("number"==typeof e.addIndex&&(o=this.sanitizeAddIndex(e.addIndex),o>0)){if(this.gos.get("treeData"))for(let e=0;e<s.length;e++){const t=s[e];if(t?.rowIndex==o-1){o=e+1;break}}}const r=i.map(((e,t)=>this.createNode(e,this.rootNode,0,o+t)));if(o<s.length){const e=s.slice(0,o),i=s.slice(o,s.length),n=e.length+r.length;for(let e=0,t=i.length;e<t;++e)i[e].sourceRowIndex=n+e;this.rootNode.allLeafChildren=[...e,...r,...i],t.rowsInserted=!0}else this.rootNode.allLeafChildren=s.concat(r);const n=this.rootNode.sibling;n&&(n.allLeafChildren=s),t.rowNodeTransaction.add=r}sanitizeAddIndex(e){const t=this.rootNode.allLeafChildren?.length??0;return e<0||e>=t||Number.isNaN(e)?t:Math.ceil(e)}executeRemove(e,{rowNodeTransaction:t},i){const{remove:s}=e;if((0,u._missingOrEmpty)(s))return;const o={};s.forEach((e=>{const s=this.lookupRowNode(e);s&&(s.isSelected()&&i.push(s),s.clearRowTopAndRowIndex(),o[s.id]=!0,delete this.allNodesMap[s.id],t.remove.push(s))})),this.rootNode.allLeafChildren=this.rootNode.allLeafChildren?.filter((e=>!o[e.id]))??null,this.rootNode.allLeafChildren?.forEach(((e,t)=>{e.sourceRowIndex=t}));const r=this.rootNode.sibling;r&&(r.allLeafChildren=this.rootNode.allLeafChildren)}executeUpdate(e,{rowNodeTransaction:t},i){const{update:s}=e;(0,u._missingOrEmpty)(s)||s.forEach((e=>{const s=this.lookupRowNode(e);s&&(s.updateData(e),!s.selectable&&s.isSelected()&&i.push(s),this.setMasterForRow(s,e,0,!1),t.update.push(s))}))}lookupRowNode(e){const t=(0,u._getRowIdCallback)(this.gos);let i;if(t){const s=t({data:e,level:0});if(i=this.allNodesMap[s],!i)return(0,u._errorOnce)(`could not find row id=${s}, data item was not found for this id`),null}else if(i=this.rootNode.allLeafChildren?.find((t=>t.data===e)),!i)return(0,u._errorOnce)("could not find data item as object was not found",e),(0,u._errorOnce)("Consider using getRowId to help the Grid find matching row data"),null;return i||null}createNode(e,t,i,s){const o=new u.RowNode(this.beans);return o.sourceRowIndex=s,o.group=!1,this.setMasterForRow(o,e,i,!0),t&&(o.parent=t),o.level=i,o.setDataAndId(e,this.nextId.toString()),this.allNodesMap[o.id]&&(0,u._warnOnce)(`duplicate node id '${o.id}' detected from getRowId callback, this could cause issues in your grid.`),this.allNodesMap[o.id]=o,this.nextId++,o}setMasterForRow(e,t,i,s){if(this.gos.get("treeData"))e.setMaster(!1),s&&(e.expanded=!1);else{if(this.gos.get("masterDetail")){const i=this.gos.get("isRowMaster");i?e.setMaster(i(t)):e.setMaster(!0)}else e.setMaster(!1);if(s){const t=this.funcColsService.getRowGroupColumns(),s=i+(t?t.length:0);e.expanded=!!e.master&&this.isExpanded(s)}}}isExpanded(e){const t=this.gos.get("groupDefaultExpanded");return-1===t||e<t}},g=class extends c.BeanStub{constructor(){super(...arguments),this.beanName="rowModel",this.onRowHeightChanged_debounced=(0,c._debounce)(this.onRowHeightChanged.bind(this),100),this.rowsToDisplay=[],this.hasStarted=!1,this.shouldSkipSettingDataOnStart=!1,this.isRefreshingModel=!1,this.rowCountReady=!1}wireBeans(e){this.beans=e,this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.selectionService=e.selectionService,this.valueCache=e.valueCache,this.environment=e.environment,this.filterStage=e.filterStage,this.sortStage=e.sortStage,this.flattenStage=e.flattenStage,this.groupStage=e.groupStage,this.aggregationStage=e.aggregationStage,this.pivotStage=e.pivotStage,this.filterAggregatesStage=e.filterAggregatesStage}postConstruct(){const e=this.refreshModel.bind(this,{step:c.ClientSideRowModelSteps.EVERYTHING}),t=!this.gos.get("suppressAnimationFrame"),i=this.refreshModel.bind(this,{step:c.ClientSideRowModelSteps.EVERYTHING,afterColumnsChanged:!0,keepRenderedRows:!0,animate:t});this.addManagedEventListeners({newColumnsLoaded:i,columnRowGroupChanged:e,columnValueChanged:this.onValueChanged.bind(this),columnPivotChanged:this.refreshModel.bind(this,{step:c.ClientSideRowModelSteps.PIVOT}),filterChanged:this.onFilterChanged.bind(this),sortChanged:this.onSortChanged.bind(this),columnPivotModeChanged:e,gridStylesChanged:this.onGridStylesChanges.bind(this),gridReady:this.onGridReady.bind(this)}),this.addPropertyListeners(),this.rootNode=new c.RowNode(this.beans),this.nodeManager=new p(this.rootNode,this.gos,this.eventService,this.funcColsService,this.selectionService,this.beans)}addPropertyListeners(){const e=new Set(["treeData","masterDetail"]),t=new Set(["groupDefaultExpanded","groupAllowUnbalanced","initialGroupOrderComparator","groupHideOpenParents","groupDisplayType"]),i=new Set(["excludeChildrenWhenTreeDataFiltering"]),s=new Set(["removePivotHeaderRowWhenSingleValueColumn","pivotRowTotals","pivotColumnGroupTotals","suppressExpandablePivotGroups"]),o=new Set(["getGroupRowAgg","alwaysAggregateAtRootLevel","groupIncludeTotalFooter","suppressAggFilteredOnly","grandTotalRow"]),r=new Set(["postSortRows","groupDisplayType","accentedSort"]),n=new Set([]),a=new Set(["groupRemoveSingleChildren","groupRemoveLowestSingleChildren","groupIncludeFooter","groupTotalRow"]),l=[...e,...t,...i,...s,...s,...o,...r,...n,...a];this.addManagedPropertyListeners(l,(l=>{const h=l.changeSet?.properties;if(!h)return;const d=e=>h.some((t=>e.has(t)));d(e)?this.setRowData(this.rootNode.allLeafChildren.map((e=>e.data))):d(t)?this.refreshModel({step:c.ClientSideRowModelSteps.EVERYTHING}):d(i)?this.refreshModel({step:c.ClientSideRowModelSteps.FILTER}):d(s)?this.refreshModel({step:c.ClientSideRowModelSteps.PIVOT}):d(o)?this.refreshModel({step:c.ClientSideRowModelSteps.AGGREGATE}):d(r)?this.refreshModel({step:c.ClientSideRowModelSteps.SORT}):d(n)?this.refreshModel({step:c.ClientSideRowModelSteps.FILTER_AGGREGATES}):d(a)&&this.refreshModel({step:c.ClientSideRowModelSteps.MAP})})),this.addManagedPropertyListener("rowHeight",(()=>this.resetRowHeights()))}start(){this.hasStarted=!0,this.shouldSkipSettingDataOnStart?this.dispatchUpdateEventsAndRefresh():this.setInitialData()}setInitialData(){const e=this.gos.get("rowData");e&&(this.shouldSkipSettingDataOnStart=!0,this.setRowData(e))}ensureRowHeightsValid(e,t,i,s){let o,r=!1;do{o=!1;const n=this.getRowIndexAtPixel(e),a=this.getRowIndexAtPixel(t),l=Math.max(n,i),h=Math.min(a,s);for(let e=l;e<=h;e++){const t=this.getRow(e);if(t.rowHeightEstimated){const e=(0,c._getRowHeightForNode)(this.gos,t);t.setRowHeight(e.height),o=!0,r=!0}}o&&this.setRowTopAndRowIndex()}while(o);return r}setRowTopAndRowIndex(){const e=this.environment.getDefaultRowHeight();let t=0;const i=new Set,s=(0,c._isDomLayout)(this.gos,"normal");for(let o=0;o<this.rowsToDisplay.length;o++){const r=this.rowsToDisplay[o];if(null!=r.id&&i.add(r.id),null==r.rowHeight){const t=(0,c._getRowHeightForNode)(this.gos,r,s,e);r.setRowHeight(t.height,t.estimated)}r.setRowTop(t),r.setRowIndex(o),t+=r.rowHeight}return i}clearRowTopAndRowIndex(e,t){const i=e.isActive(),s=e=>{e&&null!=e.id&&!t.has(e.id)&&e.clearRowTopAndRowIndex()},o=e=>{if(s(e),s(e.detailNode),s(e.sibling),e.hasChildren()&&e.childrenAfterGroup){const t=-1==e.level;i&&!t&&!e.expanded||e.childrenAfterGroup.forEach(o)}};o(this.rootNode)}ensureRowsAtPixel(e,t,i=0){const s=this.getRowIndexAtPixel(t),o=this.getRow(s),r=!this.gos.get("suppressAnimationFrame");if(o===e[0])return!1;const n=this.rootNode.allLeafChildren;return e.forEach((e=>{(0,c._removeFromArray)(n,e)})),e.forEach(((e,t)=>{(0,c._insertIntoArray)(n,e,Math.max(s+i,0)+t)})),e.forEach(((e,t)=>{e.sourceRowIndex=t})),this.refreshModel({step:c.ClientSideRowModelSteps.EVERYTHING,keepRenderedRows:!0,keepEditingRows:!0,animate:r,rowNodesOrderChanged:!0}),!0}highlightRowAtPixel(e,t){const i=null!=t?this.getRowIndexAtPixel(t):null,s=null!=i?this.getRow(i):null;if(!s||!e||s===e||null==t)return void(this.lastHighlightedRow&&(this.lastHighlightedRow.setHighlighted(null),this.lastHighlightedRow=null));const o=this.getHighlightPosition(t,s);this.lastHighlightedRow&&this.lastHighlightedRow!==s&&(this.lastHighlightedRow.setHighlighted(null),this.lastHighlightedRow=null),s.setHighlighted(o),this.lastHighlightedRow=s}getHighlightPosition(e,t){if(!t){const i=this.getRowIndexAtPixel(e);if(!(t=this.getRow(i||0)))return c.RowHighlightPosition.Below}const{rowTop:i,rowHeight:s}=t;return e-i<s/2?c.RowHighlightPosition.Above:c.RowHighlightPosition.Below}getLastHighlightedRowNode(){return this.lastHighlightedRow}isLastRowIndexKnown(){return!0}getRowCount(){return this.rowsToDisplay?this.rowsToDisplay.length:0}getTopLevelRowCount(){if(0===this.rowsToDisplay.length)return 0;if(this.rowsToDisplay&&this.rowsToDisplay[0]===this.rootNode)return 1;const e=this.rootNode.childrenAfterAggFilter,t=this.rootNode.sibling?1:0;return(e?e.length:0)+t}getTopLevelRowDisplayedIndex(e){if(this.rowsToDisplay&&this.rowsToDisplay[0]===this.rootNode)return e;let t=e;if(this.rowsToDisplay[0].footer){if(0===e)return 0;t-=1}const i=this.rowsToDisplay[this.rowsToDisplay.length-1],s=t>=this.rootNode.childrenAfterSort.length;if(i.footer&&s)return i.rowIndex;let o=this.rootNode.childrenAfterSort[t];if(this.gos.get("groupHideOpenParents"))for(;o.expanded&&o.childrenAfterSort&&o.childrenAfterSort.length>0;)o=o.childrenAfterSort[0];return o.rowIndex}getRowBounds(e){if((0,c._missing)(this.rowsToDisplay))return null;const t=this.rowsToDisplay[e];return t?{rowTop:t.rowTop,rowHeight:t.rowHeight}:null}onRowGroupOpened(){const e=(0,c._isAnimateRows)(this.gos);this.refreshModel({step:c.ClientSideRowModelSteps.MAP,keepRenderedRows:!0,animate:e})}onFilterChanged(e){if(e.afterDataChange)return;const t=(0,c._isAnimateRows)(this.gos),i=0===e.columns.length||e.columns.some((e=>e.isPrimary()))?c.ClientSideRowModelSteps.FILTER:c.ClientSideRowModelSteps.FILTER_AGGREGATES;this.refreshModel({step:i,keepRenderedRows:!0,animate:t})}onSortChanged(){const e=(0,c._isAnimateRows)(this.gos);this.refreshModel({step:c.ClientSideRowModelSteps.SORT,keepRenderedRows:!0,animate:e,keepEditingRows:!0})}getType(){return"clientSide"}onValueChanged(){this.columnModel.isPivotActive()?this.refreshModel({step:c.ClientSideRowModelSteps.PIVOT}):this.refreshModel({step:c.ClientSideRowModelSteps.AGGREGATE})}createChangePath(e){const t=(0,c._missingOrEmpty)(e),i=new c.ChangedPath(!1,this.rootNode);return t&&i.setInactive(),i}isSuppressModelUpdateAfterUpdateTransaction(e){if(!this.gos.get("suppressModelUpdateAfterUpdateTransaction"))return!1;if(null==e.rowNodeTransactions)return!1;const t=e.rowNodeTransactions.filter((e=>null!=e.add&&e.add.length>0||null!=e.remove&&e.remove.length>0));return null==t||0==t.length}buildRefreshModelParams(e){let t=c.ClientSideRowModelSteps.EVERYTHING;const i={everything:c.ClientSideRowModelSteps.EVERYTHING,group:c.ClientSideRowModelSteps.EVERYTHING,filter:c.ClientSideRowModelSteps.FILTER,map:c.ClientSideRowModelSteps.MAP,aggregate:c.ClientSideRowModelSteps.AGGREGATE,sort:c.ClientSideRowModelSteps.SORT,pivot:c.ClientSideRowModelSteps.PIVOT};if((0,c._exists)(e)&&(t=i[e]),(0,c._missing)(t))return void(0,c._errorOnce)(`invalid step ${e}, available steps are ${Object.keys(i).join(", ")}`);return{step:t,keepRenderedRows:!0,keepEditingRows:!0,animate:!this.gos.get("suppressAnimationFrame")}}refreshModel(e){if(!this.hasStarted||this.isRefreshingModel||this.columnModel.isChangeEventsDispatching())return;const t="object"==typeof e&&"step"in e?e:this.buildRefreshModelParams(e);if(!t)return;if(this.isSuppressModelUpdateAfterUpdateTransaction(t))return;const i=this.createChangePath(t.rowNodeTransactions);switch(this.isRefreshingModel=!0,t.step){case c.ClientSideRowModelSteps.EVERYTHING:this.doRowGrouping(t.rowNodeTransactions,i,!!t.rowNodesOrderChanged,!!t.afterColumnsChanged);case c.ClientSideRowModelSteps.FILTER:this.doFilter(i);case c.ClientSideRowModelSteps.PIVOT:this.doPivot(i);case c.ClientSideRowModelSteps.AGGREGATE:this.doAggregate(i);case c.ClientSideRowModelSteps.FILTER_AGGREGATES:this.doFilterAggregates(i);case c.ClientSideRowModelSteps.SORT:this.doSort(t.rowNodeTransactions,i);case c.ClientSideRowModelSteps.MAP:this.doRowsToDisplay()}const s=this.setRowTopAndRowIndex();this.clearRowTopAndRowIndex(i,s),this.isRefreshingModel=!1,this.eventService.dispatchEvent({type:"modelUpdated",animate:t.animate,keepRenderedRows:t.keepRenderedRows,newData:t.newData,newPage:!1,keepUndoRedoStack:t.keepUndoRedoStack})}isEmpty(){const e=(0,c._missing)(this.rootNode.allLeafChildren)||0===this.rootNode.allLeafChildren.length;return(0,c._missing)(this.rootNode)||e||!this.columnModel.isReady()}isRowsToRender(){return(0,c._exists)(this.rowsToDisplay)&&this.rowsToDisplay.length>0}getNodesInRangeForSelection(e,t){let i=!1,s=!1;const o=[],r=(0,c._getGroupSelectsDescendants)(this.gos);return this.forEachNodeAfterFilterAndSort((n=>{if(s)return;if(i&&(n===t||n===e)&&(s=!0,n.group&&r))return void o.push(...n.allLeafChildren);if(!i){if(n!==t&&n!==e)return;i=!0}(!n.group||!r)&&o.push(n)})),o}setDatasource(e){(0,c._errorOnce)("should never call setDatasource on clientSideRowController")}getTopLevelNodes(){return this.rootNode?this.rootNode.childrenAfterGroup:null}getRootNode(){return this.rootNode}getRow(e){return this.rowsToDisplay[e]}isRowPresent(e){return this.rowsToDisplay.indexOf(e)>=0}getRowIndexAtPixel(e){if(this.isEmpty()||0===this.rowsToDisplay.length)return-1;let t=0,i=this.rowsToDisplay.length-1;if(e<=0)return 0;if((0,c._last)(this.rowsToDisplay).rowTop<=e)return this.rowsToDisplay.length-1;let s=-1,o=-1;for(;;){const r=Math.floor((t+i)/2),n=this.rowsToDisplay[r];if(this.isRowInPixel(n,e))return r;n.rowTop<e?t=r+1:n.rowTop>e&&(i=r-1);if(s===t&&o===i)return r;s=t,o=i}}isRowInPixel(e,t){const i=e.rowTop,s=e.rowTop+e.rowHeight;return i<=t&&s>t}forEachLeafNode(e){this.rootNode.allLeafChildren&&this.rootNode.allLeafChildren.forEach(((t,i)=>e(t,i)))}forEachNode(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[...this.rootNode.childrenAfterGroup||[]],callback:e,recursionType:0,index:0,includeFooterNodes:t})}forEachNodeAfterFilter(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[...this.rootNode.childrenAfterAggFilter||[]],callback:e,recursionType:1,index:0,includeFooterNodes:t})}forEachNodeAfterFilterAndSort(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[...this.rootNode.childrenAfterSort||[]],callback:e,recursionType:2,index:0,includeFooterNodes:t})}forEachPivotNode(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[this.rootNode],callback:e,recursionType:3,index:0,includeFooterNodes:t})}recursivelyWalkNodesAndCallback(e){const{nodes:t,callback:i,recursionType:s,includeFooterNodes:o}=e;let{index:r}=e;const n=e=>{const s=t[0]?.parent;if(!s)return;const n=o&&(0,c._getGrandTotalRow)(this.gos),a=(0,c._getGroupTotalRowCallback)(this.gos),l=o&&a({node:s});s===this.rootNode?n===e&&(s.createFooter(),i(s.sibling,r++)):l===e&&(s.createFooter(),i(s.sibling,r++))};n("top");for(let e=0;e<t.length;e++){const n=t[e];if(i(n,r++),n.hasChildren()&&!n.footer){let e=null;switch(s){case 0:e=n.childrenAfterGroup;break;case 1:e=n.childrenAfterAggFilter;break;case 2:e=n.childrenAfterSort;break;case 3:e=n.leafGroup?null:n.childrenAfterSort}e&&(r=this.recursivelyWalkNodesAndCallback({nodes:[...e],callback:i,recursionType:s,index:r,includeFooterNodes:o}))}}return n("bottom"),r}doAggregate(e){this.aggregationStage?.execute({rowNode:this.rootNode,changedPath:e})}doFilterAggregates(e){this.filterAggregatesStage?this.filterAggregatesStage.execute({rowNode:this.rootNode,changedPath:e}):this.rootNode.childrenAfterAggFilter=this.rootNode.childrenAfterFilter}expandOrCollapseAll(e){const t=this.gos.get("treeData"),i=this.columnModel.isPivotActive(),s=o=>{o&&o.forEach((o=>{const r=()=>{o.expanded=e,s(o.childrenAfterGroup)};if(t){return void((0,c._exists)(o.childrenAfterGroup)&&r())}if(i){return void(!o.leafGroup&&r())}o.group&&r()}))};this.rootNode&&s(this.rootNode.childrenAfterGroup),this.refreshModel({step:c.ClientSideRowModelSteps.MAP}),this.eventService.dispatchEvent({type:"expandOrCollapseAll",source:e?"expandAll":"collapseAll"})}doSort(e,t){this.sortStage.execute({rowNode:this.rootNode,rowNodeTransactions:e,changedPath:t})}doRowGrouping(e,t,i,s){if(this.groupStage){if(e?this.groupStage.execute({rowNode:this.rootNode,rowNodeTransactions:e,rowNodesOrderChanged:i,changedPath:t}):this.groupStage.execute({rowNode:this.rootNode,changedPath:t,afterColumnsChanged:s}),(0,c._getGroupSelectsDescendants)(this.gos)){this.selectionService.updateGroupsFromChildrenSelections("rowGroupChanged",t)&&this.eventService.dispatchEvent({type:"selectionChanged",source:"rowGroupChanged"})}}else{const e=this.rootNode,t=e.sibling;e.childrenAfterGroup=e.allLeafChildren,t&&(t.childrenAfterGroup=e.childrenAfterGroup),this.rootNode.updateHasChildren()}this.nodeManager.isRowCountReady()&&(this.rowCountReady=!0,this.eventService.dispatchEventOnce({type:"rowCountReady"}))}doFilter(e){this.filterStage.execute({rowNode:this.rootNode,changedPath:e})}doPivot(e){this.pivotStage?.execute({rowNode:this.rootNode,changedPath:e})}getNodeManager(){return this.nodeManager}getRowNode(e){if("string"==typeof e&&0==e.indexOf(c.RowNode.ID_PREFIX_ROW_GROUP)){let t;return this.forEachNode((i=>{i.id===e&&(t=i)})),t}return this.nodeManager.getRowNode(e)}setRowData(e){this.selectionService.reset("rowDataChanged"),this.nodeManager.setRowData(e),this.hasStarted&&this.dispatchUpdateEventsAndRefresh()}dispatchUpdateEventsAndRefresh(){this.eventService.dispatchEvent({type:"rowDataUpdated"}),this.refreshModel({step:c.ClientSideRowModelSteps.EVERYTHING,newData:!0})}batchUpdateRowData(e,t){if(null==this.applyAsyncTransactionsTimeout){this.rowDataTransactionBatch=[];const e=this.gos.get("asyncTransactionWaitMillis");this.applyAsyncTransactionsTimeout=window.setTimeout((()=>{this.isAlive()&&this.executeBatchUpdateRowData()}),e)}this.rowDataTransactionBatch.push({rowDataTransaction:e,callback:t})}flushAsyncTransactions(){null!=this.applyAsyncTransactionsTimeout&&(clearTimeout(this.applyAsyncTransactionsTimeout),this.executeBatchUpdateRowData())}executeBatchUpdateRowData(){this.valueCache.onDataChanged();const e=[],t=[];let i=!1;this.rowDataTransactionBatch?.forEach((s=>{const{rowNodeTransaction:o,rowsInserted:r}=this.nodeManager.updateRowData(s.rowDataTransaction);r&&(i=!0),t.push(o),s.callback&&e.push(s.callback.bind(null,o))})),this.commonUpdateRowData(t,i),e.length>0&&window.setTimeout((()=>{e.forEach((e=>e()))}),0),t.length>0&&this.eventService.dispatchEvent({type:"asyncTransactionsFlushed",results:t}),this.rowDataTransactionBatch=null,this.applyAsyncTransactionsTimeout=void 0}updateRowData(e){this.valueCache.onDataChanged();const{rowNodeTransaction:t,rowsInserted:i}=this.nodeManager.updateRowData(e);return this.commonUpdateRowData([t],i),t}afterImmutableDataChange(e,t){this.commonUpdateRowData([e],t)}commonUpdateRowData(e,t){if(!this.hasStarted)return;const i=!this.gos.get("suppressAnimationFrame");this.eventService.dispatchEvent({type:"rowDataUpdated"}),this.refreshModel({step:c.ClientSideRowModelSteps.EVERYTHING,rowNodeTransactions:e,rowNodesOrderChanged:t,keepRenderedRows:!0,keepEditingRows:!0,animate:i})}doRowsToDisplay(){this.rowsToDisplay=this.flattenStage.execute({rowNode:this.rootNode})}onRowHeightChanged(){this.refreshModel({step:c.ClientSideRowModelSteps.MAP,keepRenderedRows:!0,keepEditingRows:!0,keepUndoRedoStack:!0})}onRowHeightChangedDebounced(){this.onRowHeightChanged_debounced()}resetRowHeights(){const e=this.resetRowHeightsForAllRowNodes();this.rootNode.setRowHeight(this.rootNode.rowHeight,!0),this.rootNode.sibling&&this.rootNode.sibling.setRowHeight(this.rootNode.sibling.rowHeight,!0),e&&this.onRowHeightChanged()}resetRowHeightsForAllRowNodes(){let e=!1;return this.forEachNode((t=>{t.setRowHeight(t.rowHeight,!0);const i=t.detailNode;i&&i.setRowHeight(i.rowHeight,!0),t.sibling&&t.sibling.setRowHeight(t.sibling.rowHeight,!0),e=!0})),e}onGridStylesChanges(e){if(e.rowHeightChanged){if(this.columnModel.isAutoRowHeightActive())return;this.resetRowHeights()}}onGridReady(){this.hasStarted||this.setInitialData()}isRowDataLoaded(){return this.rowCountReady}},m=i(423);var f=i(423),v=class extends f.BeanStub{constructor(){super(...arguments),this.beanName="filterStage"}wireBeans(e){this.filterManager=e.filterManager}execute(e){const{changedPath:t}=e;this.filter(t)}filter(e){const t=!!this.filterManager?.isChildFilterPresent();this.filterNodes(t,e)}filterNodes(e,t){const i=(t,i)=>{t.hasChildren()?t.childrenAfterFilter=e&&!i?t.childrenAfterGroup.filter((e=>{const t=e.childrenAfterFilter&&e.childrenAfterFilter.length>0,i=e.data&&this.filterManager.doesRowPassFilter({rowNode:e});return t||i})):t.childrenAfterGroup:t.childrenAfterFilter=t.childrenAfterGroup,t.sibling&&(t.sibling.childrenAfterFilter=t.childrenAfterFilter)};if(this.doingTreeDataFiltering()){const e=(t,s)=>{if(t.childrenAfterGroup)for(let o=0;o<t.childrenAfterGroup.length;o++){const r=t.childrenAfterGroup[o],n=s||this.filterManager.doesRowPassFilter({rowNode:r});r.childrenAfterGroup?e(t.childrenAfterGroup[o],n):i(r,n)}i(t,s)},s=t=>e(t,!1);t.executeFromRootNode(s)}else{const e=e=>i(e,!1);t.forEachChangedNodeDepthFirst(e,!0)}}doingTreeDataFiltering(){return this.gos.get("treeData")&&!this.gos.get("excludeChildrenWhenTreeDataFiltering")}},C=i(423),y=class extends C.BeanStub{constructor(){super(...arguments),this.beanName="flattenStage"}wireBeans(e){this.beans=e,this.columnModel=e.columnModel}execute(e){const t=e.rowNode,i=[],s=this.columnModel.isPivotMode(),o=s&&t.leafGroup,r=o?[t]:t.childrenAfterSort,n=this.getFlattenDetails();this.recursivelyAddToRowsToDisplay(n,r,i,s,0);if(!o&&i.length>0&&n.grandTotalRow){t.createFooter();const e="top"===n.grandTotalRow;this.addRowNodeToRowsToDisplay(n,t.sibling,i,0,e)}return i}getFlattenDetails(){const e=this.gos.get("groupRemoveSingleChildren");return{groupRemoveLowestSingleChildren:!e&&this.gos.get("groupRemoveLowestSingleChildren"),groupRemoveSingleChildren:e,isGroupMultiAutoColumn:(0,C._isGroupMultiAutoColumn)(this.gos),hideOpenParents:this.gos.get("groupHideOpenParents"),grandTotalRow:(0,C._getGrandTotalRow)(this.gos),groupTotalRow:(0,C._getGroupTotalRowCallback)(this.gos)}}recursivelyAddToRowsToDisplay(e,t,i,s,o){if(!(0,C._missingOrEmpty)(t))for(let r=0;r<t.length;r++){const n=t[r],a=n.hasChildren(),l=s&&!a,h=e.groupRemoveSingleChildren&&a&&1===n.childrenAfterGroup.length,d=e.groupRemoveLowestSingleChildren&&a&&n.leafGroup&&1===n.childrenAfterGroup.length,c=s&&n.leafGroup,u=e.hideOpenParents&&n.expanded&&!n.master&&!c;if(!(l||u||h||d)&&this.addRowNodeToRowsToDisplay(e,n,i,o),!s||!n.leafGroup)if(a){const t=h||d;if(n.expanded||t){const r=e.groupTotalRow({node:n});r||n.destroyFooter();const a=t?o:o+1;"top"===r&&(n.createFooter(),this.addRowNodeToRowsToDisplay(e,n.sibling,i,a)),this.recursivelyAddToRowsToDisplay(e,n.childrenAfterSort,i,s,a),"bottom"===r&&(n.createFooter(),this.addRowNodeToRowsToDisplay(e,n.sibling,i,a))}}else if(n.master&&n.expanded){const t=this.createDetailNode(n);this.addRowNodeToRowsToDisplay(e,t,i,o)}}}addRowNodeToRowsToDisplay(e,t,i,s,o){o?i.unshift(t):i.push(t),t.setUiLevel(e.isGroupMultiAutoColumn?0:s)}createDetailNode(e){if((0,C._exists)(e.detailNode))return e.detailNode;const t=new C.RowNode(this.beans);return t.detail=!0,t.selectable=!1,t.parent=e,(0,C._exists)(e.id)&&(t.id="detail_"+e.id),t.data=e.data,t.level=e.level+1,e.detailNode=t,t}},w=i(423),b=class extends w.BeanStub{constructor(){super(...arguments),this.beanName="immutableService"}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){(0,w._isClientSideRowModel)(this.gos)&&(this.clientSideRowModel=this.rowModel,this.addManagedPropertyListener("rowData",(()=>this.onRowDataUpdated())))}isActive(){const e=this.gos.exists("getRowId");return!this.gos.get("resetRowDataOnUpdate")&&e}setRowData(e){const t=this.createTransactionForRowData(e);if(!t)return;const i=this.clientSideRowModel.getNodeManager(),{rowNodeTransaction:s,rowsInserted:o}=i.updateRowData(t);let r=!1;this.gos.get("suppressMaintainUnsortedOrder")||(r=i.updateRowOrderFromRowData(e)),this.clientSideRowModel.afterImmutableDataChange(s,r||o)}createTransactionForRowData(e){if(!(0,w._isClientSideRowModel)(this.gos))return(0,w._errorOnce)("ImmutableService only works with ClientSideRowModel"),null;const t=(0,w._getRowIdCallback)(this.gos);if(null==t)return(0,w._errorOnce)("ImmutableService requires getRowId() callback to be implemented, your row data needs IDs!"),null;const i=this.clientSideRowModel.getNodeManager().getCopyOfNodesMap(),s=[],o=[],r=[];return(0,w._exists)(e)&&e.forEach((e=>{const s=t({data:e,level:0}),n=i[s];if(n){n.data!==e&&o.push(e),i[s]=void 0}else r.push(e)})),(0,w._iterateObject)(i,((e,t)=>{t&&s.push(t.data)})),{remove:s,update:o,add:r}}onRowDataUpdated(){const e=this.gos.get("rowData");e&&(this.isActive()?this.setRowData(e):(this.selectionService.reset("rowDataChanged"),this.clientSideRowModel.setRowData(e)))}},S=i(423),x=class extends S.BeanStub{constructor(){super(...arguments),this.beanName="sortService"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.rowNodeSorter=e.rowNodeSorter,this.showRowGroupColsService=e.showRowGroupColsService}sort(e,t,i,s,o,r){const n=this.gos.get("groupMaintainOrder"),a=this.columnModel.getCols().some((e=>e.isRowGroupActive()));let l={};i&&s&&(l=this.calculateDirtyNodes(s));const h=this.columnModel.isPivotMode(),d=this.gos.getCallback("postSortRows"),c=s=>{this.pullDownGroupDataForHideOpenParents(s.childrenAfterAggFilter,!0);const c=h&&s.leafGroup;if(n&&a&&!s.leafGroup&&!r){const e=this.funcColsService.getRowGroupColumns()?.[s.level+1],t=null===e?.getSort(),i=s.childrenAfterAggFilter.slice(0);if(s.childrenAfterSort&&!t){const e={};s.childrenAfterSort.forEach(((t,i)=>{e[t.id]=i})),i.sort(((t,i)=>(e[t.id]??0)-(e[i.id]??0)))}s.childrenAfterSort=i}else s.childrenAfterSort=!t||c?s.childrenAfterAggFilter.slice(0):i?this.doDeltaSort(s,l,o,e):this.rowNodeSorter.doFullSort(s.childrenAfterAggFilter,e);if(s.sibling&&(s.sibling.childrenAfterSort=s.childrenAfterSort),this.updateChildIndexes(s),d){const e={nodes:s.childrenAfterSort};d(e)}};o&&o.forEachChangedNodeDepthFirst(c),this.updateGroupDataForHideOpenParents(o)}calculateDirtyNodes(e){const t={},i=e=>{e&&e.forEach((e=>t[e.id]=!0))};return e&&e.forEach((e=>{i(e.add),i(e.update),i(e.remove)})),t}doDeltaSort(e,t,i,s){const o=e.childrenAfterAggFilter,r=e.childrenAfterSort;if(!r)return this.rowNodeSorter.doFullSort(o,s);const n={},a=[];o.forEach((e=>{t[e.id]||!i.canSkip(e)?a.push(e):n[e.id]=!0}));const l=r.filter((e=>n[e.id])),h=(e,t)=>({currentPos:t,rowNode:e}),d=a.map(h).sort(((e,t)=>this.rowNodeSorter.compareRowNodes(s,e,t)));return this.mergeSortedArrays(s,d,l.map(h)).map((({rowNode:e})=>e))}mergeSortedArrays(e,t,i){const s=[];let o=0,r=0;for(;o<t.length&&r<i.length;){this.rowNodeSorter.compareRowNodes(e,t[o],i[r])<0?s.push(t[o++]):s.push(i[r++])}for(;o<t.length;)s.push(t[o++]);for(;r<i.length;)s.push(i[r++]);return s}updateChildIndexes(e){if((0,S._missing)(e.childrenAfterSort))return;const t=e.childrenAfterSort;for(let i=0;i<t.length;i++){const s=t[i],o=0===i,r=i===e.childrenAfterSort.length-1;s.setFirstChild(o),s.setLastChild(r),s.setChildIndex(i)}}updateGroupDataForHideOpenParents(e){if(!this.gos.get("groupHideOpenParents"))return;if(this.gos.get("treeData"))return(0,S._warnOnce)("The property hideOpenParents dose not work with Tree Data. This is because Tree Data has values at the group level, it doesn't make sense to hide them."),!1;const t=e=>{this.pullDownGroupDataForHideOpenParents(e.childrenAfterSort,!1),e.childrenAfterSort.forEach((e=>{e.hasChildren()&&t(e)}))};e&&e.executeFromRootNode((e=>t(e)))}pullDownGroupDataForHideOpenParents(e,t){this.gos.get("groupHideOpenParents")&&!(0,S._missing)(e)&&e.forEach((e=>{(this.showRowGroupColsService?.getShowRowGroupCols()??[]).forEach((i=>{const s=i.getColDef().showRowGroup;if("string"!=typeof s)return void(0,S._errorOnce)("groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup");const o=s,r=this.columnModel.getColDefCol(o);if(!(r===e.rowGroupColumn))if(t)e.setGroupValue(i.getId(),void 0);else{const t=this.getFirstChildOfFirstChild(e,r);t&&e.setGroupValue(i.getId(),t.key)}}))}))}getFirstChildOfFirstChild(e,t){let i=e;for(;i;){const e=i.parent;if(!e||!i.firstChild)return null;if(e.rowGroupColumn===t)return e;i=e}return null}},M=i(423),D=class extends M.BeanStub{constructor(){super(...arguments),this.beanName="sortStage"}wireBeans(e){this.sortService=e.sortService,this.sortController=e.sortController}execute(e){const t=this.sortController.getSortOptions(),i=(0,M._exists)(t)&&t.length>0,s=i&&(0,M._exists)(e.rowNodeTransactions)&&this.gos.get("deltaSort"),o=t.some((e=>(0,M._isColumnsSortingCoupledToGroup)(this.gos)?e.column.isPrimary()&&e.column.isRowGroupActive():!!e.column.getColDef().showRowGroup));this.sortService.sort(t,i,s,e.rowNodeTransactions,e.changedPath,o)}},E="32.2.1",R=(0,h._defineModule)({version:E,moduleName:`${d.ModuleNames.ClientSideRowModelModule}-core`,rowModel:"clientSide",beans:[g,v,D,y,x,b]}),I=(0,h._defineModule)({version:E,moduleName:`${d.ModuleNames.ClientSideRowModelModule}-api`,beans:[d.RowModelHelperService],apiFunctions:{onGroupExpandedOrCollapsed:function(e){e.expansionService.onGroupExpandedOrCollapsed()},refreshClientSideRowModel:function(e,t){e.rowModelHelperService?.getClientSideRowModel()?.refreshModel(t)},isRowDataEmpty:function(e){return e.rowModelHelperService?.getClientSideRowModel()?.isEmpty()??!0},forEachLeafNode:function(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachLeafNode(t)},forEachNodeAfterFilter:function(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachNodeAfterFilter(t)},forEachNodeAfterFilterAndSort:function(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachNodeAfterFilterAndSort(t)},resetRowHeights:function(e){e.columnModel.isAutoRowHeightActive()?(0,m._warnOnce)("calling gridApi.resetRowHeights() makes no sense when using Auto Row Height."):e.rowModelHelperService?.getClientSideRowModel()?.resetRowHeights()},applyTransaction:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>e.rowModelHelperService?.getClientSideRowModel()?.updateRowData(t)))},applyTransactionAsync:function(e,t,i){e.frameworkOverrides.wrapIncoming((()=>e.rowModelHelperService?.getClientSideRowModel()?.batchUpdateRowData(t,i)))},flushAsyncTransactions:function(e){e.frameworkOverrides.wrapIncoming((()=>e.rowModelHelperService?.getClientSideRowModel()?.flushAsyncTransactions()))},getBestCostNodeSelection:function(e){return e.selectionService.getBestCostNodeSelection()}},dependantModules:[R,d._CsrmSsrmSharedApiModule]}),A=(0,h._defineModule)({version:E,moduleName:d.ModuleNames.ClientSideRowModelModule,dependantModules:[R,I]})},423:function(e,t,i){var s,o=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var i in t)o(e,i,{get:t[i],enumerable:!0})})(l,{ALWAYS_SYNC_GLOBAL_EVENTS:()=>Fd,AbstractHeaderCellCtrl:()=>dn,AgAbstractField:()=>to,AgAbstractInputField:()=>io,AgAbstractLabel:()=>eo,AgCheckbox:()=>so,AgCheckboxSelector:()=>oo,AgColumn:()=>vt,AgColumnGroup:()=>Ht,AgInputDateField:()=>Ol,AgInputNumberField:()=>Pr,AgInputNumberFieldSelector:()=>Lr,AgInputTextArea:()=>El,AgInputTextField:()=>Ar,AgInputTextFieldSelector:()=>Tr,AgPickerField:()=>br,AgPromise:()=>vo,AgProvidedColumnGroup:()=>$e,AgRadioButton:()=>yr,AgSelect:()=>Sr,AgSelectSelector:()=>xr,AgToggleButton:()=>uh,AgToggleButtonSelector:()=>ph,AnimateShowChangeCellRenderer:()=>Xs,AnimateSlideCellRenderer:()=>Qs,AnimationFrameService:()=>Sl,AriaAnnouncementService:()=>Ud,AutoScrollService:()=>qo,AutoWidthCalculator:()=>eh,BarColumnLabelPlacement:()=>bc,BaseComponentWrapper:()=>yc,BeanStub:()=>Ke,BodyDropPivotTarget:()=>jn,BodyDropTarget:()=>qn,CellComp:()=>nl,CellCtrl:()=>Na,CellNavigationService:()=>Sh,CellPositionUtils:()=>_h,CellRangeType:()=>Ta,ChangedPath:()=>Qd,ChartMappings:()=>wc,CheckboxCellEditor:()=>_l,CheckboxCellRenderer:()=>ro,CheckboxSelectionComponent:()=>xa,ClientSideRowModelSteps:()=>xl,ColumnApplyStateService:()=>It,ColumnAutosizeService:()=>Et,ColumnFactory:()=>wt,ColumnKeyCreator:()=>yt,ColumnModel:()=>St,ColumnMoveService:()=>Tt,ColumnNameService:()=>Ot,ColumnSizeService:()=>Bt,CommunityFeaturesModule:()=>Ld,Component:()=>Gs,ComponentUtil:()=>Qt,Context:()=>Wo,CssClassManager:()=>pi,CtrlsService:()=>Hh,DataTypeService:()=>od,DateCellEditor:()=>zl,DateFilter:()=>tn,DateStringCellEditor:()=>Hl,DragAndDropService:()=>Zo,DragService:()=>Jo,DragSourceType:()=>$o,Environment:()=>$h,EventService:()=>Xh,ExcelFactoryMode:()=>Uo,ExpansionService:()=>Ml,ExpressionService:()=>rc,FakeHScrollComp:()=>ga,FakeVScrollComp:()=>va,FilterManager:()=>ar,FilterWrapperComp:()=>lr,FocusService:()=>Jh,FuncColsService:()=>Rt,GROUP_AUTO_COLUMN_ID:()=>Xe,Grid:()=>pc,GridBodyComp:()=>ul,GridBodyCtrl:()=>rl,GridComp:()=>id,GridCoreCreator:()=>mc,GridCoreModule:()=>Td,GridCtrl:()=>td,GridHeaderComp:()=>aa,GridHeaderCtrl:()=>Hn,GridOptionsService:()=>zd,GroupInstanceIdCreator:()=>_t,HeaderCellCtrl:()=>Jn,HeaderFilterCellComp:()=>Fn,HeaderFilterCellCtrl:()=>un,HeaderGroupCellCtrl:()=>ia,HeaderNavigationDirection:()=>zn,HeaderNavigationService:()=>Vn,HeaderPositionUtils:()=>Vd,HeaderRowComp:()=>Bn,HeaderRowContainerComp:()=>na,HeaderRowContainerCtrl:()=>ra,HeaderRowCtrl:()=>oa,HeaderRowType:()=>Gn,HorizontalDirection:()=>Yo,HorizontalResizeService:()=>yl,KeyCode:()=>Js,LargeTextCellEditor:()=>Il,LayoutCssClasses:()=>ha,LocalEventService:()=>h,LocaleService:()=>Hd,ManagedFocusFeature:()=>gr,MenuService:()=>Dl,ModuleNames:()=>d,ModuleRegistry:()=>_o,MouseEventService:()=>vl,MoveColumnFeature:()=>Zn,NavigationService:()=>Cl,NumberCellEditor:()=>Nl,NumberFilter:()=>Gr,NumberSequence:()=>Ps,OverlayWrapperComponent:()=>ca,PinnedRowModel:()=>oh,PivotResultColsService:()=>Gt,PopupComponent:()=>uo,PopupEditorWrapper:()=>Al,PopupService:()=>yh,PositionableFeature:()=>ur,PropertyKeys:()=>qt,ProvidedFilter:()=>Cr,RefPlaceholder:()=>Os,ResizeObserverService:()=>bl,RowContainerComp:()=>ll,RowContainerCtrl:()=>sl,RowCtrl:()=>Ba,RowDragComp:()=>er,RowHighlightPosition:()=>Xo,RowModelHelperService:()=>fc,RowNode:()=>nr,RowNodeBlock:()=>ah,RowNodeBlockLoader:()=>lh,RowNodeSorter:()=>Xd,RowPositionUtils:()=>Wh,RowRenderer:()=>ih,ScalarFilter:()=>Er,ScrollVisibleService:()=>gl,SelectCellEditor:()=>Tl,SelectableService:()=>ec,SelectionHandleType:()=>Aa,ServerSideTransactionResultStatus:()=>nh,SetLeftFeature:()=>sn,SimpleFilter:()=>Dr,SortController:()=>ic,SortIndicatorComp:()=>Ys,SortIndicatorSelector:()=>$s,StandardMenuFactory:()=>wl,StylingService:()=>ch,TabGuardClassNames:()=>gh,TabGuardComp:()=>vh,TabGuardCtrl:()=>mh,TabGuardFeature:()=>fh,TextCellEditor:()=>kl,TextFilter:()=>Hr,TextFloatingFilter:()=>Sn,TooltipFeature:()=>Fs,TooltipStateManager:()=>ks,TouchListener:()=>Ws,UserComponentFactory:()=>zo,UserComponentRegistry:()=>fo,ValueCache:()=>nc,ValueService:()=>ac,VanillaFrameworkOverrides:()=>bh,VerticalDirection:()=>Ko,VisibleColsService:()=>jt,_ColumnFilterModule:()=>Dn,_CommunityMenuApiModule:()=>dd,_CsrmSsrmSharedApiModule:()=>vc,_EditCoreModule:()=>$l,_EmptyBean:()=>ti,_FilterCoreModule:()=>xn,_FloatingFilterModule:()=>In,_ReadOnlyFloatingFilterModule:()=>An,_RowNodeBlockModule:()=>hh,_SsrmInfiniteSharedApiModule:()=>Cc,_addFocusableContainerListener:()=>md,_areEqual:()=>Ee,_bindCellRendererToHtmlElement:()=>Ts,_capitalise:()=>Ft,_clearElement:()=>ms,_cloneObject:()=>at,_combineAttributesAndGridOptions:()=>Jt,_compose:()=>M,_createIcon:()=>Vs,_createIconNoSpan:()=>Hs,_debounce:()=>b,_defaultComparator:()=>F,_defineModule:()=>pn,_doOnce:()=>u,_errorOnce:()=>m,_escapeString:()=>Nt,_exists:()=>E,_existsAndNotEmpty:()=>Me,_flatten:()=>Ne,_forEachReverse:()=>Ge,_formatNumberCommas:()=>Kr,_formatNumberTwoDecimalPlacesAndCommas:()=>Ur,_fuzzySuggestions:()=>go,_getAbsoluteHeight:()=>hs,_getAbsoluteWidth:()=>ds,_getActiveDomElement:()=>X,_getAllValuesInObject:()=>ht,_getAriaPosInSet:()=>yi,_getCtrlForEventTarget:()=>We,_getDocument:()=>$,_getFillHandle:()=>me,_getGlobalGridOption:()=>cc,_getGrandTotalRow:()=>se,_getGroupAggFiltering:()=>ie,_getGroupSelection:()=>be,_getGroupSelectsDescendants:()=>Se,_getGroupTotalRowCallback:()=>oe,_getHeaderCheckbox:()=>he,_getHeaderClassesFromColDef:()=>on,_getInnerHeight:()=>as,_getInnerWidth:()=>ls,_getIsRowSelectable:()=>Ce,_getRowContainerOptions:()=>$a,_getRowHeightAsNumber:()=>W,_getRowHeightForNode:()=>j,_getRowIdCallback:()=>ae,_getRowSelectionMode:()=>ye,_getSuppressMultiRanges:()=>ue,_getToolPanelClassesFromColDef:()=>rn,_includes:()=>Fe,_insertArrayIntoArray:()=>Le,_insertIntoArray:()=>Pe,_isAnimateRows:()=>J,_isCellSelectionEnabled:()=>pe,_isClientSideRowModel:()=>G,_isColumnsSortingCoupledToGroup:()=>te,_isDomLayout:()=>z,_isElementInEventPath:()=>Ue,_isEventFromPrintableCharacter:()=>Rr,_isGetRowHeightFunction:()=>_,_isGroupMultiAutoColumn:()=>re,_isGroupUseEntireRow:()=>ne,_isIOSUserAgent:()=>$i,_isMultiRowSelection:()=>we,_isNodeOrElement:()=>Rs,_isNothingFocused:()=>Q,_isRowSelection:()=>V,_isServerSideRowModel:()=>B,_isStopPropagationForAgGrid:()=>_e,_isUsingNewCellSelectionAPI:()=>ce,_isUsingNewRowSelectionAPI:()=>de,_isVisible:()=>Cs,_iterateObject:()=>nt,_jsonEquals:()=>k,_last:()=>De,_loadTemplate:()=>ys,_log:()=>p,_makeNull:()=>D,_mergeDeep:()=>dt,_missing:()=>R,_missingOrEmpty:()=>I,_parseDateTimeFromString:()=>qr,_processOnChange:()=>ei,_radioCssClass:()=>Ji,_removeAriaExpanded:()=>Ai,_removeAriaSort:()=>Bi,_removeFromArray:()=>Te,_removeFromParent:()=>fs,_removeRepeatsFromArray:()=>Ie,_serialiseDate:()=>Yr,_setAriaActiveDescendant:()=>Ri,_setAriaChecked:()=>Vi,_setAriaColCount:()=>Fi,_setAriaColIndex:()=>Ni,_setAriaColSpan:()=>Oi,_setAriaControls:()=>Hi,_setAriaDescribedBy:()=>Si,_setAriaDisabled:()=>Di,_setAriaExpanded:()=>Ii,_setAriaHidden:()=>Ei,_setAriaLabel:()=>wi,_setAriaLabelledBy:()=>bi,_setAriaLevel:()=>Mi,_setAriaPosInSet:()=>Pi,_setAriaRole:()=>Ci,_setAriaRowCount:()=>Li,_setAriaRowIndex:()=>ki,_setAriaSelected:()=>zi,_setAriaSetSize:()=>Ti,_setAriaSort:()=>Gi,_setDisabled:()=>os,_setDisplayed:()=>is,_setFixedWidth:()=>Ms,_setVisible:()=>ss,_shallowCompare:()=>Re,_stopPropagationForAgGrid:()=>He,_toStringOrNull:()=>A,_unwrapUserComp:()=>Vo,_utf8_encode:()=>kt,_values:()=>N,_waitUntil:()=>x,_warnOnce:()=>g,createGrid:()=>uc,getDefaultFloatingFilterType:()=>mn,isColumn:()=>ft,isColumnControlsCol:()=>it,isColumnGroup:()=>Vt,isColumnGroupAutoCol:()=>tt,isProvidedColumnGroup:()=>Ye,isSelectionUIEvent:()=>Nd,provideGlobalGridOptions:()=>dc}),e.exports=(s=l,((e,t,i,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of n(t))a.call(e,l)||l===i||o(e,l,{get:()=>t[l],enumerable:!(s=r(t,l))||s.enumerable});return e})(o({},"__esModule",{value:!0}),s));var h=class{constructor(){this.allSyncListeners=new Map,this.allAsyncListeners=new Map,this.globalSyncListeners=new Set,this.globalAsyncListeners=new Set,this.asyncFunctionsQueue=[],this.scheduled=!1,this.firedEvents={}}setFrameworkOverrides(e){this.frameworkOverrides=e}getListeners(e,t,i){const s=t?this.allAsyncListeners:this.allSyncListeners;let o=s.get(e);return!o&&i&&(o=new Set,s.set(e,o)),o}noRegisteredListenersExist(){return 0===this.allSyncListeners.size&&0===this.allAsyncListeners.size&&0===this.globalSyncListeners.size&&0===this.globalAsyncListeners.size}addEventListener(e,t,i=!1){this.getListeners(e,i,!0).add(t)}removeEventListener(e,t,i=!1){const s=this.getListeners(e,i,!1);if(s&&(s.delete(t),0===s.size)){(i?this.allAsyncListeners:this.allSyncListeners).delete(e)}}addGlobalListener(e,t=!1){(t?this.globalAsyncListeners:this.globalSyncListeners).add(e)}removeGlobalListener(e,t=!1){(t?this.globalAsyncListeners:this.globalSyncListeners).delete(e)}dispatchEvent(e){const t=e;this.dispatchToListeners(t,!0),this.dispatchToListeners(t,!1),this.firedEvents[t.type]=!0}dispatchEventOnce(e){this.firedEvents[e.type]||this.dispatchEvent(e)}dispatchToListeners(e,t){const i=e.type;if(t&&"event"in e){const t=e.event;t instanceof Event&&(e.eventPath=t.composedPath())}const s=(i,s)=>i.forEach((i=>{if(!s.has(i))return;const o=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming((()=>i(e))):()=>i(e);t?this.dispatchAsync(o):o()})),o=this.getListeners(i,t,!1)??new Set,r=new Set(o);r.size>0&&s(r,o);new Set(t?this.globalAsyncListeners:this.globalSyncListeners).forEach((s=>{const o=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming((()=>s(i,e))):()=>s(i,e);t?this.dispatchAsync(o):o()}))}dispatchAsync(e){if(this.asyncFunctionsQueue.push(e),!this.scheduled){const e=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)};this.frameworkOverrides?this.frameworkOverrides.wrapIncoming(e):e(),this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;const e=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[],e.forEach((e=>e()))}},d=(e=>(e.CommunityCoreModule="@ag-grid-community/core",e.InfiniteRowModelModule="@ag-grid-community/infinite-row-model",e.ClientSideRowModelModule="@ag-grid-community/client-side-row-model",e.CsvExportModule="@ag-grid-community/csv-export",e.EnterpriseCoreModule="@ag-grid-enterprise/core",e.RowGroupingModule="@ag-grid-enterprise/row-grouping",e.ColumnsToolPanelModule="@ag-grid-enterprise/column-tool-panel",e.FiltersToolPanelModule="@ag-grid-enterprise/filter-tool-panel",e.MenuModule="@ag-grid-enterprise/menu",e.SetFilterModule="@ag-grid-enterprise/set-filter",e.MultiFilterModule="@ag-grid-enterprise/multi-filter",e.StatusBarModule="@ag-grid-enterprise/status-bar",e.SideBarModule="@ag-grid-enterprise/side-bar",e.RangeSelectionModule="@ag-grid-enterprise/range-selection",e.MasterDetailModule="@ag-grid-enterprise/master-detail",e.RichSelectModule="@ag-grid-enterprise/rich-select",e.GridChartsModule="@ag-grid-enterprise/charts",e.ViewportRowModelModule="@ag-grid-enterprise/viewport-row-model",e.ServerSideRowModelModule="@ag-grid-enterprise/server-side-row-model",e.ExcelExportModule="@ag-grid-enterprise/excel-export",e.ClipboardModule="@ag-grid-enterprise/clipboard",e.SparklinesModule="@ag-grid-enterprise/sparklines",e.AdvancedFilterModule="@ag-grid-enterprise/advanced-filter",e.AngularModule="@ag-grid-community/angular",e.ReactModule="@ag-grid-community/react",e.VueModule="@ag-grid-community/vue",e))(d||{}),c={};function u(e,t){c[t]||(e(),c[t]=!0)}function p(e,...t){console.log("AG Grid: "+e,...t)}function g(e,...t){u((()=>console.warn("AG Grid: "+e,...t)),e+t?.join(""))}function m(e,...t){u((()=>console.error("AG Grid: "+e,...t)),e+t?.join(""))}function f(e){return!!(e&&e.constructor&&e.call&&e.apply)}function v(e){!function(e,t=0){e.length>0&&window.setTimeout((()=>e.forEach((e=>e()))),t)}(e,400)}var C=[],y=!1;function w(e){C.push(e),y||(y=!0,window.setTimeout((()=>{const e=C.slice();C.length=0,y=!1,e.forEach((e=>e()))}),0))}function b(e,t){let i;return function(...s){const o=this;window.clearTimeout(i),i=window.setTimeout((function(){e.apply(o,s)}),t)}}function S(e,t){let i=0;return function(...s){const o=(new Date).getTime();o-i<t||(i=o,e.apply(this,s))}}function x(e,t,i=100,s){const o=(new Date).getTime();let r=null,n=!1;const a=()=>{const a=(new Date).getTime()-o>i;(e()||a)&&(t(),n=!0,null!=r&&(window.clearInterval(r),r=null),a&&s&&g(s))};a(),n||(r=window.setInterval(a,10))}function M(...e){return t=>e.reduce(((e,t)=>t(e)),t)}function D(e){return null==e||""===e?null:e}function E(e,t=!1){return null!=e&&(""!==e||t)}function R(e){return!E(e)}function I(e){return null==e||0===e.length}function A(e){return null!=e&&"function"==typeof e.toString?e.toString():null}function T(e){if(void 0===e)return;if(null===e||""===e)return null;if("number"==typeof e)return isNaN(e)?void 0:e;const t=parseInt(e,10);return isNaN(t)?void 0:t}function P(e){if(void 0!==e)return null!==e&&""!==e&&L(e)}function L(e){return"boolean"==typeof e?e:"string"==typeof e&&("TRUE"===e.toUpperCase()||""==e)}function k(e,t){return(e?JSON.stringify(e):null)===(t?JSON.stringify(t):null)}function F(e,t,i=!1){const s=null==e,o=null==t;if(e&&e.toNumber&&(e=e.toNumber()),t&&t.toNumber&&(t=t.toNumber()),s&&o)return 0;if(s)return-1;if(o)return 1;function r(e,t){return e>t?1:e<t?-1:0}if("string"!=typeof e)return r(e,t);if(!i)return r(e,t);try{return e.localeCompare(t)}catch(i){return r(e,t)}}function N(e){if(e instanceof Set||e instanceof Map){const t=[];return e.forEach((e=>t.push(e))),t}return Object.values(e)}function O(e,t){return e.get("rowModelType")===t}function G(e){return O(e,"clientSide")}function B(e){return O(e,"serverSide")}function z(e,t){return e.get("domLayout")===t}function V(e){return void 0!==ye(e)}function H(e){return!e.get("suppressAsyncEvents")}function _(e){return"function"==typeof e.get("getRowHeight")}function j(e,t,i=!1,s){if(null==s&&(s=e.environment.getDefaultRowHeight()),_(e)){if(i)return{height:s,estimated:!0};const o={node:t,data:t.data},r=e.getCallback("getRowHeight")(o);if(U(r))return 0===r&&g("The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead."),{height:Math.max(1,r),estimated:!1}}if(t.detail&&e.get("masterDetail"))return function(e){if(e.get("detailRowAutoHeight"))return{height:1,estimated:!1};const t=e.get("detailRowHeight");if(U(t))return{height:t,estimated:!1};return{height:300,estimated:!1}}(e);const o=e.get("rowHeight");return{height:o&&U(o)?o:s,estimated:!1}}function W(e){const{environment:t}=e,i=e.get("rowHeight");if(!i||R(i))return t.getDefaultRowHeight();const s=t.refreshRowHeightVariable();return-1!==s?s:(g("row height must be a number if not using standard row model"),t.getDefaultRowHeight())}function U(e){return!isNaN(e)&&"number"==typeof e&&isFinite(e)}function K(e,t,i){const s=t[e.getDomDataKey()];return s?s[i]:void 0}function Y(e,t,i,s){const o=e.getDomDataKey();let r=t[o];R(r)&&(r={},t[o]=r),r[i]=s}function $(e){let t=null;const i=e.get("getDocument");return i&&E(i)?t=i():e.eGridDiv&&(t=e.eGridDiv.ownerDocument),t&&E(t)?t:document}function Z(e){return $(e).defaultView||window}function q(e){return e.eGridDiv.getRootNode()}function X(e){return q(e).activeElement}function Q(e){const t=$(e),i=X(e);return null===i||i===t.body}function J(e){return!e.get("ensureDomOrder")&&e.get("animateRows")}function ee(e){return!(e.get("paginateChildRows")||e.get("groupHideOpenParents")||z(e,"print"))}function te(e){const t=e.get("autoGroupColumnDef");return!t?.comparator&&!e.get("treeData")}function ie(e){const t=e.get("groupAggFiltering");return"function"==typeof t?e.getCallback("groupAggFiltering"):!0===t?()=>!0:void 0}function se(e){const t=e.get("grandTotalRow");if(t)return t;return e.get("groupIncludeTotalFooter")?"bottom":void 0}function oe(e){const t=e.get("groupTotalRow");if("function"==typeof t)return e.getCallback("groupTotalRow");if(t)return()=>t;const i=e.get("groupIncludeFooter");if("function"==typeof i){const t=e.getCallback("groupIncludeFooter");return e=>t(e)?"bottom":voi