@blinkk/root-cms 3.1.1 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.js +1 -1
- package/dist/{chunk-GXV4UQ6Z.js → chunk-X5CNR4CK.js} +2 -2
- package/dist/core/plugin.d.ts +1 -1
- package/dist/core/translations.d.ts +19 -4
- package/dist/plugin.js +34 -4
- package/dist/shared/translation-languages.d.ts +67 -0
- package/dist/ui/AIPage-2N5UYBRX.js +1 -0
- package/dist/ui/{AssetsPage-5S6PNMF6.js → AssetsPage-KLGNE6D6.js} +1 -1
- package/dist/ui/{CollectionPage-CU3VDEXA.js → CollectionPage-D7IG6526.js} +1 -1
- package/dist/ui/ComparePage-726NIJW5.js +1 -0
- package/dist/ui/{DataPage-XIXFKXDN.js → DataPage-YMSQCIVK.js} +1 -1
- package/dist/ui/{DataSourcePage-ORIEQH3Y.js → DataSourcePage-7VPFUG3K.js} +1 -1
- package/dist/ui/DocTranslationsPage-FO7O76VK.js +1 -0
- package/dist/ui/DocumentPage-M7SJ4ITQ.js +1 -0
- package/dist/ui/{EditDataSourcePage-HIGZZQJC.js → EditDataSourcePage-Y7YK6IWT.js} +1 -1
- package/dist/ui/{EditReleasePage-KUHBU2HQ.js → EditReleasePage-XZ4RHHRT.js} +1 -1
- package/dist/ui/{EmbeddedAIPage-CJWZE5FC.js → EmbeddedAIPage-RJOUIPF2.js} +1 -1
- package/dist/ui/EmbeddedDocumentPage-4TLMCDSO.js +1 -0
- package/dist/ui/LogsPage-IGDDZGEI.js +1 -0
- package/dist/ui/{NewDataSourcePage-7TUUE6ZL.js → NewDataSourcePage-YUPRHL7F.js} +1 -1
- package/dist/ui/NewReleasePage-6HHLYOQP.js +1 -0
- package/dist/ui/{NotFoundPage-AW6UC6II.js → NotFoundPage-A6OCYREA.js} +1 -1
- package/dist/ui/ProjectPage-UHRXNN7O.js +1 -0
- package/dist/ui/{ReleasePage-W2R3DIFX.js → ReleasePage-V2JMPWX7.js} +1 -1
- package/dist/ui/{ReleasesPage-HBBUGE7D.js → ReleasesPage-SCR4SVKN.js} +1 -1
- package/dist/ui/SettingsPage-5XKHPG6K.js +1 -0
- package/dist/ui/SidebarToolsPage-VXVRZ2C3.js +1 -0
- package/dist/ui/{TaskPage-JYUQEGRB.js → TaskPage-LDPRN3G6.js} +1 -1
- package/dist/ui/TasksPage-DIXUWYXM.js +1 -0
- package/dist/ui/{TranslationsArbPage-AJLM5VSD.js → TranslationsArbPage-QPD3ZBT4.js} +1 -1
- package/dist/ui/TranslationsEditPage-475Z7UPC.js +1 -0
- package/dist/ui/{TranslationsPage-HPYAJQ4Q.js → TranslationsPage-674JU6L4.js} +32 -32
- package/dist/ui/{chunk-3T4ZWQR4.js → chunk-2EPQJUGM.js} +1 -1
- package/dist/ui/{chunk-2KSMCQ6H.js → chunk-2RAVKX2Z.js} +1 -1
- package/dist/ui/{chunk-AZCGXQTL.js → chunk-2S5HMST6.js} +1 -1
- package/dist/ui/chunk-4ALFT4ES.js +141 -0
- package/dist/ui/{chunk-B6M55OFE.js → chunk-4FGASIIX.js} +1 -1
- package/dist/ui/chunk-AAHM6RYJ.js +1 -0
- package/dist/ui/chunk-AGFPVTBA.js +1 -0
- package/dist/ui/chunk-BUNR5EU3.js +1 -0
- package/dist/ui/{chunk-O5P3CPJ4.js → chunk-BW2MKGNP.js} +1 -1
- package/dist/ui/{chunk-MZTOPPWQ.js → chunk-ENQKSLGJ.js} +1 -1
- package/dist/ui/{chunk-76ZGLKLT.js → chunk-GT5EQSEX.js} +1 -1
- package/dist/ui/{chunk-OXVYTSIZ.js → chunk-JBHRZ4EX.js} +1 -1
- package/dist/ui/{chunk-XT5FNJCX.js → chunk-MSYTAJBV.js} +1 -1
- package/dist/ui/{chunk-E76ECIOX.js → chunk-NJMNOITA.js} +1 -1
- package/dist/ui/chunk-NWHGT476.js +1 -0
- package/dist/ui/{chunk-R6B3W5AJ.js → chunk-PTPYMVFW.js} +1 -1
- package/dist/ui/{chunk-TDUBSLEC.js → chunk-Q7IU4QCY.js} +1 -1
- package/dist/ui/{chunk-WKF7CSWS.js → chunk-QF3GPZTI.js} +1 -1
- package/dist/ui/{chunk-GU24U5RM.js → chunk-RHAJNURN.js} +1 -1
- package/dist/ui/{chunk-764W6634.js → chunk-SENZVSVZ.js} +1 -1
- package/dist/ui/chunk-SKQECSUR.js +1 -0
- package/dist/ui/chunk-TOGLZDK3.js +1 -0
- package/dist/ui/{chunk-V4CTOC6E.js → chunk-TPJCPCRR.js} +1 -1
- package/dist/ui/{chunk-GQ5IRK43.js → chunk-TVYAZN2Q.js} +1 -1
- package/dist/ui/{chunk-WXT7LTQM.js → chunk-VJUMFJIX.js} +1 -1
- package/dist/ui/{chunk-U7PWJV6F.js → chunk-W6LP22IK.js} +1 -1
- package/dist/ui/chunk-WMICEDOT.js +1 -0
- package/dist/ui/{chunk-5AVRMJVW.js → chunk-XMESZUC5.js} +1 -1
- package/dist/ui/{chunk-RAXWL656.js → chunk-XWX2622O.js} +1 -1
- package/dist/ui/chunk-YMBBWVBB.js +3 -0
- package/dist/ui/{chunk-OWQL5DVE.js → chunk-YXSXWFLZ.js} +1 -1
- package/dist/ui/chunk-ZMS6NIGG.js +1 -0
- package/dist/ui/ui.css +1 -1
- package/dist/ui/ui.js +1 -1
- package/package.json +3 -3
- package/dist/ui/AIPage-EL6DQYII.js +0 -1
- package/dist/ui/ComparePage-FTZLYO2O.js +0 -1
- package/dist/ui/DocTranslationsPage-4OVBIPSG.js +0 -1
- package/dist/ui/DocumentPage-3JPFJF3E.js +0 -1
- package/dist/ui/EmbeddedDocumentPage-6XQHYIAO.js +0 -1
- package/dist/ui/LogsPage-4DVGYXZY.js +0 -1
- package/dist/ui/NewReleasePage-6UT36HDW.js +0 -1
- package/dist/ui/ProjectPage-US5FJGFK.js +0 -1
- package/dist/ui/SettingsPage-7JQQILUV.js +0 -1
- package/dist/ui/SidebarToolsPage-MIYXKHF2.js +0 -1
- package/dist/ui/TasksPage-4VFQF243.js +0 -1
- package/dist/ui/TranslationsEditPage-RTTGTIGI.js +0 -1
- package/dist/ui/chunk-FFHV5S6A.js +0 -1
- package/dist/ui/chunk-FSVNOZ6F.js +0 -1
- package/dist/ui/chunk-GDXNSFLE.js +0 -1
- package/dist/ui/chunk-M3T56ZRP.js +0 -1
- package/dist/ui/chunk-MXGHX55S.js +0 -141
- package/dist/ui/chunk-QEE7XS6O.js +0 -1
- package/dist/ui/chunk-SRX7EWL4.js +0 -1
- package/dist/ui/chunk-TFB3VGWP.js +0 -1
- package/dist/ui/chunk-YLSRRNSE.js +0 -1
- package/dist/ui/chunk-ZN2Y5OUF.js +0 -3
- /package/dist/ui/{chunk-MXGHX55S.js.LEGAL.txt → chunk-4ALFT4ES.js.LEGAL.txt} +0 -0
- /package/dist/ui/{chunk-E76ECIOX.js.LEGAL.txt → chunk-NJMNOITA.js.LEGAL.txt} +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import{b as Er,c as No}from"./chunk-U7PWJV6F.js";import{a as Fr}from"./chunk-XT5FNJCX.js";import{a as Mr}from"./chunk-SRX7EWL4.js";import{b as vr,e as Io,h as Cr}from"./chunk-ZN2Y5OUF.js";import{b as Ui}from"./chunk-J5E457OI.js";import"./chunk-QHJOTXYB.js";import"./chunk-KRNQ6L35.js";import{a as Dr}from"./chunk-FFHV5S6A.js";import{a as xr}from"./chunk-P2Z66DHV.js";import"./chunk-FSVNOZ6F.js";import"./chunk-VD6G5NV4.js";import{f as Lo}from"./chunk-YLSRRNSE.js";import{Cc as yr,Ga as I,Nc as br,Oc as Sr,Pc as Go,V as gr,W as pr,Xc as Rr,Y as To,Za as Oo,_ as fr,a as E,c as ue,d as Le,da as wt,e as D,f as qt,fa as Ao,g as H,h as W,i as se,j as El,l as re,m as Jt,q as Wi,qa as yt,ra as ko,sa as pi,ua as mr,ub as wr,v as F,y as ne}from"./chunk-LROR6N3B.js";import{b as dr,e as ur,j as hr}from"./chunk-KUCVLANF.js";import"./chunk-DTMZLUNY.js";import"./chunk-PVAE643M.js";var ri=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){let o=t?this.allAsyncListeners:this.allSyncListeners,s=o.get(e);return!s&&i&&(s=new Set,o.set(e,s)),s}noRegisteredListenersExist(){return this.allSyncListeners.size===0&&this.allAsyncListeners.size===0&&this.globalSyncListeners.size===0&&this.globalAsyncListeners.size===0}addEventListener(e,t,i=!1){this.getListeners(e,i,!0).add(t)}removeEventListener(e,t,i=!1){let o=this.getListeners(e,i,!1);o&&(o.delete(t),o.size===0&&(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){let 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){let i=e.type;if(t&&"event"in e){let a=e.event;a instanceof Event&&(e.eventPath=a.composedPath())}let o=(a,l)=>a.forEach(c=>{if(!l.has(c))return;let d=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming(()=>c(e)):()=>c(e);t?this.dispatchAsync(d):d()}),s=this.getListeners(i,t,!1)??new Set,r=new Set(s);r.size>0&&o(r,s),new Set(t?this.globalAsyncListeners:this.globalSyncListeners).forEach(a=>{let l=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming(()=>a(i,e)):()=>a(i,e);t?this.dispatchAsync(l):l()})}dispatchAsync(e){if(this.asyncFunctionsQueue.push(e),!this.scheduled){let t=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)};this.frameworkOverrides?this.frameworkOverrides.wrapIncoming(t):t(),this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;let e=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[],e.forEach(t=>t())}},ni=(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))(ni||{}),Pr={};function Cs(e,t){Pr[t]||(e(),Pr[t]=!0)}function ot(e,...t){console.log("AG Grid: "+e,...t)}function S(e,...t){Cs(()=>console.warn("AG Grid: "+e,...t),e+t?.join(""))}function Q(e,...t){Cs(()=>console.error("AG Grid: "+e,...t),e+t?.join(""))}function ws(e){return!!(e&&e.constructor&&e.call&&e.apply)}function Ml(e){Pl(e,400)}var Ho=[],zo=!1;function Tr(e){Ho.push(e),!zo&&(zo=!0,window.setTimeout(()=>{let t=Ho.slice();Ho.length=0,zo=!1,t.forEach(i=>i())},0))}function Pl(e,t=0){e.length>0&&window.setTimeout(()=>e.forEach(i=>i()),t)}function xe(e,t){let i;return function(...o){let s=this;window.clearTimeout(i),i=window.setTimeout(function(){e.apply(s,o)},t)}}function Ar(e,t){let i=0;return function(...o){let s=this,r=new Date().getTime();r-i<t||(i=r,e.apply(s,o))}}function Tl(e,t,i=100,o){let s=new Date().getTime(),r=null,n=!1,a=()=>{let l=new Date().getTime()-s>i;(e()||l)&&(t(),n=!0,r!=null&&(window.clearInterval(r),r=null),l&&o&&S(o))};a(),n||(r=window.setInterval(a,10))}function dt(e){return e==null||e===""?null:e}function M(e,t=!1){return e!=null&&(e!==""||t)}function K(e){return!M(e)}function Ee(e){return e==null||e.length===0}function Zo(e){return e!=null&&typeof e.toString=="function"?e.toString():null}function Nt(e){if(e===void 0)return;if(e===null||e==="")return null;if(typeof e=="number")return isNaN(e)?void 0:e;let t=parseInt(e,10);return isNaN(t)?void 0:t}function es(e){if(e!==void 0)return e===null||e===""?!1:ts(e)}function ts(e){return typeof e=="boolean"?e:typeof e=="string"?e.toUpperCase()==="TRUE"||e=="":!1}function to(e,t){let i=e?JSON.stringify(e):null,o=t?JSON.stringify(t):null;return i===o}function Al(e,t,i=!1){let o=e==null,s=t==null;if(e&&e.toNumber&&(e=e.toNumber()),t&&t.toNumber&&(t=t.toNumber()),o&&s)return 0;if(o)return-1;if(s)return 1;function r(n,a){return n>a?1:n<a?-1:0}if(typeof e!="string"||!i)return r(e,t);try{return e.localeCompare(t)}catch{return r(e,t)}}function Ji(e){if(e instanceof Set||e instanceof Map){let t=[];return e.forEach(i=>t.push(i)),t}return Object.values(e)}function an(e,t){return e.get("rowModelType")===t}function de(e){return an(e,"clientSide")}function mt(e){return an(e,"serverSide")}function Re(e,t){return e.get("domLayout")===t}function io(e){return ro(e)!==void 0}function oo(e){return!e.get("suppressAsyncEvents")}function ln(e){return typeof e.get("getRowHeight")=="function"}function kl(e,t){return t?!e.get("enableStrictPivotColumnOrder"):e.get("maintainColumnOrder")}function ht(e,t,i=!1,o){if(o==null&&(o=e.environment.getDefaultRowHeight()),ln(e)){if(i)return{height:o,estimated:!0};let n={node:t,data:t.data},a=e.getCallback("getRowHeight")(n);if(is(a))return a===0&&S("The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead."),{height:Math.max(1,a),estimated:!1}}if(t.detail&&e.get("masterDetail"))return Il(e);let s=e.get("rowHeight");return{height:s&&is(s)?s:o,estimated:!1}}function Il(e){if(e.get("detailRowAutoHeight"))return{height:1,estimated:!1};let t=e.get("detailRowHeight");return is(t)?{height:t,estimated:!1}:{height:300,estimated:!1}}function fo(e){let{environment:t}=e,i=e.get("rowHeight");if(!i||K(i))return t.getDefaultRowHeight();let o=t.refreshRowHeightVariable();return o!==-1?o:(S("row height must be a number if not using standard row model"),t.getDefaultRowHeight())}function is(e){return!isNaN(e)&&typeof e=="number"&&isFinite(e)}function Di(e,t,i){let o=t[e.getDomDataKey()];return o?o[i]:void 0}function Vt(e,t,i,o){let s=e.getDomDataKey(),r=t[s];K(r)&&(r={},t[s]=r),r[i]=o}function ve(e){let t=null,i=e.get("getDocument");return i&&M(i)?t=i():e.eGridDiv&&(t=e.eGridDiv.ownerDocument),t&&M(t)?t:document}function cn(e){return ve(e).defaultView||window}function Ei(e){return e.eGridDiv.getRootNode()}function fe(e){return Ei(e).activeElement}function dn(e){let t=ve(e),i=fe(e);return i===null||i===t.body}function Wt(e){return e.get("ensureDomOrder")?!1:e.get("animateRows")}function mo(e){return!(e.get("paginateChildRows")||e.get("groupHideOpenParents")||Re(e,"print"))}function Qe(e){return!e.get("autoGroupColumnDef")?.comparator&&!e.get("treeData")}function os(e){let t=e.get("groupAggFiltering");if(typeof t=="function")return e.getCallback("groupAggFiltering");if(t===!0)return()=>!0}function vo(e){let t=e.get("grandTotalRow");if(t)return t;if(e.get("groupIncludeTotalFooter"))return"bottom"}function Co(e){let t=e.get("groupTotalRow");if(typeof t=="function")return e.getCallback("groupTotalRow");if(t)return()=>t;let i=e.get("groupIncludeFooter");if(typeof i=="function"){let o=e.getCallback("groupIncludeFooter");return s=>o(s)?"bottom":void 0}return()=>i?"bottom":void 0}function un(e){return e.exists("groupDisplayType")?e.get("groupDisplayType")==="multipleColumns":e.get("groupHideOpenParents")}function ys(e,t){return t?!1:e.get("groupDisplayType")==="groupRows"}function Ut(e){let t=e.getCallback("getRowId");return t===void 0?t:i=>{let o=t(i);return typeof o!="string"&&(S("The getRowId callback must return a string. The ID ",o," is being cast to a string."),o=String(o)),o}}function ii(e){return e?.checkboxes??!0}function so(e){return e?.mode==="multiRow"&&(e.headerCheckbox??!0)}function Ll(e){return e?.hideDisabledCheckboxes??!1}function Ol(e){return typeof e.get("rowSelection")!="string"}function Gl(e){return e.get("cellSelection")!==void 0}function Nl(e){let t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"?t?.suppressMultiRanges??!1:!1:e.get("suppressMultiRangeSelection")}function gt(e){let t=e.get("cellSelection");return t!==void 0?!!t:e.get("enableRangeSelection")}function Hl(e){let t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"?t.handle?.mode==="range":!1:e.get("enableRangeHandle")}function kr(e){let t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"?t.handle?.mode==="fill":!1:e.get("enableFillHandle")}function hn(e){let t=e.get("rowSelection")??"single";if(typeof t=="string"){let i=e.get("suppressRowClickSelection"),o=e.get("suppressRowDeselection");return i&&o?!1:i?"enableDeselection":o?"enableSelection":!0}return t.mode==="singleRow"||t.mode==="multiRow"?t.enableClickSelection??!1:!1}function zl(e){let t=hn(e);return t===!0||t==="enableSelection"}function Ir(e){let t=hn(e);return t===!0||t==="enableDeselection"}function bs(e){let t=e.get("rowSelection");return typeof t=="string"?e.get("isRowSelectable"):t?.isRowSelectable}function ro(e){let t=e.get("rowSelection");if(typeof t=="string")switch(t){case"multiple":return"multiRow";case"single":return"singleRow";default:return}return t?.mode}function gn(e){return ro(e)==="multiRow"}function Bl(e){let t=e.get("rowSelection");return typeof t=="string"?e.get("rowMultiSelectWithClick"):t?.enableSelectionWithoutKeys??!1}function Ss(e){let t=e.get("rowSelection");if(typeof t=="string"){let i=e.get("groupSelectsChildren"),o=e.get("groupSelectsFiltered");return i&&o?"filteredDescendants":i?"descendants":"self"}return t?.mode==="multiRow"?t.groupSelects:void 0}function Dt(e){let t=Ss(e);return t==="descendants"||t==="filteredDescendants"}function Bo(e){return e.isModuleRegistered("@ag-grid-enterprise/set-filter")&&!e.get("suppressSetFilterByDefault")}function $(e){if(!(!e||!e.length))return e[e.length-1]}function Pt(e,t,i){return e==null&&t==null?!0:e!=null&&t!=null&&e.length===t.length&&e.every((o,s)=>i?i(o,t[s]):t[s]===o)}function Vl(e){return e.sort((t,i)=>t-i)}function pn(e,t){let i=e.indexOf(t);i>=0&&(e[i]=e[e.length-1],e.pop())}function De(e,t){let i=e.indexOf(t);i>=0&&e.splice(i,1)}function Wl(e,t){for(let i=0;i<t.length;i++)pn(e,t[i])}function Ul(e,t){for(let i=0;i<t.length;i++)De(e,t[i])}function Mi(e,t,i){e.splice(i,0,t)}function fn(e,t,i){Ul(e,t),t.slice().reverse().forEach(o=>Mi(e,o,i))}function Ht(e,t){return e.indexOf(t)>-1}function _l(e){return e?.flatMap(t=>t)??[]}function Lr(e,t){t==null||e==null||t.forEach(i=>e.push(i))}var mn="__ag_Grid_Stop_Propagation",jl=["touchstart","touchend","touchmove","touchcancel","scroll"],Vo={};function oi(e){e[mn]=!0}function ut(e){return e[mn]===!0}var vn=(()=>{let e={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return i=>{if(typeof Vo[i]=="boolean")return Vo[i];let o=document.createElement(e[i]||"div");return i="on"+i,Vo[i]=i in o}})();function ss(e,t,i){let o=t;for(;o;){let s=Di(e,o,i);if(s)return s;o=o.parentElement}return null}function Kl(e,t){return!t||!e?!1:$l(t).indexOf(e)>=0}function Yl(e){let t=[],i=e.target;for(;i;)t.push(i),i=i.parentElement;return t}function $l(e){let t=e;return t.path?t.path:t.composedPath?t.composedPath():Yl(t)}function Ql(e,t,i,o){let r=Ht(jl,i)?{passive:!0}:void 0;e&&e.addEventListener&&e.addEventListener(t,i,o,r)}var b=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans(e){this.frameworkOverrides=e.frameworkOverrides,this.stubContext=e.context,this.eventService=e.eventService,this.gos=e.gos,this.localeService=e.localeService}getFrameworkOverrides(){return this.frameworkOverrides}destroy(){for(let e=0;e<this.destroyFunctions.length;e++)this.destroyFunctions[e]();this.destroyFunctions.length=0,this.destroyed=!0,this.dispatchLocalEvent({type:"destroyed"})}addEventListener(e,t,i){this.localEventService||(this.localEventService=new ri),this.localEventService.addEventListener(e,t,i)}removeEventListener(e,t,i){this.localEventService&&this.localEventService.removeEventListener(e,t,i)}dispatchLocalEvent(e){this.localEventService&&this.localEventService.dispatchEvent(e)}addManagedElementListeners(e,t){return this._setupListeners(e,t)}addManagedEventListeners(e){return this._setupListeners(this.eventService,e)}addManagedListeners(e,t){return this._setupListeners(e,t)}_setupListeners(e,t){let i=[];for(let o in t){let s=t[o];s&&i.push(this._setupListener(e,o,s))}return i}_setupListener(e,t,i){if(this.destroyed)return()=>null;e instanceof HTMLElement?Ql(this.getFrameworkOverrides(),e,t,i):e.addEventListener(t,i);let o=()=>(e.removeEventListener(t,i),null);return this.destroyFunctions.push(o),()=>(o(),this.destroyFunctions=this.destroyFunctions.filter(s=>s!==o),null)}setupGridOptionListener(e,t){this.gos.addPropertyEventListener(e,t);let i=()=>(this.gos.removePropertyEventListener(e,t),null);return this.destroyFunctions.push(i),()=>(i(),this.destroyFunctions=this.destroyFunctions.filter(o=>o!==i),null)}addManagedPropertyListener(e,t){return this.destroyed?()=>null:this.setupGridOptionListener(e,t)}addManagedPropertyListeners(e,t){if(this.destroyed)return;let i=e.join("-")+this.propertyListenerId++,o=s=>{if(s.changeSet){if(s.changeSet&&s.changeSet.id===this.lastChangeSetIdLookup[i])return;this.lastChangeSetIdLookup[i]=s.changeSet.id}let r={type:"gridPropertyChanged",changeSet:s.changeSet,source:s.source};t(r)};e.forEach(s=>this.setupGridOptionListener(s,o))}addDestroyFunc(e){this.isAlive()?this.destroyFunctions.push(e):e()}createManagedBean(e,t){let i=this.createBean(e,t);return this.addDestroyFunc(this.destroyBean.bind(this,e,t)),i}createBean(e,t,i){return(t||this.stubContext).createBean(e,i)}destroyBean(e,t){return(t||this.stubContext).destroyBean(e)}destroyBeans(e,t){return(t||this.stubContext).destroyBeans(e)}};function ke(e){return e instanceof Xi}var Xi=class extends b{constructor(e,t,i,o){super(),this.isColumn=!1,this.expandable=!1,this.instanceId=wn(),this.expandableListenerRemoveCallback=null,this.colGroupDef=e,this.groupId=t,this.expanded=!!e&&!!e.openByDefault,this.padding=i,this.level=o}destroy(){this.expandableListenerRemoveCallback&&this.reset(null,void 0),super.destroy()}reset(e,t){this.colGroupDef=e,this.level=t,this.originalParent=null,this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback(),this.children=void 0,this.expandable=void 0}getInstanceId(){return this.instanceId}setOriginalParent(e){this.originalParent=e}getOriginalParent(){return this.originalParent}getLevel(){return this.level}isVisible(){return this.children?this.children.some(e=>e.isVisible()):!1}isPadding(){return this.padding}setExpanded(e){this.expanded=e===void 0?!1:e,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren(e){this.children=e}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){let e=[];return this.addLeafColumns(e),e}addLeafColumns(e){this.children&&this.children.forEach(t=>{Et(t)?e.push(t):ke(t)&&t.addLeafColumns(e)})}getColumnGroupShow(){let e=this.colGroupDef;if(e)return e.columnGroupShow}setupExpandable(){this.setExpandable(),this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback();let e=this.onColumnVisibilityChanged.bind(this);this.getLeafColumns().forEach(t=>t.addEventListener("visibleChanged",e)),this.expandableListenerRemoveCallback=()=>{this.getLeafColumns().forEach(t=>t.removeEventListener("visibleChanged",e)),this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let e=!1,t=!1,i=!1,o=this.findChildrenRemovingPadding();for(let r=0,n=o.length;r<n;r++){let a=o[r];if(!a.isVisible())continue;let l=a.getColumnGroupShow();l==="open"?(e=!0,i=!0):l==="closed"?(t=!0,i=!0):(e=!0,t=!0)}let s=e&&t&&i;this.expandable!==s&&(this.expandable=s,this.dispatchLocalEvent({type:"expandableChanged"}))}findChildrenRemovingPadding(){let e=[],t=i=>{i.forEach(o=>{ke(o)&&o.isPadding()?t(o.children):e.push(o)})};return t(this.children),e}onColumnVisibilityChanged(){this.setExpandable()}},Cn="ag-Grid-ControlsColumn",ql=class extends b{constructor(){super(...arguments),this.beanName="controlsColService"}isControlsColEnabled(){let{gos:e}=this,t=e.get("rowSelection");if(!t||typeof t!="object")return!1;let i=ii(t),o=so(t);return!!(i||o)}createControlsCols(){if(!this.isControlsColEnabled())return[];let{gos:e}=this,t=e.get("selectionColumnDef"),o={maxWidth:50,resizable:!1,suppressHeaderMenuButton:!0,sortable:!1,suppressMovable:!0,lockPosition:e.get("enableRtl")?"right":"left",comparator(r,n,a,l){let c=a.isSelected(),d=l.isSelected();return c&&d?0:c?1:-1},editable:!1,suppressFillHandle:!0,...t,colId:`${Cn}`},s=new Ds(o,null,o.colId,!1);return this.createBean(s),[s]}},wo="ag-Grid-AutoColumn";function Rs(e){let t=[],i=o=>{for(let s=0;s<o.length;s++){let r=o[s];Et(r)?t.push(r):ke(r)&&i(r.getChildren())}};return i(e),t}function ct(e){return e.reduce((t,i)=>t+i.getActualWidth(),0)}function Ft(e,t,i){let o={};if(!t)return;pt(null,t,r=>{o[r.getInstanceId()]=r}),i&&pt(null,i,r=>{o[r.getInstanceId()]=null});let s=Object.values(o).filter(r=>r!=null);e.destroyBeans(s)}function Or(e){return e.getId().startsWith(wo)}function Pi(e){return e.getColId().startsWith(Cn)}function Zi(e){let t=[];return e instanceof Array?e.some(o=>typeof o!="string")?S("if colDef.type is supplied an array it should be of type 'string[]'"):t=e:typeof e=="string"?t=e.split(","):S("colDef.type should be of type 'string' | 'string[]'"),t}var Fs=class{constructor(e){this.frameworkOverrides=e,this.wrappedListeners=new Map,this.wrappedGlobalListeners=new Map}wrap(e,t){let{frameworkOverrides:i,wrappedListeners:o}=this,s=t;if(i.shouldWrapOutgoing){s=n=>{i.wrapOutgoing(()=>t(n))};let r=o.get(e);r||(r=new Map,o.set(e,r)),r.set(t,s)}return s}wrapGlobal(e){let{frameworkOverrides:t,wrappedGlobalListeners:i}=this,o=e;return t.shouldWrapOutgoing&&(o=(s,r)=>{t.wrapOutgoing(()=>e(s,r))},i.set(e,o)),o}unwrap(e,t){let{wrappedListeners:i}=this,o=i.get(e);if(o){let s=o.get(t);if(s)return o.delete(t),o.size===0&&i.delete(e),s}return t}unwrapGlobal(e){let{wrappedGlobalListeners:t}=this,i=t.get(e);return i?(t.delete(e),i):e}},yo=new Set(["__proto__","constructor","prototype"]);function We(e,t){if(e!=null){if(Array.isArray(e)){for(let i=0;i<e.length;i++)t(i.toString(),e[i]);return}for(let[i,o]of Object.entries(e))yo.has(i)||t(i,o)}}function xs(e){let t={},i=Object.keys(e);for(let o=0;o<i.length;o++){if(yo.has(i[o]))continue;let s=i[o],r=e[s];t[s]=r}return t}function rs(e,t){if(!e)return;let i=e,o={};return Object.keys(i).forEach(s=>{if(t&&t.indexOf(s)>=0||yo.has(s))return;let r=i[s];ns(r)&&r.constructor===Object?o[s]=rs(r):o[s]=r}),o}function Gr(e){if(!e)return[];let t=Object;if(typeof t.values=="function")return t.values(e);let i=[];for(let o in e)e.hasOwnProperty(o)&&e.propertyIsEnumerable(o)&&i.push(e[o]);return i}function Ie(e,t,i=!0,o=!1){M(t)&&We(t,(s,r)=>{if(yo.has(s))return;let n=e[s];n!==r&&(o&&n==null&&r!=null&&typeof r=="object"&&r.constructor===Object&&(n={},e[s]=n),ns(r)&&ns(n)&&!Array.isArray(n)?Ie(n,r,i,o):(i||r!==void 0)&&(e[s]=r))})}function bi(e,t,i){if(!t||!e)return;if(!i)return e[t];let o=t.split("."),s=e;for(let r=0;r<o.length;r++){if(s==null)return;s=s[o[r]]}return s}function ns(e){return typeof e=="object"&&e!==null}var Jl={resizable:!0,sortable:!0},Xl=0;function wn(){return Xl++}function Et(e){return e instanceof Ds}var Ds=class extends b{constructor(e,t,i,o){super(),this.isColumn=!0,this.instanceId=wn(),this.autoHeaderHeight=null,this.moving=!1,this.menuVisible=!1,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.columnEventService=new ri,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.colDef=e,this.userProvidedColDef=t,this.colId=i,this.primary=o,this.setState(e)}wireBeans(e){this.columnHoverService=e.columnHoverService}getInstanceId(){return this.instanceId}setState(e){e.sort!==void 0?(e.sort==="asc"||e.sort==="desc")&&(this.sort=e.sort):(e.initialSort==="asc"||e.initialSort==="desc")&&(this.sort=e.initialSort);let t=e.sortIndex,i=e.initialSortIndex;t!==void 0?t!==null&&(this.sortIndex=t):i!==null&&(this.sortIndex=i);let o=e.hide,s=e.initialHide;o!==void 0?this.visible=!o:this.visible=!s,e.pinned!==void 0?this.setPinned(e.pinned):this.setPinned(e.initialPinned);let r=e.flex,n=e.initialFlex;r!==void 0?this.flex=r:n!==void 0&&(this.flex=n)}setColDef(e,t,i){this.colDef=e,this.userProvidedColDef=t,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),this.columnEventService.dispatchEvent(this.createColumnEvent("colDefChanged",i))}getUserProvidedColDef(){return this.userProvidedColDef}setParent(e){this.parent=e}getParent(){return this.parent}setOriginalParent(e){this.originalParent=e}getOriginalParent(){return this.originalParent}postConstruct(){this.initMinAndMaxWidths(),this.resetActualWidth("gridInitializing"),this.initDotNotation(),this.initTooltip()}initDotNotation(){let e=this.gos.get("suppressFieldDotNotation");this.fieldContainsDots=M(this.colDef.field)&&this.colDef.field.indexOf(".")>=0&&!e,this.tooltipFieldContainsDots=M(this.colDef.tooltipField)&&this.colDef.tooltipField.indexOf(".")>=0&&!e}initMinAndMaxWidths(){let e=this.colDef;this.minWidth=e.minWidth??this.gos.environment.getDefaultColumnMinWidth(),this.maxWidth=e.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.tooltipEnabled=M(this.colDef.tooltipField)||M(this.colDef.tooltipValueGetter)||M(this.colDef.tooltipComponent)}resetActualWidth(e){let t=this.calculateColInitialWidth(this.colDef);this.setActualWidth(t,e,!0)}calculateColInitialWidth(e){let t,i=Nt(e.width),o=Nt(e.initialWidth);return i!=null?t=i:o!=null?t=o:t=200,Math.max(Math.min(t,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(e){if(K(this.colDef)||K(this.colDef.showRowGroup))return!1;let t=this.colDef.showRowGroup===!0,i=this.colDef.showRowGroup===e;return t||i}isPrimary(){return this.primary}isFilterAllowed(){return!!this.colDef.filter}isFieldContainsDots(){return this.fieldContainsDots}isTooltipEnabled(){return this.tooltipEnabled}isTooltipFieldContainsDots(){return this.tooltipFieldContainsDots}getHighlighted(){return this.highlighted}addEventListener(e,t){this.frameworkOverrides.shouldWrapOutgoing&&!this.frameworkEventListenerService&&(this.columnEventService.setFrameworkOverrides(this.frameworkOverrides),this.frameworkEventListenerService=new Fs(this.frameworkOverrides));let i=this.frameworkEventListenerService?.wrap(e,t)??t;this.columnEventService.addEventListener(e,i)}removeEventListener(e,t){let i=this.frameworkEventListenerService?.unwrap(e,t)??t;this.columnEventService.removeEventListener(e,i)}createColumnFunctionCallbackParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,column:this,colDef:this.colDef})}isSuppressNavigable(e){if(typeof this.colDef.suppressNavigable=="boolean")return this.colDef.suppressNavigable;if(typeof this.colDef.suppressNavigable=="function"){let t=this.createColumnFunctionCallbackParams(e),i=this.colDef.suppressNavigable;return i(t)}return!1}isCellEditable(e){if(e.group){if(this.gos.get("treeData")){if(!e.data&&!this.gos.get("enableGroupEdit"))return!1}else if(!this.gos.get("enableGroupEdit"))return!1}return this.isColumnFunc(e,this.colDef.editable)}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag(e){return this.isColumnFunc(e,this.colDef.rowDrag)}isDndSource(e){return this.isColumnFunc(e,this.colDef.dndSource)}isCellCheckboxSelection(e){let t=this.gos.get("rowSelection");if(t&&typeof t!="string"){let i=Pi(this)&&ii(t);return this.isColumnFunc(e,i)}else return this.isColumnFunc(e,this.colDef.checkboxSelection)}isSuppressPaste(e){return this.isColumnFunc(e,this.colDef?this.colDef.suppressPaste:null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue(e){return this.colDef[e]??Jl[e]}isColumnFunc(e,t){if(typeof t=="boolean")return t;if(typeof t=="function"){let i=this.createColumnFunctionCallbackParams(e);return t(i)}return!1}setHighlighted(e){this.highlighted!==e&&(this.highlighted=e,this.columnEventService.dispatchEvent(this.createColumnEvent("headerHighlightChanged","uiColumnMoved")))}setMoving(e,t){this.moving=e,this.columnEventService.dispatchEvent(this.createColumnEvent("movingChanged",t))}createColumnEvent(e,t){return this.gos.addGridCommonParams({type:e,column:this,columns:[this],source:t})}isMoving(){return this.moving}getSort(){return this.sort}setSort(e,t){this.sort!==e&&(this.sort=e,this.columnEventService.dispatchEvent(this.createColumnEvent("sortChanged",t))),this.dispatchStateUpdatedEvent("sort")}isSortable(){return!!this.getColDefValue("sortable")}isSortAscending(){return this.sort==="asc"}isSortDescending(){return this.sort==="desc"}isSortNone(){return K(this.sort)}isSorting(){return M(this.sort)}getSortIndex(){return this.sortIndex}setSortIndex(e){this.sortIndex=e,this.dispatchStateUpdatedEvent("sortIndex")}setMenuVisible(e,t){this.menuVisible!==e&&(this.menuVisible=e,this.columnEventService.dispatchEvent(this.createColumnEvent("menuVisibleChanged",t)))}isMenuVisible(){return this.menuVisible}setAggFunc(e){this.aggFunc=e,this.dispatchStateUpdatedEvent("aggFunc")}getAggFunc(){return this.aggFunc}getLeft(){return this.left}getOldLeft(){return this.oldLeft}getRight(){return this.left+this.actualWidth}setLeft(e,t){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.columnEventService.dispatchEvent(this.createColumnEvent("leftChanged",t)))}isFilterActive(){return this.filterActive}setFilterActive(e,t,i){this.filterActive!==e&&(this.filterActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("filterActiveChanged",t)));let o=this.createColumnEvent("filterChanged",t);i&&Ie(o,i),this.columnEventService.dispatchEvent(o)}isHovered(){return this.columnHoverService.isHovered(this)}setPinned(e){e===!0||e==="left"?this.pinned="left":e==="right"?this.pinned="right":this.pinned=null,this.dispatchStateUpdatedEvent("pinned")}setFirstRightPinned(e,t){this.firstRightPinned!==e&&(this.firstRightPinned=e,this.columnEventService.dispatchEvent(this.createColumnEvent("firstRightPinnedChanged",t)))}setLastLeftPinned(e,t){this.lastLeftPinned!==e&&(this.lastLeftPinned=e,this.columnEventService.dispatchEvent(this.createColumnEvent("lastLeftPinnedChanged",t)))}isFirstRightPinned(){return this.firstRightPinned}isLastLeftPinned(){return this.lastLeftPinned}isPinned(){return this.pinned==="left"||this.pinned==="right"}isPinnedLeft(){return this.pinned==="left"}isPinnedRight(){return this.pinned==="right"}getPinned(){return this.pinned}setVisible(e,t){let i=e===!0;this.visible!==i&&(this.visible=i,this.columnEventService.dispatchEvent(this.createColumnEvent("visibleChanged",t))),this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){return!this.getColDef().suppressSpanHeaderHeight}getColumnGroupPaddingInfo(){let e=this.getParent();if(!e||!e.isPadding())return{numberOfParents:0,isSpanningTotal:!1};let t=e.getPaddingLevel()+1,i=!0;for(;e;){if(!e.isPadding()){i=!1;break}e=e.getParent()}return{numberOfParents:t,isSpanningTotal:i}}getColDef(){return this.colDef}getDefinition(){return this.colDef}getColumnGroupShow(){return this.colDef.columnGroupShow}getColId(){return this.colId}getId(){return this.colId}getUniqueId(){return this.colId}getActualWidth(){return this.actualWidth}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){let t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}createBaseColDefParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,colDef:this.colDef,column:this})}getColSpan(e){if(K(this.colDef.colSpan))return 1;let t=this.createBaseColDefParams(e),i=this.colDef.colSpan(t);return Math.max(i,1)}getRowSpan(e){if(K(this.colDef.rowSpan))return 1;let t=this.createBaseColDefParams(e),i=this.colDef.rowSpan(t);return Math.max(i,1)}setActualWidth(e,t,i=!1){e=Math.max(e,this.minWidth),e=Math.min(e,this.maxWidth),this.actualWidth!==e&&(this.actualWidth=e,this.flex&&t!=="flex"&&t!=="gridInitializing"&&(this.flex=null),i||this.fireColumnWidthChangedEvent(t)),this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent(e){this.columnEventService.dispatchEvent(this.createColumnEvent("widthChanged",e))}isGreaterThanMax(e){return e>this.maxWidth}getMinWidth(){return this.minWidth}getMaxWidth(){return this.maxWidth}getFlex(){return this.flex||0}setFlex(e){this.flex!==e&&(this.flex=e),this.dispatchStateUpdatedEvent("flex")}setMinimum(e){this.setActualWidth(this.minWidth,e)}setRowGroupActive(e,t){this.rowGroupActive!==e&&(this.rowGroupActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnRowGroupChanged",t))),this.dispatchStateUpdatedEvent("rowGroup")}isRowGroupActive(){return this.rowGroupActive}setPivotActive(e,t){this.pivotActive!==e&&(this.pivotActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnPivotChanged",t))),this.dispatchStateUpdatedEvent("pivot")}isPivotActive(){return this.pivotActive}isAnyFunctionActive(){return this.isPivotActive()||this.isRowGroupActive()||this.isValueActive()}isAnyFunctionAllowed(){return this.isAllowPivot()||this.isAllowRowGroup()||this.isAllowValue()}setValueActive(e,t){this.aggregationActive!==e&&(this.aggregationActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnValueChanged",t)))}isValueActive(){return this.aggregationActive}isAllowPivot(){return this.colDef.enablePivot===!0}isAllowValue(){return this.colDef.enableValue===!0}isAllowRowGroup(){return this.colDef.enableRowGroup===!0}dispatchStateUpdatedEvent(e){this.columnEventService.dispatchEvent({type:"columnStateUpdated",key:e})}},Zl={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}},ec=class{constructor(){this.existingKeys={}}addExistingKeys(e){for(let t=0;t<e.length;t++)this.existingKeys[e[t]]=!0}getUniqueKey(e,t){e=Zo(e);let i=0;for(;;){let o;if(e?(o=e,i!==0&&(o+="_"+i)):t?(o=t,i!==0&&(o+="_"+i)):o=i,!this.existingKeys[o])return this.existingKeys[o]=!0,String(o);i++}}},tc=class extends b{constructor(){super(...arguments),this.beanName="columnFactory"}wireBeans(e){this.dataTypeService=e.dataTypeService}createColumnTree(e,t,i,o){let s=new ec,{existingCols:r,existingGroups:n,existingColKeys:a}=this.extractExistingTreeData(i);s.addExistingKeys(a);let l=this.recursivelyCreateColumns(e,0,t,r,s,n,o),c=this.findMaxDept(l,0),d=this.balanceColumnTree(l,0,c,s);return pt(null,d,(h,g)=>{ke(h)&&h.setupExpandable(),h.setOriginalParent(g)}),{columnTree:d,treeDept:c}}extractExistingTreeData(e){let t=[],i=[],o=[];return e&&pt(null,e,s=>{if(ke(s)){let r=s;i.push(r)}else{let r=s;o.push(r.getId()),t.push(r)}}),{existingCols:t,existingGroups:i,existingColKeys:o}}balanceTreeForAutoCols(e,t){let i=[],o=this.findDepth(t);return e.forEach(s=>{let r=s;for(let n=o-1;n>=0;n--){let a=new Xi(null,`FAKE_PATH_${s.getId()}}_${n}`,!0,n);this.createBean(a),a.setChildren([r]),r.setOriginalParent(a),r=a}o===0&&s.setOriginalParent(null),i.push(r)}),[i,o]}findDepth(e){let t=0,i=e;for(;i&&i[0]&&ke(i[0]);)t++,i=i[0].getChildren();return t}balanceColumnTree(e,t,i,o){let s=[];for(let r=0;r<e.length;r++){let n=e[r];if(ke(n)){let a=n,l=this.balanceColumnTree(a.getChildren(),t+1,i,o);a.setChildren(l),s.push(a)}else{let a,l;for(let c=i-1;c>=t;c--){let d=o.getUniqueKey(null,null),u=this.createMergedColGroupDef(null),h=new Xi(u,d,!0,t);this.createBean(h),l&&l.setChildren([h]),l=h,a||(a=l)}if(a&&l)if(s.push(a),e.some(d=>ke(d))){l.setChildren([n]);continue}else{l.setChildren(e);break}s.push(n)}}return s}findMaxDept(e,t){let i=t;for(let o=0;o<e.length;o++){let s=e[o];if(ke(s)){let r=s,n=this.findMaxDept(r.getChildren(),t+1);i<n&&(i=n)}}return i}recursivelyCreateColumns(e,t,i,o,s,r,n){if(!e)return[];let a=new Array(e.length);for(let l=0;l<a.length;l++){let c=e[l];this.isColumnGroup(c)?a[l]=this.createColumnGroup(i,c,t,o,s,r,n):a[l]=this.createColumn(i,c,o,s,n)}return a}createColumnGroup(e,t,i,o,s,r,n){let a=this.createMergedColGroupDef(t),l=s.getUniqueKey(a.groupId||null,null),c=new Xi(a,l,!1,i);this.createBean(c);let d=this.findExistingGroup(t,r);d&&r.splice(d.idx,1);let u=d?.group;u&&c.setExpanded(u.isExpanded());let h=this.recursivelyCreateColumns(a.children,i+1,e,o,s,r,n);return c.setChildren(h),c}createMergedColGroupDef(e){let t={};return Object.assign(t,this.gos.get("defaultColGroupDef")),Object.assign(t,e),t}createColumn(e,t,i,o,s){let r=this.findExistingColumn(t,i);r&&i?.splice(r.idx,1);let n=r?.column;if(n){let a=this.addColumnDefaultAndTypes(t,n.getColId());n.setColDef(a,t,s),this.applyColumnState(n,a,s)}else{let a=o.getUniqueKey(t.colId,t.field),l=this.addColumnDefaultAndTypes(t,a);n=new Ds(l,t,a,e),this.createBean(n)}return this.dataTypeService?.addColumnListeners(n),n}applyColumnState(e,t,i){let o=Nt(t.flex);if(o!==void 0&&e.setFlex(o),e.getFlex()<=0){let a=Nt(t.width);if(a!=null)e.setActualWidth(a,i);else{let l=e.getActualWidth();e.setActualWidth(l,i)}}t.sort!==void 0&&(t.sort=="asc"||t.sort=="desc"?e.setSort(t.sort,i):e.setSort(void 0,i));let r=Nt(t.sortIndex);r!==void 0&&e.setSortIndex(r);let n=es(t.hide);n!==void 0&&e.setVisible(!n,i),t.pinned!==void 0&&e.setPinned(t.pinned)}findExistingColumn(e,t){if(t)for(let i=0;i<t.length;i++){let o=t[i].getUserProvidedColDef();if(!o)continue;if(e.colId!=null){if(t[i].getId()===e.colId)return{idx:i,column:t[i]};continue}if(e.field!=null){if(o.field===e.field)return{idx:i,column:t[i]};continue}if(o===e)return{idx:i,column:t[i]}}}findExistingGroup(e,t){if(e.groupId!=null)for(let o=0;o<t.length;o++){let s=t[o];if(s.getColGroupDef()&&s.getId()===e.groupId)return{idx:o,group:s}}}addColumnDefaultAndTypes(e,t){let i={},o=this.gos.get("defaultColDef");Ie(i,o,!1,!0);let s=this.updateColDefAndGetColumnType(i,e,t);s&&this.assignColumnTypes(s,i),Ie(i,e,!1,!0);let r=this.gos.get("autoGroupColumnDef"),n=Qe(this.gos);return e.rowGroup&&r&&n&&Ie(i,{sort:r.sort,initialSort:r.initialSort},!1,!0),this.dataTypeService?.validateColDef(i),i}updateColDefAndGetColumnType(e,t,i){let o=this.dataTypeService?.updateColDefAndGetColumnType(e,t,i),s=t.type??o??e.type;return e.type=s,s?Zi(s):void 0}assignColumnTypes(e,t){if(!e.length)return;let i=Object.assign({},Zl),o=this.gos.get("columnTypes")||{};We(o,(s,r)=>{s in i?S(`the column type '${s}' is a default column type and cannot be overridden.`):(r.type&&S("Column type definitions 'columnTypes' with a 'type' attribute are not supported because a column type cannot refer to another column type. Only column definitions 'columnDefs' can use the 'type' attribute to refer to a column type."),i[s]=r)}),e.forEach(s=>{let r=i[s.trim()];r?Ie(t,r,!1,!0):S("colDef.type '"+s+"' does not correspond to defined gridOptions.columnTypes")})}isColumnGroup(e){return e.children!==void 0}};function pt(e,t,i){if(t)for(let o=0;o<t.length;o++){let s=t[o];ke(s)&&pt(s,s.getChildren(),i),i(s,e)}}var ic=class extends b{constructor(){super(...arguments),this.beanName="columnModel",this.pivotMode=!1,this.autoHeightActiveAtLeastOnce=!1,this.ready=!1,this.changeEventsDispatching=!1,this.shouldQueueResizeOperations=!1,this.resizeOperationQueue=[]}wireBeans(e){this.context=e.context,this.ctrlsService=e.ctrlsService,this.columnFactory=e.columnFactory,this.columnSizeService=e.columnSizeService,this.visibleColsService=e.visibleColsService,this.columnViewportService=e.columnViewportService,this.pivotResultColsService=e.pivotResultColsService,this.columnAnimationService=e.columnAnimationService,this.autoColService=e.autoColService,this.controlsColService=e.controlsColService,this.valueCache=e.valueCache,this.columnDefFactory=e.columnDefFactory,this.columnApplyStateService=e.columnApplyStateService,this.columnGroupStateService=e.columnGroupStateService,this.eventDispatcher=e.columnEventDispatcher,this.columnMoveService=e.columnMoveService,this.columnAutosizeService=e.columnAutosizeService,this.funcColsService=e.funcColsService,this.quickFilterService=e.quickFilterService,this.showRowGroupColsService=e.showRowGroupColsService,this.environment=e.environment}postConstruct(){let e=this.gos.get("pivotMode");this.isPivotSettingAllowed(e)&&(this.pivotMode=e),this.addManagedPropertyListeners(["groupDisplayType","treeData","treeDataDisplayType","groupHideOpenParents"],t=>this.refreshAll(It(t.source))),this.addManagedPropertyListener("rowSelection",t=>{this.onSelectionOptionsChanged(t.currentValue,t.previousValue,It(t.source))}),this.addManagedPropertyListener("autoGroupColumnDef",t=>this.onAutoGroupColumnDefChanged(It(t.source))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],t=>this.recreateColumnDefs(It(t.source))),this.addManagedPropertyListener("pivotMode",t=>this.setPivotMode(this.gos.get("pivotMode"),It(t.source))),this.addManagedEventListeners({firstDataRendered:()=>this.onFirstDataRendered()})}createColsFromColDefs(e){let t=this.colDefs?this.columnApplyStateService.compareColumnStatesAndDispatchEvents(e):void 0;this.valueCache.expire();let i=this.colDefCols?.list,o=this.colDefCols?.tree,s=this.columnFactory.createColumnTree(this.colDefs,!0,o,e);Ft(this.context,this.colDefCols?.tree,s.columnTree);let r=s.columnTree,n=s.treeDept,a=Rs(r),l={};a.forEach(c=>l[c.getId()]=c),this.colDefCols={tree:r,treeDepth:n,list:a,map:l},this.funcColsService.extractCols(e,i),this.ready=!0,this.refreshCols(!0),this.visibleColsService.refresh(e),this.columnViewportService.checkViewportColumns(),this.eventDispatcher.everythingChanged(e),t&&(this.changeEventsDispatching=!0,t(),this.changeEventsDispatching=!1),this.eventDispatcher.newColumnsLoaded(e),e==="gridInitializing"&&this.columnSizeService.applyAutosizeStrategy()}refreshCols(e){if(!this.colDefCols)return;let t=this.cols?.tree;this.saveColOrder(),this.selectCols(),this.createAutoCols(),this.addAutoCols(),this.createControlsCols(),this.addControlsCols();let i=kl(this.gos,this.showingPivotResult);(!e||i)&&this.restoreColOrder(),this.positionLockedCols(),this.showRowGroupColsService?.refresh(),this.quickFilterService?.refreshQuickFilterCols(),this.setColSpanActive(),this.setAutoHeightActive(),this.visibleColsService.clear(),this.columnViewportService.clear(),!Pt(t,this.cols.tree)&&this.eventDispatcher.gridColumns()}selectCols(){let e=this.pivotResultColsService.getPivotResultCols();if(this.showingPivotResult=e!=null,e){let{map:t,list:i,tree:o,treeDepth:s}=e;this.cols={list:i.slice(),map:{...t},tree:o.slice(),treeDepth:s},e.list.some(n=>this.cols?.map[n.getColId()]!==void 0)||(this.lastPivotOrder=null)}else{let{map:t,list:i,tree:o,treeDepth:s}=this.colDefCols;this.cols={list:i.slice(),map:{...t},tree:o.slice(),treeDepth:s}}}getColsToShow(){let e=this.isPivotMode()&&!this.isShowingPivotResult(),t=this.funcColsService.getValueColumns(),i=this.controlsColService?.isControlsColEnabled();return this.cols.list.filter(s=>{let r=Or(s);if(e){let n=t&&Ht(t,s);return r||n||i&&Pi(s)}else return r||s.isVisible()})}addAutoCols(){this.autoCols!=null&&(this.cols.list=this.autoCols.list.concat(this.cols.list),this.cols.tree=this.autoCols.tree.concat(this.cols.tree),Nr(this.cols))}createAutoCols(){let e=ys(this.gos,this.pivotMode),t=this.pivotMode?this.gos.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),i=this.funcColsService.getRowGroupColumns(),s=!(i.length>0||this.gos.get("treeData"))||t||e,r=()=>{this.autoCols&&(Ft(this.context,this.autoCols.tree),this.autoCols=null)};if(s||!this.autoColService){r();return}let n=this.autoColService.createAutoCols(i)??[],a=zr(n,this.autoCols?.list||null),l=this.cols.treeDepth,d=(this.autoCols?this.autoCols.treeDepth:-1)==l;if(a&&d)return;r();let[u,h]=this.columnFactory.balanceTreeForAutoCols(n,this.cols.tree);this.autoCols={list:n,tree:u,treeDepth:h,map:{}};let g=f=>{if(!f)return null;let m=f.filter(p=>!Or(p));return[...n,...m]};this.lastOrder=g(this.lastOrder),this.lastPivotOrder=g(this.lastPivotOrder)}createControlsCols(){let e=()=>{Ft(this.context,this.controlsCols?.tree),this.controlsCols=null};this.controlsColService||e();let t=this.cols.treeDepth,o=(this.controlsCols?.treeDepth??-1)==t,s=this.controlsColService?.createControlsCols()??[];if(zr(s,this.controlsCols?.list??[])&&o)return;e();let[n,a]=this.columnFactory.balanceTreeForAutoCols(s,this.cols.tree);this.controlsCols={list:s,tree:n,treeDepth:a,map:{}};let l=c=>{if(!c)return null;let d=c.filter(u=>!Pi(u));return[...s,...d]};this.lastOrder=l(this.lastOrder),this.lastPivotOrder=l(this.lastPivotOrder)}addControlsCols(){this.controlsCols!=null&&(this.cols.list=this.controlsCols.list.concat(this.cols.list),this.cols.tree=this.controlsCols.tree.concat(this.cols.tree),Nr(this.cols))}refreshAll(e){this.isReady()&&(this.refreshCols(!1),this.visibleColsService.refresh(e))}setColsVisible(e,t=!1,i){this.columnApplyStateService.applyColumnState({state:e.map(o=>({colId:typeof o=="string"?o:o.getColId(),hide:!t}))},i)}setColsPinned(e,t,i){if(!this.cols||Ee(e))return;if(Re(this.gos,"print")){S("Changing the column pinning status is not allowed with domLayout='print'");return}this.columnAnimationService.start();let o;t===!0||t==="left"?o="left":t==="right"?o="right":o=null;let s=[];e.forEach(r=>{if(!r)return;let n=this.getCol(r);n&&n.getPinned()!==o&&(n.setPinned(o),s.push(n))}),s.length&&(this.visibleColsService.refresh(i),this.eventDispatcher.columnPinned(s,i)),this.columnAnimationService.finish()}setColumnGroupOpened(e,t,i){let o;ke(e)?o=e.getId():o=e||"",this.columnGroupStateService.setColumnGroupState([{groupId:o,open:t}],i)}getProvidedColGroup(e){let t=null;return pt(null,this.cols?.tree,i=>{ke(i)&&i.getId()===e&&(t=i)}),t}isColGroupLocked(e){let t=this.gos.get("groupLockGroupColumns");if(!e.isRowGroupActive()||t===0)return!1;if(t===-1)return!0;let o=this.funcColsService.getRowGroupColumns().findIndex(s=>s.getColId()===e.getColId());return t>o}isSuppressAutoCol(){return this.gos.get("groupDisplayType")==="custom"?!0:this.gos.get("treeDataDisplayType")==="custom"}setAutoHeightActive(){this.autoHeightActive=this.cols.list.some(e=>e.isVisible()&&e.isAutoHeight()),this.autoHeightActive&&(this.autoHeightActiveAtLeastOnce=!0,de(this.gos)||mt(this.gos)||S("autoHeight columns only work with Client Side Row Model and Server Side Row Model."))}restoreColOrder(){let e=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!e)return;let t=new Map(e.map((l,c)=>[l,c]));if(!this.cols.list.some(l=>t.has(l)))return;let o=new Map(this.cols.list.map(l=>[l,!0])),s=e.filter(l=>o.has(l)),r=new Map(s.map(l=>[l,!0])),n=this.cols.list.filter(l=>!r.has(l)),a=s.slice();n.forEach(l=>{let c=l.getOriginalParent();if(!c){a.push(l);return}let d=[];for(;!d.length&&c;)c.getLeafColumns().forEach(f=>{let m=a.indexOf(f)>=0,p=d.indexOf(f)<0;m&&p&&d.push(f)}),c=c.getOriginalParent();if(!d.length){a.push(l);return}let u=d.map(g=>a.indexOf(g)),h=Math.max(...u);Mi(a,l,h+1)}),this.cols.list=a}sortColsLikeKeys(e){if(this.cols==null)return;let t=[],i={};e.forEach(s=>{if(i[s])return;let r=this.cols.map[s];r&&(t.push(r),i[s]=!0)});let o=0;if(this.cols.list.forEach(s=>{let r=s.getColId();if(i[r]!=null)return;r.startsWith(wo)?Mi(t,s,o++):t.push(s)}),t=this.columnMoveService.placeLockedColumns(t),!this.columnMoveService.doesMovePassMarryChildren(t)){S("Applying column order broke a group where columns should be married together. Applying new order has been discarded.");return}this.cols.list=t}sortColsLikeCols(e){!e||e.length<=1||e.filter(i=>this.cols.list.indexOf(i)<0).length>0||e.sort((i,o)=>{let s=this.cols.list.indexOf(i),r=this.cols.list.indexOf(o);return s-r})}resetColDefIntoCol(e,t){let i=e.getUserProvidedColDef();if(!i)return!1;let o=this.columnFactory.addColumnDefaultAndTypes(i,e.getColId());return e.setColDef(o,i,t),!0}queueResizeOperations(){this.shouldQueueResizeOperations=!0}isShouldQueueResizeOperations(){return this.shouldQueueResizeOperations}processResizeOperations(){this.shouldQueueResizeOperations=!1,this.resizeOperationQueue.forEach(e=>e()),this.resizeOperationQueue=[]}pushResizeOperation(e){this.resizeOperationQueue.push(e)}moveInCols(e,t,i){fn(this.cols?.list,e,t),this.visibleColsService.refresh(i)}positionLockedCols(){this.cols.list=this.columnMoveService.placeLockedColumns(this.cols.list)}saveColOrder(){this.showingPivotResult?this.lastPivotOrder=this.cols?.list:this.lastOrder=this.cols?.list}getColumnDefs(){if(!this.colDefCols)return;let e=this.colDefCols.list.slice();this.showingPivotResult?e.sort((o,s)=>this.lastOrder.indexOf(o)-this.lastOrder.indexOf(s)):this.lastOrder&&e.sort((o,s)=>this.cols.list.indexOf(o)-this.cols.list.indexOf(s));let t=this.funcColsService.getRowGroupColumns(),i=this.funcColsService.getPivotColumns();return this.columnDefFactory.buildColumnDefs(e,t,i)}isShowingPivotResult(){return this.showingPivotResult}isChangeEventsDispatching(){return this.changeEventsDispatching}isColSpanActive(){return this.colSpanActive}isProvidedColGroupsPresent(){return this.colDefCols?.treeDepth>0}setColSpanActive(){this.colSpanActive=this.cols.list.some(e=>e.getColDef().colSpan!=null)}isAutoRowHeightActive(){return this.autoHeightActive}wasAutoRowHeightEverActive(){return this.autoHeightActiveAtLeastOnce}getHeaderRowCount(){return this.cols?this.cols.treeDepth+1:-1}isReady(){return this.ready}isPivotMode(){return this.pivotMode}setPivotMode(e,t){e===this.pivotMode||!this.isPivotSettingAllowed(this.pivotMode)||(this.pivotMode=e,this.ready&&(this.refreshCols(!1),this.visibleColsService.refresh(t),this.eventDispatcher.pivotModeChanged()))}isPivotSettingAllowed(e){return e&&this.gos.get("treeData")?(S("Pivot mode not available with treeData."),!1):!0}isPivotActive(){let e=this.funcColsService.getPivotColumns();return this.pivotMode&&!Ee(e)}recreateColumnDefs(e){this.cols&&(this.autoCols&&this.autoColService.updateAutoCols(this.autoCols.list,e),this.createColsFromColDefs(e))}setColumnDefs(e,t){this.colDefs=e,this.createColsFromColDefs(t)}destroy(){Ft(this.context,this.colDefCols?.tree),Ft(this.context,this.autoCols?.tree),Ft(this.context,this.controlsCols?.tree),super.destroy()}getColTree(){return this.cols.tree}getColDefColTree(){return this.colDefCols.tree}getColDefCols(){return this.colDefCols?.list?this.colDefCols.list:null}getCols(){return this.cols?.list??[]}getAllCols(){let t=this.pivotResultColsService.getPivotResultCols()?.list;return[this.colDefCols?.list??[],this.autoCols?.list??[],this.controlsCols?.list??[],t??[]].flat()}getColsForKeys(e){return e?e.map(t=>this.getCol(t)).filter(t=>t!=null):[]}getColDefCol(e){return this.colDefCols?.list?this.getColFromCollection(e,this.colDefCols):null}getCol(e){return e==null?null:this.getColFromCollection(e,this.cols)}getColFromCollection(e,t){if(t==null)return null;let{map:i,list:o}=t;if(typeof e=="string"&&i[e])return i[e];for(let s=0;s<o.length;s++)if(Hr(o[s],e))return o[s];return this.getAutoCol(e)}getAutoCol(e){return this.autoCols?.list.find(t=>Hr(t,e))??null}getAutoCols(){return this.autoCols?.list??null}setColHeaderHeight(e,t){e.setAutoHeaderHeight(t)&&(e.isColumn?this.eventDispatcher.headerHeight(e):this.eventDispatcher.groupHeaderHeight(e))}getGroupRowsHeight(){let e=[],t=this.ctrlsService.getHeaderRowContainerCtrls();for(let i of t){if(!i)continue;let o=i.getGroupRowCount()||0;for(let s=0;s<o;s++){let r=i.getGroupRowCtrlAtIndex(s),n=e[s];if(r){let a=this.getColumnGroupHeaderRowHeight(r);(n==null||a>n)&&(e[s]=a)}}}return e}getColumnGroupHeaderRowHeight(e){let t=this.isPivotMode()?this.getPivotGroupHeaderHeight():this.getGroupHeaderHeight(),i=0,o=e.getHeaderCtrls();for(let s of o){let r=s.getColumn();if(r.isAutoHeaderHeight()){let n=r.getAutoHeaderHeight();n!=null&&n>i&&(i=n)}}return Math.max(t,i)}getColumnHeaderRowHeight(){let e=this.isPivotMode()?this.getPivotHeaderHeight():this.getHeaderHeight(),i=this.visibleColsService.getAllCols().filter(o=>o.isAutoHeaderHeight()).map(o=>o.getAutoHeaderHeight()||0);return Math.max(e,...i)}getHeaderHeight(){return this.gos.get("headerHeight")??this.environment.getDefaultHeaderHeight()}getFloatingFiltersHeight(){return this.gos.get("floatingFiltersHeight")??this.getHeaderHeight()}getGroupHeaderHeight(){return this.gos.get("groupHeaderHeight")??this.getHeaderHeight()}getPivotHeaderHeight(){return this.gos.get("pivotHeaderHeight")??this.getHeaderHeight()}getPivotGroupHeaderHeight(){return this.gos.get("pivotGroupHeaderHeight")??this.getGroupHeaderHeight()}onFirstDataRendered(){let e=this.gos.get("autoSizeStrategy");if(e?.type!=="fitCellContents")return;let{colIds:t,skipHeader:i}=e;setTimeout(()=>{t?this.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:i,source:"autosizeColumns"}):this.columnAutosizeService.autoSizeAllColumns("autosizeColumns",i)})}onAutoGroupColumnDefChanged(e){this.autoCols&&this.autoColService.updateAutoCols(this.autoCols.list,e)}onSelectionOptionsChanged(e,t,i){let o=t&&typeof t!="string"?ii(t):void 0,s=e&&typeof e!="string"?ii(e):void 0,r=o!==s,n=t&&typeof t!="string"?so(t):void 0,a=e&&typeof e!="string"?so(e):void 0;(r||n!==a)&&this.refreshAll(i)}};function It(e){return e==="gridOptionsUpdated"?"gridOptionsChanged":e}function Nr(e){e.map={},e.list.forEach(t=>e.map[t.getId()]=t)}function Hr(e,t){let i=e===t,o=e.getColDef()===t,s=e.getColId()==t;return i||o||s}function zr(e,t){return Pt(e,t,(i,o)=>i.getColId()===o.getColId())}var oc=class extends b{constructor(){super(...arguments),this.beanName="columnAutosizeService",this.timesDelayed=0}wireBeans(e){this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.animationFrameService=e.animationFrameService,this.autoWidthCalculator=e.autoWidthCalculator,this.eventDispatcher=e.columnEventDispatcher,this.ctrlsService=e.ctrlsService,this.renderStatusService=e.renderStatusService}autoSizeCols(e){if(this.columnModel.isShouldQueueResizeOperations()){this.columnModel.pushResizeOperation(()=>this.autoSizeCols(e));return}let{colKeys:t,skipHeader:i,skipHeaderGroups:o,stopAtGroup:s,source:r="api"}=e;if(this.animationFrameService.flushAllFrames(),this.timesDelayed<5&&this.renderStatusService&&!this.renderStatusService.areHeaderCellsRendered()){this.timesDelayed++,setTimeout(()=>this.autoSizeCols(e));return}this.timesDelayed=0;let n=[],a=-1,l=i??this.gos.get("skipHeaderOnAutoSize"),c=o??l;for(;a!==0;){a=0;let d=[];t.forEach(u=>{if(!u)return;let h=this.columnModel.getCol(u);if(!h||n.indexOf(h)>=0)return;let g=this.autoWidthCalculator.getPreferredWidthForColumn(h,l);if(g>0){let f=this.normaliseColumnWidth(h,g);h.setActualWidth(f,r),n.push(h),a++}d.push(h)}),d.length&&this.visibleColsService.refresh(r)}c||this.autoSizeColumnGroupsByColumns(t,r,s),this.eventDispatcher.columnResized(n,!0,"autosizeColumns")}autoSizeColumn(e,t,i){e&&this.autoSizeCols({colKeys:[e],skipHeader:i,skipHeaderGroups:!0,source:t})}autoSizeColumnGroupsByColumns(e,t,i){let o=new Set;this.columnModel.getColsForKeys(e).forEach(a=>{let l=a.getParent();for(;l&&l!=i;)l.isPadding()||o.add(l),l=l.getParent()});let r,n=[];for(let a of o){for(let l of this.ctrlsService.getHeaderRowContainerCtrls())if(r=l.getHeaderCtrlForColumn(a),r)break;r&&r.resizeLeafColumnsToFit(t)}return n}autoSizeAllColumns(e,t){if(this.columnModel.isShouldQueueResizeOperations()){this.columnModel.pushResizeOperation(()=>this.autoSizeAllColumns(e,t));return}let i=this.visibleColsService.getAllCols();this.autoSizeCols({colKeys:i,skipHeader:t,source:e})}normaliseColumnWidth(e,t){let i=e.getMinWidth();t<i&&(t=i);let o=e.getMaxWidth();return e.isGreaterThanMax(t)&&(t=o),t}},sc=class extends b{constructor(){super(...arguments),this.beanName="funcColsService",this.rowGroupCols=[],this.valueCols=[],this.pivotCols=[]}wireBeans(e){this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher,this.aggFuncService=e.aggFuncService,this.visibleColsService=e.visibleColsService}getModifyColumnsNoEventsCallbacks(){return{addGroupCol:e=>this.rowGroupCols.push(e),removeGroupCol:e=>De(this.rowGroupCols,e),addPivotCol:e=>this.pivotCols.push(e),removePivotCol:e=>De(this.pivotCols,e),addValueCol:e=>this.valueCols.push(e),removeValueCol:e=>De(this.valueCols,e)}}getSourceColumnsForGroupColumn(e){let t=e.getColDef().showRowGroup;if(!t)return null;if(t===!0)return this.rowGroupCols.slice(0);let i=this.columnModel.getColDefCol(t);return i?[i]:null}sortRowGroupColumns(e){this.rowGroupCols.sort(e)}sortPivotColumns(e){this.pivotCols.sort(e)}getValueColumns(){return this.valueCols?this.valueCols:[]}getPivotColumns(){return this.pivotCols?this.pivotCols:[]}getRowGroupColumns(){return this.rowGroupCols?this.rowGroupCols:[]}isRowGroupEmpty(){return Ee(this.rowGroupCols)}setColumnAggFunc(e,t,i){if(!e)return;let o=this.columnModel.getColDefCol(e);o&&(o.setAggFunc(t),this.eventDispatcher.columnChanged("columnValueChanged",[o],i))}setRowGroupColumns(e,t){this.setColList(e,this.rowGroupCols,"columnRowGroupChanged",!0,!0,(i,o)=>this.setRowGroupActive(i,o,t),t)}setRowGroupActive(e,t,i){e!==t.isRowGroupActive()&&(t.setRowGroupActive(e,i),e&&!this.gos.get("suppressRowGroupHidesColumns")&&this.columnModel.setColsVisible([t],!1,i),!e&&!this.gos.get("suppressMakeColumnVisibleAfterUnGroup")&&this.columnModel.setColsVisible([t],!0,i))}addRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!0,!0,i=>this.setRowGroupActive(!0,i,t),"columnRowGroupChanged",t)}removeRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!1,!0,i=>this.setRowGroupActive(!1,i,t),"columnRowGroupChanged",t)}addPivotColumns(e,t){this.updateColList(e,this.pivotCols,!0,!1,i=>i.setPivotActive(!0,t),"columnPivotChanged",t)}setPivotColumns(e,t){this.setColList(e,this.pivotCols,"columnPivotChanged",!0,!1,(i,o)=>{o.setPivotActive(i,t)},t)}removePivotColumns(e,t){this.updateColList(e,this.pivotCols,!1,!1,i=>i.setPivotActive(!1,t),"columnPivotChanged",t)}setValueColumns(e,t){this.setColList(e,this.valueCols,"columnValueChanged",!1,!1,(i,o)=>this.setValueActive(i,o,t),t)}setValueActive(e,t,i){if(e!==t.isValueActive()&&(t.setValueActive(e,i),e&&!t.getAggFunc()&&this.aggFuncService)){let o=this.aggFuncService.getDefaultAggFunc(t);t.setAggFunc(o)}}addValueColumns(e,t){this.updateColList(e,this.valueCols,!0,!1,i=>this.setValueActive(!0,i,t),"columnValueChanged",t)}removeValueColumns(e,t){this.updateColList(e,this.valueCols,!1,!1,i=>this.setValueActive(!1,i,t),"columnValueChanged",t)}moveRowGroupColumn(e,t,i){if(this.isRowGroupEmpty())return;let o=this.rowGroupCols[e],s=this.rowGroupCols.slice(e,t);this.rowGroupCols.splice(e,1),this.rowGroupCols.splice(t,0,o),this.eventDispatcher.rowGroupChanged(s,i)}setColList(e,t,i,o,s,r,n){if(!this.columnModel.getCols())return;let a=new Map;t.forEach((c,d)=>a.set(c,d)),t.length=0,M(e)&&e.forEach(c=>{let d=this.columnModel.getColDefCol(c);d&&t.push(d)}),t.forEach((c,d)=>{let u=a.get(c);if(u===void 0){a.set(c,0);return}o&&u!==d||a.delete(c)}),(this.columnModel.getColDefCols()||[]).forEach(c=>{let d=t.indexOf(c)>=0;r(d,c)}),s&&this.columnModel.refreshCols(!1),this.visibleColsService.refresh(n),this.eventDispatcher.columnChanged(i,[...a.keys()],n)}updateColList(e,t,i,o,s,r,n){if(!e||Ee(e))return;let a=!1,l=new Set;e.forEach(c=>{if(!c)return;let d=this.columnModel.getColDefCol(c);if(d){if(l.add(d),i){if(t.indexOf(d)>=0)return;t.push(d)}else{let u=t.indexOf(d);if(u<0)return;for(let h=u+1;h<t.length;h++)l.add(t[h]);De(t,d)}s(d),a=!0}}),a&&(o&&this.columnModel.refreshCols(!1),this.visibleColsService.refresh(n),this.eventDispatcher.genericColumnEvent(r,Array.from(l),n))}extractCols(e,t){this.extractRowGroupCols(e,t),this.extractPivotCols(e,t),this.extractValueCols(e,t)}extractValueCols(e,t){this.valueCols=this.extractColsCommon(t,this.valueCols,(i,o)=>i.setValueActive(o,e),()=>{},()=>{},i=>{let o=i.aggFunc;if(o===null||o==="")return null;if(o!==void 0)return!!o},i=>i.initialAggFunc!=null&&i.initialAggFunc!=""),this.valueCols.forEach(i=>{let o=i.getColDef();o.aggFunc!=null&&o.aggFunc!=""?i.setAggFunc(o.aggFunc):i.getAggFunc()||i.setAggFunc(o.initialAggFunc)})}extractRowGroupCols(e,t){this.rowGroupCols=this.extractColsCommon(t,this.rowGroupCols,(i,o)=>i.setRowGroupActive(o,e),i=>i.rowGroupIndex,i=>i.initialRowGroupIndex,i=>i.rowGroup,i=>i.initialRowGroup)}extractPivotCols(e,t){this.pivotCols=this.extractColsCommon(t,this.pivotCols,(i,o)=>i.setPivotActive(o,e),i=>i.pivotIndex,i=>i.initialPivotIndex,i=>i.pivot,i=>i.initialPivot)}extractColsCommon(e=[],t=[],i,o,s,r,n){let a=[],l=[];(this.columnModel.getColDefCols()||[]).forEach(h=>{let g=e.indexOf(h)<0,f=h.getColDef(),m=es(r(f)),p=es(n(f)),v=Nt(o(f)),w=Nt(s(f)),C;m!==void 0?C=m:v!==void 0?v===null?C=!1:C=v>=0:g?p!==void 0?C=p:w!==void 0?C=w!=null&&w>=0:C=!1:C=t.indexOf(h)>=0,C&&((g?v!=null||w!=null:v!=null)?a.push(h):l.push(h))});let d=h=>{let g=o(h.getColDef()),f=s(h.getColDef());return g??f};a.sort((h,g)=>{let f=d(h),m=d(g);return f===m?0:f<m?-1:1});let u=[].concat(a);return t.forEach(h=>{l.indexOf(h)>=0&&u.push(h)}),l.forEach(h=>{u.indexOf(h)<0&&u.push(h)}),t.forEach(h=>{u.indexOf(h)<0&&i(h,!1)}),u.forEach(h=>{t.indexOf(h)<0&&i(h,!0)}),u}generateColumnStateForRowGroupAndPivotIndexes(e,t){let i={},o=(s,r,n,a,l,c)=>{let d=this.columnModel.getColDefCols();if(!r.length||!d)return[];let u=Object.keys(s),h=new Set(u),g=new Set(u),f=new Set(r.map(T=>{let x=T.getColId();return g.delete(x),x}).concat(u)),m=[],p={},v=0;for(let T=0;T<d.length;T++){let x=d[T].getColId();f.has(x)&&(m.push(x),p[x]=v++)}let w=1e3,C=!1,R=0,P=T=>{let x=p[T];for(let A=R;A<x;A++){let L=m[A];g.has(L)&&(s[L][l]=w++,g.delete(L))}R=x};r.forEach(T=>{let x=T.getColId();if(h.has(x))P(x),s[x][l]=w++;else{let A=T.getColDef();(A[l]===null||A[l]===void 0&&A[c]==null)&&(C||(A[n]||A[n]===void 0&&A[a]?P(x):(g.forEach(O=>{s[O][l]=w+p[O]}),w+=m.length,C=!0)),i[x]||(i[x]={colId:x}),i[x][l]=w++)}})};return o(e,this.rowGroupCols,"rowGroup","initialRowGroup","rowGroupIndex","initialRowGroupIndex"),o(t,this.pivotCols,"pivot","initialPivot","pivotIndex","initialPivotIndex"),Object.values(i)}},rc=class extends b{constructor(){super(...arguments),this.beanName="columnApplyStateService"}wireBeans(e){this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher,this.sortController=e.sortController,this.columnGetStateService=e.columnGetStateService,this.funcColsService=e.funcColsService,this.visibleColsService=e.visibleColsService,this.columnAnimationService=e.columnAnimationService,this.pivotResultColsService=e.pivotResultColsService}applyColumnState(e,t){let i=this.columnModel.getColDefCols()||[];if(Ee(i))return!1;if(e&&e.state&&!e.state.forEach)return S("applyColumnState() - the state attribute should be an array, however an array was not found. Please provide an array of items (one for each col you want to change) for state."),!1;let o=this.funcColsService.getModifyColumnsNoEventsCallbacks(),s=(a,l,c)=>{let d=this.compareColumnStatesAndDispatchEvents(t),u=l.slice(),h={},g={},f=[],m=[],p=0,v=this.funcColsService.getRowGroupColumns().slice(),w=this.funcColsService.getPivotColumns().slice();a.forEach(T=>{let x=T.colId||"";if(x.startsWith(wo)){f.push(T),m.push(T);return}let L=c(x);L?(this.syncColumnWithStateItem(L,T,e.defaultState,h,g,!1,t,o),De(u,L)):(m.push(T),p+=1)});let C=T=>this.syncColumnWithStateItem(T,null,e.defaultState,h,g,!1,t,o);u.forEach(C),this.funcColsService.sortRowGroupColumns(Br.bind(this,h,v)),this.funcColsService.sortPivotColumns(Br.bind(this,g,w)),this.columnModel.refreshCols(!1);let P=(this.columnModel.getAutoCols()||[]).slice();return f.forEach(T=>{let x=this.columnModel.getAutoCol(T.colId);De(P,x),this.syncColumnWithStateItem(x,T,e.defaultState,null,null,!0,t,o)}),P.forEach(C),this.orderLiveColsLikeState(e),this.visibleColsService.refresh(t),this.eventDispatcher.everythingChanged(t),d(),{unmatchedAndAutoStates:m,unmatchedCount:p}};this.columnAnimationService.start();let{unmatchedAndAutoStates:r,unmatchedCount:n}=s(e.state||[],i,a=>this.columnModel.getColDefCol(a));if(r.length>0||M(e.defaultState)){let l=this.pivotResultColsService.getPivotResultCols()?.list;n=s(r,l||[],c=>this.pivotResultColsService.getPivotResultCol(c)).unmatchedCount}return this.columnAnimationService.finish(),n===0}resetColumnState(e){let t=this.columnModel.getColDefCols();if(Ee(t))return;let i=this.columnModel.getColDefColTree(),o=Rs(i),s=[],r=1e3,n=1e3,a=[],l=this.columnModel.getAutoCols();l&&(a=a.concat(l)),o&&(a=a.concat(o)),a.forEach(c=>{let d=this.getColumnStateFromColDef(c);K(d.rowGroupIndex)&&d.rowGroup&&(d.rowGroupIndex=r++),K(d.pivotIndex)&&d.pivot&&(d.pivotIndex=n++),s.push(d)}),this.applyColumnState({state:s,applyOrder:!0},e)}getColumnStateFromColDef(e){let t=(f,m)=>f??m??null,i=e.getColDef(),o=t(i.sort,i.initialSort),s=t(i.sortIndex,i.initialSortIndex),r=t(i.hide,i.initialHide),n=t(i.pinned,i.initialPinned),a=t(i.width,i.initialWidth),l=t(i.flex,i.initialFlex),c=t(i.rowGroupIndex,i.initialRowGroupIndex),d=t(i.rowGroup,i.initialRowGroup);c==null&&(d==null||d==!1)&&(c=null,d=null);let u=t(i.pivotIndex,i.initialPivotIndex),h=t(i.pivot,i.initialPivot);u==null&&(h==null||h==!1)&&(u=null,h=null);let g=t(i.aggFunc,i.initialAggFunc);return{colId:e.getColId(),sort:o,sortIndex:s,hide:r,pinned:n,width:a,flex:l,rowGroup:d,rowGroupIndex:c,pivot:h,pivotIndex:u,aggFunc:g}}syncColumnWithStateItem(e,t,i,o,s,r,n,a){if(!e)return;let l=(R,P)=>{let T={value1:void 0,value2:void 0},x=!1;return t&&(t[R]!==void 0&&(T.value1=t[R],x=!0),M(P)&&t[P]!==void 0&&(T.value2=t[P],x=!0)),!x&&i&&(i[R]!==void 0&&(T.value1=i[R]),M(P)&&i[P]!==void 0&&(T.value2=i[P])),T},c=l("hide").value1;c!==void 0&&e.setVisible(!c,n);let d=l("pinned").value1;d!==void 0&&e.setPinned(d);let u=e.getColDef().minWidth??this.gos.environment.getDefaultColumnMinWidth(),h=l("flex").value1;if(h!==void 0&&e.setFlex(h),h==null){let R=l("width").value1;R!=null&&u!=null&&R>=u&&e.setActualWidth(R,n)}let g=l("sort").value1;g!==void 0&&(g==="desc"||g==="asc"?e.setSort(g,n):e.setSort(void 0,n));let f=l("sortIndex").value1;if(f!==void 0&&e.setSortIndex(f),r||!e.isPrimary())return;let m=l("aggFunc").value1;m!==void 0&&(typeof m=="string"?(e.setAggFunc(m),e.isValueActive()||(e.setValueActive(!0,n),a.addValueCol(e))):(M(m)&&S("stateItem.aggFunc must be a string. if using your own aggregation functions, register the functions first before using them in get/set state. This is because it is intended for the column state to be stored and retrieved as simple JSON."),e.isValueActive()&&(e.setValueActive(!1,n),a.removeValueCol(e))));let{value1:p,value2:v}=l("rowGroup","rowGroupIndex");(p!==void 0||v!==void 0)&&(typeof v=="number"||p?(e.isRowGroupActive()||(e.setRowGroupActive(!0,n),a.addGroupCol(e)),o&&typeof v=="number"&&(o[e.getId()]=v)):e.isRowGroupActive()&&(e.setRowGroupActive(!1,n),a.removeGroupCol(e)));let{value1:w,value2:C}=l("pivot","pivotIndex");(w!==void 0||C!==void 0)&&(typeof C=="number"||w?(e.isPivotActive()||(e.setPivotActive(!0,n),a.addPivotCol(e)),s&&typeof C=="number"&&(s[e.getId()]=C)):e.isPivotActive()&&(e.setPivotActive(!1,n),a.removePivotCol(e)))}orderLiveColsLikeState(e){if(!e.applyOrder||!e.state)return;let t=[];e.state.forEach(i=>{i.colId!=null&&t.push(i.colId)}),this.columnModel.sortColsLikeKeys(t)}compareColumnStatesAndDispatchEvents(e){let t={rowGroupColumns:this.funcColsService.getRowGroupColumns().slice(),pivotColumns:this.funcColsService.getPivotColumns().slice(),valueColumns:this.funcColsService.getValueColumns().slice()},i=this.columnGetStateService.getColumnState(),o={};return i.forEach(s=>{o[s.colId]=s}),()=>{let s=this.columnModel.getAllCols(),r=(m,p,v,w)=>{let C=p.map(w),R=v.map(w);if(Pt(C,R))return;let T=new Set(p);v.forEach(A=>{T.delete(A)||T.add(A)});let x=[...T];this.eventService.dispatchEvent({type:m,columns:x,column:x.length===1?x[0]:null,source:e})},n=m=>{let p=[];return s.forEach(v=>{let w=o[v.getColId()];w&&m(w,v)&&p.push(v)}),p},a=m=>m.getColId();r("columnRowGroupChanged",t.rowGroupColumns,this.funcColsService.getRowGroupColumns(),a),r("columnPivotChanged",t.pivotColumns,this.funcColsService.getPivotColumns(),a);let c=n((m,p)=>{let v=m.aggFunc!=null,w=v!=p.isValueActive(),C=v&&m.aggFunc!=p.getAggFunc();return w||C});c.length>0&&this.eventDispatcher.columnChanged("columnValueChanged",c,e);let d=(m,p)=>m.width!=p.getActualWidth();this.eventDispatcher.columnResized(n(d),!0,e);let u=(m,p)=>m.pinned!=p.getPinned();this.eventDispatcher.columnPinned(n(u),e);let h=(m,p)=>m.hide==p.isVisible();this.eventDispatcher.columnVisible(n(h),e);let f=n((m,p)=>m.sort!=p.getSort()||m.sortIndex!=p.getSortIndex());f.length>0&&this.sortController.dispatchSortChangedEvents(e,f),this.normaliseColumnMovedEventForColumnState(i,e)}}normaliseColumnMovedEventForColumnState(e,t){let i=this.columnGetStateService.getColumnState(),o={};i.forEach(l=>o[l.colId]=l);let s={};e.forEach(l=>{o[l.colId]&&(s[l.colId]=!0)});let r=e.filter(l=>s[l.colId]),n=i.filter(l=>s[l.colId]),a=[];n.forEach((l,c)=>{let d=r&&r[c];if(d&&d.colId!==l.colId){let u=this.columnModel.getCol(d.colId);u&&a.push(u)}}),a.length&&this.eventDispatcher.columnMoved({movedColumns:a,source:t,finished:!0})}},Br=(e,t,i,o)=>{let s=e[i.getId()],r=e[o.getId()],n=s!=null,a=r!=null;if(n&&a)return s-r;if(n)return-1;if(a)return 1;let l=t.indexOf(i),c=t.indexOf(o),d=l>=0,u=c>=0;return d&&u?l-c:d?-1:1},nc=class extends b{constructor(){super(...arguments),this.beanName="columnMoveService"}wireBeans(e){this.columnModel=e.columnModel,this.columnAnimationService=e.columnAnimationService,this.eventDispatcher=e.columnEventDispatcher}moveColumnByIndex(e,t,i){let o=this.columnModel.getCols();if(!o)return;let s=o[e];this.moveColumns([s],t,i)}moveColumns(e,t,i,o=!0){let s=this.columnModel.getCols();if(!s)return;if(t>s.length-e.length){S("tried to insert columns in invalid location, toIndex = ",t),S("remember that you should not count the moving columns when calculating the new index");return}this.columnAnimationService.start();let r=this.columnModel.getColsForKeys(e);this.doesMovePassRules(r,t)&&(this.columnModel.moveInCols(r,t,i),this.eventDispatcher.columnMoved({movedColumns:r,source:i,toIndex:t,finished:o})),this.columnAnimationService.finish()}doesMovePassRules(e,t){let i=this.getProposedColumnOrder(e,t);return this.doesOrderPassRules(i)}doesOrderPassRules(e){return!(!this.doesMovePassMarryChildren(e)||!this.doesMovePassLockedPositions(e))}getProposedColumnOrder(e,t){let o=this.columnModel.getCols().slice();return fn(o,e,t),o}doesMovePassLockedPositions(e){let t=r=>r?r==="left"||r===!0?-1:1:0,i=this.gos.get("enableRtl"),o=i?1:-1,s=!0;return e.forEach(r=>{let n=t(r.getColDef().lockPosition);i?n>o&&(s=!1):n<o&&(s=!1),o=n}),s}doesMovePassMarryChildren(e){let t=!0,i=this.columnModel.getColTree();return pt(null,i,o=>{if(!ke(o))return;let s=o,r=s.getColGroupDef();if(!(r&&r.marryChildren))return;let a=[];s.getLeafColumns().forEach(h=>{let g=e.indexOf(h);a.push(g)});let l=Math.max.apply(Math,a),c=Math.min.apply(Math,a),d=l-c,u=s.getLeafColumns().length-1;d>u&&(t=!1)}),t}placeLockedColumns(e){let t=[],i=[],o=[];return e.forEach(r=>{let n=r.getColDef().lockPosition;n==="right"?o.push(r):n==="left"||n===!0?t.push(r):i.push(r)}),this.gos.get("enableRtl")?[...o,...i,...t]:[...t,...i,...o]}},ac=/[&<>"']/g,lc={"&":"&","<":"<",">":">",'"':""","'":"'"};function qe(e,t){if(e==null)return null;let i=e.toString().toString();return t?i:i.replace(ac,o=>lc[o])}function cc(e){if(!e||e==null)return null;let t=/([a-z])([A-Z])/g,i=/([A-Z]+)([A-Z])([a-z])/g;return e.replace(t,"$1 $2").replace(i,"$1 $2$3").replace(/\./g," ").split(" ").map(s=>s.substring(0,1).toUpperCase()+(s.length>1?s.substring(1,s.length):"")).join(" ")}var dc=class extends b{constructor(){super(...arguments),this.beanName="columnNameService"}wireBeans(e){this.expressionService=e.expressionService,this.funcColsService=e.funcColsService,this.columnModel=e.columnModel}getDisplayNameForColumn(e,t,i=!1){if(!e)return null;let o=this.getHeaderName(e.getColDef(),e,null,null,t);return i?this.wrapHeaderNameWithAggFunc(e,o):o}getDisplayNameForProvidedColumnGroup(e,t,i){let o=t?t.getColGroupDef():null;return o?this.getHeaderName(o,null,e,t,i):null}getDisplayNameForColumnGroup(e,t){return this.getDisplayNameForProvidedColumnGroup(e,e.getProvidedColumnGroup(),t)}getHeaderName(e,t,i,o,s){let r=e.headerValueGetter;if(r){let n=this.gos.addGridCommonParams({colDef:e,column:t,columnGroup:i,providedColumnGroup:o,location:s});return typeof r=="function"?r(n):typeof r=="string"?this.expressionService.evaluate(r,n):(S("headerValueGetter must be a function or a string"),"")}else{if(e.headerName!=null)return e.headerName;if(e.field)return cc(e.field)}return""}wrapHeaderNameWithAggFunc(e,t){if(this.gos.get("suppressAggFuncInHeader"))return t;let i=e.getColDef().pivotValueColumn,o=M(i),s=null,r;if(o){let n=this.funcColsService.getValueColumns(),a=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&n.length===1,l=e.getColDef().pivotTotalColumnIds!==void 0;if(a&&!l)return t;s=i?i.getAggFunc():null,r=!0}else{let n=e.isValueActive(),a=this.columnModel.isPivotMode()||!this.funcColsService.isRowGroupEmpty();n&&a?(s=e.getAggFunc(),r=!0):r=!1}if(r){let n=typeof s=="string"?s:"func";return`${this.localeService.getLocaleTextFunc()(n,n)}(${t})`}return t}},uc=class extends b{constructor(){super(...arguments),this.beanName="pivotResultColsService"}wireBeans(e){this.context=e.context,this.columnModel=e.columnModel,this.columnFactory=e.columnFactory,this.visibleColsService=e.visibleColsService}destroy(){Ft(this.context,this.pivotResultCols?.tree),super.destroy()}isPivotResultColsPresent(){return this.pivotResultCols!=null}lookupPivotResultCol(e,t){if(this.pivotResultCols==null)return null;let i=this.columnModel.getColDefCol(t),o=null;return this.pivotResultCols.list.forEach(s=>{let r=s.getColDef().pivotKeys,n=s.getColDef().pivotValueColumn;Pt(r,e)&&n===i&&(o=s)}),o}getPivotResultCols(){return this.pivotResultCols}getPivotResultCol(e){return this.pivotResultCols?this.columnModel.getColFromCollection(e,this.pivotResultCols):null}setPivotResultCols(e,t){if(this.columnModel.isReady()&&!(e==null&&this.pivotResultCols==null)){if(e){this.processPivotResultColDef(e);let i=this.columnFactory.createColumnTree(e,!1,this.pivotResultCols?.tree||this.previousPivotResultCols||void 0,t);Ft(this.context,this.pivotResultCols?.tree,i.columnTree);let o=i.columnTree,s=i.treeDept,r=Rs(o),n={};this.pivotResultCols={tree:o,treeDepth:s,list:r,map:n},this.pivotResultCols.list.forEach(l=>this.pivotResultCols.map[l.getId()]=l);let a=!!this.previousPivotResultCols;this.previousPivotResultCols=null,this.columnModel.refreshCols(!a)}else this.previousPivotResultCols=this.pivotResultCols?this.pivotResultCols.tree:null,this.pivotResultCols=null,this.columnModel.refreshCols(!1);this.visibleColsService.refresh(t)}}processPivotResultColDef(e){let t=this.gos.get("processPivotResultColDef"),i=this.gos.get("processPivotResultColGroupDef");if(!t&&!i)return;let o=s=>{s.forEach(r=>{if(M(r.children)){let a=r;i&&i(a),o(a.children)}else t&&t(r)})};e&&o(e)}},hc=class extends b{constructor(){super(...arguments),this.beanName="columnSizeService"}wireBeans(e){this.columnModel=e.columnModel,this.columnViewportService=e.columnViewportService,this.eventDispatcher=e.columnEventDispatcher,this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService}setColumnWidths(e,t,i,o){let s=[];e.forEach(r=>{let n=this.columnModel.getColDefCol(r.key)||this.columnModel.getCol(r.key);if(!n)return;if(s.push({width:r.newWidth,ratios:[1],columns:[n]}),this.gos.get("colResizeDefault")==="shift"&&(t=!t),t){let l=this.visibleColsService.getColAfter(n);if(!l)return;let c=n.getActualWidth()-r.newWidth,d=l.getActualWidth()+c;s.push({width:d,ratios:[1],columns:[l]})}}),s.length!==0&&this.resizeColumnSets({resizeSets:s,finished:i,source:o})}resizeColumnSets(e){let{resizeSets:t,finished:i,source:o}=e;if(!(!t||t.every(d=>this.checkMinAndMaxWidthsForSet(d)))){if(i){let d=t&&t.length>0?t[0].columns:null;this.eventDispatcher.columnResized(d,i,o)}return}let r=[],n=[];t.forEach(d=>{let{width:u,columns:h,ratios:g}=d,f={},m={};h.forEach(w=>n.push(w));let p=!0,v=0;for(;p;){if(v++,v>1e3){Q("infinite loop in resizeColumnSets");break}p=!1;let w=[],C=0,R=u;h.forEach((T,x)=>{if(m[T.getId()])R-=f[T.getId()];else{w.push(T);let L=g[x];C+=L}});let P=1/C;w.forEach((T,x)=>{let A=x===w.length-1,L;A?L=R:(L=Math.round(g[x]*u*P),R-=L);let k=T.getMinWidth(),O=T.getMaxWidth();L<k?(L=k,m[T.getId()]=!0,p=!0):O>0&&L>O&&(L=O,m[T.getId()]=!0,p=!0),f[T.getId()]=L})}h.forEach(w=>{let C=f[w.getId()];w.getActualWidth()!==C&&(w.setActualWidth(C,o),r.push(w))})});let a=r.length>0,l=[];a&&(l=this.refreshFlexedColumns({resizingCols:n,skipSetLeft:!0}),this.visibleColsService.setLeftValues(o),this.visibleColsService.updateBodyWidths(),this.columnViewportService.checkViewportColumns());let c=n.concat(l);(a||i)&&this.eventDispatcher.columnResized(c,i,o,l)}checkMinAndMaxWidthsForSet(e){let{columns:t,width:i}=e,o=0,s=0,r=!0;t.forEach(l=>{let c=l.getMinWidth();o+=c||0;let d=l.getMaxWidth();d>0?s+=d:r=!1});let n=i>=o,a=!r||i<=s;return n&&a}refreshFlexedColumns(e={}){let t=e.source?e.source:"flex";if(e.viewportWidth!=null&&(this.flexViewportWidth=e.viewportWidth),!this.flexViewportWidth)return[];let i=this.visibleColsService.getCenterCols(),o=-1;if(e.resizingCols){let h=new Set(e.resizingCols);for(let g=i.length-1;g>=0;g--)if(h.has(i[g])){o=g;break}}let s=0,r=[],n=0,a=0;for(let h=0;h<i.length;h++)i[h].getFlex()&&h>o?(r.push(i[h]),a+=i[h].getFlex(),n+=i[h].getMinWidth()):s+=i[h].getActualWidth();if(!r.length)return[];let l=[];s+n>this.flexViewportWidth&&(r.forEach(h=>h.setActualWidth(h.getMinWidth(),t)),l=r,r=[]);let c=[],d;e:for(;;){d=this.flexViewportWidth-s;let h=d/a;for(let g=0;g<r.length;g++){let f=r[g],m=h*f.getFlex(),p=0,v=f.getMinWidth(),w=f.getMaxWidth();if(m<v?p=v:m>w&&(p=w),p){f.setActualWidth(p,t),pn(r,f),a-=f.getFlex(),l.push(f),s+=f.getActualWidth();continue e}c[g]=Math.floor(m)}break}let u=d;return r.forEach((h,g)=>{let f=g<r.length-1?Math.min(c[g],u):Math.max(c[g],u);h.setActualWidth(f,t),l.push(h),u-=c[g]}),e.skipSetLeft||this.visibleColsService.setLeftValues(t),e.updateBodyWidths&&this.visibleColsService.updateBodyWidths(),e.fireResizedEvent&&this.eventDispatcher.columnResized(l,!0,t,r),r}sizeColumnsToFit(e,t="sizeColumnsToFit",i,o){if(this.columnModel.isShouldQueueResizeOperations()){this.columnModel.pushResizeOperation(()=>this.sizeColumnsToFit(e,t,i,o));return}let s={};o&&o?.columnLimits?.forEach(({key:h,...g})=>{s[typeof h=="string"?h:h.getColId()]=g});let r=this.visibleColsService.getAllCols(),n=e===ct(r);if(e<=0||!r.length||n)return;let a=[],l=[];r.forEach(h=>{h.getColDef().suppressSizeToFit===!0?l.push(h):a.push(h)});let c=a.slice(0),d=!1,u=h=>{De(a,h),l.push(h)};for(a.forEach(h=>{h.resetActualWidth(t);let g=s?.[h.getId()],f=g?.minWidth??o?.defaultMinWidth,m=g?.maxWidth??o?.defaultMaxWidth,p=h.getActualWidth();typeof f=="number"&&p<f?h.setActualWidth(f,t,!0):typeof m=="number"&&p>m&&h.setActualWidth(m,t,!0)});!d;){d=!0;let h=e-ct(l);if(h<=0)a.forEach(g=>{let f=s?.[g.getId()]?.minWidth??o?.defaultMinWidth;if(typeof f=="number"){g.setActualWidth(f,t,!0);return}g.setMinimum(t)});else{let g=h/ct(a),f=h;for(let m=a.length-1;m>=0;m--){let p=a[m],v=s?.[p.getId()],w=v?.minWidth??o?.defaultMinWidth,C=v?.maxWidth??o?.defaultMaxWidth,R=p.getMinWidth(),P=p.getMaxWidth(),T=typeof w=="number"&&w>R?w:R,x=typeof C=="number"&&C<P?C:P,A=Math.round(p.getActualWidth()*g);A<T?(A=T,u(p),d=!1):A>x?(A=x,u(p),d=!1):m===0&&(A=f),p.setActualWidth(A,t,!0),f-=A}}}c.forEach(h=>{h.fireColumnWidthChangedEvent(t)}),this.visibleColsService.setLeftValues(t),this.visibleColsService.updateBodyWidths(),!i&&this.eventDispatcher.columnResized(c,!0,t)}applyAutosizeStrategy(){let e=this.gos.get("autoSizeStrategy");if(!e)return;let{type:t}=e;setTimeout(()=>{if(t==="fitGridWidth"){let{columnLimits:i,defaultMinWidth:o,defaultMaxWidth:s}=e,r=i?.map(({colId:n,minWidth:a,maxWidth:l})=>({key:n,minWidth:a,maxWidth:l}));this.ctrlsService.getGridBodyCtrl().sizeColumnsToFit({defaultMinWidth:o,defaultMaxWidth:s,columnLimits:r})}else t==="fitProvidedWidth"&&this.sizeColumnsToFit(e.width,"sizeColumnsToFit")})}};function yn(e,t){return e+"_"+t}function Se(e){return e instanceof bn}var bn=class extends b{constructor(e,t,i,o){super(),this.isColumn=!1,this.displayedChildren=[],this.autoHeaderHeight=null,this.parent=null,this.groupId=t,this.partId=i,this.providedColumnGroup=e,this.pinned=o}reset(){this.parent=null,this.children=null,this.displayedChildren=null}getParent(){return this.parent}setParent(e){this.parent=e}getUniqueId(){return yn(this.groupId,this.partId)}isEmptyGroup(){return this.displayedChildren.length===0}isMoving(){let e=this.getProvidedColumnGroup().getLeafColumns();return!e||e.length===0?!1:e.every(t=>t.isMoving())}checkLeft(){if(this.displayedChildren.forEach(e=>{Se(e)&&e.checkLeft()}),this.displayedChildren.length>0)if(this.gos.get("enableRtl")){let t=$(this.displayedChildren).getLeft();this.setLeft(t)}else{let e=this.displayedChildren[0].getLeft();this.setLeft(e)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft(e){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchLocalEvent({type:"leftChanged"}))}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let e=0;return this.displayedChildren&&this.displayedChildren.forEach(t=>{e+=t.getActualWidth()}),e}isResizable(){if(!this.displayedChildren)return!1;let e=!1;return this.displayedChildren.forEach(t=>{t.isResizable()&&(e=!0)}),e}getMinWidth(){let e=0;return this.displayedChildren.forEach(t=>{e+=t.getMinWidth()}),e}addChild(e){this.children||(this.children=[]),this.children.push(e)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){let e=[];return this.addLeafColumns(e),e}getDisplayedLeafColumns(){let e=[];return this.addDisplayedLeafColumns(e),e}getDefinition(){return this.providedColumnGroup.getColGroupDef()}getColGroupDef(){return this.providedColumnGroup.getColGroupDef()}isPadding(){return this.providedColumnGroup.isPadding()}isExpandable(){return this.providedColumnGroup.isExpandable()}isExpanded(){return this.providedColumnGroup.isExpanded()}setExpanded(e){this.providedColumnGroup.setExpanded(e)}isAutoHeaderHeight(){return!!this.getColGroupDef()?.autoHeaderHeight}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){let t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}addDisplayedLeafColumns(e){this.displayedChildren.forEach(t=>{Et(t)?e.push(t):Se(t)&&t.addDisplayedLeafColumns(e)})}addLeafColumns(e){this.children.forEach(t=>{Et(t)?e.push(t):Se(t)&&t.addLeafColumns(e)})}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){let e=this.getParent();return!this.isPadding()||!e||!e.isPadding()?0:1+e.getPaddingLevel()}calculateDisplayedColumns(){this.displayedChildren=[];let e=this;for(;e!=null&&e.isPadding();)e=e.getParent();if(!(e?e.getProvidedColumnGroup().isExpandable():!1)){this.displayedChildren=this.children,this.dispatchLocalEvent({type:"displayedChildrenChanged"});return}this.children.forEach(i=>{if(Se(i)&&(!i.displayedChildren||!i.displayedChildren.length))return;switch(i.getColumnGroupShow()){case"open":e.getProvidedColumnGroup().isExpanded()&&this.displayedChildren.push(i);break;case"closed":e.getProvidedColumnGroup().isExpanded()||this.displayedChildren.push(i);break;default:this.displayedChildren.push(i);break}}),this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},gc=class{constructor(){this.existingIds={}}getInstanceIdForKey(e){let t=this.existingIds[e],i;return typeof t!="number"?i=0:i=t+1,this.existingIds[e]=i,i}},pc=class extends b{constructor(){super(...arguments),this.beanName="visibleColsService",this.colsAndGroupsMap={},this.columnsLeft=[],this.columnsRight=[],this.columnsCenter=[],this.columns=[],this.bodyWidth=0,this.leftWidth=0,this.rightWidth=0,this.bodyWidthDirty=!0}wireBeans(e){this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.columnViewportService=e.columnViewportService,this.eventDispatcher=e.columnEventDispatcher}refresh(e,t=!1){t||this.buildTrees(),this.updateOpenClosedVisibilityInColumnGroups(),this.columnsLeft=Wo(this.treeLeft),this.columnsCenter=Wo(this.treeCenter),this.columnsRight=Wo(this.treeRight),this.joinColsAriaOrder(),this.joinCols(),this.setLeftValues(e),this.autoHeightCols=this.columns.filter(i=>i.isAutoHeight()),this.columnSizeService.refreshFlexedColumns(),this.updateBodyWidths(),this.columnViewportService.checkViewportColumns(!1),this.setFirstRightAndLastLeftPinned(e),this.eventDispatcher.visibleCols(e)}updateBodyWidths(){let e=ct(this.columnsCenter),t=ct(this.columnsLeft),i=ct(this.columnsRight);this.bodyWidthDirty=this.bodyWidth!==e,(this.bodyWidth!==e||this.leftWidth!==t||this.rightWidth!==i)&&(this.bodyWidth=e,this.leftWidth=t,this.rightWidth=i,this.eventService.dispatchEvent({type:"columnContainerWidthChanged"}),this.eventService.dispatchEvent({type:"displayedColumnsWidthChanged"}))}setLeftValues(e){this.setLeftValuesOfCols(e),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned(e){let t,i;this.gos.get("enableRtl")?(t=this.columnsLeft?this.columnsLeft[0]:null,i=this.columnsRight?$(this.columnsRight):null):(t=this.columnsLeft?$(this.columnsLeft):null,i=this.columnsRight?this.columnsRight[0]:null),this.columnModel.getCols().forEach(o=>{o.setLastLeftPinned(o===t,e),o.setFirstRightPinned(o===i,e)})}buildTrees(){let e=this.columnModel.getColsToShow(),t=e.filter(r=>r.getPinned()=="left"),i=e.filter(r=>r.getPinned()=="right"),o=e.filter(r=>r.getPinned()!="left"&&r.getPinned()!="right"),s=new gc;this.treeLeft=this.createGroups({columns:t,idCreator:s,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=this.createGroups({columns:i,idCreator:s,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=this.createGroups({columns:o,idCreator:s,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.columnsLeft=[],this.columnsRight=[],this.columnsCenter=[],this.columns=[],this.ariaOrderColumns=[]}joinColsAriaOrder(){let e=this.columnModel.getCols(),t=[],i=[],o=[];for(let s of e){let r=s.getPinned();r?r===!0||r==="left"?t.push(s):o.push(s):i.push(s)}this.ariaOrderColumns=t.concat(i).concat(o)}getAriaColIndex(e){let t;return Se(e)?t=e.getLeafColumns()[0]:t=e,this.ariaOrderColumns.indexOf(t)+1}getAllAutoHeightCols(){return this.autoHeightCols}setLeftValuesOfGroups(){[this.treeLeft,this.treeRight,this.treeCenter].forEach(e=>{e.forEach(t=>{Se(t)&&t.checkLeft()})})}setLeftValuesOfCols(e){if(!this.columnModel.getColDefCols())return;let i=this.columnModel.getCols().slice(0),o=this.gos.get("enableRtl");[this.columnsLeft,this.columnsRight,this.columnsCenter].forEach(s=>{if(o){let r=ct(s);s.forEach(n=>{r-=n.getActualWidth(),n.setLeft(r,e)})}else{let r=0;s.forEach(n=>{n.setLeft(r,e),r+=n.getActualWidth()})}Wl(i,s)}),i.forEach(s=>{s.setLeft(null,e)})}joinCols(){this.gos.get("enableRtl")?this.columns=this.columnsRight.concat(this.columnsCenter).concat(this.columnsLeft):this.columns=this.columnsLeft.concat(this.columnsCenter).concat(this.columnsRight)}getColsCenter(){return this.columnsCenter}getAllTrees(){return this.treeLeft&&this.treeRight&&this.treeCenter?this.treeLeft.concat(this.treeCenter).concat(this.treeRight):null}getTreeLeft(){return this.treeLeft}getTreeRight(){return this.treeRight}getTreeCenter(){return this.treeCenter}getAllCols(){return this.columns}isColDisplayed(e){return this.getAllCols().indexOf(e)>=0}getLeftColsForRow(e){return this.columnModel.isColSpanActive()?this.getColsForRow(e,this.columnsLeft):this.columnsLeft}getRightColsForRow(e){return this.columnModel.isColSpanActive()?this.getColsForRow(e,this.columnsRight):this.columnsRight}getColsForRow(e,t,i,o){let s=[],r=null;for(let n=0;n<t.length;n++){let a=t[n],l=t.length-n,c=Math.min(a.getColSpan(e),l),d=[a];if(c>1){let h=c-1;for(let g=1;g<=h;g++)d.push(t[n+g]);n+=h}let u;i?(u=!1,d.forEach(h=>{i(h)&&(u=!0)})):u=!0,u&&(s.length===0&&r&&o&&o(a)&&s.push(r),s.push(a)),r=a}return s}getBodyContainerWidth(){return this.bodyWidth}getContainerWidth(e){switch(e){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getCenterCols(){return this.columnsCenter}getLeftCols(){return this.columnsLeft}getRightCols(){return this.columnsRight}getColBefore(e){let t=this.getAllCols(),i=t.indexOf(e);return i>0?t[i-1]:null}getGroupAtDirection(e,t){let i=e.getProvidedColumnGroup().getLevel()+e.getPaddingLevel(),o=e.getDisplayedLeafColumns(),s=t==="After"?$(o):o[0],r=`getCol${t}`;for(;;){let n=this[r](s);if(!n)return null;let a=this.getColGroupAtLevel(n,i);if(a!==e)return a}}getColGroupAtLevel(e,t){let i=e.getParent(),o,s;for(;o=i.getProvidedColumnGroup().getLevel(),s=i.getPaddingLevel(),!(o+s<=t);)i=i.getParent();return i}isPinningLeft(){return this.columnsLeft.length>0}isPinningRight(){return this.columnsRight.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};let e=t=>{this.colsAndGroupsMap[t.getUniqueId()]=t};Lt(this.treeCenter,!1,e),Lt(this.treeLeft,!1,e),Lt(this.treeRight,!1,e)}isVisible(e){return this.colsAndGroupsMap[e.getUniqueId()]===e}updateOpenClosedVisibilityInColumnGroups(){let e=this.getAllTrees();Lt(e,!1,t=>{Se(t)&&t.calculateDisplayedColumns()})}getFirstColumn(){let e=this.gos.get("enableRtl"),t=["getLeftCols","getCenterCols","getRightCols"];e&&t.reverse();for(let i=0;i<t.length;i++){let o=this[t[i]]();if(o.length)return e?$(o):o[0]}return null}getColumnGroup(e,t){if(!e)return null;if(Se(e))return e;let i=this.getAllTrees(),o=typeof t=="number",s=null;return Lt(i,!1,r=>{if(Se(r)){let n=r,a;o?a=e===n.getGroupId()&&t===n.getPartId():a=e===n.getGroupId(),a&&(s=n)}}),s}getColAfter(e){let t=this.getAllCols(),i=t.indexOf(e);return i<t.length-1?t[i+1]:null}isBodyWidthDirty(){return this.bodyWidthDirty}setBodyWidthDirty(){this.bodyWidthDirty=!0}getColsLeftWidth(){return ct(this.columnsLeft)}getDisplayedColumnsRightWidth(){return ct(this.columnsRight)}isColAtEdge(e,t){let i=this.getAllCols();if(!i.length)return!1;let o=t==="first",s;if(Se(e)){let r=e.getDisplayedLeafColumns();if(!r.length)return!1;s=o?r[0]:$(r)}else s=e;return(o?i[0]:$(i))===s}createGroups(e){let{columns:t,idCreator:i,pinned:o,oldDisplayedGroups:s,isStandaloneStructure:r}=e,n=this.mapOldGroupsById(s),a=[],l=t;for(;l.length;){let c=l;l=[];let d=0,u=h=>{let g=d;d=h;let f=c[g],p=(Se(f)?f.getProvidedColumnGroup():f).getOriginalParent();if(p==null){for(let w=g;w<h;w++)a.push(c[w]);return}let v=this.createColGroup(p,i,n,o,r);for(let w=g;w<h;w++)v.addChild(c[w]);l.push(v)};for(let h=1;h<c.length;h++){let g=c[h],m=(Se(g)?g.getProvidedColumnGroup():g).getOriginalParent(),p=c[d],w=(Se(p)?p.getProvidedColumnGroup():p).getOriginalParent();m!==w&&u(h)}d<c.length&&u(c.length)}return r||this.setupParentsIntoCols(a,null),a}createColGroup(e,t,i,o,s){let r=e.getGroupId(),n=t.getInstanceIdForKey(r),a=yn(r,n),l=i[a];return l&&l.getProvidedColumnGroup()!==e&&(l=null),M(l)?l.reset():(l=new bn(e,r,n,o),s||this.createBean(l)),l}mapOldGroupsById(e){let t={},i=o=>{o.forEach(s=>{if(Se(s)){let r=s;t[s.getUniqueId()]=r,i(r.getChildren())}})};return e&&i(e),t}setupParentsIntoCols(e,t){e.forEach(i=>{if(i.setParent(t),Se(i)){let o=i;this.setupParentsIntoCols(o.getChildren(),o)}})}};function Lt(e,t,i){if(e)for(let o=0;o<e.length;o++){let s=e[o];if(Se(s)){let r=t?s.getDisplayedChildren():s.getChildren();Lt(r,t,i)}i(s)}}function Wo(e){let t=[];return Lt(e,!0,i=>{Et(i)&&t.push(i)}),t}var Sn=["columnEverythingChanged","newColumnsLoaded","columnPivotModeChanged","pivotMaxColumnsExceeded","columnRowGroupChanged","expandOrCollapseAll","columnPivotChanged","gridColumnsChanged","columnValueChanged","columnMoved","columnVisible","columnPinned","columnGroupOpened","columnResized","displayedColumnsChanged","virtualColumnsChanged","columnHeaderMouseOver","columnHeaderMouseLeave","columnHeaderClicked","columnHeaderContextMenu","asyncTransactionsFlushed","rowGroupOpened","rowDataUpdated","pinnedRowDataChanged","rangeSelectionChanged","cellSelectionChanged","chartCreated","chartRangeSelectionChanged","chartOptionsChanged","chartDestroyed","toolPanelVisibleChanged","toolPanelSizeChanged","modelUpdated","cutStart","cutEnd","pasteStart","pasteEnd","fillStart","fillEnd","cellSelectionDeleteStart","cellSelectionDeleteEnd","rangeDeleteStart","rangeDeleteEnd","undoStarted","undoEnded","redoStarted","redoEnded","cellClicked","cellDoubleClicked","cellMouseDown","cellContextMenu","cellValueChanged","cellEditRequest","rowValueChanged","headerFocused","cellFocused","rowSelected","selectionChanged","tooltipShow","tooltipHide","cellKeyDown","cellMouseOver","cellMouseOut","filterChanged","filterModified","filterOpened","advancedFilterBuilderVisibleChanged","sortChanged","virtualRowRemoved","rowClicked","rowDoubleClicked","gridReady","gridPreDestroyed","gridSizeChanged","viewportChanged","firstDataRendered","dragStarted","dragStopped","dragCancelled","rowEditingStarted","rowEditingStopped","cellEditingStarted","cellEditingStopped","bodyScroll","bodyScrollEnd","paginationChanged","componentStateChanged","storeRefreshed","stateUpdated","columnMenuVisibleChanged","contextMenuVisibleChanged","rowDragEnter","rowDragMove","rowDragLeave","rowDragEnd","rowDragCancel"],fc=["scrollbarWidthChanged","keyShortcutChangedCellStart","keyShortcutChangedCellEnd","pinnedHeightChanged","cellFocusCleared","fullWidthRowFocused","checkboxChanged","heightScaleChanged","suppressMovableColumns","suppressMenuHide","suppressFieldDotNotation","columnPanelItemDragStart","columnPanelItemDragEnd","bodyHeightChanged","columnContainerWidthChanged","displayedColumnsWidthChanged","scrollVisibilityChanged","scrollGapChanged","columnHoverChanged","flashCells","paginationPixelOffsetChanged","displayedRowsChanged","leftPinnedWidthChanged","rightPinnedWidthChanged","rowContainerHeightChanged","headerHeightChanged","columnGroupHeaderHeightChanged","columnHeaderHeightChanged","gridStylesChanged","storeUpdated","filterDestroyed","rowDataUpdateStarted","rowCountReady","advancedFilterEnabledChanged","dataTypesInferred","fieldValueChanged","fieldPickerValueSelected","richSelectListRowSelected","sideBarUpdated","alignedGridScroll","alignedGridColumn","gridOptionsChanged","chartTitleEdit","recalculateRowBounds","stickyTopOffsetChanged","overlayExclusiveChanged"],mc=[...Sn,...fc],vc={enableBrowserTooltips:!0,tooltipTrigger:!0,tooltipMouseTrack:!0,tooltipShowMode:!0,tooltipInteraction:!0,defaultColGroupDef:!0,suppressAutoSize:!0,skipHeaderOnAutoSize:!0,autoSizeStrategy:!0,components:!0,stopEditingWhenCellsLoseFocus:!0,undoRedoCellEditing:!0,undoRedoCellEditingLimit:!0,excelStyles:!0,cacheQuickFilter:!0,advancedFilterModel:!0,customChartThemes:!0,chartThemeOverrides:!0,chartToolPanelsDef:!0,loadingCellRendererSelector:!0,localeText:!0,keepDetailRows:!0,keepDetailRowsCount:!0,detailRowHeight:!0,detailRowAutoHeight:!0,tabIndex:!0,valueCache:!0,valueCacheNeverExpires:!0,enableCellExpressions:!0,suppressTouch:!0,suppressAsyncEvents:!0,suppressBrowserResizeObserver:!0,suppressPropertyNamesCheck:!0,debug:!0,dragAndDropImageComponent:!0,loadingOverlayComponent:!0,suppressLoadingOverlay:!0,noRowsOverlayComponent:!0,paginationPageSizeSelector:!0,paginateChildRows:!0,pivotPanelShow:!0,pivotSuppressAutoColumn:!0,suppressExpandablePivotGroups:!0,aggFuncs:!0,suppressAggFuncInHeader:!0,allowShowChangeAfterFilter:!0,ensureDomOrder:!0,enableRtl:!0,suppressColumnVirtualisation:!0,suppressMaxRenderedRowRestriction:!0,suppressRowVirtualisation:!0,rowDragText:!0,suppressGroupMaintainValueType:!0,groupLockGroupColumns:!0,rowGroupPanelSuppressSort:!0,suppressGroupRowsSticky:!0,rowModelType:!0,cacheOverflowSize:!0,infiniteInitialRowCount:!0,serverSideInitialRowCount:!0,suppressServerSideInfiniteScroll:!0,maxBlocksInCache:!0,maxConcurrentDatasourceRequests:!0,blockLoadDebounceMillis:!0,serverSideOnlyRefreshFilteredGroups:!0,serverSidePivotResultFieldSeparator:!0,viewportRowModelPageSize:!0,viewportRowModelBufferSize:!0,debounceVerticalScrollbar:!0,suppressAnimationFrame:!0,suppressPreventDefaultOnMouseWheel:!0,scrollbarWidth:!0,icons:!0,suppressRowTransform:!0,gridId:!0,enableGroupEdit:!0,initialState:!0,processUnpinnedColumns:!0,createChartContainer:!0,getLocaleText:!0,getRowId:!0,reactiveCustomComponents:!0,columnMenu:!0,suppressSetFilterByDefault:!0},Fe=class{};Fe.STRING_PROPERTIES=["overlayLoadingTemplate","overlayNoRowsTemplate","gridId","quickFilterText","rowModelType","editType","domLayout","clipboardDelimiter","rowGroupPanelShow","multiSortKey","pivotColumnGroupTotals","pivotRowTotals","pivotPanelShow","fillHandleDirection","groupDisplayType","treeDataDisplayType","colResizeDefault","tooltipTrigger","serverSidePivotResultFieldSeparator","columnMenu","tooltipShowMode","grandTotalRow"];Fe.OBJECT_PROPERTIES=["components","rowStyle","context","autoGroupColumnDef","localeText","icons","datasource","dragAndDropImageComponentParams","serverSideDatasource","viewportDatasource","groupRowRendererParams","aggFuncs","fullWidthCellRendererParams","defaultColGroupDef","defaultColDef","defaultCsvExportParams","defaultExcelExportParams","columnTypes","rowClassRules","detailCellRendererParams","loadingCellRendererParams","loadingOverlayComponentParams","noRowsOverlayComponentParams","popupParent","statusBar","sideBar","theme","chartThemeOverrides","customChartThemes","chartToolPanelsDef","dataTypeDefinitions","advancedFilterModel","advancedFilterParent","advancedFilterBuilderParams","initialState","autoSizeStrategy","cellSelection","selectionColumnDef"];Fe.ARRAY_PROPERTIES=["sortingOrder","alignedGrids","rowData","columnDefs","excelStyles","pinnedTopRowData","pinnedBottomRowData","chartThemes","rowClass","paginationPageSizeSelector"];Fe.NUMBER_PROPERTIES=["rowHeight","detailRowHeight","rowBuffer","headerHeight","groupHeaderHeight","groupLockGroupColumns","floatingFiltersHeight","pivotHeaderHeight","pivotGroupHeaderHeight","groupDefaultExpanded","pivotDefaultExpanded","viewportRowModelPageSize","viewportRowModelBufferSize","autoSizePadding","maxBlocksInCache","maxConcurrentDatasourceRequests","tooltipShowDelay","tooltipHideDelay","cacheOverflowSize","paginationPageSize","cacheBlockSize","infiniteInitialRowCount","serverSideInitialRowCount","scrollbarWidth","asyncTransactionWaitMillis","blockLoadDebounceMillis","keepDetailRowsCount","undoRedoCellEditingLimit","cellFlashDelay","cellFadeDelay","cellFlashDuration","cellFadeDuration","tabIndex","pivotMaxGeneratedColumns"];Fe.BOOLEAN_PROPERTIES=["suppressMakeColumnVisibleAfterUnGroup","suppressRowClickSelection","suppressCellFocus","suppressHeaderFocus","suppressHorizontalScroll","groupSelectsChildren","alwaysShowHorizontalScroll","alwaysShowVerticalScroll","debug","enableBrowserTooltips","enableCellExpressions","groupIncludeTotalFooter","groupSuppressBlankHeader","suppressMenuHide","suppressRowDeselection","unSortIcon","suppressMultiSort","alwaysMultiSort","singleClickEdit","suppressLoadingOverlay","suppressNoRowsOverlay","suppressAutoSize","skipHeaderOnAutoSize","suppressColumnMoveAnimation","suppressMoveWhenColumnDragging","suppressMovableColumns","suppressFieldDotNotation","enableRangeSelection","enableRangeHandle","enableFillHandle","suppressClearOnFillReduction","deltaSort","suppressTouch","suppressAsyncEvents","allowContextMenuWithControlKey","suppressContextMenu","enableCellChangeFlash","suppressDragLeaveHidesColumns","suppressRowGroupHidesColumns","suppressMiddleClickScrolls","suppressPreventDefaultOnMouseWheel","suppressCopyRowsToClipboard","copyHeadersToClipboard","copyGroupHeadersToClipboard","pivotMode","suppressAggFuncInHeader","suppressColumnVirtualisation","alwaysAggregateAtRootLevel","suppressFocusAfterRefresh","functionsReadOnly","animateRows","groupSelectsFiltered","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","enableRtl","suppressClickEdit","rowDragEntireRow","rowDragManaged","suppressRowDrag","suppressMoveWhenRowDragging","rowDragMultiRow","enableGroupEdit","embedFullWidthRows","suppressPaginationPanel","groupHideOpenParents","groupAllowUnbalanced","pagination","paginationAutoPageSize","suppressScrollOnNewData","suppressScrollWhenPopupsAreOpen","purgeClosedRowNodes","cacheQuickFilter","includeHiddenColumnsInQuickFilter","ensureDomOrder","accentedSort","suppressChangeDetection","valueCache","valueCacheNeverExpires","aggregateOnlyChangedColumns","suppressAnimationFrame","suppressExcelExport","suppressCsvExport","includeHiddenColumnsInAdvancedFilter","suppressMultiRangeSelection","enterNavigatesVerticallyAfterEdit","enterNavigatesVertically","suppressPropertyNamesCheck","rowMultiSelectWithClick","suppressRowHoverHighlight","suppressRowTransform","suppressClipboardPaste","suppressLastEmptyLineOnPaste","enableCharts","suppressMaintainUnsortedOrder","enableCellTextSelection","suppressBrowserResizeObserver","suppressMaxRenderedRowRestriction","excludeChildrenWhenTreeDataFiltering","tooltipMouseTrack","tooltipInteraction","keepDetailRows","paginateChildRows","preventDefaultOnContextMenu","undoRedoCellEditing","allowDragFromColumnsToolPanel","pivotSuppressAutoColumn","suppressExpandablePivotGroups","debounceVerticalScrollbar","detailRowAutoHeight","serverSideSortAllLevels","serverSideEnableClientSideSort","serverSideOnlyRefreshFilteredGroups","serverSideSortOnServer","serverSideFilterOnServer","suppressAggFilteredOnly","showOpenedGroup","suppressClipboardApi","suppressModelUpdateAfterUpdateTransaction","stopEditingWhenCellsLoseFocus","groupMaintainOrder","columnHoverHighlight","readOnlyEdit","suppressRowVirtualisation","enableCellEditingOnBackspace","resetRowDataOnUpdate","removePivotHeaderRowWhenSingleValueColumn","suppressCopySingleCellRanges","suppressGroupRowsSticky","suppressCutToClipboard","suppressServerSideInfiniteScroll","rowGroupPanelSuppressSort","allowShowChangeAfterFilter","enableAdvancedFilter","masterDetail","treeData","suppressGroupMaintainValueType","reactiveCustomComponents","applyQuickFilterBeforePivotOrAgg","suppressServerSideFullWidthLoadingRow","suppressAdvancedFilterEval","loading","maintainColumnOrder","enableStrictPivotColumnOrder","suppressSetFilterByDefault"];Fe.OTHER_PROPERTIES=["suppressStickyTotalRow","loadThemeGoogleFonts","rowSelection"];Fe.FUNCTION_PROPERTIES=["doesExternalFilterPass","processPivotResultColDef","processPivotResultColGroupDef","getBusinessKeyForNode","isRowSelectable","rowDragText","groupRowRenderer","dragAndDropImageComponent","fullWidthCellRenderer","loadingCellRenderer","loadingOverlayComponent","noRowsOverlayComponent","detailCellRenderer","quickFilterParser","quickFilterMatcher","getLocaleText","isExternalFilterPresent","getRowHeight","getRowClass","getRowStyle","getContextMenuItems","getMainMenuItems","processRowPostCreate","processCellForClipboard","getGroupRowAgg","isFullWidthRow","sendToClipboard","focusGridInnerElement","navigateToNextHeader","tabToNextHeader","navigateToNextCell","tabToNextCell","processCellFromClipboard","getDocument","postProcessPopup","getChildCount","getDataPath","isRowMaster","postSortRows","processHeaderForClipboard","processUnpinnedColumns","processGroupHeaderForClipboard","paginationNumberFormatter","processDataFromClipboard","getServerSideGroupKey","isServerSideGroup","createChartContainer","getChartToolbarItems","fillOperation","isApplyServerSideTransaction","getServerSideGroupLevelParams","isServerSideGroupOpenByDefault","isGroupOpenByDefault","initialGroupOrderComparator","groupIncludeFooter","loadingCellRendererSelector","getRowId","groupAggFiltering","chartMenuItems","groupTotalRow"];Fe.ALL_PROPERTIES=[...Fe.ARRAY_PROPERTIES,...Fe.OBJECT_PROPERTIES,...Fe.STRING_PROPERTIES,...Fe.NUMBER_PROPERTIES,...Fe.FUNCTION_PROPERTIES,...Fe.BOOLEAN_PROPERTIES,...Fe.OTHER_PROPERTIES];var Ti=Fe,_e=class{static getCallbackForEvent(t){return!t||t.length<2?t:"on"+t[0].toUpperCase()+t.substring(1)}};_e.VUE_OMITTED_PROPERTY="AG-VUE-OMITTED-PROPERTY";_e.PUBLIC_EVENTS=Sn;_e.EVENT_CALLBACKS=mc.map(e=>_e.getCallbackForEvent(e));_e.BOOLEAN_PROPERTIES=Ti.BOOLEAN_PROPERTIES;_e.ALL_PROPERTIES=Ti.ALL_PROPERTIES;_e.ALL_PROPERTIES_AND_CALLBACKS=[..._e.ALL_PROPERTIES,..._e.EVENT_CALLBACKS];_e.ALL_PROPERTIES_AND_CALLBACKS_SET=new Set(_e.ALL_PROPERTIES_AND_CALLBACKS);var Ai=_e;function Rn(e,t){typeof e!="object"&&(e={});let i={...e};return Ai.ALL_PROPERTIES_AND_CALLBACKS.forEach(s=>{let r=t[s];typeof r<"u"&&r!==Ai.VUE_OMITTED_PROPERTY&&(i[s]=r)}),i}function Fn(e,t){if(!e)return;let i={},o=!1;if(Object.keys(e).filter(n=>Ai.ALL_PROPERTIES_AND_CALLBACKS_SET.has(n)).forEach(n=>{i[n]=e[n],o=!0}),!o)return;let s={type:"gridOptionsChanged",options:i};t.dispatchEvent(s);let r={type:"componentStateChanged"};We(i,(n,a)=>{r[n]=a}),t.dispatchEvent(r)}var Ye=class extends b{};function Oi(e,t,i){return i&&e.addDestroyFunc(()=>t.destroyBean(i)),i??e}var vt=class{constructor(e){this.cssClassStates={},this.getGui=e}addCssClass(e){let t=(e||"").split(" ");if(t.length>1){t.forEach(o=>this.addCssClass(o));return}if(this.cssClassStates[e]!==!0&&e.length){let o=this.getGui();o&&o.classList.add(e),this.cssClassStates[e]=!0}}removeCssClass(e){let t=(e||"").split(" ");if(t.length>1){t.forEach(o=>this.removeCssClass(o));return}if(this.cssClassStates[e]!==!1&&e.length){let o=this.getGui();o&&o.classList.remove(e),this.cssClassStates[e]=!1}}containsCssClass(e){let t=this.getGui();return t?t.classList.contains(e):!1}addOrRemoveCssClass(e,t){if(!e)return;if(e.indexOf(" ")>=0){let o=(e||"").split(" ");if(o.length>1){o.forEach(s=>this.addOrRemoveCssClass(s,t));return}}if(this.cssClassStates[e]!==t&&e.length){let o=this.getGui();o&&o.classList.toggle(e,t),this.cssClassStates[e]=t}}};function Ct(e,t,i){i==null||typeof i=="string"&&i==""?xn(e,t):nt(e,t,i)}function nt(e,t,i){e.setAttribute(Dn(t),i.toString())}function xn(e,t){e.removeAttribute(Dn(t))}function Dn(e){return`aria-${e}`}function Xe(e,t){t?e.setAttribute("role",t):e.removeAttribute("role")}function Cc(e){let t;return e==="asc"?t="ascending":e==="desc"?t="descending":e==="mixed"?t="other":t="none",t}function wc(e){return e.getAttribute("aria-label")}function si(e,t){Ct(e,"label",t)}function ki(e,t){Ct(e,"labelledby",t)}function En(e,t){Ct(e,"live",t)}function yc(e,t){Ct(e,"atomic",t)}function bc(e,t){Ct(e,"relevant",t)}function Sc(e,t){Ct(e,"disabled",t)}function Mn(e,t){Ct(e,"hidden",t)}function no(e,t){nt(e,"expanded",t)}function Rc(e,t){nt(e,"setsize",t)}function Fc(e,t){nt(e,"posinset",t)}function Pn(e,t){nt(e,"rowcount",t)}function xc(e,t){nt(e,"rowindex",t)}function Tn(e,t){nt(e,"colcount",t)}function An(e,t){nt(e,"colindex",t)}function Dc(e,t){nt(e,"colspan",t)}function kn(e,t){nt(e,"sort",t)}function In(e){xn(e,"sort")}function ao(e,t){Ct(e,"selected",t)}function Ec(e,t){Ct(e,"controls",t.id),ki(t,e.id)}function Es(e,t){return t===void 0?e("ariaIndeterminate","indeterminate"):t===!0?e("ariaChecked","checked"):e("ariaUnchecked","unchecked")}var Mc="[tabindex], input, select, button, textarea, [href]",Ln="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function Ms(e){let t=Element.prototype.matches||Element.prototype.msMatchesSelector,o=t.call(e,"input, select, button, textarea"),s=t.call(e,Ln),r=rt(e);return o&&!s&&r}function pe(e,t,i={}){let{skipAriaHidden:o}=i;e.classList.toggle("ag-hidden",!t),o||Mn(e,!t)}function Pc(e,t,i={}){let{skipAriaHidden:o}=i;e.classList.toggle("ag-invisible",!t),o||Mn(e,!t)}function Ii(e,t){let i="disabled",o=t?s=>s.setAttribute(i,""):s=>s.removeAttribute(i);o(e),Hn(e.querySelectorAll("input"),s=>o(s))}function ei(e,t,i){let o=0;for(;e;){if(e.classList.contains(t))return!0;if(e=e.parentElement,typeof i=="number"){if(++o>i)break}else if(e===i)break}return!1}function _t(e){let{height:t,width:i,borderTopWidth:o,borderRightWidth:s,borderBottomWidth:r,borderLeftWidth:n,paddingTop:a,paddingRight:l,paddingBottom:c,paddingLeft:d,marginTop:u,marginRight:h,marginBottom:g,marginLeft:f,boxSizing:m}=window.getComputedStyle(e);return{height:parseFloat(t||"0"),width:parseFloat(i||"0"),borderTopWidth:parseFloat(o||"0"),borderRightWidth:parseFloat(s||"0"),borderBottomWidth:parseFloat(r||"0"),borderLeftWidth:parseFloat(n||"0"),paddingTop:parseFloat(a||"0"),paddingRight:parseFloat(l||"0"),paddingBottom:parseFloat(c||"0"),paddingLeft:parseFloat(d||"0"),marginTop:parseFloat(u||"0"),marginRight:parseFloat(h||"0"),marginBottom:parseFloat(g||"0"),marginLeft:parseFloat(f||"0"),boxSizing:m}}function Ps(e){let t=_t(e);return t.boxSizing==="border-box"?t.height-t.paddingTop-t.paddingBottom:t.height}function Gi(e){let t=_t(e);return t.boxSizing==="border-box"?t.width-t.paddingLeft-t.paddingRight:t.width}function On(e){let{height:t,marginBottom:i,marginTop:o}=_t(e);return Math.floor(t+i+o)}function lo(e){let{width:t,marginLeft:i,marginRight:o}=_t(e);return Math.floor(t+i+o)}function Gn(e){let t=e.getBoundingClientRect(),{borderTopWidth:i,borderLeftWidth:o,borderRightWidth:s,borderBottomWidth:r}=_t(e);return{top:t.top+(i||0),left:t.left+(o||0),right:t.right+(s||0),bottom:t.bottom+(r||0)}}function co(e,t){let i=e.scrollLeft;return t&&(i=Math.abs(i)),i}function uo(e,t,i){i&&(t*=-1),e.scrollLeft=t}function Be(e){for(;e&&e.firstChild;)e.removeChild(e.firstChild)}function Mt(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Nn(e){return!!e.offsetParent}function rt(e){let t=e;return t.checkVisibility?t.checkVisibility({checkVisibilityCSS:!0}):!(!Nn(e)||window.getComputedStyle(e).visibility!=="visible")}function Li(e){let t=document.createElement("div");return t.innerHTML=(e||"").trim(),t.firstChild}function Tc(e){return e.clientWidth<e.scrollWidth}function Ac(e){return e.clientHeight<e.scrollHeight}function ho(e,t){t==="flex"?(e.style.removeProperty("width"),e.style.removeProperty("minWidth"),e.style.removeProperty("maxWidth"),e.style.flex="1 1 auto"):Je(e,t)}function Je(e,t){t=Ts(t),e.style.width=t.toString(),e.style.maxWidth=t.toString(),e.style.minWidth=t.toString()}function Si(e,t){t=Ts(t),e.style.height=t.toString(),e.style.maxHeight=t.toString(),e.style.minHeight=t.toString()}function Ts(e){return typeof e=="number"?`${e}px`:e}function As(e){return e instanceof Node||e instanceof HTMLElement}function kc(e){if(e==null)return[];let t=[];return Hn(e,i=>t.push(i)),t}function Ic(e,t){if(e)for(let i=0;i<e.length;i++){let o=e[i];t(o.name,o.value)}}function je(e,t,i){i==null||i===""?e.removeAttribute(t):e.setAttribute(t,i.toString())}function Hn(e,t){if(e!=null)for(let i=0;i<e.length;i++)t(e[i])}var ks=class{constructor(e=0,t=1){this.nextValue=e,this.step=t}next(){let e=this.nextValue;return this.nextValue+=this.step,e}peek(){return this.nextValue}skip(e){this.nextValue+=e}},Uo,_i,_o,jo,Ko,Yo,as,ls,$o;function ft(){return Uo===void 0&&(Uo=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),Uo}function zn(){if(_i===void 0)if(ft()){let e=navigator.userAgent.match(/version\/(\d+)/i);e&&(_i=e[1]!=null?parseFloat(e[1]):0)}else _i=0;return _i}function Lc(){if(_o===void 0){let e=window;_o=!!e.chrome&&(!!e.chrome.webstore||!!e.chrome.runtime)||/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)}return _o}function Is(){return jo===void 0&&(jo=/(firefox)/i.test(navigator.userAgent)),jo}function Bn(){return Ko===void 0&&(Ko=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)),Ko}function Tt(){return Yo===void 0&&(Yo=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1),Yo}function Vr(){return!ft()||zn()>=15}function cs(e){if(!e)return null;let t=e.tabIndex,i=e.getAttribute("tabIndex");return t===-1&&(i===null||i===""&&!Is())?null:t.toString()}function Oc(){if($o!==void 0)return $o;if(!document.body)return-1;let e=1e6,t=Is()?6e6:1e9,i=document.createElement("div");for(document.body.appendChild(i);;){let o=e*2;if(i.style.height=o+"px",o>t||i.clientHeight!==o)break;e=o}return document.body.removeChild(i),$o=e,e}function Gc(){return document.body?.clientWidth??(window.innerHeight||document.documentElement?.clientWidth||-1)}function Nc(){return document.body?.clientHeight??(window.innerHeight||document.documentElement?.clientHeight||-1)}function Hc(){return ls==null&&Vn(),ls}function Vn(){let e=document.body,t=document.createElement("div");t.style.width=t.style.height="100px",t.style.opacity="0",t.style.overflow="scroll",t.style.msOverflowStyle="scrollbar",t.style.position="absolute",e.appendChild(t);let i=t.offsetWidth-t.clientWidth;i===0&&t.clientWidth===0&&(i=null),t.parentNode&&t.parentNode.removeChild(t),i!=null&&(ls=i,as=i===0)}function Wn(){return as==null&&Vn(),as}var zc=1e3,Bc=1e3,Wr=100,Un=class At extends b{constructor(t,i,o,s){super(),this.parentComp=t,this.tooltipShowDelayOverride=i,this.tooltipHideDelayOverride=o,this.shouldDisplayTooltip=s,this.interactionEnabled=!1,this.isInteractingWithTooltip=!1,this.state=0,this.tooltipInstanceCount=0,this.tooltipMouseTrack=!1}wireBeans(t){this.popupService=t.popupService,this.userComponentFactory=t.userComponentFactory}postConstruct(){this.gos.get("tooltipInteraction")&&(this.interactionEnabled=!0),this.tooltipTrigger=this.getTooltipTrigger(),this.tooltipMouseTrack=this.gos.get("tooltipMouseTrack");let t=this.parentComp.getGui();this.tooltipTrigger===0&&this.addManagedListeners(t,{mouseenter:this.onMouseEnter.bind(this),mouseleave:this.onMouseLeave.bind(this)}),this.tooltipTrigger===1&&this.addManagedListeners(t,{focusin:this.onFocusIn.bind(this),focusout:this.onFocusOut.bind(this)}),this.addManagedListeners(t,{mousemove:this.onMouseMove.bind(this)}),this.interactionEnabled||this.addManagedListeners(t,{mousedown:this.onMouseDown.bind(this),keydown:this.onKeyDown.bind(this)})}getGridOptionsTooltipDelay(t){let i=this.gos.get(t);return i<0&&S(`${t} should not be lower than 0`),Math.max(200,i)}getTooltipDelay(t){return t==="show"?this.tooltipShowDelayOverride??this.getGridOptionsTooltipDelay("tooltipShowDelay"):this.tooltipHideDelayOverride??this.getGridOptionsTooltipDelay("tooltipHideDelay")}destroy(){this.setToDoNothing(),super.destroy()}getTooltipTrigger(){let t=this.gos.get("tooltipTrigger");return!t||t==="hover"?0:1}onMouseEnter(t){this.interactionEnabled&&this.interactiveTooltipTimeoutId&&(this.unlockService(),this.startHideTimeout()),!Tt()&&(At.isLocked?this.showTooltipTimeoutId=window.setTimeout(()=>{this.prepareToShowTooltip(t)},Wr):this.prepareToShowTooltip(t))}onMouseMove(t){this.lastMouseEvent&&(this.lastMouseEvent=t),this.tooltipMouseTrack&&this.state===2&&this.tooltipComp&&this.positionTooltip()}onMouseDown(){this.setToDoNothing()}onMouseLeave(){this.interactionEnabled?this.lockService():this.setToDoNothing()}onFocusIn(){this.prepareToShowTooltip()}onFocusOut(t){let i=t.relatedTarget,o=this.parentComp.getGui(),s=this.tooltipComp?.getGui();this.isInteractingWithTooltip||o.contains(i)||this.interactionEnabled&&s?.contains(i)||this.setToDoNothing()}onKeyDown(){this.isInteractingWithTooltip&&(this.isInteractingWithTooltip=!1),this.setToDoNothing()}prepareToShowTooltip(t){if(this.state!=0||At.isLocked)return;let i=0;t&&(i=this.isLastTooltipHiddenRecently()?200:this.getTooltipDelay("show")),this.lastMouseEvent=t||null,this.showTooltipTimeoutId=window.setTimeout(this.showTooltip.bind(this),i),this.state=1}isLastTooltipHiddenRecently(){let t=new Date().getTime(),i=At.lastTooltipHideTime;return t-i<zc}setToDoNothing(t){!t&&this.state===2&&this.hideTooltip(),this.onBodyScrollEventCallback&&(this.onBodyScrollEventCallback(),this.onBodyScrollEventCallback=void 0),this.onColumnMovedEventCallback&&(this.onColumnMovedEventCallback(),this.onColumnMovedEventCallback=void 0),this.onDocumentKeyDownCallback&&(this.onDocumentKeyDownCallback(),this.onDocumentKeyDownCallback=void 0),this.clearTimeouts(),this.state=0,this.lastMouseEvent=null}showTooltip(){let t={...this.parentComp.getTooltipParams()};if(!M(t.value)||this.shouldDisplayTooltip&&!this.shouldDisplayTooltip()){this.setToDoNothing();return}this.state=2,this.tooltipInstanceCount++;let i=this.newTooltipComponentCallback.bind(this,this.tooltipInstanceCount);this.userComponentFactory.getTooltipCompDetails(t).newAgStackInstance().then(i)}hideTooltip(t){!t&&this.isInteractingWithTooltip||(this.tooltipComp&&(this.destroyTooltipComp(),At.lastTooltipHideTime=new Date().getTime()),this.eventService.dispatchEvent({type:"tooltipHide",parentGui:this.parentComp.getGui()}),t&&(this.isInteractingWithTooltip=!1),this.setToDoNothing(!0))}newTooltipComponentCallback(t,i){if(this.state!==2||this.tooltipInstanceCount!==t){this.destroyBean(i);return}let s=i.getGui();this.tooltipComp=i,s.classList.contains("ag-tooltip")||s.classList.add("ag-tooltip-custom"),this.tooltipTrigger===0&&s.classList.add("ag-tooltip-animate"),this.interactionEnabled&&s.classList.add("ag-tooltip-interactive");let r=this.localeService.getLocaleTextFunc(),n=this.popupService.addPopup({eChild:s,ariaLabel:r("ariaLabelTooltip","Tooltip")});if(n&&(this.tooltipPopupDestroyFunc=n.hideFunc),this.positionTooltip(),this.tooltipTrigger===1){let a=()=>this.setToDoNothing();[this.onBodyScrollEventCallback,this.onColumnMovedEventCallback]=this.addManagedEventListeners({bodyScroll:a,columnMoved:a})}this.interactionEnabled&&([this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener]=this.addManagedElementListeners(s,{mouseenter:this.onTooltipMouseEnter.bind(this),mouseleave:this.onTooltipMouseLeave.bind(this)}),[this.onDocumentKeyDownCallback]=this.addManagedElementListeners(ve(this.gos),{keydown:a=>{s.contains(a?.target)||this.onKeyDown()}}),this.tooltipTrigger===1&&([this.tooltipFocusInListener,this.tooltipFocusOutListener]=this.addManagedElementListeners(s,{focusin:this.onTooltipFocusIn.bind(this),focusout:this.onTooltipFocusOut.bind(this)}))),this.eventService.dispatchEvent({type:"tooltipShow",tooltipGui:s,parentGui:this.parentComp.getGui()}),this.startHideTimeout()}onTooltipMouseEnter(){this.isInteractingWithTooltip=!0,this.unlockService()}onTooltipMouseLeave(){this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,this.lockService())}onTooltipFocusIn(){this.isInteractingWithTooltip=!0}isTooltipFocused(){let t=this.tooltipComp?.getGui(),i=fe(this.gos);return!!t&&t.contains(i)}onTooltipFocusOut(t){let i=this.parentComp.getGui();this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,i.contains(t.relatedTarget)?this.startHideTimeout():this.hideTooltip())}positionTooltip(){let t={type:"tooltip",ePopup:this.tooltipComp.getGui(),nudgeY:18,skipObserver:this.tooltipMouseTrack};this.lastMouseEvent?this.popupService.positionPopupUnderMouseEvent({...t,mouseEvent:this.lastMouseEvent}):this.popupService.positionPopupByComponent({...t,eventSource:this.parentComp.getGui(),position:"under",keepWithinBounds:!0,nudgeY:5})}destroyTooltipComp(){this.tooltipComp.getGui().classList.add("ag-tooltip-hiding");let t=this.tooltipPopupDestroyFunc,i=this.tooltipComp,o=this.tooltipTrigger===0?Bc:0;window.setTimeout(()=>{t(),this.destroyBean(i)},o),this.clearTooltipListeners(),this.tooltipPopupDestroyFunc=void 0,this.tooltipComp=void 0}clearTooltipListeners(){[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener,this.tooltipFocusInListener,this.tooltipFocusOutListener].forEach(t=>{t&&t()}),this.tooltipMouseEnterListener=this.tooltipMouseLeaveListener=this.tooltipFocusInListener=this.tooltipFocusOutListener=null}lockService(){At.isLocked=!0,this.interactiveTooltipTimeoutId=window.setTimeout(()=>{this.unlockService(),this.setToDoNothing()},Wr)}unlockService(){At.isLocked=!1,this.clearInteractiveTimeout()}startHideTimeout(){this.clearHideTimeout(),this.hideTooltipTimeoutId=window.setTimeout(this.hideTooltip.bind(this),this.getTooltipDelay("hide"))}clearShowTimeout(){this.showTooltipTimeoutId&&(window.clearTimeout(this.showTooltipTimeoutId),this.showTooltipTimeoutId=void 0)}clearHideTimeout(){this.hideTooltipTimeoutId&&(window.clearTimeout(this.hideTooltipTimeoutId),this.hideTooltipTimeoutId=void 0)}clearInteractiveTimeout(){this.interactiveTooltipTimeoutId&&(window.clearTimeout(this.interactiveTooltipTimeoutId),this.interactiveTooltipTimeoutId=void 0)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout(),this.clearInteractiveTimeout()}};Un.isLocked=!1;var Vc=Un,ai=class extends b{constructor(e,t){super(),this.ctrl=e,t&&(this.beans=t)}wireBeans(e){this.beans=e}postConstruct(){this.refreshToolTip()}setBrowserTooltip(e){let t="title",i=this.ctrl.getGui();i&&(e!=null&&e!=""?i.setAttribute(t,e):i.removeAttribute(t))}updateTooltipText(){this.tooltip=this.ctrl.getTooltipValue()}createTooltipFeatureIfNeeded(){if(this.tooltipManager!=null)return;let e={getTooltipParams:()=>this.getTooltipParams(),getGui:()=>this.ctrl.getGui()};this.tooltipManager=this.createBean(new Vc(e,this.ctrl.getTooltipShowDelayOverride?.(),this.ctrl.getTooltipHideDelayOverride?.(),this.ctrl.shouldDisplayTooltip),this.beans.context)}refreshToolTip(){this.browserTooltips=this.beans.gos.get("enableBrowserTooltips"),this.updateTooltipText(),this.browserTooltips?(this.setBrowserTooltip(this.tooltip),this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context))):(this.setBrowserTooltip(null),this.createTooltipFeatureIfNeeded())}getTooltipParams(){let e=this.ctrl,t=e.getColumn?.(),i=e.getColDef?.(),o=e.getRowNode?.();return{location:e.getLocation(),colDef:i,column:t,rowIndex:e.getRowIndex?.(),node:o,data:o?.data,value:this.getTooltipText(),valueFormatted:e.getValueFormatted?.(),hideTooltipCallback:()=>this.tooltipManager?.hideTooltip(!0)}}getTooltipText(){return this.tooltip}destroy(){this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context)),super.destroy()}},Wc=new ks,z=null,ce=class _n extends b{constructor(t,i){super(),this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=Wc.next(),this.cssClassManager=new vt(()=>this.eGui),this.componentSelectors=new Map((i??[]).map(o=>[o.selector,o])),t&&this.setTemplate(t)}preWireBeans(t){super.preWireBeans(t)}preConstruct(){this.usingBrowserTooltips=this.gos.get("enableBrowserTooltips"),this.wireTemplate(this.getGui())}wireTemplate(t,i){t&&this.gos&&(this.applyElementsToComponent(t),this.createChildComponentsFromTags(t,i))}getCompId(){return this.compId}getTooltipParams(){return{value:this.tooltipText,location:"UNKNOWN"}}setTooltip(t){let{newTooltipText:i,showDelayOverride:o,hideDelayOverride:s,location:r,shouldDisplayTooltip:n}=t||{};this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),this.tooltipText!==i&&(this.tooltipText=i);let a=()=>this.tooltipText;i!=null&&(this.tooltipFeature=this.createBean(new ai({getTooltipValue:a,getGui:()=>this.getGui(),getLocation:()=>r??"UNKNOWN",getColDef:t?.getColDef,getColumn:t?.getColumn,getTooltipShowDelayOverride:o!=null?()=>o:void 0,getTooltipHideDelayOverride:s!=null?()=>s:void 0,shouldDisplayTooltip:n})))}getDataRefAttribute(t){return t.getAttribute?t.getAttribute("data-ref"):null}applyElementsToComponent(t,i,o,s=null){if(i===void 0&&(i=this.getDataRefAttribute(t)),i){let r=this[i];if(r===z)this[i]=s??t;else{let n=o&&o[i];!this.suppressDataRefValidation&&!n&&S(`Issue with data-ref: ${i} on ${this.constructor.name} with ${r}`)}}}createChildComponentsFromTags(t,i){kc(t.childNodes).forEach(s=>{if(!(s instanceof HTMLElement))return;let r=this.createComponentFromElement(s,n=>{n.getGui()&&this.copyAttributesFromNode(s,n.getGui())},i);if(r){if(r.addItems&&s.children.length){this.createChildComponentsFromTags(s,i);let n=Array.prototype.slice.call(s.children);r.addItems(n)}this.swapComponentForNode(r,t,s)}else s.childNodes&&this.createChildComponentsFromTags(s,i)})}createComponentFromElement(t,i,o){let s=t.nodeName,r=this.getDataRefAttribute(t),n=s.indexOf("AG-")===0,a=n?this.componentSelectors.get(s):null,l=null;if(a){_n.elementGettingCreated=t;let c=o&&r?o[r]:void 0;l=new a.component(c),l.setParentComponent(this),this.createBean(l,null,i)}else n&&S(`Missing selector: ${s}`);return this.applyElementsToComponent(t,r,o,l),l}copyAttributesFromNode(t,i){Ic(t.attributes,(o,s)=>i.setAttribute(o,s))}swapComponentForNode(t,i,o){let s=t.getGui();i.replaceChild(s,o),i.insertBefore(document.createComment(o.nodeName),s),this.addDestroyFunc(this.destroyBean.bind(this,t))}activateTabIndex(t){let i=this.gos.get("tabIndex");t||(t=[]),t.length||t.push(this.getGui()),t.forEach(o=>o.setAttribute("tabindex",i.toString()))}setTemplate(t,i,o){let s=Li(t);this.setTemplateFromElement(s,i,o)}setTemplateFromElement(t,i,o,s=!1){if(this.eGui=t,this.suppressDataRefValidation=s,i)for(let r=0;r<i.length;r++){let n=i[r];this.componentSelectors.set(n.selector,n)}this.wireTemplate(t,o)}getGui(){return this.eGui}getFocusableElement(){return this.eGui}getAriaElement(){return this.getFocusableElement()}setParentComponent(t){this.parentComponent=t}getParentComponent(){return this.parentComponent}setGui(t){this.eGui=t}queryForHtmlElement(t){return this.eGui.querySelector(t)}getContainerAndElement(t,i){let o=i;return t==null?null:(o||(o=this.eGui),As(t)?{element:t,parent:o}:{element:t.getGui(),parent:o})}prependChild(t,i){let{element:o,parent:s}=this.getContainerAndElement(t,i)||{};!o||!s||s.insertAdjacentElement("afterbegin",o)}appendChild(t,i){let{element:o,parent:s}=this.getContainerAndElement(t,i)||{};!o||!s||s.appendChild(o)}isDisplayed(){return this.displayed}setVisible(t,i={}){if(t!==this.visible){this.visible=t;let{skipAriaHidden:o}=i;Pc(this.eGui,t,{skipAriaHidden:o})}}setDisplayed(t,i={}){if(t!==this.displayed){this.displayed=t;let{skipAriaHidden:o}=i;pe(this.eGui,t,{skipAriaHidden:o});let s={type:"displayChanged",visible:this.displayed};this.dispatchLocalEvent(s)}}destroy(){this.parentComponent&&(this.parentComponent=void 0),this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),super.destroy()}addGuiEventListener(t,i,o){this.eGui.addEventListener(t,i,o),this.addDestroyFunc(()=>this.eGui.removeEventListener(t,i))}addCssClass(t){this.cssClassManager.addCssClass(t)}removeCssClass(t){this.cssClassManager.removeCssClass(t)}containsCssClass(t){return this.cssClassManager.containsCssClass(t)}addOrRemoveCssClass(t,i){this.cssClassManager.addOrRemoveCssClass(t,i)}},jn={columnGroupOpened:"expanded",columnGroupClosed:"contracted",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate",columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",groupContracted:"tree-closed",groupExpanded:"tree-open",setFilterGroupClosed:"tree-closed",setFilterGroupOpen:"tree-open",setFilterGroupIndeterminate:"tree-indeterminate",chart:"chart",close:"cross",cancel:"cancel",check:"tick",first:"first",previous:"previous",next:"next",last:"last",linked:"linked",unlinked:"unlinked",colorPicker:"color-picker",groupLoading:"loading",menu:"menu",menuAlt:"menu-alt",filter:"filter",columns:"columns",maximize:"maximize",minimize:"minimize",menuPin:"pin",menuValue:"aggregation",menuAddRowGroup:"group",menuRemoveRowGroup:"group",clipboardCopy:"copy",clipboardCut:"cut",clipboardPaste:"paste",pivotPanel:"pivot",rowGroupPanel:"group",valuePanel:"aggregation",columnDrag:"grip",rowDrag:"grip",save:"save",csvExport:"csv",excelExport:"excel",smallDown:"small-down",smallLeft:"small-left",smallRight:"small-right",smallUp:"small-up",sortAscending:"asc",sortDescending:"desc",sortUnSort:"none",advancedFilterBuilder:"group",advancedFilterBuilderDrag:"grip",advancedFilterBuilderInvalid:"not-allowed",advancedFilterBuilderMoveUp:"up",advancedFilterBuilderMoveDown:"down",advancedFilterBuilderAdd:"plus",advancedFilterBuilderRemove:"minus",chartsMenuEdit:"chart",chartsMenuAdvancedSettings:"settings",chartsMenuAdd:"plus",checkboxChecked:"checkbox-checked",checkboxIndeterminate:"checkbox-indeterminate",checkboxUnchecked:"checkbox-unchecked",radioButtonOn:"radio-button-on",radioButtonOff:"radio-button-off"},Uc=(()=>{let e=new Set(Object.values(jn));return e.add("eye"),e})();function _c(e,t,i){let o=ze(e,t,i);if(o){let{className:r}=o;if(typeof r=="string"&&r.indexOf("ag-icon")>-1||typeof r=="object"&&r["ag-icon"])return o}let s=document.createElement("span");return s.appendChild(o),s}function ze(e,t,i,o){let s=null,r=i&&i.getColDef().icons;if(r&&(s=r[e]),t&&!s){let n=t.get("icons");n&&(s=n[e])}if(s){let n;if(typeof s=="function")n=s();else if(typeof s=="string")n=s;else throw new Error("icon from grid options needs to be a string or a function");if(typeof n=="string")return Li(n);if(As(n))return n;S("iconRenderer should return back a string or a dom object")}else{let n=document.createElement("span"),a=jn[e]??(Uc.has(e)?e:void 0);return a||(o?a=e:(S(`Did not find icon ${e}`),a="")),n.setAttribute("class",`ag-icon ag-icon-${a}`),n.setAttribute("unselectable","on"),Xe(n,"presentation"),n}}var jc=class extends ce{constructor(){super(...arguments),this.dragSource=null,this.eIcon=z,this.eLabel=z}postConstruct(){let e=t=>_c(t,this.gos,null);this.dropIconMap={pinned:e("columnMovePin"),hide:e("columnMoveHide"),move:e("columnMoveMove"),left:e("columnMoveLeft"),right:e("columnMoveRight"),group:e("columnMoveGroup"),aggregate:e("columnMoveValue"),pivot:e("columnMovePivot"),notAllowed:e("dropNotAllowed")}}init(e){this.dragSource=e.dragSource,this.setTemplate(`<div class="ag-dnd-ghost ag-unselectable">
|
|
1
|
+
import{b as Pr,c as Ho}from"./chunk-W6LP22IK.js";import{a as Dr}from"./chunk-MSYTAJBV.js";import{a as Tr}from"./chunk-TOGLZDK3.js";import{b as Cr,e as Lo,h as wr,k as yr,m as _i}from"./chunk-YMBBWVBB.js";import{b as Ui}from"./chunk-J5E457OI.js";import"./chunk-QHJOTXYB.js";import"./chunk-KRNQ6L35.js";import{a as Mr}from"./chunk-P2Z66DHV.js";import{b as Er}from"./chunk-WMICEDOT.js";import"./chunk-AAHM6RYJ.js";import"./chunk-VD6G5NV4.js";import{e as Oo}from"./chunk-BUNR5EU3.js";import{Cc as Sr,Ga as I,Nc as Rr,Oc as Fr,Pc as No,V as pr,W as fr,Xc as xr,Y as Ao,Za as Go,_ as mr,a as E,c as ue,d as Le,da as wt,e as D,f as qt,fa as ko,g as H,h as W,i as se,j as Pl,l as re,m as Jt,q as Wi,qa as yt,ra as Io,sa as pi,ua as vr,ub as br,v as F,y as ne}from"./chunk-LROR6N3B.js";import{b as ur,e as hr,j as gr}from"./chunk-KUCVLANF.js";import"./chunk-DTMZLUNY.js";import"./chunk-PVAE643M.js";var ri=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){let o=t?this.allAsyncListeners:this.allSyncListeners,s=o.get(e);return!s&&i&&(s=new Set,o.set(e,s)),s}noRegisteredListenersExist(){return this.allSyncListeners.size===0&&this.allAsyncListeners.size===0&&this.globalSyncListeners.size===0&&this.globalAsyncListeners.size===0}addEventListener(e,t,i=!1){this.getListeners(e,i,!0).add(t)}removeEventListener(e,t,i=!1){let o=this.getListeners(e,i,!1);o&&(o.delete(t),o.size===0&&(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){let 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){let i=e.type;if(t&&"event"in e){let a=e.event;a instanceof Event&&(e.eventPath=a.composedPath())}let o=(a,l)=>a.forEach(c=>{if(!l.has(c))return;let d=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming(()=>c(e)):()=>c(e);t?this.dispatchAsync(d):d()}),s=this.getListeners(i,t,!1)??new Set,r=new Set(s);r.size>0&&o(r,s),new Set(t?this.globalAsyncListeners:this.globalSyncListeners).forEach(a=>{let l=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming(()=>a(i,e)):()=>a(i,e);t?this.dispatchAsync(l):l()})}dispatchAsync(e){if(this.asyncFunctionsQueue.push(e),!this.scheduled){let t=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)};this.frameworkOverrides?this.frameworkOverrides.wrapIncoming(t):t(),this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;let e=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[],e.forEach(t=>t())}},ni=(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))(ni||{}),Ar={};function ws(e,t){Ar[t]||(e(),Ar[t]=!0)}function ot(e,...t){console.log("AG Grid: "+e,...t)}function S(e,...t){ws(()=>console.warn("AG Grid: "+e,...t),e+t?.join(""))}function Q(e,...t){ws(()=>console.error("AG Grid: "+e,...t),e+t?.join(""))}function ys(e){return!!(e&&e.constructor&&e.call&&e.apply)}function Tl(e){Al(e,400)}var zo=[],Bo=!1;function kr(e){zo.push(e),!Bo&&(Bo=!0,window.setTimeout(()=>{let t=zo.slice();zo.length=0,Bo=!1,t.forEach(i=>i())},0))}function Al(e,t=0){e.length>0&&window.setTimeout(()=>e.forEach(i=>i()),t)}function xe(e,t){let i;return function(...o){let s=this;window.clearTimeout(i),i=window.setTimeout(function(){e.apply(s,o)},t)}}function Ir(e,t){let i=0;return function(...o){let s=this,r=new Date().getTime();r-i<t||(i=r,e.apply(s,o))}}function kl(e,t,i=100,o){let s=new Date().getTime(),r=null,n=!1,a=()=>{let l=new Date().getTime()-s>i;(e()||l)&&(t(),n=!0,r!=null&&(window.clearInterval(r),r=null),l&&o&&S(o))};a(),n||(r=window.setInterval(a,10))}function dt(e){return e==null||e===""?null:e}function M(e,t=!1){return e!=null&&(e!==""||t)}function K(e){return!M(e)}function Ee(e){return e==null||e.length===0}function es(e){return e!=null&&typeof e.toString=="function"?e.toString():null}function Nt(e){if(e===void 0)return;if(e===null||e==="")return null;if(typeof e=="number")return isNaN(e)?void 0:e;let t=parseInt(e,10);return isNaN(t)?void 0:t}function ts(e){if(e!==void 0)return e===null||e===""?!1:is(e)}function is(e){return typeof e=="boolean"?e:typeof e=="string"?e.toUpperCase()==="TRUE"||e=="":!1}function io(e,t){let i=e?JSON.stringify(e):null,o=t?JSON.stringify(t):null;return i===o}function Il(e,t,i=!1){let o=e==null,s=t==null;if(e&&e.toNumber&&(e=e.toNumber()),t&&t.toNumber&&(t=t.toNumber()),o&&s)return 0;if(o)return-1;if(s)return 1;function r(n,a){return n>a?1:n<a?-1:0}if(typeof e!="string"||!i)return r(e,t);try{return e.localeCompare(t)}catch{return r(e,t)}}function Xi(e){if(e instanceof Set||e instanceof Map){let t=[];return e.forEach(i=>t.push(i)),t}return Object.values(e)}function cn(e,t){return e.get("rowModelType")===t}function de(e){return cn(e,"clientSide")}function mt(e){return cn(e,"serverSide")}function Re(e,t){return e.get("domLayout")===t}function oo(e){return no(e)!==void 0}function so(e){return!e.get("suppressAsyncEvents")}function dn(e){return typeof e.get("getRowHeight")=="function"}function Ll(e,t){return t?!e.get("enableStrictPivotColumnOrder"):e.get("maintainColumnOrder")}function ht(e,t,i=!1,o){if(o==null&&(o=e.environment.getDefaultRowHeight()),dn(e)){if(i)return{height:o,estimated:!0};let n={node:t,data:t.data},a=e.getCallback("getRowHeight")(n);if(os(a))return a===0&&S("The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead."),{height:Math.max(1,a),estimated:!1}}if(t.detail&&e.get("masterDetail"))return Ol(e);let s=e.get("rowHeight");return{height:s&&os(s)?s:o,estimated:!1}}function Ol(e){if(e.get("detailRowAutoHeight"))return{height:1,estimated:!1};let t=e.get("detailRowHeight");return os(t)?{height:t,estimated:!1}:{height:300,estimated:!1}}function mo(e){let{environment:t}=e,i=e.get("rowHeight");if(!i||K(i))return t.getDefaultRowHeight();let o=t.refreshRowHeightVariable();return o!==-1?o:(S("row height must be a number if not using standard row model"),t.getDefaultRowHeight())}function os(e){return!isNaN(e)&&typeof e=="number"&&isFinite(e)}function Di(e,t,i){let o=t[e.getDomDataKey()];return o?o[i]:void 0}function Vt(e,t,i,o){let s=e.getDomDataKey(),r=t[s];K(r)&&(r={},t[s]=r),r[i]=o}function ve(e){let t=null,i=e.get("getDocument");return i&&M(i)?t=i():e.eGridDiv&&(t=e.eGridDiv.ownerDocument),t&&M(t)?t:document}function un(e){return ve(e).defaultView||window}function Ei(e){return e.eGridDiv.getRootNode()}function fe(e){return Ei(e).activeElement}function hn(e){let t=ve(e),i=fe(e);return i===null||i===t.body}function Wt(e){return e.get("ensureDomOrder")?!1:e.get("animateRows")}function vo(e){return!(e.get("paginateChildRows")||e.get("groupHideOpenParents")||Re(e,"print"))}function Qe(e){return!e.get("autoGroupColumnDef")?.comparator&&!e.get("treeData")}function ss(e){let t=e.get("groupAggFiltering");if(typeof t=="function")return e.getCallback("groupAggFiltering");if(t===!0)return()=>!0}function Co(e){let t=e.get("grandTotalRow");if(t)return t;if(e.get("groupIncludeTotalFooter"))return"bottom"}function wo(e){let t=e.get("groupTotalRow");if(typeof t=="function")return e.getCallback("groupTotalRow");if(t)return()=>t;let i=e.get("groupIncludeFooter");if(typeof i=="function"){let o=e.getCallback("groupIncludeFooter");return s=>o(s)?"bottom":void 0}return()=>i?"bottom":void 0}function gn(e){return e.exists("groupDisplayType")?e.get("groupDisplayType")==="multipleColumns":e.get("groupHideOpenParents")}function bs(e,t){return t?!1:e.get("groupDisplayType")==="groupRows"}function Ut(e){let t=e.getCallback("getRowId");return t===void 0?t:i=>{let o=t(i);return typeof o!="string"&&(S("The getRowId callback must return a string. The ID ",o," is being cast to a string."),o=String(o)),o}}function ii(e){return e?.checkboxes??!0}function ro(e){return e?.mode==="multiRow"&&(e.headerCheckbox??!0)}function Gl(e){return e?.hideDisabledCheckboxes??!1}function Nl(e){return typeof e.get("rowSelection")!="string"}function Hl(e){return e.get("cellSelection")!==void 0}function zl(e){let t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"?t?.suppressMultiRanges??!1:!1:e.get("suppressMultiRangeSelection")}function gt(e){let t=e.get("cellSelection");return t!==void 0?!!t:e.get("enableRangeSelection")}function Bl(e){let t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"?t.handle?.mode==="range":!1:e.get("enableRangeHandle")}function Lr(e){let t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"?t.handle?.mode==="fill":!1:e.get("enableFillHandle")}function pn(e){let t=e.get("rowSelection")??"single";if(typeof t=="string"){let i=e.get("suppressRowClickSelection"),o=e.get("suppressRowDeselection");return i&&o?!1:i?"enableDeselection":o?"enableSelection":!0}return t.mode==="singleRow"||t.mode==="multiRow"?t.enableClickSelection??!1:!1}function Vl(e){let t=pn(e);return t===!0||t==="enableSelection"}function Or(e){let t=pn(e);return t===!0||t==="enableDeselection"}function Ss(e){let t=e.get("rowSelection");return typeof t=="string"?e.get("isRowSelectable"):t?.isRowSelectable}function no(e){let t=e.get("rowSelection");if(typeof t=="string")switch(t){case"multiple":return"multiRow";case"single":return"singleRow";default:return}return t?.mode}function fn(e){return no(e)==="multiRow"}function Wl(e){let t=e.get("rowSelection");return typeof t=="string"?e.get("rowMultiSelectWithClick"):t?.enableSelectionWithoutKeys??!1}function Rs(e){let t=e.get("rowSelection");if(typeof t=="string"){let i=e.get("groupSelectsChildren"),o=e.get("groupSelectsFiltered");return i&&o?"filteredDescendants":i?"descendants":"self"}return t?.mode==="multiRow"?t.groupSelects:void 0}function Dt(e){let t=Rs(e);return t==="descendants"||t==="filteredDescendants"}function Vo(e){return e.isModuleRegistered("@ag-grid-enterprise/set-filter")&&!e.get("suppressSetFilterByDefault")}function $(e){if(!(!e||!e.length))return e[e.length-1]}function Pt(e,t,i){return e==null&&t==null?!0:e!=null&&t!=null&&e.length===t.length&&e.every((o,s)=>i?i(o,t[s]):t[s]===o)}function Ul(e){return e.sort((t,i)=>t-i)}function mn(e,t){let i=e.indexOf(t);i>=0&&(e[i]=e[e.length-1],e.pop())}function De(e,t){let i=e.indexOf(t);i>=0&&e.splice(i,1)}function _l(e,t){for(let i=0;i<t.length;i++)mn(e,t[i])}function jl(e,t){for(let i=0;i<t.length;i++)De(e,t[i])}function Mi(e,t,i){e.splice(i,0,t)}function vn(e,t,i){jl(e,t),t.slice().reverse().forEach(o=>Mi(e,o,i))}function Ht(e,t){return e.indexOf(t)>-1}function Kl(e){return e?.flatMap(t=>t)??[]}function Gr(e,t){t==null||e==null||t.forEach(i=>e.push(i))}var Cn="__ag_Grid_Stop_Propagation",Yl=["touchstart","touchend","touchmove","touchcancel","scroll"],Wo={};function oi(e){e[Cn]=!0}function ut(e){return e[Cn]===!0}var wn=(()=>{let e={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return i=>{if(typeof Wo[i]=="boolean")return Wo[i];let o=document.createElement(e[i]||"div");return i="on"+i,Wo[i]=i in o}})();function rs(e,t,i){let o=t;for(;o;){let s=Di(e,o,i);if(s)return s;o=o.parentElement}return null}function $l(e,t){return!t||!e?!1:ql(t).indexOf(e)>=0}function Ql(e){let t=[],i=e.target;for(;i;)t.push(i),i=i.parentElement;return t}function ql(e){let t=e;return t.path?t.path:t.composedPath?t.composedPath():Ql(t)}function Jl(e,t,i,o){let r=Ht(Yl,i)?{passive:!0}:void 0;e&&e.addEventListener&&e.addEventListener(t,i,o,r)}var b=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans(e){this.frameworkOverrides=e.frameworkOverrides,this.stubContext=e.context,this.eventService=e.eventService,this.gos=e.gos,this.localeService=e.localeService}getFrameworkOverrides(){return this.frameworkOverrides}destroy(){for(let e=0;e<this.destroyFunctions.length;e++)this.destroyFunctions[e]();this.destroyFunctions.length=0,this.destroyed=!0,this.dispatchLocalEvent({type:"destroyed"})}addEventListener(e,t,i){this.localEventService||(this.localEventService=new ri),this.localEventService.addEventListener(e,t,i)}removeEventListener(e,t,i){this.localEventService&&this.localEventService.removeEventListener(e,t,i)}dispatchLocalEvent(e){this.localEventService&&this.localEventService.dispatchEvent(e)}addManagedElementListeners(e,t){return this._setupListeners(e,t)}addManagedEventListeners(e){return this._setupListeners(this.eventService,e)}addManagedListeners(e,t){return this._setupListeners(e,t)}_setupListeners(e,t){let i=[];for(let o in t){let s=t[o];s&&i.push(this._setupListener(e,o,s))}return i}_setupListener(e,t,i){if(this.destroyed)return()=>null;e instanceof HTMLElement?Jl(this.getFrameworkOverrides(),e,t,i):e.addEventListener(t,i);let o=()=>(e.removeEventListener(t,i),null);return this.destroyFunctions.push(o),()=>(o(),this.destroyFunctions=this.destroyFunctions.filter(s=>s!==o),null)}setupGridOptionListener(e,t){this.gos.addPropertyEventListener(e,t);let i=()=>(this.gos.removePropertyEventListener(e,t),null);return this.destroyFunctions.push(i),()=>(i(),this.destroyFunctions=this.destroyFunctions.filter(o=>o!==i),null)}addManagedPropertyListener(e,t){return this.destroyed?()=>null:this.setupGridOptionListener(e,t)}addManagedPropertyListeners(e,t){if(this.destroyed)return;let i=e.join("-")+this.propertyListenerId++,o=s=>{if(s.changeSet){if(s.changeSet&&s.changeSet.id===this.lastChangeSetIdLookup[i])return;this.lastChangeSetIdLookup[i]=s.changeSet.id}let r={type:"gridPropertyChanged",changeSet:s.changeSet,source:s.source};t(r)};e.forEach(s=>this.setupGridOptionListener(s,o))}addDestroyFunc(e){this.isAlive()?this.destroyFunctions.push(e):e()}createManagedBean(e,t){let i=this.createBean(e,t);return this.addDestroyFunc(this.destroyBean.bind(this,e,t)),i}createBean(e,t,i){return(t||this.stubContext).createBean(e,i)}destroyBean(e,t){return(t||this.stubContext).destroyBean(e)}destroyBeans(e,t){return(t||this.stubContext).destroyBeans(e)}};function ke(e){return e instanceof Zi}var Zi=class extends b{constructor(e,t,i,o){super(),this.isColumn=!1,this.expandable=!1,this.instanceId=bn(),this.expandableListenerRemoveCallback=null,this.colGroupDef=e,this.groupId=t,this.expanded=!!e&&!!e.openByDefault,this.padding=i,this.level=o}destroy(){this.expandableListenerRemoveCallback&&this.reset(null,void 0),super.destroy()}reset(e,t){this.colGroupDef=e,this.level=t,this.originalParent=null,this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback(),this.children=void 0,this.expandable=void 0}getInstanceId(){return this.instanceId}setOriginalParent(e){this.originalParent=e}getOriginalParent(){return this.originalParent}getLevel(){return this.level}isVisible(){return this.children?this.children.some(e=>e.isVisible()):!1}isPadding(){return this.padding}setExpanded(e){this.expanded=e===void 0?!1:e,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren(e){this.children=e}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){let e=[];return this.addLeafColumns(e),e}addLeafColumns(e){this.children&&this.children.forEach(t=>{Et(t)?e.push(t):ke(t)&&t.addLeafColumns(e)})}getColumnGroupShow(){let e=this.colGroupDef;if(e)return e.columnGroupShow}setupExpandable(){this.setExpandable(),this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback();let e=this.onColumnVisibilityChanged.bind(this);this.getLeafColumns().forEach(t=>t.addEventListener("visibleChanged",e)),this.expandableListenerRemoveCallback=()=>{this.getLeafColumns().forEach(t=>t.removeEventListener("visibleChanged",e)),this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let e=!1,t=!1,i=!1,o=this.findChildrenRemovingPadding();for(let r=0,n=o.length;r<n;r++){let a=o[r];if(!a.isVisible())continue;let l=a.getColumnGroupShow();l==="open"?(e=!0,i=!0):l==="closed"?(t=!0,i=!0):(e=!0,t=!0)}let s=e&&t&&i;this.expandable!==s&&(this.expandable=s,this.dispatchLocalEvent({type:"expandableChanged"}))}findChildrenRemovingPadding(){let e=[],t=i=>{i.forEach(o=>{ke(o)&&o.isPadding()?t(o.children):e.push(o)})};return t(this.children),e}onColumnVisibilityChanged(){this.setExpandable()}},yn="ag-Grid-ControlsColumn",Xl=class extends b{constructor(){super(...arguments),this.beanName="controlsColService"}isControlsColEnabled(){let{gos:e}=this,t=e.get("rowSelection");if(!t||typeof t!="object")return!1;let i=ii(t),o=ro(t);return!!(i||o)}createControlsCols(){if(!this.isControlsColEnabled())return[];let{gos:e}=this,t=e.get("selectionColumnDef"),o={maxWidth:50,resizable:!1,suppressHeaderMenuButton:!0,sortable:!1,suppressMovable:!0,lockPosition:e.get("enableRtl")?"right":"left",comparator(r,n,a,l){let c=a.isSelected(),d=l.isSelected();return c&&d?0:c?1:-1},editable:!1,suppressFillHandle:!0,...t,colId:`${yn}`},s=new Es(o,null,o.colId,!1);return this.createBean(s),[s]}},yo="ag-Grid-AutoColumn";function Fs(e){let t=[],i=o=>{for(let s=0;s<o.length;s++){let r=o[s];Et(r)?t.push(r):ke(r)&&i(r.getChildren())}};return i(e),t}function ct(e){return e.reduce((t,i)=>t+i.getActualWidth(),0)}function Ft(e,t,i){let o={};if(!t)return;pt(null,t,r=>{o[r.getInstanceId()]=r}),i&&pt(null,i,r=>{o[r.getInstanceId()]=null});let s=Object.values(o).filter(r=>r!=null);e.destroyBeans(s)}function Nr(e){return e.getId().startsWith(yo)}function Pi(e){return e.getColId().startsWith(yn)}function eo(e){let t=[];return e instanceof Array?e.some(o=>typeof o!="string")?S("if colDef.type is supplied an array it should be of type 'string[]'"):t=e:typeof e=="string"?t=e.split(","):S("colDef.type should be of type 'string' | 'string[]'"),t}var xs=class{constructor(e){this.frameworkOverrides=e,this.wrappedListeners=new Map,this.wrappedGlobalListeners=new Map}wrap(e,t){let{frameworkOverrides:i,wrappedListeners:o}=this,s=t;if(i.shouldWrapOutgoing){s=n=>{i.wrapOutgoing(()=>t(n))};let r=o.get(e);r||(r=new Map,o.set(e,r)),r.set(t,s)}return s}wrapGlobal(e){let{frameworkOverrides:t,wrappedGlobalListeners:i}=this,o=e;return t.shouldWrapOutgoing&&(o=(s,r)=>{t.wrapOutgoing(()=>e(s,r))},i.set(e,o)),o}unwrap(e,t){let{wrappedListeners:i}=this,o=i.get(e);if(o){let s=o.get(t);if(s)return o.delete(t),o.size===0&&i.delete(e),s}return t}unwrapGlobal(e){let{wrappedGlobalListeners:t}=this,i=t.get(e);return i?(t.delete(e),i):e}},bo=new Set(["__proto__","constructor","prototype"]);function We(e,t){if(e!=null){if(Array.isArray(e)){for(let i=0;i<e.length;i++)t(i.toString(),e[i]);return}for(let[i,o]of Object.entries(e))bo.has(i)||t(i,o)}}function Ds(e){let t={},i=Object.keys(e);for(let o=0;o<i.length;o++){if(bo.has(i[o]))continue;let s=i[o],r=e[s];t[s]=r}return t}function ns(e,t){if(!e)return;let i=e,o={};return Object.keys(i).forEach(s=>{if(t&&t.indexOf(s)>=0||bo.has(s))return;let r=i[s];as(r)&&r.constructor===Object?o[s]=ns(r):o[s]=r}),o}function Hr(e){if(!e)return[];let t=Object;if(typeof t.values=="function")return t.values(e);let i=[];for(let o in e)e.hasOwnProperty(o)&&e.propertyIsEnumerable(o)&&i.push(e[o]);return i}function Ie(e,t,i=!0,o=!1){M(t)&&We(t,(s,r)=>{if(bo.has(s))return;let n=e[s];n!==r&&(o&&n==null&&r!=null&&typeof r=="object"&&r.constructor===Object&&(n={},e[s]=n),as(r)&&as(n)&&!Array.isArray(n)?Ie(n,r,i,o):(i||r!==void 0)&&(e[s]=r))})}function bi(e,t,i){if(!t||!e)return;if(!i)return e[t];let o=t.split("."),s=e;for(let r=0;r<o.length;r++){if(s==null)return;s=s[o[r]]}return s}function as(e){return typeof e=="object"&&e!==null}var Zl={resizable:!0,sortable:!0},ec=0;function bn(){return ec++}function Et(e){return e instanceof Es}var Es=class extends b{constructor(e,t,i,o){super(),this.isColumn=!0,this.instanceId=bn(),this.autoHeaderHeight=null,this.moving=!1,this.menuVisible=!1,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.columnEventService=new ri,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.colDef=e,this.userProvidedColDef=t,this.colId=i,this.primary=o,this.setState(e)}wireBeans(e){this.columnHoverService=e.columnHoverService}getInstanceId(){return this.instanceId}setState(e){e.sort!==void 0?(e.sort==="asc"||e.sort==="desc")&&(this.sort=e.sort):(e.initialSort==="asc"||e.initialSort==="desc")&&(this.sort=e.initialSort);let t=e.sortIndex,i=e.initialSortIndex;t!==void 0?t!==null&&(this.sortIndex=t):i!==null&&(this.sortIndex=i);let o=e.hide,s=e.initialHide;o!==void 0?this.visible=!o:this.visible=!s,e.pinned!==void 0?this.setPinned(e.pinned):this.setPinned(e.initialPinned);let r=e.flex,n=e.initialFlex;r!==void 0?this.flex=r:n!==void 0&&(this.flex=n)}setColDef(e,t,i){this.colDef=e,this.userProvidedColDef=t,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),this.columnEventService.dispatchEvent(this.createColumnEvent("colDefChanged",i))}getUserProvidedColDef(){return this.userProvidedColDef}setParent(e){this.parent=e}getParent(){return this.parent}setOriginalParent(e){this.originalParent=e}getOriginalParent(){return this.originalParent}postConstruct(){this.initMinAndMaxWidths(),this.resetActualWidth("gridInitializing"),this.initDotNotation(),this.initTooltip()}initDotNotation(){let e=this.gos.get("suppressFieldDotNotation");this.fieldContainsDots=M(this.colDef.field)&&this.colDef.field.indexOf(".")>=0&&!e,this.tooltipFieldContainsDots=M(this.colDef.tooltipField)&&this.colDef.tooltipField.indexOf(".")>=0&&!e}initMinAndMaxWidths(){let e=this.colDef;this.minWidth=e.minWidth??this.gos.environment.getDefaultColumnMinWidth(),this.maxWidth=e.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.tooltipEnabled=M(this.colDef.tooltipField)||M(this.colDef.tooltipValueGetter)||M(this.colDef.tooltipComponent)}resetActualWidth(e){let t=this.calculateColInitialWidth(this.colDef);this.setActualWidth(t,e,!0)}calculateColInitialWidth(e){let t,i=Nt(e.width),o=Nt(e.initialWidth);return i!=null?t=i:o!=null?t=o:t=200,Math.max(Math.min(t,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(e){if(K(this.colDef)||K(this.colDef.showRowGroup))return!1;let t=this.colDef.showRowGroup===!0,i=this.colDef.showRowGroup===e;return t||i}isPrimary(){return this.primary}isFilterAllowed(){return!!this.colDef.filter}isFieldContainsDots(){return this.fieldContainsDots}isTooltipEnabled(){return this.tooltipEnabled}isTooltipFieldContainsDots(){return this.tooltipFieldContainsDots}getHighlighted(){return this.highlighted}addEventListener(e,t){this.frameworkOverrides.shouldWrapOutgoing&&!this.frameworkEventListenerService&&(this.columnEventService.setFrameworkOverrides(this.frameworkOverrides),this.frameworkEventListenerService=new xs(this.frameworkOverrides));let i=this.frameworkEventListenerService?.wrap(e,t)??t;this.columnEventService.addEventListener(e,i)}removeEventListener(e,t){let i=this.frameworkEventListenerService?.unwrap(e,t)??t;this.columnEventService.removeEventListener(e,i)}createColumnFunctionCallbackParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,column:this,colDef:this.colDef})}isSuppressNavigable(e){if(typeof this.colDef.suppressNavigable=="boolean")return this.colDef.suppressNavigable;if(typeof this.colDef.suppressNavigable=="function"){let t=this.createColumnFunctionCallbackParams(e),i=this.colDef.suppressNavigable;return i(t)}return!1}isCellEditable(e){if(e.group){if(this.gos.get("treeData")){if(!e.data&&!this.gos.get("enableGroupEdit"))return!1}else if(!this.gos.get("enableGroupEdit"))return!1}return this.isColumnFunc(e,this.colDef.editable)}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag(e){return this.isColumnFunc(e,this.colDef.rowDrag)}isDndSource(e){return this.isColumnFunc(e,this.colDef.dndSource)}isCellCheckboxSelection(e){let t=this.gos.get("rowSelection");if(t&&typeof t!="string"){let i=Pi(this)&&ii(t);return this.isColumnFunc(e,i)}else return this.isColumnFunc(e,this.colDef.checkboxSelection)}isSuppressPaste(e){return this.isColumnFunc(e,this.colDef?this.colDef.suppressPaste:null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue(e){return this.colDef[e]??Zl[e]}isColumnFunc(e,t){if(typeof t=="boolean")return t;if(typeof t=="function"){let i=this.createColumnFunctionCallbackParams(e);return t(i)}return!1}setHighlighted(e){this.highlighted!==e&&(this.highlighted=e,this.columnEventService.dispatchEvent(this.createColumnEvent("headerHighlightChanged","uiColumnMoved")))}setMoving(e,t){this.moving=e,this.columnEventService.dispatchEvent(this.createColumnEvent("movingChanged",t))}createColumnEvent(e,t){return this.gos.addGridCommonParams({type:e,column:this,columns:[this],source:t})}isMoving(){return this.moving}getSort(){return this.sort}setSort(e,t){this.sort!==e&&(this.sort=e,this.columnEventService.dispatchEvent(this.createColumnEvent("sortChanged",t))),this.dispatchStateUpdatedEvent("sort")}isSortable(){return!!this.getColDefValue("sortable")}isSortAscending(){return this.sort==="asc"}isSortDescending(){return this.sort==="desc"}isSortNone(){return K(this.sort)}isSorting(){return M(this.sort)}getSortIndex(){return this.sortIndex}setSortIndex(e){this.sortIndex=e,this.dispatchStateUpdatedEvent("sortIndex")}setMenuVisible(e,t){this.menuVisible!==e&&(this.menuVisible=e,this.columnEventService.dispatchEvent(this.createColumnEvent("menuVisibleChanged",t)))}isMenuVisible(){return this.menuVisible}setAggFunc(e){this.aggFunc=e,this.dispatchStateUpdatedEvent("aggFunc")}getAggFunc(){return this.aggFunc}getLeft(){return this.left}getOldLeft(){return this.oldLeft}getRight(){return this.left+this.actualWidth}setLeft(e,t){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.columnEventService.dispatchEvent(this.createColumnEvent("leftChanged",t)))}isFilterActive(){return this.filterActive}setFilterActive(e,t,i){this.filterActive!==e&&(this.filterActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("filterActiveChanged",t)));let o=this.createColumnEvent("filterChanged",t);i&&Ie(o,i),this.columnEventService.dispatchEvent(o)}isHovered(){return this.columnHoverService.isHovered(this)}setPinned(e){e===!0||e==="left"?this.pinned="left":e==="right"?this.pinned="right":this.pinned=null,this.dispatchStateUpdatedEvent("pinned")}setFirstRightPinned(e,t){this.firstRightPinned!==e&&(this.firstRightPinned=e,this.columnEventService.dispatchEvent(this.createColumnEvent("firstRightPinnedChanged",t)))}setLastLeftPinned(e,t){this.lastLeftPinned!==e&&(this.lastLeftPinned=e,this.columnEventService.dispatchEvent(this.createColumnEvent("lastLeftPinnedChanged",t)))}isFirstRightPinned(){return this.firstRightPinned}isLastLeftPinned(){return this.lastLeftPinned}isPinned(){return this.pinned==="left"||this.pinned==="right"}isPinnedLeft(){return this.pinned==="left"}isPinnedRight(){return this.pinned==="right"}getPinned(){return this.pinned}setVisible(e,t){let i=e===!0;this.visible!==i&&(this.visible=i,this.columnEventService.dispatchEvent(this.createColumnEvent("visibleChanged",t))),this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){return!this.getColDef().suppressSpanHeaderHeight}getColumnGroupPaddingInfo(){let e=this.getParent();if(!e||!e.isPadding())return{numberOfParents:0,isSpanningTotal:!1};let t=e.getPaddingLevel()+1,i=!0;for(;e;){if(!e.isPadding()){i=!1;break}e=e.getParent()}return{numberOfParents:t,isSpanningTotal:i}}getColDef(){return this.colDef}getDefinition(){return this.colDef}getColumnGroupShow(){return this.colDef.columnGroupShow}getColId(){return this.colId}getId(){return this.colId}getUniqueId(){return this.colId}getActualWidth(){return this.actualWidth}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){let t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}createBaseColDefParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,colDef:this.colDef,column:this})}getColSpan(e){if(K(this.colDef.colSpan))return 1;let t=this.createBaseColDefParams(e),i=this.colDef.colSpan(t);return Math.max(i,1)}getRowSpan(e){if(K(this.colDef.rowSpan))return 1;let t=this.createBaseColDefParams(e),i=this.colDef.rowSpan(t);return Math.max(i,1)}setActualWidth(e,t,i=!1){e=Math.max(e,this.minWidth),e=Math.min(e,this.maxWidth),this.actualWidth!==e&&(this.actualWidth=e,this.flex&&t!=="flex"&&t!=="gridInitializing"&&(this.flex=null),i||this.fireColumnWidthChangedEvent(t)),this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent(e){this.columnEventService.dispatchEvent(this.createColumnEvent("widthChanged",e))}isGreaterThanMax(e){return e>this.maxWidth}getMinWidth(){return this.minWidth}getMaxWidth(){return this.maxWidth}getFlex(){return this.flex||0}setFlex(e){this.flex!==e&&(this.flex=e),this.dispatchStateUpdatedEvent("flex")}setMinimum(e){this.setActualWidth(this.minWidth,e)}setRowGroupActive(e,t){this.rowGroupActive!==e&&(this.rowGroupActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnRowGroupChanged",t))),this.dispatchStateUpdatedEvent("rowGroup")}isRowGroupActive(){return this.rowGroupActive}setPivotActive(e,t){this.pivotActive!==e&&(this.pivotActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnPivotChanged",t))),this.dispatchStateUpdatedEvent("pivot")}isPivotActive(){return this.pivotActive}isAnyFunctionActive(){return this.isPivotActive()||this.isRowGroupActive()||this.isValueActive()}isAnyFunctionAllowed(){return this.isAllowPivot()||this.isAllowRowGroup()||this.isAllowValue()}setValueActive(e,t){this.aggregationActive!==e&&(this.aggregationActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnValueChanged",t)))}isValueActive(){return this.aggregationActive}isAllowPivot(){return this.colDef.enablePivot===!0}isAllowValue(){return this.colDef.enableValue===!0}isAllowRowGroup(){return this.colDef.enableRowGroup===!0}dispatchStateUpdatedEvent(e){this.columnEventService.dispatchEvent({type:"columnStateUpdated",key:e})}},tc={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}},ic=class{constructor(){this.existingKeys={}}addExistingKeys(e){for(let t=0;t<e.length;t++)this.existingKeys[e[t]]=!0}getUniqueKey(e,t){e=es(e);let i=0;for(;;){let o;if(e?(o=e,i!==0&&(o+="_"+i)):t?(o=t,i!==0&&(o+="_"+i)):o=i,!this.existingKeys[o])return this.existingKeys[o]=!0,String(o);i++}}},oc=class extends b{constructor(){super(...arguments),this.beanName="columnFactory"}wireBeans(e){this.dataTypeService=e.dataTypeService}createColumnTree(e,t,i,o){let s=new ic,{existingCols:r,existingGroups:n,existingColKeys:a}=this.extractExistingTreeData(i);s.addExistingKeys(a);let l=this.recursivelyCreateColumns(e,0,t,r,s,n,o),c=this.findMaxDept(l,0),d=this.balanceColumnTree(l,0,c,s);return pt(null,d,(h,g)=>{ke(h)&&h.setupExpandable(),h.setOriginalParent(g)}),{columnTree:d,treeDept:c}}extractExistingTreeData(e){let t=[],i=[],o=[];return e&&pt(null,e,s=>{if(ke(s)){let r=s;i.push(r)}else{let r=s;o.push(r.getId()),t.push(r)}}),{existingCols:t,existingGroups:i,existingColKeys:o}}balanceTreeForAutoCols(e,t){let i=[],o=this.findDepth(t);return e.forEach(s=>{let r=s;for(let n=o-1;n>=0;n--){let a=new Zi(null,`FAKE_PATH_${s.getId()}}_${n}`,!0,n);this.createBean(a),a.setChildren([r]),r.setOriginalParent(a),r=a}o===0&&s.setOriginalParent(null),i.push(r)}),[i,o]}findDepth(e){let t=0,i=e;for(;i&&i[0]&&ke(i[0]);)t++,i=i[0].getChildren();return t}balanceColumnTree(e,t,i,o){let s=[];for(let r=0;r<e.length;r++){let n=e[r];if(ke(n)){let a=n,l=this.balanceColumnTree(a.getChildren(),t+1,i,o);a.setChildren(l),s.push(a)}else{let a,l;for(let c=i-1;c>=t;c--){let d=o.getUniqueKey(null,null),u=this.createMergedColGroupDef(null),h=new Zi(u,d,!0,t);this.createBean(h),l&&l.setChildren([h]),l=h,a||(a=l)}if(a&&l)if(s.push(a),e.some(d=>ke(d))){l.setChildren([n]);continue}else{l.setChildren(e);break}s.push(n)}}return s}findMaxDept(e,t){let i=t;for(let o=0;o<e.length;o++){let s=e[o];if(ke(s)){let r=s,n=this.findMaxDept(r.getChildren(),t+1);i<n&&(i=n)}}return i}recursivelyCreateColumns(e,t,i,o,s,r,n){if(!e)return[];let a=new Array(e.length);for(let l=0;l<a.length;l++){let c=e[l];this.isColumnGroup(c)?a[l]=this.createColumnGroup(i,c,t,o,s,r,n):a[l]=this.createColumn(i,c,o,s,n)}return a}createColumnGroup(e,t,i,o,s,r,n){let a=this.createMergedColGroupDef(t),l=s.getUniqueKey(a.groupId||null,null),c=new Zi(a,l,!1,i);this.createBean(c);let d=this.findExistingGroup(t,r);d&&r.splice(d.idx,1);let u=d?.group;u&&c.setExpanded(u.isExpanded());let h=this.recursivelyCreateColumns(a.children,i+1,e,o,s,r,n);return c.setChildren(h),c}createMergedColGroupDef(e){let t={};return Object.assign(t,this.gos.get("defaultColGroupDef")),Object.assign(t,e),t}createColumn(e,t,i,o,s){let r=this.findExistingColumn(t,i);r&&i?.splice(r.idx,1);let n=r?.column;if(n){let a=this.addColumnDefaultAndTypes(t,n.getColId());n.setColDef(a,t,s),this.applyColumnState(n,a,s)}else{let a=o.getUniqueKey(t.colId,t.field),l=this.addColumnDefaultAndTypes(t,a);n=new Es(l,t,a,e),this.createBean(n)}return this.dataTypeService?.addColumnListeners(n),n}applyColumnState(e,t,i){let o=Nt(t.flex);if(o!==void 0&&e.setFlex(o),e.getFlex()<=0){let a=Nt(t.width);if(a!=null)e.setActualWidth(a,i);else{let l=e.getActualWidth();e.setActualWidth(l,i)}}t.sort!==void 0&&(t.sort=="asc"||t.sort=="desc"?e.setSort(t.sort,i):e.setSort(void 0,i));let r=Nt(t.sortIndex);r!==void 0&&e.setSortIndex(r);let n=ts(t.hide);n!==void 0&&e.setVisible(!n,i),t.pinned!==void 0&&e.setPinned(t.pinned)}findExistingColumn(e,t){if(t)for(let i=0;i<t.length;i++){let o=t[i].getUserProvidedColDef();if(!o)continue;if(e.colId!=null){if(t[i].getId()===e.colId)return{idx:i,column:t[i]};continue}if(e.field!=null){if(o.field===e.field)return{idx:i,column:t[i]};continue}if(o===e)return{idx:i,column:t[i]}}}findExistingGroup(e,t){if(e.groupId!=null)for(let o=0;o<t.length;o++){let s=t[o];if(s.getColGroupDef()&&s.getId()===e.groupId)return{idx:o,group:s}}}addColumnDefaultAndTypes(e,t){let i={},o=this.gos.get("defaultColDef");Ie(i,o,!1,!0);let s=this.updateColDefAndGetColumnType(i,e,t);s&&this.assignColumnTypes(s,i),Ie(i,e,!1,!0);let r=this.gos.get("autoGroupColumnDef"),n=Qe(this.gos);return e.rowGroup&&r&&n&&Ie(i,{sort:r.sort,initialSort:r.initialSort},!1,!0),this.dataTypeService?.validateColDef(i),i}updateColDefAndGetColumnType(e,t,i){let o=this.dataTypeService?.updateColDefAndGetColumnType(e,t,i),s=t.type??o??e.type;return e.type=s,s?eo(s):void 0}assignColumnTypes(e,t){if(!e.length)return;let i=Object.assign({},tc),o=this.gos.get("columnTypes")||{};We(o,(s,r)=>{s in i?S(`the column type '${s}' is a default column type and cannot be overridden.`):(r.type&&S("Column type definitions 'columnTypes' with a 'type' attribute are not supported because a column type cannot refer to another column type. Only column definitions 'columnDefs' can use the 'type' attribute to refer to a column type."),i[s]=r)}),e.forEach(s=>{let r=i[s.trim()];r?Ie(t,r,!1,!0):S("colDef.type '"+s+"' does not correspond to defined gridOptions.columnTypes")})}isColumnGroup(e){return e.children!==void 0}};function pt(e,t,i){if(t)for(let o=0;o<t.length;o++){let s=t[o];ke(s)&&pt(s,s.getChildren(),i),i(s,e)}}var sc=class extends b{constructor(){super(...arguments),this.beanName="columnModel",this.pivotMode=!1,this.autoHeightActiveAtLeastOnce=!1,this.ready=!1,this.changeEventsDispatching=!1,this.shouldQueueResizeOperations=!1,this.resizeOperationQueue=[]}wireBeans(e){this.context=e.context,this.ctrlsService=e.ctrlsService,this.columnFactory=e.columnFactory,this.columnSizeService=e.columnSizeService,this.visibleColsService=e.visibleColsService,this.columnViewportService=e.columnViewportService,this.pivotResultColsService=e.pivotResultColsService,this.columnAnimationService=e.columnAnimationService,this.autoColService=e.autoColService,this.controlsColService=e.controlsColService,this.valueCache=e.valueCache,this.columnDefFactory=e.columnDefFactory,this.columnApplyStateService=e.columnApplyStateService,this.columnGroupStateService=e.columnGroupStateService,this.eventDispatcher=e.columnEventDispatcher,this.columnMoveService=e.columnMoveService,this.columnAutosizeService=e.columnAutosizeService,this.funcColsService=e.funcColsService,this.quickFilterService=e.quickFilterService,this.showRowGroupColsService=e.showRowGroupColsService,this.environment=e.environment}postConstruct(){let e=this.gos.get("pivotMode");this.isPivotSettingAllowed(e)&&(this.pivotMode=e),this.addManagedPropertyListeners(["groupDisplayType","treeData","treeDataDisplayType","groupHideOpenParents"],t=>this.refreshAll(It(t.source))),this.addManagedPropertyListener("rowSelection",t=>{this.onSelectionOptionsChanged(t.currentValue,t.previousValue,It(t.source))}),this.addManagedPropertyListener("autoGroupColumnDef",t=>this.onAutoGroupColumnDefChanged(It(t.source))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],t=>this.recreateColumnDefs(It(t.source))),this.addManagedPropertyListener("pivotMode",t=>this.setPivotMode(this.gos.get("pivotMode"),It(t.source))),this.addManagedEventListeners({firstDataRendered:()=>this.onFirstDataRendered()})}createColsFromColDefs(e){let t=this.colDefs?this.columnApplyStateService.compareColumnStatesAndDispatchEvents(e):void 0;this.valueCache.expire();let i=this.colDefCols?.list,o=this.colDefCols?.tree,s=this.columnFactory.createColumnTree(this.colDefs,!0,o,e);Ft(this.context,this.colDefCols?.tree,s.columnTree);let r=s.columnTree,n=s.treeDept,a=Fs(r),l={};a.forEach(c=>l[c.getId()]=c),this.colDefCols={tree:r,treeDepth:n,list:a,map:l},this.funcColsService.extractCols(e,i),this.ready=!0,this.refreshCols(!0),this.visibleColsService.refresh(e),this.columnViewportService.checkViewportColumns(),this.eventDispatcher.everythingChanged(e),t&&(this.changeEventsDispatching=!0,t(),this.changeEventsDispatching=!1),this.eventDispatcher.newColumnsLoaded(e),e==="gridInitializing"&&this.columnSizeService.applyAutosizeStrategy()}refreshCols(e){if(!this.colDefCols)return;let t=this.cols?.tree;this.saveColOrder(),this.selectCols(),this.createAutoCols(),this.addAutoCols(),this.createControlsCols(),this.addControlsCols();let i=Ll(this.gos,this.showingPivotResult);(!e||i)&&this.restoreColOrder(),this.positionLockedCols(),this.showRowGroupColsService?.refresh(),this.quickFilterService?.refreshQuickFilterCols(),this.setColSpanActive(),this.setAutoHeightActive(),this.visibleColsService.clear(),this.columnViewportService.clear(),!Pt(t,this.cols.tree)&&this.eventDispatcher.gridColumns()}selectCols(){let e=this.pivotResultColsService.getPivotResultCols();if(this.showingPivotResult=e!=null,e){let{map:t,list:i,tree:o,treeDepth:s}=e;this.cols={list:i.slice(),map:{...t},tree:o.slice(),treeDepth:s},e.list.some(n=>this.cols?.map[n.getColId()]!==void 0)||(this.lastPivotOrder=null)}else{let{map:t,list:i,tree:o,treeDepth:s}=this.colDefCols;this.cols={list:i.slice(),map:{...t},tree:o.slice(),treeDepth:s}}}getColsToShow(){let e=this.isPivotMode()&&!this.isShowingPivotResult(),t=this.funcColsService.getValueColumns(),i=this.controlsColService?.isControlsColEnabled();return this.cols.list.filter(s=>{let r=Nr(s);if(e){let n=t&&Ht(t,s);return r||n||i&&Pi(s)}else return r||s.isVisible()})}addAutoCols(){this.autoCols!=null&&(this.cols.list=this.autoCols.list.concat(this.cols.list),this.cols.tree=this.autoCols.tree.concat(this.cols.tree),zr(this.cols))}createAutoCols(){let e=bs(this.gos,this.pivotMode),t=this.pivotMode?this.gos.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),i=this.funcColsService.getRowGroupColumns(),s=!(i.length>0||this.gos.get("treeData"))||t||e,r=()=>{this.autoCols&&(Ft(this.context,this.autoCols.tree),this.autoCols=null)};if(s||!this.autoColService){r();return}let n=this.autoColService.createAutoCols(i)??[],a=Vr(n,this.autoCols?.list||null),l=this.cols.treeDepth,d=(this.autoCols?this.autoCols.treeDepth:-1)==l;if(a&&d)return;r();let[u,h]=this.columnFactory.balanceTreeForAutoCols(n,this.cols.tree);this.autoCols={list:n,tree:u,treeDepth:h,map:{}};let g=f=>{if(!f)return null;let m=f.filter(p=>!Nr(p));return[...n,...m]};this.lastOrder=g(this.lastOrder),this.lastPivotOrder=g(this.lastPivotOrder)}createControlsCols(){let e=()=>{Ft(this.context,this.controlsCols?.tree),this.controlsCols=null};this.controlsColService||e();let t=this.cols.treeDepth,o=(this.controlsCols?.treeDepth??-1)==t,s=this.controlsColService?.createControlsCols()??[];if(Vr(s,this.controlsCols?.list??[])&&o)return;e();let[n,a]=this.columnFactory.balanceTreeForAutoCols(s,this.cols.tree);this.controlsCols={list:s,tree:n,treeDepth:a,map:{}};let l=c=>{if(!c)return null;let d=c.filter(u=>!Pi(u));return[...s,...d]};this.lastOrder=l(this.lastOrder),this.lastPivotOrder=l(this.lastPivotOrder)}addControlsCols(){this.controlsCols!=null&&(this.cols.list=this.controlsCols.list.concat(this.cols.list),this.cols.tree=this.controlsCols.tree.concat(this.cols.tree),zr(this.cols))}refreshAll(e){this.isReady()&&(this.refreshCols(!1),this.visibleColsService.refresh(e))}setColsVisible(e,t=!1,i){this.columnApplyStateService.applyColumnState({state:e.map(o=>({colId:typeof o=="string"?o:o.getColId(),hide:!t}))},i)}setColsPinned(e,t,i){if(!this.cols||Ee(e))return;if(Re(this.gos,"print")){S("Changing the column pinning status is not allowed with domLayout='print'");return}this.columnAnimationService.start();let o;t===!0||t==="left"?o="left":t==="right"?o="right":o=null;let s=[];e.forEach(r=>{if(!r)return;let n=this.getCol(r);n&&n.getPinned()!==o&&(n.setPinned(o),s.push(n))}),s.length&&(this.visibleColsService.refresh(i),this.eventDispatcher.columnPinned(s,i)),this.columnAnimationService.finish()}setColumnGroupOpened(e,t,i){let o;ke(e)?o=e.getId():o=e||"",this.columnGroupStateService.setColumnGroupState([{groupId:o,open:t}],i)}getProvidedColGroup(e){let t=null;return pt(null,this.cols?.tree,i=>{ke(i)&&i.getId()===e&&(t=i)}),t}isColGroupLocked(e){let t=this.gos.get("groupLockGroupColumns");if(!e.isRowGroupActive()||t===0)return!1;if(t===-1)return!0;let o=this.funcColsService.getRowGroupColumns().findIndex(s=>s.getColId()===e.getColId());return t>o}isSuppressAutoCol(){return this.gos.get("groupDisplayType")==="custom"?!0:this.gos.get("treeDataDisplayType")==="custom"}setAutoHeightActive(){this.autoHeightActive=this.cols.list.some(e=>e.isVisible()&&e.isAutoHeight()),this.autoHeightActive&&(this.autoHeightActiveAtLeastOnce=!0,de(this.gos)||mt(this.gos)||S("autoHeight columns only work with Client Side Row Model and Server Side Row Model."))}restoreColOrder(){let e=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!e)return;let t=new Map(e.map((l,c)=>[l,c]));if(!this.cols.list.some(l=>t.has(l)))return;let o=new Map(this.cols.list.map(l=>[l,!0])),s=e.filter(l=>o.has(l)),r=new Map(s.map(l=>[l,!0])),n=this.cols.list.filter(l=>!r.has(l)),a=s.slice();n.forEach(l=>{let c=l.getOriginalParent();if(!c){a.push(l);return}let d=[];for(;!d.length&&c;)c.getLeafColumns().forEach(f=>{let m=a.indexOf(f)>=0,p=d.indexOf(f)<0;m&&p&&d.push(f)}),c=c.getOriginalParent();if(!d.length){a.push(l);return}let u=d.map(g=>a.indexOf(g)),h=Math.max(...u);Mi(a,l,h+1)}),this.cols.list=a}sortColsLikeKeys(e){if(this.cols==null)return;let t=[],i={};e.forEach(s=>{if(i[s])return;let r=this.cols.map[s];r&&(t.push(r),i[s]=!0)});let o=0;if(this.cols.list.forEach(s=>{let r=s.getColId();if(i[r]!=null)return;r.startsWith(yo)?Mi(t,s,o++):t.push(s)}),t=this.columnMoveService.placeLockedColumns(t),!this.columnMoveService.doesMovePassMarryChildren(t)){S("Applying column order broke a group where columns should be married together. Applying new order has been discarded.");return}this.cols.list=t}sortColsLikeCols(e){!e||e.length<=1||e.filter(i=>this.cols.list.indexOf(i)<0).length>0||e.sort((i,o)=>{let s=this.cols.list.indexOf(i),r=this.cols.list.indexOf(o);return s-r})}resetColDefIntoCol(e,t){let i=e.getUserProvidedColDef();if(!i)return!1;let o=this.columnFactory.addColumnDefaultAndTypes(i,e.getColId());return e.setColDef(o,i,t),!0}queueResizeOperations(){this.shouldQueueResizeOperations=!0}isShouldQueueResizeOperations(){return this.shouldQueueResizeOperations}processResizeOperations(){this.shouldQueueResizeOperations=!1,this.resizeOperationQueue.forEach(e=>e()),this.resizeOperationQueue=[]}pushResizeOperation(e){this.resizeOperationQueue.push(e)}moveInCols(e,t,i){vn(this.cols?.list,e,t),this.visibleColsService.refresh(i)}positionLockedCols(){this.cols.list=this.columnMoveService.placeLockedColumns(this.cols.list)}saveColOrder(){this.showingPivotResult?this.lastPivotOrder=this.cols?.list:this.lastOrder=this.cols?.list}getColumnDefs(){if(!this.colDefCols)return;let e=this.colDefCols.list.slice();this.showingPivotResult?e.sort((o,s)=>this.lastOrder.indexOf(o)-this.lastOrder.indexOf(s)):this.lastOrder&&e.sort((o,s)=>this.cols.list.indexOf(o)-this.cols.list.indexOf(s));let t=this.funcColsService.getRowGroupColumns(),i=this.funcColsService.getPivotColumns();return this.columnDefFactory.buildColumnDefs(e,t,i)}isShowingPivotResult(){return this.showingPivotResult}isChangeEventsDispatching(){return this.changeEventsDispatching}isColSpanActive(){return this.colSpanActive}isProvidedColGroupsPresent(){return this.colDefCols?.treeDepth>0}setColSpanActive(){this.colSpanActive=this.cols.list.some(e=>e.getColDef().colSpan!=null)}isAutoRowHeightActive(){return this.autoHeightActive}wasAutoRowHeightEverActive(){return this.autoHeightActiveAtLeastOnce}getHeaderRowCount(){return this.cols?this.cols.treeDepth+1:-1}isReady(){return this.ready}isPivotMode(){return this.pivotMode}setPivotMode(e,t){e===this.pivotMode||!this.isPivotSettingAllowed(this.pivotMode)||(this.pivotMode=e,this.ready&&(this.refreshCols(!1),this.visibleColsService.refresh(t),this.eventDispatcher.pivotModeChanged()))}isPivotSettingAllowed(e){return e&&this.gos.get("treeData")?(S("Pivot mode not available with treeData."),!1):!0}isPivotActive(){let e=this.funcColsService.getPivotColumns();return this.pivotMode&&!Ee(e)}recreateColumnDefs(e){this.cols&&(this.autoCols&&this.autoColService.updateAutoCols(this.autoCols.list,e),this.createColsFromColDefs(e))}setColumnDefs(e,t){this.colDefs=e,this.createColsFromColDefs(t)}destroy(){Ft(this.context,this.colDefCols?.tree),Ft(this.context,this.autoCols?.tree),Ft(this.context,this.controlsCols?.tree),super.destroy()}getColTree(){return this.cols.tree}getColDefColTree(){return this.colDefCols.tree}getColDefCols(){return this.colDefCols?.list?this.colDefCols.list:null}getCols(){return this.cols?.list??[]}getAllCols(){let t=this.pivotResultColsService.getPivotResultCols()?.list;return[this.colDefCols?.list??[],this.autoCols?.list??[],this.controlsCols?.list??[],t??[]].flat()}getColsForKeys(e){return e?e.map(t=>this.getCol(t)).filter(t=>t!=null):[]}getColDefCol(e){return this.colDefCols?.list?this.getColFromCollection(e,this.colDefCols):null}getCol(e){return e==null?null:this.getColFromCollection(e,this.cols)}getColFromCollection(e,t){if(t==null)return null;let{map:i,list:o}=t;if(typeof e=="string"&&i[e])return i[e];for(let s=0;s<o.length;s++)if(Br(o[s],e))return o[s];return this.getAutoCol(e)}getAutoCol(e){return this.autoCols?.list.find(t=>Br(t,e))??null}getAutoCols(){return this.autoCols?.list??null}setColHeaderHeight(e,t){e.setAutoHeaderHeight(t)&&(e.isColumn?this.eventDispatcher.headerHeight(e):this.eventDispatcher.groupHeaderHeight(e))}getGroupRowsHeight(){let e=[],t=this.ctrlsService.getHeaderRowContainerCtrls();for(let i of t){if(!i)continue;let o=i.getGroupRowCount()||0;for(let s=0;s<o;s++){let r=i.getGroupRowCtrlAtIndex(s),n=e[s];if(r){let a=this.getColumnGroupHeaderRowHeight(r);(n==null||a>n)&&(e[s]=a)}}}return e}getColumnGroupHeaderRowHeight(e){let t=this.isPivotMode()?this.getPivotGroupHeaderHeight():this.getGroupHeaderHeight(),i=0,o=e.getHeaderCtrls();for(let s of o){let r=s.getColumn();if(r.isAutoHeaderHeight()){let n=r.getAutoHeaderHeight();n!=null&&n>i&&(i=n)}}return Math.max(t,i)}getColumnHeaderRowHeight(){let e=this.isPivotMode()?this.getPivotHeaderHeight():this.getHeaderHeight(),i=this.visibleColsService.getAllCols().filter(o=>o.isAutoHeaderHeight()).map(o=>o.getAutoHeaderHeight()||0);return Math.max(e,...i)}getHeaderHeight(){return this.gos.get("headerHeight")??this.environment.getDefaultHeaderHeight()}getFloatingFiltersHeight(){return this.gos.get("floatingFiltersHeight")??this.getHeaderHeight()}getGroupHeaderHeight(){return this.gos.get("groupHeaderHeight")??this.getHeaderHeight()}getPivotHeaderHeight(){return this.gos.get("pivotHeaderHeight")??this.getHeaderHeight()}getPivotGroupHeaderHeight(){return this.gos.get("pivotGroupHeaderHeight")??this.getGroupHeaderHeight()}onFirstDataRendered(){let e=this.gos.get("autoSizeStrategy");if(e?.type!=="fitCellContents")return;let{colIds:t,skipHeader:i}=e;setTimeout(()=>{t?this.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:i,source:"autosizeColumns"}):this.columnAutosizeService.autoSizeAllColumns("autosizeColumns",i)})}onAutoGroupColumnDefChanged(e){this.autoCols&&this.autoColService.updateAutoCols(this.autoCols.list,e)}onSelectionOptionsChanged(e,t,i){let o=t&&typeof t!="string"?ii(t):void 0,s=e&&typeof e!="string"?ii(e):void 0,r=o!==s,n=t&&typeof t!="string"?ro(t):void 0,a=e&&typeof e!="string"?ro(e):void 0;(r||n!==a)&&this.refreshAll(i)}};function It(e){return e==="gridOptionsUpdated"?"gridOptionsChanged":e}function zr(e){e.map={},e.list.forEach(t=>e.map[t.getId()]=t)}function Br(e,t){let i=e===t,o=e.getColDef()===t,s=e.getColId()==t;return i||o||s}function Vr(e,t){return Pt(e,t,(i,o)=>i.getColId()===o.getColId())}var rc=class extends b{constructor(){super(...arguments),this.beanName="columnAutosizeService",this.timesDelayed=0}wireBeans(e){this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.animationFrameService=e.animationFrameService,this.autoWidthCalculator=e.autoWidthCalculator,this.eventDispatcher=e.columnEventDispatcher,this.ctrlsService=e.ctrlsService,this.renderStatusService=e.renderStatusService}autoSizeCols(e){if(this.columnModel.isShouldQueueResizeOperations()){this.columnModel.pushResizeOperation(()=>this.autoSizeCols(e));return}let{colKeys:t,skipHeader:i,skipHeaderGroups:o,stopAtGroup:s,source:r="api"}=e;if(this.animationFrameService.flushAllFrames(),this.timesDelayed<5&&this.renderStatusService&&!this.renderStatusService.areHeaderCellsRendered()){this.timesDelayed++,setTimeout(()=>this.autoSizeCols(e));return}this.timesDelayed=0;let n=[],a=-1,l=i??this.gos.get("skipHeaderOnAutoSize"),c=o??l;for(;a!==0;){a=0;let d=[];t.forEach(u=>{if(!u)return;let h=this.columnModel.getCol(u);if(!h||n.indexOf(h)>=0)return;let g=this.autoWidthCalculator.getPreferredWidthForColumn(h,l);if(g>0){let f=this.normaliseColumnWidth(h,g);h.setActualWidth(f,r),n.push(h),a++}d.push(h)}),d.length&&this.visibleColsService.refresh(r)}c||this.autoSizeColumnGroupsByColumns(t,r,s),this.eventDispatcher.columnResized(n,!0,"autosizeColumns")}autoSizeColumn(e,t,i){e&&this.autoSizeCols({colKeys:[e],skipHeader:i,skipHeaderGroups:!0,source:t})}autoSizeColumnGroupsByColumns(e,t,i){let o=new Set;this.columnModel.getColsForKeys(e).forEach(a=>{let l=a.getParent();for(;l&&l!=i;)l.isPadding()||o.add(l),l=l.getParent()});let r,n=[];for(let a of o){for(let l of this.ctrlsService.getHeaderRowContainerCtrls())if(r=l.getHeaderCtrlForColumn(a),r)break;r&&r.resizeLeafColumnsToFit(t)}return n}autoSizeAllColumns(e,t){if(this.columnModel.isShouldQueueResizeOperations()){this.columnModel.pushResizeOperation(()=>this.autoSizeAllColumns(e,t));return}let i=this.visibleColsService.getAllCols();this.autoSizeCols({colKeys:i,skipHeader:t,source:e})}normaliseColumnWidth(e,t){let i=e.getMinWidth();t<i&&(t=i);let o=e.getMaxWidth();return e.isGreaterThanMax(t)&&(t=o),t}},nc=class extends b{constructor(){super(...arguments),this.beanName="funcColsService",this.rowGroupCols=[],this.valueCols=[],this.pivotCols=[]}wireBeans(e){this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher,this.aggFuncService=e.aggFuncService,this.visibleColsService=e.visibleColsService}getModifyColumnsNoEventsCallbacks(){return{addGroupCol:e=>this.rowGroupCols.push(e),removeGroupCol:e=>De(this.rowGroupCols,e),addPivotCol:e=>this.pivotCols.push(e),removePivotCol:e=>De(this.pivotCols,e),addValueCol:e=>this.valueCols.push(e),removeValueCol:e=>De(this.valueCols,e)}}getSourceColumnsForGroupColumn(e){let t=e.getColDef().showRowGroup;if(!t)return null;if(t===!0)return this.rowGroupCols.slice(0);let i=this.columnModel.getColDefCol(t);return i?[i]:null}sortRowGroupColumns(e){this.rowGroupCols.sort(e)}sortPivotColumns(e){this.pivotCols.sort(e)}getValueColumns(){return this.valueCols?this.valueCols:[]}getPivotColumns(){return this.pivotCols?this.pivotCols:[]}getRowGroupColumns(){return this.rowGroupCols?this.rowGroupCols:[]}isRowGroupEmpty(){return Ee(this.rowGroupCols)}setColumnAggFunc(e,t,i){if(!e)return;let o=this.columnModel.getColDefCol(e);o&&(o.setAggFunc(t),this.eventDispatcher.columnChanged("columnValueChanged",[o],i))}setRowGroupColumns(e,t){this.setColList(e,this.rowGroupCols,"columnRowGroupChanged",!0,!0,(i,o)=>this.setRowGroupActive(i,o,t),t)}setRowGroupActive(e,t,i){e!==t.isRowGroupActive()&&(t.setRowGroupActive(e,i),e&&!this.gos.get("suppressRowGroupHidesColumns")&&this.columnModel.setColsVisible([t],!1,i),!e&&!this.gos.get("suppressMakeColumnVisibleAfterUnGroup")&&this.columnModel.setColsVisible([t],!0,i))}addRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!0,!0,i=>this.setRowGroupActive(!0,i,t),"columnRowGroupChanged",t)}removeRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!1,!0,i=>this.setRowGroupActive(!1,i,t),"columnRowGroupChanged",t)}addPivotColumns(e,t){this.updateColList(e,this.pivotCols,!0,!1,i=>i.setPivotActive(!0,t),"columnPivotChanged",t)}setPivotColumns(e,t){this.setColList(e,this.pivotCols,"columnPivotChanged",!0,!1,(i,o)=>{o.setPivotActive(i,t)},t)}removePivotColumns(e,t){this.updateColList(e,this.pivotCols,!1,!1,i=>i.setPivotActive(!1,t),"columnPivotChanged",t)}setValueColumns(e,t){this.setColList(e,this.valueCols,"columnValueChanged",!1,!1,(i,o)=>this.setValueActive(i,o,t),t)}setValueActive(e,t,i){if(e!==t.isValueActive()&&(t.setValueActive(e,i),e&&!t.getAggFunc()&&this.aggFuncService)){let o=this.aggFuncService.getDefaultAggFunc(t);t.setAggFunc(o)}}addValueColumns(e,t){this.updateColList(e,this.valueCols,!0,!1,i=>this.setValueActive(!0,i,t),"columnValueChanged",t)}removeValueColumns(e,t){this.updateColList(e,this.valueCols,!1,!1,i=>this.setValueActive(!1,i,t),"columnValueChanged",t)}moveRowGroupColumn(e,t,i){if(this.isRowGroupEmpty())return;let o=this.rowGroupCols[e],s=this.rowGroupCols.slice(e,t);this.rowGroupCols.splice(e,1),this.rowGroupCols.splice(t,0,o),this.eventDispatcher.rowGroupChanged(s,i)}setColList(e,t,i,o,s,r,n){if(!this.columnModel.getCols())return;let a=new Map;t.forEach((c,d)=>a.set(c,d)),t.length=0,M(e)&&e.forEach(c=>{let d=this.columnModel.getColDefCol(c);d&&t.push(d)}),t.forEach((c,d)=>{let u=a.get(c);if(u===void 0){a.set(c,0);return}o&&u!==d||a.delete(c)}),(this.columnModel.getColDefCols()||[]).forEach(c=>{let d=t.indexOf(c)>=0;r(d,c)}),s&&this.columnModel.refreshCols(!1),this.visibleColsService.refresh(n),this.eventDispatcher.columnChanged(i,[...a.keys()],n)}updateColList(e,t,i,o,s,r,n){if(!e||Ee(e))return;let a=!1,l=new Set;e.forEach(c=>{if(!c)return;let d=this.columnModel.getColDefCol(c);if(d){if(l.add(d),i){if(t.indexOf(d)>=0)return;t.push(d)}else{let u=t.indexOf(d);if(u<0)return;for(let h=u+1;h<t.length;h++)l.add(t[h]);De(t,d)}s(d),a=!0}}),a&&(o&&this.columnModel.refreshCols(!1),this.visibleColsService.refresh(n),this.eventDispatcher.genericColumnEvent(r,Array.from(l),n))}extractCols(e,t){this.extractRowGroupCols(e,t),this.extractPivotCols(e,t),this.extractValueCols(e,t)}extractValueCols(e,t){this.valueCols=this.extractColsCommon(t,this.valueCols,(i,o)=>i.setValueActive(o,e),()=>{},()=>{},i=>{let o=i.aggFunc;if(o===null||o==="")return null;if(o!==void 0)return!!o},i=>i.initialAggFunc!=null&&i.initialAggFunc!=""),this.valueCols.forEach(i=>{let o=i.getColDef();o.aggFunc!=null&&o.aggFunc!=""?i.setAggFunc(o.aggFunc):i.getAggFunc()||i.setAggFunc(o.initialAggFunc)})}extractRowGroupCols(e,t){this.rowGroupCols=this.extractColsCommon(t,this.rowGroupCols,(i,o)=>i.setRowGroupActive(o,e),i=>i.rowGroupIndex,i=>i.initialRowGroupIndex,i=>i.rowGroup,i=>i.initialRowGroup)}extractPivotCols(e,t){this.pivotCols=this.extractColsCommon(t,this.pivotCols,(i,o)=>i.setPivotActive(o,e),i=>i.pivotIndex,i=>i.initialPivotIndex,i=>i.pivot,i=>i.initialPivot)}extractColsCommon(e=[],t=[],i,o,s,r,n){let a=[],l=[];(this.columnModel.getColDefCols()||[]).forEach(h=>{let g=e.indexOf(h)<0,f=h.getColDef(),m=ts(r(f)),p=ts(n(f)),v=Nt(o(f)),w=Nt(s(f)),C;m!==void 0?C=m:v!==void 0?v===null?C=!1:C=v>=0:g?p!==void 0?C=p:w!==void 0?C=w!=null&&w>=0:C=!1:C=t.indexOf(h)>=0,C&&((g?v!=null||w!=null:v!=null)?a.push(h):l.push(h))});let d=h=>{let g=o(h.getColDef()),f=s(h.getColDef());return g??f};a.sort((h,g)=>{let f=d(h),m=d(g);return f===m?0:f<m?-1:1});let u=[].concat(a);return t.forEach(h=>{l.indexOf(h)>=0&&u.push(h)}),l.forEach(h=>{u.indexOf(h)<0&&u.push(h)}),t.forEach(h=>{u.indexOf(h)<0&&i(h,!1)}),u.forEach(h=>{t.indexOf(h)<0&&i(h,!0)}),u}generateColumnStateForRowGroupAndPivotIndexes(e,t){let i={},o=(s,r,n,a,l,c)=>{let d=this.columnModel.getColDefCols();if(!r.length||!d)return[];let u=Object.keys(s),h=new Set(u),g=new Set(u),f=new Set(r.map(T=>{let x=T.getColId();return g.delete(x),x}).concat(u)),m=[],p={},v=0;for(let T=0;T<d.length;T++){let x=d[T].getColId();f.has(x)&&(m.push(x),p[x]=v++)}let w=1e3,C=!1,R=0,P=T=>{let x=p[T];for(let A=R;A<x;A++){let L=m[A];g.has(L)&&(s[L][l]=w++,g.delete(L))}R=x};r.forEach(T=>{let x=T.getColId();if(h.has(x))P(x),s[x][l]=w++;else{let A=T.getColDef();(A[l]===null||A[l]===void 0&&A[c]==null)&&(C||(A[n]||A[n]===void 0&&A[a]?P(x):(g.forEach(O=>{s[O][l]=w+p[O]}),w+=m.length,C=!0)),i[x]||(i[x]={colId:x}),i[x][l]=w++)}})};return o(e,this.rowGroupCols,"rowGroup","initialRowGroup","rowGroupIndex","initialRowGroupIndex"),o(t,this.pivotCols,"pivot","initialPivot","pivotIndex","initialPivotIndex"),Object.values(i)}},ac=class extends b{constructor(){super(...arguments),this.beanName="columnApplyStateService"}wireBeans(e){this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher,this.sortController=e.sortController,this.columnGetStateService=e.columnGetStateService,this.funcColsService=e.funcColsService,this.visibleColsService=e.visibleColsService,this.columnAnimationService=e.columnAnimationService,this.pivotResultColsService=e.pivotResultColsService}applyColumnState(e,t){let i=this.columnModel.getColDefCols()||[];if(Ee(i))return!1;if(e&&e.state&&!e.state.forEach)return S("applyColumnState() - the state attribute should be an array, however an array was not found. Please provide an array of items (one for each col you want to change) for state."),!1;let o=this.funcColsService.getModifyColumnsNoEventsCallbacks(),s=(a,l,c)=>{let d=this.compareColumnStatesAndDispatchEvents(t),u=l.slice(),h={},g={},f=[],m=[],p=0,v=this.funcColsService.getRowGroupColumns().slice(),w=this.funcColsService.getPivotColumns().slice();a.forEach(T=>{let x=T.colId||"";if(x.startsWith(yo)){f.push(T),m.push(T);return}let L=c(x);L?(this.syncColumnWithStateItem(L,T,e.defaultState,h,g,!1,t,o),De(u,L)):(m.push(T),p+=1)});let C=T=>this.syncColumnWithStateItem(T,null,e.defaultState,h,g,!1,t,o);u.forEach(C),this.funcColsService.sortRowGroupColumns(Wr.bind(this,h,v)),this.funcColsService.sortPivotColumns(Wr.bind(this,g,w)),this.columnModel.refreshCols(!1);let P=(this.columnModel.getAutoCols()||[]).slice();return f.forEach(T=>{let x=this.columnModel.getAutoCol(T.colId);De(P,x),this.syncColumnWithStateItem(x,T,e.defaultState,null,null,!0,t,o)}),P.forEach(C),this.orderLiveColsLikeState(e),this.visibleColsService.refresh(t),this.eventDispatcher.everythingChanged(t),d(),{unmatchedAndAutoStates:m,unmatchedCount:p}};this.columnAnimationService.start();let{unmatchedAndAutoStates:r,unmatchedCount:n}=s(e.state||[],i,a=>this.columnModel.getColDefCol(a));if(r.length>0||M(e.defaultState)){let l=this.pivotResultColsService.getPivotResultCols()?.list;n=s(r,l||[],c=>this.pivotResultColsService.getPivotResultCol(c)).unmatchedCount}return this.columnAnimationService.finish(),n===0}resetColumnState(e){let t=this.columnModel.getColDefCols();if(Ee(t))return;let i=this.columnModel.getColDefColTree(),o=Fs(i),s=[],r=1e3,n=1e3,a=[],l=this.columnModel.getAutoCols();l&&(a=a.concat(l)),o&&(a=a.concat(o)),a.forEach(c=>{let d=this.getColumnStateFromColDef(c);K(d.rowGroupIndex)&&d.rowGroup&&(d.rowGroupIndex=r++),K(d.pivotIndex)&&d.pivot&&(d.pivotIndex=n++),s.push(d)}),this.applyColumnState({state:s,applyOrder:!0},e)}getColumnStateFromColDef(e){let t=(f,m)=>f??m??null,i=e.getColDef(),o=t(i.sort,i.initialSort),s=t(i.sortIndex,i.initialSortIndex),r=t(i.hide,i.initialHide),n=t(i.pinned,i.initialPinned),a=t(i.width,i.initialWidth),l=t(i.flex,i.initialFlex),c=t(i.rowGroupIndex,i.initialRowGroupIndex),d=t(i.rowGroup,i.initialRowGroup);c==null&&(d==null||d==!1)&&(c=null,d=null);let u=t(i.pivotIndex,i.initialPivotIndex),h=t(i.pivot,i.initialPivot);u==null&&(h==null||h==!1)&&(u=null,h=null);let g=t(i.aggFunc,i.initialAggFunc);return{colId:e.getColId(),sort:o,sortIndex:s,hide:r,pinned:n,width:a,flex:l,rowGroup:d,rowGroupIndex:c,pivot:h,pivotIndex:u,aggFunc:g}}syncColumnWithStateItem(e,t,i,o,s,r,n,a){if(!e)return;let l=(R,P)=>{let T={value1:void 0,value2:void 0},x=!1;return t&&(t[R]!==void 0&&(T.value1=t[R],x=!0),M(P)&&t[P]!==void 0&&(T.value2=t[P],x=!0)),!x&&i&&(i[R]!==void 0&&(T.value1=i[R]),M(P)&&i[P]!==void 0&&(T.value2=i[P])),T},c=l("hide").value1;c!==void 0&&e.setVisible(!c,n);let d=l("pinned").value1;d!==void 0&&e.setPinned(d);let u=e.getColDef().minWidth??this.gos.environment.getDefaultColumnMinWidth(),h=l("flex").value1;if(h!==void 0&&e.setFlex(h),h==null){let R=l("width").value1;R!=null&&u!=null&&R>=u&&e.setActualWidth(R,n)}let g=l("sort").value1;g!==void 0&&(g==="desc"||g==="asc"?e.setSort(g,n):e.setSort(void 0,n));let f=l("sortIndex").value1;if(f!==void 0&&e.setSortIndex(f),r||!e.isPrimary())return;let m=l("aggFunc").value1;m!==void 0&&(typeof m=="string"?(e.setAggFunc(m),e.isValueActive()||(e.setValueActive(!0,n),a.addValueCol(e))):(M(m)&&S("stateItem.aggFunc must be a string. if using your own aggregation functions, register the functions first before using them in get/set state. This is because it is intended for the column state to be stored and retrieved as simple JSON."),e.isValueActive()&&(e.setValueActive(!1,n),a.removeValueCol(e))));let{value1:p,value2:v}=l("rowGroup","rowGroupIndex");(p!==void 0||v!==void 0)&&(typeof v=="number"||p?(e.isRowGroupActive()||(e.setRowGroupActive(!0,n),a.addGroupCol(e)),o&&typeof v=="number"&&(o[e.getId()]=v)):e.isRowGroupActive()&&(e.setRowGroupActive(!1,n),a.removeGroupCol(e)));let{value1:w,value2:C}=l("pivot","pivotIndex");(w!==void 0||C!==void 0)&&(typeof C=="number"||w?(e.isPivotActive()||(e.setPivotActive(!0,n),a.addPivotCol(e)),s&&typeof C=="number"&&(s[e.getId()]=C)):e.isPivotActive()&&(e.setPivotActive(!1,n),a.removePivotCol(e)))}orderLiveColsLikeState(e){if(!e.applyOrder||!e.state)return;let t=[];e.state.forEach(i=>{i.colId!=null&&t.push(i.colId)}),this.columnModel.sortColsLikeKeys(t)}compareColumnStatesAndDispatchEvents(e){let t={rowGroupColumns:this.funcColsService.getRowGroupColumns().slice(),pivotColumns:this.funcColsService.getPivotColumns().slice(),valueColumns:this.funcColsService.getValueColumns().slice()},i=this.columnGetStateService.getColumnState(),o={};return i.forEach(s=>{o[s.colId]=s}),()=>{let s=this.columnModel.getAllCols(),r=(m,p,v,w)=>{let C=p.map(w),R=v.map(w);if(Pt(C,R))return;let T=new Set(p);v.forEach(A=>{T.delete(A)||T.add(A)});let x=[...T];this.eventService.dispatchEvent({type:m,columns:x,column:x.length===1?x[0]:null,source:e})},n=m=>{let p=[];return s.forEach(v=>{let w=o[v.getColId()];w&&m(w,v)&&p.push(v)}),p},a=m=>m.getColId();r("columnRowGroupChanged",t.rowGroupColumns,this.funcColsService.getRowGroupColumns(),a),r("columnPivotChanged",t.pivotColumns,this.funcColsService.getPivotColumns(),a);let c=n((m,p)=>{let v=m.aggFunc!=null,w=v!=p.isValueActive(),C=v&&m.aggFunc!=p.getAggFunc();return w||C});c.length>0&&this.eventDispatcher.columnChanged("columnValueChanged",c,e);let d=(m,p)=>m.width!=p.getActualWidth();this.eventDispatcher.columnResized(n(d),!0,e);let u=(m,p)=>m.pinned!=p.getPinned();this.eventDispatcher.columnPinned(n(u),e);let h=(m,p)=>m.hide==p.isVisible();this.eventDispatcher.columnVisible(n(h),e);let f=n((m,p)=>m.sort!=p.getSort()||m.sortIndex!=p.getSortIndex());f.length>0&&this.sortController.dispatchSortChangedEvents(e,f),this.normaliseColumnMovedEventForColumnState(i,e)}}normaliseColumnMovedEventForColumnState(e,t){let i=this.columnGetStateService.getColumnState(),o={};i.forEach(l=>o[l.colId]=l);let s={};e.forEach(l=>{o[l.colId]&&(s[l.colId]=!0)});let r=e.filter(l=>s[l.colId]),n=i.filter(l=>s[l.colId]),a=[];n.forEach((l,c)=>{let d=r&&r[c];if(d&&d.colId!==l.colId){let u=this.columnModel.getCol(d.colId);u&&a.push(u)}}),a.length&&this.eventDispatcher.columnMoved({movedColumns:a,source:t,finished:!0})}},Wr=(e,t,i,o)=>{let s=e[i.getId()],r=e[o.getId()],n=s!=null,a=r!=null;if(n&&a)return s-r;if(n)return-1;if(a)return 1;let l=t.indexOf(i),c=t.indexOf(o),d=l>=0,u=c>=0;return d&&u?l-c:d?-1:1},lc=class extends b{constructor(){super(...arguments),this.beanName="columnMoveService"}wireBeans(e){this.columnModel=e.columnModel,this.columnAnimationService=e.columnAnimationService,this.eventDispatcher=e.columnEventDispatcher}moveColumnByIndex(e,t,i){let o=this.columnModel.getCols();if(!o)return;let s=o[e];this.moveColumns([s],t,i)}moveColumns(e,t,i,o=!0){let s=this.columnModel.getCols();if(!s)return;if(t>s.length-e.length){S("tried to insert columns in invalid location, toIndex = ",t),S("remember that you should not count the moving columns when calculating the new index");return}this.columnAnimationService.start();let r=this.columnModel.getColsForKeys(e);this.doesMovePassRules(r,t)&&(this.columnModel.moveInCols(r,t,i),this.eventDispatcher.columnMoved({movedColumns:r,source:i,toIndex:t,finished:o})),this.columnAnimationService.finish()}doesMovePassRules(e,t){let i=this.getProposedColumnOrder(e,t);return this.doesOrderPassRules(i)}doesOrderPassRules(e){return!(!this.doesMovePassMarryChildren(e)||!this.doesMovePassLockedPositions(e))}getProposedColumnOrder(e,t){let o=this.columnModel.getCols().slice();return vn(o,e,t),o}doesMovePassLockedPositions(e){let t=r=>r?r==="left"||r===!0?-1:1:0,i=this.gos.get("enableRtl"),o=i?1:-1,s=!0;return e.forEach(r=>{let n=t(r.getColDef().lockPosition);i?n>o&&(s=!1):n<o&&(s=!1),o=n}),s}doesMovePassMarryChildren(e){let t=!0,i=this.columnModel.getColTree();return pt(null,i,o=>{if(!ke(o))return;let s=o,r=s.getColGroupDef();if(!(r&&r.marryChildren))return;let a=[];s.getLeafColumns().forEach(h=>{let g=e.indexOf(h);a.push(g)});let l=Math.max.apply(Math,a),c=Math.min.apply(Math,a),d=l-c,u=s.getLeafColumns().length-1;d>u&&(t=!1)}),t}placeLockedColumns(e){let t=[],i=[],o=[];return e.forEach(r=>{let n=r.getColDef().lockPosition;n==="right"?o.push(r):n==="left"||n===!0?t.push(r):i.push(r)}),this.gos.get("enableRtl")?[...o,...i,...t]:[...t,...i,...o]}},cc=/[&<>"']/g,dc={"&":"&","<":"<",">":">",'"':""","'":"'"};function qe(e,t){if(e==null)return null;let i=e.toString().toString();return t?i:i.replace(cc,o=>dc[o])}function uc(e){if(!e||e==null)return null;let t=/([a-z])([A-Z])/g,i=/([A-Z]+)([A-Z])([a-z])/g;return e.replace(t,"$1 $2").replace(i,"$1 $2$3").replace(/\./g," ").split(" ").map(s=>s.substring(0,1).toUpperCase()+(s.length>1?s.substring(1,s.length):"")).join(" ")}var hc=class extends b{constructor(){super(...arguments),this.beanName="columnNameService"}wireBeans(e){this.expressionService=e.expressionService,this.funcColsService=e.funcColsService,this.columnModel=e.columnModel}getDisplayNameForColumn(e,t,i=!1){if(!e)return null;let o=this.getHeaderName(e.getColDef(),e,null,null,t);return i?this.wrapHeaderNameWithAggFunc(e,o):o}getDisplayNameForProvidedColumnGroup(e,t,i){let o=t?t.getColGroupDef():null;return o?this.getHeaderName(o,null,e,t,i):null}getDisplayNameForColumnGroup(e,t){return this.getDisplayNameForProvidedColumnGroup(e,e.getProvidedColumnGroup(),t)}getHeaderName(e,t,i,o,s){let r=e.headerValueGetter;if(r){let n=this.gos.addGridCommonParams({colDef:e,column:t,columnGroup:i,providedColumnGroup:o,location:s});return typeof r=="function"?r(n):typeof r=="string"?this.expressionService.evaluate(r,n):(S("headerValueGetter must be a function or a string"),"")}else{if(e.headerName!=null)return e.headerName;if(e.field)return uc(e.field)}return""}wrapHeaderNameWithAggFunc(e,t){if(this.gos.get("suppressAggFuncInHeader"))return t;let i=e.getColDef().pivotValueColumn,o=M(i),s=null,r;if(o){let n=this.funcColsService.getValueColumns(),a=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&n.length===1,l=e.getColDef().pivotTotalColumnIds!==void 0;if(a&&!l)return t;s=i?i.getAggFunc():null,r=!0}else{let n=e.isValueActive(),a=this.columnModel.isPivotMode()||!this.funcColsService.isRowGroupEmpty();n&&a?(s=e.getAggFunc(),r=!0):r=!1}if(r){let n=typeof s=="string"?s:"func";return`${this.localeService.getLocaleTextFunc()(n,n)}(${t})`}return t}},gc=class extends b{constructor(){super(...arguments),this.beanName="pivotResultColsService"}wireBeans(e){this.context=e.context,this.columnModel=e.columnModel,this.columnFactory=e.columnFactory,this.visibleColsService=e.visibleColsService}destroy(){Ft(this.context,this.pivotResultCols?.tree),super.destroy()}isPivotResultColsPresent(){return this.pivotResultCols!=null}lookupPivotResultCol(e,t){if(this.pivotResultCols==null)return null;let i=this.columnModel.getColDefCol(t),o=null;return this.pivotResultCols.list.forEach(s=>{let r=s.getColDef().pivotKeys,n=s.getColDef().pivotValueColumn;Pt(r,e)&&n===i&&(o=s)}),o}getPivotResultCols(){return this.pivotResultCols}getPivotResultCol(e){return this.pivotResultCols?this.columnModel.getColFromCollection(e,this.pivotResultCols):null}setPivotResultCols(e,t){if(this.columnModel.isReady()&&!(e==null&&this.pivotResultCols==null)){if(e){this.processPivotResultColDef(e);let i=this.columnFactory.createColumnTree(e,!1,this.pivotResultCols?.tree||this.previousPivotResultCols||void 0,t);Ft(this.context,this.pivotResultCols?.tree,i.columnTree);let o=i.columnTree,s=i.treeDept,r=Fs(o),n={};this.pivotResultCols={tree:o,treeDepth:s,list:r,map:n},this.pivotResultCols.list.forEach(l=>this.pivotResultCols.map[l.getId()]=l);let a=!!this.previousPivotResultCols;this.previousPivotResultCols=null,this.columnModel.refreshCols(!a)}else this.previousPivotResultCols=this.pivotResultCols?this.pivotResultCols.tree:null,this.pivotResultCols=null,this.columnModel.refreshCols(!1);this.visibleColsService.refresh(t)}}processPivotResultColDef(e){let t=this.gos.get("processPivotResultColDef"),i=this.gos.get("processPivotResultColGroupDef");if(!t&&!i)return;let o=s=>{s.forEach(r=>{if(M(r.children)){let a=r;i&&i(a),o(a.children)}else t&&t(r)})};e&&o(e)}},pc=class extends b{constructor(){super(...arguments),this.beanName="columnSizeService"}wireBeans(e){this.columnModel=e.columnModel,this.columnViewportService=e.columnViewportService,this.eventDispatcher=e.columnEventDispatcher,this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService}setColumnWidths(e,t,i,o){let s=[];e.forEach(r=>{let n=this.columnModel.getColDefCol(r.key)||this.columnModel.getCol(r.key);if(!n)return;if(s.push({width:r.newWidth,ratios:[1],columns:[n]}),this.gos.get("colResizeDefault")==="shift"&&(t=!t),t){let l=this.visibleColsService.getColAfter(n);if(!l)return;let c=n.getActualWidth()-r.newWidth,d=l.getActualWidth()+c;s.push({width:d,ratios:[1],columns:[l]})}}),s.length!==0&&this.resizeColumnSets({resizeSets:s,finished:i,source:o})}resizeColumnSets(e){let{resizeSets:t,finished:i,source:o}=e;if(!(!t||t.every(d=>this.checkMinAndMaxWidthsForSet(d)))){if(i){let d=t&&t.length>0?t[0].columns:null;this.eventDispatcher.columnResized(d,i,o)}return}let r=[],n=[];t.forEach(d=>{let{width:u,columns:h,ratios:g}=d,f={},m={};h.forEach(w=>n.push(w));let p=!0,v=0;for(;p;){if(v++,v>1e3){Q("infinite loop in resizeColumnSets");break}p=!1;let w=[],C=0,R=u;h.forEach((T,x)=>{if(m[T.getId()])R-=f[T.getId()];else{w.push(T);let L=g[x];C+=L}});let P=1/C;w.forEach((T,x)=>{let A=x===w.length-1,L;A?L=R:(L=Math.round(g[x]*u*P),R-=L);let k=T.getMinWidth(),O=T.getMaxWidth();L<k?(L=k,m[T.getId()]=!0,p=!0):O>0&&L>O&&(L=O,m[T.getId()]=!0,p=!0),f[T.getId()]=L})}h.forEach(w=>{let C=f[w.getId()];w.getActualWidth()!==C&&(w.setActualWidth(C,o),r.push(w))})});let a=r.length>0,l=[];a&&(l=this.refreshFlexedColumns({resizingCols:n,skipSetLeft:!0}),this.visibleColsService.setLeftValues(o),this.visibleColsService.updateBodyWidths(),this.columnViewportService.checkViewportColumns());let c=n.concat(l);(a||i)&&this.eventDispatcher.columnResized(c,i,o,l)}checkMinAndMaxWidthsForSet(e){let{columns:t,width:i}=e,o=0,s=0,r=!0;t.forEach(l=>{let c=l.getMinWidth();o+=c||0;let d=l.getMaxWidth();d>0?s+=d:r=!1});let n=i>=o,a=!r||i<=s;return n&&a}refreshFlexedColumns(e={}){let t=e.source?e.source:"flex";if(e.viewportWidth!=null&&(this.flexViewportWidth=e.viewportWidth),!this.flexViewportWidth)return[];let i=this.visibleColsService.getCenterCols(),o=-1;if(e.resizingCols){let h=new Set(e.resizingCols);for(let g=i.length-1;g>=0;g--)if(h.has(i[g])){o=g;break}}let s=0,r=[],n=0,a=0;for(let h=0;h<i.length;h++)i[h].getFlex()&&h>o?(r.push(i[h]),a+=i[h].getFlex(),n+=i[h].getMinWidth()):s+=i[h].getActualWidth();if(!r.length)return[];let l=[];s+n>this.flexViewportWidth&&(r.forEach(h=>h.setActualWidth(h.getMinWidth(),t)),l=r,r=[]);let c=[],d;e:for(;;){d=this.flexViewportWidth-s;let h=d/a;for(let g=0;g<r.length;g++){let f=r[g],m=h*f.getFlex(),p=0,v=f.getMinWidth(),w=f.getMaxWidth();if(m<v?p=v:m>w&&(p=w),p){f.setActualWidth(p,t),mn(r,f),a-=f.getFlex(),l.push(f),s+=f.getActualWidth();continue e}c[g]=Math.floor(m)}break}let u=d;return r.forEach((h,g)=>{let f=g<r.length-1?Math.min(c[g],u):Math.max(c[g],u);h.setActualWidth(f,t),l.push(h),u-=c[g]}),e.skipSetLeft||this.visibleColsService.setLeftValues(t),e.updateBodyWidths&&this.visibleColsService.updateBodyWidths(),e.fireResizedEvent&&this.eventDispatcher.columnResized(l,!0,t,r),r}sizeColumnsToFit(e,t="sizeColumnsToFit",i,o){if(this.columnModel.isShouldQueueResizeOperations()){this.columnModel.pushResizeOperation(()=>this.sizeColumnsToFit(e,t,i,o));return}let s={};o&&o?.columnLimits?.forEach(({key:h,...g})=>{s[typeof h=="string"?h:h.getColId()]=g});let r=this.visibleColsService.getAllCols(),n=e===ct(r);if(e<=0||!r.length||n)return;let a=[],l=[];r.forEach(h=>{h.getColDef().suppressSizeToFit===!0?l.push(h):a.push(h)});let c=a.slice(0),d=!1,u=h=>{De(a,h),l.push(h)};for(a.forEach(h=>{h.resetActualWidth(t);let g=s?.[h.getId()],f=g?.minWidth??o?.defaultMinWidth,m=g?.maxWidth??o?.defaultMaxWidth,p=h.getActualWidth();typeof f=="number"&&p<f?h.setActualWidth(f,t,!0):typeof m=="number"&&p>m&&h.setActualWidth(m,t,!0)});!d;){d=!0;let h=e-ct(l);if(h<=0)a.forEach(g=>{let f=s?.[g.getId()]?.minWidth??o?.defaultMinWidth;if(typeof f=="number"){g.setActualWidth(f,t,!0);return}g.setMinimum(t)});else{let g=h/ct(a),f=h;for(let m=a.length-1;m>=0;m--){let p=a[m],v=s?.[p.getId()],w=v?.minWidth??o?.defaultMinWidth,C=v?.maxWidth??o?.defaultMaxWidth,R=p.getMinWidth(),P=p.getMaxWidth(),T=typeof w=="number"&&w>R?w:R,x=typeof C=="number"&&C<P?C:P,A=Math.round(p.getActualWidth()*g);A<T?(A=T,u(p),d=!1):A>x?(A=x,u(p),d=!1):m===0&&(A=f),p.setActualWidth(A,t,!0),f-=A}}}c.forEach(h=>{h.fireColumnWidthChangedEvent(t)}),this.visibleColsService.setLeftValues(t),this.visibleColsService.updateBodyWidths(),!i&&this.eventDispatcher.columnResized(c,!0,t)}applyAutosizeStrategy(){let e=this.gos.get("autoSizeStrategy");if(!e)return;let{type:t}=e;setTimeout(()=>{if(t==="fitGridWidth"){let{columnLimits:i,defaultMinWidth:o,defaultMaxWidth:s}=e,r=i?.map(({colId:n,minWidth:a,maxWidth:l})=>({key:n,minWidth:a,maxWidth:l}));this.ctrlsService.getGridBodyCtrl().sizeColumnsToFit({defaultMinWidth:o,defaultMaxWidth:s,columnLimits:r})}else t==="fitProvidedWidth"&&this.sizeColumnsToFit(e.width,"sizeColumnsToFit")})}};function Sn(e,t){return e+"_"+t}function Se(e){return e instanceof Rn}var Rn=class extends b{constructor(e,t,i,o){super(),this.isColumn=!1,this.displayedChildren=[],this.autoHeaderHeight=null,this.parent=null,this.groupId=t,this.partId=i,this.providedColumnGroup=e,this.pinned=o}reset(){this.parent=null,this.children=null,this.displayedChildren=null}getParent(){return this.parent}setParent(e){this.parent=e}getUniqueId(){return Sn(this.groupId,this.partId)}isEmptyGroup(){return this.displayedChildren.length===0}isMoving(){let e=this.getProvidedColumnGroup().getLeafColumns();return!e||e.length===0?!1:e.every(t=>t.isMoving())}checkLeft(){if(this.displayedChildren.forEach(e=>{Se(e)&&e.checkLeft()}),this.displayedChildren.length>0)if(this.gos.get("enableRtl")){let t=$(this.displayedChildren).getLeft();this.setLeft(t)}else{let e=this.displayedChildren[0].getLeft();this.setLeft(e)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft(e){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchLocalEvent({type:"leftChanged"}))}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let e=0;return this.displayedChildren&&this.displayedChildren.forEach(t=>{e+=t.getActualWidth()}),e}isResizable(){if(!this.displayedChildren)return!1;let e=!1;return this.displayedChildren.forEach(t=>{t.isResizable()&&(e=!0)}),e}getMinWidth(){let e=0;return this.displayedChildren.forEach(t=>{e+=t.getMinWidth()}),e}addChild(e){this.children||(this.children=[]),this.children.push(e)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){let e=[];return this.addLeafColumns(e),e}getDisplayedLeafColumns(){let e=[];return this.addDisplayedLeafColumns(e),e}getDefinition(){return this.providedColumnGroup.getColGroupDef()}getColGroupDef(){return this.providedColumnGroup.getColGroupDef()}isPadding(){return this.providedColumnGroup.isPadding()}isExpandable(){return this.providedColumnGroup.isExpandable()}isExpanded(){return this.providedColumnGroup.isExpanded()}setExpanded(e){this.providedColumnGroup.setExpanded(e)}isAutoHeaderHeight(){return!!this.getColGroupDef()?.autoHeaderHeight}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){let t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}addDisplayedLeafColumns(e){this.displayedChildren.forEach(t=>{Et(t)?e.push(t):Se(t)&&t.addDisplayedLeafColumns(e)})}addLeafColumns(e){this.children.forEach(t=>{Et(t)?e.push(t):Se(t)&&t.addLeafColumns(e)})}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){let e=this.getParent();return!this.isPadding()||!e||!e.isPadding()?0:1+e.getPaddingLevel()}calculateDisplayedColumns(){this.displayedChildren=[];let e=this;for(;e!=null&&e.isPadding();)e=e.getParent();if(!(e?e.getProvidedColumnGroup().isExpandable():!1)){this.displayedChildren=this.children,this.dispatchLocalEvent({type:"displayedChildrenChanged"});return}this.children.forEach(i=>{if(Se(i)&&(!i.displayedChildren||!i.displayedChildren.length))return;switch(i.getColumnGroupShow()){case"open":e.getProvidedColumnGroup().isExpanded()&&this.displayedChildren.push(i);break;case"closed":e.getProvidedColumnGroup().isExpanded()||this.displayedChildren.push(i);break;default:this.displayedChildren.push(i);break}}),this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},fc=class{constructor(){this.existingIds={}}getInstanceIdForKey(e){let t=this.existingIds[e],i;return typeof t!="number"?i=0:i=t+1,this.existingIds[e]=i,i}},mc=class extends b{constructor(){super(...arguments),this.beanName="visibleColsService",this.colsAndGroupsMap={},this.columnsLeft=[],this.columnsRight=[],this.columnsCenter=[],this.columns=[],this.bodyWidth=0,this.leftWidth=0,this.rightWidth=0,this.bodyWidthDirty=!0}wireBeans(e){this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.columnViewportService=e.columnViewportService,this.eventDispatcher=e.columnEventDispatcher}refresh(e,t=!1){t||this.buildTrees(),this.updateOpenClosedVisibilityInColumnGroups(),this.columnsLeft=Uo(this.treeLeft),this.columnsCenter=Uo(this.treeCenter),this.columnsRight=Uo(this.treeRight),this.joinColsAriaOrder(),this.joinCols(),this.setLeftValues(e),this.autoHeightCols=this.columns.filter(i=>i.isAutoHeight()),this.columnSizeService.refreshFlexedColumns(),this.updateBodyWidths(),this.columnViewportService.checkViewportColumns(!1),this.setFirstRightAndLastLeftPinned(e),this.eventDispatcher.visibleCols(e)}updateBodyWidths(){let e=ct(this.columnsCenter),t=ct(this.columnsLeft),i=ct(this.columnsRight);this.bodyWidthDirty=this.bodyWidth!==e,(this.bodyWidth!==e||this.leftWidth!==t||this.rightWidth!==i)&&(this.bodyWidth=e,this.leftWidth=t,this.rightWidth=i,this.eventService.dispatchEvent({type:"columnContainerWidthChanged"}),this.eventService.dispatchEvent({type:"displayedColumnsWidthChanged"}))}setLeftValues(e){this.setLeftValuesOfCols(e),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned(e){let t,i;this.gos.get("enableRtl")?(t=this.columnsLeft?this.columnsLeft[0]:null,i=this.columnsRight?$(this.columnsRight):null):(t=this.columnsLeft?$(this.columnsLeft):null,i=this.columnsRight?this.columnsRight[0]:null),this.columnModel.getCols().forEach(o=>{o.setLastLeftPinned(o===t,e),o.setFirstRightPinned(o===i,e)})}buildTrees(){let e=this.columnModel.getColsToShow(),t=e.filter(r=>r.getPinned()=="left"),i=e.filter(r=>r.getPinned()=="right"),o=e.filter(r=>r.getPinned()!="left"&&r.getPinned()!="right"),s=new fc;this.treeLeft=this.createGroups({columns:t,idCreator:s,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=this.createGroups({columns:i,idCreator:s,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=this.createGroups({columns:o,idCreator:s,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.columnsLeft=[],this.columnsRight=[],this.columnsCenter=[],this.columns=[],this.ariaOrderColumns=[]}joinColsAriaOrder(){let e=this.columnModel.getCols(),t=[],i=[],o=[];for(let s of e){let r=s.getPinned();r?r===!0||r==="left"?t.push(s):o.push(s):i.push(s)}this.ariaOrderColumns=t.concat(i).concat(o)}getAriaColIndex(e){let t;return Se(e)?t=e.getLeafColumns()[0]:t=e,this.ariaOrderColumns.indexOf(t)+1}getAllAutoHeightCols(){return this.autoHeightCols}setLeftValuesOfGroups(){[this.treeLeft,this.treeRight,this.treeCenter].forEach(e=>{e.forEach(t=>{Se(t)&&t.checkLeft()})})}setLeftValuesOfCols(e){if(!this.columnModel.getColDefCols())return;let i=this.columnModel.getCols().slice(0),o=this.gos.get("enableRtl");[this.columnsLeft,this.columnsRight,this.columnsCenter].forEach(s=>{if(o){let r=ct(s);s.forEach(n=>{r-=n.getActualWidth(),n.setLeft(r,e)})}else{let r=0;s.forEach(n=>{n.setLeft(r,e),r+=n.getActualWidth()})}_l(i,s)}),i.forEach(s=>{s.setLeft(null,e)})}joinCols(){this.gos.get("enableRtl")?this.columns=this.columnsRight.concat(this.columnsCenter).concat(this.columnsLeft):this.columns=this.columnsLeft.concat(this.columnsCenter).concat(this.columnsRight)}getColsCenter(){return this.columnsCenter}getAllTrees(){return this.treeLeft&&this.treeRight&&this.treeCenter?this.treeLeft.concat(this.treeCenter).concat(this.treeRight):null}getTreeLeft(){return this.treeLeft}getTreeRight(){return this.treeRight}getTreeCenter(){return this.treeCenter}getAllCols(){return this.columns}isColDisplayed(e){return this.getAllCols().indexOf(e)>=0}getLeftColsForRow(e){return this.columnModel.isColSpanActive()?this.getColsForRow(e,this.columnsLeft):this.columnsLeft}getRightColsForRow(e){return this.columnModel.isColSpanActive()?this.getColsForRow(e,this.columnsRight):this.columnsRight}getColsForRow(e,t,i,o){let s=[],r=null;for(let n=0;n<t.length;n++){let a=t[n],l=t.length-n,c=Math.min(a.getColSpan(e),l),d=[a];if(c>1){let h=c-1;for(let g=1;g<=h;g++)d.push(t[n+g]);n+=h}let u;i?(u=!1,d.forEach(h=>{i(h)&&(u=!0)})):u=!0,u&&(s.length===0&&r&&o&&o(a)&&s.push(r),s.push(a)),r=a}return s}getBodyContainerWidth(){return this.bodyWidth}getContainerWidth(e){switch(e){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getCenterCols(){return this.columnsCenter}getLeftCols(){return this.columnsLeft}getRightCols(){return this.columnsRight}getColBefore(e){let t=this.getAllCols(),i=t.indexOf(e);return i>0?t[i-1]:null}getGroupAtDirection(e,t){let i=e.getProvidedColumnGroup().getLevel()+e.getPaddingLevel(),o=e.getDisplayedLeafColumns(),s=t==="After"?$(o):o[0],r=`getCol${t}`;for(;;){let n=this[r](s);if(!n)return null;let a=this.getColGroupAtLevel(n,i);if(a!==e)return a}}getColGroupAtLevel(e,t){let i=e.getParent(),o,s;for(;o=i.getProvidedColumnGroup().getLevel(),s=i.getPaddingLevel(),!(o+s<=t);)i=i.getParent();return i}isPinningLeft(){return this.columnsLeft.length>0}isPinningRight(){return this.columnsRight.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};let e=t=>{this.colsAndGroupsMap[t.getUniqueId()]=t};Lt(this.treeCenter,!1,e),Lt(this.treeLeft,!1,e),Lt(this.treeRight,!1,e)}isVisible(e){return this.colsAndGroupsMap[e.getUniqueId()]===e}updateOpenClosedVisibilityInColumnGroups(){let e=this.getAllTrees();Lt(e,!1,t=>{Se(t)&&t.calculateDisplayedColumns()})}getFirstColumn(){let e=this.gos.get("enableRtl"),t=["getLeftCols","getCenterCols","getRightCols"];e&&t.reverse();for(let i=0;i<t.length;i++){let o=this[t[i]]();if(o.length)return e?$(o):o[0]}return null}getColumnGroup(e,t){if(!e)return null;if(Se(e))return e;let i=this.getAllTrees(),o=typeof t=="number",s=null;return Lt(i,!1,r=>{if(Se(r)){let n=r,a;o?a=e===n.getGroupId()&&t===n.getPartId():a=e===n.getGroupId(),a&&(s=n)}}),s}getColAfter(e){let t=this.getAllCols(),i=t.indexOf(e);return i<t.length-1?t[i+1]:null}isBodyWidthDirty(){return this.bodyWidthDirty}setBodyWidthDirty(){this.bodyWidthDirty=!0}getColsLeftWidth(){return ct(this.columnsLeft)}getDisplayedColumnsRightWidth(){return ct(this.columnsRight)}isColAtEdge(e,t){let i=this.getAllCols();if(!i.length)return!1;let o=t==="first",s;if(Se(e)){let r=e.getDisplayedLeafColumns();if(!r.length)return!1;s=o?r[0]:$(r)}else s=e;return(o?i[0]:$(i))===s}createGroups(e){let{columns:t,idCreator:i,pinned:o,oldDisplayedGroups:s,isStandaloneStructure:r}=e,n=this.mapOldGroupsById(s),a=[],l=t;for(;l.length;){let c=l;l=[];let d=0,u=h=>{let g=d;d=h;let f=c[g],p=(Se(f)?f.getProvidedColumnGroup():f).getOriginalParent();if(p==null){for(let w=g;w<h;w++)a.push(c[w]);return}let v=this.createColGroup(p,i,n,o,r);for(let w=g;w<h;w++)v.addChild(c[w]);l.push(v)};for(let h=1;h<c.length;h++){let g=c[h],m=(Se(g)?g.getProvidedColumnGroup():g).getOriginalParent(),p=c[d],w=(Se(p)?p.getProvidedColumnGroup():p).getOriginalParent();m!==w&&u(h)}d<c.length&&u(c.length)}return r||this.setupParentsIntoCols(a,null),a}createColGroup(e,t,i,o,s){let r=e.getGroupId(),n=t.getInstanceIdForKey(r),a=Sn(r,n),l=i[a];return l&&l.getProvidedColumnGroup()!==e&&(l=null),M(l)?l.reset():(l=new Rn(e,r,n,o),s||this.createBean(l)),l}mapOldGroupsById(e){let t={},i=o=>{o.forEach(s=>{if(Se(s)){let r=s;t[s.getUniqueId()]=r,i(r.getChildren())}})};return e&&i(e),t}setupParentsIntoCols(e,t){e.forEach(i=>{if(i.setParent(t),Se(i)){let o=i;this.setupParentsIntoCols(o.getChildren(),o)}})}};function Lt(e,t,i){if(e)for(let o=0;o<e.length;o++){let s=e[o];if(Se(s)){let r=t?s.getDisplayedChildren():s.getChildren();Lt(r,t,i)}i(s)}}function Uo(e){let t=[];return Lt(e,!0,i=>{Et(i)&&t.push(i)}),t}var Fn=["columnEverythingChanged","newColumnsLoaded","columnPivotModeChanged","pivotMaxColumnsExceeded","columnRowGroupChanged","expandOrCollapseAll","columnPivotChanged","gridColumnsChanged","columnValueChanged","columnMoved","columnVisible","columnPinned","columnGroupOpened","columnResized","displayedColumnsChanged","virtualColumnsChanged","columnHeaderMouseOver","columnHeaderMouseLeave","columnHeaderClicked","columnHeaderContextMenu","asyncTransactionsFlushed","rowGroupOpened","rowDataUpdated","pinnedRowDataChanged","rangeSelectionChanged","cellSelectionChanged","chartCreated","chartRangeSelectionChanged","chartOptionsChanged","chartDestroyed","toolPanelVisibleChanged","toolPanelSizeChanged","modelUpdated","cutStart","cutEnd","pasteStart","pasteEnd","fillStart","fillEnd","cellSelectionDeleteStart","cellSelectionDeleteEnd","rangeDeleteStart","rangeDeleteEnd","undoStarted","undoEnded","redoStarted","redoEnded","cellClicked","cellDoubleClicked","cellMouseDown","cellContextMenu","cellValueChanged","cellEditRequest","rowValueChanged","headerFocused","cellFocused","rowSelected","selectionChanged","tooltipShow","tooltipHide","cellKeyDown","cellMouseOver","cellMouseOut","filterChanged","filterModified","filterOpened","advancedFilterBuilderVisibleChanged","sortChanged","virtualRowRemoved","rowClicked","rowDoubleClicked","gridReady","gridPreDestroyed","gridSizeChanged","viewportChanged","firstDataRendered","dragStarted","dragStopped","dragCancelled","rowEditingStarted","rowEditingStopped","cellEditingStarted","cellEditingStopped","bodyScroll","bodyScrollEnd","paginationChanged","componentStateChanged","storeRefreshed","stateUpdated","columnMenuVisibleChanged","contextMenuVisibleChanged","rowDragEnter","rowDragMove","rowDragLeave","rowDragEnd","rowDragCancel"],vc=["scrollbarWidthChanged","keyShortcutChangedCellStart","keyShortcutChangedCellEnd","pinnedHeightChanged","cellFocusCleared","fullWidthRowFocused","checkboxChanged","heightScaleChanged","suppressMovableColumns","suppressMenuHide","suppressFieldDotNotation","columnPanelItemDragStart","columnPanelItemDragEnd","bodyHeightChanged","columnContainerWidthChanged","displayedColumnsWidthChanged","scrollVisibilityChanged","scrollGapChanged","columnHoverChanged","flashCells","paginationPixelOffsetChanged","displayedRowsChanged","leftPinnedWidthChanged","rightPinnedWidthChanged","rowContainerHeightChanged","headerHeightChanged","columnGroupHeaderHeightChanged","columnHeaderHeightChanged","gridStylesChanged","storeUpdated","filterDestroyed","rowDataUpdateStarted","rowCountReady","advancedFilterEnabledChanged","dataTypesInferred","fieldValueChanged","fieldPickerValueSelected","richSelectListRowSelected","sideBarUpdated","alignedGridScroll","alignedGridColumn","gridOptionsChanged","chartTitleEdit","recalculateRowBounds","stickyTopOffsetChanged","overlayExclusiveChanged"],Cc=[...Fn,...vc],wc={enableBrowserTooltips:!0,tooltipTrigger:!0,tooltipMouseTrack:!0,tooltipShowMode:!0,tooltipInteraction:!0,defaultColGroupDef:!0,suppressAutoSize:!0,skipHeaderOnAutoSize:!0,autoSizeStrategy:!0,components:!0,stopEditingWhenCellsLoseFocus:!0,undoRedoCellEditing:!0,undoRedoCellEditingLimit:!0,excelStyles:!0,cacheQuickFilter:!0,advancedFilterModel:!0,customChartThemes:!0,chartThemeOverrides:!0,chartToolPanelsDef:!0,loadingCellRendererSelector:!0,localeText:!0,keepDetailRows:!0,keepDetailRowsCount:!0,detailRowHeight:!0,detailRowAutoHeight:!0,tabIndex:!0,valueCache:!0,valueCacheNeverExpires:!0,enableCellExpressions:!0,suppressTouch:!0,suppressAsyncEvents:!0,suppressBrowserResizeObserver:!0,suppressPropertyNamesCheck:!0,debug:!0,dragAndDropImageComponent:!0,loadingOverlayComponent:!0,suppressLoadingOverlay:!0,noRowsOverlayComponent:!0,paginationPageSizeSelector:!0,paginateChildRows:!0,pivotPanelShow:!0,pivotSuppressAutoColumn:!0,suppressExpandablePivotGroups:!0,aggFuncs:!0,suppressAggFuncInHeader:!0,allowShowChangeAfterFilter:!0,ensureDomOrder:!0,enableRtl:!0,suppressColumnVirtualisation:!0,suppressMaxRenderedRowRestriction:!0,suppressRowVirtualisation:!0,rowDragText:!0,suppressGroupMaintainValueType:!0,groupLockGroupColumns:!0,rowGroupPanelSuppressSort:!0,suppressGroupRowsSticky:!0,rowModelType:!0,cacheOverflowSize:!0,infiniteInitialRowCount:!0,serverSideInitialRowCount:!0,suppressServerSideInfiniteScroll:!0,maxBlocksInCache:!0,maxConcurrentDatasourceRequests:!0,blockLoadDebounceMillis:!0,serverSideOnlyRefreshFilteredGroups:!0,serverSidePivotResultFieldSeparator:!0,viewportRowModelPageSize:!0,viewportRowModelBufferSize:!0,debounceVerticalScrollbar:!0,suppressAnimationFrame:!0,suppressPreventDefaultOnMouseWheel:!0,scrollbarWidth:!0,icons:!0,suppressRowTransform:!0,gridId:!0,enableGroupEdit:!0,initialState:!0,processUnpinnedColumns:!0,createChartContainer:!0,getLocaleText:!0,getRowId:!0,reactiveCustomComponents:!0,columnMenu:!0,suppressSetFilterByDefault:!0},Fe=class{};Fe.STRING_PROPERTIES=["overlayLoadingTemplate","overlayNoRowsTemplate","gridId","quickFilterText","rowModelType","editType","domLayout","clipboardDelimiter","rowGroupPanelShow","multiSortKey","pivotColumnGroupTotals","pivotRowTotals","pivotPanelShow","fillHandleDirection","groupDisplayType","treeDataDisplayType","colResizeDefault","tooltipTrigger","serverSidePivotResultFieldSeparator","columnMenu","tooltipShowMode","grandTotalRow"];Fe.OBJECT_PROPERTIES=["components","rowStyle","context","autoGroupColumnDef","localeText","icons","datasource","dragAndDropImageComponentParams","serverSideDatasource","viewportDatasource","groupRowRendererParams","aggFuncs","fullWidthCellRendererParams","defaultColGroupDef","defaultColDef","defaultCsvExportParams","defaultExcelExportParams","columnTypes","rowClassRules","detailCellRendererParams","loadingCellRendererParams","loadingOverlayComponentParams","noRowsOverlayComponentParams","popupParent","statusBar","sideBar","theme","chartThemeOverrides","customChartThemes","chartToolPanelsDef","dataTypeDefinitions","advancedFilterModel","advancedFilterParent","advancedFilterBuilderParams","initialState","autoSizeStrategy","cellSelection","selectionColumnDef"];Fe.ARRAY_PROPERTIES=["sortingOrder","alignedGrids","rowData","columnDefs","excelStyles","pinnedTopRowData","pinnedBottomRowData","chartThemes","rowClass","paginationPageSizeSelector"];Fe.NUMBER_PROPERTIES=["rowHeight","detailRowHeight","rowBuffer","headerHeight","groupHeaderHeight","groupLockGroupColumns","floatingFiltersHeight","pivotHeaderHeight","pivotGroupHeaderHeight","groupDefaultExpanded","pivotDefaultExpanded","viewportRowModelPageSize","viewportRowModelBufferSize","autoSizePadding","maxBlocksInCache","maxConcurrentDatasourceRequests","tooltipShowDelay","tooltipHideDelay","cacheOverflowSize","paginationPageSize","cacheBlockSize","infiniteInitialRowCount","serverSideInitialRowCount","scrollbarWidth","asyncTransactionWaitMillis","blockLoadDebounceMillis","keepDetailRowsCount","undoRedoCellEditingLimit","cellFlashDelay","cellFadeDelay","cellFlashDuration","cellFadeDuration","tabIndex","pivotMaxGeneratedColumns"];Fe.BOOLEAN_PROPERTIES=["suppressMakeColumnVisibleAfterUnGroup","suppressRowClickSelection","suppressCellFocus","suppressHeaderFocus","suppressHorizontalScroll","groupSelectsChildren","alwaysShowHorizontalScroll","alwaysShowVerticalScroll","debug","enableBrowserTooltips","enableCellExpressions","groupIncludeTotalFooter","groupSuppressBlankHeader","suppressMenuHide","suppressRowDeselection","unSortIcon","suppressMultiSort","alwaysMultiSort","singleClickEdit","suppressLoadingOverlay","suppressNoRowsOverlay","suppressAutoSize","skipHeaderOnAutoSize","suppressColumnMoveAnimation","suppressMoveWhenColumnDragging","suppressMovableColumns","suppressFieldDotNotation","enableRangeSelection","enableRangeHandle","enableFillHandle","suppressClearOnFillReduction","deltaSort","suppressTouch","suppressAsyncEvents","allowContextMenuWithControlKey","suppressContextMenu","enableCellChangeFlash","suppressDragLeaveHidesColumns","suppressRowGroupHidesColumns","suppressMiddleClickScrolls","suppressPreventDefaultOnMouseWheel","suppressCopyRowsToClipboard","copyHeadersToClipboard","copyGroupHeadersToClipboard","pivotMode","suppressAggFuncInHeader","suppressColumnVirtualisation","alwaysAggregateAtRootLevel","suppressFocusAfterRefresh","functionsReadOnly","animateRows","groupSelectsFiltered","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","enableRtl","suppressClickEdit","rowDragEntireRow","rowDragManaged","suppressRowDrag","suppressMoveWhenRowDragging","rowDragMultiRow","enableGroupEdit","embedFullWidthRows","suppressPaginationPanel","groupHideOpenParents","groupAllowUnbalanced","pagination","paginationAutoPageSize","suppressScrollOnNewData","suppressScrollWhenPopupsAreOpen","purgeClosedRowNodes","cacheQuickFilter","includeHiddenColumnsInQuickFilter","ensureDomOrder","accentedSort","suppressChangeDetection","valueCache","valueCacheNeverExpires","aggregateOnlyChangedColumns","suppressAnimationFrame","suppressExcelExport","suppressCsvExport","includeHiddenColumnsInAdvancedFilter","suppressMultiRangeSelection","enterNavigatesVerticallyAfterEdit","enterNavigatesVertically","suppressPropertyNamesCheck","rowMultiSelectWithClick","suppressRowHoverHighlight","suppressRowTransform","suppressClipboardPaste","suppressLastEmptyLineOnPaste","enableCharts","suppressMaintainUnsortedOrder","enableCellTextSelection","suppressBrowserResizeObserver","suppressMaxRenderedRowRestriction","excludeChildrenWhenTreeDataFiltering","tooltipMouseTrack","tooltipInteraction","keepDetailRows","paginateChildRows","preventDefaultOnContextMenu","undoRedoCellEditing","allowDragFromColumnsToolPanel","pivotSuppressAutoColumn","suppressExpandablePivotGroups","debounceVerticalScrollbar","detailRowAutoHeight","serverSideSortAllLevels","serverSideEnableClientSideSort","serverSideOnlyRefreshFilteredGroups","serverSideSortOnServer","serverSideFilterOnServer","suppressAggFilteredOnly","showOpenedGroup","suppressClipboardApi","suppressModelUpdateAfterUpdateTransaction","stopEditingWhenCellsLoseFocus","groupMaintainOrder","columnHoverHighlight","readOnlyEdit","suppressRowVirtualisation","enableCellEditingOnBackspace","resetRowDataOnUpdate","removePivotHeaderRowWhenSingleValueColumn","suppressCopySingleCellRanges","suppressGroupRowsSticky","suppressCutToClipboard","suppressServerSideInfiniteScroll","rowGroupPanelSuppressSort","allowShowChangeAfterFilter","enableAdvancedFilter","masterDetail","treeData","suppressGroupMaintainValueType","reactiveCustomComponents","applyQuickFilterBeforePivotOrAgg","suppressServerSideFullWidthLoadingRow","suppressAdvancedFilterEval","loading","maintainColumnOrder","enableStrictPivotColumnOrder","suppressSetFilterByDefault"];Fe.OTHER_PROPERTIES=["suppressStickyTotalRow","loadThemeGoogleFonts","rowSelection"];Fe.FUNCTION_PROPERTIES=["doesExternalFilterPass","processPivotResultColDef","processPivotResultColGroupDef","getBusinessKeyForNode","isRowSelectable","rowDragText","groupRowRenderer","dragAndDropImageComponent","fullWidthCellRenderer","loadingCellRenderer","loadingOverlayComponent","noRowsOverlayComponent","detailCellRenderer","quickFilterParser","quickFilterMatcher","getLocaleText","isExternalFilterPresent","getRowHeight","getRowClass","getRowStyle","getContextMenuItems","getMainMenuItems","processRowPostCreate","processCellForClipboard","getGroupRowAgg","isFullWidthRow","sendToClipboard","focusGridInnerElement","navigateToNextHeader","tabToNextHeader","navigateToNextCell","tabToNextCell","processCellFromClipboard","getDocument","postProcessPopup","getChildCount","getDataPath","isRowMaster","postSortRows","processHeaderForClipboard","processUnpinnedColumns","processGroupHeaderForClipboard","paginationNumberFormatter","processDataFromClipboard","getServerSideGroupKey","isServerSideGroup","createChartContainer","getChartToolbarItems","fillOperation","isApplyServerSideTransaction","getServerSideGroupLevelParams","isServerSideGroupOpenByDefault","isGroupOpenByDefault","initialGroupOrderComparator","groupIncludeFooter","loadingCellRendererSelector","getRowId","groupAggFiltering","chartMenuItems","groupTotalRow"];Fe.ALL_PROPERTIES=[...Fe.ARRAY_PROPERTIES,...Fe.OBJECT_PROPERTIES,...Fe.STRING_PROPERTIES,...Fe.NUMBER_PROPERTIES,...Fe.FUNCTION_PROPERTIES,...Fe.BOOLEAN_PROPERTIES,...Fe.OTHER_PROPERTIES];var Ti=Fe,_e=class{static getCallbackForEvent(t){return!t||t.length<2?t:"on"+t[0].toUpperCase()+t.substring(1)}};_e.VUE_OMITTED_PROPERTY="AG-VUE-OMITTED-PROPERTY";_e.PUBLIC_EVENTS=Fn;_e.EVENT_CALLBACKS=Cc.map(e=>_e.getCallbackForEvent(e));_e.BOOLEAN_PROPERTIES=Ti.BOOLEAN_PROPERTIES;_e.ALL_PROPERTIES=Ti.ALL_PROPERTIES;_e.ALL_PROPERTIES_AND_CALLBACKS=[..._e.ALL_PROPERTIES,..._e.EVENT_CALLBACKS];_e.ALL_PROPERTIES_AND_CALLBACKS_SET=new Set(_e.ALL_PROPERTIES_AND_CALLBACKS);var Ai=_e;function xn(e,t){typeof e!="object"&&(e={});let i={...e};return Ai.ALL_PROPERTIES_AND_CALLBACKS.forEach(s=>{let r=t[s];typeof r<"u"&&r!==Ai.VUE_OMITTED_PROPERTY&&(i[s]=r)}),i}function Dn(e,t){if(!e)return;let i={},o=!1;if(Object.keys(e).filter(n=>Ai.ALL_PROPERTIES_AND_CALLBACKS_SET.has(n)).forEach(n=>{i[n]=e[n],o=!0}),!o)return;let s={type:"gridOptionsChanged",options:i};t.dispatchEvent(s);let r={type:"componentStateChanged"};We(i,(n,a)=>{r[n]=a}),t.dispatchEvent(r)}var Ye=class extends b{};function Oi(e,t,i){return i&&e.addDestroyFunc(()=>t.destroyBean(i)),i??e}var vt=class{constructor(e){this.cssClassStates={},this.getGui=e}addCssClass(e){let t=(e||"").split(" ");if(t.length>1){t.forEach(o=>this.addCssClass(o));return}if(this.cssClassStates[e]!==!0&&e.length){let o=this.getGui();o&&o.classList.add(e),this.cssClassStates[e]=!0}}removeCssClass(e){let t=(e||"").split(" ");if(t.length>1){t.forEach(o=>this.removeCssClass(o));return}if(this.cssClassStates[e]!==!1&&e.length){let o=this.getGui();o&&o.classList.remove(e),this.cssClassStates[e]=!1}}containsCssClass(e){let t=this.getGui();return t?t.classList.contains(e):!1}addOrRemoveCssClass(e,t){if(!e)return;if(e.indexOf(" ")>=0){let o=(e||"").split(" ");if(o.length>1){o.forEach(s=>this.addOrRemoveCssClass(s,t));return}}if(this.cssClassStates[e]!==t&&e.length){let o=this.getGui();o&&o.classList.toggle(e,t),this.cssClassStates[e]=t}}};function Ct(e,t,i){i==null||typeof i=="string"&&i==""?En(e,t):nt(e,t,i)}function nt(e,t,i){e.setAttribute(Mn(t),i.toString())}function En(e,t){e.removeAttribute(Mn(t))}function Mn(e){return`aria-${e}`}function Xe(e,t){t?e.setAttribute("role",t):e.removeAttribute("role")}function yc(e){let t;return e==="asc"?t="ascending":e==="desc"?t="descending":e==="mixed"?t="other":t="none",t}function bc(e){return e.getAttribute("aria-label")}function si(e,t){Ct(e,"label",t)}function ki(e,t){Ct(e,"labelledby",t)}function Pn(e,t){Ct(e,"live",t)}function Sc(e,t){Ct(e,"atomic",t)}function Rc(e,t){Ct(e,"relevant",t)}function Fc(e,t){Ct(e,"disabled",t)}function Tn(e,t){Ct(e,"hidden",t)}function ao(e,t){nt(e,"expanded",t)}function xc(e,t){nt(e,"setsize",t)}function Dc(e,t){nt(e,"posinset",t)}function An(e,t){nt(e,"rowcount",t)}function Ec(e,t){nt(e,"rowindex",t)}function kn(e,t){nt(e,"colcount",t)}function In(e,t){nt(e,"colindex",t)}function Mc(e,t){nt(e,"colspan",t)}function Ln(e,t){nt(e,"sort",t)}function On(e){En(e,"sort")}function lo(e,t){Ct(e,"selected",t)}function Pc(e,t){Ct(e,"controls",t.id),ki(t,e.id)}function Ms(e,t){return t===void 0?e("ariaIndeterminate","indeterminate"):t===!0?e("ariaChecked","checked"):e("ariaUnchecked","unchecked")}var Tc="[tabindex], input, select, button, textarea, [href]",Gn="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function Ps(e){let t=Element.prototype.matches||Element.prototype.msMatchesSelector,o=t.call(e,"input, select, button, textarea"),s=t.call(e,Gn),r=rt(e);return o&&!s&&r}function pe(e,t,i={}){let{skipAriaHidden:o}=i;e.classList.toggle("ag-hidden",!t),o||Tn(e,!t)}function Ac(e,t,i={}){let{skipAriaHidden:o}=i;e.classList.toggle("ag-invisible",!t),o||Tn(e,!t)}function Ii(e,t){let i="disabled",o=t?s=>s.setAttribute(i,""):s=>s.removeAttribute(i);o(e),Bn(e.querySelectorAll("input"),s=>o(s))}function ei(e,t,i){let o=0;for(;e;){if(e.classList.contains(t))return!0;if(e=e.parentElement,typeof i=="number"){if(++o>i)break}else if(e===i)break}return!1}function _t(e){let{height:t,width:i,borderTopWidth:o,borderRightWidth:s,borderBottomWidth:r,borderLeftWidth:n,paddingTop:a,paddingRight:l,paddingBottom:c,paddingLeft:d,marginTop:u,marginRight:h,marginBottom:g,marginLeft:f,boxSizing:m}=window.getComputedStyle(e);return{height:parseFloat(t||"0"),width:parseFloat(i||"0"),borderTopWidth:parseFloat(o||"0"),borderRightWidth:parseFloat(s||"0"),borderBottomWidth:parseFloat(r||"0"),borderLeftWidth:parseFloat(n||"0"),paddingTop:parseFloat(a||"0"),paddingRight:parseFloat(l||"0"),paddingBottom:parseFloat(c||"0"),paddingLeft:parseFloat(d||"0"),marginTop:parseFloat(u||"0"),marginRight:parseFloat(h||"0"),marginBottom:parseFloat(g||"0"),marginLeft:parseFloat(f||"0"),boxSizing:m}}function Ts(e){let t=_t(e);return t.boxSizing==="border-box"?t.height-t.paddingTop-t.paddingBottom:t.height}function Gi(e){let t=_t(e);return t.boxSizing==="border-box"?t.width-t.paddingLeft-t.paddingRight:t.width}function Nn(e){let{height:t,marginBottom:i,marginTop:o}=_t(e);return Math.floor(t+i+o)}function co(e){let{width:t,marginLeft:i,marginRight:o}=_t(e);return Math.floor(t+i+o)}function Hn(e){let t=e.getBoundingClientRect(),{borderTopWidth:i,borderLeftWidth:o,borderRightWidth:s,borderBottomWidth:r}=_t(e);return{top:t.top+(i||0),left:t.left+(o||0),right:t.right+(s||0),bottom:t.bottom+(r||0)}}function uo(e,t){let i=e.scrollLeft;return t&&(i=Math.abs(i)),i}function ho(e,t,i){i&&(t*=-1),e.scrollLeft=t}function Be(e){for(;e&&e.firstChild;)e.removeChild(e.firstChild)}function Mt(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function zn(e){return!!e.offsetParent}function rt(e){let t=e;return t.checkVisibility?t.checkVisibility({checkVisibilityCSS:!0}):!(!zn(e)||window.getComputedStyle(e).visibility!=="visible")}function Li(e){let t=document.createElement("div");return t.innerHTML=(e||"").trim(),t.firstChild}function kc(e){return e.clientWidth<e.scrollWidth}function Ic(e){return e.clientHeight<e.scrollHeight}function go(e,t){t==="flex"?(e.style.removeProperty("width"),e.style.removeProperty("minWidth"),e.style.removeProperty("maxWidth"),e.style.flex="1 1 auto"):Je(e,t)}function Je(e,t){t=As(t),e.style.width=t.toString(),e.style.maxWidth=t.toString(),e.style.minWidth=t.toString()}function Si(e,t){t=As(t),e.style.height=t.toString(),e.style.maxHeight=t.toString(),e.style.minHeight=t.toString()}function As(e){return typeof e=="number"?`${e}px`:e}function ks(e){return e instanceof Node||e instanceof HTMLElement}function Lc(e){if(e==null)return[];let t=[];return Bn(e,i=>t.push(i)),t}function Oc(e,t){if(e)for(let i=0;i<e.length;i++){let o=e[i];t(o.name,o.value)}}function je(e,t,i){i==null||i===""?e.removeAttribute(t):e.setAttribute(t,i.toString())}function Bn(e,t){if(e!=null)for(let i=0;i<e.length;i++)t(e[i])}var Is=class{constructor(e=0,t=1){this.nextValue=e,this.step=t}next(){let e=this.nextValue;return this.nextValue+=this.step,e}peek(){return this.nextValue}skip(e){this.nextValue+=e}},_o,ji,jo,Ko,Yo,$o,ls,cs,Qo;function ft(){return _o===void 0&&(_o=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),_o}function Vn(){if(ji===void 0)if(ft()){let e=navigator.userAgent.match(/version\/(\d+)/i);e&&(ji=e[1]!=null?parseFloat(e[1]):0)}else ji=0;return ji}function Gc(){if(jo===void 0){let e=window;jo=!!e.chrome&&(!!e.chrome.webstore||!!e.chrome.runtime)||/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)}return jo}function Ls(){return Ko===void 0&&(Ko=/(firefox)/i.test(navigator.userAgent)),Ko}function Wn(){return Yo===void 0&&(Yo=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)),Yo}function Tt(){return $o===void 0&&($o=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1),$o}function Ur(){return!ft()||Vn()>=15}function ds(e){if(!e)return null;let t=e.tabIndex,i=e.getAttribute("tabIndex");return t===-1&&(i===null||i===""&&!Ls())?null:t.toString()}function Nc(){if(Qo!==void 0)return Qo;if(!document.body)return-1;let e=1e6,t=Ls()?6e6:1e9,i=document.createElement("div");for(document.body.appendChild(i);;){let o=e*2;if(i.style.height=o+"px",o>t||i.clientHeight!==o)break;e=o}return document.body.removeChild(i),Qo=e,e}function Hc(){return document.body?.clientWidth??(window.innerHeight||document.documentElement?.clientWidth||-1)}function zc(){return document.body?.clientHeight??(window.innerHeight||document.documentElement?.clientHeight||-1)}function Bc(){return cs==null&&Un(),cs}function Un(){let e=document.body,t=document.createElement("div");t.style.width=t.style.height="100px",t.style.opacity="0",t.style.overflow="scroll",t.style.msOverflowStyle="scrollbar",t.style.position="absolute",e.appendChild(t);let i=t.offsetWidth-t.clientWidth;i===0&&t.clientWidth===0&&(i=null),t.parentNode&&t.parentNode.removeChild(t),i!=null&&(cs=i,ls=i===0)}function _n(){return ls==null&&Un(),ls}var Vc=1e3,Wc=1e3,_r=100,jn=class At extends b{constructor(t,i,o,s){super(),this.parentComp=t,this.tooltipShowDelayOverride=i,this.tooltipHideDelayOverride=o,this.shouldDisplayTooltip=s,this.interactionEnabled=!1,this.isInteractingWithTooltip=!1,this.state=0,this.tooltipInstanceCount=0,this.tooltipMouseTrack=!1}wireBeans(t){this.popupService=t.popupService,this.userComponentFactory=t.userComponentFactory}postConstruct(){this.gos.get("tooltipInteraction")&&(this.interactionEnabled=!0),this.tooltipTrigger=this.getTooltipTrigger(),this.tooltipMouseTrack=this.gos.get("tooltipMouseTrack");let t=this.parentComp.getGui();this.tooltipTrigger===0&&this.addManagedListeners(t,{mouseenter:this.onMouseEnter.bind(this),mouseleave:this.onMouseLeave.bind(this)}),this.tooltipTrigger===1&&this.addManagedListeners(t,{focusin:this.onFocusIn.bind(this),focusout:this.onFocusOut.bind(this)}),this.addManagedListeners(t,{mousemove:this.onMouseMove.bind(this)}),this.interactionEnabled||this.addManagedListeners(t,{mousedown:this.onMouseDown.bind(this),keydown:this.onKeyDown.bind(this)})}getGridOptionsTooltipDelay(t){let i=this.gos.get(t);return i<0&&S(`${t} should not be lower than 0`),Math.max(200,i)}getTooltipDelay(t){return t==="show"?this.tooltipShowDelayOverride??this.getGridOptionsTooltipDelay("tooltipShowDelay"):this.tooltipHideDelayOverride??this.getGridOptionsTooltipDelay("tooltipHideDelay")}destroy(){this.setToDoNothing(),super.destroy()}getTooltipTrigger(){let t=this.gos.get("tooltipTrigger");return!t||t==="hover"?0:1}onMouseEnter(t){this.interactionEnabled&&this.interactiveTooltipTimeoutId&&(this.unlockService(),this.startHideTimeout()),!Tt()&&(At.isLocked?this.showTooltipTimeoutId=window.setTimeout(()=>{this.prepareToShowTooltip(t)},_r):this.prepareToShowTooltip(t))}onMouseMove(t){this.lastMouseEvent&&(this.lastMouseEvent=t),this.tooltipMouseTrack&&this.state===2&&this.tooltipComp&&this.positionTooltip()}onMouseDown(){this.setToDoNothing()}onMouseLeave(){this.interactionEnabled?this.lockService():this.setToDoNothing()}onFocusIn(){this.prepareToShowTooltip()}onFocusOut(t){let i=t.relatedTarget,o=this.parentComp.getGui(),s=this.tooltipComp?.getGui();this.isInteractingWithTooltip||o.contains(i)||this.interactionEnabled&&s?.contains(i)||this.setToDoNothing()}onKeyDown(){this.isInteractingWithTooltip&&(this.isInteractingWithTooltip=!1),this.setToDoNothing()}prepareToShowTooltip(t){if(this.state!=0||At.isLocked)return;let i=0;t&&(i=this.isLastTooltipHiddenRecently()?200:this.getTooltipDelay("show")),this.lastMouseEvent=t||null,this.showTooltipTimeoutId=window.setTimeout(this.showTooltip.bind(this),i),this.state=1}isLastTooltipHiddenRecently(){let t=new Date().getTime(),i=At.lastTooltipHideTime;return t-i<Vc}setToDoNothing(t){!t&&this.state===2&&this.hideTooltip(),this.onBodyScrollEventCallback&&(this.onBodyScrollEventCallback(),this.onBodyScrollEventCallback=void 0),this.onColumnMovedEventCallback&&(this.onColumnMovedEventCallback(),this.onColumnMovedEventCallback=void 0),this.onDocumentKeyDownCallback&&(this.onDocumentKeyDownCallback(),this.onDocumentKeyDownCallback=void 0),this.clearTimeouts(),this.state=0,this.lastMouseEvent=null}showTooltip(){let t={...this.parentComp.getTooltipParams()};if(!M(t.value)||this.shouldDisplayTooltip&&!this.shouldDisplayTooltip()){this.setToDoNothing();return}this.state=2,this.tooltipInstanceCount++;let i=this.newTooltipComponentCallback.bind(this,this.tooltipInstanceCount);this.userComponentFactory.getTooltipCompDetails(t).newAgStackInstance().then(i)}hideTooltip(t){!t&&this.isInteractingWithTooltip||(this.tooltipComp&&(this.destroyTooltipComp(),At.lastTooltipHideTime=new Date().getTime()),this.eventService.dispatchEvent({type:"tooltipHide",parentGui:this.parentComp.getGui()}),t&&(this.isInteractingWithTooltip=!1),this.setToDoNothing(!0))}newTooltipComponentCallback(t,i){if(this.state!==2||this.tooltipInstanceCount!==t){this.destroyBean(i);return}let s=i.getGui();this.tooltipComp=i,s.classList.contains("ag-tooltip")||s.classList.add("ag-tooltip-custom"),this.tooltipTrigger===0&&s.classList.add("ag-tooltip-animate"),this.interactionEnabled&&s.classList.add("ag-tooltip-interactive");let r=this.localeService.getLocaleTextFunc(),n=this.popupService.addPopup({eChild:s,ariaLabel:r("ariaLabelTooltip","Tooltip")});if(n&&(this.tooltipPopupDestroyFunc=n.hideFunc),this.positionTooltip(),this.tooltipTrigger===1){let a=()=>this.setToDoNothing();[this.onBodyScrollEventCallback,this.onColumnMovedEventCallback]=this.addManagedEventListeners({bodyScroll:a,columnMoved:a})}this.interactionEnabled&&([this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener]=this.addManagedElementListeners(s,{mouseenter:this.onTooltipMouseEnter.bind(this),mouseleave:this.onTooltipMouseLeave.bind(this)}),[this.onDocumentKeyDownCallback]=this.addManagedElementListeners(ve(this.gos),{keydown:a=>{s.contains(a?.target)||this.onKeyDown()}}),this.tooltipTrigger===1&&([this.tooltipFocusInListener,this.tooltipFocusOutListener]=this.addManagedElementListeners(s,{focusin:this.onTooltipFocusIn.bind(this),focusout:this.onTooltipFocusOut.bind(this)}))),this.eventService.dispatchEvent({type:"tooltipShow",tooltipGui:s,parentGui:this.parentComp.getGui()}),this.startHideTimeout()}onTooltipMouseEnter(){this.isInteractingWithTooltip=!0,this.unlockService()}onTooltipMouseLeave(){this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,this.lockService())}onTooltipFocusIn(){this.isInteractingWithTooltip=!0}isTooltipFocused(){let t=this.tooltipComp?.getGui(),i=fe(this.gos);return!!t&&t.contains(i)}onTooltipFocusOut(t){let i=this.parentComp.getGui();this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,i.contains(t.relatedTarget)?this.startHideTimeout():this.hideTooltip())}positionTooltip(){let t={type:"tooltip",ePopup:this.tooltipComp.getGui(),nudgeY:18,skipObserver:this.tooltipMouseTrack};this.lastMouseEvent?this.popupService.positionPopupUnderMouseEvent({...t,mouseEvent:this.lastMouseEvent}):this.popupService.positionPopupByComponent({...t,eventSource:this.parentComp.getGui(),position:"under",keepWithinBounds:!0,nudgeY:5})}destroyTooltipComp(){this.tooltipComp.getGui().classList.add("ag-tooltip-hiding");let t=this.tooltipPopupDestroyFunc,i=this.tooltipComp,o=this.tooltipTrigger===0?Wc:0;window.setTimeout(()=>{t(),this.destroyBean(i)},o),this.clearTooltipListeners(),this.tooltipPopupDestroyFunc=void 0,this.tooltipComp=void 0}clearTooltipListeners(){[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener,this.tooltipFocusInListener,this.tooltipFocusOutListener].forEach(t=>{t&&t()}),this.tooltipMouseEnterListener=this.tooltipMouseLeaveListener=this.tooltipFocusInListener=this.tooltipFocusOutListener=null}lockService(){At.isLocked=!0,this.interactiveTooltipTimeoutId=window.setTimeout(()=>{this.unlockService(),this.setToDoNothing()},_r)}unlockService(){At.isLocked=!1,this.clearInteractiveTimeout()}startHideTimeout(){this.clearHideTimeout(),this.hideTooltipTimeoutId=window.setTimeout(this.hideTooltip.bind(this),this.getTooltipDelay("hide"))}clearShowTimeout(){this.showTooltipTimeoutId&&(window.clearTimeout(this.showTooltipTimeoutId),this.showTooltipTimeoutId=void 0)}clearHideTimeout(){this.hideTooltipTimeoutId&&(window.clearTimeout(this.hideTooltipTimeoutId),this.hideTooltipTimeoutId=void 0)}clearInteractiveTimeout(){this.interactiveTooltipTimeoutId&&(window.clearTimeout(this.interactiveTooltipTimeoutId),this.interactiveTooltipTimeoutId=void 0)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout(),this.clearInteractiveTimeout()}};jn.isLocked=!1;var Uc=jn,ai=class extends b{constructor(e,t){super(),this.ctrl=e,t&&(this.beans=t)}wireBeans(e){this.beans=e}postConstruct(){this.refreshToolTip()}setBrowserTooltip(e){let t="title",i=this.ctrl.getGui();i&&(e!=null&&e!=""?i.setAttribute(t,e):i.removeAttribute(t))}updateTooltipText(){this.tooltip=this.ctrl.getTooltipValue()}createTooltipFeatureIfNeeded(){if(this.tooltipManager!=null)return;let e={getTooltipParams:()=>this.getTooltipParams(),getGui:()=>this.ctrl.getGui()};this.tooltipManager=this.createBean(new Uc(e,this.ctrl.getTooltipShowDelayOverride?.(),this.ctrl.getTooltipHideDelayOverride?.(),this.ctrl.shouldDisplayTooltip),this.beans.context)}refreshToolTip(){this.browserTooltips=this.beans.gos.get("enableBrowserTooltips"),this.updateTooltipText(),this.browserTooltips?(this.setBrowserTooltip(this.tooltip),this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context))):(this.setBrowserTooltip(null),this.createTooltipFeatureIfNeeded())}getTooltipParams(){let e=this.ctrl,t=e.getColumn?.(),i=e.getColDef?.(),o=e.getRowNode?.();return{location:e.getLocation(),colDef:i,column:t,rowIndex:e.getRowIndex?.(),node:o,data:o?.data,value:this.getTooltipText(),valueFormatted:e.getValueFormatted?.(),hideTooltipCallback:()=>this.tooltipManager?.hideTooltip(!0)}}getTooltipText(){return this.tooltip}destroy(){this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context)),super.destroy()}},_c=new Is,z=null,ce=class Kn extends b{constructor(t,i){super(),this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=_c.next(),this.cssClassManager=new vt(()=>this.eGui),this.componentSelectors=new Map((i??[]).map(o=>[o.selector,o])),t&&this.setTemplate(t)}preWireBeans(t){super.preWireBeans(t)}preConstruct(){this.usingBrowserTooltips=this.gos.get("enableBrowserTooltips"),this.wireTemplate(this.getGui())}wireTemplate(t,i){t&&this.gos&&(this.applyElementsToComponent(t),this.createChildComponentsFromTags(t,i))}getCompId(){return this.compId}getTooltipParams(){return{value:this.tooltipText,location:"UNKNOWN"}}setTooltip(t){let{newTooltipText:i,showDelayOverride:o,hideDelayOverride:s,location:r,shouldDisplayTooltip:n}=t||{};this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),this.tooltipText!==i&&(this.tooltipText=i);let a=()=>this.tooltipText;i!=null&&(this.tooltipFeature=this.createBean(new ai({getTooltipValue:a,getGui:()=>this.getGui(),getLocation:()=>r??"UNKNOWN",getColDef:t?.getColDef,getColumn:t?.getColumn,getTooltipShowDelayOverride:o!=null?()=>o:void 0,getTooltipHideDelayOverride:s!=null?()=>s:void 0,shouldDisplayTooltip:n})))}getDataRefAttribute(t){return t.getAttribute?t.getAttribute("data-ref"):null}applyElementsToComponent(t,i,o,s=null){if(i===void 0&&(i=this.getDataRefAttribute(t)),i){let r=this[i];if(r===z)this[i]=s??t;else{let n=o&&o[i];!this.suppressDataRefValidation&&!n&&S(`Issue with data-ref: ${i} on ${this.constructor.name} with ${r}`)}}}createChildComponentsFromTags(t,i){Lc(t.childNodes).forEach(s=>{if(!(s instanceof HTMLElement))return;let r=this.createComponentFromElement(s,n=>{n.getGui()&&this.copyAttributesFromNode(s,n.getGui())},i);if(r){if(r.addItems&&s.children.length){this.createChildComponentsFromTags(s,i);let n=Array.prototype.slice.call(s.children);r.addItems(n)}this.swapComponentForNode(r,t,s)}else s.childNodes&&this.createChildComponentsFromTags(s,i)})}createComponentFromElement(t,i,o){let s=t.nodeName,r=this.getDataRefAttribute(t),n=s.indexOf("AG-")===0,a=n?this.componentSelectors.get(s):null,l=null;if(a){Kn.elementGettingCreated=t;let c=o&&r?o[r]:void 0;l=new a.component(c),l.setParentComponent(this),this.createBean(l,null,i)}else n&&S(`Missing selector: ${s}`);return this.applyElementsToComponent(t,r,o,l),l}copyAttributesFromNode(t,i){Oc(t.attributes,(o,s)=>i.setAttribute(o,s))}swapComponentForNode(t,i,o){let s=t.getGui();i.replaceChild(s,o),i.insertBefore(document.createComment(o.nodeName),s),this.addDestroyFunc(this.destroyBean.bind(this,t))}activateTabIndex(t){let i=this.gos.get("tabIndex");t||(t=[]),t.length||t.push(this.getGui()),t.forEach(o=>o.setAttribute("tabindex",i.toString()))}setTemplate(t,i,o){let s=Li(t);this.setTemplateFromElement(s,i,o)}setTemplateFromElement(t,i,o,s=!1){if(this.eGui=t,this.suppressDataRefValidation=s,i)for(let r=0;r<i.length;r++){let n=i[r];this.componentSelectors.set(n.selector,n)}this.wireTemplate(t,o)}getGui(){return this.eGui}getFocusableElement(){return this.eGui}getAriaElement(){return this.getFocusableElement()}setParentComponent(t){this.parentComponent=t}getParentComponent(){return this.parentComponent}setGui(t){this.eGui=t}queryForHtmlElement(t){return this.eGui.querySelector(t)}getContainerAndElement(t,i){let o=i;return t==null?null:(o||(o=this.eGui),ks(t)?{element:t,parent:o}:{element:t.getGui(),parent:o})}prependChild(t,i){let{element:o,parent:s}=this.getContainerAndElement(t,i)||{};!o||!s||s.insertAdjacentElement("afterbegin",o)}appendChild(t,i){let{element:o,parent:s}=this.getContainerAndElement(t,i)||{};!o||!s||s.appendChild(o)}isDisplayed(){return this.displayed}setVisible(t,i={}){if(t!==this.visible){this.visible=t;let{skipAriaHidden:o}=i;Ac(this.eGui,t,{skipAriaHidden:o})}}setDisplayed(t,i={}){if(t!==this.displayed){this.displayed=t;let{skipAriaHidden:o}=i;pe(this.eGui,t,{skipAriaHidden:o});let s={type:"displayChanged",visible:this.displayed};this.dispatchLocalEvent(s)}}destroy(){this.parentComponent&&(this.parentComponent=void 0),this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),super.destroy()}addGuiEventListener(t,i,o){this.eGui.addEventListener(t,i,o),this.addDestroyFunc(()=>this.eGui.removeEventListener(t,i))}addCssClass(t){this.cssClassManager.addCssClass(t)}removeCssClass(t){this.cssClassManager.removeCssClass(t)}containsCssClass(t){return this.cssClassManager.containsCssClass(t)}addOrRemoveCssClass(t,i){this.cssClassManager.addOrRemoveCssClass(t,i)}},Yn={columnGroupOpened:"expanded",columnGroupClosed:"contracted",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate",columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",groupContracted:"tree-closed",groupExpanded:"tree-open",setFilterGroupClosed:"tree-closed",setFilterGroupOpen:"tree-open",setFilterGroupIndeterminate:"tree-indeterminate",chart:"chart",close:"cross",cancel:"cancel",check:"tick",first:"first",previous:"previous",next:"next",last:"last",linked:"linked",unlinked:"unlinked",colorPicker:"color-picker",groupLoading:"loading",menu:"menu",menuAlt:"menu-alt",filter:"filter",columns:"columns",maximize:"maximize",minimize:"minimize",menuPin:"pin",menuValue:"aggregation",menuAddRowGroup:"group",menuRemoveRowGroup:"group",clipboardCopy:"copy",clipboardCut:"cut",clipboardPaste:"paste",pivotPanel:"pivot",rowGroupPanel:"group",valuePanel:"aggregation",columnDrag:"grip",rowDrag:"grip",save:"save",csvExport:"csv",excelExport:"excel",smallDown:"small-down",smallLeft:"small-left",smallRight:"small-right",smallUp:"small-up",sortAscending:"asc",sortDescending:"desc",sortUnSort:"none",advancedFilterBuilder:"group",advancedFilterBuilderDrag:"grip",advancedFilterBuilderInvalid:"not-allowed",advancedFilterBuilderMoveUp:"up",advancedFilterBuilderMoveDown:"down",advancedFilterBuilderAdd:"plus",advancedFilterBuilderRemove:"minus",chartsMenuEdit:"chart",chartsMenuAdvancedSettings:"settings",chartsMenuAdd:"plus",checkboxChecked:"checkbox-checked",checkboxIndeterminate:"checkbox-indeterminate",checkboxUnchecked:"checkbox-unchecked",radioButtonOn:"radio-button-on",radioButtonOff:"radio-button-off"},jc=(()=>{let e=new Set(Object.values(Yn));return e.add("eye"),e})();function Kc(e,t,i){let o=ze(e,t,i);if(o){let{className:r}=o;if(typeof r=="string"&&r.indexOf("ag-icon")>-1||typeof r=="object"&&r["ag-icon"])return o}let s=document.createElement("span");return s.appendChild(o),s}function ze(e,t,i,o){let s=null,r=i&&i.getColDef().icons;if(r&&(s=r[e]),t&&!s){let n=t.get("icons");n&&(s=n[e])}if(s){let n;if(typeof s=="function")n=s();else if(typeof s=="string")n=s;else throw new Error("icon from grid options needs to be a string or a function");if(typeof n=="string")return Li(n);if(ks(n))return n;S("iconRenderer should return back a string or a dom object")}else{let n=document.createElement("span"),a=Yn[e]??(jc.has(e)?e:void 0);return a||(o?a=e:(S(`Did not find icon ${e}`),a="")),n.setAttribute("class",`ag-icon ag-icon-${a}`),n.setAttribute("unselectable","on"),Xe(n,"presentation"),n}}var Yc=class extends ce{constructor(){super(...arguments),this.dragSource=null,this.eIcon=z,this.eLabel=z}postConstruct(){let e=t=>Kc(t,this.gos,null);this.dropIconMap={pinned:e("columnMovePin"),hide:e("columnMoveHide"),move:e("columnMoveMove"),left:e("columnMoveLeft"),right:e("columnMoveRight"),group:e("columnMoveGroup"),aggregate:e("columnMoveValue"),pivot:e("columnMovePivot"),notAllowed:e("dropNotAllowed")}}init(e){this.dragSource=e.dragSource,this.setTemplate(`<div class="ag-dnd-ghost ag-unselectable">
|
|
2
2
|
<span data-ref="eIcon" class="ag-dnd-ghost-icon ag-shake-left-to-right"></span>
|
|
3
3
|
<div data-ref="eLabel" class="ag-dnd-ghost-label"></div>
|
|
4
|
-
</div>`)}destroy(){this.dragSource=null,super.destroy()}setIcon(e,t=!1){Be(this.eIcon);let i=null;e||(e=this.dragSource?.getDefaultIconName?this.dragSource?.getDefaultIconName():"notAllowed"),i=this.dropIconMap[e],this.eIcon.classList.toggle("ag-shake-left-to-right",t),!(i===this.dropIconMap.hide&&this.gos.get("suppressDragLeaveHidesColumns"))&&i&&this.eIcon.appendChild(i)}setLabel(e){this.eLabel.textContent=qe(e)}};function
|
|
4
|
+
</div>`)}destroy(){this.dragSource=null,super.destroy()}setIcon(e,t=!1){Be(this.eIcon);let i=null;e||(e=this.dragSource?.getDefaultIconName?this.dragSource?.getDefaultIconName():"notAllowed"),i=this.dropIconMap[e],this.eIcon.classList.toggle("ag-shake-left-to-right",t),!(i===this.dropIconMap.hide&&this.gos.get("suppressDragLeaveHidesColumns"))&&i&&this.eIcon.appendChild(i)}setLabel(e){this.eLabel.textContent=qe(e)}};function $n(e,t,i){if(i===0)return!1;let o=Math.abs(e.clientX-t.clientX),s=Math.abs(e.clientY-t.clientY);return Math.max(o,s)<=i}var xt=class{constructor(e,t=!1){this.DOUBLE_TAP_MILLIS=500,this.destroyFuncs=[],this.touching=!1,this.localEventService=new ri,this.eElement=e,this.preventMouseClick=t;let i=this.onTouchStart.bind(this),o=this.onTouchMove.bind(this),s=this.onTouchEnd.bind(this);this.eElement.addEventListener("touchstart",i,{passive:!0}),this.eElement.addEventListener("touchmove",o,{passive:!0}),this.eElement.addEventListener("touchend",s,{passive:!1}),this.destroyFuncs.push(()=>{this.eElement.removeEventListener("touchstart",i,{passive:!0}),this.eElement.removeEventListener("touchmove",o,{passive:!0}),this.eElement.removeEventListener("touchend",s,{passive:!1})})}getActiveTouch(e){for(let t=0;t<e.length;t++)if(e[t].identifier===this.touchStart.identifier)return e[t];return null}addEventListener(e,t){this.localEventService.addEventListener(e,t)}removeEventListener(e,t){this.localEventService.removeEventListener(e,t)}onTouchStart(e){if(this.touching)return;this.touchStart=e.touches[0],this.touching=!0,this.moved=!1;let t=this.touchStart;window.setTimeout(()=>{let i=this.touchStart===t;if(this.touching&&i&&!this.moved){this.moved=!0;let o={type:"longTap",touchStart:this.touchStart,touchEvent:e};this.localEventService.dispatchEvent(o)}},500)}onTouchMove(e){if(!this.touching)return;let t=this.getActiveTouch(e.touches);if(!t)return;!$n(t,this.touchStart,4)&&(this.moved=!0)}onTouchEnd(e){if(this.touching){if(!this.moved){let t={type:"tap",touchStart:this.touchStart};this.localEventService.dispatchEvent(t),this.checkForDoubleTap()}this.preventMouseClick&&e.cancelable&&e.preventDefault(),this.touching=!1}}checkForDoubleTap(){let e=new Date().getTime();if(this.lastTapTime&&this.lastTapTime>0)if(e-this.lastTapTime>this.DOUBLE_TAP_MILLIS){let i={type:"doubleTap",touchStart:this.touchStart};this.localEventService.dispatchEvent(i),this.lastTapTime=null}else this.lastTapTime=e;else this.lastTapTime=e}destroy(){this.destroyFuncs.forEach(e=>e())}};function fi(e,t){return`<span data-ref="eSort${e}" class="ag-sort-indicator-icon ag-sort-${t} ag-hidden" aria-hidden="true"></span>`}var $c=`<span class="ag-sort-indicator-container">
|
|
5
5
|
${fi("Order","order")}
|
|
6
6
|
${fi("Asc","ascending-icon")}
|
|
7
7
|
${fi("Desc","descending-icon")}
|
|
8
8
|
${fi("Mixed","mixed-icon")}
|
|
9
9
|
${fi("None","none-icon")}
|
|
10
|
-
</span>`,
|
|
10
|
+
</span>`,Os=class extends ce{constructor(e){super(),this.eSortOrder=z,this.eSortAsc=z,this.eSortDesc=z,this.eSortMixed=z,this.eSortNone=z,e||this.setTemplate($c)}wireBeans(e){this.sortController=e.sortController}attachCustomElements(e,t,i,o,s){this.eSortOrder=e,this.eSortAsc=t,this.eSortDesc=i,this.eSortMixed=o,this.eSortNone=s}setupSort(e,t=!1){if(this.column=e,this.suppressOrder=t,this.setupMultiSortIndicator(),!this.column.isSortable()&&!this.column.getColDef().showRowGroup)return;this.addInIcon("sortAscending",this.eSortAsc,e),this.addInIcon("sortDescending",this.eSortDesc,e),this.addInIcon("sortUnSort",this.eSortNone,e);let i=this.updateIcons.bind(this),o=this.onSortChanged.bind(this);this.addManagedPropertyListener("unSortIcon",i),this.addManagedEventListeners({newColumnsLoaded:i,sortChanged:o,columnRowGroupChanged:o}),this.onSortChanged()}addInIcon(e,t,i){if(t==null)return;let o=ze(e,this.gos,i);o&&t.appendChild(o)}onSortChanged(){this.updateIcons(),this.suppressOrder||this.updateSortOrder()}updateIcons(){let e=this.sortController.getDisplaySortForColumn(this.column);if(this.eSortAsc){let t=e==="asc";pe(this.eSortAsc,t,{skipAriaHidden:!0})}if(this.eSortDesc){let t=e==="desc";pe(this.eSortDesc,t,{skipAriaHidden:!0})}if(this.eSortNone){let t=!this.column.getColDef().unSortIcon&&!this.gos.get("unSortIcon"),i=e==null;pe(this.eSortNone,!t&&i,{skipAriaHidden:!0})}}setupMultiSortIndicator(){this.addInIcon("sortUnSort",this.eSortMixed,this.column);let e=this.column.getColDef().showRowGroup;Qe(this.gos)&&e&&(this.addManagedEventListeners({sortChanged:this.updateMultiSortIndicator.bind(this),columnRowGroupChanged:this.updateMultiSortIndicator.bind(this)}),this.updateMultiSortIndicator())}updateMultiSortIndicator(){if(this.eSortMixed){let e=this.sortController.getDisplaySortForColumn(this.column)==="mixed";pe(this.eSortMixed,e,{skipAriaHidden:!0})}}updateSortOrder(){if(!this.eSortOrder)return;let e=this.sortController.getColumnsWithSortingOrdered(),t=this.sortController.getDisplaySortIndexForColumn(this.column)??-1,i=e.some(s=>this.sortController.getDisplaySortIndexForColumn(s)??!1),o=t>=0&&i;pe(this.eSortOrder,o,{skipAriaHidden:!0}),t>=0?this.eSortOrder.textContent=(t+1).toString():Be(this.eSortOrder)}},Qc={selector:"AG-SORT-INDICATOR",component:Os},qc=`<div class="ag-cell-label-container" role="presentation">
|
|
11
11
|
<span data-ref="eMenu" class="ag-header-icon ag-header-cell-menu-button" aria-hidden="true"></span>
|
|
12
12
|
<span data-ref="eFilterButton" class="ag-header-icon ag-header-cell-filter-button" aria-hidden="true"></span>
|
|
13
13
|
<div data-ref="eLabel" class="ag-header-cell-label" role="presentation">
|
|
@@ -15,23 +15,23 @@ import{b as Er,c as No}from"./chunk-U7PWJV6F.js";import{a as Fr}from"./chunk-XT5
|
|
|
15
15
|
<span data-ref="eFilter" class="ag-header-icon ag-header-label-icon ag-filter-icon" aria-hidden="true"></span>
|
|
16
16
|
<ag-sort-indicator data-ref="eSortIndicator"></ag-sort-indicator>
|
|
17
17
|
</div>
|
|
18
|
-
</div>`,
|
|
18
|
+
</div>`,us=class extends ce{constructor(){super(...arguments),this.eFilter=z,this.eFilterButton=z,this.eSortIndicator=z,this.eMenu=z,this.eLabel=z,this.eText=z,this.eSortOrder=z,this.eSortAsc=z,this.eSortDesc=z,this.eSortMixed=z,this.eSortNone=z,this.lastMovingChanged=0}wireBeans(e){this.sortController=e.sortController,this.menuService=e.menuService,this.funcColsService=e.funcColsService}destroy(){super.destroy()}refresh(e){let t=this.params;return this.params=e,this.workOutTemplate()!=this.currentTemplate||this.workOutShowMenu()!=this.currentShowMenu||this.workOutSort()!=this.currentSort||this.shouldSuppressMenuHide()!=this.currentSuppressMenuHide||t.enableFilterButton!=e.enableFilterButton||t.enableFilterIcon!=e.enableFilterIcon?!1:(this.setDisplayName(e),!0)}workOutTemplate(){let e=this.params.template??qc;return e=e&&e.trim?e.trim():e,e}init(e){this.params=e,this.currentTemplate=this.workOutTemplate(),this.setTemplate(this.currentTemplate,[Qc]),this.setupTap(),this.setMenu(),this.setupSort(),this.setupFilterIcon(),this.setupFilterButton(),this.setDisplayName(e)}setDisplayName(e){if(this.currentDisplayName!=e.displayName){this.currentDisplayName=e.displayName;let t=qe(this.currentDisplayName,!0);this.eText&&(this.eText.textContent=t)}}addInIcon(e,t,i){if(t==null)return;let o=ze(e,this.gos,i);o&&t.appendChild(o)}setupTap(){let{gos:e}=this;if(e.get("suppressTouch"))return;let t=new xt(this.getGui(),!0),i=this.shouldSuppressMenuHide(),o=i&&M(this.eMenu),s=o?new xt(this.eMenu,!0):t;if(this.params.enableMenu){let r=o?"tap":"longTap",n=a=>this.params.showColumnMenuAfterMouseClick(a.touchStart);this.addManagedListeners(s,{[r]:n})}if(this.params.enableSorting){let r=n=>{let a=n.touchStart.target;i&&(this.eMenu?.contains(a)||this.eFilterButton?.contains(a))||this.sortController.progressSort(this.params.column,!1,"uiColumnSorted")};this.addManagedListeners(t,{tap:r})}if(this.params.enableFilterButton){let r=new xt(this.eFilterButton,!0);this.addManagedListeners(r,{tap:()=>this.params.showFilter(this.eFilterButton)}),this.addDestroyFunc(()=>r.destroy())}this.addDestroyFunc(()=>t.destroy()),o&&this.addDestroyFunc(()=>s.destroy())}workOutShowMenu(){return this.params.enableMenu&&this.menuService.isHeaderMenuButtonEnabled()}shouldSuppressMenuHide(){return this.menuService.isHeaderMenuButtonAlwaysShowEnabled()}setMenu(){if(!this.eMenu)return;if(this.currentShowMenu=this.workOutShowMenu(),!this.currentShowMenu){Mt(this.eMenu),this.eMenu=void 0;return}let e=this.menuService.isLegacyMenuEnabled();this.addInIcon(e?"menu":"menuAlt",this.eMenu,this.params.column),this.eMenu.classList.toggle("ag-header-menu-icon",!e),this.currentSuppressMenuHide=this.shouldSuppressMenuHide(),this.addManagedElementListeners(this.eMenu,{click:()=>this.params.showColumnMenu(this.eMenu)}),this.eMenu.classList.toggle("ag-header-menu-always-show",this.currentSuppressMenuHide)}onMenuKeyboardShortcut(e){let t=this.params.column,i=this.menuService.isLegacyMenuEnabled();if(e&&!i){if(this.menuService.isFilterMenuInHeaderEnabled(t))return this.params.showFilter(this.eFilterButton??this.eMenu??this.getGui()),!0}else if(this.params.enableMenu)return this.params.showColumnMenu(this.eMenu??this.eFilterButton??this.getGui()),!0;return!1}workOutSort(){return this.params.enableSorting}setupSort(){if(this.currentSort=this.params.enableSorting,this.eSortIndicator||(this.eSortIndicator=this.createBean(new Os(!0)),this.eSortIndicator.attachCustomElements(this.eSortOrder,this.eSortAsc,this.eSortDesc,this.eSortMixed,this.eSortNone)),this.eSortIndicator.setupSort(this.params.column),!this.currentSort)return;this.addManagedListeners(this.params.column,{movingChanged:()=>{this.lastMovingChanged=new Date().getTime()}}),this.eLabel&&this.addManagedElementListeners(this.eLabel,{click:t=>{let i=this.params.column.isMoving(),s=new Date().getTime()-this.lastMovingChanged<50;if(!(i||s)){let a=this.gos.get("multiSortKey")==="ctrl"?t.ctrlKey||t.metaKey:t.shiftKey;this.params.progressSort(a)}}});let e=()=>{let t=this.params.column.getSort();if(this.addOrRemoveCssClass("ag-header-cell-sorted-asc",t==="asc"),this.addOrRemoveCssClass("ag-header-cell-sorted-desc",t==="desc"),this.addOrRemoveCssClass("ag-header-cell-sorted-none",!t),this.params.column.getColDef().showRowGroup){let s=!this.funcColsService.getSourceColumnsForGroupColumn(this.params.column)?.every(r=>this.params.column.getSort()==r.getSort());this.addOrRemoveCssClass("ag-header-cell-sorted-mixed",s)}};this.addManagedEventListeners({sortChanged:e,columnRowGroupChanged:e})}setupFilterIcon(){this.eFilter&&this.configureFilter(this.params.enableFilterIcon,this.eFilter,this.onFilterChangedIcon.bind(this))}setupFilterButton(){if(!this.eFilterButton)return;this.configureFilter(this.params.enableFilterButton,this.eFilterButton,this.onFilterChangedButton.bind(this))?this.addManagedElementListeners(this.eFilterButton,{click:()=>this.params.showFilter(this.eFilterButton)}):this.eFilterButton=void 0}configureFilter(e,t,i){if(!e)return Mt(t),!1;let o=this.params.column;return this.addInIcon("filter",t,o),this.addManagedListeners(o,{filterChanged:i}),i(),!0}onFilterChangedIcon(){let e=this.params.column.isFilterActive();pe(this.eFilter,e,{skipAriaHidden:!0})}onFilterChangedButton(){let e=this.params.column.isFilterActive();this.eFilterButton.classList.toggle("ag-filter-active",e)}getAnchorElementForMenu(e){return e?this.eFilterButton??this.eMenu??this.getGui():this.eMenu??this.eFilterButton??this.getGui()}},Jc=class extends ce{constructor(){super(`<div class="ag-header-group-cell-label" role="presentation">
|
|
19
19
|
<span data-ref="agLabel" class="ag-header-group-text" role="presentation"></span>
|
|
20
20
|
<span data-ref="agOpened" class="ag-header-icon ag-header-expand-icon ag-header-expand-icon-expanded"></span>
|
|
21
21
|
<span data-ref="agClosed" class="ag-header-icon ag-header-expand-icon ag-header-expand-icon-collapsed"></span>
|
|
22
|
-
</div>`),this.agOpened=z,this.agClosed=z,this.agLabel=z}wireBeans(e){this.columnModel=e.columnModel}destroy(){super.destroy()}init(e){this.params=e,this.checkWarnings(),this.setupLabel(),this.addGroupExpandIcon(),this.setupExpandIcons()}checkWarnings(){this.params.template&&S("A template was provided for Header Group Comp - templates are only supported for Header Comps (not groups)")}setupExpandIcons(){this.addInIcon("columnGroupOpened",this.agOpened),this.addInIcon("columnGroupClosed",this.agClosed);let e=s=>{if(ut(s))return;let r=!this.params.columnGroup.isExpanded();this.columnModel.setColumnGroupOpened(this.params.columnGroup.getProvidedColumnGroup(),r,"uiColumnExpanded")};this.addTouchAndClickListeners(this.agClosed,e),this.addTouchAndClickListeners(this.agOpened,e);let t=s=>{oi(s)};this.addManagedElementListeners(this.agClosed,{dblclick:t}),this.addManagedElementListeners(this.agOpened,{dblclick:t}),this.addManagedElementListeners(this.getGui(),{dblclick:e}),this.updateIconVisibility();let i=this.params.columnGroup.getProvidedColumnGroup(),o=this.updateIconVisibility.bind(this);this.addManagedListeners(i,{expandedChanged:o,expandableChanged:o})}addTouchAndClickListeners(e,t){let i=new xt(e,!0);this.addManagedListeners(i,{tap:t}),this.addDestroyFunc(()=>i.destroy()),this.addManagedElementListeners(e,{click:t})}updateIconVisibility(){if(this.params.columnGroup.isExpandable()){let t=this.params.columnGroup.isExpanded();pe(this.agOpened,t),pe(this.agClosed,!t)}else pe(this.agOpened,!1),pe(this.agClosed,!1)}addInIcon(e,t){let i=ze(e,this.gos,null);i&&t.appendChild(i)}addGroupExpandIcon(){if(!this.params.columnGroup.isExpandable()){pe(this.agOpened,!1),pe(this.agClosed,!1);return}}setupLabel(){let{displayName:e,columnGroup:t}=this.params;if(M(e)){let i=qe(e,!0);this.agLabel.textContent=i}this.addOrRemoveCssClass("ag-sticky-label",!t.getColGroupDef()?.suppressStickyLabel)}},
|
|
22
|
+
</div>`),this.agOpened=z,this.agClosed=z,this.agLabel=z}wireBeans(e){this.columnModel=e.columnModel}destroy(){super.destroy()}init(e){this.params=e,this.checkWarnings(),this.setupLabel(),this.addGroupExpandIcon(),this.setupExpandIcons()}checkWarnings(){this.params.template&&S("A template was provided for Header Group Comp - templates are only supported for Header Comps (not groups)")}setupExpandIcons(){this.addInIcon("columnGroupOpened",this.agOpened),this.addInIcon("columnGroupClosed",this.agClosed);let e=s=>{if(ut(s))return;let r=!this.params.columnGroup.isExpanded();this.columnModel.setColumnGroupOpened(this.params.columnGroup.getProvidedColumnGroup(),r,"uiColumnExpanded")};this.addTouchAndClickListeners(this.agClosed,e),this.addTouchAndClickListeners(this.agOpened,e);let t=s=>{oi(s)};this.addManagedElementListeners(this.agClosed,{dblclick:t}),this.addManagedElementListeners(this.agOpened,{dblclick:t}),this.addManagedElementListeners(this.getGui(),{dblclick:e}),this.updateIconVisibility();let i=this.params.columnGroup.getProvidedColumnGroup(),o=this.updateIconVisibility.bind(this);this.addManagedListeners(i,{expandedChanged:o,expandableChanged:o})}addTouchAndClickListeners(e,t){let i=new xt(e,!0);this.addManagedListeners(i,{tap:t}),this.addDestroyFunc(()=>i.destroy()),this.addManagedElementListeners(e,{click:t})}updateIconVisibility(){if(this.params.columnGroup.isExpandable()){let t=this.params.columnGroup.isExpanded();pe(this.agOpened,t),pe(this.agClosed,!t)}else pe(this.agOpened,!1),pe(this.agClosed,!1)}addInIcon(e,t){let i=ze(e,this.gos,null);i&&t.appendChild(i)}addGroupExpandIcon(){if(!this.params.columnGroup.isExpandable()){pe(this.agOpened,!1),pe(this.agClosed,!1);return}}setupLabel(){let{displayName:e,columnGroup:t}=this.params;if(M(e)){let i=qe(e,!0);this.agLabel.textContent=i}this.addOrRemoveCssClass("ag-sticky-label",!t.getColGroupDef()?.suppressStickyLabel)}},Xc="\u2191",Zc="\u2193",ed=class extends ce{constructor(){super(),this.refreshCount=0;let e=document.createElement("span"),t=document.createElement("span");t.setAttribute("class","ag-value-change-delta");let i=document.createElement("span");i.setAttribute("class","ag-value-change-value"),e.appendChild(t),e.appendChild(i),this.setTemplateFromElement(e)}wireBeans(e){this.filterManager=e.filterManager}init(e){this.eValue=this.queryForHtmlElement(".ag-value-change-value"),this.eDelta=this.queryForHtmlElement(".ag-value-change-delta"),this.refresh(e,!0)}showDelta(e,t){let i=Math.abs(t),o=e.formatValue(i),s=M(o)?o:i,r=t>=0;r?this.eDelta.textContent=Xc+s:this.eDelta.textContent=Zc+s,this.eDelta.classList.toggle("ag-value-change-delta-up",r),this.eDelta.classList.toggle("ag-value-change-delta-down",!r)}setTimerToRemoveDelta(){this.refreshCount++;let e=this.refreshCount;this.getFrameworkOverrides().wrapIncoming(()=>{window.setTimeout(()=>{e===this.refreshCount&&this.hideDeltaValue()},2e3)})}hideDeltaValue(){this.eValue.classList.remove("ag-value-change-value-highlight"),Be(this.eDelta)}refresh(e,t=!1){let i=e.value;if(i===this.lastValue||(M(e.valueFormatted)?this.eValue.textContent=e.valueFormatted:M(e.value)?this.eValue.textContent=i:Be(this.eValue),this.filterManager?.isSuppressFlashingCellsBecauseFiltering()))return!1;if(typeof i=="number"&&typeof this.lastValue=="number"){let o=i-this.lastValue;this.showDelta(e,o)}return this.lastValue&&this.eValue.classList.add("ag-value-change-value-highlight"),t||this.setTimerToRemoveDelta(),this.lastValue=i,!0}},td=class extends ce{constructor(){super(),this.refreshCount=0;let e=document.createElement("span"),t=document.createElement("span");t.setAttribute("class","ag-value-slide-current"),e.appendChild(t),this.setTemplateFromElement(e),this.eCurrent=this.queryForHtmlElement(".ag-value-slide-current")}wireBeans(e){this.filterManager=e.filterManager}init(e){this.refresh(e,!0)}addSlideAnimation(){this.refreshCount++;let e=this.refreshCount;this.ePrevious&&this.getGui().removeChild(this.ePrevious);let t=document.createElement("span");t.setAttribute("class","ag-value-slide-previous ag-value-slide-out"),this.ePrevious=t,this.ePrevious.textContent=this.eCurrent.textContent,this.getGui().insertBefore(this.ePrevious,this.eCurrent),this.getFrameworkOverrides().wrapIncoming(()=>{window.setTimeout(()=>{e===this.refreshCount&&this.ePrevious.classList.add("ag-value-slide-out-end")},50),window.setTimeout(()=>{e===this.refreshCount&&(this.getGui().removeChild(this.ePrevious),this.ePrevious=null)},3e3)})}refresh(e,t=!1){let i=e.value;return K(i)&&(i=""),i===this.lastValue||this.filterManager?.isSuppressFlashingCellsBecauseFiltering()?!1:(t||this.addSlideAnimation(),this.lastValue=i,M(e.valueFormatted)?this.eCurrent.textContent=e.valueFormatted:M(e.value)?this.eCurrent.textContent=i:Be(this.eCurrent),!0)}},y=class{};y.BACKSPACE="Backspace";y.TAB="Tab";y.ENTER="Enter";y.ESCAPE="Escape";y.SPACE=" ";y.LEFT="ArrowLeft";y.UP="ArrowUp";y.RIGHT="ArrowRight";y.DOWN="ArrowDown";y.DELETE="Delete";y.F2="F2";y.PAGE_UP="PageUp";y.PAGE_DOWN="PageDown";y.PAGE_HOME="Home";y.PAGE_END="End";y.A="KeyA";y.C="KeyC";y.D="KeyD";y.V="KeyV";y.X="KeyX";y.Y="KeyY";y.Z="KeyZ";var id=class extends ce{constructor(e,t,i){super(t,i),this.labelSeparator="",this.labelAlignment="left",this.disabled=!1,this.label="",this.config=e||{}}postConstruct(){this.addCssClass("ag-labeled"),this.eLabel.classList.add("ag-label");let{labelSeparator:e,label:t,labelWidth:i,labelAlignment:o,disabled:s}=this.config;s!=null&&this.setDisabled(s),e!=null&&this.setLabelSeparator(e),t!=null&&this.setLabel(t),i!=null&&this.setLabelWidth(i),this.setLabelAlignment(o||this.labelAlignment),this.refreshLabel()}refreshLabel(){Be(this.eLabel),typeof this.label=="string"?this.eLabel.innerText=this.label+this.labelSeparator:this.label&&this.eLabel.appendChild(this.label),this.label===""?(pe(this.eLabel,!1),Xe(this.eLabel,"presentation")):(pe(this.eLabel,!0),Xe(this.eLabel,null))}setLabelSeparator(e){return this.labelSeparator===e?this:(this.labelSeparator=e,this.label!=null&&this.refreshLabel(),this)}getLabelId(){return this.eLabel.id=this.eLabel.id||`ag-${this.getCompId()}-label`,this.eLabel.id}getLabel(){return this.label}setLabel(e){return this.label===e?this:(this.label=e,this.refreshLabel(),this)}setLabelAlignment(e){let i=this.getGui().classList;return i.toggle("ag-label-align-left",e==="left"),i.toggle("ag-label-align-right",e==="right"),i.toggle("ag-label-align-top",e==="top"),this}setLabelEllipsis(e){return this.eLabel.classList.toggle("ag-label-ellipsis",e),this}setLabelWidth(e){return this.label==null?this:(go(this.eLabel,e),this)}setDisabled(e){e=!!e;let t=this.getGui();return Ii(t,e),t.classList.toggle("ag-disabled",e),this.disabled=e,this}isDisabled(){return!!this.disabled}},Qn=class extends id{constructor(e,t,i,o){super(e,t,i),this.className=o}postConstruct(){super.postConstruct();let{width:e,value:t,onValueChange:i}=this.config;e!=null&&this.setWidth(e),t!=null&&this.setValue(t),i!=null&&this.onValueChange(i),this.className&&this.addCssClass(this.className),this.refreshAriaLabelledBy()}setLabel(e){return super.setLabel(e),this.refreshAriaLabelledBy(),this}refreshAriaLabelledBy(){let e=this.getAriaElement(),t=this.getLabelId(),i=this.getLabel();i==null||i==""||bc(e)!==null?ki(e,""):ki(e,t??"")}setAriaLabel(e){return si(this.getAriaElement(),e),this.refreshAriaLabelledBy(),this}onValueChange(e){return this.addManagedListeners(this,{fieldValueChanged:()=>e(this.getValue())}),this}getWidth(){return this.getGui().clientWidth}setWidth(e){return Je(this.getGui(),e),this}getPreviousValue(){return this.previousValue}getValue(){return this.value}setValue(e,t){return this.value===e?this:(this.previousValue=this.value,this.value=e,t||this.dispatchLocalEvent({type:"fieldValueChanged"}),this)}},Ot=class extends Qn{constructor(e,t,i="text",o="input"){super(e,e?.template??`
|
|
23
23
|
<div role="presentation">
|
|
24
24
|
<div data-ref="eLabel" class="ag-input-field-label"></div>
|
|
25
25
|
<div data-ref="eWrapper" class="ag-wrapper ag-input-wrapper" role="presentation">
|
|
26
26
|
<${o} data-ref="eInput" class="ag-input-field-input"></${o}>
|
|
27
27
|
</div>
|
|
28
|
-
</div>`,[],t),this.inputType=i,this.displayFieldTag=o,this.eLabel=z,this.eWrapper=z,this.eInput=z}postConstruct(){super.postConstruct(),this.setInputType(),this.eLabel.classList.add(`${this.className}-label`),this.eWrapper.classList.add(`${this.className}-input-wrapper`),this.eInput.classList.add(`${this.className}-input`),this.addCssClass("ag-input-field"),this.eInput.id=this.eInput.id||`ag-${this.getCompId()}-input`;let{inputName:e,inputWidth:t}=this.config;e!=null&&this.setInputName(e),t!=null&&this.setInputWidth(t),this.addInputListeners(),this.activateTabIndex([this.eInput])}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:e=>this.setValue(e.target.value)})}setInputType(){this.displayFieldTag==="input"&&this.eInput.setAttribute("type",this.inputType)}getInputElement(){return this.eInput}setInputWidth(e){return
|
|
28
|
+
</div>`,[],t),this.inputType=i,this.displayFieldTag=o,this.eLabel=z,this.eWrapper=z,this.eInput=z}postConstruct(){super.postConstruct(),this.setInputType(),this.eLabel.classList.add(`${this.className}-label`),this.eWrapper.classList.add(`${this.className}-input-wrapper`),this.eInput.classList.add(`${this.className}-input`),this.addCssClass("ag-input-field"),this.eInput.id=this.eInput.id||`ag-${this.getCompId()}-input`;let{inputName:e,inputWidth:t}=this.config;e!=null&&this.setInputName(e),t!=null&&this.setInputWidth(t),this.addInputListeners(),this.activateTabIndex([this.eInput])}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:e=>this.setValue(e.target.value)})}setInputType(){this.displayFieldTag==="input"&&this.eInput.setAttribute("type",this.inputType)}getInputElement(){return this.eInput}setInputWidth(e){return go(this.eWrapper,e),this}setInputName(e){return this.getInputElement().setAttribute("name",e),this}getFocusableElement(){return this.eInput}setMaxLength(e){let t=this.eInput;return t.maxLength=e,this}setInputPlaceholder(e){return je(this.eInput,"placeholder",e),this}setInputAriaLabel(e){return si(this.eInput,e),this.refreshAriaLabelledBy(),this}setDisabled(e){return Ii(this.eInput,e),super.setDisabled(e)}setAutoComplete(e){if(e===!0)je(this.eInput,"autocomplete",null);else{let t=typeof e=="string"?e:"off";je(this.eInput,"autocomplete",t)}return this}},Gs=class extends Ot{constructor(e,t="ag-checkbox",i="checkbox"){super(e,t,i),this.labelAlignment="right",this.selected=!1,this.readOnly=!1,this.passive=!1}postConstruct(){super.postConstruct();let{readOnly:e,passive:t}=this.config;typeof e=="boolean"&&this.setReadOnly(e),typeof t=="boolean"&&this.setPassive(t)}addInputListeners(){this.addManagedElementListeners(this.eInput,{click:this.onCheckboxClick.bind(this)}),this.addManagedElementListeners(this.eLabel,{click:this.toggle.bind(this)})}getNextValue(){return this.selected===void 0?!0:!this.selected}setPassive(e){this.passive=e}isReadOnly(){return this.readOnly}setReadOnly(e){this.eWrapper.classList.toggle("ag-disabled",e),this.eInput.disabled=e,this.readOnly=e}setDisabled(e){return this.eWrapper.classList.toggle("ag-disabled",e),super.setDisabled(e)}toggle(){if(this.eInput.disabled)return;let e=this.isSelected(),t=this.getNextValue();this.passive?this.dispatchChange(t,e):this.setValue(t)}getValue(){return this.isSelected()}setValue(e,t){return this.refreshSelectedClass(e),this.setSelected(e,t),this}setName(e){let t=this.getInputElement();return t.name=e,this}isSelected(){return this.selected}setSelected(e,t){this.isSelected()!==e&&(this.previousValue=this.isSelected(),e=this.selected=typeof e=="boolean"?e:void 0,this.eInput.checked=e,this.eInput.indeterminate=e===void 0,t||this.dispatchChange(this.selected,this.previousValue))}dispatchChange(e,t,i){this.dispatchLocalEvent({type:"fieldValueChanged",selected:e,previousValue:t,event:i});let o=this.getInputElement();this.eventService.dispatchEvent({type:"checkboxChanged",id:o.id,name:o.name,selected:e,previousValue:t})}onCheckboxClick(e){if(this.passive||this.eInput.disabled)return;let t=this.isSelected(),i=this.selected=e.target.checked;this.refreshSelectedClass(i),this.dispatchChange(i,t,e)}refreshSelectedClass(e){this.eWrapper.classList.toggle("ag-checked",e===!0),this.eWrapper.classList.toggle("ag-indeterminate",e==null)}},Ns={selector:"AG-CHECKBOX",component:Gs},od=class extends ce{constructor(){super(`
|
|
29
29
|
<div class="ag-cell-wrapper ag-checkbox-cell" role="presentation">
|
|
30
30
|
<ag-checkbox role="presentation" data-ref="eCheckbox"></ag-checkbox>
|
|
31
|
-
</div>`,[
|
|
31
|
+
</div>`,[Ns]),this.eCheckbox=z}init(e){this.refresh(e);let t=this.eCheckbox.getInputElement();t.setAttribute("tabindex","-1"),Pn(t,"polite"),this.addManagedListeners(t,{click:i=>{if(oi(i),this.eCheckbox.isDisabled())return;let o=this.eCheckbox.getValue();this.onCheckboxChanged(o)},dblclick:i=>{oi(i)}}),this.addManagedElementListeners(this.params.eGridCell,{keydown:i=>{if(i.key===y.SPACE&&!this.eCheckbox.isDisabled()){this.params.eGridCell===fe(this.gos)&&this.eCheckbox.toggle();let o=this.eCheckbox.getValue();this.onCheckboxChanged(o),i.preventDefault()}}})}refresh(e){return this.params=e,this.updateCheckbox(e),!0}updateCheckbox(e){let t,i=!0;if(e.node.group&&e.column)if(typeof e.value=="boolean")t=e.value;else{let a=e.column.getColId();a.startsWith(yo)?t=e.value==null||e.value===""?void 0:e.value==="true":e.node.aggData&&e.node.aggData[a]!==void 0?t=e.value??void 0:i=!1}else t=e.value??void 0;if(!i){this.eCheckbox.setDisplayed(!1);return}this.eCheckbox.setValue(t);let o=e.disabled!=null?e.disabled:!e.column?.isCellEditable(e.node);this.eCheckbox.setDisabled(o);let s=this.localeService.getLocaleTextFunc(),r=Ms(s,t),n=o?r:`${s("ariaToggleCellValue","Press SPACE to toggle cell value")} (${r})`;this.eCheckbox.setInputAriaLabel(n)}onCheckboxChanged(e){let{column:t,node:i,value:o}=this.params;this.eventService.dispatchEvent({type:"cellEditingStarted",column:t,colDef:t?.getColDef(),data:i.data,node:i,rowIndex:i.rowIndex,rowPinned:i.rowPinned,value:o});let s=this.params.node.setDataValue(this.params.column,e,"edit");this.eventService.dispatchEvent({type:"cellEditingStopped",column:t,colDef:t?.getColDef(),data:i.data,node:i,rowIndex:i.rowIndex,rowPinned:i.rowPinned,value:o,oldValue:o,newValue:e,valueChanged:s}),s||this.updateCheckbox(this.params)}},sd=class extends ce{constructor(){super(`<div class="ag-loading">
|
|
32
32
|
<span class="ag-loading-icon" data-ref="eLoadingIcon"></span>
|
|
33
33
|
<span class="ag-loading-text" data-ref="eLoadingText"></span>
|
|
34
|
-
</div>`),this.eLoadingIcon=z,this.eLoadingText=z}init(e){e.node.failedLoad?this.setupFailed():this.setupLoading()}setupFailed(){let e=this.localeService.getLocaleTextFunc();this.eLoadingText.innerText=e("loadingError","ERR")}setupLoading(){let e=ze("groupLoading",this.gos,null);e&&this.eLoadingIcon.appendChild(e);let t=this.localeService.getLocaleTextFunc();this.eLoadingText.innerText=t("loadingOoo","Loading")}refresh(e){return!1}destroy(){super.destroy()}},od=class extends ce{constructor(){super('<div class="ag-skeleton-container"></div>')}init(e){let t=`ag-cell-skeleton-renderer-${this.getCompId()}`;this.getGui().setAttribute("id",t),this.addDestroyFunc(()=>ki(e.eParentOfValue)),ki(e.eParentOfValue,t),e.node.failedLoad?this.setupFailed():this.setupLoading(e)}setupFailed(){let e=this.localeService.getLocaleTextFunc();this.getGui().innerText=e("loadingError","ERR");let t=e("ariaSkeletonCellLoadingFailed","Row failed to load");si(this.getGui(),t)}setupLoading(e){let i=ve(this.gos).createElement("div");i.classList.add("ag-skeleton-effect");let o=e.node.rowIndex;if(o!=null){let n=75+25*(o%2===0?Math.sin(o):Math.cos(o));i.style.width=`${n}%`}this.getGui().appendChild(i);let r=this.localeService.getLocaleTextFunc()("ariaSkeletonCellLoading","Row data is loading");si(this.getGui(),r)}refresh(e){return!1}destroy(){super.destroy()}},$n=class extends ce{constructor(){super()}destroy(){super.destroy()}},sd=class extends $n{init(){let e=dt(this.gos.get("overlayLoadingTemplate")?.trim());if(this.setTemplate(e??'<span aria-live="polite" aria-atomic="true" class="ag-overlay-loading-center"></span>'),!e){let t=this.localeService.getLocaleTextFunc();setTimeout(()=>{this.getGui().textContent=t("loadingOoo","Loading...")})}}},rd=class extends $n{init(){let e=dt(this.gos.get("overlayNoRowsTemplate")?.trim());if(this.setTemplate(e??'<span class="ag-overlay-no-rows-center"></span>'),!e){let t=this.localeService.getLocaleTextFunc();setTimeout(()=>{this.getGui().textContent=t("noRowsToShow","No Rows To Show")})}}},li=class extends ce{isPopup(){return!0}setParentComponent(e){e.addCssClass("ag-has-popup"),super.setParentComponent(e)}destroy(){let e=this.parentComponent;e&&e.isAlive()&&e.getGui().classList.remove("ag-has-popup"),super.destroy()}},nd=class extends li{constructor(){super('<div class="ag-tooltip"></div>')}init(e){let{value:t}=e;this.getGui().textContent=qe(t,!0)}};function Qn(e){let{inputValue:t,allSuggestions:i,hideIrrelevant:o,filterByPercentageOfBestMatch:s,addSequentialWeight:r}=e,n=i.map((c,d)=>({value:c,relevance:ld(t.toLowerCase(),c.toLocaleLowerCase(),r),idx:d}));if(n.sort((c,d)=>d.relevance-c.relevance),o&&(n=n.filter(c=>c.relevance!==0)),n.length>0&&s&&s>0){let d=n[0].relevance*s;n=n.filter(u=>d-u.relevance<0)}let a=[],l=[];for(let c of n)a.push(c.value),l.push(c.idx);return{values:a,indices:l}}function ad(e){let t=[],i=e.length;for(let o=1;o<=i;o++)for(let s=0;s<=i-o;s++){let r=s+o-1;t.push(e.slice(s,r+1))}return t}function ld(e,t,i=!1){let o=e.replace(/\s/g,""),s=t.replace(/\s/g,""),r=o.length,n=s.length,a=new Array(r+1).fill(null).map(()=>new Array(n+1).fill(0));for(let u=0;u<=r;u+=1)a[u][0]=u;for(let u=0;u<=n;u+=1)a[0][u]=u;for(let u=1;u<=r;u++)for(let h=1;h<=n;h++)o[u-1]===s[h-1]?a[u][h]=a[u-1][h-1]:a[u][h]=1+Math.min(a[u][h-1],Math.min(a[u-1][h],a[u-1][h-1]));let l=a[r][n],d=Math.max(r,n)-l;if(i){let u=ad(o);for(let h=0;h<u.length;h++){let g=u[h];s.indexOf(g)!==-1&&(d+=1,d*=g.length)}}return d}var cd=class extends b{constructor(){super(...arguments),this.beanName="userComponentRegistry",this.agGridDefaults={agDragAndDropImage:jc,agColumnHeader:ds,agColumnGroupHeader:Qc,agSortIndicator:Ls,agAnimateShowChangeCellRenderer:Xc,agAnimateSlideCellRenderer:Zc,agLoadingCellRenderer:id,agSkeletonCellRenderer:od,agCheckboxCellRenderer:td,agLoadingOverlay:sd,agNoRowsOverlay:rd,agTooltipComponent:nd},this.agGridDefaultParams={},this.enterpriseAgDefaultCompsModule={agSetColumnFilter:"@ag-grid-enterprise/set-filter",agSetColumnFloatingFilter:"@ag-grid-enterprise/set-filter",agMultiColumnFilter:"@ag-grid-enterprise/multi-filter",agMultiColumnFloatingFilter:"@ag-grid-enterprise/multi-filter",agGroupColumnFilter:"@ag-grid-enterprise/row-grouping",agGroupColumnFloatingFilter:"@ag-grid-enterprise/row-grouping",agGroupCellRenderer:"@ag-grid-enterprise/row-grouping",agGroupRowRenderer:"@ag-grid-enterprise/row-grouping",agRichSelect:"@ag-grid-enterprise/rich-select",agRichSelectCellEditor:"@ag-grid-enterprise/rich-select",agDetailCellRenderer:"@ag-grid-enterprise/master-detail",agSparklineCellRenderer:"@ag-grid-enterprise/sparklines"},this.jsComps={}}postConstruct(){let e=this.gos.get("components");e!=null&&We(e,(t,i)=>this.registerJsComponent(t,i))}registerDefaultComponent(e,t,i){this.agGridDefaults[e]=t,i&&(this.agGridDefaultParams[e]=i)}registerJsComponent(e,t){this.jsComps[e]=t}retrieve(e,t){let i=(a,l,c)=>({componentFromFramework:l,component:a,params:c}),o=this.getFrameworkOverrides().frameworkComponent(t,this.gos.get("components"));if(o!=null)return i(o,!0);let s=this.jsComps[t];if(s){let a=this.getFrameworkOverrides().isFrameworkComponent(s);return i(s,a)}let r=this.agGridDefaults[t];if(r)return i(r,!1,this.agGridDefaultParams[t]);let n=this.enterpriseAgDefaultCompsModule[t];return n?this.gos.assertModuleRegistered(n,`AG Grid '${e}' component: ${t}`):Cs(()=>{this.warnAboutMissingComponent(e,t)},"MissingComp"+t),null}warnAboutMissingComponent(e,t){let i=[...Object.keys(this.agGridDefaults).filter(s=>!["agCellEditor","agGroupRowRenderer","agSortIndicator"].includes(s)),...Object.keys(this.jsComps)],o=Qn({inputValue:t,allSuggestions:i,hideIrrelevant:!0,filterByPercentageOfBestMatch:.8}).values;S(`Could not find '${t}' component. It was configured as "${e}: '${t}'" but it wasn't found in the list of registered components.`),o.length>0&&S(` Did you mean: [${o.slice(0,3)}]?`),S(`If using a custom component check it has been registered as described in: ${this.getFrameworkOverrides().getDocLink("components/")}`)}},ae=class wi{constructor(t){this.status=0,this.resolution=null,this.waiters=[],t(i=>this.onDone(i),i=>this.onReject(i))}static all(t){return t.length?new wi(i=>{let o=t.length,s=new Array(o);t.forEach((r,n)=>{r.then(a=>{s[n]=a,o--,o===0&&i(s)})})}):wi.resolve()}static resolve(t=null){return new wi(i=>i(t))}then(t){return new wi(i=>{this.status===1?i(t(this.resolution)):this.waiters.push(o=>i(t(o)))})}onDone(t){this.status=1,this.resolution=t,this.waiters.forEach(i=>i(t))}onReject(t){}},dd={propertyName:"dateComponent",cellRenderer:!1},ud={propertyName:"dragAndDropImageComponent",cellRenderer:!1},hd={propertyName:"headerComponent",cellRenderer:!1},gd={propertyName:"headerGroupComponent",cellRenderer:!1},Ur={propertyName:"cellRenderer",cellRenderer:!0},pd={propertyName:"cellRenderer",cellRenderer:!1},fd={propertyName:"loadingCellRenderer",cellRenderer:!0},md={propertyName:"cellEditor",cellRenderer:!1},_r={propertyName:"innerRenderer",cellRenderer:!0},vd={propertyName:"loadingOverlayComponent",cellRenderer:!1},Cd={propertyName:"noRowsOverlayComponent",cellRenderer:!1},wd={propertyName:"tooltipComponent",cellRenderer:!1},Ns={propertyName:"filter",cellRenderer:!1},yd={propertyName:"floatingFilterComponent",cellRenderer:!1},bd={propertyName:"toolPanel",cellRenderer:!1},Sd={propertyName:"statusPanel",cellRenderer:!1},Rd={propertyName:"fullWidthCellRenderer",cellRenderer:!0},Fd={propertyName:"loadingCellRenderer",cellRenderer:!0},xd={propertyName:"groupRowRenderer",cellRenderer:!0},Dd={propertyName:"detailCellRenderer",cellRenderer:!0},Ed={propertyName:"menuItem",cellRenderer:!1},qn=class Jn extends b{constructor(){super(...arguments),this.beanName="userComponentFactory"}wireBeans(t){this.agComponentUtils=t.agComponentUtils,this.componentMetadataProvider=t.componentMetadataProvider,this.userComponentRegistry=t.userComponentRegistry,this.frameworkComponentWrapper=t.frameworkComponentWrapper,this.gridOptions=t.gridOptions}getDragAndDropImageCompDetails(t){return this.getCompDetails(this.gridOptions,ud,"agDragAndDropImage",t,!0)}getHeaderCompDetails(t,i){return this.getCompDetails(t,hd,"agColumnHeader",i)}getHeaderGroupCompDetails(t){let i=t.columnGroup.getColGroupDef();return this.getCompDetails(i,gd,"agColumnGroupHeader",t)}getFullWidthCellRendererDetails(t){return this.getCompDetails(this.gridOptions,Rd,null,t,!0)}getFullWidthLoadingCellRendererDetails(t){return this.getCompDetails(this.gridOptions,Fd,"agLoadingCellRenderer",t,!0)}getFullWidthGroupCellRendererDetails(t){return this.getCompDetails(this.gridOptions,xd,"agGroupRowRenderer",t,!0)}getFullWidthDetailCellRendererDetails(t){return this.getCompDetails(this.gridOptions,Dd,"agDetailCellRenderer",t,!0)}getInnerRendererDetails(t,i){return this.getCompDetails(t,_r,null,i)}getFullWidthGroupRowInnerCellRenderer(t,i){return this.getCompDetails(t,_r,null,i)}getCellRendererDetails(t,i){return this.getCompDetails(t,Ur,null,i)}getEditorRendererDetails(t,i){return this.getCompDetails(t,pd,null,i)}getLoadingCellRendererDetails(t,i){return this.getCompDetails(t,fd,"agSkeletonCellRenderer",i,!0)}getCellEditorDetails(t,i){return this.getCompDetails(t,md,"agCellEditor",i,!0)}getFilterDetails(t,i,o){return this.getCompDetails(t,Ns,o,i,!0)}getDateCompDetails(t){return this.getCompDetails(this.gridOptions,dd,"agDateInput",t,!0)}getLoadingOverlayCompDetails(t){return this.getCompDetails(this.gridOptions,vd,"agLoadingOverlay",t,!0)}getNoRowsOverlayCompDetails(t){return this.getCompDetails(this.gridOptions,Cd,"agNoRowsOverlay",t,!0)}getTooltipCompDetails(t){return this.getCompDetails(t.colDef,wd,"agTooltipComponent",t,!0)}getSetFilterCellRendererDetails(t,i){return this.getCompDetails(t,Ur,null,i)}getFloatingFilterCompDetails(t,i,o){return this.getCompDetails(t,yd,o,i)}getToolPanelCompDetails(t,i){return this.getCompDetails(t,bd,null,i,!0)}getStatusPanelCompDetails(t,i){return this.getCompDetails(t,Sd,null,i,!0)}getMenuItemCompDetails(t,i){return this.getCompDetails(t,Ed,"agMenuItem",i,!0)}getCompDetails(t,i,o,s,r=!1){let{propertyName:n,cellRenderer:a}=i,{compName:l,jsComp:c,fwComp:d,paramsFromSelector:u,popupFromSelector:h,popupPositionFromSelector:g}=Jn.getCompKeys(this.frameworkOverrides,t,i,s),f,m=C=>{let R=this.userComponentRegistry.retrieve(n,C);R&&(c=R.componentFromFramework?void 0:R.component,d=R.componentFromFramework?R.component:void 0,f=R.params)};if(l!=null&&m(l),c==null&&d==null&&o!=null&&m(o),c&&a&&!this.agComponentUtils.doesImplementIComponent(c)&&(c=this.agComponentUtils.adaptFunction(n,c)),!c&&!d){r&&Q(`Could not find component ${l}, did you forget to configure this component?`);return}let p=this.mergeParamsWithApplicationProvidedParams(t,i,s,u,f),v=c==null,w=c||d;return{componentFromFramework:v,componentClass:w,params:p,type:i,popupFromSelector:h,popupPositionFromSelector:g,newAgStackInstance:()=>this.newAgStackInstance(w,v,p,i)}}static getCompKeys(t,i,o,s){let{propertyName:r}=o,n,a,l,c,d,u;if(i){let h=i,g=h[r+"Selector"],f=g?g(s):null,m=p=>{typeof p=="string"?n=p:p!=null&&p!==!0&&(t.isFrameworkComponent(p)?l=p:a=p)};f?(m(f.component),c=f.params,d=f.popup,u=f.popupPosition):m(h[r])}return{compName:n,jsComp:a,fwComp:l,paramsFromSelector:c,popupFromSelector:d,popupPositionFromSelector:u}}newAgStackInstance(t,i,o,s){let r=s.propertyName,n=!i,a;if(n)a=new t;else{let c=this.componentMetadataProvider.retrieve(r);a=this.frameworkComponentWrapper.wrap(t,c.mandatoryMethodList,c.optionalMethodList,s)}let l=this.initComponent(a,o);return l==null?ae.resolve(a):l.then(()=>a)}mergeParamsWithApplicationProvidedParams(t,i,o,s=null,r){let n=this.gos.getGridCommonParams();Ie(n,o),r&&Ie(n,r);let a=t,l=a&&a[i.propertyName+"Params"];if(typeof l=="function"){let c=l(o);Ie(n,c)}else typeof l=="object"&&Ie(n,l);return Ie(n,s),n}initComponent(t,i){if(this.createBean(t),t.init!=null)return t.init(i)}};function Ri(e){let t=e;return t!=null&&t.getFrameworkComponentInstance!=null?t.getFrameworkComponentInstance():e}var bo=class ie{static register(t){ie.__register(t,!0,void 0)}static registerModules(t){ie.__registerModules(t,!0,void 0)}static __register(t,i,o){ie.runVersionChecks(t),o!==void 0?(ie.areGridScopedModules=!0,ie.gridModulesMap[o]===void 0&&(ie.gridModulesMap[o]={}),ie.gridModulesMap[o][t.moduleName]=t):ie.globalModulesMap[t.moduleName]=t,ie.setModuleBased(i)}static __unRegisterGridModules(t){delete ie.gridModulesMap[t]}static __registerModules(t,i,o){ie.setModuleBased(i),t&&t.forEach(s=>ie.__register(s,i,o))}static isValidModuleVersion(t){let[i,o]=t.version.split(".")||[],[s,r]=ie.currentModuleVersion.split(".")||[];return i===s&&o===r}static runVersionChecks(t){ie.currentModuleVersion||(ie.currentModuleVersion=t.version);let i=o=>`You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. ${o} Please update all modules to the same version.`;if(t.version?ie.isValidModuleVersion(t)||Q(i(`'${t.moduleName}' is version ${t.version} but the other modules are version ${ie.currentModuleVersion}.`)):Q(i(`'${t.moduleName}' is incompatible.`)),t.validate){let o=t.validate();o.isValid||Q(`${o.message}`)}}static setModuleBased(t){ie.moduleBased===void 0?ie.moduleBased=t:ie.moduleBased!==t&&(Q("AG Grid: You are mixing modules (i.e. @ag-grid-community/core) and packages (ag-grid-community) - you can only use one or the other of these mechanisms."),Q("Please see https://www.ag-grid.com/javascript-grid/modules/ for more information."))}static __setIsBundled(){ie.isBundled=!0}static __assertRegistered(t,i,o){if(this.__isRegistered(t,o))return!0;let s;if(ie.isBundled)s=`AG Grid: unable to use ${i} as 'ag-grid-enterprise' has not been loaded. Check you are using the Enterprise bundle:
|
|
34
|
+
</div>`),this.eLoadingIcon=z,this.eLoadingText=z}init(e){e.node.failedLoad?this.setupFailed():this.setupLoading()}setupFailed(){let e=this.localeService.getLocaleTextFunc();this.eLoadingText.innerText=e("loadingError","ERR")}setupLoading(){let e=ze("groupLoading",this.gos,null);e&&this.eLoadingIcon.appendChild(e);let t=this.localeService.getLocaleTextFunc();this.eLoadingText.innerText=t("loadingOoo","Loading")}refresh(e){return!1}destroy(){super.destroy()}},rd=class extends ce{constructor(){super('<div class="ag-skeleton-container"></div>')}init(e){let t=`ag-cell-skeleton-renderer-${this.getCompId()}`;this.getGui().setAttribute("id",t),this.addDestroyFunc(()=>ki(e.eParentOfValue)),ki(e.eParentOfValue,t),e.node.failedLoad?this.setupFailed():this.setupLoading(e)}setupFailed(){let e=this.localeService.getLocaleTextFunc();this.getGui().innerText=e("loadingError","ERR");let t=e("ariaSkeletonCellLoadingFailed","Row failed to load");si(this.getGui(),t)}setupLoading(e){let i=ve(this.gos).createElement("div");i.classList.add("ag-skeleton-effect");let o=e.node.rowIndex;if(o!=null){let n=75+25*(o%2===0?Math.sin(o):Math.cos(o));i.style.width=`${n}%`}this.getGui().appendChild(i);let r=this.localeService.getLocaleTextFunc()("ariaSkeletonCellLoading","Row data is loading");si(this.getGui(),r)}refresh(e){return!1}destroy(){super.destroy()}},qn=class extends ce{constructor(){super()}destroy(){super.destroy()}},nd=class extends qn{init(){let e=dt(this.gos.get("overlayLoadingTemplate")?.trim());if(this.setTemplate(e??'<span aria-live="polite" aria-atomic="true" class="ag-overlay-loading-center"></span>'),!e){let t=this.localeService.getLocaleTextFunc();setTimeout(()=>{this.getGui().textContent=t("loadingOoo","Loading...")})}}},ad=class extends qn{init(){let e=dt(this.gos.get("overlayNoRowsTemplate")?.trim());if(this.setTemplate(e??'<span class="ag-overlay-no-rows-center"></span>'),!e){let t=this.localeService.getLocaleTextFunc();setTimeout(()=>{this.getGui().textContent=t("noRowsToShow","No Rows To Show")})}}},li=class extends ce{isPopup(){return!0}setParentComponent(e){e.addCssClass("ag-has-popup"),super.setParentComponent(e)}destroy(){let e=this.parentComponent;e&&e.isAlive()&&e.getGui().classList.remove("ag-has-popup"),super.destroy()}},ld=class extends li{constructor(){super('<div class="ag-tooltip"></div>')}init(e){let{value:t}=e;this.getGui().textContent=qe(t,!0)}};function Jn(e){let{inputValue:t,allSuggestions:i,hideIrrelevant:o,filterByPercentageOfBestMatch:s,addSequentialWeight:r}=e,n=i.map((c,d)=>({value:c,relevance:dd(t.toLowerCase(),c.toLocaleLowerCase(),r),idx:d}));if(n.sort((c,d)=>d.relevance-c.relevance),o&&(n=n.filter(c=>c.relevance!==0)),n.length>0&&s&&s>0){let d=n[0].relevance*s;n=n.filter(u=>d-u.relevance<0)}let a=[],l=[];for(let c of n)a.push(c.value),l.push(c.idx);return{values:a,indices:l}}function cd(e){let t=[],i=e.length;for(let o=1;o<=i;o++)for(let s=0;s<=i-o;s++){let r=s+o-1;t.push(e.slice(s,r+1))}return t}function dd(e,t,i=!1){let o=e.replace(/\s/g,""),s=t.replace(/\s/g,""),r=o.length,n=s.length,a=new Array(r+1).fill(null).map(()=>new Array(n+1).fill(0));for(let u=0;u<=r;u+=1)a[u][0]=u;for(let u=0;u<=n;u+=1)a[0][u]=u;for(let u=1;u<=r;u++)for(let h=1;h<=n;h++)o[u-1]===s[h-1]?a[u][h]=a[u-1][h-1]:a[u][h]=1+Math.min(a[u][h-1],Math.min(a[u-1][h],a[u-1][h-1]));let l=a[r][n],d=Math.max(r,n)-l;if(i){let u=cd(o);for(let h=0;h<u.length;h++){let g=u[h];s.indexOf(g)!==-1&&(d+=1,d*=g.length)}}return d}var ud=class extends b{constructor(){super(...arguments),this.beanName="userComponentRegistry",this.agGridDefaults={agDragAndDropImage:Yc,agColumnHeader:us,agColumnGroupHeader:Jc,agSortIndicator:Os,agAnimateShowChangeCellRenderer:ed,agAnimateSlideCellRenderer:td,agLoadingCellRenderer:sd,agSkeletonCellRenderer:rd,agCheckboxCellRenderer:od,agLoadingOverlay:nd,agNoRowsOverlay:ad,agTooltipComponent:ld},this.agGridDefaultParams={},this.enterpriseAgDefaultCompsModule={agSetColumnFilter:"@ag-grid-enterprise/set-filter",agSetColumnFloatingFilter:"@ag-grid-enterprise/set-filter",agMultiColumnFilter:"@ag-grid-enterprise/multi-filter",agMultiColumnFloatingFilter:"@ag-grid-enterprise/multi-filter",agGroupColumnFilter:"@ag-grid-enterprise/row-grouping",agGroupColumnFloatingFilter:"@ag-grid-enterprise/row-grouping",agGroupCellRenderer:"@ag-grid-enterprise/row-grouping",agGroupRowRenderer:"@ag-grid-enterprise/row-grouping",agRichSelect:"@ag-grid-enterprise/rich-select",agRichSelectCellEditor:"@ag-grid-enterprise/rich-select",agDetailCellRenderer:"@ag-grid-enterprise/master-detail",agSparklineCellRenderer:"@ag-grid-enterprise/sparklines"},this.jsComps={}}postConstruct(){let e=this.gos.get("components");e!=null&&We(e,(t,i)=>this.registerJsComponent(t,i))}registerDefaultComponent(e,t,i){this.agGridDefaults[e]=t,i&&(this.agGridDefaultParams[e]=i)}registerJsComponent(e,t){this.jsComps[e]=t}retrieve(e,t){let i=(a,l,c)=>({componentFromFramework:l,component:a,params:c}),o=this.getFrameworkOverrides().frameworkComponent(t,this.gos.get("components"));if(o!=null)return i(o,!0);let s=this.jsComps[t];if(s){let a=this.getFrameworkOverrides().isFrameworkComponent(s);return i(s,a)}let r=this.agGridDefaults[t];if(r)return i(r,!1,this.agGridDefaultParams[t]);let n=this.enterpriseAgDefaultCompsModule[t];return n?this.gos.assertModuleRegistered(n,`AG Grid '${e}' component: ${t}`):ws(()=>{this.warnAboutMissingComponent(e,t)},"MissingComp"+t),null}warnAboutMissingComponent(e,t){let i=[...Object.keys(this.agGridDefaults).filter(s=>!["agCellEditor","agGroupRowRenderer","agSortIndicator"].includes(s)),...Object.keys(this.jsComps)],o=Jn({inputValue:t,allSuggestions:i,hideIrrelevant:!0,filterByPercentageOfBestMatch:.8}).values;S(`Could not find '${t}' component. It was configured as "${e}: '${t}'" but it wasn't found in the list of registered components.`),o.length>0&&S(` Did you mean: [${o.slice(0,3)}]?`),S(`If using a custom component check it has been registered as described in: ${this.getFrameworkOverrides().getDocLink("components/")}`)}},ae=class wi{constructor(t){this.status=0,this.resolution=null,this.waiters=[],t(i=>this.onDone(i),i=>this.onReject(i))}static all(t){return t.length?new wi(i=>{let o=t.length,s=new Array(o);t.forEach((r,n)=>{r.then(a=>{s[n]=a,o--,o===0&&i(s)})})}):wi.resolve()}static resolve(t=null){return new wi(i=>i(t))}then(t){return new wi(i=>{this.status===1?i(t(this.resolution)):this.waiters.push(o=>i(t(o)))})}onDone(t){this.status=1,this.resolution=t,this.waiters.forEach(i=>i(t))}onReject(t){}},hd={propertyName:"dateComponent",cellRenderer:!1},gd={propertyName:"dragAndDropImageComponent",cellRenderer:!1},pd={propertyName:"headerComponent",cellRenderer:!1},fd={propertyName:"headerGroupComponent",cellRenderer:!1},jr={propertyName:"cellRenderer",cellRenderer:!0},md={propertyName:"cellRenderer",cellRenderer:!1},vd={propertyName:"loadingCellRenderer",cellRenderer:!0},Cd={propertyName:"cellEditor",cellRenderer:!1},Kr={propertyName:"innerRenderer",cellRenderer:!0},wd={propertyName:"loadingOverlayComponent",cellRenderer:!1},yd={propertyName:"noRowsOverlayComponent",cellRenderer:!1},bd={propertyName:"tooltipComponent",cellRenderer:!1},Hs={propertyName:"filter",cellRenderer:!1},Sd={propertyName:"floatingFilterComponent",cellRenderer:!1},Rd={propertyName:"toolPanel",cellRenderer:!1},Fd={propertyName:"statusPanel",cellRenderer:!1},xd={propertyName:"fullWidthCellRenderer",cellRenderer:!0},Dd={propertyName:"loadingCellRenderer",cellRenderer:!0},Ed={propertyName:"groupRowRenderer",cellRenderer:!0},Md={propertyName:"detailCellRenderer",cellRenderer:!0},Pd={propertyName:"menuItem",cellRenderer:!1},Xn=class Zn extends b{constructor(){super(...arguments),this.beanName="userComponentFactory"}wireBeans(t){this.agComponentUtils=t.agComponentUtils,this.componentMetadataProvider=t.componentMetadataProvider,this.userComponentRegistry=t.userComponentRegistry,this.frameworkComponentWrapper=t.frameworkComponentWrapper,this.gridOptions=t.gridOptions}getDragAndDropImageCompDetails(t){return this.getCompDetails(this.gridOptions,gd,"agDragAndDropImage",t,!0)}getHeaderCompDetails(t,i){return this.getCompDetails(t,pd,"agColumnHeader",i)}getHeaderGroupCompDetails(t){let i=t.columnGroup.getColGroupDef();return this.getCompDetails(i,fd,"agColumnGroupHeader",t)}getFullWidthCellRendererDetails(t){return this.getCompDetails(this.gridOptions,xd,null,t,!0)}getFullWidthLoadingCellRendererDetails(t){return this.getCompDetails(this.gridOptions,Dd,"agLoadingCellRenderer",t,!0)}getFullWidthGroupCellRendererDetails(t){return this.getCompDetails(this.gridOptions,Ed,"agGroupRowRenderer",t,!0)}getFullWidthDetailCellRendererDetails(t){return this.getCompDetails(this.gridOptions,Md,"agDetailCellRenderer",t,!0)}getInnerRendererDetails(t,i){return this.getCompDetails(t,Kr,null,i)}getFullWidthGroupRowInnerCellRenderer(t,i){return this.getCompDetails(t,Kr,null,i)}getCellRendererDetails(t,i){return this.getCompDetails(t,jr,null,i)}getEditorRendererDetails(t,i){return this.getCompDetails(t,md,null,i)}getLoadingCellRendererDetails(t,i){return this.getCompDetails(t,vd,"agSkeletonCellRenderer",i,!0)}getCellEditorDetails(t,i){return this.getCompDetails(t,Cd,"agCellEditor",i,!0)}getFilterDetails(t,i,o){return this.getCompDetails(t,Hs,o,i,!0)}getDateCompDetails(t){return this.getCompDetails(this.gridOptions,hd,"agDateInput",t,!0)}getLoadingOverlayCompDetails(t){return this.getCompDetails(this.gridOptions,wd,"agLoadingOverlay",t,!0)}getNoRowsOverlayCompDetails(t){return this.getCompDetails(this.gridOptions,yd,"agNoRowsOverlay",t,!0)}getTooltipCompDetails(t){return this.getCompDetails(t.colDef,bd,"agTooltipComponent",t,!0)}getSetFilterCellRendererDetails(t,i){return this.getCompDetails(t,jr,null,i)}getFloatingFilterCompDetails(t,i,o){return this.getCompDetails(t,Sd,o,i)}getToolPanelCompDetails(t,i){return this.getCompDetails(t,Rd,null,i,!0)}getStatusPanelCompDetails(t,i){return this.getCompDetails(t,Fd,null,i,!0)}getMenuItemCompDetails(t,i){return this.getCompDetails(t,Pd,"agMenuItem",i,!0)}getCompDetails(t,i,o,s,r=!1){let{propertyName:n,cellRenderer:a}=i,{compName:l,jsComp:c,fwComp:d,paramsFromSelector:u,popupFromSelector:h,popupPositionFromSelector:g}=Zn.getCompKeys(this.frameworkOverrides,t,i,s),f,m=C=>{let R=this.userComponentRegistry.retrieve(n,C);R&&(c=R.componentFromFramework?void 0:R.component,d=R.componentFromFramework?R.component:void 0,f=R.params)};if(l!=null&&m(l),c==null&&d==null&&o!=null&&m(o),c&&a&&!this.agComponentUtils.doesImplementIComponent(c)&&(c=this.agComponentUtils.adaptFunction(n,c)),!c&&!d){r&&Q(`Could not find component ${l}, did you forget to configure this component?`);return}let p=this.mergeParamsWithApplicationProvidedParams(t,i,s,u,f),v=c==null,w=c||d;return{componentFromFramework:v,componentClass:w,params:p,type:i,popupFromSelector:h,popupPositionFromSelector:g,newAgStackInstance:()=>this.newAgStackInstance(w,v,p,i)}}static getCompKeys(t,i,o,s){let{propertyName:r}=o,n,a,l,c,d,u;if(i){let h=i,g=h[r+"Selector"],f=g?g(s):null,m=p=>{typeof p=="string"?n=p:p!=null&&p!==!0&&(t.isFrameworkComponent(p)?l=p:a=p)};f?(m(f.component),c=f.params,d=f.popup,u=f.popupPosition):m(h[r])}return{compName:n,jsComp:a,fwComp:l,paramsFromSelector:c,popupFromSelector:d,popupPositionFromSelector:u}}newAgStackInstance(t,i,o,s){let r=s.propertyName,n=!i,a;if(n)a=new t;else{let c=this.componentMetadataProvider.retrieve(r);a=this.frameworkComponentWrapper.wrap(t,c.mandatoryMethodList,c.optionalMethodList,s)}let l=this.initComponent(a,o);return l==null?ae.resolve(a):l.then(()=>a)}mergeParamsWithApplicationProvidedParams(t,i,o,s=null,r){let n=this.gos.getGridCommonParams();Ie(n,o),r&&Ie(n,r);let a=t,l=a&&a[i.propertyName+"Params"];if(typeof l=="function"){let c=l(o);Ie(n,c)}else typeof l=="object"&&Ie(n,l);return Ie(n,s),n}initComponent(t,i){if(this.createBean(t),t.init!=null)return t.init(i)}};function Ri(e){let t=e;return t!=null&&t.getFrameworkComponentInstance!=null?t.getFrameworkComponentInstance():e}var So=class ie{static register(t){ie.__register(t,!0,void 0)}static registerModules(t){ie.__registerModules(t,!0,void 0)}static __register(t,i,o){ie.runVersionChecks(t),o!==void 0?(ie.areGridScopedModules=!0,ie.gridModulesMap[o]===void 0&&(ie.gridModulesMap[o]={}),ie.gridModulesMap[o][t.moduleName]=t):ie.globalModulesMap[t.moduleName]=t,ie.setModuleBased(i)}static __unRegisterGridModules(t){delete ie.gridModulesMap[t]}static __registerModules(t,i,o){ie.setModuleBased(i),t&&t.forEach(s=>ie.__register(s,i,o))}static isValidModuleVersion(t){let[i,o]=t.version.split(".")||[],[s,r]=ie.currentModuleVersion.split(".")||[];return i===s&&o===r}static runVersionChecks(t){ie.currentModuleVersion||(ie.currentModuleVersion=t.version);let i=o=>`You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. ${o} Please update all modules to the same version.`;if(t.version?ie.isValidModuleVersion(t)||Q(i(`'${t.moduleName}' is version ${t.version} but the other modules are version ${ie.currentModuleVersion}.`)):Q(i(`'${t.moduleName}' is incompatible.`)),t.validate){let o=t.validate();o.isValid||Q(`${o.message}`)}}static setModuleBased(t){ie.moduleBased===void 0?ie.moduleBased=t:ie.moduleBased!==t&&(Q("AG Grid: You are mixing modules (i.e. @ag-grid-community/core) and packages (ag-grid-community) - you can only use one or the other of these mechanisms."),Q("Please see https://www.ag-grid.com/javascript-grid/modules/ for more information."))}static __setIsBundled(){ie.isBundled=!0}static __assertRegistered(t,i,o){if(this.__isRegistered(t,o))return!0;let s;if(ie.isBundled)s=`AG Grid: unable to use ${i} as 'ag-grid-enterprise' has not been loaded. Check you are using the Enterprise bundle:
|
|
35
35
|
|
|
36
36
|
<script src="https://cdn.jsdelivr.net/npm/ag-grid-enterprise@AG_GRID_VERSION/dist/ag-grid-enterprise.min.js"><\/script>
|
|
37
37
|
|
|
@@ -44,7 +44,7 @@ For more info see: https://ag-grid.com/javascript-data-grid/getting-started/#get
|
|
|
44
44
|
|
|
45
45
|
For more info see: https://www.ag-grid.com/javascript-grid/modules/`}else s=`AG Grid: unable to use ${i} as package 'ag-grid-enterprise' has not been imported. Check that you have imported the package:
|
|
46
46
|
|
|
47
|
-
import 'ag-grid-enterprise';`;return Q(s),!1}static __isRegistered(t,i){return!!ie.globalModulesMap[t]||!!ie.gridModulesMap[i]?.[t]}static __getRegisteredModules(t){return[...Ji(ie.globalModulesMap),...Ji(ie.gridModulesMap[t]||{})]}static __getGridRegisteredModules(t){return Ji(ie.gridModulesMap[t]??{})||[]}static __isPackageBased(){return!ie.moduleBased}};bo.globalModulesMap={};bo.gridModulesMap={};bo.areGridScopedModules=!1;var Ue=bo,Md=class{constructor(e){this.beans={},this.createdBeans=[],this.destroyed=!1,!(!e||!e.beanClasses)&&(this.beanDestroyComparator=e.beanDestroyComparator,this.init(e))}init(e){Object.entries(e.providedBeanInstances).forEach(([t,i])=>{this.beans[t]=i}),e.beanClasses.forEach(t=>{let i=new t;i.beanName?this.beans[i.beanName]=i:console.error(`Bean ${t.name} is missing beanName`),this.createdBeans.push(i)}),e.derivedBeans?.forEach(t=>{let{beanName:i,bean:o}=t(this);this.beans[i]=o,this.createdBeans.push(o)}),e.beanInitComparator&&this.createdBeans.sort(e.beanInitComparator),this.initBeans(this.createdBeans)}getBeanInstances(){return Object.values(this.beans)}createBean(e,t){if(!e)throw Error("Can't wire to bean since it is null");return this.initBeans([e],t),e}initBeans(e,t){e.forEach(i=>{i.preWireBeans?.(this.beans),i.wireBeans?.(this.beans)}),e.forEach(i=>i.preConstruct?.()),t&&e.forEach(t),e.forEach(i=>i.postConstruct?.())}getBeans(){return this.beans}getBean(e){return this.beans[e]}destroy(){if(this.destroyed)return;this.destroyed=!0;let e=this.getBeanInstances();this.beanDestroyComparator&&e.sort(this.beanDestroyComparator),this.destroyBeans(e),this.beans={},this.createdBeans=[]}destroyBean(e){e?.destroy?.()}destroyBeans(e){if(e)for(let t=0;t<e.length;t++)this.destroyBean(e[t]);return[]}isDestroyed(){return this.destroyed}},Pd=class extends Md{init(e){this.gridId=e.gridId,this.beans.context=this,super.init(e)}destroy(){super.destroy(),Ue.__unRegisterGridModules(this.gridId)}getGridId(){return this.gridId}};var Xn=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e))(Xn||{});var Td=class extends b{constructor(){super(...arguments),this.beanName="dragAndDropService",this.dragSourceAndParamsList=[],this.dropTargets=[]}wireBeans(e){this.ctrlsService=e.ctrlsService,this.dragService=e.dragService,this.mouseEventService=e.mouseEventService,this.environment=e.environment,this.userComponentFactory=e.userComponentFactory}addDragSource(e,t=!1){let i={eElement:e.eElement,dragStartPixels:e.dragStartPixels,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this),onDragging:this.onDragging.bind(this),onDragCancel:this.onDragCancel.bind(this),includeTouch:t};this.dragSourceAndParamsList.push({params:i,dragSource:e}),this.dragService.addDragSource(i)}getDragAndDropImageComponent(){let{dragAndDropImageComp:e}=this;return!e||!e.comp?null:e.comp}removeDragSource(e){let t=this.dragSourceAndParamsList.find(i=>i.dragSource===e);t&&(this.dragService.removeDragSource(t.params),De(this.dragSourceAndParamsList,t))}destroy(){this.dragSourceAndParamsList.forEach(e=>this.dragService.removeDragSource(e.params)),this.dragSourceAndParamsList.length=0,this.dropTargets.length=0,this.clearDragAndDropProperties(),super.destroy()}nudge(){this.dragging&&this.onDragging(this.eventLastTime,!0)}onDragStart(e,t){this.dragging=!0,this.dragSource=e,this.eventLastTime=t,this.dragItem=this.dragSource.getDragItem(),this.dragSource.onDragStarted?.(),this.createDragAndDropImageComponent()}onDragStop(e){if(this.dragSource?.onDragStopped?.(),this.lastDropTarget?.onDragStop){let t=this.createDropTargetEvent(this.lastDropTarget,e,null,null,!1);this.lastDropTarget.onDragStop(t)}this.clearDragAndDropProperties()}onDragCancel(){this.dragSource?.onDragCancelled?.(),this.lastDropTarget?.onDragCancel&&this.lastDropTarget.onDragCancel(this.createDropTargetEvent(this.lastDropTarget,this.eventLastTime,null,null,!1)),this.clearDragAndDropProperties()}clearDragAndDropProperties(){this.eventLastTime=null,this.dragging=!1,this.lastDropTarget=void 0,this.dragItem=null,this.dragSource=null,this.removeDragAndDropImageComponent()}onDragging(e,t=!1){let i=this.getHorizontalDirection(e),o=this.getVerticalDirection(e);this.eventLastTime=e,this.positionDragAndDropImageComp(e);let s=this.dropTargets.filter(n=>this.isMouseOnDropTarget(e,n)),r=this.findCurrentDropTarget(e,s);if(r!==this.lastDropTarget){if(this.leaveLastTargetIfExists(e,i,o,t),this.lastDropTarget!==null&&r===null&&this.dragSource?.onGridExit?.(this.dragItem),this.lastDropTarget===null&&r!==null&&this.dragSource?.onGridEnter?.(this.dragItem),this.enterDragTargetIfExists(r,e,i,o,t),r&&this.dragAndDropImageComp){let{comp:n,promise:a}=this.dragAndDropImageComp;n?n.setIcon(r.getIconName?r.getIconName():null):a.then(l=>{l&&l.setIcon(r.getIconName?r.getIconName():null)})}this.lastDropTarget=r}else if(r&&r.onDragging){let n=this.createDropTargetEvent(r,e,i,o,t);r.onDragging(n)}}getAllContainersFromDropTarget(e){let t=e.getSecondaryContainers?e.getSecondaryContainers():null,i=[[e.getContainer()]];return t?i.concat(t):i}allContainersIntersect(e,t){for(let i of t){let{width:o,height:s,left:r,right:n,top:a,bottom:l}=i.getBoundingClientRect();if(o===0||s===0)return!1;let c=e.clientX>=r&&e.clientX<n,d=e.clientY>=a&&e.clientY<l;if(!c||!d)return!1}return!0}isMouseOnDropTarget(e,t){let i=this.getAllContainersFromDropTarget(t),o=!1;for(let n of i)if(this.allContainersIntersect(e,n)){o=!0;break}let{eElement:s,type:r}=this.dragSource;return t.targetContainsSource&&!t.getContainer().contains(s)?!1:o&&t.isInterestedIn(r,s)}findCurrentDropTarget(e,t){let i=t.length;if(i===0)return null;if(i===1)return t[0];let s=Ei(this.gos).elementsFromPoint(e.clientX,e.clientY);for(let r of s)for(let n of t)if(_l(this.getAllContainersFromDropTarget(n)).indexOf(r)!==-1)return n;return null}enterDragTargetIfExists(e,t,i,o,s){if(e&&e.onDragEnter){let r=this.createDropTargetEvent(e,t,i,o,s);e.onDragEnter(r)}}leaveLastTargetIfExists(e,t,i,o){if(!this.lastDropTarget)return;if(this.lastDropTarget.onDragLeave){let r=this.createDropTargetEvent(this.lastDropTarget,e,t,i,o);this.lastDropTarget.onDragLeave(r)}let s=this.getDragAndDropImageComponent();s&&s.setIcon(null)}addDropTarget(e){this.dropTargets.push(e)}removeDropTarget(e){this.dropTargets=this.dropTargets.filter(t=>t.getContainer()!==e.getContainer())}hasExternalDropZones(){return this.dropTargets.some(e=>e.external)}findExternalZone(e){return this.dropTargets.filter(i=>i.external).find(i=>i.getContainer()===e.getContainer())||null}isDropZoneWithinThisGrid(e){let i=this.ctrlsService.getGridBodyCtrl().getGui(),{dropZoneTarget:o}=e;return i.contains(o)}getHorizontalDirection(e){let t=this.eventLastTime&&this.eventLastTime.clientX,i=e.clientX;return t===i?null:t>i?0:1}getVerticalDirection(e){let t=this.eventLastTime&&this.eventLastTime.clientY,i=e.clientY;return t===i?null:t>i?0:1}createDropTargetEvent(e,t,i,o,s){let r=e.getContainer(),n=r.getBoundingClientRect(),{dragItem:a,dragSource:l}=this,c=t.clientX-n.left,d=t.clientY-n.top;return this.gos.addGridCommonParams({event:t,x:c,y:d,vDirection:o,hDirection:i,dragSource:l,fromNudge:s,dragItem:a,dropZoneTarget:r})}positionDragAndDropImageComp(e){let t=this.getDragAndDropImageComponent();if(!t)return;let i=t.getGui(),s=i.getBoundingClientRect().height,r=Gc()-2,n=Nc()-2;if(!i.offsetParent)return;let l=Gn(i.offsetParent),{clientY:c,clientX:d}=e,u=c-l.top-s/2,h=d-l.left-10,g=ve(this.gos),f=g.defaultView||window,m=f.pageYOffset||g.documentElement.scrollTop,p=f.pageXOffset||g.documentElement.scrollLeft;r>0&&h+i.clientWidth>r+p&&(h=r+p-i.clientWidth),h<0&&(h=0),n>0&&u+i.clientHeight>n+m&&(u=n+m-i.clientHeight),u<0&&(u=0),i.style.left=`${h}px`,i.style.top=`${u}px`}removeDragAndDropImageComponent(){if(this.dragAndDropImageComp){let{comp:e}=this.dragAndDropImageComp;if(e){let t=e.getGui();this.dragAndDropImageParent&&this.dragAndDropImageParent.removeChild(t),this.destroyBean(e)}}this.dragAndDropImageComp=null}createDragAndDropImageComponent(){let{dragSource:e}=this;if(!e)return;let i=this.userComponentFactory.getDragAndDropImageCompDetails({dragSource:e}).newAgStackInstance();this.dragAndDropImageComp={promise:i},i.then(o=>{!o||!this.isAlive()||(this.processDragAndDropImageComponent(o),this.dragAndDropImageComp.comp=o)})}processDragAndDropImageComponent(e){let{dragSource:t,mouseEventService:i,environment:o}=this;if(!t)return;let s=e.getGui();s.style.setProperty("position","absolute"),s.style.setProperty("z-index","9999"),i.stampTopLevelGridCompWithGridInstance(s),o.applyThemeClasses(s),e.setIcon(null);let{dragItemName:r}=t;ws(r)&&(r=r()),e.setLabel(r||""),s.style.top="20px",s.style.left="20px";let n=ve(this.gos),a=null,l=null;try{a=n.fullscreenElement}catch{}finally{a||(a=Ei(this.gos));let c=a.querySelector("body");c?l=c:a instanceof ShadowRoot?l=a:a instanceof Document?l=a?.documentElement:l=a}this.dragAndDropImageParent=l,l?l.appendChild(s):S("Could not find document body, it is needed for drag and drop.")}},Ad=class{constructor(e){this.tickingInterval=null,this.onScrollCallback=null,this.scrollContainer=e.scrollContainer,this.scrollHorizontally=e.scrollAxis.indexOf("x")!==-1,this.scrollVertically=e.scrollAxis.indexOf("y")!==-1,this.scrollByTick=e.scrollByTick!=null?e.scrollByTick:20,e.onScrollCallback&&(this.onScrollCallback=e.onScrollCallback),this.scrollVertically&&(this.getVerticalPosition=e.getVerticalPosition,this.setVerticalPosition=e.setVerticalPosition),this.scrollHorizontally&&(this.getHorizontalPosition=e.getHorizontalPosition,this.setHorizontalPosition=e.setHorizontalPosition),this.shouldSkipVerticalScroll=e.shouldSkipVerticalScroll||(()=>!1),this.shouldSkipHorizontalScroll=e.shouldSkipHorizontalScroll||(()=>!1)}check(e,t=!1){let i=t||this.shouldSkipVerticalScroll();if(i&&this.shouldSkipHorizontalScroll())return;let o=this.scrollContainer.getBoundingClientRect(),s=this.scrollByTick;this.tickLeft=e.clientX<o.left+s,this.tickRight=e.clientX>o.right-s,this.tickUp=e.clientY<o.top+s&&!i,this.tickDown=e.clientY>o.bottom-s&&!i,this.tickLeft||this.tickRight||this.tickUp||this.tickDown?this.ensureTickingStarted():this.ensureCleared()}ensureTickingStarted(){this.tickingInterval===null&&(this.tickingInterval=window.setInterval(this.doTick.bind(this),100),this.tickCount=0)}doTick(){this.tickCount++;let e=this.tickCount>20?200:this.tickCount>10?80:40;if(this.scrollVertically){let t=this.getVerticalPosition();this.tickUp&&this.setVerticalPosition(t-e),this.tickDown&&this.setVerticalPosition(t+e)}if(this.scrollHorizontally){let t=this.getHorizontalPosition();this.tickLeft&&this.setHorizontalPosition(t-e),this.tickRight&&this.setHorizontalPosition(t+e)}this.onScrollCallback&&this.onScrollCallback()}ensureCleared(){this.tickingInterval&&(window.clearInterval(this.tickingInterval),this.tickingInterval=null)}},ci=(e=>(e[e.Above=0]="Above",e[e.Below=1]="Below",e))(ci||{}),kd=class extends b{wireBeans(e){this.dragAndDropService=e.dragAndDropService,this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService,this.focusService=e.focusService,this.sortController=e.sortController,this.filterManager=e.filterManager,this.selectionService=e.selectionService,this.mouseEventService=e.mouseEventService,this.ctrlsService=e.ctrlsService,this.funcColsService=e.funcColsService,this.rangeService=e.rangeService}constructor(e){super(),this.eContainer=e}postConstruct(){de(this.gos)&&(this.clientSideRowModel=this.rowModel),this.ctrlsService.whenReady(this,e=>{let t=e.gridBodyCtrl;this.autoScrollService=new Ad({scrollContainer:t.getBodyViewportElement(),scrollAxis:"y",getVerticalPosition:()=>t.getScrollFeature().getVScrollPosition().top,setVerticalPosition:i=>t.getScrollFeature().setVerticalScrollPosition(i),onScrollCallback:()=>{this.onDragging(this.lastDraggingEvent)}})})}getContainer(){return this.eContainer}isInterestedIn(e){return e===2}getIconName(){return this.gos.get("rowDragManaged")&&this.shouldPreventRowMove()?"notAllowed":"move"}shouldPreventRowMove(){return!!(this.funcColsService.getRowGroupColumns().length||this.filterManager?.isAnyFilterPresent()||this.sortController.isSortActive())}getRowNodes(e){if(!this.isFromThisGrid(e))return e.dragItem.rowNodes||[];let t=e.dragItem.rowNode;if(this.gos.get("rowDragMultiRow")){let o=[...this.selectionService.getSelectedNodes()].sort((s,r)=>s.rowIndex==null||r.rowIndex==null?0:this.getRowIndexNumber(s)-this.getRowIndexNumber(r));if(o.indexOf(t)!==-1)return o}return[t]}onDragEnter(e){e.dragItem.rowNodes=this.getRowNodes(e),this.dispatchGridEvent("rowDragEnter",e),this.getRowNodes(e).forEach(t=>{t.setDragging(!0)}),this.onEnterOrDragging(e)}onDragging(e){this.onEnterOrDragging(e)}isFromThisGrid(e){let{dragSourceDomDataKey:t}=e.dragSource;return t===this.gos.getDomDataKey()}onEnterOrDragging(e){this.dispatchGridEvent("rowDragMove",e),this.lastDraggingEvent=e;let t=this.mouseEventService.getNormalisedPosition(e).y;this.gos.get("rowDragManaged")&&this.doManagedDrag(e,t),this.autoScrollService.check(e.event)}doManagedDrag(e,t){let i=this.isFromThisGrid(e),o=this.gos.get("rowDragManaged"),s=e.dragItem.rowNodes;o&&this.shouldPreventRowMove()||(this.gos.get("suppressMoveWhenRowDragging")||!i?this.dragAndDropService.isDropZoneWithinThisGrid(e)&&this.clientSideRowModel.highlightRowAtPixel(s[0],t):this.moveRows(s,t))}getRowIndexNumber(e){let t=e.getRowIndexString();return parseInt($(t.split("-")),10)}moveRowAndClearHighlight(e){let t=this.clientSideRowModel.getLastHighlightedRowNode(),i=t&&t.highlighted===1,o=this.mouseEventService.getNormalisedPosition(e).y,s=e.dragItem.rowNodes,r=i?1:0;if(this.isFromThisGrid(e))s.forEach(n=>{n.rowTop<o&&(r-=1)}),this.moveRows(s,o,r);else{let n=Ut(this.gos),a=this.clientSideRowModel.getRowIndexAtPixel(o)+1;this.clientSideRowModel.getHighlightPosition(o)===0&&a--,this.clientSideRowModel.updateRowData({add:s.filter(l=>!this.clientSideRowModel.getRowNode(n?.({data:l.data,level:0,rowPinned:l.rowPinned})??l.data.id)).map(l=>l.data),addIndex:a})}this.clearRowHighlight()}clearRowHighlight(){this.clientSideRowModel.highlightRowAtPixel(null)}moveRows(e,t,i=0){this.clientSideRowModel.ensureRowsAtPixel(e,t,i)&&(this.focusService.clearFocusedCell(),this.rangeService?.removeAllCellRanges())}addRowDropZone(e){if(!e.getContainer()){S("addRowDropZone - A container target needs to be provided");return}if(this.dragAndDropService.findExternalZone(e)){S("addRowDropZone - target already exists in the list of DropZones. Use `removeRowDropZone` before adding it again.");return}let t={getContainer:e.getContainer};e.fromGrid?t=e:(e.onDragEnter&&(t.onDragEnter=o=>{e.onDragEnter(this.draggingToRowDragEvent("rowDragEnter",o))}),e.onDragLeave&&(t.onDragLeave=o=>{e.onDragLeave(this.draggingToRowDragEvent("rowDragLeave",o))}),e.onDragging&&(t.onDragging=o=>{e.onDragging(this.draggingToRowDragEvent("rowDragMove",o))}),e.onDragStop&&(t.onDragStop=o=>{e.onDragStop(this.draggingToRowDragEvent("rowDragEnd",o))}),e.onDragCancel&&(t.onDragCancel=o=>{e.onDragCancel(this.draggingToRowDragEvent("rowDragCancel",o))}));let i={isInterestedIn:o=>o===2,getIconName:()=>"move",external:!0,...t};this.dragAndDropService.addDropTarget(i),this.addDestroyFunc(()=>this.dragAndDropService.removeDropTarget(i))}getRowDropZone(e){let t=this.getContainer.bind(this),i=this.onDragEnter.bind(this),o=this.onDragLeave.bind(this),s=this.onDragging.bind(this),r=this.onDragStop.bind(this),n=this.onDragCancel.bind(this),a;return e?a={getContainer:t,onDragEnter:e.onDragEnter?l=>{i(l),e.onDragEnter(this.draggingToRowDragEvent("rowDragEnter",l))}:i,onDragLeave:e.onDragLeave?l=>{o(l),e.onDragLeave(this.draggingToRowDragEvent("rowDragLeave",l))}:o,onDragging:e.onDragging?l=>{s(l),e.onDragging(this.draggingToRowDragEvent("rowDragMove",l))}:s,onDragStop:e.onDragStop?l=>{r(l),e.onDragStop(this.draggingToRowDragEvent("rowDragEnd",l))}:r,onDragCancel:e.onDragCancel?l=>{n(l),e.onDragCancel(this.draggingToRowDragEvent("rowDragCancel",l))}:n,fromGrid:!0}:a={getContainer:t,onDragEnter:i,onDragLeave:o,onDragging:s,onDragStop:r,onDragCancel:n,fromGrid:!0},a}draggingToRowDragEvent(e,t){let i=this.mouseEventService.getNormalisedPosition(t).y,o=i>this.pageBoundsService.getCurrentPageHeight(),s=-1,r;o||(s=this.rowModel.getRowIndexAtPixel(i),r=this.rowModel.getRow(s));let n;switch(t.vDirection){case 1:n="down";break;case 0:n="up";break;default:n=null;break}return this.gos.addGridCommonParams({type:e,event:t.event,node:t.dragItem.rowNode,nodes:t.dragItem.rowNodes,overIndex:s,overNode:r,y:i,vDirection:n})}dispatchGridEvent(e,t){let i=this.draggingToRowDragEvent(e,t);this.eventService.dispatchEvent(i)}onDragLeave(e){this.dispatchGridEvent("rowDragLeave",e),this.stopDragging(e),this.gos.get("rowDragManaged")&&this.clearRowHighlight()}onDragStop(e){this.dispatchGridEvent("rowDragEnd",e),this.stopDragging(e),this.gos.get("rowDragManaged")&&(this.gos.get("suppressMoveWhenRowDragging")||!this.isFromThisGrid(e))&&this.dragAndDropService.isDropZoneWithinThisGrid(e)&&this.moveRowAndClearHighlight(e)}onDragCancel(e){this.dispatchGridEvent("rowDragCancel",e),this.stopDragging(e),this.gos.get("rowDragManaged")&&(this.gos.get("suppressMoveWhenRowDragging")||!this.isFromThisGrid(e))&&this.dragAndDropService.isDropZoneWithinThisGrid(e)&&this.clearRowHighlight()}stopDragging(e){this.autoScrollService.ensureCleared(),this.getRowNodes(e).forEach(t=>{t.setDragging(!1)})}},Id=class extends b{constructor(){super(...arguments),this.beanName="dragService",this.dragEndFunctions=[],this.dragSources=[]}wireBeans(e){this.mouseEventService=e.mouseEventService}destroy(){this.dragSources.forEach(this.removeListener.bind(this)),this.dragSources.length=0,super.destroy()}removeListener(e){let t=e.dragSource.eElement,i=e.mouseDownListener;if(t.removeEventListener("mousedown",i),e.touchEnabled){let o=e.touchStartListener;t.removeEventListener("touchstart",o,{passive:!0})}}removeDragSource(e){let t=this.dragSources.find(i=>i.dragSource===e);t&&(this.removeListener(t),De(this.dragSources,t))}isDragging(){return this.dragging}addDragSource(e){let t=this.onMouseDown.bind(this,e),{eElement:i,includeTouch:o,stopPropagationForTouch:s}=e;i.addEventListener("mousedown",t);let r=null,n=this.gos.get("suppressTouch");o&&!n&&(r=a=>{Ms(a.target)||(s&&a.stopPropagation(),this.onTouchStart(e,a))},i.addEventListener("touchstart",r,{passive:!1})),this.dragSources.push({dragSource:e,mouseDownListener:t,touchStartListener:r,touchEnabled:!!o})}getStartTarget(){return this.startTarget}onTouchStart(e,t){this.currentDragParams=e,this.dragging=!1;let i=t.touches[0];this.touchLastTime=i,this.touchStart=i;let o=l=>this.onTouchMove(l,e.eElement),s=l=>this.onTouchUp(l,e.eElement),r=l=>{l.cancelable&&l.preventDefault()},n=t.target,a=[{target:Ei(this.gos),type:"touchmove",listener:r,options:{passive:!1}},{target:n,type:"touchmove",listener:o,options:{passive:!0}},{target:n,type:"touchend",listener:s,options:{passive:!0}},{target:n,type:"touchcancel",listener:s,options:{passive:!0}}];this.addTemporaryEvents(a),e.dragStartPixels===0&&this.onCommonMove(i,this.touchStart,e.eElement)}onMouseDown(e,t){let i=t;if(e.skipMouseEvent&&e.skipMouseEvent(t)||i._alreadyProcessedByDragService||(i._alreadyProcessedByDragService=!0,t.button!==0))return;this.shouldPreventMouseEvent(t)&&t.preventDefault(),this.currentDragParams=e,this.dragging=!1,this.mouseStartEvent=t,this.startTarget=t.target;let o=c=>this.onMouseMove(c,e.eElement),s=c=>this.onMouseUp(c,e.eElement),r=c=>c.preventDefault(),n=c=>{c.key===y.ESCAPE&&this.cancelDrag(e.eElement)},a=Ei(this.gos),l=[{target:a,type:"mousemove",listener:o},{target:a,type:"mouseup",listener:s},{target:a,type:"contextmenu",listener:r},{target:a,type:"keydown",listener:n}];this.addTemporaryEvents(l),e.dragStartPixels===0&&this.onMouseMove(t,e.eElement)}addTemporaryEvents(e){e.forEach(t=>{let{target:i,type:o,listener:s,options:r}=t;i.addEventListener(o,s,r)}),this.dragEndFunctions.push(()=>{e.forEach(t=>{let{target:i,type:o,listener:s,options:r}=t;i.removeEventListener(o,s,r)})})}isEventNearStartEvent(e,t){let{dragStartPixels:i}=this.currentDragParams,o=M(i)?i:4;return Kn(e,t,o)}getFirstActiveTouch(e){for(let t=0;t<e.length;t++)if(e[t].identifier===this.touchStart.identifier)return e[t];return null}onCommonMove(e,t,i){if(!this.dragging){if(this.isEventNearStartEvent(e,t))return;if(this.dragging=!0,this.eventService.dispatchEvent({type:"dragStarted",target:i}),this.currentDragParams.onDragStart(t),!this.currentDragParams){this.dragging=!1;return}this.currentDragParams.onDragging(t)}this.currentDragParams?.onDragging(e)}onTouchMove(e,t){let i=this.getFirstActiveTouch(e.touches);i&&this.onCommonMove(i,this.touchStart,t)}onMouseMove(e,t){ft()&&ve(this.gos).getSelection()?.removeAllRanges(),this.shouldPreventMouseEvent(e)&&e.preventDefault(),this.onCommonMove(e,this.mouseStartEvent,t)}shouldPreventMouseEvent(e){let t=this.gos.get("enableCellTextSelection"),i=e.type==="mousemove";return t&&i&&e.cancelable&&this.mouseEventService.isEventFromThisGrid(e)&&!this.isOverFormFieldElement(e)}isOverFormFieldElement(e){return!!e.target?.tagName.toLocaleLowerCase()?.match("^a$|textarea|input|select|button")}onTouchUp(e,t){let i=this.getFirstActiveTouch(e.changedTouches);i||(i=this.touchLastTime),this.onUpCommon(i,t)}onMouseUp(e,t){this.onUpCommon(e,t)}onUpCommon(e,t){this.dragging&&(this.dragging=!1,this.currentDragParams.onDragStop(e),this.eventService.dispatchEvent({type:"dragStopped",target:t})),this.resetDragProperties()}cancelDrag(e){this.eventService.dispatchEvent({type:"dragCancelled",target:e}),this.currentDragParams?.onDragCancel?.(),this.resetDragProperties()}resetDragProperties(){this.mouseStartEvent=null,this.startTarget=null,this.touchStart=null,this.touchLastTime=null,this.currentDragParams=null,this.dragEndFunctions.forEach(e=>e()),this.dragEndFunctions.length=0}},us=class extends ce{constructor(e,t,i,o,s,r){super(),this.cellValueFn=e,this.rowNode=t,this.column=i,this.customGui=o,this.dragStartPixels=s,this.suppressVisibilityChange=r,this.dragSource=null}wireBeans(e){this.beans=e}isCustomGui(){return this.customGui!=null}postConstruct(){if(this.customGui?this.setDragElement(this.customGui,this.dragStartPixels):(this.setTemplate('<div class="ag-drag-handle ag-row-drag" aria-hidden="true"></div>'),this.getGui().appendChild(ze("rowDrag",this.gos,null)),this.addDragSource()),this.checkCompatibility(),!this.suppressVisibilityChange){let e=this.gos.get("rowDragManaged")?new Od(this,this.beans,this.rowNode,this.column):new Ld(this,this.beans,this.rowNode,this.column);this.createManagedBean(e,this.beans.context)}}setDragElement(e,t){this.setTemplateFromElement(e,void 0,void 0,!0),this.addDragSource(t)}getSelectedNodes(){if(!this.gos.get("rowDragMultiRow"))return[this.rowNode];let t=this.beans.selectionService.getSelectedNodes();return t.indexOf(this.rowNode)!==-1?t:[this.rowNode]}checkCompatibility(){let e=this.gos.get("rowDragManaged");this.gos.get("treeData")&&e&&S("If using row drag with tree data, you cannot have rowDragManaged=true")}getDragItem(){return{rowNode:this.rowNode,rowNodes:this.getSelectedNodes(),columns:this.column?[this.column]:void 0,defaultTextValue:this.cellValueFn()}}getRowDragText(e){if(e){let t=e.getColDef();if(t.rowDragText)return t.rowDragText}return this.gos.get("rowDragText")}addDragSource(e=4){this.dragSource&&this.removeDragSource();let t=this.getGui();this.gos.get("enableCellTextSelection")&&(this.removeMouseDownListener(),this.mouseDownListener=this.addManagedElementListeners(t,{mousedown:o=>{o?.preventDefault()}})[0]);let i=this.localeService.getLocaleTextFunc();this.dragSource={type:2,eElement:t,dragItemName:()=>{let o=this.getDragItem(),s=o.rowNodes?.length||1,r=this.getRowDragText(this.column);return r?r(o,s):s===1?this.cellValueFn():`${s} ${i("rowDragRows","rows")}`},getDragItem:()=>this.getDragItem(),dragStartPixels:e,dragSourceDomDataKey:this.gos.getDomDataKey()},this.beans.dragAndDropService.addDragSource(this.dragSource,!0)}destroy(){this.removeDragSource(),this.removeMouseDownListener(),super.destroy()}removeDragSource(){this.dragSource&&(this.beans.dragAndDropService.removeDragSource(this.dragSource),this.dragSource=null)}removeMouseDownListener(){this.mouseDownListener&&(this.mouseDownListener(),this.mouseDownListener=void 0)}},Zn=class extends b{constructor(e,t,i){super(),this.parent=e,this.rowNode=t,this.column=i}setDisplayedOrVisible(e){let t={skipAriaHidden:!0};if(e)this.parent.setDisplayed(!1,t);else{let i=!0,o=!1;this.column&&(i=this.column.isRowDrag(this.rowNode)||this.parent.isCustomGui(),o=ws(this.column.getColDef().rowDrag)),o?(this.parent.setDisplayed(!0,t),this.parent.setVisible(i,t)):(this.parent.setDisplayed(i,t),this.parent.setVisible(!0,t))}}},Ld=class extends Zn{constructor(e,t,i,o){super(e,i,o),this.beans=t}postConstruct(){this.addManagedPropertyListener("suppressRowDrag",this.onSuppressRowDrag.bind(this));let e=this.workOutVisibility.bind(this);this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.addManagedListeners(this.beans.eventService,{newColumnsLoaded:e}),this.workOutVisibility()}onSuppressRowDrag(){this.workOutVisibility()}workOutVisibility(){let e=this.gos.get("suppressRowDrag");this.setDisplayedOrVisible(e)}},Od=class extends Zn{constructor(e,t,i,o){super(e,i,o),this.beans=t}postConstruct(){let e=this.workOutVisibility.bind(this);this.addManagedListeners(this.beans.eventService,{sortChanged:e,filterChanged:e,columnRowGroupChanged:e,newColumnsLoaded:e}),this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.addManagedPropertyListener("suppressRowDrag",this.onSuppressRowDrag.bind(this)),this.workOutVisibility()}onSuppressRowDrag(){this.workOutVisibility()}workOutVisibility(){let t=this.beans.ctrlsService.getGridBodyCtrl().getRowDragFeature(),i=t&&t.shouldPreventRowMove(),o=this.gos.get("suppressRowDrag"),s=this.beans.dragAndDropService.hasExternalDropZones(),r=i&&!s||o;this.setDisplayedOrVisible(r)}},Gd=new Set(["localEventService","__objectId","sticky","__autoHeights","checkAutoHeightsDebounced"]),Ni=class Rt{constructor(t){this.rowIndex=null,this.key=null,this.sourceRowIndex=-1,this.childrenMapped={},this.treeNode=null,this.treeNodeFlags=0,this.displayed=!1,this.rowTop=null,this.oldRowTop=null,this.selectable=!0,this.__objectId=Rt.OBJECT_ID_SEQUENCE++,this.__autoHeights={},this.alreadyRendered=!1,this.highlighted=null,this.hovered=!1,this.selected=!1,this.beans=t}setData(t){this.setDataCommon(t,!1)}updateData(t){this.setDataCommon(t,!0)}setDataCommon(t,i){let o=this.data;this.data=t,this.beans.valueCache.onDataChanged(),this.updateDataOnDetailNode(),this.checkRowSelectable(),this.resetQuickFilterAggregateText();let s=this.createDataChangedEvent(t,o,i);this.localEventService?.dispatchEvent(s)}updateDataOnDetailNode(){this.detailNode&&(this.detailNode.data=this.data)}createDataChangedEvent(t,i,o){return{type:"dataChanged",node:this,oldData:i,newData:t,update:o}}getRowIndexString(){return this.rowIndex==null?(Q("Could not find rowIndex, this means tasks are being executed on a rowNode that has been removed from the grid."),null):this.rowPinned==="top"?Rt.ID_PREFIX_TOP_PINNED+this.rowIndex:this.rowPinned==="bottom"?Rt.ID_PREFIX_BOTTOM_PINNED+this.rowIndex:this.rowIndex.toString()}createDaemonNode(){let t=new Rt(this.beans);return t.id=this.id,t.data=this.data,t.__daemon=!0,t.selected=this.selected,t.level=this.level,t}setDataAndId(t,i){let o=M(this.id)?this.createDaemonNode():null,s=this.data;this.data=t,this.updateDataOnDetailNode(),this.setId(i),this.checkRowSelectable(),this.beans.selectionService.syncInRowNode(this,o);let r=this.createDataChangedEvent(t,s,!1);this.localEventService?.dispatchEvent(r)}checkRowSelectable(){let t=bs(this.beans.gos);this.setRowSelectable(t?t(this):!0)}setRowSelectable(t,i){if(this.selectable!==t){if(this.selectable=t,this.dispatchRowEvent("selectableChanged"),i)return;if(Dt(this.beans.gos)){let s=this.calculateSelectedFromChildren();this.setSelectedParams({newValue:s??!1,source:"selectableChanged"});return}this.isSelected()&&!this.selectable&&this.setSelectedParams({newValue:!1,source:"selectableChanged"})}}setId(t){let i=Ut(this.beans.gos);if(i)if(this.data){let o=this.parent?.getRoute()??[];this.id=i({data:this.data,parentKeys:o.length>0?o:void 0,level:this.level,rowPinned:this.rowPinned}),this.id.startsWith(Rt.ID_PREFIX_ROW_GROUP)&&Q(`Row IDs cannot start with ${Rt.ID_PREFIX_ROW_GROUP}, this is a reserved prefix for AG Grid's row grouping feature.`)}else this.id=void 0;else this.id=t}setRowTop(t){this.oldRowTop=this.rowTop,this.rowTop!==t&&(this.rowTop=t,this.dispatchRowEvent("topChanged"),this.setDisplayed(t!==null))}clearRowTopAndRowIndex(){this.oldRowTop=null,this.setRowTop(null),this.setRowIndex(null)}setHovered(t){this.hovered=t}isHovered(){return this.hovered}setMaster(t){this.master!==t&&(this.master&&!t&&(this.expanded=!1),this.master=t,this.dispatchRowEvent("masterChanged"))}setGroup(t){this.group!==t&&(this.group&&!t&&(this.expanded=!1),this.group=t,this.updateHasChildren(),this.checkRowSelectable(),this.dispatchRowEvent("groupChanged"))}setRowHeight(t,i=!1){this.rowHeight=t,this.rowHeightEstimated=i,this.dispatchRowEvent("heightChanged")}setRowAutoHeight(t,i){this.__autoHeights||(this.__autoHeights={}),this.__autoHeights[i.getId()]=t,t!=null&&(this.checkAutoHeightsDebounced==null&&(this.checkAutoHeightsDebounced=xe(this.checkAutoHeights.bind(this),1)),this.checkAutoHeightsDebounced())}checkAutoHeights(){let t=!1,i=!0,o=0,s=this.__autoHeights;if(s==null||(this.beans.visibleColsService.getAllAutoHeightCols().forEach(a=>{let l=s[a.getId()];if(l==null)if(this.beans.columnModel.isColSpanActive()){let c=[];switch(a.getPinned()){case"left":c=this.beans.visibleColsService.getLeftColsForRow(this);break;case"right":c=this.beans.visibleColsService.getRightColsForRow(this);break;case null:c=this.beans.columnViewportService.getColsWithinViewport(this);break}if(c.includes(a)){t=!0;return}l=-1}else{t=!0;return}else i=!1;l>o&&(o=l)}),t)||((i||o<10)&&(o=ht(this.beans.gos,this).height),o==this.rowHeight))return;this.setRowHeight(o),this.beans.rowModel.onRowHeightChangedDebounced?.()}setExpanded(t,i,o){if(this.expanded===t)return;this.expanded=t,this.dispatchRowEvent("expandedChanged");let s={...this.createGlobalRowEvent("rowGroupOpened"),expanded:t,event:i||null};this.beans.rowNodeEventThrottle.dispatchExpanded(s,o),this.beans.rowRenderer.refreshCells({rowNodes:[this]})}createGlobalRowEvent(t){return this.beans.gos.addGridCommonParams({type:t,node:this,data:this.data,rowIndex:this.rowIndex,rowPinned:this.rowPinned})}setDataValue(t,i,o){let r=typeof t!="string"?t:this.beans.columnModel.getCol(t)??this.beans.columnModel.getColDefCol(t),n=this.beans.valueService.getValueForDisplay(r,this);if(this.beans.gos.get("readOnlyEdit"))return this.beans.eventService.dispatchEvent({type:"cellEditRequest",event:null,rowIndex:this.rowIndex,rowPinned:this.rowPinned,column:r,colDef:r.getColDef(),data:this.data,node:this,oldValue:n,newValue:i,value:i,source:o}),!1;let a=this.beans.valueService.setValue(this,r,i,o);return this.dispatchCellChangedEvent(r,i,n),this.checkRowSelectable(),a}setGroupValue(t,i){let o=this.beans.columnModel.getCol(t);K(this.groupData)&&(this.groupData={});let s=o.getColId(),r=this.groupData[s];r!==i&&(this.groupData[s]=i,this.dispatchCellChangedEvent(o,i,r))}setAggData(t){let i=this.aggData;if(this.aggData=t,this.localEventService){let o=s=>{let r=this.aggData?this.aggData[s]:void 0,n=i?i[s]:void 0;if(r===n)return;let a=this.beans.columnModel.getCol(s);a&&this.dispatchCellChangedEvent(a,r,n)};for(let s in i)o(s);for(let s in t)(!i||!(s in i))&&o(s)}}updateHasChildren(){let t=this.group&&!this.footer||this.childrenAfterGroup&&this.childrenAfterGroup.length>0;if(mt(this.beans.gos)){let o=this.beans.gos.get("treeData"),s=this.beans.gos.get("isServerSideGroup");t=!this.stub&&!this.footer&&(o?!!s&&s(this.data):!!this.group)}t!==this.__hasChildren&&(this.__hasChildren=!!t,this.dispatchRowEvent("hasChildrenChanged"))}hasChildren(){return this.__hasChildren==null&&this.updateHasChildren(),this.__hasChildren}dispatchCellChangedEvent(t,i,o){let s={type:"cellChanged",node:this,column:t,newValue:i,oldValue:o};this.localEventService?.dispatchEvent(s)}resetQuickFilterAggregateText(){this.quickFilterAggregateText=null}isExpandable(){return this.footer?!1:this.beans.columnModel.isPivotMode()?this.hasChildren()&&!this.leafGroup:this.hasChildren()||!!this.master}isSelected(){return this.footer?this.sibling.isSelected():this.selected}depthFirstSearch(t){this.childrenAfterGroup&&this.childrenAfterGroup.forEach(i=>i.depthFirstSearch(t)),t(this)}calculateSelectedFromChildren(){let t=!1,i=!1;if(!this.childrenAfterGroup?.length)return this.selectable?this.selected:null;for(let o=0;o<this.childrenAfterGroup.length;o++){let s=this.childrenAfterGroup[o],r=s.isSelected();if(!s.selectable){let n=s.calculateSelectedFromChildren();if(n===null)continue;r=n}switch(r){case!0:t=!0;break;case!1:i=!0;break;default:return}}if(!(t&&i))return t?!0:i?!1:this.selectable?this.selected:null}setSelectedInitialValue(t){this.selected=t}dispatchRowEvent(t){this.localEventService?.dispatchEvent({type:t,node:this})}selectThisNode(t,i,o="api"){let s=!this.selectable&&t,r=this.selected===t;if(s||r)return!1;this.selected=t,this.dispatchRowEvent("rowSelected");let n=this.sibling;return n&&n.footer&&n.localEventService&&n.dispatchRowEvent("rowSelected"),this.beans.eventService.dispatchEvent({...this.createGlobalRowEvent("rowSelected"),event:i||null,source:o}),!0}setSelected(t,i=!1,o="api"){if(typeof o=="boolean"){S("since version v30, rowNode.setSelected() property `suppressFinishActions` has been removed, please use `gridApi.setNodesSelected()` for bulk actions, and the event `source` property for ignoring events instead.");return}this.setSelectedParams({newValue:t,clearSelection:i,rangeSelect:!1,source:o})}setSelectedParams(t){return this.rowPinned?(S("cannot select pinned rows"),0):this.id===void 0?(S("cannot select node until id for node is known"),0):this.beans.selectionService.setNodesSelected({...t,nodes:[this.footer?this.sibling:this]})}isRowPinned(){return!!this.rowPinned}addEventListener(t,i){this.localEventService||(this.localEventService=new ri),this.beans.frameworkOverrides.shouldWrapOutgoing&&!this.frameworkEventListenerService&&(this.localEventService.setFrameworkOverrides(this.beans.frameworkOverrides),this.frameworkEventListenerService=new Fs(this.beans.frameworkOverrides));let o=this.frameworkEventListenerService?.wrap(t,i)??i;this.localEventService.addEventListener(t,o)}removeEventListener(t,i){if(!this.localEventService)return;let o=this.frameworkEventListenerService?.unwrap(t,i)??i;this.localEventService.removeEventListener(t,o),this.localEventService.noRegisteredListenersExist()&&(this.localEventService=null)}onMouseEnter(){this.dispatchRowEvent("mouseEnter")}onMouseLeave(){this.dispatchRowEvent("mouseLeave")}isFullWidthCell(){if(S("since version v32.2.0, rowNode.isFullWidthCell() has been deprecated. Instead check `rowNode.detail` followed by the user provided `isFullWidthRow` grid option."),this.detail)return!0;let t=this.beans.gos.getCallback("isFullWidthRow");return t?t({rowNode:this}):!1}getRoute(){if(this.level===-1)return[];if(this.key==null)return;let t=[],i=this;for(;i&&i.key!=null;)t.push(i.key),i=i.parent;return t.reverse()}createFooter(){if(this.sibling)return;let t=new Rt(this.beans);Object.keys(this).forEach(i=>{Gd.has(i)||(t[i]=this[i])}),t.footer=!0,t.setRowTop(null),t.setRowIndex(null),t.oldRowTop=null,t.id="rowGroupFooter_"+this.id,t.sibling=this,this.sibling=t}destroyFooter(){this.sibling&&(this.sibling.setRowTop(null),this.sibling.setRowIndex(null),this.sibling=void 0)}setFirstChild(t){this.firstChild!==t&&(this.firstChild=t,this.dispatchRowEvent("firstChildChanged"))}setLastChild(t){this.lastChild!==t&&(this.lastChild=t,this.dispatchRowEvent("lastChildChanged"))}setChildIndex(t){this.childIndex!==t&&(this.childIndex=t,this.dispatchRowEvent("childIndexChanged"))}setDisplayed(t){this.displayed!==t&&(this.displayed=t,this.dispatchRowEvent("displayedChanged"))}setDragging(t){this.dragging!==t&&(this.dragging=t,this.dispatchRowEvent("draggingChanged"))}setHighlighted(t){this.highlighted!==t&&(this.highlighted=t,this.dispatchRowEvent("rowHighlightChanged"))}setAllChildrenCount(t){this.allChildrenCount!==t&&(this.allChildrenCount=t,this.dispatchRowEvent("allChildrenCountChanged"))}setRowIndex(t){this.rowIndex!==t&&(this.rowIndex=t,this.dispatchRowEvent("rowIndexChanged"))}setUiLevel(t){this.uiLevel!==t&&(this.uiLevel=t,this.dispatchRowEvent("uiLevelChanged"))}};Ni.ID_PREFIX_ROW_GROUP="row-group-";Ni.ID_PREFIX_TOP_PINNED="t-";Ni.ID_PREFIX_BOTTOM_PINNED="b-";Ni.OBJECT_ID_SEQUENCE=0;var st=Ni,Nd=class extends b{constructor(){super(...arguments),this.beanName="filterManager",this.advancedFilterModelUpdateQueue=[]}wireBeans(e){this.columnModel=e.columnModel,this.dataTypeService=e.dataTypeService,this.quickFilterService=e.quickFilterService,this.advancedFilterService=e.advancedFilterService,this.columnFilterService=e.columnFilterService}postConstruct(){let e=this.refreshFiltersForAggregations.bind(this),t=this.updateAdvancedFilterColumns.bind(this);this.addManagedEventListeners({columnValueChanged:e,columnPivotChanged:e,columnPivotModeChanged:e,newColumnsLoaded:t,columnVisible:t,advancedFilterEnabledChanged:({enabled:i})=>this.onAdvancedFilterEnabledChanged(i),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.externalFilterPresent=this.isExternalFilterPresentCallback(),this.addManagedPropertyListeners(["isExternalFilterPresent","doesExternalFilterPass"],()=>{this.onFilterChanged({source:"api"})}),this.updateAggFiltering(),this.addManagedPropertyListener("groupAggFiltering",()=>{this.updateAggFiltering(),this.onFilterChanged()}),this.addManagedPropertyListener("advancedFilterModel",i=>this.setAdvancedFilterModel(i.currentValue)),this.quickFilterService&&this.addManagedListeners(this.quickFilterService,{quickFilterChanged:()=>this.onFilterChanged({source:"quickFilter"})})}isExternalFilterPresentCallback(){let e=this.gos.getCallback("isExternalFilterPresent");return typeof e=="function"?e({}):!1}doesExternalFilterPass(e){let t=this.gos.get("doesExternalFilterPass");return typeof t=="function"?t(e):!1}setFilterModel(e,t="api"){if(this.isAdvancedFilterEnabled()){this.warnAdvancedFilters();return}this.columnFilterService?.setFilterModel(e,t)}getFilterModel(){return this.columnFilterService?.getFilterModel()??{}}isColumnFilterPresent(){return!!this.columnFilterService?.isColumnFilterPresent()}isAggregateFilterPresent(){return!!this.columnFilterService?.isAggregateFilterPresent()}isExternalFilterPresent(){return this.externalFilterPresent}isChildFilterPresent(){return this.isColumnFilterPresent()||this.isQuickFilterPresent()||this.isExternalFilterPresent()||this.isAdvancedFilterPresent()}isAdvancedFilterPresent(){return this.isAdvancedFilterEnabled()&&this.advancedFilterService.isFilterPresent()}onAdvancedFilterEnabledChanged(e){e?this.columnFilterService?.disableColumnFilters()&&this.onFilterChanged({source:"advancedFilter"}):this.advancedFilterService?.isFilterPresent()&&(this.advancedFilterService.setModel(null),this.onFilterChanged({source:"advancedFilter"}))}isAdvancedFilterEnabled(){return!!this.advancedFilterService?.isEnabled()}isAdvancedFilterHeaderActive(){return this.isAdvancedFilterEnabled()&&this.advancedFilterService.isHeaderActive()}isAnyFilterPresent(){return this.isQuickFilterPresent()||this.isColumnFilterPresent()||this.isAggregateFilterPresent()||this.isExternalFilterPresent()||this.isAdvancedFilterPresent()}resetQuickFilterCache(){this.quickFilterService?.resetQuickFilterCache()}refreshFiltersForAggregations(){os(this.gos)&&this.onFilterChanged()}onFilterChanged(e={}){let{source:t,additionalEventAttributes:i,columns:o=[]}=e;this.externalFilterPresent=this.isExternalFilterPresentCallback(),(this.columnFilterService?this.columnFilterService.updateBeforeFilterChanged(e):ae.resolve()).then(()=>{let s={source:t,type:"filterChanged",columns:o};i&&Ie(s,i),this.eventService.dispatchEvent(s),this.columnFilterService?.updateAfterFilterChanged()})}isSuppressFlashingCellsBecauseFiltering(){return!!this.columnFilterService?.isSuppressFlashingCellsBecauseFiltering()}isQuickFilterPresent(){return!!this.quickFilterService?.isQuickFilterPresent()}updateAggFiltering(){this.aggFiltering=!!os(this.gos)}isAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&this.shouldApplyQuickFilterAfterAgg()}isNonAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&!this.shouldApplyQuickFilterAfterAgg()}shouldApplyQuickFilterAfterAgg(){return(this.aggFiltering||this.columnModel.isPivotMode())&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")}doesRowPassOtherFilters(e,t){return this.doesRowPassFilter({rowNode:t,filterInstanceToSkip:e})}doesRowPassAggregateFilters(e){return!(this.isAggregateQuickFilterPresent()&&!this.quickFilterService.doesRowPassQuickFilter(e.rowNode)||this.isAggregateFilterPresent()&&!this.columnFilterService.doAggregateFiltersPass(e.rowNode,e.filterInstanceToSkip))}doesRowPassFilter(e){return!(this.isNonAggregateQuickFilterPresent()&&!this.quickFilterService.doesRowPassQuickFilter(e.rowNode)||this.isExternalFilterPresent()&&!this.doesExternalFilterPass(e.rowNode)||this.isColumnFilterPresent()&&!this.columnFilterService.doColumnFiltersPass(e.rowNode,e.filterInstanceToSkip)||this.isAdvancedFilterPresent()&&!this.advancedFilterService.doesFilterPass(e.rowNode))}isFilterActive(e){return!!this.columnFilterService?.isFilterActive(e)}getOrCreateFilterWrapper(e){return this.columnFilterService?.getOrCreateFilterWrapper(e)??null}getDefaultFloatingFilter(e){return this.columnFilterService.getDefaultFloatingFilter(e)}createFilterParams(e,t){return this.columnFilterService.createFilterParams(e,t)}isFilterAllowed(e){return this.isAdvancedFilterEnabled()?!1:!!this.columnFilterService?.isFilterAllowed(e)}getFloatingFilterCompDetails(e,t){return this.columnFilterService?.getFloatingFilterCompDetails(e,t)}getCurrentFloatingFilterParentModel(e){return this.columnFilterService?.getCurrentFloatingFilterParentModel(e)}destroyFilter(e,t="api"){this.columnFilterService?.destroyFilter(e,t)}areFilterCompsDifferent(e,t){return!!this.columnFilterService?.areFilterCompsDifferent(e,t)}getAdvancedFilterModel(){return this.isAdvancedFilterEnabled()?this.advancedFilterService.getModel():null}setAdvancedFilterModel(e){if(this.isAdvancedFilterEnabled()){if(this.dataTypeService?.isPendingInference()){this.advancedFilterModelUpdateQueue.push(e);return}this.advancedFilterService.setModel(e??null),this.onFilterChanged({source:"advancedFilter"})}}toggleAdvancedFilterBuilder(e,t){this.isAdvancedFilterEnabled()&&this.advancedFilterService.getCtrl().toggleFilterBuilder({source:t,force:e})}updateAdvancedFilterColumns(){this.isAdvancedFilterEnabled()&&this.advancedFilterService.updateValidity()&&this.onFilterChanged({source:"advancedFilter"})}hasFloatingFilters(){return this.isAdvancedFilterEnabled()?!1:!!this.columnFilterService?.hasFloatingFilters()}getFilterInstance(e,t){if(this.isAdvancedFilterEnabled()){this.warnAdvancedFilters();return}return this.columnFilterService?.getFilterInstance(e,t)}getColumnFilterInstance(e){return this.isAdvancedFilterEnabled()?(this.warnAdvancedFilters(),Promise.resolve(void 0)):this.columnFilterService?.getColumnFilterInstance(e)??Promise.resolve(void 0)}warnAdvancedFilters(){S("Column Filter API methods have been disabled as Advanced Filters are enabled.")}setupAdvancedFilterHeaderComp(e){this.advancedFilterService?.getCtrl().setupHeaderComp(e)}getHeaderRowCount(){return this.isAdvancedFilterHeaderActive()?1:0}getHeaderHeight(){return this.isAdvancedFilterHeaderActive()?this.advancedFilterService.getCtrl().getHeaderHeight():0}processFilterModelUpdateQueue(){this.advancedFilterModelUpdateQueue.forEach(e=>this.setAdvancedFilterModel(e)),this.advancedFilterModelUpdateQueue=[]}getColumnFilterModel(e){return this.columnFilterService?.getColumnFilterModel(e)}setColumnFilterModel(e,t){return this.isAdvancedFilterEnabled()?(this.warnAdvancedFilters(),Promise.resolve()):this.columnFilterService?.setColumnFilterModel(e,t)??Promise.resolve()}setColDefPropertiesForDataType(e,t,i){this.columnFilterService?.setColDefPropertiesForDataType(e,t,i)}},Hd=class extends ce{constructor(e,t){super('<div class="ag-filter"></div>'),this.column=e,this.source=t,this.filterWrapper=null}wireBeans(e){this.filterManager=e.filterManager,this.columnModel=e.columnModel}postConstruct(){this.createFilter(!0),this.addManagedEventListeners({filterDestroyed:this.onFilterDestroyed.bind(this)})}hasFilter(){return!!this.filterWrapper}getFilter(){return this.filterWrapper?.filterPromise??null}afterInit(){return this.filterWrapper?.filterPromise?.then(()=>{})??ae.resolve()}afterGuiAttached(e){this.filterWrapper?.filterPromise?.then(t=>{t?.afterGuiAttached?.(e)})}afterGuiDetached(){this.filterWrapper?.filterPromise?.then(e=>{e?.afterGuiDetached?.()})}createFilter(e){let{column:t,source:i}=this;this.filterWrapper=this.filterManager?.getOrCreateFilterWrapper(t)??null,this.filterWrapper?.filterPromise&&this.filterWrapper.filterPromise.then(o=>{let s=o.getGui();M(s)||S(`getGui method from filter returned ${s}; it should be a DOM element.`),this.appendChild(s),e&&this.eventService.dispatchEvent({type:"filterOpened",column:t,source:i,eGui:this.getGui()})})}onFilterDestroyed(e){(e.source==="api"||e.source==="paramsUpdated")&&e.column.getId()===this.column.getId()&&this.columnModel.getColDefCol(this.column)&&(Be(this.getGui()),this.createFilter())}destroy(){this.filterWrapper=null,super.destroy()}},ea="ag-resizer-wrapper",bt=(e,t)=>`<div data-ref="${e}Resizer" class="ag-resizer ag-resizer-${t}"></div>`,zd=`<div class="${ea}">
|
|
47
|
+
import 'ag-grid-enterprise';`;return Q(s),!1}static __isRegistered(t,i){return!!ie.globalModulesMap[t]||!!ie.gridModulesMap[i]?.[t]}static __getRegisteredModules(t){return[...Xi(ie.globalModulesMap),...Xi(ie.gridModulesMap[t]||{})]}static __getGridRegisteredModules(t){return Xi(ie.gridModulesMap[t]??{})||[]}static __isPackageBased(){return!ie.moduleBased}};So.globalModulesMap={};So.gridModulesMap={};So.areGridScopedModules=!1;var Ue=So,Td=class{constructor(e){this.beans={},this.createdBeans=[],this.destroyed=!1,!(!e||!e.beanClasses)&&(this.beanDestroyComparator=e.beanDestroyComparator,this.init(e))}init(e){Object.entries(e.providedBeanInstances).forEach(([t,i])=>{this.beans[t]=i}),e.beanClasses.forEach(t=>{let i=new t;i.beanName?this.beans[i.beanName]=i:console.error(`Bean ${t.name} is missing beanName`),this.createdBeans.push(i)}),e.derivedBeans?.forEach(t=>{let{beanName:i,bean:o}=t(this);this.beans[i]=o,this.createdBeans.push(o)}),e.beanInitComparator&&this.createdBeans.sort(e.beanInitComparator),this.initBeans(this.createdBeans)}getBeanInstances(){return Object.values(this.beans)}createBean(e,t){if(!e)throw Error("Can't wire to bean since it is null");return this.initBeans([e],t),e}initBeans(e,t){e.forEach(i=>{i.preWireBeans?.(this.beans),i.wireBeans?.(this.beans)}),e.forEach(i=>i.preConstruct?.()),t&&e.forEach(t),e.forEach(i=>i.postConstruct?.())}getBeans(){return this.beans}getBean(e){return this.beans[e]}destroy(){if(this.destroyed)return;this.destroyed=!0;let e=this.getBeanInstances();this.beanDestroyComparator&&e.sort(this.beanDestroyComparator),this.destroyBeans(e),this.beans={},this.createdBeans=[]}destroyBean(e){e?.destroy?.()}destroyBeans(e){if(e)for(let t=0;t<e.length;t++)this.destroyBean(e[t]);return[]}isDestroyed(){return this.destroyed}},Ad=class extends Td{init(e){this.gridId=e.gridId,this.beans.context=this,super.init(e)}destroy(){super.destroy(),Ue.__unRegisterGridModules(this.gridId)}getGridId(){return this.gridId}};var ea=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e))(ea||{});var kd=class extends b{constructor(){super(...arguments),this.beanName="dragAndDropService",this.dragSourceAndParamsList=[],this.dropTargets=[]}wireBeans(e){this.ctrlsService=e.ctrlsService,this.dragService=e.dragService,this.mouseEventService=e.mouseEventService,this.environment=e.environment,this.userComponentFactory=e.userComponentFactory}addDragSource(e,t=!1){let i={eElement:e.eElement,dragStartPixels:e.dragStartPixels,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this),onDragging:this.onDragging.bind(this),onDragCancel:this.onDragCancel.bind(this),includeTouch:t};this.dragSourceAndParamsList.push({params:i,dragSource:e}),this.dragService.addDragSource(i)}getDragAndDropImageComponent(){let{dragAndDropImageComp:e}=this;return!e||!e.comp?null:e.comp}removeDragSource(e){let t=this.dragSourceAndParamsList.find(i=>i.dragSource===e);t&&(this.dragService.removeDragSource(t.params),De(this.dragSourceAndParamsList,t))}destroy(){this.dragSourceAndParamsList.forEach(e=>this.dragService.removeDragSource(e.params)),this.dragSourceAndParamsList.length=0,this.dropTargets.length=0,this.clearDragAndDropProperties(),super.destroy()}nudge(){this.dragging&&this.onDragging(this.eventLastTime,!0)}onDragStart(e,t){this.dragging=!0,this.dragSource=e,this.eventLastTime=t,this.dragItem=this.dragSource.getDragItem(),this.dragSource.onDragStarted?.(),this.createDragAndDropImageComponent()}onDragStop(e){if(this.dragSource?.onDragStopped?.(),this.lastDropTarget?.onDragStop){let t=this.createDropTargetEvent(this.lastDropTarget,e,null,null,!1);this.lastDropTarget.onDragStop(t)}this.clearDragAndDropProperties()}onDragCancel(){this.dragSource?.onDragCancelled?.(),this.lastDropTarget?.onDragCancel&&this.lastDropTarget.onDragCancel(this.createDropTargetEvent(this.lastDropTarget,this.eventLastTime,null,null,!1)),this.clearDragAndDropProperties()}clearDragAndDropProperties(){this.eventLastTime=null,this.dragging=!1,this.lastDropTarget=void 0,this.dragItem=null,this.dragSource=null,this.removeDragAndDropImageComponent()}onDragging(e,t=!1){let i=this.getHorizontalDirection(e),o=this.getVerticalDirection(e);this.eventLastTime=e,this.positionDragAndDropImageComp(e);let s=this.dropTargets.filter(n=>this.isMouseOnDropTarget(e,n)),r=this.findCurrentDropTarget(e,s);if(r!==this.lastDropTarget){if(this.leaveLastTargetIfExists(e,i,o,t),this.lastDropTarget!==null&&r===null&&this.dragSource?.onGridExit?.(this.dragItem),this.lastDropTarget===null&&r!==null&&this.dragSource?.onGridEnter?.(this.dragItem),this.enterDragTargetIfExists(r,e,i,o,t),r&&this.dragAndDropImageComp){let{comp:n,promise:a}=this.dragAndDropImageComp;n?n.setIcon(r.getIconName?r.getIconName():null):a.then(l=>{l&&l.setIcon(r.getIconName?r.getIconName():null)})}this.lastDropTarget=r}else if(r&&r.onDragging){let n=this.createDropTargetEvent(r,e,i,o,t);r.onDragging(n)}}getAllContainersFromDropTarget(e){let t=e.getSecondaryContainers?e.getSecondaryContainers():null,i=[[e.getContainer()]];return t?i.concat(t):i}allContainersIntersect(e,t){for(let i of t){let{width:o,height:s,left:r,right:n,top:a,bottom:l}=i.getBoundingClientRect();if(o===0||s===0)return!1;let c=e.clientX>=r&&e.clientX<n,d=e.clientY>=a&&e.clientY<l;if(!c||!d)return!1}return!0}isMouseOnDropTarget(e,t){let i=this.getAllContainersFromDropTarget(t),o=!1;for(let n of i)if(this.allContainersIntersect(e,n)){o=!0;break}let{eElement:s,type:r}=this.dragSource;return t.targetContainsSource&&!t.getContainer().contains(s)?!1:o&&t.isInterestedIn(r,s)}findCurrentDropTarget(e,t){let i=t.length;if(i===0)return null;if(i===1)return t[0];let s=Ei(this.gos).elementsFromPoint(e.clientX,e.clientY);for(let r of s)for(let n of t)if(Kl(this.getAllContainersFromDropTarget(n)).indexOf(r)!==-1)return n;return null}enterDragTargetIfExists(e,t,i,o,s){if(e&&e.onDragEnter){let r=this.createDropTargetEvent(e,t,i,o,s);e.onDragEnter(r)}}leaveLastTargetIfExists(e,t,i,o){if(!this.lastDropTarget)return;if(this.lastDropTarget.onDragLeave){let r=this.createDropTargetEvent(this.lastDropTarget,e,t,i,o);this.lastDropTarget.onDragLeave(r)}let s=this.getDragAndDropImageComponent();s&&s.setIcon(null)}addDropTarget(e){this.dropTargets.push(e)}removeDropTarget(e){this.dropTargets=this.dropTargets.filter(t=>t.getContainer()!==e.getContainer())}hasExternalDropZones(){return this.dropTargets.some(e=>e.external)}findExternalZone(e){return this.dropTargets.filter(i=>i.external).find(i=>i.getContainer()===e.getContainer())||null}isDropZoneWithinThisGrid(e){let i=this.ctrlsService.getGridBodyCtrl().getGui(),{dropZoneTarget:o}=e;return i.contains(o)}getHorizontalDirection(e){let t=this.eventLastTime&&this.eventLastTime.clientX,i=e.clientX;return t===i?null:t>i?0:1}getVerticalDirection(e){let t=this.eventLastTime&&this.eventLastTime.clientY,i=e.clientY;return t===i?null:t>i?0:1}createDropTargetEvent(e,t,i,o,s){let r=e.getContainer(),n=r.getBoundingClientRect(),{dragItem:a,dragSource:l}=this,c=t.clientX-n.left,d=t.clientY-n.top;return this.gos.addGridCommonParams({event:t,x:c,y:d,vDirection:o,hDirection:i,dragSource:l,fromNudge:s,dragItem:a,dropZoneTarget:r})}positionDragAndDropImageComp(e){let t=this.getDragAndDropImageComponent();if(!t)return;let i=t.getGui(),s=i.getBoundingClientRect().height,r=Hc()-2,n=zc()-2;if(!i.offsetParent)return;let l=Hn(i.offsetParent),{clientY:c,clientX:d}=e,u=c-l.top-s/2,h=d-l.left-10,g=ve(this.gos),f=g.defaultView||window,m=f.pageYOffset||g.documentElement.scrollTop,p=f.pageXOffset||g.documentElement.scrollLeft;r>0&&h+i.clientWidth>r+p&&(h=r+p-i.clientWidth),h<0&&(h=0),n>0&&u+i.clientHeight>n+m&&(u=n+m-i.clientHeight),u<0&&(u=0),i.style.left=`${h}px`,i.style.top=`${u}px`}removeDragAndDropImageComponent(){if(this.dragAndDropImageComp){let{comp:e}=this.dragAndDropImageComp;if(e){let t=e.getGui();this.dragAndDropImageParent&&this.dragAndDropImageParent.removeChild(t),this.destroyBean(e)}}this.dragAndDropImageComp=null}createDragAndDropImageComponent(){let{dragSource:e}=this;if(!e)return;let i=this.userComponentFactory.getDragAndDropImageCompDetails({dragSource:e}).newAgStackInstance();this.dragAndDropImageComp={promise:i},i.then(o=>{!o||!this.isAlive()||(this.processDragAndDropImageComponent(o),this.dragAndDropImageComp.comp=o)})}processDragAndDropImageComponent(e){let{dragSource:t,mouseEventService:i,environment:o}=this;if(!t)return;let s=e.getGui();s.style.setProperty("position","absolute"),s.style.setProperty("z-index","9999"),i.stampTopLevelGridCompWithGridInstance(s),o.applyThemeClasses(s),e.setIcon(null);let{dragItemName:r}=t;ys(r)&&(r=r()),e.setLabel(r||""),s.style.top="20px",s.style.left="20px";let n=ve(this.gos),a=null,l=null;try{a=n.fullscreenElement}catch{}finally{a||(a=Ei(this.gos));let c=a.querySelector("body");c?l=c:a instanceof ShadowRoot?l=a:a instanceof Document?l=a?.documentElement:l=a}this.dragAndDropImageParent=l,l?l.appendChild(s):S("Could not find document body, it is needed for drag and drop.")}},Id=class{constructor(e){this.tickingInterval=null,this.onScrollCallback=null,this.scrollContainer=e.scrollContainer,this.scrollHorizontally=e.scrollAxis.indexOf("x")!==-1,this.scrollVertically=e.scrollAxis.indexOf("y")!==-1,this.scrollByTick=e.scrollByTick!=null?e.scrollByTick:20,e.onScrollCallback&&(this.onScrollCallback=e.onScrollCallback),this.scrollVertically&&(this.getVerticalPosition=e.getVerticalPosition,this.setVerticalPosition=e.setVerticalPosition),this.scrollHorizontally&&(this.getHorizontalPosition=e.getHorizontalPosition,this.setHorizontalPosition=e.setHorizontalPosition),this.shouldSkipVerticalScroll=e.shouldSkipVerticalScroll||(()=>!1),this.shouldSkipHorizontalScroll=e.shouldSkipHorizontalScroll||(()=>!1)}check(e,t=!1){let i=t||this.shouldSkipVerticalScroll();if(i&&this.shouldSkipHorizontalScroll())return;let o=this.scrollContainer.getBoundingClientRect(),s=this.scrollByTick;this.tickLeft=e.clientX<o.left+s,this.tickRight=e.clientX>o.right-s,this.tickUp=e.clientY<o.top+s&&!i,this.tickDown=e.clientY>o.bottom-s&&!i,this.tickLeft||this.tickRight||this.tickUp||this.tickDown?this.ensureTickingStarted():this.ensureCleared()}ensureTickingStarted(){this.tickingInterval===null&&(this.tickingInterval=window.setInterval(this.doTick.bind(this),100),this.tickCount=0)}doTick(){this.tickCount++;let e=this.tickCount>20?200:this.tickCount>10?80:40;if(this.scrollVertically){let t=this.getVerticalPosition();this.tickUp&&this.setVerticalPosition(t-e),this.tickDown&&this.setVerticalPosition(t+e)}if(this.scrollHorizontally){let t=this.getHorizontalPosition();this.tickLeft&&this.setHorizontalPosition(t-e),this.tickRight&&this.setHorizontalPosition(t+e)}this.onScrollCallback&&this.onScrollCallback()}ensureCleared(){this.tickingInterval&&(window.clearInterval(this.tickingInterval),this.tickingInterval=null)}},ci=(e=>(e[e.Above=0]="Above",e[e.Below=1]="Below",e))(ci||{}),Ld=class extends b{wireBeans(e){this.dragAndDropService=e.dragAndDropService,this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService,this.focusService=e.focusService,this.sortController=e.sortController,this.filterManager=e.filterManager,this.selectionService=e.selectionService,this.mouseEventService=e.mouseEventService,this.ctrlsService=e.ctrlsService,this.funcColsService=e.funcColsService,this.rangeService=e.rangeService}constructor(e){super(),this.eContainer=e}postConstruct(){de(this.gos)&&(this.clientSideRowModel=this.rowModel),this.ctrlsService.whenReady(this,e=>{let t=e.gridBodyCtrl;this.autoScrollService=new Id({scrollContainer:t.getBodyViewportElement(),scrollAxis:"y",getVerticalPosition:()=>t.getScrollFeature().getVScrollPosition().top,setVerticalPosition:i=>t.getScrollFeature().setVerticalScrollPosition(i),onScrollCallback:()=>{this.onDragging(this.lastDraggingEvent)}})})}getContainer(){return this.eContainer}isInterestedIn(e){return e===2}getIconName(){return this.gos.get("rowDragManaged")&&this.shouldPreventRowMove()?"notAllowed":"move"}shouldPreventRowMove(){return!!(this.funcColsService.getRowGroupColumns().length||this.filterManager?.isAnyFilterPresent()||this.sortController.isSortActive())}getRowNodes(e){if(!this.isFromThisGrid(e))return e.dragItem.rowNodes||[];let t=e.dragItem.rowNode;if(this.gos.get("rowDragMultiRow")){let o=[...this.selectionService.getSelectedNodes()].sort((s,r)=>s.rowIndex==null||r.rowIndex==null?0:this.getRowIndexNumber(s)-this.getRowIndexNumber(r));if(o.indexOf(t)!==-1)return o}return[t]}onDragEnter(e){e.dragItem.rowNodes=this.getRowNodes(e),this.dispatchGridEvent("rowDragEnter",e),this.getRowNodes(e).forEach(t=>{t.setDragging(!0)}),this.onEnterOrDragging(e)}onDragging(e){this.onEnterOrDragging(e)}isFromThisGrid(e){let{dragSourceDomDataKey:t}=e.dragSource;return t===this.gos.getDomDataKey()}onEnterOrDragging(e){this.dispatchGridEvent("rowDragMove",e),this.lastDraggingEvent=e;let t=this.mouseEventService.getNormalisedPosition(e).y;this.gos.get("rowDragManaged")&&this.doManagedDrag(e,t),this.autoScrollService.check(e.event)}doManagedDrag(e,t){let i=this.isFromThisGrid(e),o=this.gos.get("rowDragManaged"),s=e.dragItem.rowNodes;o&&this.shouldPreventRowMove()||(this.gos.get("suppressMoveWhenRowDragging")||!i?this.dragAndDropService.isDropZoneWithinThisGrid(e)&&this.clientSideRowModel.highlightRowAtPixel(s[0],t):this.moveRows(s,t))}getRowIndexNumber(e){let t=e.getRowIndexString();return parseInt($(t.split("-")),10)}moveRowAndClearHighlight(e){let t=this.clientSideRowModel.getLastHighlightedRowNode(),i=t&&t.highlighted===1,o=this.mouseEventService.getNormalisedPosition(e).y,s=e.dragItem.rowNodes,r=i?1:0;if(this.isFromThisGrid(e))s.forEach(n=>{n.rowTop<o&&(r-=1)}),this.moveRows(s,o,r);else{let n=Ut(this.gos),a=this.clientSideRowModel.getRowIndexAtPixel(o)+1;this.clientSideRowModel.getHighlightPosition(o)===0&&a--,this.clientSideRowModel.updateRowData({add:s.filter(l=>!this.clientSideRowModel.getRowNode(n?.({data:l.data,level:0,rowPinned:l.rowPinned})??l.data.id)).map(l=>l.data),addIndex:a})}this.clearRowHighlight()}clearRowHighlight(){this.clientSideRowModel.highlightRowAtPixel(null)}moveRows(e,t,i=0){this.clientSideRowModel.ensureRowsAtPixel(e,t,i)&&(this.focusService.clearFocusedCell(),this.rangeService?.removeAllCellRanges())}addRowDropZone(e){if(!e.getContainer()){S("addRowDropZone - A container target needs to be provided");return}if(this.dragAndDropService.findExternalZone(e)){S("addRowDropZone - target already exists in the list of DropZones. Use `removeRowDropZone` before adding it again.");return}let t={getContainer:e.getContainer};e.fromGrid?t=e:(e.onDragEnter&&(t.onDragEnter=o=>{e.onDragEnter(this.draggingToRowDragEvent("rowDragEnter",o))}),e.onDragLeave&&(t.onDragLeave=o=>{e.onDragLeave(this.draggingToRowDragEvent("rowDragLeave",o))}),e.onDragging&&(t.onDragging=o=>{e.onDragging(this.draggingToRowDragEvent("rowDragMove",o))}),e.onDragStop&&(t.onDragStop=o=>{e.onDragStop(this.draggingToRowDragEvent("rowDragEnd",o))}),e.onDragCancel&&(t.onDragCancel=o=>{e.onDragCancel(this.draggingToRowDragEvent("rowDragCancel",o))}));let i={isInterestedIn:o=>o===2,getIconName:()=>"move",external:!0,...t};this.dragAndDropService.addDropTarget(i),this.addDestroyFunc(()=>this.dragAndDropService.removeDropTarget(i))}getRowDropZone(e){let t=this.getContainer.bind(this),i=this.onDragEnter.bind(this),o=this.onDragLeave.bind(this),s=this.onDragging.bind(this),r=this.onDragStop.bind(this),n=this.onDragCancel.bind(this),a;return e?a={getContainer:t,onDragEnter:e.onDragEnter?l=>{i(l),e.onDragEnter(this.draggingToRowDragEvent("rowDragEnter",l))}:i,onDragLeave:e.onDragLeave?l=>{o(l),e.onDragLeave(this.draggingToRowDragEvent("rowDragLeave",l))}:o,onDragging:e.onDragging?l=>{s(l),e.onDragging(this.draggingToRowDragEvent("rowDragMove",l))}:s,onDragStop:e.onDragStop?l=>{r(l),e.onDragStop(this.draggingToRowDragEvent("rowDragEnd",l))}:r,onDragCancel:e.onDragCancel?l=>{n(l),e.onDragCancel(this.draggingToRowDragEvent("rowDragCancel",l))}:n,fromGrid:!0}:a={getContainer:t,onDragEnter:i,onDragLeave:o,onDragging:s,onDragStop:r,onDragCancel:n,fromGrid:!0},a}draggingToRowDragEvent(e,t){let i=this.mouseEventService.getNormalisedPosition(t).y,o=i>this.pageBoundsService.getCurrentPageHeight(),s=-1,r;o||(s=this.rowModel.getRowIndexAtPixel(i),r=this.rowModel.getRow(s));let n;switch(t.vDirection){case 1:n="down";break;case 0:n="up";break;default:n=null;break}return this.gos.addGridCommonParams({type:e,event:t.event,node:t.dragItem.rowNode,nodes:t.dragItem.rowNodes,overIndex:s,overNode:r,y:i,vDirection:n})}dispatchGridEvent(e,t){let i=this.draggingToRowDragEvent(e,t);this.eventService.dispatchEvent(i)}onDragLeave(e){this.dispatchGridEvent("rowDragLeave",e),this.stopDragging(e),this.gos.get("rowDragManaged")&&this.clearRowHighlight()}onDragStop(e){this.dispatchGridEvent("rowDragEnd",e),this.stopDragging(e),this.gos.get("rowDragManaged")&&(this.gos.get("suppressMoveWhenRowDragging")||!this.isFromThisGrid(e))&&this.dragAndDropService.isDropZoneWithinThisGrid(e)&&this.moveRowAndClearHighlight(e)}onDragCancel(e){this.dispatchGridEvent("rowDragCancel",e),this.stopDragging(e),this.gos.get("rowDragManaged")&&(this.gos.get("suppressMoveWhenRowDragging")||!this.isFromThisGrid(e))&&this.dragAndDropService.isDropZoneWithinThisGrid(e)&&this.clearRowHighlight()}stopDragging(e){this.autoScrollService.ensureCleared(),this.getRowNodes(e).forEach(t=>{t.setDragging(!1)})}},Od=class extends b{constructor(){super(...arguments),this.beanName="dragService",this.dragEndFunctions=[],this.dragSources=[]}wireBeans(e){this.mouseEventService=e.mouseEventService}destroy(){this.dragSources.forEach(this.removeListener.bind(this)),this.dragSources.length=0,super.destroy()}removeListener(e){let t=e.dragSource.eElement,i=e.mouseDownListener;if(t.removeEventListener("mousedown",i),e.touchEnabled){let o=e.touchStartListener;t.removeEventListener("touchstart",o,{passive:!0})}}removeDragSource(e){let t=this.dragSources.find(i=>i.dragSource===e);t&&(this.removeListener(t),De(this.dragSources,t))}isDragging(){return this.dragging}addDragSource(e){let t=this.onMouseDown.bind(this,e),{eElement:i,includeTouch:o,stopPropagationForTouch:s}=e;i.addEventListener("mousedown",t);let r=null,n=this.gos.get("suppressTouch");o&&!n&&(r=a=>{Ps(a.target)||(s&&a.stopPropagation(),this.onTouchStart(e,a))},i.addEventListener("touchstart",r,{passive:!1})),this.dragSources.push({dragSource:e,mouseDownListener:t,touchStartListener:r,touchEnabled:!!o})}getStartTarget(){return this.startTarget}onTouchStart(e,t){this.currentDragParams=e,this.dragging=!1;let i=t.touches[0];this.touchLastTime=i,this.touchStart=i;let o=l=>this.onTouchMove(l,e.eElement),s=l=>this.onTouchUp(l,e.eElement),r=l=>{l.cancelable&&l.preventDefault()},n=t.target,a=[{target:Ei(this.gos),type:"touchmove",listener:r,options:{passive:!1}},{target:n,type:"touchmove",listener:o,options:{passive:!0}},{target:n,type:"touchend",listener:s,options:{passive:!0}},{target:n,type:"touchcancel",listener:s,options:{passive:!0}}];this.addTemporaryEvents(a),e.dragStartPixels===0&&this.onCommonMove(i,this.touchStart,e.eElement)}onMouseDown(e,t){let i=t;if(e.skipMouseEvent&&e.skipMouseEvent(t)||i._alreadyProcessedByDragService||(i._alreadyProcessedByDragService=!0,t.button!==0))return;this.shouldPreventMouseEvent(t)&&t.preventDefault(),this.currentDragParams=e,this.dragging=!1,this.mouseStartEvent=t,this.startTarget=t.target;let o=c=>this.onMouseMove(c,e.eElement),s=c=>this.onMouseUp(c,e.eElement),r=c=>c.preventDefault(),n=c=>{c.key===y.ESCAPE&&this.cancelDrag(e.eElement)},a=Ei(this.gos),l=[{target:a,type:"mousemove",listener:o},{target:a,type:"mouseup",listener:s},{target:a,type:"contextmenu",listener:r},{target:a,type:"keydown",listener:n}];this.addTemporaryEvents(l),e.dragStartPixels===0&&this.onMouseMove(t,e.eElement)}addTemporaryEvents(e){e.forEach(t=>{let{target:i,type:o,listener:s,options:r}=t;i.addEventListener(o,s,r)}),this.dragEndFunctions.push(()=>{e.forEach(t=>{let{target:i,type:o,listener:s,options:r}=t;i.removeEventListener(o,s,r)})})}isEventNearStartEvent(e,t){let{dragStartPixels:i}=this.currentDragParams,o=M(i)?i:4;return $n(e,t,o)}getFirstActiveTouch(e){for(let t=0;t<e.length;t++)if(e[t].identifier===this.touchStart.identifier)return e[t];return null}onCommonMove(e,t,i){if(!this.dragging){if(this.isEventNearStartEvent(e,t))return;if(this.dragging=!0,this.eventService.dispatchEvent({type:"dragStarted",target:i}),this.currentDragParams.onDragStart(t),!this.currentDragParams){this.dragging=!1;return}this.currentDragParams.onDragging(t)}this.currentDragParams?.onDragging(e)}onTouchMove(e,t){let i=this.getFirstActiveTouch(e.touches);i&&this.onCommonMove(i,this.touchStart,t)}onMouseMove(e,t){ft()&&ve(this.gos).getSelection()?.removeAllRanges(),this.shouldPreventMouseEvent(e)&&e.preventDefault(),this.onCommonMove(e,this.mouseStartEvent,t)}shouldPreventMouseEvent(e){let t=this.gos.get("enableCellTextSelection"),i=e.type==="mousemove";return t&&i&&e.cancelable&&this.mouseEventService.isEventFromThisGrid(e)&&!this.isOverFormFieldElement(e)}isOverFormFieldElement(e){return!!e.target?.tagName.toLocaleLowerCase()?.match("^a$|textarea|input|select|button")}onTouchUp(e,t){let i=this.getFirstActiveTouch(e.changedTouches);i||(i=this.touchLastTime),this.onUpCommon(i,t)}onMouseUp(e,t){this.onUpCommon(e,t)}onUpCommon(e,t){this.dragging&&(this.dragging=!1,this.currentDragParams.onDragStop(e),this.eventService.dispatchEvent({type:"dragStopped",target:t})),this.resetDragProperties()}cancelDrag(e){this.eventService.dispatchEvent({type:"dragCancelled",target:e}),this.currentDragParams?.onDragCancel?.(),this.resetDragProperties()}resetDragProperties(){this.mouseStartEvent=null,this.startTarget=null,this.touchStart=null,this.touchLastTime=null,this.currentDragParams=null,this.dragEndFunctions.forEach(e=>e()),this.dragEndFunctions.length=0}},hs=class extends ce{constructor(e,t,i,o,s,r){super(),this.cellValueFn=e,this.rowNode=t,this.column=i,this.customGui=o,this.dragStartPixels=s,this.suppressVisibilityChange=r,this.dragSource=null}wireBeans(e){this.beans=e}isCustomGui(){return this.customGui!=null}postConstruct(){if(this.customGui?this.setDragElement(this.customGui,this.dragStartPixels):(this.setTemplate('<div class="ag-drag-handle ag-row-drag" aria-hidden="true"></div>'),this.getGui().appendChild(ze("rowDrag",this.gos,null)),this.addDragSource()),this.checkCompatibility(),!this.suppressVisibilityChange){let e=this.gos.get("rowDragManaged")?new Nd(this,this.beans,this.rowNode,this.column):new Gd(this,this.beans,this.rowNode,this.column);this.createManagedBean(e,this.beans.context)}}setDragElement(e,t){this.setTemplateFromElement(e,void 0,void 0,!0),this.addDragSource(t)}getSelectedNodes(){if(!this.gos.get("rowDragMultiRow"))return[this.rowNode];let t=this.beans.selectionService.getSelectedNodes();return t.indexOf(this.rowNode)!==-1?t:[this.rowNode]}checkCompatibility(){let e=this.gos.get("rowDragManaged");this.gos.get("treeData")&&e&&S("If using row drag with tree data, you cannot have rowDragManaged=true")}getDragItem(){return{rowNode:this.rowNode,rowNodes:this.getSelectedNodes(),columns:this.column?[this.column]:void 0,defaultTextValue:this.cellValueFn()}}getRowDragText(e){if(e){let t=e.getColDef();if(t.rowDragText)return t.rowDragText}return this.gos.get("rowDragText")}addDragSource(e=4){this.dragSource&&this.removeDragSource();let t=this.getGui();this.gos.get("enableCellTextSelection")&&(this.removeMouseDownListener(),this.mouseDownListener=this.addManagedElementListeners(t,{mousedown:o=>{o?.preventDefault()}})[0]);let i=this.localeService.getLocaleTextFunc();this.dragSource={type:2,eElement:t,dragItemName:()=>{let o=this.getDragItem(),s=o.rowNodes?.length||1,r=this.getRowDragText(this.column);return r?r(o,s):s===1?this.cellValueFn():`${s} ${i("rowDragRows","rows")}`},getDragItem:()=>this.getDragItem(),dragStartPixels:e,dragSourceDomDataKey:this.gos.getDomDataKey()},this.beans.dragAndDropService.addDragSource(this.dragSource,!0)}destroy(){this.removeDragSource(),this.removeMouseDownListener(),super.destroy()}removeDragSource(){this.dragSource&&(this.beans.dragAndDropService.removeDragSource(this.dragSource),this.dragSource=null)}removeMouseDownListener(){this.mouseDownListener&&(this.mouseDownListener(),this.mouseDownListener=void 0)}},ta=class extends b{constructor(e,t,i){super(),this.parent=e,this.rowNode=t,this.column=i}setDisplayedOrVisible(e){let t={skipAriaHidden:!0};if(e)this.parent.setDisplayed(!1,t);else{let i=!0,o=!1;this.column&&(i=this.column.isRowDrag(this.rowNode)||this.parent.isCustomGui(),o=ys(this.column.getColDef().rowDrag)),o?(this.parent.setDisplayed(!0,t),this.parent.setVisible(i,t)):(this.parent.setDisplayed(i,t),this.parent.setVisible(!0,t))}}},Gd=class extends ta{constructor(e,t,i,o){super(e,i,o),this.beans=t}postConstruct(){this.addManagedPropertyListener("suppressRowDrag",this.onSuppressRowDrag.bind(this));let e=this.workOutVisibility.bind(this);this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.addManagedListeners(this.beans.eventService,{newColumnsLoaded:e}),this.workOutVisibility()}onSuppressRowDrag(){this.workOutVisibility()}workOutVisibility(){let e=this.gos.get("suppressRowDrag");this.setDisplayedOrVisible(e)}},Nd=class extends ta{constructor(e,t,i,o){super(e,i,o),this.beans=t}postConstruct(){let e=this.workOutVisibility.bind(this);this.addManagedListeners(this.beans.eventService,{sortChanged:e,filterChanged:e,columnRowGroupChanged:e,newColumnsLoaded:e}),this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.addManagedPropertyListener("suppressRowDrag",this.onSuppressRowDrag.bind(this)),this.workOutVisibility()}onSuppressRowDrag(){this.workOutVisibility()}workOutVisibility(){let t=this.beans.ctrlsService.getGridBodyCtrl().getRowDragFeature(),i=t&&t.shouldPreventRowMove(),o=this.gos.get("suppressRowDrag"),s=this.beans.dragAndDropService.hasExternalDropZones(),r=i&&!s||o;this.setDisplayedOrVisible(r)}},Hd=new Set(["localEventService","__objectId","sticky","__autoHeights","checkAutoHeightsDebounced"]),Ni=class Rt{constructor(t){this.rowIndex=null,this.key=null,this.sourceRowIndex=-1,this.childrenMapped={},this.treeNode=null,this.treeNodeFlags=0,this.displayed=!1,this.rowTop=null,this.oldRowTop=null,this.selectable=!0,this.__objectId=Rt.OBJECT_ID_SEQUENCE++,this.__autoHeights={},this.alreadyRendered=!1,this.highlighted=null,this.hovered=!1,this.selected=!1,this.beans=t}setData(t){this.setDataCommon(t,!1)}updateData(t){this.setDataCommon(t,!0)}setDataCommon(t,i){let o=this.data;this.data=t,this.beans.valueCache.onDataChanged(),this.updateDataOnDetailNode(),this.checkRowSelectable(),this.resetQuickFilterAggregateText();let s=this.createDataChangedEvent(t,o,i);this.localEventService?.dispatchEvent(s)}updateDataOnDetailNode(){this.detailNode&&(this.detailNode.data=this.data)}createDataChangedEvent(t,i,o){return{type:"dataChanged",node:this,oldData:i,newData:t,update:o}}getRowIndexString(){return this.rowIndex==null?(Q("Could not find rowIndex, this means tasks are being executed on a rowNode that has been removed from the grid."),null):this.rowPinned==="top"?Rt.ID_PREFIX_TOP_PINNED+this.rowIndex:this.rowPinned==="bottom"?Rt.ID_PREFIX_BOTTOM_PINNED+this.rowIndex:this.rowIndex.toString()}createDaemonNode(){let t=new Rt(this.beans);return t.id=this.id,t.data=this.data,t.__daemon=!0,t.selected=this.selected,t.level=this.level,t}setDataAndId(t,i){let o=M(this.id)?this.createDaemonNode():null,s=this.data;this.data=t,this.updateDataOnDetailNode(),this.setId(i),this.checkRowSelectable(),this.beans.selectionService.syncInRowNode(this,o);let r=this.createDataChangedEvent(t,s,!1);this.localEventService?.dispatchEvent(r)}checkRowSelectable(){let t=Ss(this.beans.gos);this.setRowSelectable(t?t(this):!0)}setRowSelectable(t,i){if(this.selectable!==t){if(this.selectable=t,this.dispatchRowEvent("selectableChanged"),i)return;if(Dt(this.beans.gos)){let s=this.calculateSelectedFromChildren();this.setSelectedParams({newValue:s??!1,source:"selectableChanged"});return}this.isSelected()&&!this.selectable&&this.setSelectedParams({newValue:!1,source:"selectableChanged"})}}setId(t){let i=Ut(this.beans.gos);if(i)if(this.data){let o=this.parent?.getRoute()??[];this.id=i({data:this.data,parentKeys:o.length>0?o:void 0,level:this.level,rowPinned:this.rowPinned}),this.id.startsWith(Rt.ID_PREFIX_ROW_GROUP)&&Q(`Row IDs cannot start with ${Rt.ID_PREFIX_ROW_GROUP}, this is a reserved prefix for AG Grid's row grouping feature.`)}else this.id=void 0;else this.id=t}setRowTop(t){this.oldRowTop=this.rowTop,this.rowTop!==t&&(this.rowTop=t,this.dispatchRowEvent("topChanged"),this.setDisplayed(t!==null))}clearRowTopAndRowIndex(){this.oldRowTop=null,this.setRowTop(null),this.setRowIndex(null)}setHovered(t){this.hovered=t}isHovered(){return this.hovered}setMaster(t){this.master!==t&&(this.master&&!t&&(this.expanded=!1),this.master=t,this.dispatchRowEvent("masterChanged"))}setGroup(t){this.group!==t&&(this.group&&!t&&(this.expanded=!1),this.group=t,this.updateHasChildren(),this.checkRowSelectable(),this.dispatchRowEvent("groupChanged"))}setRowHeight(t,i=!1){this.rowHeight=t,this.rowHeightEstimated=i,this.dispatchRowEvent("heightChanged")}setRowAutoHeight(t,i){this.__autoHeights||(this.__autoHeights={}),this.__autoHeights[i.getId()]=t,t!=null&&(this.checkAutoHeightsDebounced==null&&(this.checkAutoHeightsDebounced=xe(this.checkAutoHeights.bind(this),1)),this.checkAutoHeightsDebounced())}checkAutoHeights(){let t=!1,i=!0,o=0,s=this.__autoHeights;if(s==null||(this.beans.visibleColsService.getAllAutoHeightCols().forEach(a=>{let l=s[a.getId()];if(l==null)if(this.beans.columnModel.isColSpanActive()){let c=[];switch(a.getPinned()){case"left":c=this.beans.visibleColsService.getLeftColsForRow(this);break;case"right":c=this.beans.visibleColsService.getRightColsForRow(this);break;case null:c=this.beans.columnViewportService.getColsWithinViewport(this);break}if(c.includes(a)){t=!0;return}l=-1}else{t=!0;return}else i=!1;l>o&&(o=l)}),t)||((i||o<10)&&(o=ht(this.beans.gos,this).height),o==this.rowHeight))return;this.setRowHeight(o),this.beans.rowModel.onRowHeightChangedDebounced?.()}setExpanded(t,i,o){if(this.expanded===t)return;this.expanded=t,this.dispatchRowEvent("expandedChanged");let s={...this.createGlobalRowEvent("rowGroupOpened"),expanded:t,event:i||null};this.beans.rowNodeEventThrottle.dispatchExpanded(s,o),this.beans.rowRenderer.refreshCells({rowNodes:[this]})}createGlobalRowEvent(t){return this.beans.gos.addGridCommonParams({type:t,node:this,data:this.data,rowIndex:this.rowIndex,rowPinned:this.rowPinned})}setDataValue(t,i,o){let r=typeof t!="string"?t:this.beans.columnModel.getCol(t)??this.beans.columnModel.getColDefCol(t),n=this.beans.valueService.getValueForDisplay(r,this);if(this.beans.gos.get("readOnlyEdit"))return this.beans.eventService.dispatchEvent({type:"cellEditRequest",event:null,rowIndex:this.rowIndex,rowPinned:this.rowPinned,column:r,colDef:r.getColDef(),data:this.data,node:this,oldValue:n,newValue:i,value:i,source:o}),!1;let a=this.beans.valueService.setValue(this,r,i,o);return this.dispatchCellChangedEvent(r,i,n),this.checkRowSelectable(),a}setGroupValue(t,i){let o=this.beans.columnModel.getCol(t);K(this.groupData)&&(this.groupData={});let s=o.getColId(),r=this.groupData[s];r!==i&&(this.groupData[s]=i,this.dispatchCellChangedEvent(o,i,r))}setAggData(t){let i=this.aggData;if(this.aggData=t,this.localEventService){let o=s=>{let r=this.aggData?this.aggData[s]:void 0,n=i?i[s]:void 0;if(r===n)return;let a=this.beans.columnModel.getCol(s);a&&this.dispatchCellChangedEvent(a,r,n)};for(let s in i)o(s);for(let s in t)(!i||!(s in i))&&o(s)}}updateHasChildren(){let t=this.group&&!this.footer||this.childrenAfterGroup&&this.childrenAfterGroup.length>0;if(mt(this.beans.gos)){let o=this.beans.gos.get("treeData"),s=this.beans.gos.get("isServerSideGroup");t=!this.stub&&!this.footer&&(o?!!s&&s(this.data):!!this.group)}t!==this.__hasChildren&&(this.__hasChildren=!!t,this.dispatchRowEvent("hasChildrenChanged"))}hasChildren(){return this.__hasChildren==null&&this.updateHasChildren(),this.__hasChildren}dispatchCellChangedEvent(t,i,o){let s={type:"cellChanged",node:this,column:t,newValue:i,oldValue:o};this.localEventService?.dispatchEvent(s)}resetQuickFilterAggregateText(){this.quickFilterAggregateText=null}isExpandable(){return this.footer?!1:this.beans.columnModel.isPivotMode()?this.hasChildren()&&!this.leafGroup:this.hasChildren()||!!this.master}isSelected(){return this.footer?this.sibling.isSelected():this.selected}depthFirstSearch(t){this.childrenAfterGroup&&this.childrenAfterGroup.forEach(i=>i.depthFirstSearch(t)),t(this)}calculateSelectedFromChildren(){let t=!1,i=!1;if(!this.childrenAfterGroup?.length)return this.selectable?this.selected:null;for(let o=0;o<this.childrenAfterGroup.length;o++){let s=this.childrenAfterGroup[o],r=s.isSelected();if(!s.selectable){let n=s.calculateSelectedFromChildren();if(n===null)continue;r=n}switch(r){case!0:t=!0;break;case!1:i=!0;break;default:return}}if(!(t&&i))return t?!0:i?!1:this.selectable?this.selected:null}setSelectedInitialValue(t){this.selected=t}dispatchRowEvent(t){this.localEventService?.dispatchEvent({type:t,node:this})}selectThisNode(t,i,o="api"){let s=!this.selectable&&t,r=this.selected===t;if(s||r)return!1;this.selected=t,this.dispatchRowEvent("rowSelected");let n=this.sibling;return n&&n.footer&&n.localEventService&&n.dispatchRowEvent("rowSelected"),this.beans.eventService.dispatchEvent({...this.createGlobalRowEvent("rowSelected"),event:i||null,source:o}),!0}setSelected(t,i=!1,o="api"){if(typeof o=="boolean"){S("since version v30, rowNode.setSelected() property `suppressFinishActions` has been removed, please use `gridApi.setNodesSelected()` for bulk actions, and the event `source` property for ignoring events instead.");return}this.setSelectedParams({newValue:t,clearSelection:i,rangeSelect:!1,source:o})}setSelectedParams(t){return this.rowPinned?(S("cannot select pinned rows"),0):this.id===void 0?(S("cannot select node until id for node is known"),0):this.beans.selectionService.setNodesSelected({...t,nodes:[this.footer?this.sibling:this]})}isRowPinned(){return!!this.rowPinned}addEventListener(t,i){this.localEventService||(this.localEventService=new ri),this.beans.frameworkOverrides.shouldWrapOutgoing&&!this.frameworkEventListenerService&&(this.localEventService.setFrameworkOverrides(this.beans.frameworkOverrides),this.frameworkEventListenerService=new xs(this.beans.frameworkOverrides));let o=this.frameworkEventListenerService?.wrap(t,i)??i;this.localEventService.addEventListener(t,o)}removeEventListener(t,i){if(!this.localEventService)return;let o=this.frameworkEventListenerService?.unwrap(t,i)??i;this.localEventService.removeEventListener(t,o),this.localEventService.noRegisteredListenersExist()&&(this.localEventService=null)}onMouseEnter(){this.dispatchRowEvent("mouseEnter")}onMouseLeave(){this.dispatchRowEvent("mouseLeave")}isFullWidthCell(){if(S("since version v32.2.0, rowNode.isFullWidthCell() has been deprecated. Instead check `rowNode.detail` followed by the user provided `isFullWidthRow` grid option."),this.detail)return!0;let t=this.beans.gos.getCallback("isFullWidthRow");return t?t({rowNode:this}):!1}getRoute(){if(this.level===-1)return[];if(this.key==null)return;let t=[],i=this;for(;i&&i.key!=null;)t.push(i.key),i=i.parent;return t.reverse()}createFooter(){if(this.sibling)return;let t=new Rt(this.beans);Object.keys(this).forEach(i=>{Hd.has(i)||(t[i]=this[i])}),t.footer=!0,t.setRowTop(null),t.setRowIndex(null),t.oldRowTop=null,t.id="rowGroupFooter_"+this.id,t.sibling=this,this.sibling=t}destroyFooter(){this.sibling&&(this.sibling.setRowTop(null),this.sibling.setRowIndex(null),this.sibling=void 0)}setFirstChild(t){this.firstChild!==t&&(this.firstChild=t,this.dispatchRowEvent("firstChildChanged"))}setLastChild(t){this.lastChild!==t&&(this.lastChild=t,this.dispatchRowEvent("lastChildChanged"))}setChildIndex(t){this.childIndex!==t&&(this.childIndex=t,this.dispatchRowEvent("childIndexChanged"))}setDisplayed(t){this.displayed!==t&&(this.displayed=t,this.dispatchRowEvent("displayedChanged"))}setDragging(t){this.dragging!==t&&(this.dragging=t,this.dispatchRowEvent("draggingChanged"))}setHighlighted(t){this.highlighted!==t&&(this.highlighted=t,this.dispatchRowEvent("rowHighlightChanged"))}setAllChildrenCount(t){this.allChildrenCount!==t&&(this.allChildrenCount=t,this.dispatchRowEvent("allChildrenCountChanged"))}setRowIndex(t){this.rowIndex!==t&&(this.rowIndex=t,this.dispatchRowEvent("rowIndexChanged"))}setUiLevel(t){this.uiLevel!==t&&(this.uiLevel=t,this.dispatchRowEvent("uiLevelChanged"))}};Ni.ID_PREFIX_ROW_GROUP="row-group-";Ni.ID_PREFIX_TOP_PINNED="t-";Ni.ID_PREFIX_BOTTOM_PINNED="b-";Ni.OBJECT_ID_SEQUENCE=0;var st=Ni,zd=class extends b{constructor(){super(...arguments),this.beanName="filterManager",this.advancedFilterModelUpdateQueue=[]}wireBeans(e){this.columnModel=e.columnModel,this.dataTypeService=e.dataTypeService,this.quickFilterService=e.quickFilterService,this.advancedFilterService=e.advancedFilterService,this.columnFilterService=e.columnFilterService}postConstruct(){let e=this.refreshFiltersForAggregations.bind(this),t=this.updateAdvancedFilterColumns.bind(this);this.addManagedEventListeners({columnValueChanged:e,columnPivotChanged:e,columnPivotModeChanged:e,newColumnsLoaded:t,columnVisible:t,advancedFilterEnabledChanged:({enabled:i})=>this.onAdvancedFilterEnabledChanged(i),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.externalFilterPresent=this.isExternalFilterPresentCallback(),this.addManagedPropertyListeners(["isExternalFilterPresent","doesExternalFilterPass"],()=>{this.onFilterChanged({source:"api"})}),this.updateAggFiltering(),this.addManagedPropertyListener("groupAggFiltering",()=>{this.updateAggFiltering(),this.onFilterChanged()}),this.addManagedPropertyListener("advancedFilterModel",i=>this.setAdvancedFilterModel(i.currentValue)),this.quickFilterService&&this.addManagedListeners(this.quickFilterService,{quickFilterChanged:()=>this.onFilterChanged({source:"quickFilter"})})}isExternalFilterPresentCallback(){let e=this.gos.getCallback("isExternalFilterPresent");return typeof e=="function"?e({}):!1}doesExternalFilterPass(e){let t=this.gos.get("doesExternalFilterPass");return typeof t=="function"?t(e):!1}setFilterModel(e,t="api"){if(this.isAdvancedFilterEnabled()){this.warnAdvancedFilters();return}this.columnFilterService?.setFilterModel(e,t)}getFilterModel(){return this.columnFilterService?.getFilterModel()??{}}isColumnFilterPresent(){return!!this.columnFilterService?.isColumnFilterPresent()}isAggregateFilterPresent(){return!!this.columnFilterService?.isAggregateFilterPresent()}isExternalFilterPresent(){return this.externalFilterPresent}isChildFilterPresent(){return this.isColumnFilterPresent()||this.isQuickFilterPresent()||this.isExternalFilterPresent()||this.isAdvancedFilterPresent()}isAdvancedFilterPresent(){return this.isAdvancedFilterEnabled()&&this.advancedFilterService.isFilterPresent()}onAdvancedFilterEnabledChanged(e){e?this.columnFilterService?.disableColumnFilters()&&this.onFilterChanged({source:"advancedFilter"}):this.advancedFilterService?.isFilterPresent()&&(this.advancedFilterService.setModel(null),this.onFilterChanged({source:"advancedFilter"}))}isAdvancedFilterEnabled(){return!!this.advancedFilterService?.isEnabled()}isAdvancedFilterHeaderActive(){return this.isAdvancedFilterEnabled()&&this.advancedFilterService.isHeaderActive()}isAnyFilterPresent(){return this.isQuickFilterPresent()||this.isColumnFilterPresent()||this.isAggregateFilterPresent()||this.isExternalFilterPresent()||this.isAdvancedFilterPresent()}resetQuickFilterCache(){this.quickFilterService?.resetQuickFilterCache()}refreshFiltersForAggregations(){ss(this.gos)&&this.onFilterChanged()}onFilterChanged(e={}){let{source:t,additionalEventAttributes:i,columns:o=[]}=e;this.externalFilterPresent=this.isExternalFilterPresentCallback(),(this.columnFilterService?this.columnFilterService.updateBeforeFilterChanged(e):ae.resolve()).then(()=>{let s={source:t,type:"filterChanged",columns:o};i&&Ie(s,i),this.eventService.dispatchEvent(s),this.columnFilterService?.updateAfterFilterChanged()})}isSuppressFlashingCellsBecauseFiltering(){return!!this.columnFilterService?.isSuppressFlashingCellsBecauseFiltering()}isQuickFilterPresent(){return!!this.quickFilterService?.isQuickFilterPresent()}updateAggFiltering(){this.aggFiltering=!!ss(this.gos)}isAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&this.shouldApplyQuickFilterAfterAgg()}isNonAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&!this.shouldApplyQuickFilterAfterAgg()}shouldApplyQuickFilterAfterAgg(){return(this.aggFiltering||this.columnModel.isPivotMode())&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")}doesRowPassOtherFilters(e,t){return this.doesRowPassFilter({rowNode:t,filterInstanceToSkip:e})}doesRowPassAggregateFilters(e){return!(this.isAggregateQuickFilterPresent()&&!this.quickFilterService.doesRowPassQuickFilter(e.rowNode)||this.isAggregateFilterPresent()&&!this.columnFilterService.doAggregateFiltersPass(e.rowNode,e.filterInstanceToSkip))}doesRowPassFilter(e){return!(this.isNonAggregateQuickFilterPresent()&&!this.quickFilterService.doesRowPassQuickFilter(e.rowNode)||this.isExternalFilterPresent()&&!this.doesExternalFilterPass(e.rowNode)||this.isColumnFilterPresent()&&!this.columnFilterService.doColumnFiltersPass(e.rowNode,e.filterInstanceToSkip)||this.isAdvancedFilterPresent()&&!this.advancedFilterService.doesFilterPass(e.rowNode))}isFilterActive(e){return!!this.columnFilterService?.isFilterActive(e)}getOrCreateFilterWrapper(e){return this.columnFilterService?.getOrCreateFilterWrapper(e)??null}getDefaultFloatingFilter(e){return this.columnFilterService.getDefaultFloatingFilter(e)}createFilterParams(e,t){return this.columnFilterService.createFilterParams(e,t)}isFilterAllowed(e){return this.isAdvancedFilterEnabled()?!1:!!this.columnFilterService?.isFilterAllowed(e)}getFloatingFilterCompDetails(e,t){return this.columnFilterService?.getFloatingFilterCompDetails(e,t)}getCurrentFloatingFilterParentModel(e){return this.columnFilterService?.getCurrentFloatingFilterParentModel(e)}destroyFilter(e,t="api"){this.columnFilterService?.destroyFilter(e,t)}areFilterCompsDifferent(e,t){return!!this.columnFilterService?.areFilterCompsDifferent(e,t)}getAdvancedFilterModel(){return this.isAdvancedFilterEnabled()?this.advancedFilterService.getModel():null}setAdvancedFilterModel(e){if(this.isAdvancedFilterEnabled()){if(this.dataTypeService?.isPendingInference()){this.advancedFilterModelUpdateQueue.push(e);return}this.advancedFilterService.setModel(e??null),this.onFilterChanged({source:"advancedFilter"})}}toggleAdvancedFilterBuilder(e,t){this.isAdvancedFilterEnabled()&&this.advancedFilterService.getCtrl().toggleFilterBuilder({source:t,force:e})}updateAdvancedFilterColumns(){this.isAdvancedFilterEnabled()&&this.advancedFilterService.updateValidity()&&this.onFilterChanged({source:"advancedFilter"})}hasFloatingFilters(){return this.isAdvancedFilterEnabled()?!1:!!this.columnFilterService?.hasFloatingFilters()}getFilterInstance(e,t){if(this.isAdvancedFilterEnabled()){this.warnAdvancedFilters();return}return this.columnFilterService?.getFilterInstance(e,t)}getColumnFilterInstance(e){return this.isAdvancedFilterEnabled()?(this.warnAdvancedFilters(),Promise.resolve(void 0)):this.columnFilterService?.getColumnFilterInstance(e)??Promise.resolve(void 0)}warnAdvancedFilters(){S("Column Filter API methods have been disabled as Advanced Filters are enabled.")}setupAdvancedFilterHeaderComp(e){this.advancedFilterService?.getCtrl().setupHeaderComp(e)}getHeaderRowCount(){return this.isAdvancedFilterHeaderActive()?1:0}getHeaderHeight(){return this.isAdvancedFilterHeaderActive()?this.advancedFilterService.getCtrl().getHeaderHeight():0}processFilterModelUpdateQueue(){this.advancedFilterModelUpdateQueue.forEach(e=>this.setAdvancedFilterModel(e)),this.advancedFilterModelUpdateQueue=[]}getColumnFilterModel(e){return this.columnFilterService?.getColumnFilterModel(e)}setColumnFilterModel(e,t){return this.isAdvancedFilterEnabled()?(this.warnAdvancedFilters(),Promise.resolve()):this.columnFilterService?.setColumnFilterModel(e,t)??Promise.resolve()}setColDefPropertiesForDataType(e,t,i){this.columnFilterService?.setColDefPropertiesForDataType(e,t,i)}},Bd=class extends ce{constructor(e,t){super('<div class="ag-filter"></div>'),this.column=e,this.source=t,this.filterWrapper=null}wireBeans(e){this.filterManager=e.filterManager,this.columnModel=e.columnModel}postConstruct(){this.createFilter(!0),this.addManagedEventListeners({filterDestroyed:this.onFilterDestroyed.bind(this)})}hasFilter(){return!!this.filterWrapper}getFilter(){return this.filterWrapper?.filterPromise??null}afterInit(){return this.filterWrapper?.filterPromise?.then(()=>{})??ae.resolve()}afterGuiAttached(e){this.filterWrapper?.filterPromise?.then(t=>{t?.afterGuiAttached?.(e)})}afterGuiDetached(){this.filterWrapper?.filterPromise?.then(e=>{e?.afterGuiDetached?.()})}createFilter(e){let{column:t,source:i}=this;this.filterWrapper=this.filterManager?.getOrCreateFilterWrapper(t)??null,this.filterWrapper?.filterPromise&&this.filterWrapper.filterPromise.then(o=>{let s=o.getGui();M(s)||S(`getGui method from filter returned ${s}; it should be a DOM element.`),this.appendChild(s),e&&this.eventService.dispatchEvent({type:"filterOpened",column:t,source:i,eGui:this.getGui()})})}onFilterDestroyed(e){(e.source==="api"||e.source==="paramsUpdated")&&e.column.getId()===this.column.getId()&&this.columnModel.getColDefCol(this.column)&&(Be(this.getGui()),this.createFilter())}destroy(){this.filterWrapper=null,super.destroy()}},ia="ag-resizer-wrapper",bt=(e,t)=>`<div data-ref="${e}Resizer" class="ag-resizer ag-resizer-${t}"></div>`,Vd=`<div class="${ia}">
|
|
48
48
|
${bt("eTopLeft","topLeft")}
|
|
49
49
|
${bt("eTop","top")}
|
|
50
50
|
${bt("eTopRight","topRight")}
|
|
@@ -53,55 +53,55 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`}else s=`AG
|
|
|
53
53
|
${bt("eBottom","bottom")}
|
|
54
54
|
${bt("eBottomLeft","bottomLeft")}
|
|
55
55
|
${bt("eLeft","left")}
|
|
56
|
-
</div>`,Bd=class extends b{constructor(e,t){super(),this.element=e,this.dragStartPosition={x:0,y:0},this.position={x:0,y:0},this.lastSize={width:-1,height:-1},this.positioned=!1,this.resizersAdded=!1,this.resizeListeners=[],this.boundaryEl=null,this.isResizing=!1,this.isMoving=!1,this.resizable={},this.movable=!1,this.currentResizer=null,this.config=Object.assign({},{popup:!1},t)}wireBeans(e){this.popupService=e.popupService,this.resizeObserverService=e.resizeObserverService,this.dragService=e.dragService}center(){let{clientHeight:e,clientWidth:t}=this.offsetParent,i=t/2-this.getWidth()/2,o=e/2-this.getHeight()/2;this.offsetElement(i,o)}initialisePosition(){if(this.positioned)return;let{centered:e,forcePopupParentAsOffsetParent:t,minWidth:i,width:o,minHeight:s,height:r,x:n,y:a}=this.config;this.offsetParent||this.setOffsetParent();let l=0,c=0,d=rt(this.element);if(d){let u=this.findBoundaryElement(),h=window.getComputedStyle(u);if(h.minWidth!=null){let g=u.offsetWidth-this.element.offsetWidth;c=parseInt(h.minWidth,10)-g}if(h.minHeight!=null){let g=u.offsetHeight-this.element.offsetHeight;l=parseInt(h.minHeight,10)-g}}if(this.minHeight=s||l,this.minWidth=i||c,o&&this.setWidth(o),r&&this.setHeight(r),(!o||!r)&&this.refreshSize(),e)this.center();else if(n||a)this.offsetElement(n,a);else if(d&&t){let u=this.boundaryEl,h=!0;if(u||(u=this.findBoundaryElement(),h=!1),u){let g=parseFloat(u.style.top),f=parseFloat(u.style.left);h?this.offsetElement(isNaN(f)?0:f,isNaN(g)?0:g):this.setPosition(f,g)}}this.positioned=!!this.offsetParent}isPositioned(){return this.positioned}getPosition(){return this.position}setMovable(e,t){if(!this.config.popup||e===this.movable)return;this.movable=e;let i=this.moveElementDragListener||{eElement:t,onDragStart:this.onMoveStart.bind(this),onDragging:this.onMove.bind(this),onDragStop:this.onMoveEnd.bind(this)};e?(this.dragService.addDragSource(i),this.moveElementDragListener=i):(this.dragService.removeDragSource(i),this.moveElementDragListener=void 0)}setResizable(e){if(this.clearResizeListeners(),e?this.addResizers():this.removeResizers(),typeof e=="boolean"){if(e===!1)return;e={topLeft:e,top:e,topRight:e,right:e,bottomRight:e,bottom:e,bottomLeft:e,left:e}}Object.keys(e).forEach(t=>{let o=!!e[t],s=this.getResizerElement(t),r={dragStartPixels:0,eElement:s,onDragStart:n=>this.onResizeStart(n,t),onDragging:this.onResize.bind(this),onDragStop:n=>this.onResizeEnd(n,t)};(o||!this.isAlive()&&!o)&&(o?(this.dragService.addDragSource(r),this.resizeListeners.push(r),s.style.pointerEvents="all"):s.style.pointerEvents="none",this.resizable[t]=o)})}removeSizeFromEl(){this.element.style.removeProperty("height"),this.element.style.removeProperty("width"),this.element.style.removeProperty("flex")}restoreLastSize(){this.element.style.flex="0 0 auto";let{height:e,width:t}=this.lastSize;t!==-1&&(this.element.style.width=`${t}px`),e!==-1&&(this.element.style.height=`${e}px`)}getHeight(){return this.element.offsetHeight}setHeight(e){let{popup:t}=this.config,i=this.element,o=!1;if(typeof e=="string"&&e.indexOf("%")!==-1)Si(i,e),e=On(i),o=!0;else if(e=Math.max(this.minHeight,e),this.positioned){let s=this.getAvailableHeight();s&&e>s&&(e=s)}this.getHeight()!==e&&(o?(i.style.maxHeight="unset",i.style.minHeight="unset"):t?Si(i,e):(i.style.height=`${e}px`,i.style.flex="0 0 auto",this.lastSize.height=typeof e=="number"?e:parseFloat(e)))}getAvailableHeight(){let{popup:e,forcePopupParentAsOffsetParent:t}=this.config;this.positioned||this.initialisePosition();let{clientHeight:i}=this.offsetParent;if(!i)return null;let o=this.element.getBoundingClientRect(),s=this.offsetParent.getBoundingClientRect(),r=e?this.position.y:o.top,n=e?0:s.top,a=0;if(t){let c=this.element.parentElement;if(c){let{bottom:d}=c.getBoundingClientRect();a=d-o.bottom}}return i+n-r-a}getWidth(){return this.element.offsetWidth}setWidth(e){let t=this.element,{popup:i}=this.config,o=!1;if(typeof e=="string"&&e.indexOf("%")!==-1)Je(t,e),e=lo(t),o=!0;else if(this.positioned){e=Math.max(this.minWidth,e);let{clientWidth:s}=this.offsetParent,r=i?this.position.x:this.element.getBoundingClientRect().left;s&&e+r>s&&(e=s-r)}this.getWidth()!==e&&(o?(t.style.maxWidth="unset",t.style.minWidth="unset"):this.config.popup?Je(t,e):(t.style.width=`${e}px`,t.style.flex=" unset",this.lastSize.width=typeof e=="number"?e:parseFloat(e)))}offsetElement(e=0,t=0){let{forcePopupParentAsOffsetParent:i}=this.config,o=i?this.boundaryEl:this.element;o&&(this.popupService.positionPopup({ePopup:o,keepWithinBounds:!0,skipObserver:this.movable||this.isResizable(),updatePosition:()=>({x:e,y:t})}),this.setPosition(parseFloat(o.style.left),parseFloat(o.style.top)))}constrainSizeToAvailableHeight(e){if(!this.config.forcePopupParentAsOffsetParent)return;let t=()=>{let i=this.getAvailableHeight();this.element.style.setProperty("max-height",`${i}px`)};e?this.resizeObserverSubscriber=this.resizeObserverService.observeResize(this.popupService.getPopupParent(),t):(this.element.style.removeProperty("max-height"),this.resizeObserverSubscriber&&(this.resizeObserverSubscriber(),this.resizeObserverSubscriber=void 0))}setPosition(e,t){this.position.x=e,this.position.y=t}updateDragStartPosition(e,t){this.dragStartPosition={x:e,y:t}}calculateMouseMovement(e){let{e:t,isLeft:i,isTop:o,anywhereWithin:s,topBuffer:r}=e,n=t.clientX-this.dragStartPosition.x,a=t.clientY-this.dragStartPosition.y,l=this.shouldSkipX(t,!!i,!!s,n)?0:n,c=this.shouldSkipY(t,!!o,r,a)?0:a;return{movementX:l,movementY:c}}shouldSkipX(e,t,i,o){let s=this.element.getBoundingClientRect(),r=this.offsetParent.getBoundingClientRect(),n=this.boundaryEl.getBoundingClientRect(),a=this.config.popup?this.position.x:s.left,l=a<=0&&r.left>=e.clientX||r.right<=e.clientX&&r.right<=n.right;return l?!0:(t?l=o<0&&e.clientX>a+r.left||o>0&&e.clientX<a+r.left:i?l=o<0&&e.clientX>n.right||o>0&&e.clientX<a+r.left:l=o<0&&e.clientX>n.right||o>0&&e.clientX<n.right,l)}shouldSkipY(e,t,i=0,o){let s=this.element.getBoundingClientRect(),r=this.offsetParent.getBoundingClientRect(),n=this.boundaryEl.getBoundingClientRect(),a=this.config.popup?this.position.y:s.top,l=a<=0&&r.top>=e.clientY||r.bottom<=e.clientY&&r.bottom<=n.bottom;return l?!0:(t?l=o<0&&e.clientY>a+r.top+i||o>0&&e.clientY<a+r.top:l=o<0&&e.clientY>n.bottom||o>0&&e.clientY<n.bottom,l)}createResizeMap(){let e=this.element;this.resizerMap={topLeft:{element:e.querySelector("[data-ref=eTopLeftResizer]")},top:{element:e.querySelector("[data-ref=eTopResizer]")},topRight:{element:e.querySelector("[data-ref=eTopRightResizer]")},right:{element:e.querySelector("[data-ref=eRightResizer]")},bottomRight:{element:e.querySelector("[data-ref=eBottomRightResizer]")},bottom:{element:e.querySelector("[data-ref=eBottomResizer]")},bottomLeft:{element:e.querySelector("[data-ref=eBottomLeftResizer]")},left:{element:e.querySelector("[data-ref=eLeftResizer]")}}}addResizers(){if(this.resizersAdded)return;let e=this.element;if(!e)return;let i=new DOMParser().parseFromString(zd,"text/html").body;e.appendChild(i.firstChild),this.createResizeMap(),this.resizersAdded=!0}removeResizers(){this.resizerMap=void 0;let e=this.element.querySelector(`.${ea}`);e&&this.element.removeChild(e),this.resizersAdded=!1}getResizerElement(e){return this.resizerMap[e].element}onResizeStart(e,t){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.currentResizer={isTop:!!t.match(/top/i),isRight:!!t.match(/right/i),isBottom:!!t.match(/bottom/i),isLeft:!!t.match(/left/i)},this.element.classList.add("ag-resizing"),this.resizerMap[t].element.classList.add("ag-active");let{popup:i,forcePopupParentAsOffsetParent:o}=this.config;!i&&!o&&this.applySizeToSiblings(this.currentResizer.isBottom||this.currentResizer.isTop),this.isResizing=!0,this.updateDragStartPosition(e.clientX,e.clientY)}getSiblings(){let t=this.element.parentElement;return t?Array.prototype.slice.call(t.children).filter(i=>!i.classList.contains("ag-hidden")):null}getMinSizeOfSiblings(){let e=this.getSiblings()||[],t=0,i=0;for(let o=0;o<e.length;o++){let s=e[o],r=!!s.style.flex&&s.style.flex!=="0 0 auto";if(s===this.element)continue;let n=this.minHeight||0,a=this.minWidth||0;if(r){let l=window.getComputedStyle(s);l.minHeight&&(n=parseInt(l.minHeight,10)),l.minWidth&&(a=parseInt(l.minWidth,10))}else n=s.offsetHeight,a=s.offsetWidth;t+=n,i+=a}return{height:t,width:i}}applySizeToSiblings(e){let t=null,i=this.getSiblings();if(i){for(let o=0;o<i.length;o++){let s=i[o];s!==t&&(e?s.style.height=`${s.offsetHeight}px`:s.style.width=`${s.offsetWidth}px`,s.style.flex="0 0 auto",s===this.element&&(t=i[o+1]))}t&&(t.style.removeProperty("height"),t.style.removeProperty("min-height"),t.style.removeProperty("max-height"),t.style.flex="1 1 auto")}}isResizable(){return Object.values(this.resizable).some(e=>e)}onResize(e){if(!this.isResizing||!this.currentResizer)return;let{popup:t,forcePopupParentAsOffsetParent:i}=this.config,{isTop:o,isRight:s,isBottom:r,isLeft:n}=this.currentResizer,a=s||n,l=r||o,{movementX:c,movementY:d}=this.calculateMouseMovement({e,isLeft:n,isTop:o}),u=this.position.x,h=this.position.y,g=0,f=0;if(a&&c){let m=n?-1:1,p=this.getWidth(),v=p+c*m,w=!1;n&&(g=p-v,(u+g<=0||v<=this.minWidth)&&(w=!0,g=0)),w||this.setWidth(v)}if(l&&d){let m=o?-1:1,p=this.getHeight(),v=p+d*m,w=!1;o?(f=p-v,(h+f<=0||v<=this.minHeight)&&(w=!0,f=0)):!this.config.popup&&!this.config.forcePopupParentAsOffsetParent&&p<v&&this.getMinSizeOfSiblings().height+v>this.element.parentElement.offsetHeight&&(w=!0),w||this.setHeight(v)}this.updateDragStartPosition(e.clientX,e.clientY),((t||i)&&g||f)&&this.offsetElement(u+g,h+f)}onResizeEnd(e,t){this.isResizing=!1,this.currentResizer=null,this.boundaryEl=null,this.element.classList.remove("ag-resizing"),this.resizerMap[t].element.classList.remove("ag-active"),this.dispatchLocalEvent({type:"resize"})}refreshSize(){let e=this.element;this.config.popup&&(this.config.width||this.setWidth(e.offsetWidth),this.config.height||this.setHeight(e.offsetHeight))}onMoveStart(e){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.isMoving=!0,this.element.classList.add("ag-moving"),this.updateDragStartPosition(e.clientX,e.clientY)}onMove(e){if(!this.isMoving)return;let{x:t,y:i}=this.position,o;this.config.calculateTopBuffer&&(o=this.config.calculateTopBuffer());let{movementX:s,movementY:r}=this.calculateMouseMovement({e,isTop:!0,anywhereWithin:!0,topBuffer:o});this.offsetElement(t+s,i+r),this.updateDragStartPosition(e.clientX,e.clientY)}onMoveEnd(){this.isMoving=!1,this.boundaryEl=null,this.element.classList.remove("ag-moving")}setOffsetParent(){this.config.forcePopupParentAsOffsetParent?this.offsetParent=this.popupService.getPopupParent():this.offsetParent=this.element.offsetParent}findBoundaryElement(){let e=this.element;for(;e;){if(window.getComputedStyle(e).position!=="static")return e;e=e.parentElement}return this.element}clearResizeListeners(){for(;this.resizeListeners.length;){let e=this.resizeListeners.pop();this.dragService.removeDragSource(e)}}destroy(){super.destroy(),this.moveElementDragListener&&this.dragService.removeDragSource(this.moveElementDragListener),this.constrainSizeToAvailableHeight(!1),this.clearResizeListeners(),this.removeResizers()}},ta=class ia extends b{constructor(t,i={}){super(),this.eFocusableElement=t,this.callbacks=i,this.callbacks={shouldStopEventPropagation:()=>!1,onTabKeyDown:o=>{if(o.defaultPrevented)return;let s=this.focusService.findNextFocusableElement(this.eFocusableElement,!1,o.shiftKey);s&&(s.focus(),o.preventDefault())},...i}}wireBeans(t){this.focusService=t.focusService}postConstruct(){this.eFocusableElement.classList.add(ia.FOCUS_MANAGED_CLASS),this.addKeyDownListeners(this.eFocusableElement),this.callbacks.onFocusIn&&this.addManagedElementListeners(this.eFocusableElement,{focusin:this.callbacks.onFocusIn}),this.callbacks.onFocusOut&&this.addManagedElementListeners(this.eFocusableElement,{focusout:this.callbacks.onFocusOut})}addKeyDownListeners(t){this.addManagedElementListeners(t,{keydown:i=>{if(!(i.defaultPrevented||ut(i))){if(this.callbacks.shouldStopEventPropagation(i)){oi(i);return}i.key===y.TAB?this.callbacks.onTabKeyDown(i):this.callbacks.handleKeyDown&&this.callbacks.handleKeyDown(i)}}})}};ta.FOCUS_MANAGED_CLASS="ag-focus-managed";var jt=ta,oa={applyFilter:"Apply",clearFilter:"Clear",resetFilter:"Reset",cancelFilter:"Cancel",textFilter:"Text Filter",numberFilter:"Number Filter",dateFilter:"Date Filter",setFilter:"Set Filter",filterOoo:"Filter...",empty:"Choose one",equals:"Equals",notEqual:"Does not equal",lessThan:"Less than",greaterThan:"Greater than",inRange:"Between",inRangeStart:"From",inRangeEnd:"To",lessThanOrEqual:"Less than or equal to",greaterThanOrEqual:"Greater than or equal to",contains:"Contains",notContains:"Does not contain",startsWith:"Begins with",endsWith:"Ends with",blank:"Blank",notBlank:"Not blank",before:"Before",after:"After",andCondition:"AND",orCondition:"OR",dateFormatOoo:"yyyy-mm-dd"};function Hs(e,t){return go(e)?(e.debounceMs!=null&&S("debounceMs is ignored when apply button is present"),0):e.debounceMs!=null?e.debounceMs:t}function go(e){return!!e.buttons&&e.buttons.indexOf("apply")>=0}var Vd=class extends ce{constructor(e){super(),this.filterNameKey=e,this.applyActive=!1,this.hidePopup=null,this.debouncePending=!1,this.appliedModel=null,this.eFilterBody=z,this.buttonListeners=[]}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.resetTemplate(),this.createManagedBean(new jt(this.getFocusableElement(),{handleKeyDown:this.handleKeyDown.bind(this)})),this.positionableFeature=new Bd(this.getPositionableElement(),{forcePopupParentAsOffsetParent:!0}),this.createBean(this.positionableFeature)}handleKeyDown(e){}getFilterTitle(){return this.translate(this.filterNameKey)}isFilterActive(){return!!this.appliedModel}resetTemplate(e){let t=this.getGui();t&&t.removeEventListener("submit",this.onFormSubmit);let i=`
|
|
56
|
+
</div>`,Wd=class extends b{constructor(e,t){super(),this.element=e,this.dragStartPosition={x:0,y:0},this.position={x:0,y:0},this.lastSize={width:-1,height:-1},this.positioned=!1,this.resizersAdded=!1,this.resizeListeners=[],this.boundaryEl=null,this.isResizing=!1,this.isMoving=!1,this.resizable={},this.movable=!1,this.currentResizer=null,this.config=Object.assign({},{popup:!1},t)}wireBeans(e){this.popupService=e.popupService,this.resizeObserverService=e.resizeObserverService,this.dragService=e.dragService}center(){let{clientHeight:e,clientWidth:t}=this.offsetParent,i=t/2-this.getWidth()/2,o=e/2-this.getHeight()/2;this.offsetElement(i,o)}initialisePosition(){if(this.positioned)return;let{centered:e,forcePopupParentAsOffsetParent:t,minWidth:i,width:o,minHeight:s,height:r,x:n,y:a}=this.config;this.offsetParent||this.setOffsetParent();let l=0,c=0,d=rt(this.element);if(d){let u=this.findBoundaryElement(),h=window.getComputedStyle(u);if(h.minWidth!=null){let g=u.offsetWidth-this.element.offsetWidth;c=parseInt(h.minWidth,10)-g}if(h.minHeight!=null){let g=u.offsetHeight-this.element.offsetHeight;l=parseInt(h.minHeight,10)-g}}if(this.minHeight=s||l,this.minWidth=i||c,o&&this.setWidth(o),r&&this.setHeight(r),(!o||!r)&&this.refreshSize(),e)this.center();else if(n||a)this.offsetElement(n,a);else if(d&&t){let u=this.boundaryEl,h=!0;if(u||(u=this.findBoundaryElement(),h=!1),u){let g=parseFloat(u.style.top),f=parseFloat(u.style.left);h?this.offsetElement(isNaN(f)?0:f,isNaN(g)?0:g):this.setPosition(f,g)}}this.positioned=!!this.offsetParent}isPositioned(){return this.positioned}getPosition(){return this.position}setMovable(e,t){if(!this.config.popup||e===this.movable)return;this.movable=e;let i=this.moveElementDragListener||{eElement:t,onDragStart:this.onMoveStart.bind(this),onDragging:this.onMove.bind(this),onDragStop:this.onMoveEnd.bind(this)};e?(this.dragService.addDragSource(i),this.moveElementDragListener=i):(this.dragService.removeDragSource(i),this.moveElementDragListener=void 0)}setResizable(e){if(this.clearResizeListeners(),e?this.addResizers():this.removeResizers(),typeof e=="boolean"){if(e===!1)return;e={topLeft:e,top:e,topRight:e,right:e,bottomRight:e,bottom:e,bottomLeft:e,left:e}}Object.keys(e).forEach(t=>{let o=!!e[t],s=this.getResizerElement(t),r={dragStartPixels:0,eElement:s,onDragStart:n=>this.onResizeStart(n,t),onDragging:this.onResize.bind(this),onDragStop:n=>this.onResizeEnd(n,t)};(o||!this.isAlive()&&!o)&&(o?(this.dragService.addDragSource(r),this.resizeListeners.push(r),s.style.pointerEvents="all"):s.style.pointerEvents="none",this.resizable[t]=o)})}removeSizeFromEl(){this.element.style.removeProperty("height"),this.element.style.removeProperty("width"),this.element.style.removeProperty("flex")}restoreLastSize(){this.element.style.flex="0 0 auto";let{height:e,width:t}=this.lastSize;t!==-1&&(this.element.style.width=`${t}px`),e!==-1&&(this.element.style.height=`${e}px`)}getHeight(){return this.element.offsetHeight}setHeight(e){let{popup:t}=this.config,i=this.element,o=!1;if(typeof e=="string"&&e.indexOf("%")!==-1)Si(i,e),e=Nn(i),o=!0;else if(e=Math.max(this.minHeight,e),this.positioned){let s=this.getAvailableHeight();s&&e>s&&(e=s)}this.getHeight()!==e&&(o?(i.style.maxHeight="unset",i.style.minHeight="unset"):t?Si(i,e):(i.style.height=`${e}px`,i.style.flex="0 0 auto",this.lastSize.height=typeof e=="number"?e:parseFloat(e)))}getAvailableHeight(){let{popup:e,forcePopupParentAsOffsetParent:t}=this.config;this.positioned||this.initialisePosition();let{clientHeight:i}=this.offsetParent;if(!i)return null;let o=this.element.getBoundingClientRect(),s=this.offsetParent.getBoundingClientRect(),r=e?this.position.y:o.top,n=e?0:s.top,a=0;if(t){let c=this.element.parentElement;if(c){let{bottom:d}=c.getBoundingClientRect();a=d-o.bottom}}return i+n-r-a}getWidth(){return this.element.offsetWidth}setWidth(e){let t=this.element,{popup:i}=this.config,o=!1;if(typeof e=="string"&&e.indexOf("%")!==-1)Je(t,e),e=co(t),o=!0;else if(this.positioned){e=Math.max(this.minWidth,e);let{clientWidth:s}=this.offsetParent,r=i?this.position.x:this.element.getBoundingClientRect().left;s&&e+r>s&&(e=s-r)}this.getWidth()!==e&&(o?(t.style.maxWidth="unset",t.style.minWidth="unset"):this.config.popup?Je(t,e):(t.style.width=`${e}px`,t.style.flex=" unset",this.lastSize.width=typeof e=="number"?e:parseFloat(e)))}offsetElement(e=0,t=0){let{forcePopupParentAsOffsetParent:i}=this.config,o=i?this.boundaryEl:this.element;o&&(this.popupService.positionPopup({ePopup:o,keepWithinBounds:!0,skipObserver:this.movable||this.isResizable(),updatePosition:()=>({x:e,y:t})}),this.setPosition(parseFloat(o.style.left),parseFloat(o.style.top)))}constrainSizeToAvailableHeight(e){if(!this.config.forcePopupParentAsOffsetParent)return;let t=()=>{let i=this.getAvailableHeight();this.element.style.setProperty("max-height",`${i}px`)};e?this.resizeObserverSubscriber=this.resizeObserverService.observeResize(this.popupService.getPopupParent(),t):(this.element.style.removeProperty("max-height"),this.resizeObserverSubscriber&&(this.resizeObserverSubscriber(),this.resizeObserverSubscriber=void 0))}setPosition(e,t){this.position.x=e,this.position.y=t}updateDragStartPosition(e,t){this.dragStartPosition={x:e,y:t}}calculateMouseMovement(e){let{e:t,isLeft:i,isTop:o,anywhereWithin:s,topBuffer:r}=e,n=t.clientX-this.dragStartPosition.x,a=t.clientY-this.dragStartPosition.y,l=this.shouldSkipX(t,!!i,!!s,n)?0:n,c=this.shouldSkipY(t,!!o,r,a)?0:a;return{movementX:l,movementY:c}}shouldSkipX(e,t,i,o){let s=this.element.getBoundingClientRect(),r=this.offsetParent.getBoundingClientRect(),n=this.boundaryEl.getBoundingClientRect(),a=this.config.popup?this.position.x:s.left,l=a<=0&&r.left>=e.clientX||r.right<=e.clientX&&r.right<=n.right;return l?!0:(t?l=o<0&&e.clientX>a+r.left||o>0&&e.clientX<a+r.left:i?l=o<0&&e.clientX>n.right||o>0&&e.clientX<a+r.left:l=o<0&&e.clientX>n.right||o>0&&e.clientX<n.right,l)}shouldSkipY(e,t,i=0,o){let s=this.element.getBoundingClientRect(),r=this.offsetParent.getBoundingClientRect(),n=this.boundaryEl.getBoundingClientRect(),a=this.config.popup?this.position.y:s.top,l=a<=0&&r.top>=e.clientY||r.bottom<=e.clientY&&r.bottom<=n.bottom;return l?!0:(t?l=o<0&&e.clientY>a+r.top+i||o>0&&e.clientY<a+r.top:l=o<0&&e.clientY>n.bottom||o>0&&e.clientY<n.bottom,l)}createResizeMap(){let e=this.element;this.resizerMap={topLeft:{element:e.querySelector("[data-ref=eTopLeftResizer]")},top:{element:e.querySelector("[data-ref=eTopResizer]")},topRight:{element:e.querySelector("[data-ref=eTopRightResizer]")},right:{element:e.querySelector("[data-ref=eRightResizer]")},bottomRight:{element:e.querySelector("[data-ref=eBottomRightResizer]")},bottom:{element:e.querySelector("[data-ref=eBottomResizer]")},bottomLeft:{element:e.querySelector("[data-ref=eBottomLeftResizer]")},left:{element:e.querySelector("[data-ref=eLeftResizer]")}}}addResizers(){if(this.resizersAdded)return;let e=this.element;if(!e)return;let i=new DOMParser().parseFromString(Vd,"text/html").body;e.appendChild(i.firstChild),this.createResizeMap(),this.resizersAdded=!0}removeResizers(){this.resizerMap=void 0;let e=this.element.querySelector(`.${ia}`);e&&this.element.removeChild(e),this.resizersAdded=!1}getResizerElement(e){return this.resizerMap[e].element}onResizeStart(e,t){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.currentResizer={isTop:!!t.match(/top/i),isRight:!!t.match(/right/i),isBottom:!!t.match(/bottom/i),isLeft:!!t.match(/left/i)},this.element.classList.add("ag-resizing"),this.resizerMap[t].element.classList.add("ag-active");let{popup:i,forcePopupParentAsOffsetParent:o}=this.config;!i&&!o&&this.applySizeToSiblings(this.currentResizer.isBottom||this.currentResizer.isTop),this.isResizing=!0,this.updateDragStartPosition(e.clientX,e.clientY)}getSiblings(){let t=this.element.parentElement;return t?Array.prototype.slice.call(t.children).filter(i=>!i.classList.contains("ag-hidden")):null}getMinSizeOfSiblings(){let e=this.getSiblings()||[],t=0,i=0;for(let o=0;o<e.length;o++){let s=e[o],r=!!s.style.flex&&s.style.flex!=="0 0 auto";if(s===this.element)continue;let n=this.minHeight||0,a=this.minWidth||0;if(r){let l=window.getComputedStyle(s);l.minHeight&&(n=parseInt(l.minHeight,10)),l.minWidth&&(a=parseInt(l.minWidth,10))}else n=s.offsetHeight,a=s.offsetWidth;t+=n,i+=a}return{height:t,width:i}}applySizeToSiblings(e){let t=null,i=this.getSiblings();if(i){for(let o=0;o<i.length;o++){let s=i[o];s!==t&&(e?s.style.height=`${s.offsetHeight}px`:s.style.width=`${s.offsetWidth}px`,s.style.flex="0 0 auto",s===this.element&&(t=i[o+1]))}t&&(t.style.removeProperty("height"),t.style.removeProperty("min-height"),t.style.removeProperty("max-height"),t.style.flex="1 1 auto")}}isResizable(){return Object.values(this.resizable).some(e=>e)}onResize(e){if(!this.isResizing||!this.currentResizer)return;let{popup:t,forcePopupParentAsOffsetParent:i}=this.config,{isTop:o,isRight:s,isBottom:r,isLeft:n}=this.currentResizer,a=s||n,l=r||o,{movementX:c,movementY:d}=this.calculateMouseMovement({e,isLeft:n,isTop:o}),u=this.position.x,h=this.position.y,g=0,f=0;if(a&&c){let m=n?-1:1,p=this.getWidth(),v=p+c*m,w=!1;n&&(g=p-v,(u+g<=0||v<=this.minWidth)&&(w=!0,g=0)),w||this.setWidth(v)}if(l&&d){let m=o?-1:1,p=this.getHeight(),v=p+d*m,w=!1;o?(f=p-v,(h+f<=0||v<=this.minHeight)&&(w=!0,f=0)):!this.config.popup&&!this.config.forcePopupParentAsOffsetParent&&p<v&&this.getMinSizeOfSiblings().height+v>this.element.parentElement.offsetHeight&&(w=!0),w||this.setHeight(v)}this.updateDragStartPosition(e.clientX,e.clientY),((t||i)&&g||f)&&this.offsetElement(u+g,h+f)}onResizeEnd(e,t){this.isResizing=!1,this.currentResizer=null,this.boundaryEl=null,this.element.classList.remove("ag-resizing"),this.resizerMap[t].element.classList.remove("ag-active"),this.dispatchLocalEvent({type:"resize"})}refreshSize(){let e=this.element;this.config.popup&&(this.config.width||this.setWidth(e.offsetWidth),this.config.height||this.setHeight(e.offsetHeight))}onMoveStart(e){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.isMoving=!0,this.element.classList.add("ag-moving"),this.updateDragStartPosition(e.clientX,e.clientY)}onMove(e){if(!this.isMoving)return;let{x:t,y:i}=this.position,o;this.config.calculateTopBuffer&&(o=this.config.calculateTopBuffer());let{movementX:s,movementY:r}=this.calculateMouseMovement({e,isTop:!0,anywhereWithin:!0,topBuffer:o});this.offsetElement(t+s,i+r),this.updateDragStartPosition(e.clientX,e.clientY)}onMoveEnd(){this.isMoving=!1,this.boundaryEl=null,this.element.classList.remove("ag-moving")}setOffsetParent(){this.config.forcePopupParentAsOffsetParent?this.offsetParent=this.popupService.getPopupParent():this.offsetParent=this.element.offsetParent}findBoundaryElement(){let e=this.element;for(;e;){if(window.getComputedStyle(e).position!=="static")return e;e=e.parentElement}return this.element}clearResizeListeners(){for(;this.resizeListeners.length;){let e=this.resizeListeners.pop();this.dragService.removeDragSource(e)}}destroy(){super.destroy(),this.moveElementDragListener&&this.dragService.removeDragSource(this.moveElementDragListener),this.constrainSizeToAvailableHeight(!1),this.clearResizeListeners(),this.removeResizers()}},oa=class sa extends b{constructor(t,i={}){super(),this.eFocusableElement=t,this.callbacks=i,this.callbacks={shouldStopEventPropagation:()=>!1,onTabKeyDown:o=>{if(o.defaultPrevented)return;let s=this.focusService.findNextFocusableElement(this.eFocusableElement,!1,o.shiftKey);s&&(s.focus(),o.preventDefault())},...i}}wireBeans(t){this.focusService=t.focusService}postConstruct(){this.eFocusableElement.classList.add(sa.FOCUS_MANAGED_CLASS),this.addKeyDownListeners(this.eFocusableElement),this.callbacks.onFocusIn&&this.addManagedElementListeners(this.eFocusableElement,{focusin:this.callbacks.onFocusIn}),this.callbacks.onFocusOut&&this.addManagedElementListeners(this.eFocusableElement,{focusout:this.callbacks.onFocusOut})}addKeyDownListeners(t){this.addManagedElementListeners(t,{keydown:i=>{if(!(i.defaultPrevented||ut(i))){if(this.callbacks.shouldStopEventPropagation(i)){oi(i);return}i.key===y.TAB?this.callbacks.onTabKeyDown(i):this.callbacks.handleKeyDown&&this.callbacks.handleKeyDown(i)}}})}};oa.FOCUS_MANAGED_CLASS="ag-focus-managed";var jt=oa,ra={applyFilter:"Apply",clearFilter:"Clear",resetFilter:"Reset",cancelFilter:"Cancel",textFilter:"Text Filter",numberFilter:"Number Filter",dateFilter:"Date Filter",setFilter:"Set Filter",filterOoo:"Filter...",empty:"Choose one",equals:"Equals",notEqual:"Does not equal",lessThan:"Less than",greaterThan:"Greater than",inRange:"Between",inRangeStart:"From",inRangeEnd:"To",lessThanOrEqual:"Less than or equal to",greaterThanOrEqual:"Greater than or equal to",contains:"Contains",notContains:"Does not contain",startsWith:"Begins with",endsWith:"Ends with",blank:"Blank",notBlank:"Not blank",before:"Before",after:"After",andCondition:"AND",orCondition:"OR",dateFormatOoo:"yyyy-mm-dd"};function zs(e,t){return po(e)?(e.debounceMs!=null&&S("debounceMs is ignored when apply button is present"),0):e.debounceMs!=null?e.debounceMs:t}function po(e){return!!e.buttons&&e.buttons.indexOf("apply")>=0}var Ud=class extends ce{constructor(e){super(),this.filterNameKey=e,this.applyActive=!1,this.hidePopup=null,this.debouncePending=!1,this.appliedModel=null,this.eFilterBody=z,this.buttonListeners=[]}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.resetTemplate(),this.createManagedBean(new jt(this.getFocusableElement(),{handleKeyDown:this.handleKeyDown.bind(this)})),this.positionableFeature=new Wd(this.getPositionableElement(),{forcePopupParentAsOffsetParent:!0}),this.createBean(this.positionableFeature)}handleKeyDown(e){}getFilterTitle(){return this.translate(this.filterNameKey)}isFilterActive(){return!!this.appliedModel}resetTemplate(e){let t=this.getGui();t&&t.removeEventListener("submit",this.onFormSubmit);let i=`
|
|
57
57
|
<form class="ag-filter-wrapper">
|
|
58
58
|
<div class="ag-filter-body-wrapper ag-${this.getCssIdentifier()}-body-wrapper" data-ref="eFilterBody">
|
|
59
59
|
${this.createBodyTemplate()}
|
|
60
60
|
</div>
|
|
61
|
-
</form>`;this.setTemplate(i,this.getAgComponents(),e),t=this.getGui(),t&&t.addEventListener("submit",this.onFormSubmit)}isReadOnly(){return!!this.providedFilterParams.readOnly}init(e){this.setParams(e),this.resetUiToDefaults(!0).then(()=>{this.updateUiVisibility(),this.setupOnBtApplyDebounce()})}setParams(e){this.providedFilterParams=e,this.applyActive=
|
|
61
|
+
</form>`;this.setTemplate(i,this.getAgComponents(),e),t=this.getGui(),t&&t.addEventListener("submit",this.onFormSubmit)}isReadOnly(){return!!this.providedFilterParams.readOnly}init(e){this.setParams(e),this.resetUiToDefaults(!0).then(()=>{this.updateUiVisibility(),this.setupOnBtApplyDebounce()})}setParams(e){this.providedFilterParams=e,this.applyActive=po(e),this.resetButtonsPanel(e)}updateParams(e){this.providedFilterParams=e,this.applyActive=po(e),this.resetUiToActiveModel(this.getModel(),()=>{this.updateUiVisibility(),this.setupOnBtApplyDebounce()})}resetButtonsPanel(e,t){let{buttons:i,readOnly:o}=t??{},{buttons:s,readOnly:r}=e;if(o===r&&io(i,s))return;let n=s&&s.length>0&&!this.isReadOnly();if(this.eButtonsPanel?(Be(this.eButtonsPanel),this.buttonListeners.forEach(c=>c()),this.buttonListeners=[]):n&&(this.eButtonsPanel=document.createElement("div"),this.eButtonsPanel.classList.add("ag-filter-apply-panel")),!n){this.eButtonsPanel&&Mt(this.eButtonsPanel);return}let a=document.createDocumentFragment(),l=c=>{let d,u;switch(c){case"apply":d=this.translate("applyFilter"),u=f=>this.onBtApply(!1,!1,f);break;case"clear":d=this.translate("clearFilter"),u=()=>this.onBtClear();break;case"reset":d=this.translate("resetFilter"),u=()=>this.onBtReset();break;case"cancel":d=this.translate("cancelFilter"),u=f=>{this.onBtCancel(f)};break;default:S("Unknown button type specified");return}let g=Li(`<button
|
|
62
62
|
type="${c==="apply"?"submit":"button"}"
|
|
63
63
|
data-ref="${c}FilterButton"
|
|
64
64
|
class="ag-button ag-standard-button ag-filter-apply-panel-button"
|
|
65
65
|
>${d}
|
|
66
|
-
</button>`);this.buttonListeners.push(...this.addManagedElementListeners(g,{click:u})),a.append(g)};s.forEach(c=>l(c)),this.eButtonsPanel.append(a),this.getGui().appendChild(this.eButtonsPanel)}getDefaultDebounceMs(){return 0}setupOnBtApplyDebounce(){let e=
|
|
66
|
+
</button>`);this.buttonListeners.push(...this.addManagedElementListeners(g,{click:u})),a.append(g)};s.forEach(c=>l(c)),this.eButtonsPanel.append(a),this.getGui().appendChild(this.eButtonsPanel)}getDefaultDebounceMs(){return 0}setupOnBtApplyDebounce(){let e=zs(this.providedFilterParams,this.getDefaultDebounceMs()),t=xe(this.checkApplyDebounce.bind(this),e);this.onBtApplyDebounce=()=>{this.debouncePending=!0,t()}}checkApplyDebounce(){this.debouncePending&&(this.debouncePending=!1,this.onBtApply())}getModel(){return this.appliedModel?this.appliedModel:null}setModel(e){return(e!=null?this.setModelIntoUi(e):this.resetUiToDefaults()).then(()=>{this.updateUiVisibility(),this.applyModel("api")})}onBtCancel(e){this.resetUiToActiveModel(this.getModel(),()=>{this.handleCancelEnd(e)})}handleCancelEnd(e){this.providedFilterParams.closeOnApply&&this.close(e)}resetUiToActiveModel(e,t){let i=()=>{this.onUiChanged(!1,"prevent"),t?.()};e!=null?this.setModelIntoUi(e).then(i):this.resetUiToDefaults().then(i)}onBtClear(){this.resetUiToDefaults().then(()=>this.onUiChanged())}onBtReset(){this.onBtClear(),this.onBtApply()}applyModel(e="api"){let t=this.getModelFromUi();if(!this.isModelValid(t))return!1;let i=this.appliedModel;return this.appliedModel=t,!this.areModelsEqual(i,t)}isModelValid(e){return!0}onFormSubmit(e){e.preventDefault()}onBtApply(e=!1,t=!1,i){i&&i.preventDefault(),this.applyModel(t?"rowDataUpdated":"ui")&&this.providedFilterParams.filterChangedCallback({afterFloatingFilter:e,afterDataChange:t,source:"columnFilter"});let{closeOnApply:o}=this.providedFilterParams;o&&this.applyActive&&!e&&!t&&this.close(i)}onNewRowsLoaded(){}close(e){if(!this.hidePopup)return;let t=e,i=t&&t.key,o;(i==="Enter"||i==="Space")&&(o={keyboardEvent:t}),this.hidePopup(o),this.hidePopup=null}onUiChanged(e=!1,t){if(this.updateUiVisibility(),this.providedFilterParams.filterModifiedCallback(),this.applyActive&&!this.isReadOnly()){let i=this.isModelValid(this.getModelFromUi()),o=this.queryForHtmlElement('[data-ref="applyFilterButton"]');o&&Ii(o,!i)}e&&!t||t==="immediately"?this.onBtApply(e):(!this.applyActive&&!t||t==="debounce")&&this.onBtApplyDebounce()}afterGuiAttached(e){e&&(this.hidePopup=e.hidePopup),this.refreshFilterResizer(e?.container)}refreshFilterResizer(e){if(!this.positionableFeature||e==="toolPanel")return;let t=e==="floatingFilter"||e==="columnFilter",{positionableFeature:i,gos:o}=this;t?(i.restoreLastSize(),i.setResizable(o.get("enableRtl")?{bottom:!0,bottomLeft:!0,left:!0}:{bottom:!0,bottomRight:!0,right:!0})):(this.positionableFeature.removeSizeFromEl(),this.positionableFeature.setResizable(!1)),this.positionableFeature.constrainSizeToAvailableHeight(!0)}afterGuiDetached(){this.checkApplyDebounce(),this.positionableFeature&&this.positionableFeature.constrainSizeToAvailableHeight(!1)}refresh(e){let t=this.providedFilterParams;return this.providedFilterParams=e,this.resetButtonsPanel(e,t),!0}destroy(){let e=this.getGui();e&&e.removeEventListener("submit",this.onFormSubmit),this.hidePopup=null,this.positionableFeature&&(this.positionableFeature=this.destroyBean(this.positionableFeature)),this.appliedModel=null,super.destroy()}translate(e){return this.localeService.getLocaleTextFunc()(e,ra[e])}getCellValue(e){return this.providedFilterParams.getValue(e)}getPositionableElement(){return this.eFilterBody}},_d=class extends Gs{constructor(e){super(e,"ag-radio-button","radio")}isSelected(){return this.eInput.checked}toggle(){this.eInput.disabled||this.isSelected()||this.setValue(!0)}addInputListeners(){super.addInputListeners(),this.addManagedEventListeners({checkboxChanged:this.onChange.bind(this)})}onChange(e){e.selected&&e.name&&this.eInput.name&&this.eInput.name===e.name&&e.id&&this.eInput.id!==e.id&&this.setValue(!1,!0)}},jd=class extends ce{constructor(e="default",t=!1){super(`<div class="ag-list ag-${e}-list" role="listbox"></div>`),this.cssIdentifier=e,this.unFocusable=t,this.activeClass="ag-active-item",this.options=[],this.itemEls=[]}postConstruct(){let e=this.getGui();this.addManagedElementListeners(e,{mouseleave:()=>this.clearHighlighted()}),!this.unFocusable&&this.addManagedElementListeners(e,{keydown:this.handleKeyDown.bind(this)})}handleKeyDown(e){let t=e.key;switch(t){case y.ENTER:if(!this.highlightedEl)this.setValue(this.getValue());else{let i=this.itemEls.indexOf(this.highlightedEl);this.setValueByIndex(i)}break;case y.DOWN:case y.UP:e.preventDefault(),this.navigate(t);break;case y.PAGE_DOWN:case y.PAGE_UP:case y.PAGE_HOME:case y.PAGE_END:e.preventDefault(),this.navigateToPage(t);break}}navigate(e){let t=e===y.DOWN,i;if(!this.highlightedEl)i=this.itemEls[t?0:this.itemEls.length-1];else{let s=this.itemEls.indexOf(this.highlightedEl)+(t?1:-1);s=Math.min(Math.max(s,0),this.itemEls.length-1),i=this.itemEls[s]}this.highlightItem(i)}navigateToPage(e){if(!this.highlightedEl||this.itemEls.length===0)return;let t=this.itemEls.indexOf(this.highlightedEl),i=this.options.length-1,o=this.itemEls[0].clientHeight,s=Math.floor(this.getGui().clientHeight/o),r=-1;e===y.PAGE_HOME?r=0:e===y.PAGE_END?r=i:e===y.PAGE_DOWN?r=Math.min(t+s,i):e===y.PAGE_UP&&(r=Math.max(t-s,0)),r!==-1&&this.highlightItem(this.itemEls[r])}addOptions(e){return e.forEach(t=>this.addOption(t)),this}addOption(e){let{value:t,text:i}=e,o=i||t;return this.options.push({value:t,text:o}),this.renderOption(t,o),this.updateIndices(),this}clearOptions(){this.options=[],this.reset(!0),this.itemEls.forEach(e=>{Mt(e)}),this.itemEls=[]}updateIndices(){let e=this.getGui().querySelectorAll(".ag-list-item");e.forEach((t,i)=>{Dc(t,i+1),xc(t,e.length)})}renderOption(e,t){let i=ve(this.gos),o=i.createElement("div");Xe(o,"option"),o.classList.add("ag-list-item",`ag-${this.cssIdentifier}-list-item`);let s=i.createElement("span");o.appendChild(s),s.textContent=t,this.unFocusable||(o.tabIndex=-1),this.itemEls.push(o),this.addManagedListeners(o,{mouseover:()=>this.highlightItem(o),mousedown:r=>{r.preventDefault(),r.stopPropagation(),this.setValue(e)}}),this.createManagedBean(new ai({getTooltipValue:()=>t,getGui:()=>o,getLocation:()=>"UNKNOWN",shouldDisplayTooltip:()=>s.scrollWidth>s.clientWidth})),this.getGui().appendChild(o)}setValue(e,t){if(this.value===e)return this.fireItemSelected(),this;if(e==null)return this.reset(t),this;let i=this.options.findIndex(o=>o.value===e);if(i!==-1){let o=this.options[i];this.value=o.value,this.displayValue=o.text,this.highlightItem(this.itemEls[i]),t||this.fireChangeEvent()}return this}setValueByIndex(e){return this.setValue(this.options[e].value)}getValue(){return this.value}getDisplayValue(){return this.displayValue}refreshHighlighted(){this.clearHighlighted();let e=this.options.findIndex(t=>t.value===this.value);e!==-1&&this.highlightItem(this.itemEls[e])}reset(e){this.value=null,this.displayValue=null,this.clearHighlighted(),e||this.fireChangeEvent()}highlightItem(e){if(!rt(e))return;this.clearHighlighted(),this.highlightedEl=e,this.highlightedEl.classList.add(this.activeClass),lo(this.highlightedEl,!0);let t=this.getGui(),{scrollTop:i,clientHeight:o}=t,{offsetTop:s,offsetHeight:r}=e;(s+r>i+o||s<i)&&this.highlightedEl.scrollIntoView({block:"nearest"}),this.unFocusable||this.highlightedEl.focus()}clearHighlighted(){!this.highlightedEl||!rt(this.highlightedEl)||(this.highlightedEl.classList.remove(this.activeClass),lo(this.highlightedEl,!1),this.highlightedEl=null)}fireChangeEvent(){this.dispatchLocalEvent({type:"fieldValueChanged"}),this.fireItemSelected()}fireItemSelected(){this.dispatchLocalEvent({type:"selectedItem"})}},Kd=class extends Qn{constructor(e){if(super(e,e?.template||`
|
|
67
67
|
<div class="ag-picker-field" role="presentation">
|
|
68
68
|
<div data-ref="eLabel"></div>
|
|
69
69
|
<div data-ref="eWrapper" class="ag-wrapper ag-picker-field-wrapper ag-picker-collapsed">
|
|
70
70
|
<div data-ref="eDisplayField" class="ag-picker-field-display"></div>
|
|
71
71
|
<div data-ref="eIcon" class="ag-picker-field-icon" aria-hidden="true"></div>
|
|
72
72
|
</div>
|
|
73
|
-
</div>`,e?.agComponents||[],e?.className),this.isPickerDisplayed=!1,this.skipClick=!1,this.pickerGap=4,this.hideCurrentPicker=null,this.eLabel=z,this.eWrapper=z,this.eDisplayField=z,this.eIcon=z,this.ariaRole=e?.ariaRole,this.onPickerFocusIn=this.onPickerFocusIn.bind(this),this.onPickerFocusOut=this.onPickerFocusOut.bind(this),!e)return;let{pickerGap:t,maxPickerHeight:i,variableWidth:o,minPickerWidth:s,maxPickerWidth:r}=e;t!=null&&(this.pickerGap=t),this.variableWidth=!!o,i!=null&&this.setPickerMaxHeight(i),s!=null&&this.setPickerMinWidth(s),r!=null&&this.setPickerMaxWidth(r)}wireBeans(e){this.popupService=e.popupService}postConstruct(){super.postConstruct(),this.setupAria();let e=`ag-${this.getCompId()}-display`;this.eDisplayField.setAttribute("id",e);let t=this.getAriaElement();this.addManagedElementListeners(t,{keydown:this.onKeyDown.bind(this)}),this.addManagedElementListeners(this.eLabel,{mousedown:this.onLabelOrWrapperMouseDown.bind(this)}),this.addManagedElementListeners(this.eWrapper,{mousedown:this.onLabelOrWrapperMouseDown.bind(this)});let{pickerIcon:i,inputWidth:o}=this.config;if(i){let s=ze(i,this.gos);s&&this.eIcon.appendChild(s)}o!=null&&this.setInputWidth(o)}setupAria(){let e=this.getAriaElement();e.setAttribute("tabindex",this.gos.get("tabIndex").toString()),no(e,!1),this.ariaRole&&Xe(e,this.ariaRole)}onLabelOrWrapperMouseDown(e){if(e){let t=this.getFocusableElement();if(t!==this.eWrapper&&e?.target===t)return;e.preventDefault(),this.getFocusableElement().focus()}if(this.skipClick){this.skipClick=!1;return}this.isDisabled()||(this.isPickerDisplayed?this.hidePicker():this.showPicker())}onKeyDown(e){switch(e.key){case y.UP:case y.DOWN:case y.ENTER:case y.SPACE:e.preventDefault(),this.onLabelOrWrapperMouseDown();break;case y.ESCAPE:this.isPickerDisplayed&&(e.preventDefault(),e.stopPropagation(),this.hideCurrentPicker&&this.hideCurrentPicker());break}}showPicker(){this.isPickerDisplayed=!0,this.pickerComponent||(this.pickerComponent=this.createPickerComponent());let e=this.pickerComponent.getGui();e.addEventListener("focusin",this.onPickerFocusIn),e.addEventListener("focusout",this.onPickerFocusOut),this.hideCurrentPicker=this.renderAndPositionPicker(),this.toggleExpandedStyles(!0)}renderAndPositionPicker(){let e=this.pickerComponent.getGui();this.gos.get("suppressScrollWhenPopupsAreOpen")||([this.destroyMouseWheelFunc]=this.addManagedEventListeners({bodyScroll:()=>{this.hidePicker()}}));let t=this.localeService.getLocaleTextFunc(),{pickerAriaLabelKey:i,pickerAriaLabelValue:o,modalPicker:s=!0}=this.config,r={modal:s,eChild:e,closeOnEsc:!0,closedCallback:()=>{let h=dn(this.gos);this.beforeHidePicker(),h&&this.isAlive()&&this.getFocusableElement().focus()},ariaLabel:t(i,o),anchorToElement:this.eWrapper};e.style.position="absolute";let n=this.popupService.addPopup(r),{maxPickerHeight:a,minPickerWidth:l,maxPickerWidth:c,variableWidth:d}=this;d?(l&&(e.style.minWidth=l),e.style.width=Ts(lo(this.eWrapper)),c&&(e.style.maxWidth=c)):ho(e,c??lo(this.eWrapper));let u=a??`${Ps(this.popupService.getPopupParent())}px`;return e.style.setProperty("max-height",u),this.alignPickerToComponent(),n.hideFunc}alignPickerToComponent(){if(!this.pickerComponent)return;let{pickerType:e}=this.config,{pickerGap:t}=this,i=this.gos.get("enableRtl")?"right":"left";this.popupService.positionPopupByComponent({type:e,eventSource:this.eWrapper,ePopup:this.pickerComponent.getGui(),position:"under",alignSide:i,keepWithinBounds:!0,nudgeY:t})}beforeHidePicker(){this.destroyMouseWheelFunc&&(this.destroyMouseWheelFunc(),this.destroyMouseWheelFunc=void 0),this.toggleExpandedStyles(!1);let e=this.pickerComponent.getGui();e.removeEventListener("focusin",this.onPickerFocusIn),e.removeEventListener("focusout",this.onPickerFocusOut),this.isPickerDisplayed=!1,this.pickerComponent=void 0,this.hideCurrentPicker=null}toggleExpandedStyles(e){if(!this.isAlive())return;let t=this.getAriaElement();no(t,e),this.eWrapper.classList.toggle("ag-picker-expanded",e),this.eWrapper.classList.toggle("ag-picker-collapsed",!e)}onPickerFocusIn(){this.togglePickerHasFocus(!0)}onPickerFocusOut(e){this.pickerComponent?.getGui().contains(e.relatedTarget)||this.togglePickerHasFocus(!1)}togglePickerHasFocus(e){this.pickerComponent&&this.eWrapper.classList.toggle("ag-picker-has-focus",e)}hidePicker(){this.hideCurrentPicker&&this.hideCurrentPicker()}setInputWidth(e){return ho(this.eWrapper,e),this}getFocusableElement(){return this.eWrapper}setPickerGap(e){return this.pickerGap=e,this}setPickerMinWidth(e){return typeof e=="number"&&(e=`${e}px`),this.minPickerWidth=e??void 0,this}setPickerMaxWidth(e){return typeof e=="number"&&(e=`${e}px`),this.maxPickerWidth=e??void 0,this}setPickerMaxHeight(e){return typeof e=="number"&&(e=`${e}px`),this.maxPickerHeight=e??void 0,this}destroy(){this.hidePicker(),super.destroy()}},zs=class extends _d{constructor(e){super({pickerAriaLabelKey:"ariaLabelSelectField",pickerAriaLabelValue:"Select Field",pickerType:"ag-list",className:"ag-select",pickerIcon:"smallDown",ariaRole:"combobox",...e})}postConstruct(){super.postConstruct(),this.createListComponent(),this.eWrapper.tabIndex=this.gos.get("tabIndex");let{options:e,value:t,placeholder:i}=this.config;e!=null&&this.addOptions(e),t!=null&&this.setValue(t,!0),i&&t==null&&(this.eDisplayField.textContent=i),this.addManagedElementListeners(this.eWrapper,{focusout:this.onWrapperFocusOut.bind(this)})}onWrapperFocusOut(e){this.eWrapper.contains(e.relatedTarget)||this.hidePicker()}createListComponent(){this.listComponent=this.createBean(new Ud("select",!0)),this.listComponent.setParentComponent(this);let e=this.listComponent.getAriaElement(),t=`ag-select-list-${this.listComponent.getCompId()}`;e.setAttribute("id",t),Ec(this.getAriaElement(),e),this.listComponent.addManagedListeners(this.listComponent,{selectedItem:()=>{this.hidePicker(),this.dispatchLocalEvent({type:"selectedItem"})}}),this.listComponent.addManagedListeners(this.listComponent,{fieldValueChanged:()=>{this.listComponent&&(this.setValue(this.listComponent.getValue(),!1,!0),this.hidePicker())}})}createPickerComponent(){return this.listComponent}onKeyDown(e){let{key:t}=e;switch(t===y.TAB&&this.hidePicker(),t){case y.ENTER:case y.UP:case y.DOWN:case y.PAGE_UP:case y.PAGE_DOWN:case y.PAGE_HOME:case y.PAGE_END:e.preventDefault(),this.isPickerDisplayed?this.listComponent?.handleKeyDown(e):super.onKeyDown(e);break;case y.ESCAPE:super.onKeyDown(e);break;case y.SPACE:this.isPickerDisplayed?e.preventDefault():super.onKeyDown(e);break}}showPicker(){this.listComponent&&(super.showPicker(),this.listComponent.refreshHighlighted())}addOptions(e){return e.forEach(t=>this.addOption(t)),this}addOption(e){return this.listComponent.addOption(e),this}clearOptions(){return this.listComponent?.clearOptions(),this}setValue(e,t,i){if(this.value===e||!this.listComponent)return this;if(i||this.listComponent.setValue(e,!0),this.listComponent.getValue()===this.getValue())return this;let s=this.listComponent.getDisplayValue();return s==null&&this.config.placeholder&&(s=this.config.placeholder),this.eDisplayField.textContent=s,this.setTooltip({newTooltipText:s??null,shouldDisplayTooltip:()=>this.eDisplayField.scrollWidth>this.eDisplayField.clientWidth}),super.setValue(e,t)}destroy(){this.listComponent&&(this.listComponent=this.destroyBean(this.listComponent)),super.destroy()}},jd={selector:"AG-SELECT",component:zs},sa=class{constructor(){this.customFilterOptions={}}init(e,t){this.filterOptions=e.filterOptions||t,this.mapCustomOptions(),this.selectDefaultItem(e)}getFilterOptions(){return this.filterOptions}mapCustomOptions(){this.filterOptions&&this.filterOptions.forEach(e=>{if(typeof e=="string")return;let t=[["displayKey"],["displayName"],["predicate","test"]],i=o=>o.some(s=>e[s]!=null)?!0:(S(`ignoring FilterOptionDef as it doesn't contain one of '${o}'`),!1);if(!t.every(i)){this.filterOptions=this.filterOptions.filter(o=>o===e)||[];return}this.customFilterOptions[e.displayKey]=e})}selectDefaultItem(e){if(e.defaultOption)this.defaultOption=e.defaultOption;else if(this.filterOptions.length>=1){let t=this.filterOptions[0];typeof t=="string"?this.defaultOption=t:t.displayKey?this.defaultOption=t.displayKey:S("invalid FilterOptionDef supplied as it doesn't contain a 'displayKey'")}else S("no filter options for filter")}getDefaultOption(){return this.defaultOption}getCustomOption(e){return this.customFilterOptions[e]}},ra=class extends Vd{constructor(){super(...arguments),this.eTypes=[],this.eJoinOperatorPanels=[],this.eJoinOperatorsAnd=[],this.eJoinOperatorsOr=[],this.eConditionBodies=[],this.listener=()=>this.onUiChanged(),this.lastUiCompletePosition=null,this.joinOperatorId=0}getNumberOfInputs(e){let t=this.optionsFactory.getCustomOption(e);if(t){let{numberOfInputs:o}=t;return o??1}return e&&["empty","notBlank","blank"].indexOf(e)>=0?0:e==="inRange"?2:1}onFloatingFilterChanged(e,t){this.setTypeFromFloatingFilter(e),this.setValueFromFloatingFilter(t),this.onUiChanged(!0)}setTypeFromFloatingFilter(e){this.eTypes.forEach((t,i)=>{i===0?t.setValue(e,!0):t.setValue(this.optionsFactory.getDefaultOption(),!0)})}getModelFromUi(){let e=this.getUiCompleteConditions();return e.length===0?null:this.maxNumConditions>1&&e.length>1?{filterType:this.getFilterType(),operator:this.getJoinOperator(),conditions:e}:e[0]}getConditionTypes(){return this.eTypes.map(e=>e.getValue())}getConditionType(e){return this.eTypes[e].getValue()}getJoinOperator(){return this.eJoinOperatorsOr.length===0?this.defaultJoinOperator:this.eJoinOperatorsOr[0].getValue()===!0?"OR":"AND"}areModelsEqual(e,t){if(!e&&!t)return!0;if(!e&&t||e&&!t)return!1;let i=!e.operator,o=!t.operator;if(!i&&o||i&&!o)return!1;let r;if(i){let n=e,a=t;r=this.areSimpleModelsEqual(n,a)}else{let n=e,a=t;r=n.operator===a.operator&&Pt(n.conditions,a.conditions,(l,c)=>this.areSimpleModelsEqual(l,c))}return r}shouldRefresh(e){let t=this.getModel(),i=t?t.conditions??[t]:null,o=e.filterOptions?.map(r=>typeof r=="string"?r:r.displayKey)??this.getDefaultFilterOptions();return!(!(!i||i.every(r=>o.find(n=>n===r.type)!==void 0))||typeof e.maxNumConditions=="number"&&i&&i.length>e.maxNumConditions)}refresh(e){return!this.shouldRefresh(e)||!super.refresh(e)?!1:(this.setParams(e),this.removeConditionsAndOperators(0),this.createOption(),this.setModel(this.getModel()),!0)}setModelIntoUi(e){if(e.operator){let i=e,o=i.conditions;o==null&&(o=[],S("Filter model is missing 'conditions'"));let s=this.validateAndUpdateConditions(o),r=this.getNumConditions();if(s<r)this.removeConditionsAndOperators(s);else if(s>r)for(let a=r;a<s;a++)this.createJoinOperatorPanel(),this.createOption();let n=i.operator==="OR";this.eJoinOperatorsAnd.forEach(a=>a.setValue(!n,!0)),this.eJoinOperatorsOr.forEach(a=>a.setValue(n,!0)),o.forEach((a,l)=>{this.eTypes[l].setValue(a.type,!0),this.setConditionIntoUi(a,l)})}else{let i=e;this.getNumConditions()>1&&this.removeConditionsAndOperators(1),this.eTypes[0].setValue(i.type,!0),this.setConditionIntoUi(i,0)}return this.lastUiCompletePosition=this.getNumConditions()-1,this.createMissingConditionsAndOperators(),this.onUiChanged(),ae.resolve()}validateAndUpdateConditions(e){let t=e.length;return t>this.maxNumConditions&&(e.splice(this.maxNumConditions),S('Filter Model contains more conditions than "filterParams.maxNumConditions". Additional conditions have been ignored.'),t=this.maxNumConditions),t}doesFilterPass(e){let t=this.getModel();if(t==null)return!0;let{operator:i}=t,o=[];if(i){let r=t;o.push(...r.conditions??[])}else o.push(t);return o[i&&i==="OR"?"some":"every"](r=>this.individualConditionPasses(e,r))}setParams(e){super.setParams(e),this.setNumConditions(e),this.defaultJoinOperator=this.getDefaultJoinOperator(e.defaultJoinOperator),this.filterPlaceholder=e.filterPlaceholder,this.optionsFactory=new sa,this.optionsFactory.init(e,this.getDefaultFilterOptions()),this.createFilterListOptions(),this.createOption(),this.createMissingConditionsAndOperators(),this.isReadOnly()&&this.eFilterBody.setAttribute("tabindex","-1")}setNumConditions(e){this.maxNumConditions=e.maxNumConditions??2,this.maxNumConditions<1&&(S('"filterParams.maxNumConditions" must be greater than or equal to zero.'),this.maxNumConditions=1),this.numAlwaysVisibleConditions=e.numAlwaysVisibleConditions??1,this.numAlwaysVisibleConditions<1&&(S('"filterParams.numAlwaysVisibleConditions" must be greater than or equal to zero.'),this.numAlwaysVisibleConditions=1),this.numAlwaysVisibleConditions>this.maxNumConditions&&(S('"filterParams.numAlwaysVisibleConditions" cannot be greater than "filterParams.maxNumConditions".'),this.numAlwaysVisibleConditions=this.maxNumConditions)}createOption(){let e=this.createManagedBean(new zs);this.eTypes.push(e),e.addCssClass("ag-filter-select"),this.eFilterBody.appendChild(e.getGui());let t=this.createValueElement();this.eConditionBodies.push(t),this.eFilterBody.appendChild(t),this.putOptionsIntoDropdown(e),this.resetType(e);let i=this.getNumConditions()-1;this.forEachPositionInput(i,o=>this.resetInput(o)),this.addChangedListeners(e,i)}createJoinOperatorPanel(){let e=document.createElement("div");this.eJoinOperatorPanels.push(e),e.classList.add("ag-filter-condition");let t=this.createJoinOperator(this.eJoinOperatorsAnd,e,"and"),i=this.createJoinOperator(this.eJoinOperatorsOr,e,"or");this.eFilterBody.appendChild(e);let o=this.eJoinOperatorPanels.length-1,s=this.joinOperatorId++;this.resetJoinOperatorAnd(t,o,s),this.resetJoinOperatorOr(i,o,s),this.isReadOnly()||(t.onValueChange(this.listener),i.onValueChange(this.listener))}createJoinOperator(e,t,i){let o=this.createManagedBean(new Wd);return e.push(o),o.addCssClass("ag-filter-condition-operator"),o.addCssClass(`ag-filter-condition-operator-${i}`),t.appendChild(o.getGui()),o}getDefaultJoinOperator(e){return e==="AND"||e==="OR"?e:"AND"}createFilterListOptions(){let e=this.optionsFactory.getFilterOptions();this.filterListOptions=e.map(t=>typeof t=="string"?this.createBoilerplateListOption(t):this.createCustomListOption(t))}putOptionsIntoDropdown(e){this.filterListOptions.forEach(t=>{e.addOption(t)}),e.setDisabled(this.filterListOptions.length<=1)}createBoilerplateListOption(e){return{value:e,text:this.translate(e)}}createCustomListOption(e){let{displayKey:t}=e,i=this.optionsFactory.getCustomOption(e.displayKey);return{value:t,text:i?this.localeService.getLocaleTextFunc()(i.displayKey,i.displayName):this.translate(t)}}createBodyTemplate(){return""}getAgComponents(){return[]}getCssIdentifier(){return"simple-filter"}updateUiVisibility(){let e=this.getJoinOperator();this.updateNumConditions(),this.updateConditionStatusesAndValues(this.lastUiCompletePosition,e)}updateNumConditions(){let e=-1,t=!0;for(let i=0;i<this.getNumConditions();i++)this.isConditionUiComplete(i)?e=i:t=!1;if(this.shouldAddNewConditionAtEnd(t))this.createJoinOperatorPanel(),this.createOption();else{let i=this.lastUiCompletePosition??this.getNumConditions()-2;if(e<i){this.removeConditionsAndOperators(i+1);let o=e+1,s=i-o;s>0&&this.removeConditionsAndOperators(o,s),this.createMissingConditionsAndOperators()}}this.lastUiCompletePosition=e}updateConditionStatusesAndValues(e,t){this.eTypes.forEach((o,s)=>{let r=this.isConditionDisabled(s,e);o.setDisabled(r||this.filterListOptions.length<=1),s===1&&(Ii(this.eJoinOperatorPanels[0],r),this.eJoinOperatorsAnd[0].setDisabled(r),this.eJoinOperatorsOr[0].setDisabled(r))}),this.eConditionBodies.forEach((o,s)=>{pe(o,this.isConditionBodyVisible(s))});let i=(t??this.getJoinOperator())==="OR";this.eJoinOperatorsAnd.forEach(o=>{o.setValue(!i,!0)}),this.eJoinOperatorsOr.forEach(o=>{o.setValue(i,!0)}),this.forEachInput((o,s,r,n)=>{this.setElementDisplayed(o,s<n),this.setElementDisabled(o,this.isConditionDisabled(r,e))}),this.resetPlaceholder()}shouldAddNewConditionAtEnd(e){return e&&this.getNumConditions()<this.maxNumConditions&&!this.isReadOnly()}removeConditionsAndOperators(e,t){if(e>=this.getNumConditions())return;this.removeComponents(this.eTypes,e,t),this.removeElements(this.eConditionBodies,e,t),this.removeValueElements(e,t);let i=Math.max(e-1,0);this.removeElements(this.eJoinOperatorPanels,i,t),this.removeComponents(this.eJoinOperatorsAnd,i,t),this.removeComponents(this.eJoinOperatorsOr,i,t)}removeElements(e,t,i){this.removeItems(e,t,i).forEach(s=>Mt(s))}removeComponents(e,t,i){this.removeItems(e,t,i).forEach(s=>{Mt(s.getGui()),this.destroyBean(s)})}removeItems(e,t,i){return i==null?e.splice(t):e.splice(t,i)}afterGuiAttached(e){if(super.afterGuiAttached(e),this.resetPlaceholder(),!e?.suppressFocus)if(this.isReadOnly())this.eFilterBody.focus();else{let t=this.getInputs(0)[0];if(!t)return;t instanceof Ot&&t.getInputElement().focus()}}afterGuiDetached(){super.afterGuiDetached();let e=this.getModel();this.resetUiToActiveModel(e);let t=-1,i=-1,o=!1,s=this.getJoinOperator();for(let n=this.getNumConditions()-1;n>=0;n--)if(this.isConditionUiComplete(n))t===-1&&(t=n,i=n);else{let a=n>=this.numAlwaysVisibleConditions&&!this.isConditionUiComplete(n-1),l=n<t;(a||l)&&(this.removeConditionsAndOperators(n,1),o=!0,l&&i--)}let r=!1;this.getNumConditions()<this.numAlwaysVisibleConditions&&(this.createMissingConditionsAndOperators(),r=!0),this.shouldAddNewConditionAtEnd(i===this.getNumConditions()-1)&&(this.createJoinOperatorPanel(),this.createOption(),r=!0),r&&this.updateConditionStatusesAndValues(i,s),o&&this.updateJoinOperatorsDisabled(),this.lastUiCompletePosition=i}getPlaceholderText(e,t){let i=this.translate(e);if(ws(this.filterPlaceholder)){let o=this.filterPlaceholder,s=this.eTypes[t].getValue(),r=this.translate(s);i=o({filterOptionKey:s,filterOption:r,placeholder:i})}else typeof this.filterPlaceholder=="string"&&(i=this.filterPlaceholder);return i}resetPlaceholder(){let e=this.localeService.getLocaleTextFunc();this.forEachInput((t,i,o,s)=>{if(!(t instanceof Ot))return;let r=i===0&&s>1?"inRangeStart":i===0?"filterOoo":"inRangeEnd",n=i===0&&s>1?e("ariaFilterFromValue","Filter from value"):i===0?e("ariaFilterValue","Filter Value"):e("ariaFilterToValue","Filter to Value");t.setInputPlaceholder(this.getPlaceholderText(r,o)),t.setInputAriaLabel(n)})}setElementValue(e,t,i){e instanceof Ot&&e.setValue(t!=null?String(t):null,!0)}setElementDisplayed(e,t){e instanceof ce&&pe(e.getGui(),t)}setElementDisabled(e,t){e instanceof ce&&Ii(e.getGui(),t)}attachElementOnChange(e,t){e instanceof Ot&&e.onValueChange(t)}forEachInput(e){this.getConditionTypes().forEach((t,i)=>{this.forEachPositionTypeInput(i,t,e)})}forEachPositionInput(e,t){let i=this.getConditionType(e);this.forEachPositionTypeInput(e,i,t)}forEachPositionTypeInput(e,t,i){let o=this.getNumberOfInputs(t),s=this.getInputs(e);for(let r=0;r<s.length;r++){let n=s[r];n!=null&&i(n,r,e,o)}}isConditionDisabled(e,t){return this.isReadOnly()?!0:e===0?!1:e>t+1}isConditionBodyVisible(e){let t=this.getConditionType(e);return this.getNumberOfInputs(t)>0}isConditionUiComplete(e){return!(e>=this.getNumConditions()||this.getConditionType(e)==="empty"||this.getValues(e).some(i=>i==null))}getNumConditions(){return this.eTypes.length}getUiCompleteConditions(){let e=[];for(let t=0;t<this.getNumConditions();t++)this.isConditionUiComplete(t)&&e.push(this.createCondition(t));return e}createMissingConditionsAndOperators(){if(!this.isReadOnly())for(let e=this.getNumConditions();e<this.numAlwaysVisibleConditions;e++)this.createJoinOperatorPanel(),this.createOption()}resetUiToDefaults(e){return this.removeConditionsAndOperators(this.isReadOnly()?1:this.numAlwaysVisibleConditions),this.eTypes.forEach(t=>this.resetType(t)),this.eJoinOperatorsAnd.forEach((t,i)=>this.resetJoinOperatorAnd(t,i,this.joinOperatorId+i)),this.eJoinOperatorsOr.forEach((t,i)=>this.resetJoinOperatorOr(t,i,this.joinOperatorId+i)),this.joinOperatorId++,this.forEachInput(t=>this.resetInput(t)),this.resetPlaceholder(),this.createMissingConditionsAndOperators(),this.lastUiCompletePosition=null,e||this.onUiChanged(),ae.resolve()}resetType(e){let i=this.localeService.getLocaleTextFunc()("ariaFilteringOperator","Filtering operator");e.setValue(this.optionsFactory.getDefaultOption(),!0).setAriaLabel(i).setDisabled(this.isReadOnly()||this.filterListOptions.length<=1)}resetJoinOperatorAnd(e,t,i){this.resetJoinOperator(e,t,this.isDefaultOperator("AND"),this.translate("andCondition"),i)}resetJoinOperatorOr(e,t,i){this.resetJoinOperator(e,t,this.isDefaultOperator("OR"),this.translate("orCondition"),i)}resetJoinOperator(e,t,i,o,s){this.updateJoinOperatorDisabled(e.setValue(i,!0).setName(`ag-simple-filter-and-or-${this.getCompId()}-${s}`).setLabel(o),t)}updateJoinOperatorsDisabled(){this.eJoinOperatorsAnd.forEach((e,t)=>this.updateJoinOperatorDisabled(e,t)),this.eJoinOperatorsOr.forEach((e,t)=>this.updateJoinOperatorDisabled(e,t))}updateJoinOperatorDisabled(e,t){e.setDisabled(this.isReadOnly()||t>0)}resetInput(e){this.setElementValue(e,null),this.setElementDisabled(e,this.isReadOnly())}setConditionIntoUi(e,t){let i=this.mapValuesFromModel(e);this.forEachInput((o,s,r)=>{r===t&&this.setElementValue(o,i[s]!=null?i[s]:null)})}setValueFromFloatingFilter(e){this.forEachInput((t,i,o)=>{this.setElementValue(t,i===0&&o===0?e:null,!0)})}isDefaultOperator(e){return e===this.defaultJoinOperator}addChangedListeners(e,t){this.isReadOnly()||(e.onValueChange(this.listener),this.forEachPositionInput(t,i=>{this.attachElementOnChange(i,this.listener)}))}individualConditionPasses(e,t){let i=this.getCellValue(e.node),o=this.mapValuesFromModel(t),s=this.optionsFactory.getCustomOption(t.type),r=this.evaluateCustomFilter(s,o,i);return r??(i==null?this.evaluateNullValue(t.type):this.evaluateNonNullValue(o,i,t,e))}evaluateCustomFilter(e,t,i){if(e==null)return;let{predicate:o}=e;if(o!=null&&!t.some(s=>s==null))return o(t,i)}isBlank(e){return e==null||typeof e=="string"&&e.trim().length===0}hasInvalidInputs(){return!1}},na=class extends ra{setParams(e){super.setParams(e),this.scalarFilterParams=e}evaluateNullValue(e){switch(e){case"equals":if(this.scalarFilterParams.includeBlanksInEquals)return!0;break;case"notEqual":if(this.scalarFilterParams.includeBlanksInNotEqual)return!0;break;case"greaterThan":case"greaterThanOrEqual":if(this.scalarFilterParams.includeBlanksInGreaterThan)return!0;break;case"lessThan":case"lessThanOrEqual":if(this.scalarFilterParams.includeBlanksInLessThan)return!0;break;case"inRange":if(this.scalarFilterParams.includeBlanksInRange)return!0;break;case"blank":return!0;case"notBlank":return!1}return!1}evaluateNonNullValue(e,t,i){let o=this.comparator(),s=e[0]!=null?o(e[0],t):0;switch(i.type){case"equals":return s===0;case"notEqual":return s!==0;case"greaterThan":return s>0;case"greaterThanOrEqual":return s>=0;case"lessThan":return s<0;case"lessThanOrEqual":return s<=0;case"inRange":{let r=o(e[1],t);return this.scalarFilterParams.inRangeInclusive?s>=0&&r<=0:s>0&&r<0}case"blank":return this.isBlank(t);case"notBlank":return!this.isBlank(t);default:return S('Unexpected type of filter "'+i.type+'", it looks like the filter was configured with incorrect Filter Options'),!0}}},Kd=65,Yd=67,$d=86,Qd=68,qd=90,Jd=89;function aa(e){return e.altKey||e.ctrlKey||e.metaKey?!1:e.key?.length===1}function hs(e,t,i,o,s){let r=o?o.getColDef().suppressKeyboardEvent:void 0;if(!r)return!1;let n=e.addGridCommonParams({event:t,editing:s,column:o,node:i,data:i.data,colDef:o.getColDef()});return!!(r&&r(n))}function Xd(e,t,i,o){let s=o.getDefinition(),r=s&&s.suppressHeaderKeyboardEvent;if(!M(r))return!1;let n=e.addGridCommonParams({colDef:s,column:o,headerRowIndex:i,event:t});return!!r(n)}function Zd(e){let{keyCode:t}=e,i;switch(t){case Kd:i=y.A;break;case Yd:i=y.C;break;case $d:i=y.V;break;case Qd:i=y.D;break;case qd:i=y.Z;break;case Jd:i=y.Y;break;default:i=e.code}return i}function eu(e,t=!1){return e===y.DELETE?!0:!t&&e===y.BACKSPACE?Bn():!1}var Kt=class extends Ot{constructor(e,t="ag-text-field",i="text"){super(e,t,i)}postConstruct(){super.postConstruct(),this.config.allowedCharPattern&&this.preventDisallowedCharacters()}setValue(e,t){return this.eInput.value!==e&&(this.eInput.value=M(e)?e:""),super.setValue(e,t)}setStartValue(e){this.setValue(e,!0)}preventDisallowedCharacters(){let e=new RegExp(`[${this.config.allowedCharPattern}]`),t=i=>{aa(i)&&i.key&&!e.test(i.key)&&i.preventDefault()};this.addManagedListeners(this.eInput,{keydown:t,paste:i=>{let o=i.clipboardData?.getData("text");o&&o.split("").some(s=>!e.test(s))&&i.preventDefault()}})}},So={selector:"AG-INPUT-TEXT-FIELD",component:Kt},Bs=class extends Kt{constructor(e){super(e,"ag-number-field","number")}postConstruct(){super.postConstruct(),this.addManagedListeners(this.eInput,{blur:()=>{let s=parseFloat(this.eInput.value),r=isNaN(s)?"":this.normalizeValue(s.toString());this.value!==r&&this.setValue(r)},wheel:this.onWheel.bind(this)}),this.eInput.step="any";let{precision:e,min:t,max:i,step:o}=this.config;typeof e=="number"&&this.setPrecision(e),typeof t=="number"&&this.setMin(t),typeof i=="number"&&this.setMax(i),typeof o=="number"&&this.setStep(o)}onWheel(e){fe(this.gos)===this.eInput&&e.preventDefault()}normalizeValue(e){if(e==="")return"";this.precision!=null&&(e=this.adjustPrecision(e));let t=parseFloat(e);return this.min!=null&&t<this.min?e=this.min.toString():this.max!=null&&t>this.max&&(e=this.max.toString()),e}adjustPrecision(e,t){if(this.precision==null)return e;if(t){let o=parseFloat(e).toFixed(this.precision);return parseFloat(o).toString()}let i=String(e).split(".");if(i.length>1){if(i[1].length<=this.precision)return e;if(this.precision>0)return`${i[0]}.${i[1].slice(0,this.precision)}`}return i[0]}setMin(e){return this.min===e?this:(this.min=e,je(this.eInput,"min",e),this)}setMax(e){return this.max===e?this:(this.max=e,je(this.eInput,"max",e),this)}setPrecision(e){return this.precision=e,this}setStep(e){return this.step===e?this:(this.step=e,je(this.eInput,"step",e),this)}setValue(e,t){return this.setValueOrInputValue(i=>super.setValue(i,t),()=>this,e)}setStartValue(e){return this.setValueOrInputValue(t=>super.setValue(t,!0),t=>{this.eInput.value=t},e)}setValueOrInputValue(e,t,i){if(M(i)){let o=this.isScientificNotation(i);if(o&&this.eInput.validity.valid)return e(i);if(!o){i=this.adjustPrecision(i);let s=this.normalizeValue(i);o=i!=s}if(o)return t(i)}return e(i)}getValue(){if(!this.eInput.validity.valid)return;let e=this.eInput.value;return this.isScientificNotation(e)?this.adjustPrecision(e,!0):super.getValue()}isScientificNotation(e){return typeof e=="string"&&e.includes("e")}},tu={selector:"AG-INPUT-NUMBER-FIELD",component:Bs},la=["equals","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","inRange","blank","notBlank"],Vs=class{constructor(e,t,i){this.localeService=e,this.optionsFactory=t,this.valueFormatter=i}getModelAsString(e){if(!e)return null;let t=e.operator!=null,i=this.localeService.getLocaleTextFunc();if(t){let o=e,r=(o.conditions??[]).map(a=>this.getModelAsString(a)),n=o.operator==="AND"?"andCondition":"orCondition";return r.join(` ${i(n,oa[n])} `)}else{if(e.type==="blank"||e.type==="notBlank")return i(e.type,e.type);{let o=e,s=this.optionsFactory.getCustomOption(o.type),{displayKey:r,displayName:n,numberOfInputs:a}=s||{};return r&&n&&a===0?(i(r,n),n):this.conditionToString(o,s)}}}updateParams(e){this.optionsFactory=e.optionsFactory}formatValue(e){return this.valueFormatter?this.valueFormatter(e??null)??"":String(e)}},ca=class extends Vs{conditionToString(e,t){let{numberOfInputs:i}=t||{};return e.type=="inRange"||i===2?`${this.formatValue(e.filter)}-${this.formatValue(e.filterTo)}`:e.filter!=null?this.formatValue(e.filter):`${e.type}`}};function gs(e){let{allowedCharPattern:t}=e??{};return t??null}var iu=class extends na{constructor(){super("numberFilter"),this.eValuesFrom=[],this.eValuesTo=[]}refresh(e){return this.numberFilterParams.allowedCharPattern!==e.allowedCharPattern?!1:super.refresh(e)}mapValuesFromModel(e){let{filter:t,filterTo:i,type:o}=e||{};return[this.processValue(t),this.processValue(i)].slice(0,this.getNumberOfInputs(o))}getDefaultDebounceMs(){return 500}comparator(){return(e,t)=>e===t?0:e<t?1:-1}setParams(e){this.numberFilterParams=e,super.setParams(e),this.filterModelFormatter=new ca(this.localeService,this.optionsFactory,this.numberFilterParams.numberFormatter)}getDefaultFilterOptions(){return la}setElementValue(e,t,i){let o=!i&&this.numberFilterParams.numberFormatter?this.numberFilterParams.numberFormatter(t??null):t;super.setElementValue(e,o)}createValueElement(){let e=gs(this.numberFilterParams),t=document.createElement("div");return t.classList.add("ag-filter-body"),Xe(t,"presentation"),this.createFromToElement(t,this.eValuesFrom,"from",e),this.createFromToElement(t,this.eValuesTo,"to",e),t}createFromToElement(e,t,i,o){let s=this.createManagedBean(o?new Kt({allowedCharPattern:o}):new Bs);s.addCssClass(`ag-filter-${i}`),s.addCssClass("ag-filter-filter"),t.push(s),e.appendChild(s.getGui())}removeValueElements(e,t){this.removeComponents(this.eValuesFrom,e,t),this.removeComponents(this.eValuesTo,e,t)}getValues(e){let t=[];return this.forEachPositionInput(e,(i,o,s,r)=>{o<r&&t.push(this.processValue(this.stringToFloat(i.getValue())))}),t}areSimpleModelsEqual(e,t){return e.filter===t.filter&&e.filterTo===t.filterTo&&e.type===t.type}getFilterType(){return"number"}processValue(e){return e==null||isNaN(e)?null:e}stringToFloat(e){if(typeof e=="number")return e;let t=dt(e);return t!=null&&t.trim()===""&&(t=null),this.numberFilterParams.numberParser?this.numberFilterParams.numberParser(t):t==null||t.trim()==="-"?null:parseFloat(t)}createCondition(e){let t=this.getConditionType(e),i={filterType:this.getFilterType(),type:t},o=this.getValues(e);return o.length>0&&(i.filter=o[0]),o.length>1&&(i.filterTo=o[1]),i}getInputs(e){return e>=this.eValuesFrom.length?[null,null]:[this.eValuesFrom[e],this.eValuesTo[e]]}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}hasInvalidInputs(){let e=!1;return this.forEachInput(t=>{if(!t.getInputElement().validity.valid){e=!0;return}}),e}},da=["contains","notContains","equals","notEqual","startsWith","endsWith","blank","notBlank"],ua=class extends Vs{conditionToString(e,t){let{numberOfInputs:i}=t||{};return e.type=="inRange"||i===2?`${e.filter}-${e.filterTo}`:e.filter!=null?`${e.filter}`:`${e.type}`}};function ha(e){let t=e&&e.trim();return t===""?e:t}var ou=class extends ra{constructor(){super("textFilter"),this.defaultFormatter=e=>e,this.defaultLowercaseFormatter=e=>e==null?null:e.toString().toLowerCase(),this.defaultMatcher=({filterOption:e,value:t,filterText:i})=>{if(i==null)return!1;switch(e){case"contains":return t.indexOf(i)>=0;case"notContains":return t.indexOf(i)<0;case"equals":return t===i;case"notEqual":return t!=i;case"startsWith":return t.indexOf(i)===0;case"endsWith":{let o=t.lastIndexOf(i);return o>=0&&o===t.length-i.length}default:return!1}},this.eValuesFrom=[],this.eValuesTo=[]}getDefaultDebounceMs(){return 500}setParams(e){this.textFilterParams=e,super.setParams(e),this.matcher=this.getTextMatcher(),this.formatter=this.textFilterParams.textFormatter||(this.textFilterParams.caseSensitive?this.defaultFormatter:this.defaultLowercaseFormatter),this.filterModelFormatter=new ua(this.localeService,this.optionsFactory)}getTextMatcher(){let e=this.textFilterParams.textCustomComparator;return e?(S("textCustomComparator is deprecated, use textMatcher instead."),({filterOption:t,value:i,filterText:o})=>e(t,i,o)):this.textFilterParams.textMatcher||this.defaultMatcher}createCondition(e){let t=this.getConditionType(e),i={filterType:this.getFilterType(),type:t},o=this.getValuesWithSideEffects(e,!0);return o.length>0&&(i.filter=o[0]),o.length>1&&(i.filterTo=o[1]),i}getFilterType(){return"text"}areSimpleModelsEqual(e,t){return e.filter===t.filter&&e.filterTo===t.filterTo&&e.type===t.type}getInputs(e){return e>=this.eValuesFrom.length?[null,null]:[this.eValuesFrom[e],this.eValuesTo[e]]}getValues(e){return this.getValuesWithSideEffects(e,!1)}getValuesWithSideEffects(e,t){let i=[];return this.forEachPositionInput(e,(o,s,r,n)=>{if(s<n){let a=dt(o.getValue());t&&this.textFilterParams.trimInput&&(a=ha(a)??null,o.setValue(a,!0)),i.push(a)}}),i}getDefaultFilterOptions(){return da}createValueElement(){let e=document.createElement("div");return e.classList.add("ag-filter-body"),Xe(e,"presentation"),this.createFromToElement(e,this.eValuesFrom,"from"),this.createFromToElement(e,this.eValuesTo,"to"),e}createFromToElement(e,t,i){let o=this.createManagedBean(new Kt);o.addCssClass(`ag-filter-${i}`),o.addCssClass("ag-filter-filter"),t.push(o),e.appendChild(o.getGui())}removeValueElements(e,t){this.removeComponents(this.eValuesFrom,e,t),this.removeComponents(this.eValuesTo,e,t)}mapValuesFromModel(e){let{filter:t,filterTo:i,type:o}=e||{};return[t||null,i||null].slice(0,this.getNumberOfInputs(o))}evaluateNullValue(e){return e?["notEqual","notContains","blank"].indexOf(e)>=0:!1}evaluateNonNullValue(e,t,i,o){let s=e.map(h=>this.formatter(h))||[],r=this.formatter(t),{api:n,colDef:a,column:l,context:c,textFormatter:d}=this.textFilterParams;if(i.type==="blank")return this.isBlank(t);if(i.type==="notBlank")return!this.isBlank(t);let u={api:n,colDef:a,column:l,context:c,node:o.node,data:o.data,filterOption:i.type,value:r,textFormatter:d};return s.some(h=>this.matcher({...u,filterText:h}))}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}};function ga(e){if(typeof e=="number")return e;if(typeof e=="string"){let t=parseInt(e);return isNaN(t)?void 0:t}}function it(e,t=Number.MAX_VALUE){return i=>{let o=ga(i);if(!(o==null||o<e||o>t))return o}}function Fi(e,t){return e.toString().padStart(t,"0")}function su(e,t){let i=[];for(let o=e;o<=t;o++)i.push(o);return i}function ru(e,t,i){return typeof e!="number"?"":e.toString().replace(".",i).replace(/(\d)(?=(\d{3})+(?!\d))/g,`$1${t}`)}function Ke(e,t=!0,i="-"){if(!e)return null;let o=[e.getFullYear(),e.getMonth()+1,e.getDate()].map(s=>Fi(s,2)).join(i);return t&&(o+=" "+[e.getHours(),e.getMinutes(),e.getSeconds()].map(s=>Fi(s,2)).join(":")),o}var Qo=e=>{if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd"}return"th"};function xi(e,t="YYYY-MM-DD"){let i=Fi(e.getFullYear(),4),o=["January","February","March","April","May","June","July","August","September","October","November","December"],s=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],r={YYYY:()=>i.slice(i.length-4,i.length),YY:()=>i.slice(i.length-2,i.length),Y:()=>`${e.getFullYear()}`,MMMM:()=>o[e.getMonth()],MMM:()=>o[e.getMonth()].slice(0,3),MM:()=>Fi(e.getMonth()+1,2),Mo:()=>`${e.getMonth()+1}${Qo(e.getMonth()+1)}`,M:()=>`${e.getMonth()+1}`,Do:()=>`${e.getDate()}${Qo(e.getDate())}`,DD:()=>Fi(e.getDate(),2),D:()=>`${e.getDate()}`,dddd:()=>s[e.getDay()],ddd:()=>s[e.getDay()].slice(0,3),dd:()=>s[e.getDay()].slice(0,2),do:()=>`${e.getDay()}${Qo(e.getDay())}`,d:()=>`${e.getDay()}`},n=new RegExp(Object.keys(r).join("|"),"g");return t.replace(n,a=>a in r?r[a]():a)}function Ge(e){if(!e)return null;let[t,i]=e.split(" ");if(!t)return null;let o=t.split("-").map(u=>parseInt(u,10));if(o.filter(u=>!isNaN(u)).length!==3)return null;let[s,r,n]=o,a=new Date(s,r-1,n);if(a.getFullYear()!==s||a.getMonth()!==r-1||a.getDate()!==n)return null;if(!i||i==="00:00:00")return a;let[l,c,d]=i.split(":").map(u=>parseInt(u,10));return l>=0&&l<24&&a.setHours(l),c>=0&&c<60&&a.setMinutes(c),d>=0&&d<60&&a.setSeconds(d),a}var pa=class{constructor(e,t,i,o,s){this.alive=!0,this.context=e,this.eParent=o,t.getDateCompDetails(i).newAgStackInstance().then(a=>{if(!this.alive){e.destroyBean(a);return}this.dateComp=a,a&&(o.appendChild(a.getGui()),a.afterGuiAttached&&a.afterGuiAttached(),this.tempValue&&a.setDate(this.tempValue),this.disabled!=null&&this.setDateCompDisabled(this.disabled),s?.(this))})}destroy(){this.alive=!1,this.dateComp=this.context.destroyBean(this.dateComp)}getDate(){return this.dateComp?this.dateComp.getDate():this.tempValue}setDate(e){this.dateComp?this.dateComp.setDate(e):this.tempValue=e}setDisabled(e){this.dateComp?this.setDateCompDisabled(e):this.disabled=e}setDisplayed(e){pe(this.eParent,e)}setInputPlaceholder(e){this.dateComp&&this.dateComp.setInputPlaceholder&&this.dateComp.setInputPlaceholder(e)}setInputAriaLabel(e){this.dateComp&&this.dateComp.setInputAriaLabel&&this.dateComp.setInputAriaLabel(e)}afterGuiAttached(e){this.dateComp&&typeof this.dateComp.afterGuiAttached=="function"&&this.dateComp.afterGuiAttached(e)}updateParams(e){let t=!1;this.dateComp?.refresh&&typeof this.dateComp.refresh=="function"&&this.dateComp.refresh(e)!==null&&(t=!0),!t&&this.dateComp?.onParamsUpdated&&typeof this.dateComp.onParamsUpdated=="function"&&this.dateComp.onParamsUpdated(e)!==null&&S("Custom date component method 'onParamsUpdated' is deprecated. Use 'refresh' instead.")}setDateCompDisabled(e){this.dateComp!=null&&this.dateComp.setDisabled!=null&&this.dateComp.setDisabled(e)}},fa=["equals","notEqual","lessThan","greaterThan","inRange","blank","notBlank"],ma=class extends Vs{constructor(e,t,i){super(t,i),this.dateFilterParams=e}conditionToString(e,t){let{type:i}=e,{numberOfInputs:o}=t||{},s=i=="inRange"||o===2,r=Ge(e.dateFrom),n=Ge(e.dateTo),a=this.dateFilterParams.inRangeFloatingFilterDateFormat;if(s){let l=r!==null?xi(r,a):"null",c=n!==null?xi(n,a):"null";return`${l}-${c}`}return r!=null?xi(r,a):`${i}`}updateParams(e){super.updateParams(e),this.dateFilterParams=e.dateFilterParams}},jr=1e3,Kr=1/0,nu=class extends na{constructor(){super("dateFilter"),this.eConditionPanelsFrom=[],this.eConditionPanelsTo=[],this.dateConditionFromComps=[],this.dateConditionToComps=[],this.minValidYear=jr,this.maxValidYear=Kr,this.minValidDate=null,this.maxValidDate=null}wireBeans(e){super.wireBeans(e),this.context=e.context,this.userComponentFactory=e.userComponentFactory}afterGuiAttached(e){super.afterGuiAttached(e),this.dateConditionFromComps[0].afterGuiAttached(e)}mapValuesFromModel(e){let{dateFrom:t,dateTo:i,type:o}=e||{};return[t&&Ge(t)||null,i&&Ge(i)||null].slice(0,this.getNumberOfInputs(o))}comparator(){return this.dateFilterParams.comparator?this.dateFilterParams.comparator:this.defaultComparator.bind(this)}defaultComparator(e,t){let i=t;return t==null||i<e?-1:i>e?1:0}setParams(e){this.dateFilterParams=e,super.setParams(e);let t=(i,o)=>{if(e[i]!=null)if(isNaN(e[i]))S(`DateFilter ${i} is not a number`);else return e[i]==null?o:Number(e[i]);return o};this.minValidYear=t("minValidYear",jr),this.maxValidYear=t("maxValidYear",Kr),this.minValidYear>this.maxValidYear&&S("DateFilter minValidYear should be <= maxValidYear"),e.minValidDate?this.minValidDate=e.minValidDate instanceof Date?e.minValidDate:Ge(e.minValidDate):this.minValidDate=null,e.maxValidDate?this.maxValidDate=e.maxValidDate instanceof Date?e.maxValidDate:Ge(e.maxValidDate):this.maxValidDate=null,this.minValidDate&&this.maxValidDate&&this.minValidDate>this.maxValidDate&&S("DateFilter minValidDate should be <= maxValidDate"),this.filterModelFormatter=new ma(this.dateFilterParams,this.localeService,this.optionsFactory)}createDateCompWrapper(e){let t=new pa(this.context,this.userComponentFactory,{onDateChanged:()=>this.onUiChanged(),filterParams:this.dateFilterParams},e);return this.addDestroyFunc(()=>t.destroy()),t}setElementValue(e,t){e.setDate(t)}setElementDisplayed(e,t){e.setDisplayed(t)}setElementDisabled(e,t){e.setDisabled(t)}getDefaultFilterOptions(){return fa}createValueElement(){let t=ve(this.gos).createElement("div");return t.classList.add("ag-filter-body"),this.createFromToElement(t,this.eConditionPanelsFrom,this.dateConditionFromComps,"from"),this.createFromToElement(t,this.eConditionPanelsTo,this.dateConditionToComps,"to"),t}createFromToElement(e,t,i,o){let r=ve(this.gos).createElement("div");r.classList.add(`ag-filter-${o}`),r.classList.add(`ag-filter-date-${o}`),t.push(r),e.appendChild(r),i.push(this.createDateCompWrapper(r))}removeValueElements(e,t){this.removeDateComps(this.dateConditionFromComps,e,t),this.removeDateComps(this.dateConditionToComps,e,t),this.removeItems(this.eConditionPanelsFrom,e,t),this.removeItems(this.eConditionPanelsTo,e,t)}removeDateComps(e,t,i){this.removeItems(e,t,i).forEach(s=>s.destroy())}isValidDateValue(e){if(e===null)return!1;if(this.minValidDate){if(e<this.minValidDate)return!1}else if(e.getUTCFullYear()<this.minValidYear)return!1;if(this.maxValidDate){if(e>this.maxValidDate)return!1}else if(e.getUTCFullYear()>this.maxValidYear)return!1;return!0}isConditionUiComplete(e){if(!super.isConditionUiComplete(e))return!1;let t=!0;return this.forEachInput((i,o,s,r)=>{s!==e||!t||o>=r||(t=t&&this.isValidDateValue(i.getDate()))}),t}areSimpleModelsEqual(e,t){return e.dateFrom===t.dateFrom&&e.dateTo===t.dateTo&&e.type===t.type}getFilterType(){return"date"}createCondition(e){let t=this.getConditionType(e),i={},o=this.getValues(e);return o.length>0&&(i.dateFrom=Ke(o[0])),o.length>1&&(i.dateTo=Ke(o[1])),{dateFrom:null,dateTo:null,filterType:this.getFilterType(),type:t,...i}}resetPlaceholder(){let e=this.localeService.getLocaleTextFunc(),t=this.translate("dateFormatOoo"),i=e("ariaFilterValue","Filter Value");this.forEachInput(o=>{o.setInputPlaceholder(t),o.setInputAriaLabel(i)})}getInputs(e){return e>=this.dateConditionFromComps.length?[null,null]:[this.dateConditionFromComps[e],this.dateConditionToComps[e]]}getValues(e){let t=[];return this.forEachPositionInput(e,(i,o,s,r)=>{o<r&&t.push(i.getDate())}),t}translate(e){return e==="lessThan"?super.translate("before"):e==="greaterThan"?super.translate("after"):super.translate(e)}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}},Ws=class extends b{constructor(e,t,i,o){super(),this.columnOrGroup=e,this.columnOrGroup=e,this.eCell=t,this.ariaEl=this.eCell.querySelector("[role=columnheader]")||this.eCell,this.colsSpanning=o,this.beans=i}setColsSpanning(e){this.colsSpanning=e,this.onLeftChanged()}getColumnOrGroup(){return this.beans.gos.get("enableRtl")&&this.colsSpanning?$(this.colsSpanning):this.columnOrGroup}postConstruct(){let e=this.onLeftChanged.bind(this);this.addManagedListeners(this.columnOrGroup,{leftChanged:e}),this.setLeftFirstTime(),this.addManagedEventListeners({displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}setLeftFirstTime(){let e=this.beans.gos.get("suppressColumnMoveAnimation"),t=M(this.columnOrGroup.getOldLeft());this.beans.columnAnimationService.isActive()&&t&&!e?this.animateInLeft():this.onLeftChanged()}animateInLeft(){let e=this.getColumnOrGroup(),t=e.getLeft(),i=e.getOldLeft(),o=this.modifyLeftForPrintLayout(e,i),s=this.modifyLeftForPrintLayout(e,t);this.setLeft(o),this.actualLeft=s,this.beans.columnAnimationService.executeNextVMTurn(()=>{this.actualLeft===s&&this.setLeft(s)})}onLeftChanged(){let e=this.getColumnOrGroup(),t=e.getLeft();this.actualLeft=this.modifyLeftForPrintLayout(e,t),this.setLeft(this.actualLeft)}modifyLeftForPrintLayout(e,t){if(!Re(this.beans.gos,"print")||e.getPinned()==="left")return t;let o=this.beans.visibleColsService.getColsLeftWidth();if(e.getPinned()==="right"){let s=this.beans.visibleColsService.getBodyContainerWidth();return o+s+t}return o+t}setLeft(e){if(M(e)&&(this.eCell.style.left=`${e}px`),Se(this.columnOrGroup)){let t=this.columnOrGroup.getLeafColumns();if(!t.length)return;t.length>1&&Dc(this.ariaEl,t.length)}}},au="ag-column-first",lu="ag-column-last";function va(e,t,i,o){return K(e)?[]:du(e.headerClass,e,t,i,o)}function Ca(e,t,i){e.addOrRemoveCssClass(au,i.isColAtEdge(t,"first")),e.addOrRemoveCssClass(lu,i.isColAtEdge(t,"last"))}function cu(e,t,i,o){return t.addGridCommonParams({colDef:e,column:i,columnGroup:o})}function du(e,t,i,o,s){if(K(e))return[];let r;if(typeof e=="function"){let n=cu(t,i,o,s);r=e(n)}else r=e;return typeof r=="string"?[r]:Array.isArray(r)?[...r]:[]}var uu=0,wa=class ya extends b{constructor(t,i,o){super(),this.resizeToggleTimeout=0,this.resizeMultiplier=1,this.resizeFeature=null,this.lastFocusEvent=null,this.dragSource=null,this.columnGroupChild=t,this.parentRowCtrl=o,this.beans=i,this.instanceId=t.getUniqueId()+"-"+uu++}wireBeans(t){this.pinnedWidthService=t.pinnedWidthService,this.focusService=t.focusService,this.userComponentFactory=t.userComponentFactory,this.ctrlsService=t.ctrlsService,this.dragAndDropService=t.dragAndDropService,this.menuService=t.menuService}postConstruct(){let t=this.refreshTabIndex.bind(this);this.addManagedPropertyListeners(["suppressHeaderFocus"],t),this.addManagedEventListeners({overlayExclusiveChanged:t})}shouldStopEventPropagation(t){let{headerRowIndex:i,column:o}=this.focusService.getFocusedHeader();return Xd(this.gos,t,i,o)}getWrapperHasFocus(){return fe(this.gos)===this.eGui}setGui(t,i){this.eGui=t,this.addDomData(i),i.addManagedListeners(this.beans.eventService,{displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),i.addManagedElementListeners(this.eGui,{focus:this.onGuiFocus.bind(this)}),this.onDisplayedColumnsChanged(),this.refreshTabIndex()}onGuiFocus(){this.eventService.dispatchEvent({type:"headerFocused",column:this.column})}setupAutoHeight(t){let{wrapperElement:i,checkMeasuringCallback:o,compBean:s}=t,{animationFrameService:r,resizeObserverService:n,columnModel:a,gos:l}=this.beans,c=m=>{if(!this.isAlive()||!s.isAlive())return;let{paddingTop:p,paddingBottom:v,borderBottomWidth:w,borderTopWidth:C}=_t(this.getGui()),R=p+v+w+C,T=i.offsetHeight+R;if(m<5){let x=ve(l),A=!x||!x.contains(i),L=T==0;if(A||L){r.requestAnimationFrame(()=>c(m+1));return}}a.setColHeaderHeight(this.column,T)},d=!1,u,h=()=>{let m=this.column.isAutoHeaderHeight();m&&!d&&g(),!m&&d&&f()},g=()=>{d=!0,c(0),this.comp.addOrRemoveCssClass("ag-header-cell-auto-height",!0),u=n.observeResize(i,()=>c(0))},f=()=>{d=!1,u&&u(),this.comp.addOrRemoveCssClass("ag-header-cell-auto-height",!1),u=void 0};h(),s.addDestroyFunc(()=>f()),s.addManagedListeners(this.column,{widthChanged:()=>d&&c(0)}),s.addManagedEventListeners({sortChanged:()=>{d&&window.setTimeout(()=>c(0))}}),o&&o(h)}onDisplayedColumnsChanged(){let{comp:t,column:i,beans:o,eGui:s}=this;!t||!i||!s||(Ca(t,i,o.visibleColsService),An(s,o.visibleColsService.getAriaColIndex(i)))}addResizeAndMoveKeyboardListeners(t){this.resizeFeature&&t.addManagedListeners(this.eGui,{keydown:this.onGuiKeyDown.bind(this),keyup:this.onGuiKeyUp.bind(this)})}refreshTabIndex(){let t=this.focusService.isHeaderFocusSuppressed();this.eGui&&je(this.eGui,"tabindex",t?null:"-1")}onGuiKeyDown(t){let i=fe(this.gos),o=t.key===y.LEFT||t.key===y.RIGHT;if(this.isResizing&&(t.preventDefault(),t.stopImmediatePropagation()),i!==this.eGui||!t.shiftKey&&!t.altKey||((this.isResizing||o)&&(t.preventDefault(),t.stopImmediatePropagation()),!o))return;let s=t.key===y.LEFT!==this.gos.get("enableRtl"),r=Xn[s?"Left":"Right"];if(t.altKey){this.isResizing=!0,this.resizeMultiplier+=1;let n=this.getViewportAdjustedResizeDiff(t);this.resizeHeader(n,t.shiftKey),this.resizeFeature?.toggleColumnResizing(!0)}else this.moveHeader(r)}getViewportAdjustedResizeDiff(t){let i=this.getResizeDiff(t);if(this.column.getPinned()){let s=this.pinnedWidthService.getPinnedLeftWidth(),r=this.pinnedWidthService.getPinnedRightWidth(),n=Gi(this.ctrlsService.getGridBodyCtrl().getBodyViewportElement())-50;if(s+r+i>n)if(n>s+r)i=n-s-r;else return 0}return i}getResizeDiff(t){let i=t.key===y.LEFT!==this.gos.get("enableRtl"),o=this.column.getPinned(),s=this.gos.get("enableRtl");return o&&s!==(o==="right")&&(i=!i),(i?-1:1)*this.resizeMultiplier}onGuiKeyUp(){this.isResizing&&(this.resizeToggleTimeout&&(window.clearTimeout(this.resizeToggleTimeout),this.resizeToggleTimeout=0),this.isResizing=!1,this.resizeMultiplier=1,this.resizeToggleTimeout=window.setTimeout(()=>{this.resizeFeature?.toggleColumnResizing(!1)},150))}handleKeyDown(t){let i=this.getWrapperHasFocus();switch(t.key){case y.PAGE_DOWN:case y.PAGE_UP:case y.PAGE_HOME:case y.PAGE_END:i&&t.preventDefault()}}addDomData(t){let i=ya.DOM_DATA_KEY_HEADER_CTRL;Vt(this.gos,this.eGui,i,this),t.addDestroyFunc(()=>Vt(this.gos,this.eGui,i,null))}getGui(){return this.eGui}focus(t){return this.eGui?(this.lastFocusEvent=t||null,this.eGui.focus(),!0):!1}getRowIndex(){return this.parentRowCtrl.getRowIndex()}getParentRowCtrl(){return this.parentRowCtrl}getPinned(){return this.parentRowCtrl.getPinned()}getColumnGroupChild(){return this.columnGroupChild}removeDragSource(){this.dragSource&&(this.dragAndDropService.removeDragSource(this.dragSource),this.dragSource=null)}handleContextMenuMouseEvent(t,i,o){let s=t??i;this.gos.get("preventDefaultOnContextMenu")&&s.preventDefault(),this.menuService.isHeaderContextMenuEnabled(o)&&this.menuService.showHeaderContextMenu(o,t,i),this.dispatchColumnMouseEvent("columnHeaderContextMenu",o)}dispatchColumnMouseEvent(t,i){this.eventService.dispatchEvent({type:t,column:i})}clearComponent(){this.removeDragSource(),this.resizeFeature=null,this.comp=null,this.eGui=null}destroy(){super.destroy(),this.column=null,this.lastFocusEvent=null,this.columnGroupChild=null,this.parentRowCtrl=null}};wa.DOM_DATA_KEY_HEADER_CTRL="headerCtrl";var Ro=wa,Us=class extends b{wireBeans(e){this.columnHoverService=e.columnHoverService}constructor(e,t){super(),this.columns=e,this.element=t}postConstruct(){this.gos.get("columnHoverHighlight")&&this.addMouseHoverListeners()}addMouseHoverListeners(){this.addManagedListeners(this.element,{mouseout:this.onMouseOut.bind(this),mouseover:this.onMouseOver.bind(this)})}onMouseOut(){this.columnHoverService.clearMouseOver()}onMouseOver(){this.columnHoverService.setMouseOver(this.columns)}},hu=class extends Ro{constructor(e,t,i){super(e,t,i),this.iconCreated=!1,this.column=e}setComp(e,t,i,o,s){this.comp=e,s=Oi(this,this.beans.context,s),this.eButtonShowMainFilter=i,this.eFloatingFilterBody=o,this.setGui(t,s),this.setupActive(),this.setupWidth(s),this.setupLeft(s),this.setupHover(s),this.setupFocus(s),this.setupAria(),this.setupFilterButton(),this.setupUserComp(),this.setupSyncWithFilter(s),this.setupUi(),s.addManagedElementListeners(this.eButtonShowMainFilter,{click:this.showParentFilter.bind(this)}),this.setupFilterChangedListener(s),s.addManagedListeners(this.column,{colDefChanged:()=>this.onColDefChanged(s)}),s.addDestroyFunc(()=>{this.eButtonShowMainFilter=null,this.eFloatingFilterBody=null,this.userCompDetails=null,this.clearComponent()})}resizeHeader(){}moveHeader(){}setupActive(){let e=this.column.getColDef(),t=!!e.filter,i=!!e.floatingFilter;this.active=t&&i}setupUi(){if(this.comp.setButtonWrapperDisplayed(!this.suppressFilterButton&&this.active),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-full-body",this.suppressFilterButton),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-body",!this.suppressFilterButton),!this.active||this.iconCreated)return;let e=ze("filter",this.gos,this.column);e&&(this.iconCreated=!0,this.eButtonShowMainFilter.appendChild(e))}setupFocus(e){e.createManagedBean(new jt(this.eGui,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)}))}setupAria(){let e=this.localeService.getLocaleTextFunc();si(this.eButtonShowMainFilter,e("ariaFilterMenuOpen","Open Filter Menu"))}onTabKeyDown(e){if(fe(this.gos)===this.eGui)return;let o=this.focusService.findNextFocusableElement(this.eGui,null,e.shiftKey);if(o){this.beans.headerNavigationService.scrollToColumn(this.column),e.preventDefault(),o.focus();return}let s=this.findNextColumnWithFloatingFilter(e.shiftKey);s&&this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:this.getParentRowCtrl().getRowIndex(),column:s},event:e})&&e.preventDefault()}findNextColumnWithFloatingFilter(e){let t=this.beans.visibleColsService,i=this.column;do if(i=e?t.getColBefore(i):t.getColAfter(i),!i)break;while(!i.getColDef().filter||!i.getColDef().floatingFilter);return i}handleKeyDown(e){super.handleKeyDown(e);let t=this.getWrapperHasFocus();switch(e.key){case y.UP:case y.DOWN:t||e.preventDefault();case y.LEFT:case y.RIGHT:if(t)return;e.stopPropagation();case y.ENTER:t&&this.focusService.focusInto(this.eGui)&&e.preventDefault();break;case y.ESCAPE:t||this.eGui.focus()}}onFocusIn(e){if(this.eGui.contains(e.relatedTarget))return;let i=!!e.relatedTarget&&!e.relatedTarget.classList.contains("ag-floating-filter"),o=!!e.relatedTarget&&ei(e.relatedTarget,"ag-floating-filter");if(i&&o&&e.target===this.eGui){let r=this.lastFocusEvent,n=!!(r&&r.key===y.TAB);if(r&&n){let a=r.shiftKey;this.focusService.focusInto(this.eGui,a)}}let s=this.getRowIndex();this.beans.focusService.setFocusedHeader(s,this.column)}setupHover(e){e.createManagedBean(new Us([this.column],this.eGui));let t=()=>{if(!this.gos.get("columnHoverHighlight"))return;let i=this.beans.columnHoverService.isHovered(this.column);this.comp.addOrRemoveCssClass("ag-column-hover",i)};e.addManagedEventListeners({columnHoverChanged:t}),t()}setupLeft(e){let t=new Ws(this.column,this.eGui,this.beans);e.createManagedBean(t)}setupFilterButton(){this.suppressFilterButton=!this.menuService.isFloatingFilterButtonEnabled(this.column),this.highlightFilterButtonWhenActive=!this.menuService.isLegacyMenuEnabled()}setupUserComp(){if(!this.active)return;let e=this.beans.filterManager?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter());e&&this.setCompDetails(e)}setCompDetails(e){this.userCompDetails=e,this.comp.setCompDetails(e)}showParentFilter(){let e=this.suppressFilterButton?this.eFloatingFilterBody:this.eButtonShowMainFilter;this.menuService.showFilterMenu({column:this.column,buttonElement:e,containerType:"floatingFilter",positionBy:"button"})}setupSyncWithFilter(e){if(!this.active)return;let{filterManager:t}=this.beans,i=o=>{if(o?.source==="filterDestroyed"&&!this.isAlive())return;let s=this.comp.getFloatingFilterComp();s&&s.then(r=>{if(r){let n=t?.getCurrentFloatingFilterParentModel(this.column),a=o?{...o,columns:o.columns??[],source:o.source==="api"?"api":"columnFilter"}:null;r.onParentModelChanged(n,a)}})};[this.destroySyncListener]=e.addManagedListeners(this.column,{filterChanged:i}),t?.isFilterActive(this.column)&&i(null)}setupWidth(e){let t=()=>{let i=`${this.column.getActualWidth()}px`;this.comp.setWidth(i)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupFilterChangedListener(e){this.active&&([this.destroyFilterChangedListener]=e.addManagedListeners(this.column,{filterChanged:this.updateFilterButton.bind(this)}),this.updateFilterButton())}updateFilterButton(){if(!this.suppressFilterButton&&this.comp){let e=!!this.beans.filterManager?.isFilterAllowed(this.column);this.comp.setButtonWrapperDisplayed(e),this.highlightFilterButtonWhenActive&&e&&this.eButtonShowMainFilter.classList.toggle("ag-filter-active",this.column.isFilterActive())}}onColDefChanged(e){let t=this.active;this.setupActive();let i=!t&&this.active;t&&!this.active&&(this.destroySyncListener(),this.destroyFilterChangedListener());let o=this.active?this.beans.filterManager?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter()):null,s=this.comp.getFloatingFilterComp();!s||!o?this.updateCompDetails(e,o,i):s.then(r=>{!r||this.beans.filterManager?.areFilterCompsDifferent(this.userCompDetails??null,o)?this.updateCompDetails(e,o,i):this.updateFloatingFilterParams(o)})}updateCompDetails(e,t,i){this.isAlive()&&(this.setCompDetails(t),this.setupFilterButton(),this.setupUi(),i&&(this.setupSyncWithFilter(e),this.setupFilterChangedListener(e)))}updateFloatingFilterParams(e){if(!e)return;let t=e.params;this.comp.getFloatingFilterComp()?.then(i=>{let o=!1;i?.refresh&&typeof i.refresh=="function"&&i.refresh(t)!==null&&(o=!0),!o&&i?.onParamsUpdated&&typeof i.onParamsUpdated=="function"&&i.onParamsUpdated(t)!==null&&S("Custom floating filter method 'onParamsUpdated' is deprecated. Use 'refresh' instead.")})}destroy(){super.destroy(),this.destroySyncListener=null,this.destroyFilterChangedListener=null}};var B="32.3.9";function gu(e){return!!e.filterManager?.isColumnFilterPresent()||!!e.filterManager?.isAggregateFilterPresent()}function pu(e,t,i){return e.filterManager?.getFilterInstance(t,i)}function fu(e,t){return e.filterManager?.getColumnFilterInstance(t)??Promise.resolve(void 0)}function mu(e,t){let i=e.columnModel.getColDefCol(t);if(i)return e.filterManager?.destroyFilter(i,"api")}function vu(e,t){e.frameworkOverrides.wrapIncoming(()=>e.filterManager?.setFilterModel(t))}function Cu(e){return e.filterManager?.getFilterModel()??{}}function wu(e,t){return e.filterManager?.getColumnFilterModel(t)??null}function yu(e,t,i){return e.filterManager?.setColumnFilterModel(t,i)??Promise.resolve()}function bu(e,t){let i=e.columnModel.getCol(t);if(!i){Q(`column '${t}' not found`);return}e.menuService.showFilterMenu({column:i,containerType:"columnFilter",positionBy:"auto"})}function Su(e,t,i){if(t==null)return null;let o=null,{compName:s,jsComp:r,fwComp:n}=qn.getCompKeys(e,t,Ns);return s?o={set:"agSetColumnFloatingFilter",agSetColumnFilter:"agSetColumnFloatingFilter",multi:"agMultiColumnFloatingFilter",agMultiColumnFilter:"agMultiColumnFloatingFilter",group:"agGroupColumnFloatingFilter",agGroupColumnFilter:"agGroupColumnFloatingFilter",number:"agNumberColumnFloatingFilter",agNumberColumnFilter:"agNumberColumnFloatingFilter",date:"agDateColumnFloatingFilter",agDateColumnFilter:"agDateColumnFloatingFilter",text:"agTextColumnFloatingFilter",agTextColumnFilter:"agTextColumnFloatingFilter"}[s]:r==null&&n==null&&t.filter===!0&&(o=i()),o}var Yr={january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},$r=["january","february","march","april","may","june","july","august","september","october","november","december"],Ru=class extends b{constructor(){super(...arguments),this.beanName="columnFilterService",this.allColumnFilters=new Map,this.allColumnListeners=new Map,this.activeAggregateFilters=[],this.activeColumnFilters=[],this.processingFilterChange=!1,this.filterModelUpdateQueue=[],this.columnFilterModelUpdateQueue=[]}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.rowModel=e.rowModel,this.userComponentFactory=e.userComponentFactory,this.rowRenderer=e.rowRenderer,this.dataTypeService=e.dataTypeService,this.filterManager=e.filterManager}postConstruct(){this.addManagedEventListeners({gridColumnsChanged:this.onColumnsChanged.bind(this),rowDataUpdated:()=>this.onNewRowsLoaded("rowDataUpdated"),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.initialFilterModel={...this.gos.get("initialState")?.filter?.filterModel??{}}}setFilterModel(e,t="api"){if(this.dataTypeService?.isPendingInference()){this.filterModelUpdateQueue.push({model:e,source:t});return}let i=[],o=this.getFilterModel(!0);if(e){let s=new Set(Object.keys(e));this.allColumnFilters.forEach((r,n)=>{let a=e[n];i.push(this.setModelOnFilterWrapper(r.filterPromise,a)),s.delete(n)}),s.forEach(r=>{let n=this.columnModel.getColDefCol(r)||this.columnModel.getCol(r);if(!n){S("setFilterModel() - no column found for colId: "+r);return}if(!n.isFilterAllowed()){S("setFilterModel() - unable to fully apply model, filtering disabled for colId: "+r);return}let a=this.getOrCreateFilterWrapper(n);if(!a){S("setFilterModel() - unable to fully apply model, unable to create filter for colId: "+r);return}i.push(this.setModelOnFilterWrapper(a.filterPromise,e[r]))})}else this.allColumnFilters.forEach(s=>{i.push(this.setModelOnFilterWrapper(s.filterPromise,null))});ae.all(i).then(()=>{let s=this.getFilterModel(!0),r=[];this.allColumnFilters.forEach((n,a)=>{let l=o?o[a]:null,c=s?s[a]:null;to(l,c)||r.push(n.column)}),r.length>0&&this.filterManager?.onFilterChanged({columns:r,source:t})})}setModelOnFilterWrapper(e,t){return new ae(i=>{e.then(o=>{typeof o.setModel!="function"&&(S("filter missing setModel method, which is needed for setFilterModel"),i()),(o.setModel(t)||ae.resolve()).then(()=>i())})})}getFilterModel(e){let t={},{allColumnFilters:i,initialFilterModel:o}=this;return i.forEach((s,r)=>{let n=this.getModelFromFilterWrapper(s);M(n)&&(t[r]=n)}),e||Object.entries(o).forEach(([s,r])=>{M(r)&&!i.has(s)&&this.columnModel.getCol(s)?.isFilterAllowed()&&(t[s]=r)}),t}getModelFromFilterWrapper(e){let{filter:t}=e;return t?typeof t.getModel!="function"?(S("filter API missing getModel method, which is needed for getFilterModel"),null):t.getModel():this.getModelFromInitialState(e.column)}getModelFromInitialState(e){return this.initialFilterModel[e.getColId()]??null}isColumnFilterPresent(){return this.activeColumnFilters.length>0}isAggregateFilterPresent(){return!!this.activeAggregateFilters.length}disableColumnFilters(){return this.allColumnFilters.size?(this.allColumnFilters.forEach(e=>this.disposeFilterWrapper(e,"advancedFilterEnabled")),!0):!1}doAggregateFiltersPass(e,t){return this.doColumnFiltersPass(e,t,!0)}updateActiveFilters(){let e=r=>r?r.isFilterActive?r.isFilterActive():(S("Filter is missing isFilterActive() method"),!1):!1,t=!!os(this.gos),i=r=>{if(!r.isPrimary())return!0;let a=!this.columnModel.isPivotActive();return!r.isValueActive()||!a?!1:this.columnModel.isPivotMode()?!0:t},o=[],s=[];return this.forEachColumnFilter((r,n)=>{e(r)&&(i(n.column)?o.push(r):s.push(r))}).then(()=>{this.activeAggregateFilters=o,this.activeColumnFilters=s})}updateFilterFlagInColumns(e,t){return this.forEachColumnFilter((i,o)=>o.column.setFilterActive(i.isFilterActive(),e,t))}forEachColumnFilter(e){return ae.all(Array.from(this.allColumnFilters.values()).map(t=>t.filterPromise.then(i=>e(i,t))))}doColumnFiltersPass(e,t,i){let{data:o,aggData:s}=e,r=i?this.activeAggregateFilters:this.activeColumnFilters,n=i?s:o;for(let a=0;a<r.length;a++){let l=r[a];if(!(l==null||l===t)){if(typeof l.doesFilterPass!="function")throw new Error("Filter is missing method doesFilterPass");if(!l.doesFilterPass({node:e,data:n}))return!1}}return!0}callOnFilterChangedOutsideRenderCycle(e){let t=()=>this.filterManager?.onFilterChanged(e);this.rowRenderer.isRefreshInProgress()?setTimeout(t,0):t()}updateBeforeFilterChanged(e={}){let{filterInstance:t,additionalEventAttributes:i}=e;return this.updateDependentFilters(),this.updateActiveFilters().then(()=>this.updateFilterFlagInColumns("filterChanged",i).then(()=>{this.allColumnFilters.forEach(o=>{o.filterPromise&&o.filterPromise.then(s=>{s&&s!==t&&s.onAnyFilterChanged&&s.onAnyFilterChanged()})}),this.processingFilterChange=!0}))}updateAfterFilterChanged(){this.processingFilterChange=!1}isSuppressFlashingCellsBecauseFiltering(){return!(this.gos.get("allowShowChangeAfterFilter")??!1)&&this.processingFilterChange}onNewRowsLoaded(e){this.forEachColumnFilter(t=>{t.onNewRowsLoaded&&t.onNewRowsLoaded()}).then(()=>this.updateFilterFlagInColumns(e,{afterDataChange:!0})).then(()=>this.updateActiveFilters())}createValueGetter(e){return({node:t})=>this.valueService.getValue(e,t,!0)}createGetValue(e){return(t,i)=>{let o=i?this.columnModel.getCol(i):e;return o?this.valueService.getValue(o,t,!0):void 0}}isFilterActive(e){let{filter:t}=this.cachedFilter(e)??{};return t?t.isFilterActive():this.getModelFromInitialState(e)!=null}getOrCreateFilterWrapper(e){if(!e.isFilterAllowed())return null;let t=this.cachedFilter(e);return t||(t=this.createFilterWrapper(e),this.setColumnFilterWrapper(e,t)),t}cachedFilter(e){return this.allColumnFilters.get(e.getColId())}getDefaultFilter(e){let t;if(Bo(this.gos))t="agSetColumnFilter";else{let i=this.dataTypeService?.getBaseDataType(e);i==="number"?t="agNumberColumnFilter":i==="date"||i==="dateString"?t="agDateColumnFilter":t="agTextColumnFilter"}return t}getDefaultFloatingFilter(e){let t;if(Bo(this.gos))t="agSetColumnFloatingFilter";else{let i=this.dataTypeService?.getBaseDataType(e);i==="number"?t="agNumberColumnFloatingFilter":i==="date"||i==="dateString"?t="agDateColumnFloatingFilter":t="agTextColumnFloatingFilter"}return t}createFilterInstance(e,t){let i=this.getDefaultFilter(e),o=e.getColDef(),s,r={...this.createFilterParams(e,o),filterModifiedCallback:()=>this.filterModifiedCallbackFactory(s,e)(),filterChangedCallback:a=>this.filterChangedCallbackFactory(s,e)(a),doesRowPassOtherFilter:a=>this.filterManager?this.filterManager.doesRowPassOtherFilters(s,a):!0},n=this.userComponentFactory.getFilterDetails(o,r,i);return n?{filterPromise:()=>{let a=n.newAgStackInstance();return a?.then(l=>{s=l,t&&(t.filter=l)}),a},compDetails:n}:{filterPromise:null,compDetails:null}}createFilterParams(e,t){return this.gos.addGridCommonParams({column:e,colDef:xs(t),rowModel:this.rowModel,filterChangedCallback:()=>{},filterModifiedCallback:()=>{},valueGetter:this.createValueGetter(e),getValue:this.createGetValue(e),doesRowPassOtherFilter:()=>!0})}createFilterWrapper(e){let t={column:e,filterPromise:null,compiledElement:null,compDetails:null},{filterPromise:i,compDetails:o}=this.createFilterInstance(e,t);return t.filterPromise=i?.()??null,t.compDetails=o,t}onColumnsChanged(){let e=[];this.allColumnFilters.forEach((i,o)=>{let s;i.column.isPrimary()?s=this.columnModel.getColDefCol(o):s=this.columnModel.getCol(o),!(s&&s===i.column)&&(e.push(i.column),this.disposeFilterWrapper(i,"columnChanged"),this.disposeColumnListener(o))});let t=e.every(i=>i.getColDef().filter==="agGroupColumnFilter");e.length>0&&!t?this.filterManager?.onFilterChanged({columns:e,source:"api"}):this.updateDependentFilters()}updateDependentFilters(){this.columnModel.getAutoCols()?.forEach(t=>{t.getColDef().filter==="agGroupColumnFilter"&&this.getOrCreateFilterWrapper(t)})}isFilterAllowed(e){if(!e.isFilterAllowed())return!1;let{filter:i}=this.allColumnFilters.get(e.getColId())??{};return i&&typeof i?.isFilterAllowed=="function"?i.isFilterAllowed():!0}getFloatingFilterCompDetails(e,t){let i=l=>{let c=this.getOrCreateFilterWrapper(e)?.filterPromise;c?.then(d=>{l(Ri(d))})},o=e.getColDef(),s={...this.createFilterParams(e,o),filterChangedCallback:()=>i(l=>this.filterChangedCallbackFactory(l,e)())},r=this.userComponentFactory.mergeParamsWithApplicationProvidedParams(o,Ns,s),n=Su(this.frameworkOverrides,o,()=>this.getDefaultFloatingFilter(e));n==null&&(n="agReadOnlyFloatingFilter");let a={column:e,filterParams:r,currentParentModel:()=>this.getCurrentFloatingFilterParentModel(e),parentFilterInstance:i,showParentFilter:t,suppressFilterButton:!1};return this.userComponentFactory.getFloatingFilterCompDetails(o,a,n)}getCurrentFloatingFilterParentModel(e){return this.getModelFromFilterWrapper(this.cachedFilter(e)??{column:e})}destroyFilter(e,t="api"){let i=e.getColId(),o=this.allColumnFilters.get(i);this.disposeColumnListener(i),delete this.initialFilterModel[i],o&&(this.disposeFilterWrapper(o,t),this.filterManager?.onFilterChanged({columns:[e],source:"api"}))}disposeColumnListener(e){let t=this.allColumnListeners.get(e);t&&(this.allColumnListeners.delete(e),t())}disposeFilterWrapper(e,t){e.filterPromise.then(i=>{this.destroyBean(i),e.column.setFilterActive(!1,"filterDestroyed"),this.allColumnFilters.delete(e.column.getColId()),this.eventService.dispatchEvent({type:"filterDestroyed",source:t,column:e.column})})}filterModifiedCallbackFactory(e,t){return()=>{this.eventService.dispatchEvent({type:"filterModified",column:t,filterInstance:e})}}filterChangedCallbackFactory(e,t){return i=>{let o=i?.source??"columnFilter",s={filter:e,additionalEventAttributes:i,columns:[t],source:o};this.callOnFilterChangedOutsideRenderCycle(s)}}checkDestroyFilter(e){let t=this.allColumnFilters.get(e);if(!t)return;let i=t.column,{compDetails:o}=i.isFilterAllowed()?this.createFilterInstance(i):{compDetails:null};if(this.areFilterCompsDifferent(t.compDetails,o)){this.destroyFilter(i,"paramsUpdated");return}let s=i.getColDef().filterParams;if(!t.filterPromise){this.destroyFilter(i,"paramsUpdated");return}t.filterPromise.then(r=>{(r?.refresh?r.refresh({...this.createFilterParams(i,i.getColDef()),filterModifiedCallback:this.filterModifiedCallbackFactory(r,i),filterChangedCallback:this.filterChangedCallbackFactory(r,i),doesRowPassOtherFilter:a=>this.filterManager?this.filterManager.doesRowPassOtherFilters(r,a):!0,...s}):!0)===!1&&this.destroyFilter(i,"paramsUpdated")})}setColumnFilterWrapper(e,t){let i=e.getColId();this.allColumnFilters.set(i,t),this.allColumnListeners.set(i,this.addManagedListeners(e,{colDefChanged:()=>this.checkDestroyFilter(i)})[0])}areFilterCompsDifferent(e,t){if(!t||!e)return!0;let{componentClass:i}=e,{componentClass:o}=t;return!(i===o||i?.render&&o?.render&&i.render===o.render)}hasFloatingFilters(){return this.columnModel.getCols().some(t=>t.getColDef().floatingFilter)}getFilterInstance(e,t){t&&this.getFilterInstanceImpl(e).then(i=>{let o=Ri(i);t(o)})}getColumnFilterInstance(e){return new Promise(t=>{this.getFilterInstanceImpl(e).then(i=>{t(Ri(i))})})}getFilterInstanceImpl(e){let t=this.columnModel.getColDefCol(e);return t?this.getOrCreateFilterWrapper(t)?.filterPromise??ae.resolve(null):ae.resolve(void 0)}processFilterModelUpdateQueue(){this.filterModelUpdateQueue.forEach(({model:e,source:t})=>this.setFilterModel(e,t)),this.filterModelUpdateQueue=[],this.columnFilterModelUpdateQueue.forEach(({key:e,model:t,resolve:i})=>{this.setColumnFilterModel(e,t).then(()=>i())}),this.columnFilterModelUpdateQueue=[]}getColumnFilterModel(e){let t=this.getFilterWrapper(e);return t?this.getModelFromFilterWrapper(t):null}setColumnFilterModel(e,t){if(this.dataTypeService?.isPendingInference()){let r=()=>{},n=new Promise(a=>{r=a});return this.columnFilterModelUpdateQueue.push({key:e,model:t,resolve:r}),n}let i=this.columnModel.getColDefCol(e),o=i?this.getOrCreateFilterWrapper(i):null;return o?(r=>new Promise(n=>{r.then(a=>n(a))}))(this.setModelOnFilterWrapper(o.filterPromise,t)):Promise.resolve()}getFilterWrapper(e){let t=this.columnModel.getColDefCol(e);return t?this.cachedFilter(t)??null:null}setColDefPropertiesForDataType(e,t,i){let o=Bo(this.gos),s=this.localeService.getLocaleTextFunc(),r=n=>{let{filterParams:a}=e;e.filterParams=typeof a=="object"?{...a,...n}:n};switch(t.baseDataType){case"number":{o&&r({comparator:(n,a)=>{let l=n==null?0:parseInt(n),c=a==null?0:parseInt(a);return l===c?0:l>c?1:-1}});break}case"boolean":{r(o?{valueFormatter:n=>M(n.value)?s(String(n.value),n.value?"True":"False"):s("blanks","(Blanks)")}:{maxNumConditions:1,debounceMs:0,filterOptions:["empty",{displayKey:"true",displayName:"True",predicate:(n,a)=>a,numberOfInputs:0},{displayKey:"false",displayName:"False",predicate:(n,a)=>a===!1,numberOfInputs:0}]});break}case"date":{o&&r({valueFormatter:n=>{let a=i(n);return M(a)?a:s("blanks","(Blanks)")},treeList:!0,treeListFormatter:(n,a)=>{if(a===1&&n!=null){let l=$r[Number(n)-1];return s(l,Yr[l])}return n??s("blanks","(Blanks)")}});break}case"dateString":{let n=t.dateParser;r(o?{valueFormatter:a=>{let l=i(a);return M(l)?l:s("blanks","(Blanks)")},treeList:!0,treeListPathGetter:a=>{let l=n(a??void 0);return l?[String(l.getFullYear()),String(l.getMonth()+1),String(l.getDate())]:null},treeListFormatter:(a,l)=>{if(l===1&&a!=null){let c=$r[Number(a)-1];return s(c,Yr[c])}return a??s("blanks","(Blanks)")}}:{comparator:(a,l)=>{let c=n(l);return l==null||c<a?-1:c>a?1:0}});break}case"object":{o?r({valueFormatter:n=>{let a=i(n);return M(a)?a:s("blanks","(Blanks)")}}):e.filterValueGetter=n=>i({column:n.column,node:n.node,value:this.valueService.getValue(n.column,n.node)});break}}}destroy(){super.destroy(),this.allColumnFilters.forEach(e=>this.disposeFilterWrapper(e,"gridDestroyed")),this.allColumnListeners.clear()}};function Fu(e){return!!e.filterManager?.isAnyFilterPresent()}function xu(e,t="api"){e.filterManager?.onFilterChanged({source:t})}var Du=class extends ce{constructor(){super(`
|
|
73
|
+
</div>`,e?.agComponents||[],e?.className),this.isPickerDisplayed=!1,this.skipClick=!1,this.pickerGap=4,this.hideCurrentPicker=null,this.eLabel=z,this.eWrapper=z,this.eDisplayField=z,this.eIcon=z,this.ariaRole=e?.ariaRole,this.onPickerFocusIn=this.onPickerFocusIn.bind(this),this.onPickerFocusOut=this.onPickerFocusOut.bind(this),!e)return;let{pickerGap:t,maxPickerHeight:i,variableWidth:o,minPickerWidth:s,maxPickerWidth:r}=e;t!=null&&(this.pickerGap=t),this.variableWidth=!!o,i!=null&&this.setPickerMaxHeight(i),s!=null&&this.setPickerMinWidth(s),r!=null&&this.setPickerMaxWidth(r)}wireBeans(e){this.popupService=e.popupService}postConstruct(){super.postConstruct(),this.setupAria();let e=`ag-${this.getCompId()}-display`;this.eDisplayField.setAttribute("id",e);let t=this.getAriaElement();this.addManagedElementListeners(t,{keydown:this.onKeyDown.bind(this)}),this.addManagedElementListeners(this.eLabel,{mousedown:this.onLabelOrWrapperMouseDown.bind(this)}),this.addManagedElementListeners(this.eWrapper,{mousedown:this.onLabelOrWrapperMouseDown.bind(this)});let{pickerIcon:i,inputWidth:o}=this.config;if(i){let s=ze(i,this.gos);s&&this.eIcon.appendChild(s)}o!=null&&this.setInputWidth(o)}setupAria(){let e=this.getAriaElement();e.setAttribute("tabindex",this.gos.get("tabIndex").toString()),ao(e,!1),this.ariaRole&&Xe(e,this.ariaRole)}onLabelOrWrapperMouseDown(e){if(e){let t=this.getFocusableElement();if(t!==this.eWrapper&&e?.target===t)return;e.preventDefault(),this.getFocusableElement().focus()}if(this.skipClick){this.skipClick=!1;return}this.isDisabled()||(this.isPickerDisplayed?this.hidePicker():this.showPicker())}onKeyDown(e){switch(e.key){case y.UP:case y.DOWN:case y.ENTER:case y.SPACE:e.preventDefault(),this.onLabelOrWrapperMouseDown();break;case y.ESCAPE:this.isPickerDisplayed&&(e.preventDefault(),e.stopPropagation(),this.hideCurrentPicker&&this.hideCurrentPicker());break}}showPicker(){this.isPickerDisplayed=!0,this.pickerComponent||(this.pickerComponent=this.createPickerComponent());let e=this.pickerComponent.getGui();e.addEventListener("focusin",this.onPickerFocusIn),e.addEventListener("focusout",this.onPickerFocusOut),this.hideCurrentPicker=this.renderAndPositionPicker(),this.toggleExpandedStyles(!0)}renderAndPositionPicker(){let e=this.pickerComponent.getGui();this.gos.get("suppressScrollWhenPopupsAreOpen")||([this.destroyMouseWheelFunc]=this.addManagedEventListeners({bodyScroll:()=>{this.hidePicker()}}));let t=this.localeService.getLocaleTextFunc(),{pickerAriaLabelKey:i,pickerAriaLabelValue:o,modalPicker:s=!0}=this.config,r={modal:s,eChild:e,closeOnEsc:!0,closedCallback:()=>{let h=hn(this.gos);this.beforeHidePicker(),h&&this.isAlive()&&this.getFocusableElement().focus()},ariaLabel:t(i,o),anchorToElement:this.eWrapper};e.style.position="absolute";let n=this.popupService.addPopup(r),{maxPickerHeight:a,minPickerWidth:l,maxPickerWidth:c,variableWidth:d}=this;d?(l&&(e.style.minWidth=l),e.style.width=As(co(this.eWrapper)),c&&(e.style.maxWidth=c)):go(e,c??co(this.eWrapper));let u=a??`${Ts(this.popupService.getPopupParent())}px`;return e.style.setProperty("max-height",u),this.alignPickerToComponent(),n.hideFunc}alignPickerToComponent(){if(!this.pickerComponent)return;let{pickerType:e}=this.config,{pickerGap:t}=this,i=this.gos.get("enableRtl")?"right":"left";this.popupService.positionPopupByComponent({type:e,eventSource:this.eWrapper,ePopup:this.pickerComponent.getGui(),position:"under",alignSide:i,keepWithinBounds:!0,nudgeY:t})}beforeHidePicker(){this.destroyMouseWheelFunc&&(this.destroyMouseWheelFunc(),this.destroyMouseWheelFunc=void 0),this.toggleExpandedStyles(!1);let e=this.pickerComponent.getGui();e.removeEventListener("focusin",this.onPickerFocusIn),e.removeEventListener("focusout",this.onPickerFocusOut),this.isPickerDisplayed=!1,this.pickerComponent=void 0,this.hideCurrentPicker=null}toggleExpandedStyles(e){if(!this.isAlive())return;let t=this.getAriaElement();ao(t,e),this.eWrapper.classList.toggle("ag-picker-expanded",e),this.eWrapper.classList.toggle("ag-picker-collapsed",!e)}onPickerFocusIn(){this.togglePickerHasFocus(!0)}onPickerFocusOut(e){this.pickerComponent?.getGui().contains(e.relatedTarget)||this.togglePickerHasFocus(!1)}togglePickerHasFocus(e){this.pickerComponent&&this.eWrapper.classList.toggle("ag-picker-has-focus",e)}hidePicker(){this.hideCurrentPicker&&this.hideCurrentPicker()}setInputWidth(e){return go(this.eWrapper,e),this}getFocusableElement(){return this.eWrapper}setPickerGap(e){return this.pickerGap=e,this}setPickerMinWidth(e){return typeof e=="number"&&(e=`${e}px`),this.minPickerWidth=e??void 0,this}setPickerMaxWidth(e){return typeof e=="number"&&(e=`${e}px`),this.maxPickerWidth=e??void 0,this}setPickerMaxHeight(e){return typeof e=="number"&&(e=`${e}px`),this.maxPickerHeight=e??void 0,this}destroy(){this.hidePicker(),super.destroy()}},Bs=class extends Kd{constructor(e){super({pickerAriaLabelKey:"ariaLabelSelectField",pickerAriaLabelValue:"Select Field",pickerType:"ag-list",className:"ag-select",pickerIcon:"smallDown",ariaRole:"combobox",...e})}postConstruct(){super.postConstruct(),this.createListComponent(),this.eWrapper.tabIndex=this.gos.get("tabIndex");let{options:e,value:t,placeholder:i}=this.config;e!=null&&this.addOptions(e),t!=null&&this.setValue(t,!0),i&&t==null&&(this.eDisplayField.textContent=i),this.addManagedElementListeners(this.eWrapper,{focusout:this.onWrapperFocusOut.bind(this)})}onWrapperFocusOut(e){this.eWrapper.contains(e.relatedTarget)||this.hidePicker()}createListComponent(){this.listComponent=this.createBean(new jd("select",!0)),this.listComponent.setParentComponent(this);let e=this.listComponent.getAriaElement(),t=`ag-select-list-${this.listComponent.getCompId()}`;e.setAttribute("id",t),Pc(this.getAriaElement(),e),this.listComponent.addManagedListeners(this.listComponent,{selectedItem:()=>{this.hidePicker(),this.dispatchLocalEvent({type:"selectedItem"})}}),this.listComponent.addManagedListeners(this.listComponent,{fieldValueChanged:()=>{this.listComponent&&(this.setValue(this.listComponent.getValue(),!1,!0),this.hidePicker())}})}createPickerComponent(){return this.listComponent}onKeyDown(e){let{key:t}=e;switch(t===y.TAB&&this.hidePicker(),t){case y.ENTER:case y.UP:case y.DOWN:case y.PAGE_UP:case y.PAGE_DOWN:case y.PAGE_HOME:case y.PAGE_END:e.preventDefault(),this.isPickerDisplayed?this.listComponent?.handleKeyDown(e):super.onKeyDown(e);break;case y.ESCAPE:super.onKeyDown(e);break;case y.SPACE:this.isPickerDisplayed?e.preventDefault():super.onKeyDown(e);break}}showPicker(){this.listComponent&&(super.showPicker(),this.listComponent.refreshHighlighted())}addOptions(e){return e.forEach(t=>this.addOption(t)),this}addOption(e){return this.listComponent.addOption(e),this}clearOptions(){return this.listComponent?.clearOptions(),this}setValue(e,t,i){if(this.value===e||!this.listComponent)return this;if(i||this.listComponent.setValue(e,!0),this.listComponent.getValue()===this.getValue())return this;let s=this.listComponent.getDisplayValue();return s==null&&this.config.placeholder&&(s=this.config.placeholder),this.eDisplayField.textContent=s,this.setTooltip({newTooltipText:s??null,shouldDisplayTooltip:()=>this.eDisplayField.scrollWidth>this.eDisplayField.clientWidth}),super.setValue(e,t)}destroy(){this.listComponent&&(this.listComponent=this.destroyBean(this.listComponent)),super.destroy()}},Yd={selector:"AG-SELECT",component:Bs},na=class{constructor(){this.customFilterOptions={}}init(e,t){this.filterOptions=e.filterOptions||t,this.mapCustomOptions(),this.selectDefaultItem(e)}getFilterOptions(){return this.filterOptions}mapCustomOptions(){this.filterOptions&&this.filterOptions.forEach(e=>{if(typeof e=="string")return;let t=[["displayKey"],["displayName"],["predicate","test"]],i=o=>o.some(s=>e[s]!=null)?!0:(S(`ignoring FilterOptionDef as it doesn't contain one of '${o}'`),!1);if(!t.every(i)){this.filterOptions=this.filterOptions.filter(o=>o===e)||[];return}this.customFilterOptions[e.displayKey]=e})}selectDefaultItem(e){if(e.defaultOption)this.defaultOption=e.defaultOption;else if(this.filterOptions.length>=1){let t=this.filterOptions[0];typeof t=="string"?this.defaultOption=t:t.displayKey?this.defaultOption=t.displayKey:S("invalid FilterOptionDef supplied as it doesn't contain a 'displayKey'")}else S("no filter options for filter")}getDefaultOption(){return this.defaultOption}getCustomOption(e){return this.customFilterOptions[e]}},aa=class extends Ud{constructor(){super(...arguments),this.eTypes=[],this.eJoinOperatorPanels=[],this.eJoinOperatorsAnd=[],this.eJoinOperatorsOr=[],this.eConditionBodies=[],this.listener=()=>this.onUiChanged(),this.lastUiCompletePosition=null,this.joinOperatorId=0}getNumberOfInputs(e){let t=this.optionsFactory.getCustomOption(e);if(t){let{numberOfInputs:o}=t;return o??1}return e&&["empty","notBlank","blank"].indexOf(e)>=0?0:e==="inRange"?2:1}onFloatingFilterChanged(e,t){this.setTypeFromFloatingFilter(e),this.setValueFromFloatingFilter(t),this.onUiChanged(!0)}setTypeFromFloatingFilter(e){this.eTypes.forEach((t,i)=>{i===0?t.setValue(e,!0):t.setValue(this.optionsFactory.getDefaultOption(),!0)})}getModelFromUi(){let e=this.getUiCompleteConditions();return e.length===0?null:this.maxNumConditions>1&&e.length>1?{filterType:this.getFilterType(),operator:this.getJoinOperator(),conditions:e}:e[0]}getConditionTypes(){return this.eTypes.map(e=>e.getValue())}getConditionType(e){return this.eTypes[e].getValue()}getJoinOperator(){return this.eJoinOperatorsOr.length===0?this.defaultJoinOperator:this.eJoinOperatorsOr[0].getValue()===!0?"OR":"AND"}areModelsEqual(e,t){if(!e&&!t)return!0;if(!e&&t||e&&!t)return!1;let i=!e.operator,o=!t.operator;if(!i&&o||i&&!o)return!1;let r;if(i){let n=e,a=t;r=this.areSimpleModelsEqual(n,a)}else{let n=e,a=t;r=n.operator===a.operator&&Pt(n.conditions,a.conditions,(l,c)=>this.areSimpleModelsEqual(l,c))}return r}shouldRefresh(e){let t=this.getModel(),i=t?t.conditions??[t]:null,o=e.filterOptions?.map(r=>typeof r=="string"?r:r.displayKey)??this.getDefaultFilterOptions();return!(!(!i||i.every(r=>o.find(n=>n===r.type)!==void 0))||typeof e.maxNumConditions=="number"&&i&&i.length>e.maxNumConditions)}refresh(e){return!this.shouldRefresh(e)||!super.refresh(e)?!1:(this.setParams(e),this.removeConditionsAndOperators(0),this.createOption(),this.setModel(this.getModel()),!0)}setModelIntoUi(e){if(e.operator){let i=e,o=i.conditions;o==null&&(o=[],S("Filter model is missing 'conditions'"));let s=this.validateAndUpdateConditions(o),r=this.getNumConditions();if(s<r)this.removeConditionsAndOperators(s);else if(s>r)for(let a=r;a<s;a++)this.createJoinOperatorPanel(),this.createOption();let n=i.operator==="OR";this.eJoinOperatorsAnd.forEach(a=>a.setValue(!n,!0)),this.eJoinOperatorsOr.forEach(a=>a.setValue(n,!0)),o.forEach((a,l)=>{this.eTypes[l].setValue(a.type,!0),this.setConditionIntoUi(a,l)})}else{let i=e;this.getNumConditions()>1&&this.removeConditionsAndOperators(1),this.eTypes[0].setValue(i.type,!0),this.setConditionIntoUi(i,0)}return this.lastUiCompletePosition=this.getNumConditions()-1,this.createMissingConditionsAndOperators(),this.onUiChanged(),ae.resolve()}validateAndUpdateConditions(e){let t=e.length;return t>this.maxNumConditions&&(e.splice(this.maxNumConditions),S('Filter Model contains more conditions than "filterParams.maxNumConditions". Additional conditions have been ignored.'),t=this.maxNumConditions),t}doesFilterPass(e){let t=this.getModel();if(t==null)return!0;let{operator:i}=t,o=[];if(i){let r=t;o.push(...r.conditions??[])}else o.push(t);return o[i&&i==="OR"?"some":"every"](r=>this.individualConditionPasses(e,r))}setParams(e){super.setParams(e),this.setNumConditions(e),this.defaultJoinOperator=this.getDefaultJoinOperator(e.defaultJoinOperator),this.filterPlaceholder=e.filterPlaceholder,this.optionsFactory=new na,this.optionsFactory.init(e,this.getDefaultFilterOptions()),this.createFilterListOptions(),this.createOption(),this.createMissingConditionsAndOperators(),this.isReadOnly()&&this.eFilterBody.setAttribute("tabindex","-1")}setNumConditions(e){this.maxNumConditions=e.maxNumConditions??2,this.maxNumConditions<1&&(S('"filterParams.maxNumConditions" must be greater than or equal to zero.'),this.maxNumConditions=1),this.numAlwaysVisibleConditions=e.numAlwaysVisibleConditions??1,this.numAlwaysVisibleConditions<1&&(S('"filterParams.numAlwaysVisibleConditions" must be greater than or equal to zero.'),this.numAlwaysVisibleConditions=1),this.numAlwaysVisibleConditions>this.maxNumConditions&&(S('"filterParams.numAlwaysVisibleConditions" cannot be greater than "filterParams.maxNumConditions".'),this.numAlwaysVisibleConditions=this.maxNumConditions)}createOption(){let e=this.createManagedBean(new Bs);this.eTypes.push(e),e.addCssClass("ag-filter-select"),this.eFilterBody.appendChild(e.getGui());let t=this.createValueElement();this.eConditionBodies.push(t),this.eFilterBody.appendChild(t),this.putOptionsIntoDropdown(e),this.resetType(e);let i=this.getNumConditions()-1;this.forEachPositionInput(i,o=>this.resetInput(o)),this.addChangedListeners(e,i)}createJoinOperatorPanel(){let e=document.createElement("div");this.eJoinOperatorPanels.push(e),e.classList.add("ag-filter-condition");let t=this.createJoinOperator(this.eJoinOperatorsAnd,e,"and"),i=this.createJoinOperator(this.eJoinOperatorsOr,e,"or");this.eFilterBody.appendChild(e);let o=this.eJoinOperatorPanels.length-1,s=this.joinOperatorId++;this.resetJoinOperatorAnd(t,o,s),this.resetJoinOperatorOr(i,o,s),this.isReadOnly()||(t.onValueChange(this.listener),i.onValueChange(this.listener))}createJoinOperator(e,t,i){let o=this.createManagedBean(new _d);return e.push(o),o.addCssClass("ag-filter-condition-operator"),o.addCssClass(`ag-filter-condition-operator-${i}`),t.appendChild(o.getGui()),o}getDefaultJoinOperator(e){return e==="AND"||e==="OR"?e:"AND"}createFilterListOptions(){let e=this.optionsFactory.getFilterOptions();this.filterListOptions=e.map(t=>typeof t=="string"?this.createBoilerplateListOption(t):this.createCustomListOption(t))}putOptionsIntoDropdown(e){this.filterListOptions.forEach(t=>{e.addOption(t)}),e.setDisabled(this.filterListOptions.length<=1)}createBoilerplateListOption(e){return{value:e,text:this.translate(e)}}createCustomListOption(e){let{displayKey:t}=e,i=this.optionsFactory.getCustomOption(e.displayKey);return{value:t,text:i?this.localeService.getLocaleTextFunc()(i.displayKey,i.displayName):this.translate(t)}}createBodyTemplate(){return""}getAgComponents(){return[]}getCssIdentifier(){return"simple-filter"}updateUiVisibility(){let e=this.getJoinOperator();this.updateNumConditions(),this.updateConditionStatusesAndValues(this.lastUiCompletePosition,e)}updateNumConditions(){let e=-1,t=!0;for(let i=0;i<this.getNumConditions();i++)this.isConditionUiComplete(i)?e=i:t=!1;if(this.shouldAddNewConditionAtEnd(t))this.createJoinOperatorPanel(),this.createOption();else{let i=this.lastUiCompletePosition??this.getNumConditions()-2;if(e<i){this.removeConditionsAndOperators(i+1);let o=e+1,s=i-o;s>0&&this.removeConditionsAndOperators(o,s),this.createMissingConditionsAndOperators()}}this.lastUiCompletePosition=e}updateConditionStatusesAndValues(e,t){this.eTypes.forEach((o,s)=>{let r=this.isConditionDisabled(s,e);o.setDisabled(r||this.filterListOptions.length<=1),s===1&&(Ii(this.eJoinOperatorPanels[0],r),this.eJoinOperatorsAnd[0].setDisabled(r),this.eJoinOperatorsOr[0].setDisabled(r))}),this.eConditionBodies.forEach((o,s)=>{pe(o,this.isConditionBodyVisible(s))});let i=(t??this.getJoinOperator())==="OR";this.eJoinOperatorsAnd.forEach(o=>{o.setValue(!i,!0)}),this.eJoinOperatorsOr.forEach(o=>{o.setValue(i,!0)}),this.forEachInput((o,s,r,n)=>{this.setElementDisplayed(o,s<n),this.setElementDisabled(o,this.isConditionDisabled(r,e))}),this.resetPlaceholder()}shouldAddNewConditionAtEnd(e){return e&&this.getNumConditions()<this.maxNumConditions&&!this.isReadOnly()}removeConditionsAndOperators(e,t){if(e>=this.getNumConditions())return;this.removeComponents(this.eTypes,e,t),this.removeElements(this.eConditionBodies,e,t),this.removeValueElements(e,t);let i=Math.max(e-1,0);this.removeElements(this.eJoinOperatorPanels,i,t),this.removeComponents(this.eJoinOperatorsAnd,i,t),this.removeComponents(this.eJoinOperatorsOr,i,t)}removeElements(e,t,i){this.removeItems(e,t,i).forEach(s=>Mt(s))}removeComponents(e,t,i){this.removeItems(e,t,i).forEach(s=>{Mt(s.getGui()),this.destroyBean(s)})}removeItems(e,t,i){return i==null?e.splice(t):e.splice(t,i)}afterGuiAttached(e){if(super.afterGuiAttached(e),this.resetPlaceholder(),!e?.suppressFocus)if(this.isReadOnly())this.eFilterBody.focus();else{let t=this.getInputs(0)[0];if(!t)return;t instanceof Ot&&t.getInputElement().focus()}}afterGuiDetached(){super.afterGuiDetached();let e=this.getModel();this.resetUiToActiveModel(e);let t=-1,i=-1,o=!1,s=this.getJoinOperator();for(let n=this.getNumConditions()-1;n>=0;n--)if(this.isConditionUiComplete(n))t===-1&&(t=n,i=n);else{let a=n>=this.numAlwaysVisibleConditions&&!this.isConditionUiComplete(n-1),l=n<t;(a||l)&&(this.removeConditionsAndOperators(n,1),o=!0,l&&i--)}let r=!1;this.getNumConditions()<this.numAlwaysVisibleConditions&&(this.createMissingConditionsAndOperators(),r=!0),this.shouldAddNewConditionAtEnd(i===this.getNumConditions()-1)&&(this.createJoinOperatorPanel(),this.createOption(),r=!0),r&&this.updateConditionStatusesAndValues(i,s),o&&this.updateJoinOperatorsDisabled(),this.lastUiCompletePosition=i}getPlaceholderText(e,t){let i=this.translate(e);if(ys(this.filterPlaceholder)){let o=this.filterPlaceholder,s=this.eTypes[t].getValue(),r=this.translate(s);i=o({filterOptionKey:s,filterOption:r,placeholder:i})}else typeof this.filterPlaceholder=="string"&&(i=this.filterPlaceholder);return i}resetPlaceholder(){let e=this.localeService.getLocaleTextFunc();this.forEachInput((t,i,o,s)=>{if(!(t instanceof Ot))return;let r=i===0&&s>1?"inRangeStart":i===0?"filterOoo":"inRangeEnd",n=i===0&&s>1?e("ariaFilterFromValue","Filter from value"):i===0?e("ariaFilterValue","Filter Value"):e("ariaFilterToValue","Filter to Value");t.setInputPlaceholder(this.getPlaceholderText(r,o)),t.setInputAriaLabel(n)})}setElementValue(e,t,i){e instanceof Ot&&e.setValue(t!=null?String(t):null,!0)}setElementDisplayed(e,t){e instanceof ce&&pe(e.getGui(),t)}setElementDisabled(e,t){e instanceof ce&&Ii(e.getGui(),t)}attachElementOnChange(e,t){e instanceof Ot&&e.onValueChange(t)}forEachInput(e){this.getConditionTypes().forEach((t,i)=>{this.forEachPositionTypeInput(i,t,e)})}forEachPositionInput(e,t){let i=this.getConditionType(e);this.forEachPositionTypeInput(e,i,t)}forEachPositionTypeInput(e,t,i){let o=this.getNumberOfInputs(t),s=this.getInputs(e);for(let r=0;r<s.length;r++){let n=s[r];n!=null&&i(n,r,e,o)}}isConditionDisabled(e,t){return this.isReadOnly()?!0:e===0?!1:e>t+1}isConditionBodyVisible(e){let t=this.getConditionType(e);return this.getNumberOfInputs(t)>0}isConditionUiComplete(e){return!(e>=this.getNumConditions()||this.getConditionType(e)==="empty"||this.getValues(e).some(i=>i==null))}getNumConditions(){return this.eTypes.length}getUiCompleteConditions(){let e=[];for(let t=0;t<this.getNumConditions();t++)this.isConditionUiComplete(t)&&e.push(this.createCondition(t));return e}createMissingConditionsAndOperators(){if(!this.isReadOnly())for(let e=this.getNumConditions();e<this.numAlwaysVisibleConditions;e++)this.createJoinOperatorPanel(),this.createOption()}resetUiToDefaults(e){return this.removeConditionsAndOperators(this.isReadOnly()?1:this.numAlwaysVisibleConditions),this.eTypes.forEach(t=>this.resetType(t)),this.eJoinOperatorsAnd.forEach((t,i)=>this.resetJoinOperatorAnd(t,i,this.joinOperatorId+i)),this.eJoinOperatorsOr.forEach((t,i)=>this.resetJoinOperatorOr(t,i,this.joinOperatorId+i)),this.joinOperatorId++,this.forEachInput(t=>this.resetInput(t)),this.resetPlaceholder(),this.createMissingConditionsAndOperators(),this.lastUiCompletePosition=null,e||this.onUiChanged(),ae.resolve()}resetType(e){let i=this.localeService.getLocaleTextFunc()("ariaFilteringOperator","Filtering operator");e.setValue(this.optionsFactory.getDefaultOption(),!0).setAriaLabel(i).setDisabled(this.isReadOnly()||this.filterListOptions.length<=1)}resetJoinOperatorAnd(e,t,i){this.resetJoinOperator(e,t,this.isDefaultOperator("AND"),this.translate("andCondition"),i)}resetJoinOperatorOr(e,t,i){this.resetJoinOperator(e,t,this.isDefaultOperator("OR"),this.translate("orCondition"),i)}resetJoinOperator(e,t,i,o,s){this.updateJoinOperatorDisabled(e.setValue(i,!0).setName(`ag-simple-filter-and-or-${this.getCompId()}-${s}`).setLabel(o),t)}updateJoinOperatorsDisabled(){this.eJoinOperatorsAnd.forEach((e,t)=>this.updateJoinOperatorDisabled(e,t)),this.eJoinOperatorsOr.forEach((e,t)=>this.updateJoinOperatorDisabled(e,t))}updateJoinOperatorDisabled(e,t){e.setDisabled(this.isReadOnly()||t>0)}resetInput(e){this.setElementValue(e,null),this.setElementDisabled(e,this.isReadOnly())}setConditionIntoUi(e,t){let i=this.mapValuesFromModel(e);this.forEachInput((o,s,r)=>{r===t&&this.setElementValue(o,i[s]!=null?i[s]:null)})}setValueFromFloatingFilter(e){this.forEachInput((t,i,o)=>{this.setElementValue(t,i===0&&o===0?e:null,!0)})}isDefaultOperator(e){return e===this.defaultJoinOperator}addChangedListeners(e,t){this.isReadOnly()||(e.onValueChange(this.listener),this.forEachPositionInput(t,i=>{this.attachElementOnChange(i,this.listener)}))}individualConditionPasses(e,t){let i=this.getCellValue(e.node),o=this.mapValuesFromModel(t),s=this.optionsFactory.getCustomOption(t.type),r=this.evaluateCustomFilter(s,o,i);return r??(i==null?this.evaluateNullValue(t.type):this.evaluateNonNullValue(o,i,t,e))}evaluateCustomFilter(e,t,i){if(e==null)return;let{predicate:o}=e;if(o!=null&&!t.some(s=>s==null))return o(t,i)}isBlank(e){return e==null||typeof e=="string"&&e.trim().length===0}hasInvalidInputs(){return!1}},la=class extends aa{setParams(e){super.setParams(e),this.scalarFilterParams=e}evaluateNullValue(e){switch(e){case"equals":if(this.scalarFilterParams.includeBlanksInEquals)return!0;break;case"notEqual":if(this.scalarFilterParams.includeBlanksInNotEqual)return!0;break;case"greaterThan":case"greaterThanOrEqual":if(this.scalarFilterParams.includeBlanksInGreaterThan)return!0;break;case"lessThan":case"lessThanOrEqual":if(this.scalarFilterParams.includeBlanksInLessThan)return!0;break;case"inRange":if(this.scalarFilterParams.includeBlanksInRange)return!0;break;case"blank":return!0;case"notBlank":return!1}return!1}evaluateNonNullValue(e,t,i){let o=this.comparator(),s=e[0]!=null?o(e[0],t):0;switch(i.type){case"equals":return s===0;case"notEqual":return s!==0;case"greaterThan":return s>0;case"greaterThanOrEqual":return s>=0;case"lessThan":return s<0;case"lessThanOrEqual":return s<=0;case"inRange":{let r=o(e[1],t);return this.scalarFilterParams.inRangeInclusive?s>=0&&r<=0:s>0&&r<0}case"blank":return this.isBlank(t);case"notBlank":return!this.isBlank(t);default:return S('Unexpected type of filter "'+i.type+'", it looks like the filter was configured with incorrect Filter Options'),!0}}},$d=65,Qd=67,qd=86,Jd=68,Xd=90,Zd=89;function ca(e){return e.altKey||e.ctrlKey||e.metaKey?!1:e.key?.length===1}function gs(e,t,i,o,s){let r=o?o.getColDef().suppressKeyboardEvent:void 0;if(!r)return!1;let n=e.addGridCommonParams({event:t,editing:s,column:o,node:i,data:i.data,colDef:o.getColDef()});return!!(r&&r(n))}function eu(e,t,i,o){let s=o.getDefinition(),r=s&&s.suppressHeaderKeyboardEvent;if(!M(r))return!1;let n=e.addGridCommonParams({colDef:s,column:o,headerRowIndex:i,event:t});return!!r(n)}function tu(e){let{keyCode:t}=e,i;switch(t){case $d:i=y.A;break;case Qd:i=y.C;break;case qd:i=y.V;break;case Jd:i=y.D;break;case Xd:i=y.Z;break;case Zd:i=y.Y;break;default:i=e.code}return i}function iu(e,t=!1){return e===y.DELETE?!0:!t&&e===y.BACKSPACE?Wn():!1}var Kt=class extends Ot{constructor(e,t="ag-text-field",i="text"){super(e,t,i)}postConstruct(){super.postConstruct(),this.config.allowedCharPattern&&this.preventDisallowedCharacters()}setValue(e,t){return this.eInput.value!==e&&(this.eInput.value=M(e)?e:""),super.setValue(e,t)}setStartValue(e){this.setValue(e,!0)}preventDisallowedCharacters(){let e=new RegExp(`[${this.config.allowedCharPattern}]`),t=i=>{ca(i)&&i.key&&!e.test(i.key)&&i.preventDefault()};this.addManagedListeners(this.eInput,{keydown:t,paste:i=>{let o=i.clipboardData?.getData("text");o&&o.split("").some(s=>!e.test(s))&&i.preventDefault()}})}},Ro={selector:"AG-INPUT-TEXT-FIELD",component:Kt},Vs=class extends Kt{constructor(e){super(e,"ag-number-field","number")}postConstruct(){super.postConstruct(),this.addManagedListeners(this.eInput,{blur:()=>{let s=parseFloat(this.eInput.value),r=isNaN(s)?"":this.normalizeValue(s.toString());this.value!==r&&this.setValue(r)},wheel:this.onWheel.bind(this)}),this.eInput.step="any";let{precision:e,min:t,max:i,step:o}=this.config;typeof e=="number"&&this.setPrecision(e),typeof t=="number"&&this.setMin(t),typeof i=="number"&&this.setMax(i),typeof o=="number"&&this.setStep(o)}onWheel(e){fe(this.gos)===this.eInput&&e.preventDefault()}normalizeValue(e){if(e==="")return"";this.precision!=null&&(e=this.adjustPrecision(e));let t=parseFloat(e);return this.min!=null&&t<this.min?e=this.min.toString():this.max!=null&&t>this.max&&(e=this.max.toString()),e}adjustPrecision(e,t){if(this.precision==null)return e;if(t){let o=parseFloat(e).toFixed(this.precision);return parseFloat(o).toString()}let i=String(e).split(".");if(i.length>1){if(i[1].length<=this.precision)return e;if(this.precision>0)return`${i[0]}.${i[1].slice(0,this.precision)}`}return i[0]}setMin(e){return this.min===e?this:(this.min=e,je(this.eInput,"min",e),this)}setMax(e){return this.max===e?this:(this.max=e,je(this.eInput,"max",e),this)}setPrecision(e){return this.precision=e,this}setStep(e){return this.step===e?this:(this.step=e,je(this.eInput,"step",e),this)}setValue(e,t){return this.setValueOrInputValue(i=>super.setValue(i,t),()=>this,e)}setStartValue(e){return this.setValueOrInputValue(t=>super.setValue(t,!0),t=>{this.eInput.value=t},e)}setValueOrInputValue(e,t,i){if(M(i)){let o=this.isScientificNotation(i);if(o&&this.eInput.validity.valid)return e(i);if(!o){i=this.adjustPrecision(i);let s=this.normalizeValue(i);o=i!=s}if(o)return t(i)}return e(i)}getValue(){if(!this.eInput.validity.valid)return;let e=this.eInput.value;return this.isScientificNotation(e)?this.adjustPrecision(e,!0):super.getValue()}isScientificNotation(e){return typeof e=="string"&&e.includes("e")}},ou={selector:"AG-INPUT-NUMBER-FIELD",component:Vs},da=["equals","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","inRange","blank","notBlank"],Ws=class{constructor(e,t,i){this.localeService=e,this.optionsFactory=t,this.valueFormatter=i}getModelAsString(e){if(!e)return null;let t=e.operator!=null,i=this.localeService.getLocaleTextFunc();if(t){let o=e,r=(o.conditions??[]).map(a=>this.getModelAsString(a)),n=o.operator==="AND"?"andCondition":"orCondition";return r.join(` ${i(n,ra[n])} `)}else{if(e.type==="blank"||e.type==="notBlank")return i(e.type,e.type);{let o=e,s=this.optionsFactory.getCustomOption(o.type),{displayKey:r,displayName:n,numberOfInputs:a}=s||{};return r&&n&&a===0?(i(r,n),n):this.conditionToString(o,s)}}}updateParams(e){this.optionsFactory=e.optionsFactory}formatValue(e){return this.valueFormatter?this.valueFormatter(e??null)??"":String(e)}},ua=class extends Ws{conditionToString(e,t){let{numberOfInputs:i}=t||{};return e.type=="inRange"||i===2?`${this.formatValue(e.filter)}-${this.formatValue(e.filterTo)}`:e.filter!=null?this.formatValue(e.filter):`${e.type}`}};function ps(e){let{allowedCharPattern:t}=e??{};return t??null}var su=class extends la{constructor(){super("numberFilter"),this.eValuesFrom=[],this.eValuesTo=[]}refresh(e){return this.numberFilterParams.allowedCharPattern!==e.allowedCharPattern?!1:super.refresh(e)}mapValuesFromModel(e){let{filter:t,filterTo:i,type:o}=e||{};return[this.processValue(t),this.processValue(i)].slice(0,this.getNumberOfInputs(o))}getDefaultDebounceMs(){return 500}comparator(){return(e,t)=>e===t?0:e<t?1:-1}setParams(e){this.numberFilterParams=e,super.setParams(e),this.filterModelFormatter=new ua(this.localeService,this.optionsFactory,this.numberFilterParams.numberFormatter)}getDefaultFilterOptions(){return da}setElementValue(e,t,i){let o=!i&&this.numberFilterParams.numberFormatter?this.numberFilterParams.numberFormatter(t??null):t;super.setElementValue(e,o)}createValueElement(){let e=ps(this.numberFilterParams),t=document.createElement("div");return t.classList.add("ag-filter-body"),Xe(t,"presentation"),this.createFromToElement(t,this.eValuesFrom,"from",e),this.createFromToElement(t,this.eValuesTo,"to",e),t}createFromToElement(e,t,i,o){let s=this.createManagedBean(o?new Kt({allowedCharPattern:o}):new Vs);s.addCssClass(`ag-filter-${i}`),s.addCssClass("ag-filter-filter"),t.push(s),e.appendChild(s.getGui())}removeValueElements(e,t){this.removeComponents(this.eValuesFrom,e,t),this.removeComponents(this.eValuesTo,e,t)}getValues(e){let t=[];return this.forEachPositionInput(e,(i,o,s,r)=>{o<r&&t.push(this.processValue(this.stringToFloat(i.getValue())))}),t}areSimpleModelsEqual(e,t){return e.filter===t.filter&&e.filterTo===t.filterTo&&e.type===t.type}getFilterType(){return"number"}processValue(e){return e==null||isNaN(e)?null:e}stringToFloat(e){if(typeof e=="number")return e;let t=dt(e);return t!=null&&t.trim()===""&&(t=null),this.numberFilterParams.numberParser?this.numberFilterParams.numberParser(t):t==null||t.trim()==="-"?null:parseFloat(t)}createCondition(e){let t=this.getConditionType(e),i={filterType:this.getFilterType(),type:t},o=this.getValues(e);return o.length>0&&(i.filter=o[0]),o.length>1&&(i.filterTo=o[1]),i}getInputs(e){return e>=this.eValuesFrom.length?[null,null]:[this.eValuesFrom[e],this.eValuesTo[e]]}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}hasInvalidInputs(){let e=!1;return this.forEachInput(t=>{if(!t.getInputElement().validity.valid){e=!0;return}}),e}},ha=["contains","notContains","equals","notEqual","startsWith","endsWith","blank","notBlank"],ga=class extends Ws{conditionToString(e,t){let{numberOfInputs:i}=t||{};return e.type=="inRange"||i===2?`${e.filter}-${e.filterTo}`:e.filter!=null?`${e.filter}`:`${e.type}`}};function pa(e){let t=e&&e.trim();return t===""?e:t}var ru=class extends aa{constructor(){super("textFilter"),this.defaultFormatter=e=>e,this.defaultLowercaseFormatter=e=>e==null?null:e.toString().toLowerCase(),this.defaultMatcher=({filterOption:e,value:t,filterText:i})=>{if(i==null)return!1;switch(e){case"contains":return t.indexOf(i)>=0;case"notContains":return t.indexOf(i)<0;case"equals":return t===i;case"notEqual":return t!=i;case"startsWith":return t.indexOf(i)===0;case"endsWith":{let o=t.lastIndexOf(i);return o>=0&&o===t.length-i.length}default:return!1}},this.eValuesFrom=[],this.eValuesTo=[]}getDefaultDebounceMs(){return 500}setParams(e){this.textFilterParams=e,super.setParams(e),this.matcher=this.getTextMatcher(),this.formatter=this.textFilterParams.textFormatter||(this.textFilterParams.caseSensitive?this.defaultFormatter:this.defaultLowercaseFormatter),this.filterModelFormatter=new ga(this.localeService,this.optionsFactory)}getTextMatcher(){let e=this.textFilterParams.textCustomComparator;return e?(S("textCustomComparator is deprecated, use textMatcher instead."),({filterOption:t,value:i,filterText:o})=>e(t,i,o)):this.textFilterParams.textMatcher||this.defaultMatcher}createCondition(e){let t=this.getConditionType(e),i={filterType:this.getFilterType(),type:t},o=this.getValuesWithSideEffects(e,!0);return o.length>0&&(i.filter=o[0]),o.length>1&&(i.filterTo=o[1]),i}getFilterType(){return"text"}areSimpleModelsEqual(e,t){return e.filter===t.filter&&e.filterTo===t.filterTo&&e.type===t.type}getInputs(e){return e>=this.eValuesFrom.length?[null,null]:[this.eValuesFrom[e],this.eValuesTo[e]]}getValues(e){return this.getValuesWithSideEffects(e,!1)}getValuesWithSideEffects(e,t){let i=[];return this.forEachPositionInput(e,(o,s,r,n)=>{if(s<n){let a=dt(o.getValue());t&&this.textFilterParams.trimInput&&(a=pa(a)??null,o.setValue(a,!0)),i.push(a)}}),i}getDefaultFilterOptions(){return ha}createValueElement(){let e=document.createElement("div");return e.classList.add("ag-filter-body"),Xe(e,"presentation"),this.createFromToElement(e,this.eValuesFrom,"from"),this.createFromToElement(e,this.eValuesTo,"to"),e}createFromToElement(e,t,i){let o=this.createManagedBean(new Kt);o.addCssClass(`ag-filter-${i}`),o.addCssClass("ag-filter-filter"),t.push(o),e.appendChild(o.getGui())}removeValueElements(e,t){this.removeComponents(this.eValuesFrom,e,t),this.removeComponents(this.eValuesTo,e,t)}mapValuesFromModel(e){let{filter:t,filterTo:i,type:o}=e||{};return[t||null,i||null].slice(0,this.getNumberOfInputs(o))}evaluateNullValue(e){return e?["notEqual","notContains","blank"].indexOf(e)>=0:!1}evaluateNonNullValue(e,t,i,o){let s=e.map(h=>this.formatter(h))||[],r=this.formatter(t),{api:n,colDef:a,column:l,context:c,textFormatter:d}=this.textFilterParams;if(i.type==="blank")return this.isBlank(t);if(i.type==="notBlank")return!this.isBlank(t);let u={api:n,colDef:a,column:l,context:c,node:o.node,data:o.data,filterOption:i.type,value:r,textFormatter:d};return s.some(h=>this.matcher({...u,filterText:h}))}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}};function fa(e){if(typeof e=="number")return e;if(typeof e=="string"){let t=parseInt(e);return isNaN(t)?void 0:t}}function it(e,t=Number.MAX_VALUE){return i=>{let o=fa(i);if(!(o==null||o<e||o>t))return o}}function Fi(e,t){return e.toString().padStart(t,"0")}function nu(e,t){let i=[];for(let o=e;o<=t;o++)i.push(o);return i}function au(e,t,i){return typeof e!="number"?"":e.toString().replace(".",i).replace(/(\d)(?=(\d{3})+(?!\d))/g,`$1${t}`)}function Ke(e,t=!0,i="-"){if(!e)return null;let o=[e.getFullYear(),e.getMonth()+1,e.getDate()].map(s=>Fi(s,2)).join(i);return t&&(o+=" "+[e.getHours(),e.getMinutes(),e.getSeconds()].map(s=>Fi(s,2)).join(":")),o}var qo=e=>{if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd"}return"th"};function xi(e,t="YYYY-MM-DD"){let i=Fi(e.getFullYear(),4),o=["January","February","March","April","May","June","July","August","September","October","November","December"],s=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],r={YYYY:()=>i.slice(i.length-4,i.length),YY:()=>i.slice(i.length-2,i.length),Y:()=>`${e.getFullYear()}`,MMMM:()=>o[e.getMonth()],MMM:()=>o[e.getMonth()].slice(0,3),MM:()=>Fi(e.getMonth()+1,2),Mo:()=>`${e.getMonth()+1}${qo(e.getMonth()+1)}`,M:()=>`${e.getMonth()+1}`,Do:()=>`${e.getDate()}${qo(e.getDate())}`,DD:()=>Fi(e.getDate(),2),D:()=>`${e.getDate()}`,dddd:()=>s[e.getDay()],ddd:()=>s[e.getDay()].slice(0,3),dd:()=>s[e.getDay()].slice(0,2),do:()=>`${e.getDay()}${qo(e.getDay())}`,d:()=>`${e.getDay()}`},n=new RegExp(Object.keys(r).join("|"),"g");return t.replace(n,a=>a in r?r[a]():a)}function Ge(e){if(!e)return null;let[t,i]=e.split(" ");if(!t)return null;let o=t.split("-").map(u=>parseInt(u,10));if(o.filter(u=>!isNaN(u)).length!==3)return null;let[s,r,n]=o,a=new Date(s,r-1,n);if(a.getFullYear()!==s||a.getMonth()!==r-1||a.getDate()!==n)return null;if(!i||i==="00:00:00")return a;let[l,c,d]=i.split(":").map(u=>parseInt(u,10));return l>=0&&l<24&&a.setHours(l),c>=0&&c<60&&a.setMinutes(c),d>=0&&d<60&&a.setSeconds(d),a}var ma=class{constructor(e,t,i,o,s){this.alive=!0,this.context=e,this.eParent=o,t.getDateCompDetails(i).newAgStackInstance().then(a=>{if(!this.alive){e.destroyBean(a);return}this.dateComp=a,a&&(o.appendChild(a.getGui()),a.afterGuiAttached&&a.afterGuiAttached(),this.tempValue&&a.setDate(this.tempValue),this.disabled!=null&&this.setDateCompDisabled(this.disabled),s?.(this))})}destroy(){this.alive=!1,this.dateComp=this.context.destroyBean(this.dateComp)}getDate(){return this.dateComp?this.dateComp.getDate():this.tempValue}setDate(e){this.dateComp?this.dateComp.setDate(e):this.tempValue=e}setDisabled(e){this.dateComp?this.setDateCompDisabled(e):this.disabled=e}setDisplayed(e){pe(this.eParent,e)}setInputPlaceholder(e){this.dateComp&&this.dateComp.setInputPlaceholder&&this.dateComp.setInputPlaceholder(e)}setInputAriaLabel(e){this.dateComp&&this.dateComp.setInputAriaLabel&&this.dateComp.setInputAriaLabel(e)}afterGuiAttached(e){this.dateComp&&typeof this.dateComp.afterGuiAttached=="function"&&this.dateComp.afterGuiAttached(e)}updateParams(e){let t=!1;this.dateComp?.refresh&&typeof this.dateComp.refresh=="function"&&this.dateComp.refresh(e)!==null&&(t=!0),!t&&this.dateComp?.onParamsUpdated&&typeof this.dateComp.onParamsUpdated=="function"&&this.dateComp.onParamsUpdated(e)!==null&&S("Custom date component method 'onParamsUpdated' is deprecated. Use 'refresh' instead.")}setDateCompDisabled(e){this.dateComp!=null&&this.dateComp.setDisabled!=null&&this.dateComp.setDisabled(e)}},va=["equals","notEqual","lessThan","greaterThan","inRange","blank","notBlank"],Ca=class extends Ws{constructor(e,t,i){super(t,i),this.dateFilterParams=e}conditionToString(e,t){let{type:i}=e,{numberOfInputs:o}=t||{},s=i=="inRange"||o===2,r=Ge(e.dateFrom),n=Ge(e.dateTo),a=this.dateFilterParams.inRangeFloatingFilterDateFormat;if(s){let l=r!==null?xi(r,a):"null",c=n!==null?xi(n,a):"null";return`${l}-${c}`}return r!=null?xi(r,a):`${i}`}updateParams(e){super.updateParams(e),this.dateFilterParams=e.dateFilterParams}},Yr=1e3,$r=1/0,lu=class extends la{constructor(){super("dateFilter"),this.eConditionPanelsFrom=[],this.eConditionPanelsTo=[],this.dateConditionFromComps=[],this.dateConditionToComps=[],this.minValidYear=Yr,this.maxValidYear=$r,this.minValidDate=null,this.maxValidDate=null}wireBeans(e){super.wireBeans(e),this.context=e.context,this.userComponentFactory=e.userComponentFactory}afterGuiAttached(e){super.afterGuiAttached(e),this.dateConditionFromComps[0].afterGuiAttached(e)}mapValuesFromModel(e){let{dateFrom:t,dateTo:i,type:o}=e||{};return[t&&Ge(t)||null,i&&Ge(i)||null].slice(0,this.getNumberOfInputs(o))}comparator(){return this.dateFilterParams.comparator?this.dateFilterParams.comparator:this.defaultComparator.bind(this)}defaultComparator(e,t){let i=t;return t==null||i<e?-1:i>e?1:0}setParams(e){this.dateFilterParams=e,super.setParams(e);let t=(i,o)=>{if(e[i]!=null)if(isNaN(e[i]))S(`DateFilter ${i} is not a number`);else return e[i]==null?o:Number(e[i]);return o};this.minValidYear=t("minValidYear",Yr),this.maxValidYear=t("maxValidYear",$r),this.minValidYear>this.maxValidYear&&S("DateFilter minValidYear should be <= maxValidYear"),e.minValidDate?this.minValidDate=e.minValidDate instanceof Date?e.minValidDate:Ge(e.minValidDate):this.minValidDate=null,e.maxValidDate?this.maxValidDate=e.maxValidDate instanceof Date?e.maxValidDate:Ge(e.maxValidDate):this.maxValidDate=null,this.minValidDate&&this.maxValidDate&&this.minValidDate>this.maxValidDate&&S("DateFilter minValidDate should be <= maxValidDate"),this.filterModelFormatter=new Ca(this.dateFilterParams,this.localeService,this.optionsFactory)}createDateCompWrapper(e){let t=new ma(this.context,this.userComponentFactory,{onDateChanged:()=>this.onUiChanged(),filterParams:this.dateFilterParams},e);return this.addDestroyFunc(()=>t.destroy()),t}setElementValue(e,t){e.setDate(t)}setElementDisplayed(e,t){e.setDisplayed(t)}setElementDisabled(e,t){e.setDisabled(t)}getDefaultFilterOptions(){return va}createValueElement(){let t=ve(this.gos).createElement("div");return t.classList.add("ag-filter-body"),this.createFromToElement(t,this.eConditionPanelsFrom,this.dateConditionFromComps,"from"),this.createFromToElement(t,this.eConditionPanelsTo,this.dateConditionToComps,"to"),t}createFromToElement(e,t,i,o){let r=ve(this.gos).createElement("div");r.classList.add(`ag-filter-${o}`),r.classList.add(`ag-filter-date-${o}`),t.push(r),e.appendChild(r),i.push(this.createDateCompWrapper(r))}removeValueElements(e,t){this.removeDateComps(this.dateConditionFromComps,e,t),this.removeDateComps(this.dateConditionToComps,e,t),this.removeItems(this.eConditionPanelsFrom,e,t),this.removeItems(this.eConditionPanelsTo,e,t)}removeDateComps(e,t,i){this.removeItems(e,t,i).forEach(s=>s.destroy())}isValidDateValue(e){if(e===null)return!1;if(this.minValidDate){if(e<this.minValidDate)return!1}else if(e.getUTCFullYear()<this.minValidYear)return!1;if(this.maxValidDate){if(e>this.maxValidDate)return!1}else if(e.getUTCFullYear()>this.maxValidYear)return!1;return!0}isConditionUiComplete(e){if(!super.isConditionUiComplete(e))return!1;let t=!0;return this.forEachInput((i,o,s,r)=>{s!==e||!t||o>=r||(t=t&&this.isValidDateValue(i.getDate()))}),t}areSimpleModelsEqual(e,t){return e.dateFrom===t.dateFrom&&e.dateTo===t.dateTo&&e.type===t.type}getFilterType(){return"date"}createCondition(e){let t=this.getConditionType(e),i={},o=this.getValues(e);return o.length>0&&(i.dateFrom=Ke(o[0])),o.length>1&&(i.dateTo=Ke(o[1])),{dateFrom:null,dateTo:null,filterType:this.getFilterType(),type:t,...i}}resetPlaceholder(){let e=this.localeService.getLocaleTextFunc(),t=this.translate("dateFormatOoo"),i=e("ariaFilterValue","Filter Value");this.forEachInput(o=>{o.setInputPlaceholder(t),o.setInputAriaLabel(i)})}getInputs(e){return e>=this.dateConditionFromComps.length?[null,null]:[this.dateConditionFromComps[e],this.dateConditionToComps[e]]}getValues(e){let t=[];return this.forEachPositionInput(e,(i,o,s,r)=>{o<r&&t.push(i.getDate())}),t}translate(e){return e==="lessThan"?super.translate("before"):e==="greaterThan"?super.translate("after"):super.translate(e)}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}},Us=class extends b{constructor(e,t,i,o){super(),this.columnOrGroup=e,this.columnOrGroup=e,this.eCell=t,this.ariaEl=this.eCell.querySelector("[role=columnheader]")||this.eCell,this.colsSpanning=o,this.beans=i}setColsSpanning(e){this.colsSpanning=e,this.onLeftChanged()}getColumnOrGroup(){return this.beans.gos.get("enableRtl")&&this.colsSpanning?$(this.colsSpanning):this.columnOrGroup}postConstruct(){let e=this.onLeftChanged.bind(this);this.addManagedListeners(this.columnOrGroup,{leftChanged:e}),this.setLeftFirstTime(),this.addManagedEventListeners({displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}setLeftFirstTime(){let e=this.beans.gos.get("suppressColumnMoveAnimation"),t=M(this.columnOrGroup.getOldLeft());this.beans.columnAnimationService.isActive()&&t&&!e?this.animateInLeft():this.onLeftChanged()}animateInLeft(){let e=this.getColumnOrGroup(),t=e.getLeft(),i=e.getOldLeft(),o=this.modifyLeftForPrintLayout(e,i),s=this.modifyLeftForPrintLayout(e,t);this.setLeft(o),this.actualLeft=s,this.beans.columnAnimationService.executeNextVMTurn(()=>{this.actualLeft===s&&this.setLeft(s)})}onLeftChanged(){let e=this.getColumnOrGroup(),t=e.getLeft();this.actualLeft=this.modifyLeftForPrintLayout(e,t),this.setLeft(this.actualLeft)}modifyLeftForPrintLayout(e,t){if(!Re(this.beans.gos,"print")||e.getPinned()==="left")return t;let o=this.beans.visibleColsService.getColsLeftWidth();if(e.getPinned()==="right"){let s=this.beans.visibleColsService.getBodyContainerWidth();return o+s+t}return o+t}setLeft(e){if(M(e)&&(this.eCell.style.left=`${e}px`),Se(this.columnOrGroup)){let t=this.columnOrGroup.getLeafColumns();if(!t.length)return;t.length>1&&Mc(this.ariaEl,t.length)}}},cu="ag-column-first",du="ag-column-last";function wa(e,t,i,o){return K(e)?[]:hu(e.headerClass,e,t,i,o)}function ya(e,t,i){e.addOrRemoveCssClass(cu,i.isColAtEdge(t,"first")),e.addOrRemoveCssClass(du,i.isColAtEdge(t,"last"))}function uu(e,t,i,o){return t.addGridCommonParams({colDef:e,column:i,columnGroup:o})}function hu(e,t,i,o,s){if(K(e))return[];let r;if(typeof e=="function"){let n=uu(t,i,o,s);r=e(n)}else r=e;return typeof r=="string"?[r]:Array.isArray(r)?[...r]:[]}var gu=0,ba=class Sa extends b{constructor(t,i,o){super(),this.resizeToggleTimeout=0,this.resizeMultiplier=1,this.resizeFeature=null,this.lastFocusEvent=null,this.dragSource=null,this.columnGroupChild=t,this.parentRowCtrl=o,this.beans=i,this.instanceId=t.getUniqueId()+"-"+gu++}wireBeans(t){this.pinnedWidthService=t.pinnedWidthService,this.focusService=t.focusService,this.userComponentFactory=t.userComponentFactory,this.ctrlsService=t.ctrlsService,this.dragAndDropService=t.dragAndDropService,this.menuService=t.menuService}postConstruct(){let t=this.refreshTabIndex.bind(this);this.addManagedPropertyListeners(["suppressHeaderFocus"],t),this.addManagedEventListeners({overlayExclusiveChanged:t})}shouldStopEventPropagation(t){let{headerRowIndex:i,column:o}=this.focusService.getFocusedHeader();return eu(this.gos,t,i,o)}getWrapperHasFocus(){return fe(this.gos)===this.eGui}setGui(t,i){this.eGui=t,this.addDomData(i),i.addManagedListeners(this.beans.eventService,{displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),i.addManagedElementListeners(this.eGui,{focus:this.onGuiFocus.bind(this)}),this.onDisplayedColumnsChanged(),this.refreshTabIndex()}onGuiFocus(){this.eventService.dispatchEvent({type:"headerFocused",column:this.column})}setupAutoHeight(t){let{wrapperElement:i,checkMeasuringCallback:o,compBean:s}=t,{animationFrameService:r,resizeObserverService:n,columnModel:a,gos:l}=this.beans,c=m=>{if(!this.isAlive()||!s.isAlive())return;let{paddingTop:p,paddingBottom:v,borderBottomWidth:w,borderTopWidth:C}=_t(this.getGui()),R=p+v+w+C,T=i.offsetHeight+R;if(m<5){let x=ve(l),A=!x||!x.contains(i),L=T==0;if(A||L){r.requestAnimationFrame(()=>c(m+1));return}}a.setColHeaderHeight(this.column,T)},d=!1,u,h=()=>{let m=this.column.isAutoHeaderHeight();m&&!d&&g(),!m&&d&&f()},g=()=>{d=!0,c(0),this.comp.addOrRemoveCssClass("ag-header-cell-auto-height",!0),u=n.observeResize(i,()=>c(0))},f=()=>{d=!1,u&&u(),this.comp.addOrRemoveCssClass("ag-header-cell-auto-height",!1),u=void 0};h(),s.addDestroyFunc(()=>f()),s.addManagedListeners(this.column,{widthChanged:()=>d&&c(0)}),s.addManagedEventListeners({sortChanged:()=>{d&&window.setTimeout(()=>c(0))}}),o&&o(h)}onDisplayedColumnsChanged(){let{comp:t,column:i,beans:o,eGui:s}=this;!t||!i||!s||(ya(t,i,o.visibleColsService),In(s,o.visibleColsService.getAriaColIndex(i)))}addResizeAndMoveKeyboardListeners(t){this.resizeFeature&&t.addManagedListeners(this.eGui,{keydown:this.onGuiKeyDown.bind(this),keyup:this.onGuiKeyUp.bind(this)})}refreshTabIndex(){let t=this.focusService.isHeaderFocusSuppressed();this.eGui&&je(this.eGui,"tabindex",t?null:"-1")}onGuiKeyDown(t){let i=fe(this.gos),o=t.key===y.LEFT||t.key===y.RIGHT;if(this.isResizing&&(t.preventDefault(),t.stopImmediatePropagation()),i!==this.eGui||!t.shiftKey&&!t.altKey||((this.isResizing||o)&&(t.preventDefault(),t.stopImmediatePropagation()),!o))return;let s=t.key===y.LEFT!==this.gos.get("enableRtl"),r=ea[s?"Left":"Right"];if(t.altKey){this.isResizing=!0,this.resizeMultiplier+=1;let n=this.getViewportAdjustedResizeDiff(t);this.resizeHeader(n,t.shiftKey),this.resizeFeature?.toggleColumnResizing(!0)}else this.moveHeader(r)}getViewportAdjustedResizeDiff(t){let i=this.getResizeDiff(t);if(this.column.getPinned()){let s=this.pinnedWidthService.getPinnedLeftWidth(),r=this.pinnedWidthService.getPinnedRightWidth(),n=Gi(this.ctrlsService.getGridBodyCtrl().getBodyViewportElement())-50;if(s+r+i>n)if(n>s+r)i=n-s-r;else return 0}return i}getResizeDiff(t){let i=t.key===y.LEFT!==this.gos.get("enableRtl"),o=this.column.getPinned(),s=this.gos.get("enableRtl");return o&&s!==(o==="right")&&(i=!i),(i?-1:1)*this.resizeMultiplier}onGuiKeyUp(){this.isResizing&&(this.resizeToggleTimeout&&(window.clearTimeout(this.resizeToggleTimeout),this.resizeToggleTimeout=0),this.isResizing=!1,this.resizeMultiplier=1,this.resizeToggleTimeout=window.setTimeout(()=>{this.resizeFeature?.toggleColumnResizing(!1)},150))}handleKeyDown(t){let i=this.getWrapperHasFocus();switch(t.key){case y.PAGE_DOWN:case y.PAGE_UP:case y.PAGE_HOME:case y.PAGE_END:i&&t.preventDefault()}}addDomData(t){let i=Sa.DOM_DATA_KEY_HEADER_CTRL;Vt(this.gos,this.eGui,i,this),t.addDestroyFunc(()=>Vt(this.gos,this.eGui,i,null))}getGui(){return this.eGui}focus(t){return this.eGui?(this.lastFocusEvent=t||null,this.eGui.focus(),!0):!1}getRowIndex(){return this.parentRowCtrl.getRowIndex()}getParentRowCtrl(){return this.parentRowCtrl}getPinned(){return this.parentRowCtrl.getPinned()}getColumnGroupChild(){return this.columnGroupChild}removeDragSource(){this.dragSource&&(this.dragAndDropService.removeDragSource(this.dragSource),this.dragSource=null)}handleContextMenuMouseEvent(t,i,o){let s=t??i;this.gos.get("preventDefaultOnContextMenu")&&s.preventDefault(),this.menuService.isHeaderContextMenuEnabled(o)&&this.menuService.showHeaderContextMenu(o,t,i),this.dispatchColumnMouseEvent("columnHeaderContextMenu",o)}dispatchColumnMouseEvent(t,i){this.eventService.dispatchEvent({type:t,column:i})}clearComponent(){this.removeDragSource(),this.resizeFeature=null,this.comp=null,this.eGui=null}destroy(){super.destroy(),this.column=null,this.lastFocusEvent=null,this.columnGroupChild=null,this.parentRowCtrl=null}};ba.DOM_DATA_KEY_HEADER_CTRL="headerCtrl";var Fo=ba,_s=class extends b{wireBeans(e){this.columnHoverService=e.columnHoverService}constructor(e,t){super(),this.columns=e,this.element=t}postConstruct(){this.gos.get("columnHoverHighlight")&&this.addMouseHoverListeners()}addMouseHoverListeners(){this.addManagedListeners(this.element,{mouseout:this.onMouseOut.bind(this),mouseover:this.onMouseOver.bind(this)})}onMouseOut(){this.columnHoverService.clearMouseOver()}onMouseOver(){this.columnHoverService.setMouseOver(this.columns)}},pu=class extends Fo{constructor(e,t,i){super(e,t,i),this.iconCreated=!1,this.column=e}setComp(e,t,i,o,s){this.comp=e,s=Oi(this,this.beans.context,s),this.eButtonShowMainFilter=i,this.eFloatingFilterBody=o,this.setGui(t,s),this.setupActive(),this.setupWidth(s),this.setupLeft(s),this.setupHover(s),this.setupFocus(s),this.setupAria(),this.setupFilterButton(),this.setupUserComp(),this.setupSyncWithFilter(s),this.setupUi(),s.addManagedElementListeners(this.eButtonShowMainFilter,{click:this.showParentFilter.bind(this)}),this.setupFilterChangedListener(s),s.addManagedListeners(this.column,{colDefChanged:()=>this.onColDefChanged(s)}),s.addDestroyFunc(()=>{this.eButtonShowMainFilter=null,this.eFloatingFilterBody=null,this.userCompDetails=null,this.clearComponent()})}resizeHeader(){}moveHeader(){}setupActive(){let e=this.column.getColDef(),t=!!e.filter,i=!!e.floatingFilter;this.active=t&&i}setupUi(){if(this.comp.setButtonWrapperDisplayed(!this.suppressFilterButton&&this.active),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-full-body",this.suppressFilterButton),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-body",!this.suppressFilterButton),!this.active||this.iconCreated)return;let e=ze("filter",this.gos,this.column);e&&(this.iconCreated=!0,this.eButtonShowMainFilter.appendChild(e))}setupFocus(e){e.createManagedBean(new jt(this.eGui,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)}))}setupAria(){let e=this.localeService.getLocaleTextFunc();si(this.eButtonShowMainFilter,e("ariaFilterMenuOpen","Open Filter Menu"))}onTabKeyDown(e){if(fe(this.gos)===this.eGui)return;let o=this.focusService.findNextFocusableElement(this.eGui,null,e.shiftKey);if(o){this.beans.headerNavigationService.scrollToColumn(this.column),e.preventDefault(),o.focus();return}let s=this.findNextColumnWithFloatingFilter(e.shiftKey);s&&this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:this.getParentRowCtrl().getRowIndex(),column:s},event:e})&&e.preventDefault()}findNextColumnWithFloatingFilter(e){let t=this.beans.visibleColsService,i=this.column;do if(i=e?t.getColBefore(i):t.getColAfter(i),!i)break;while(!i.getColDef().filter||!i.getColDef().floatingFilter);return i}handleKeyDown(e){super.handleKeyDown(e);let t=this.getWrapperHasFocus();switch(e.key){case y.UP:case y.DOWN:t||e.preventDefault();case y.LEFT:case y.RIGHT:if(t)return;e.stopPropagation();case y.ENTER:t&&this.focusService.focusInto(this.eGui)&&e.preventDefault();break;case y.ESCAPE:t||this.eGui.focus()}}onFocusIn(e){if(this.eGui.contains(e.relatedTarget))return;let i=!!e.relatedTarget&&!e.relatedTarget.classList.contains("ag-floating-filter"),o=!!e.relatedTarget&&ei(e.relatedTarget,"ag-floating-filter");if(i&&o&&e.target===this.eGui){let r=this.lastFocusEvent,n=!!(r&&r.key===y.TAB);if(r&&n){let a=r.shiftKey;this.focusService.focusInto(this.eGui,a)}}let s=this.getRowIndex();this.beans.focusService.setFocusedHeader(s,this.column)}setupHover(e){e.createManagedBean(new _s([this.column],this.eGui));let t=()=>{if(!this.gos.get("columnHoverHighlight"))return;let i=this.beans.columnHoverService.isHovered(this.column);this.comp.addOrRemoveCssClass("ag-column-hover",i)};e.addManagedEventListeners({columnHoverChanged:t}),t()}setupLeft(e){let t=new Us(this.column,this.eGui,this.beans);e.createManagedBean(t)}setupFilterButton(){this.suppressFilterButton=!this.menuService.isFloatingFilterButtonEnabled(this.column),this.highlightFilterButtonWhenActive=!this.menuService.isLegacyMenuEnabled()}setupUserComp(){if(!this.active)return;let e=this.beans.filterManager?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter());e&&this.setCompDetails(e)}setCompDetails(e){this.userCompDetails=e,this.comp.setCompDetails(e)}showParentFilter(){let e=this.suppressFilterButton?this.eFloatingFilterBody:this.eButtonShowMainFilter;this.menuService.showFilterMenu({column:this.column,buttonElement:e,containerType:"floatingFilter",positionBy:"button"})}setupSyncWithFilter(e){if(!this.active)return;let{filterManager:t}=this.beans,i=o=>{if(o?.source==="filterDestroyed"&&!this.isAlive())return;let s=this.comp.getFloatingFilterComp();s&&s.then(r=>{if(r){let n=t?.getCurrentFloatingFilterParentModel(this.column),a=o?{...o,columns:o.columns??[],source:o.source==="api"?"api":"columnFilter"}:null;r.onParentModelChanged(n,a)}})};[this.destroySyncListener]=e.addManagedListeners(this.column,{filterChanged:i}),t?.isFilterActive(this.column)&&i(null)}setupWidth(e){let t=()=>{let i=`${this.column.getActualWidth()}px`;this.comp.setWidth(i)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupFilterChangedListener(e){this.active&&([this.destroyFilterChangedListener]=e.addManagedListeners(this.column,{filterChanged:this.updateFilterButton.bind(this)}),this.updateFilterButton())}updateFilterButton(){if(!this.suppressFilterButton&&this.comp){let e=!!this.beans.filterManager?.isFilterAllowed(this.column);this.comp.setButtonWrapperDisplayed(e),this.highlightFilterButtonWhenActive&&e&&this.eButtonShowMainFilter.classList.toggle("ag-filter-active",this.column.isFilterActive())}}onColDefChanged(e){let t=this.active;this.setupActive();let i=!t&&this.active;t&&!this.active&&(this.destroySyncListener(),this.destroyFilterChangedListener());let o=this.active?this.beans.filterManager?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter()):null,s=this.comp.getFloatingFilterComp();!s||!o?this.updateCompDetails(e,o,i):s.then(r=>{!r||this.beans.filterManager?.areFilterCompsDifferent(this.userCompDetails??null,o)?this.updateCompDetails(e,o,i):this.updateFloatingFilterParams(o)})}updateCompDetails(e,t,i){this.isAlive()&&(this.setCompDetails(t),this.setupFilterButton(),this.setupUi(),i&&(this.setupSyncWithFilter(e),this.setupFilterChangedListener(e)))}updateFloatingFilterParams(e){if(!e)return;let t=e.params;this.comp.getFloatingFilterComp()?.then(i=>{let o=!1;i?.refresh&&typeof i.refresh=="function"&&i.refresh(t)!==null&&(o=!0),!o&&i?.onParamsUpdated&&typeof i.onParamsUpdated=="function"&&i.onParamsUpdated(t)!==null&&S("Custom floating filter method 'onParamsUpdated' is deprecated. Use 'refresh' instead.")})}destroy(){super.destroy(),this.destroySyncListener=null,this.destroyFilterChangedListener=null}};var B="32.3.9";function fu(e){return!!e.filterManager?.isColumnFilterPresent()||!!e.filterManager?.isAggregateFilterPresent()}function mu(e,t,i){return e.filterManager?.getFilterInstance(t,i)}function vu(e,t){return e.filterManager?.getColumnFilterInstance(t)??Promise.resolve(void 0)}function Cu(e,t){let i=e.columnModel.getColDefCol(t);if(i)return e.filterManager?.destroyFilter(i,"api")}function wu(e,t){e.frameworkOverrides.wrapIncoming(()=>e.filterManager?.setFilterModel(t))}function yu(e){return e.filterManager?.getFilterModel()??{}}function bu(e,t){return e.filterManager?.getColumnFilterModel(t)??null}function Su(e,t,i){return e.filterManager?.setColumnFilterModel(t,i)??Promise.resolve()}function Ru(e,t){let i=e.columnModel.getCol(t);if(!i){Q(`column '${t}' not found`);return}e.menuService.showFilterMenu({column:i,containerType:"columnFilter",positionBy:"auto"})}function Fu(e,t,i){if(t==null)return null;let o=null,{compName:s,jsComp:r,fwComp:n}=Xn.getCompKeys(e,t,Hs);return s?o={set:"agSetColumnFloatingFilter",agSetColumnFilter:"agSetColumnFloatingFilter",multi:"agMultiColumnFloatingFilter",agMultiColumnFilter:"agMultiColumnFloatingFilter",group:"agGroupColumnFloatingFilter",agGroupColumnFilter:"agGroupColumnFloatingFilter",number:"agNumberColumnFloatingFilter",agNumberColumnFilter:"agNumberColumnFloatingFilter",date:"agDateColumnFloatingFilter",agDateColumnFilter:"agDateColumnFloatingFilter",text:"agTextColumnFloatingFilter",agTextColumnFilter:"agTextColumnFloatingFilter"}[s]:r==null&&n==null&&t.filter===!0&&(o=i()),o}var Qr={january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},qr=["january","february","march","april","may","june","july","august","september","october","november","december"],xu=class extends b{constructor(){super(...arguments),this.beanName="columnFilterService",this.allColumnFilters=new Map,this.allColumnListeners=new Map,this.activeAggregateFilters=[],this.activeColumnFilters=[],this.processingFilterChange=!1,this.filterModelUpdateQueue=[],this.columnFilterModelUpdateQueue=[]}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.rowModel=e.rowModel,this.userComponentFactory=e.userComponentFactory,this.rowRenderer=e.rowRenderer,this.dataTypeService=e.dataTypeService,this.filterManager=e.filterManager}postConstruct(){this.addManagedEventListeners({gridColumnsChanged:this.onColumnsChanged.bind(this),rowDataUpdated:()=>this.onNewRowsLoaded("rowDataUpdated"),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.initialFilterModel={...this.gos.get("initialState")?.filter?.filterModel??{}}}setFilterModel(e,t="api"){if(this.dataTypeService?.isPendingInference()){this.filterModelUpdateQueue.push({model:e,source:t});return}let i=[],o=this.getFilterModel(!0);if(e){let s=new Set(Object.keys(e));this.allColumnFilters.forEach((r,n)=>{let a=e[n];i.push(this.setModelOnFilterWrapper(r.filterPromise,a)),s.delete(n)}),s.forEach(r=>{let n=this.columnModel.getColDefCol(r)||this.columnModel.getCol(r);if(!n){S("setFilterModel() - no column found for colId: "+r);return}if(!n.isFilterAllowed()){S("setFilterModel() - unable to fully apply model, filtering disabled for colId: "+r);return}let a=this.getOrCreateFilterWrapper(n);if(!a){S("setFilterModel() - unable to fully apply model, unable to create filter for colId: "+r);return}i.push(this.setModelOnFilterWrapper(a.filterPromise,e[r]))})}else this.allColumnFilters.forEach(s=>{i.push(this.setModelOnFilterWrapper(s.filterPromise,null))});ae.all(i).then(()=>{let s=this.getFilterModel(!0),r=[];this.allColumnFilters.forEach((n,a)=>{let l=o?o[a]:null,c=s?s[a]:null;io(l,c)||r.push(n.column)}),r.length>0&&this.filterManager?.onFilterChanged({columns:r,source:t})})}setModelOnFilterWrapper(e,t){return new ae(i=>{e.then(o=>{typeof o.setModel!="function"&&(S("filter missing setModel method, which is needed for setFilterModel"),i()),(o.setModel(t)||ae.resolve()).then(()=>i())})})}getFilterModel(e){let t={},{allColumnFilters:i,initialFilterModel:o}=this;return i.forEach((s,r)=>{let n=this.getModelFromFilterWrapper(s);M(n)&&(t[r]=n)}),e||Object.entries(o).forEach(([s,r])=>{M(r)&&!i.has(s)&&this.columnModel.getCol(s)?.isFilterAllowed()&&(t[s]=r)}),t}getModelFromFilterWrapper(e){let{filter:t}=e;return t?typeof t.getModel!="function"?(S("filter API missing getModel method, which is needed for getFilterModel"),null):t.getModel():this.getModelFromInitialState(e.column)}getModelFromInitialState(e){return this.initialFilterModel[e.getColId()]??null}isColumnFilterPresent(){return this.activeColumnFilters.length>0}isAggregateFilterPresent(){return!!this.activeAggregateFilters.length}disableColumnFilters(){return this.allColumnFilters.size?(this.allColumnFilters.forEach(e=>this.disposeFilterWrapper(e,"advancedFilterEnabled")),!0):!1}doAggregateFiltersPass(e,t){return this.doColumnFiltersPass(e,t,!0)}updateActiveFilters(){let e=r=>r?r.isFilterActive?r.isFilterActive():(S("Filter is missing isFilterActive() method"),!1):!1,t=!!ss(this.gos),i=r=>{if(!r.isPrimary())return!0;let a=!this.columnModel.isPivotActive();return!r.isValueActive()||!a?!1:this.columnModel.isPivotMode()?!0:t},o=[],s=[];return this.forEachColumnFilter((r,n)=>{e(r)&&(i(n.column)?o.push(r):s.push(r))}).then(()=>{this.activeAggregateFilters=o,this.activeColumnFilters=s})}updateFilterFlagInColumns(e,t){return this.forEachColumnFilter((i,o)=>o.column.setFilterActive(i.isFilterActive(),e,t))}forEachColumnFilter(e){return ae.all(Array.from(this.allColumnFilters.values()).map(t=>t.filterPromise.then(i=>e(i,t))))}doColumnFiltersPass(e,t,i){let{data:o,aggData:s}=e,r=i?this.activeAggregateFilters:this.activeColumnFilters,n=i?s:o;for(let a=0;a<r.length;a++){let l=r[a];if(!(l==null||l===t)){if(typeof l.doesFilterPass!="function")throw new Error("Filter is missing method doesFilterPass");if(!l.doesFilterPass({node:e,data:n}))return!1}}return!0}callOnFilterChangedOutsideRenderCycle(e){let t=()=>this.filterManager?.onFilterChanged(e);this.rowRenderer.isRefreshInProgress()?setTimeout(t,0):t()}updateBeforeFilterChanged(e={}){let{filterInstance:t,additionalEventAttributes:i}=e;return this.updateDependentFilters(),this.updateActiveFilters().then(()=>this.updateFilterFlagInColumns("filterChanged",i).then(()=>{this.allColumnFilters.forEach(o=>{o.filterPromise&&o.filterPromise.then(s=>{s&&s!==t&&s.onAnyFilterChanged&&s.onAnyFilterChanged()})}),this.processingFilterChange=!0}))}updateAfterFilterChanged(){this.processingFilterChange=!1}isSuppressFlashingCellsBecauseFiltering(){return!(this.gos.get("allowShowChangeAfterFilter")??!1)&&this.processingFilterChange}onNewRowsLoaded(e){this.forEachColumnFilter(t=>{t.onNewRowsLoaded&&t.onNewRowsLoaded()}).then(()=>this.updateFilterFlagInColumns(e,{afterDataChange:!0})).then(()=>this.updateActiveFilters())}createValueGetter(e){return({node:t})=>this.valueService.getValue(e,t,!0)}createGetValue(e){return(t,i)=>{let o=i?this.columnModel.getCol(i):e;return o?this.valueService.getValue(o,t,!0):void 0}}isFilterActive(e){let{filter:t}=this.cachedFilter(e)??{};return t?t.isFilterActive():this.getModelFromInitialState(e)!=null}getOrCreateFilterWrapper(e){if(!e.isFilterAllowed())return null;let t=this.cachedFilter(e);return t||(t=this.createFilterWrapper(e),this.setColumnFilterWrapper(e,t)),t}cachedFilter(e){return this.allColumnFilters.get(e.getColId())}getDefaultFilter(e){let t;if(Vo(this.gos))t="agSetColumnFilter";else{let i=this.dataTypeService?.getBaseDataType(e);i==="number"?t="agNumberColumnFilter":i==="date"||i==="dateString"?t="agDateColumnFilter":t="agTextColumnFilter"}return t}getDefaultFloatingFilter(e){let t;if(Vo(this.gos))t="agSetColumnFloatingFilter";else{let i=this.dataTypeService?.getBaseDataType(e);i==="number"?t="agNumberColumnFloatingFilter":i==="date"||i==="dateString"?t="agDateColumnFloatingFilter":t="agTextColumnFloatingFilter"}return t}createFilterInstance(e,t){let i=this.getDefaultFilter(e),o=e.getColDef(),s,r={...this.createFilterParams(e,o),filterModifiedCallback:()=>this.filterModifiedCallbackFactory(s,e)(),filterChangedCallback:a=>this.filterChangedCallbackFactory(s,e)(a),doesRowPassOtherFilter:a=>this.filterManager?this.filterManager.doesRowPassOtherFilters(s,a):!0},n=this.userComponentFactory.getFilterDetails(o,r,i);return n?{filterPromise:()=>{let a=n.newAgStackInstance();return a?.then(l=>{s=l,t&&(t.filter=l)}),a},compDetails:n}:{filterPromise:null,compDetails:null}}createFilterParams(e,t){return this.gos.addGridCommonParams({column:e,colDef:Ds(t),rowModel:this.rowModel,filterChangedCallback:()=>{},filterModifiedCallback:()=>{},valueGetter:this.createValueGetter(e),getValue:this.createGetValue(e),doesRowPassOtherFilter:()=>!0})}createFilterWrapper(e){let t={column:e,filterPromise:null,compiledElement:null,compDetails:null},{filterPromise:i,compDetails:o}=this.createFilterInstance(e,t);return t.filterPromise=i?.()??null,t.compDetails=o,t}onColumnsChanged(){let e=[];this.allColumnFilters.forEach((i,o)=>{let s;i.column.isPrimary()?s=this.columnModel.getColDefCol(o):s=this.columnModel.getCol(o),!(s&&s===i.column)&&(e.push(i.column),this.disposeFilterWrapper(i,"columnChanged"),this.disposeColumnListener(o))});let t=e.every(i=>i.getColDef().filter==="agGroupColumnFilter");e.length>0&&!t?this.filterManager?.onFilterChanged({columns:e,source:"api"}):this.updateDependentFilters()}updateDependentFilters(){this.columnModel.getAutoCols()?.forEach(t=>{t.getColDef().filter==="agGroupColumnFilter"&&this.getOrCreateFilterWrapper(t)})}isFilterAllowed(e){if(!e.isFilterAllowed())return!1;let{filter:i}=this.allColumnFilters.get(e.getColId())??{};return i&&typeof i?.isFilterAllowed=="function"?i.isFilterAllowed():!0}getFloatingFilterCompDetails(e,t){let i=l=>{let c=this.getOrCreateFilterWrapper(e)?.filterPromise;c?.then(d=>{l(Ri(d))})},o=e.getColDef(),s={...this.createFilterParams(e,o),filterChangedCallback:()=>i(l=>this.filterChangedCallbackFactory(l,e)())},r=this.userComponentFactory.mergeParamsWithApplicationProvidedParams(o,Hs,s),n=Fu(this.frameworkOverrides,o,()=>this.getDefaultFloatingFilter(e));n==null&&(n="agReadOnlyFloatingFilter");let a={column:e,filterParams:r,currentParentModel:()=>this.getCurrentFloatingFilterParentModel(e),parentFilterInstance:i,showParentFilter:t,suppressFilterButton:!1};return this.userComponentFactory.getFloatingFilterCompDetails(o,a,n)}getCurrentFloatingFilterParentModel(e){return this.getModelFromFilterWrapper(this.cachedFilter(e)??{column:e})}destroyFilter(e,t="api"){let i=e.getColId(),o=this.allColumnFilters.get(i);this.disposeColumnListener(i),delete this.initialFilterModel[i],o&&(this.disposeFilterWrapper(o,t),this.filterManager?.onFilterChanged({columns:[e],source:"api"}))}disposeColumnListener(e){let t=this.allColumnListeners.get(e);t&&(this.allColumnListeners.delete(e),t())}disposeFilterWrapper(e,t){e.filterPromise.then(i=>{this.destroyBean(i),e.column.setFilterActive(!1,"filterDestroyed"),this.allColumnFilters.delete(e.column.getColId()),this.eventService.dispatchEvent({type:"filterDestroyed",source:t,column:e.column})})}filterModifiedCallbackFactory(e,t){return()=>{this.eventService.dispatchEvent({type:"filterModified",column:t,filterInstance:e})}}filterChangedCallbackFactory(e,t){return i=>{let o=i?.source??"columnFilter",s={filter:e,additionalEventAttributes:i,columns:[t],source:o};this.callOnFilterChangedOutsideRenderCycle(s)}}checkDestroyFilter(e){let t=this.allColumnFilters.get(e);if(!t)return;let i=t.column,{compDetails:o}=i.isFilterAllowed()?this.createFilterInstance(i):{compDetails:null};if(this.areFilterCompsDifferent(t.compDetails,o)){this.destroyFilter(i,"paramsUpdated");return}let s=i.getColDef().filterParams;if(!t.filterPromise){this.destroyFilter(i,"paramsUpdated");return}t.filterPromise.then(r=>{(r?.refresh?r.refresh({...this.createFilterParams(i,i.getColDef()),filterModifiedCallback:this.filterModifiedCallbackFactory(r,i),filterChangedCallback:this.filterChangedCallbackFactory(r,i),doesRowPassOtherFilter:a=>this.filterManager?this.filterManager.doesRowPassOtherFilters(r,a):!0,...s}):!0)===!1&&this.destroyFilter(i,"paramsUpdated")})}setColumnFilterWrapper(e,t){let i=e.getColId();this.allColumnFilters.set(i,t),this.allColumnListeners.set(i,this.addManagedListeners(e,{colDefChanged:()=>this.checkDestroyFilter(i)})[0])}areFilterCompsDifferent(e,t){if(!t||!e)return!0;let{componentClass:i}=e,{componentClass:o}=t;return!(i===o||i?.render&&o?.render&&i.render===o.render)}hasFloatingFilters(){return this.columnModel.getCols().some(t=>t.getColDef().floatingFilter)}getFilterInstance(e,t){t&&this.getFilterInstanceImpl(e).then(i=>{let o=Ri(i);t(o)})}getColumnFilterInstance(e){return new Promise(t=>{this.getFilterInstanceImpl(e).then(i=>{t(Ri(i))})})}getFilterInstanceImpl(e){let t=this.columnModel.getColDefCol(e);return t?this.getOrCreateFilterWrapper(t)?.filterPromise??ae.resolve(null):ae.resolve(void 0)}processFilterModelUpdateQueue(){this.filterModelUpdateQueue.forEach(({model:e,source:t})=>this.setFilterModel(e,t)),this.filterModelUpdateQueue=[],this.columnFilterModelUpdateQueue.forEach(({key:e,model:t,resolve:i})=>{this.setColumnFilterModel(e,t).then(()=>i())}),this.columnFilterModelUpdateQueue=[]}getColumnFilterModel(e){let t=this.getFilterWrapper(e);return t?this.getModelFromFilterWrapper(t):null}setColumnFilterModel(e,t){if(this.dataTypeService?.isPendingInference()){let r=()=>{},n=new Promise(a=>{r=a});return this.columnFilterModelUpdateQueue.push({key:e,model:t,resolve:r}),n}let i=this.columnModel.getColDefCol(e),o=i?this.getOrCreateFilterWrapper(i):null;return o?(r=>new Promise(n=>{r.then(a=>n(a))}))(this.setModelOnFilterWrapper(o.filterPromise,t)):Promise.resolve()}getFilterWrapper(e){let t=this.columnModel.getColDefCol(e);return t?this.cachedFilter(t)??null:null}setColDefPropertiesForDataType(e,t,i){let o=Vo(this.gos),s=this.localeService.getLocaleTextFunc(),r=n=>{let{filterParams:a}=e;e.filterParams=typeof a=="object"?{...a,...n}:n};switch(t.baseDataType){case"number":{o&&r({comparator:(n,a)=>{let l=n==null?0:parseInt(n),c=a==null?0:parseInt(a);return l===c?0:l>c?1:-1}});break}case"boolean":{r(o?{valueFormatter:n=>M(n.value)?s(String(n.value),n.value?"True":"False"):s("blanks","(Blanks)")}:{maxNumConditions:1,debounceMs:0,filterOptions:["empty",{displayKey:"true",displayName:"True",predicate:(n,a)=>a,numberOfInputs:0},{displayKey:"false",displayName:"False",predicate:(n,a)=>a===!1,numberOfInputs:0}]});break}case"date":{o&&r({valueFormatter:n=>{let a=i(n);return M(a)?a:s("blanks","(Blanks)")},treeList:!0,treeListFormatter:(n,a)=>{if(a===1&&n!=null){let l=qr[Number(n)-1];return s(l,Qr[l])}return n??s("blanks","(Blanks)")}});break}case"dateString":{let n=t.dateParser;r(o?{valueFormatter:a=>{let l=i(a);return M(l)?l:s("blanks","(Blanks)")},treeList:!0,treeListPathGetter:a=>{let l=n(a??void 0);return l?[String(l.getFullYear()),String(l.getMonth()+1),String(l.getDate())]:null},treeListFormatter:(a,l)=>{if(l===1&&a!=null){let c=qr[Number(a)-1];return s(c,Qr[c])}return a??s("blanks","(Blanks)")}}:{comparator:(a,l)=>{let c=n(l);return l==null||c<a?-1:c>a?1:0}});break}case"object":{o?r({valueFormatter:n=>{let a=i(n);return M(a)?a:s("blanks","(Blanks)")}}):e.filterValueGetter=n=>i({column:n.column,node:n.node,value:this.valueService.getValue(n.column,n.node)});break}}}destroy(){super.destroy(),this.allColumnFilters.forEach(e=>this.disposeFilterWrapper(e,"gridDestroyed")),this.allColumnListeners.clear()}};function Du(e){return!!e.filterManager?.isAnyFilterPresent()}function Eu(e,t="api"){e.filterManager?.onFilterChanged({source:t})}var Mu=class extends ce{constructor(){super(`
|
|
74
74
|
<div class="ag-floating-filter-input" role="presentation">
|
|
75
75
|
<ag-input-text-field data-ref="eFloatingFilterText"></ag-input-text-field>
|
|
76
|
-
</div>`,[
|
|
76
|
+
</div>`,[Ro]),this.eFloatingFilterText=z}wireBeans(e){this.columnNameService=e.columnNameService}destroy(){super.destroy()}init(e){this.params=e;let t=this.columnNameService.getDisplayNameForColumn(e.column,"header",!0),i=this.localeService.getLocaleTextFunc();this.eFloatingFilterText.setDisabled(!0).setInputAriaLabel(`${t} ${i("ariaFilterInput","Filter Input")}`)}onParentModelChanged(e){if(e==null){this.eFloatingFilterText.setValue("");return}this.params.parentFilterInstance(t=>{if(t.getModelAsString){let i=t.getModelAsString(e);this.eFloatingFilterText.setValue(i)}})}onParamsUpdated(e){this.refresh(e)}refresh(e){this.init(e)}},Ra=class extends ce{wireBeans(e){this.columnNameService=e.columnNameService}getDefaultDebounceMs(){return 0}destroy(){super.destroy()}isEventFromFloatingFilter(e){return e&&e.afterFloatingFilter}isEventFromDataChange(e){return e?.afterDataChange}getLastType(){return this.lastType}isReadOnly(){return this.readOnly}setLastTypeFromModel(e){if(!e){this.lastType=this.optionsFactory.getDefaultOption();return}let t=e.operator,i;t?i=e.conditions[0]:i=e,this.lastType=i.type}canWeEditAfterModelFromParentFilter(e){if(!e)return this.isTypeEditable(this.lastType);if(e.operator)return!1;let i=e;return this.isTypeEditable(i.type)}init(e){this.setSimpleParams(e,!1)}setSimpleParams(e,t=!0){this.optionsFactory=new na,this.optionsFactory.init(e.filterParams,this.getDefaultFilterOptions()),t||(this.lastType=this.optionsFactory.getDefaultOption()),this.readOnly=!!e.filterParams.readOnly;let i=this.isTypeEditable(this.optionsFactory.getDefaultOption());this.setEditable(i)}onParamsUpdated(e){this.refresh(e)}refresh(e){this.setSimpleParams(e)}doesFilterHaveSingleInput(e){let t=this.optionsFactory.getCustomOption(e),{numberOfInputs:i}=t||{};return i==null||i==1}isTypeEditable(e){let t=["inRange","empty","blank","notBlank"];return!!e&&!this.isReadOnly()&&this.doesFilterHaveSingleInput(e)&&t.indexOf(e)<0}getAriaLabel(e){let t=this.columnNameService.getDisplayNameForColumn(e.column,"header",!0),i=this.localeService.getLocaleTextFunc();return`${t} ${i("ariaFilterInput","Filter Input")}`}},Pu=class extends Ra{constructor(){super(`
|
|
77
77
|
<div class="ag-floating-filter-input" role="presentation">
|
|
78
78
|
<ag-input-text-field data-ref="eReadOnlyText"></ag-input-text-field>
|
|
79
79
|
<div data-ref="eDateWrapper" style="display: flex;"></div>
|
|
80
|
-
</div>`,[
|
|
80
|
+
</div>`,[Ro]),this.eReadOnlyText=z,this.eDateWrapper=z}wireBeans(e){super.wireBeans(e),this.context=e.context,this.userComponentFactory=e.userComponentFactory}getDefaultFilterOptions(){return va}init(e){super.init(e),this.params=e,this.filterParams=e.filterParams,this.createDateComponent(),this.filterModelFormatter=new Ca(this.filterParams,this.localeService,this.optionsFactory);let t=this.localeService.getLocaleTextFunc();this.eReadOnlyText.setDisabled(!0).setInputAriaLabel(t("ariaDateFilterInput","Date Filter Input"))}onParamsUpdated(e){this.refresh(e)}refresh(e){super.refresh(e),this.params=e,this.filterParams=e.filterParams,this.updateDateComponent(),this.filterModelFormatter.updateParams({optionsFactory:this.optionsFactory,dateFilterParams:this.filterParams}),this.updateCompOnModelChange(e.currentParentModel())}updateCompOnModelChange(e){let t=!this.isReadOnly()&&this.canWeEditAfterModelFromParentFilter(e);if(this.setEditable(t),t){if(e){let i=e;this.dateComp.setDate(Ge(i.dateFrom))}else this.dateComp.setDate(null);this.eReadOnlyText.setValue("")}else this.eReadOnlyText.setValue(this.filterModelFormatter.getModelAsString(e)),this.dateComp.setDate(null)}setEditable(e){pe(this.eDateWrapper,e),pe(this.eReadOnlyText.getGui(),!e)}onParentModelChanged(e,t){this.isEventFromFloatingFilter(t)||this.isEventFromDataChange(t)||(super.setLastTypeFromModel(e),this.updateCompOnModelChange(e))}onDateChanged(){let e=this.dateComp.getDate(),t=Ke(e);this.params.parentFilterInstance(i=>{if(i){let o=Ge(t);i.onFloatingFilterChanged(this.getLastType()||null,o)}})}getDateComponentParams(){let e=zs(this.params.filterParams,this.getDefaultDebounceMs());return{onDateChanged:xe(this.onDateChanged.bind(this),e),filterParams:this.params.column.getColDef().filterParams}}createDateComponent(){this.dateComp=new ma(this.context,this.userComponentFactory,this.getDateComponentParams(),this.eDateWrapper,e=>{e.setInputAriaLabel(this.getAriaLabel(this.params))}),this.addDestroyFunc(()=>this.dateComp.destroy())}updateDateComponent(){let e=this.gos.addGridCommonParams(this.getDateComponentParams());this.dateComp.updateParams(e)}getFilterModelFormatter(){return this.filterModelFormatter}},Tu=class extends ce{constructor(){super(`
|
|
81
81
|
<div class="ag-filter-filter">
|
|
82
82
|
<ag-input-text-field class="ag-date-filter" data-ref="eDateInput"></ag-input-text-field>
|
|
83
|
-
</div>`,[
|
|
83
|
+
</div>`,[Ro]),this.eDateInput=z}destroy(){super.destroy()}init(e){this.params=e,this.setParams(e);let t=this.eDateInput.getInputElement();this.addManagedListeners(t,{mouseDown:()=>{this.eDateInput.isDisabled()||this.usingSafariDatePicker||t.focus()},input:i=>{i.target===fe(this.gos)&&(this.eDateInput.isDisabled()||this.params.onDateChanged())}})}setParams(e){let t=this.eDateInput.getInputElement(),i=this.shouldUseBrowserDatePicker(e);this.usingSafariDatePicker=i&&ft(),t.type=i?"date":"text";let{minValidYear:o,maxValidYear:s,minValidDate:r,maxValidDate:n}=e.filterParams||{};if(r&&o&&S("DateFilter should not have both minValidDate and minValidYear parameters set at the same time! minValidYear will be ignored."),n&&s&&S("DateFilter should not have both maxValidDate and maxValidYear parameters set at the same time! maxValidYear will be ignored."),r&&n){let[a,l]=[r,n].map(c=>c instanceof Date?c:Ge(c));a&&l&&a.getTime()>l.getTime()&&S("DateFilter parameter minValidDate should always be lower than or equal to parameter maxValidDate.")}r?r instanceof Date?t.min=xi(r):t.min=r:o&&(t.min=`${o}-01-01`),n?n instanceof Date?t.max=xi(n):t.max=n:s&&(t.max=`${s}-12-31`)}onParamsUpdated(e){this.refresh(e)}refresh(e){this.params=e,this.setParams(e)}getDate(){return Ge(this.eDateInput.getValue())}setDate(e){this.eDateInput.setValue(Ke(e,!1))}setInputPlaceholder(e){this.eDateInput.setInputPlaceholder(e)}setInputAriaLabel(e){this.eDateInput.setAriaLabel(e)}setDisabled(e){this.eDateInput.setDisabled(e)}afterGuiAttached(e){(!e||!e.suppressFocus)&&this.eDateInput.getInputElement().focus()}shouldUseBrowserDatePicker(e){return e.filterParams&&e.filterParams.browserDatePicker!=null?e.filterParams.browserDatePicker:Gc()||Ls()||ft()&&Vn()>=14.1}},Fa=class extends b{constructor(e){super(),this.params=e,this.eFloatingFilterTextInput=z,this.valueChangedListener=()=>{}}setupGui(e){this.eFloatingFilterTextInput=this.createManagedBean(new Kt(this.params?.config));let t=this.eFloatingFilterTextInput.getGui();e.appendChild(t);let i=o=>this.valueChangedListener(o);this.addManagedListeners(t,{input:i,keydown:i})}setEditable(e){this.eFloatingFilterTextInput.setDisabled(!e)}setAutoComplete(e){this.eFloatingFilterTextInput.setAutoComplete(e)}getValue(){return this.eFloatingFilterTextInput.getValue()}setValue(e,t){this.eFloatingFilterTextInput.setValue(e,t)}setValueChangedListener(e){this.valueChangedListener=e}setParams(e){this.setAriaLabel(e.ariaLabel),e.autoComplete!==void 0&&this.setAutoComplete(e.autoComplete)}setAriaLabel(e){this.eFloatingFilterTextInput.setInputAriaLabel(e)}},xa=class extends Ra{constructor(){super(...arguments),this.eFloatingFilterInputContainer=z}postConstruct(){this.setTemplate(`
|
|
84
84
|
<div class="ag-floating-filter-input" role="presentation" data-ref="eFloatingFilterInputContainer"></div>
|
|
85
|
-
`)}getDefaultDebounceMs(){return 500}onParentModelChanged(e,t){this.isEventFromFloatingFilter(t)||this.isEventFromDataChange(t)||(this.setLastTypeFromModel(e),this.setEditable(this.canWeEditAfterModelFromParentFilter(e)),this.floatingFilterInputService.setValue(this.getFilterModelFormatter().getModelAsString(e)))}init(e){this.setupFloatingFilterInputService(e),super.init(e),this.setTextInputParams(e)}setupFloatingFilterInputService(e){this.floatingFilterInputService=this.createFloatingFilterInputService(e),this.floatingFilterInputService.setupGui(this.eFloatingFilterInputContainer)}setTextInputParams(e){this.params=e;let t=e.browserAutoComplete??!1;if(this.floatingFilterInputService.setParams({ariaLabel:this.getAriaLabel(e),autoComplete:t}),this.applyActive=
|
|
86
|
-
`)}},_s={version:B,moduleName:"@ag-grid-community/filter-core",beans:[Nd]},Gu={version:B,moduleName:"@ag-grid-community/filter-api",apiFunctions:{isAnyFilterPresent:Fu,onFilterChanged:xu},dependantModules:[_s]},Fo={version:B,moduleName:"@ag-grid-community/column-filter",beans:[Ru],dependantModules:[_s]},Nu={version:B,moduleName:"@ag-grid-community/column-filter-api",apiFunctions:{isColumnFilterPresent:gu,getFilterInstance:pu,getColumnFilterInstance:fu,destroyFilter:mu,setFilterModel:vu,getFilterModel:Cu,getColumnFilterModel:wu,setColumnFilterModel:yu,showColumnFilter:bu},dependantModules:[Fo,Gu]},js={version:B,moduleName:"@ag-grid-community/floating-filter-core",controllers:[{name:"headerFilterCell",classImp:hu}],dependantModules:[Fo]},zw={version:B,moduleName:"@ag-grid-community/floating-filter",dependantModules:[js,Fo]},Hu={version:B,moduleName:"@ag-grid-community/read-only-floating-filter",userComponents:[{name:"agReadOnlyFloatingFilter",classImp:Du}],dependantModules:[js]},zu={version:B,moduleName:"@ag-grid-community/simple-filter",dependantModules:[Fo],userComponents:[{name:"agTextColumnFilter",classImp:ou},{name:"agNumberColumnFilter",classImp:iu},{name:"agDateColumnFilter",classImp:nu},{name:"agDateInput",classImp:Mu}]},Bu={version:B,moduleName:"@ag-grid-community/simple-floating-filter",dependantModules:[zu,js],userComponents:[{name:"agTextColumnFloatingFilter",classImp:Au},{name:"agNumberColumnFloatingFilter",classImp:Tu},{name:"agDateColumnFloatingFilter",classImp:Eu}]},Fa={version:B,moduleName:"@ag-grid-community/quick-filter-core",beans:[Ou],dependantModules:[_s]},Vu={version:B,moduleName:"@ag-grid-community/quick-filter-api",apiFunctions:{isQuickFilterPresent:ku,getQuickFilter:Iu,resetQuickFilter:Lu},dependantModules:[Fa]},Wu={version:B,moduleName:"@ag-grid-community/quick-filter",dependantModules:[Fa,Vu]},Uu={version:B,moduleName:"@ag-grid-community/filter",dependantModules:[Bu,Hu,Wu,Nu]};var xo=(e=>(e.COLUMN_GROUP="group",e.COLUMN="column",e.FLOATING_FILTER="filter",e))(xo||{});var _u=class extends b{constructor(){super(...arguments),this.beanName="headerNavigationService",this.currentHeaderRowWithoutSpan=-1}wireBeans(e){this.focusService=e.focusService,this.headerPositionUtils=e.headerPositionUtils,this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.visibleColService=e.visibleColsService}postConstruct(){this.ctrlsService.whenReady(this,t=>{this.gridBodyCon=t.gridBodyCtrl});let e=ve(this.gos);this.addManagedElementListeners(e,{mousedown:()=>this.setCurrentHeaderRowWithoutSpan(-1)})}getHeaderRowCount(){return this.ctrlsService.getHeaderRowContainerCtrl()?.getRowCount()??0}getHeaderPositionForColumn(e,t){let i;if(typeof e=="string"?(i=this.columnModel.getCol(e),i||(i=this.visibleColService.getColumnGroup(e))):i=e,!i)return null;let s=this.ctrlsService.getHeaderRowContainerCtrl()?.getAllCtrls(),r=$(s||[]).getType()==="filter",n=this.getHeaderRowCount()-1,a=-1,l=i;for(;l;)a++,l=l.getParent();let c=a;return t&&r&&c===n-1&&c++,c===-1?null:{headerRowIndex:c,column:i}}navigateVertically(e,t,i){if(t||(t=this.focusService.getFocusedHeader()),!t)return!1;let{headerRowIndex:o}=t,s=t.column,r=this.getHeaderRowCount(),n=e===0,{headerRowIndex:a,column:l,headerRowIndexWithoutSpan:c}=n?this.headerPositionUtils.getColumnVisibleParent(s,o):this.headerPositionUtils.getColumnVisibleChild(s,o),d=!1;return a<0&&(a=0,l=s,d=!0),a>=r?(a=-1,this.setCurrentHeaderRowWithoutSpan(-1)):c!==void 0&&(this.currentHeaderRowWithoutSpan=c),!d&&!l?!1:this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:a,column:l},allowUserOverride:!0,event:i})}setCurrentHeaderRowWithoutSpan(e){this.currentHeaderRowWithoutSpan=e}navigateHorizontally(e,t=!1,i){let o=this.focusService.getFocusedHeader(),s=e===2,r=this.gos.get("enableRtl"),n,a;if(this.currentHeaderRowWithoutSpan!==-1?o.headerRowIndex=this.currentHeaderRowWithoutSpan:this.currentHeaderRowWithoutSpan=o.headerRowIndex,s!==r?(a="Before",n=this.headerPositionUtils.findHeader(o,a)):(a="After",n=this.headerPositionUtils.findHeader(o,a)),n||!t)return this.focusService.focusHeaderPosition({headerPosition:n,direction:a,fromTab:t,allowUserOverride:!0,event:i});if(t){let l=this.gos.getCallback("tabToNextHeader");if(l)return this.focusService.focusHeaderPositionFromUserFunc({userFunc:l,headerPosition:n,direction:a})}return this.focusNextHeaderRow(o,a,i)}focusNextHeaderRow(e,t,i){let o=e.headerRowIndex,s=null,r;if(t==="Before"?o>0&&(r=o-1,this.currentHeaderRowWithoutSpan-=1,s=this.headerPositionUtils.findColAtEdgeForHeaderRow(r,"end")):(r=o+1,this.currentHeaderRowWithoutSpan<this.getHeaderRowCount()?this.currentHeaderRowWithoutSpan+=1:this.setCurrentHeaderRowWithoutSpan(-1),s=this.headerPositionUtils.findColAtEdgeForHeaderRow(r,"start")),!s)return!1;let{column:n,headerRowIndex:a}=this.headerPositionUtils.getHeaderIndexToFocus(s.column,s?.headerRowIndex);return this.focusService.focusHeaderPosition({headerPosition:{column:n,headerRowIndex:a},direction:t,fromTab:!0,allowUserOverride:!0,event:i})}scrollToColumn(e,t="After"){if(e.getPinned())return;let i;if(Se(e)){let o=e.getDisplayedLeafColumns();i=t==="Before"?$(o):o[0]}else i=e;this.gridBodyCon.getScrollFeature().ensureColumnVisible(i)}},xa=class extends b{wireBeans(e){this.animationFrameService=e.animationFrameService,this.headerNavigationService=e.headerNavigationService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService,this.filterManager=e.filterManager,this.menuService=e.menuService}setComp(e,t,i){this.comp=e,this.eGui=t,this.createManagedBean(new jt(i,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),this.onPivotModeChanged(),this.setupHeaderHeight();let o=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:o}),this.mockContextMenuForIPad(o),this.ctrlsService.register("gridHeaderCtrl",this)}setupHeaderHeight(){let e=this.setHeaderHeight.bind(this);e(),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],e),this.addManagedEventListeners({displayedColumnsChanged:e,columnHeaderHeightChanged:e,columnGroupHeaderHeightChanged:()=>this.animationFrameService.requestAnimationFrame(()=>e()),gridStylesChanged:e,advancedFilterEnabledChanged:e})}getHeaderHeight(){return this.headerHeight}setHeaderHeight(){let{columnModel:e}=this,t=0,i=this.columnModel.getGroupRowsHeight().reduce((r,n)=>r+n,0),o=this.columnModel.getColumnHeaderRowHeight();if(this.filterManager?.hasFloatingFilters()&&(t+=e.getFloatingFiltersHeight()),t+=i,t+=o,this.headerHeight===t)return;this.headerHeight=t;let s=`${t+1}px`;this.comp.setHeightAndMinHeight(s),this.eventService.dispatchEvent({type:"headerHeightChanged"})}onPivotModeChanged(){let e=this.columnModel.isPivotMode();this.comp.addOrRemoveCssClass("ag-pivot-on",e),this.comp.addOrRemoveCssClass("ag-pivot-off",!e)}onDisplayedColumnsChanged(){let t=this.visibleColsService.getAllCols().some(i=>i.isSpanHeaderHeight());this.comp.addOrRemoveCssClass("ag-header-allow-overflow",t)}onTabKeyDown(e){let t=this.gos.get("enableRtl"),i=e.shiftKey,o=i!==t?2:3;(this.headerNavigationService.navigateHorizontally(o,!0,e)||!i&&this.focusService.focusOverlay(!1)||this.focusService.focusNextGridCoreContainer(i,!0))&&e.preventDefault()}handleKeyDown(e){let t=null;switch(e.key){case y.LEFT:t=2;case y.RIGHT:{M(t)||(t=3),this.headerNavigationService.navigateHorizontally(t,!1,e)&&e.preventDefault();break}case y.UP:t=0;case y.DOWN:{M(t)||(t=1),this.headerNavigationService.navigateVertically(t,null,e)&&e.preventDefault();break}default:return}}onFocusOut(e){let{relatedTarget:t}=e;!t&&this.eGui.contains(fe(this.gos))||this.eGui.contains(t)||this.focusService.clearFocusedHeader()}onHeaderContextMenu(e,t,i){if(!e&&!i||!this.menuService.isHeaderContextMenuEnabled())return;let{target:o}=e??t;(o===this.eGui||o===this.ctrlsService.getHeaderRowContainerCtrl()?.getViewportElement())&&this.menuService.showHeaderContextMenu(void 0,e,i)}mockContextMenuForIPad(e){if(!Tt())return;let t=new xt(this.eGui),i=o=>{e(void 0,o.touchStart,o.touchEvent)};this.addManagedListeners(t,{longTap:i}),this.addDestroyFunc(()=>t.destroy())}},Ks=class extends b{constructor(e,t=!1){super(),this.callback=e,this.addSpacer=t}wireBeans(e){this.visibleColsService=e.visibleColsService,this.scrollVisibleService=e.scrollVisibleService}postConstruct(){let e=this.setWidth.bind(this);this.addManagedPropertyListener("domLayout",e),this.addManagedEventListeners({columnContainerWidthChanged:e,displayedColumnsChanged:e,leftPinnedWidthChanged:e}),this.addSpacer&&this.addManagedEventListeners({rightPinnedWidthChanged:e,scrollVisibilityChanged:e,scrollbarWidthChanged:e}),this.setWidth()}setWidth(){let e=Re(this.gos,"print"),t=this.visibleColsService.getBodyContainerWidth(),i=this.visibleColsService.getColsLeftWidth(),o=this.visibleColsService.getDisplayedColumnsRightWidth(),s;e?s=t+i+o:(s=t,this.addSpacer&&(this.gos.get("enableRtl")?i:o)===0&&this.scrollVisibleService.isVerticalScrollShowing()&&(s+=this.scrollVisibleService.getScrollbarWidth())),this.callback(s)}},ju=class extends b{constructor(e){super(),this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[],this.pinned=e}wireBeans(e){this.funcColsService=e.funcColsService}onDragEnter(e){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;let t=e.dragItem.columns;t&&t.forEach(i=>{i.isPrimary()&&(i.isAnyFunctionActive()||(i.isAllowValue()?this.columnsToAggregate.push(i):i.isAllowRowGroup()?this.columnsToGroup.push(i):i.isAllowPivot()&&this.columnsToPivot.push(i)))})}getIconName(){return this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0?this.pinned?"pinned":"move":null}onDragLeave(e){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging(e){}onDragStop(e){this.columnsToAggregate.length>0&&this.funcColsService.addValueColumns(this.columnsToAggregate,"toolPanelDragAndDrop"),this.columnsToGroup.length>0&&this.funcColsService.addRowGroupColumns(this.columnsToGroup,"toolPanelDragAndDrop"),this.columnsToPivot.length>0&&this.funcColsService.addPivotColumns(this.columnsToPivot,"toolPanelDragAndDrop")}onDragCancel(){this.clearColumnsList()}};function Da(e){let{isFromHeader:t,fromLeft:i,xPosition:o,fromEnter:s,fakeEvent:r,pinned:n,gos:a,columnModel:l,columnMoveService:c,visibleColsService:d}=e,{allMovingColumns:u}=e;if(t){let P=[];u.forEach(T=>{let x=null,A=T.getParent();for(;A!=null&&A.getDisplayedLeafColumns().length===1;)x=A,A=A.getParent();x!=null?(!!x.getColGroupDef()?.marryChildren?x.getProvidedColumnGroup().getLeafColumns():x.getLeafColumns()).forEach(O=>{P.includes(O)||P.push(O)}):P.includes(T)||P.push(T)}),u=P}let h=u.slice();l.sortColsLikeCols(h);let g=Qu({movingCols:h,draggingRight:i,xPosition:o,pinned:n,gos:a,columnModel:l,visibleColsService:d}),f=Ku(h,l);if(g.length===0)return;let m=g[0],p=f!==null&&!s;if(t&&(p=f!==null),p&&!r&&(!i&&m>=f||i&&m<=f))return;let v=d.getAllCols(),w=[],C=null;for(let P=0;P<g.length;P++){let T=g[P],x=c.getProposedColumnOrder(h,T);if(!c.doesOrderPassRules(x))continue;let A=x.filter(k=>v.includes(k));if(C===null)C=A;else if(!Pt(A,C))break;let L=Yu(x);w.push({move:T,fragCount:L})}if(w.length===0)return;w.sort((P,T)=>P.fragCount-T.fragCount);let R=w[0].move;if(!(R>l.getCols().length-u.length))return{columns:u,toIndex:R}}function Ys(e){let{columns:t,toIndex:i}=Da(e)||{},{finished:o,columnMoveService:s}=e;return!t||i==null?null:(s.moveColumns(t,i,"uiColumnMoved",o),o?null:{columns:t,toIndex:i})}function Ku(e,t){let i=t.getCols(),o=Vl(e.map(l=>i.indexOf(l))),s=o[0];return $(o)-s!==o.length-1?null:s}function Yu(e){function t(o){let s=[],r=o.getOriginalParent();for(;r!=null;)s.push(r),r=r.getOriginalParent();return s}let i=0;for(let o=0;o<e.length-1;o++){let s=t(e[o]),r=t(e[o+1]);[s,r]=s.length>r.length?[s,r]:[r,s],s.forEach(n=>{r.indexOf(n)===-1&&i++})}return i}function $u(e,t){switch(t){case"left":return e.getLeftCols();case"right":return e.getRightCols();default:return e.getCenterCols()}}function Qu(e){let{movingCols:t,draggingRight:i,xPosition:o,pinned:s,gos:r,columnModel:n,visibleColsService:a}=e;if(r.get("suppressMovableColumns")||t.some(C=>C.getColDef().suppressMovable))return[];let c=$u(a,s),d=n.getCols(),u=c.filter(C=>Ht(t,C)),h=c.filter(C=>!Ht(t,C)),g=d.filter(C=>!Ht(t,C)),f=0,m=o;if(i){let C=0;u.forEach(R=>C+=R.getActualWidth()),m-=C}if(m>0){for(let C=0;C<h.length;C++){let R=h[C];if(m-=R.getActualWidth(),m<0)break;f++}i&&f++}let p;if(f>0){let C=h[f-1];p=g.indexOf(C)+1}else p=g.indexOf(h[0]),p===-1&&(p=0);let v=[p],w=(C,R)=>C-R;if(i){let C=p+1,R=d.length-1;for(;C<=R;)v.push(C),C++;v.sort(w)}else{let C=p,R=d.length-1,P=d[C];for(;C<=R&&c.indexOf(P)<0;)C++,v.push(C),P=d[C];C=p-1;let T=0;for(;C>=T;)v.push(C),C--;v.sort(w).reverse()}return v}function po(e){let{pinned:t,fromKeyboard:i,gos:o,ctrlsService:s,useHeaderRow:r,skipScrollPadding:n}=e,a=s.getHeaderRowContainerCtrl(t)?.getViewportElement(),{x:l}=e;return a?(i&&(l-=a.getBoundingClientRect().left),o.get("enableRtl")&&(r&&(a=a.querySelector(".ag-header-row")),l=a.clientWidth-l),t==null&&!n&&(l+=s.get("center").getCenterViewportScrollLeft()),l):0}function ti(e,t){for(let i of e)i.setMoving(t,"uiColumnMoved")}var Qr=7,ps=100,ji=ps/2,qu=5,Ju=100,Xu=class extends b{constructor(e){super(),this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.pinned=e,this.isCenterContainer=!M(e)}wireBeans(e){this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnMoveService=e.columnMoveService,this.dragAndDropService=e.dragAndDropService,this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl})}getIconName(){let e=this.lastDraggingEvent?.dragItem.columns??[];for(let t of e){let i=t.getPinned();if(t.getColDef().lockPinned){if(i==this.pinned)return"move";continue}if(i===this.pinned||!this.pinned)return"move";if(!i&&this.pinned)return"pinned"}return"notAllowed"}onDragEnter(e){let t=e.dragItem.columns;if(e.dragSource.type===0)this.setColumnsVisible(t,!0,"uiColumnDragged");else{let o=e.dragItem.visibleState,s=(t||[]).filter(r=>o[r.getId()]);this.setColumnsVisible(s,!0,"uiColumnDragged")}this.gos.get("suppressMoveWhenColumnDragging")||this.attemptToPinColumns(t,this.pinned),this.onDragging(e,!0,!0)}onDragging(e=this.lastDraggingEvent,t=!1,i=!1,o=!1){let s=this.gos.get("suppressMoveWhenColumnDragging");if(o&&!s){this.finishColumnMoving();return}if(this.lastDraggingEvent=e,!e||!o&&K(e.hDirection))return;let{pinned:r,gos:n,ctrlsService:a}=this,l=po({x:e.x,pinned:r,gos:n,ctrlsService:a});t||this.checkCenterForScrolling(l),s?this.handleColumnDragWhileSuppressingMovement(e,t,i,l,o):this.handleColumnDragWhileAllowingMovement(e,t,i,l,o)}onDragLeave(){this.ensureIntervalCleared(),this.clearHighlighted(),this.lastMovedInfo=null}onDragStop(){this.onDragging(this.lastDraggingEvent,!1,!0,!0),this.ensureIntervalCleared(),this.lastMovedInfo=null}onDragCancel(){this.clearHighlighted(),this.ensureIntervalCleared(),this.lastMovedInfo=null}setColumnsVisible(e,t,i){if(!e)return;let o=e.filter(s=>!s.getColDef().lockVisible);this.columnModel.setColsVisible(o,t,i)}finishColumnMoving(){if(this.clearHighlighted(),!this.lastMovedInfo)return;let{columns:e,toIndex:t}=this.lastMovedInfo;this.columnMoveService.moveColumns(e,t,"uiColumnMoved",!0)}handleColumnDragWhileSuppressingMovement(e,t,i,o,s){let r=this.getAllMovingColumns(e,!0);if(s){let n=this.isAttemptingToPin(r);n&&this.attemptToPinColumns(r,void 0,!0);let{fromLeft:a,xPosition:l}=this.getNormalisedXPositionInfo(r,n)||{};if(a==null||l==null){this.finishColumnMoving();return}this.moveColumnsAfterHighlight({allMovingColumns:r,xPosition:l,fromEnter:t,fakeEvent:i,fromLeft:a})}else{if(!this.dragAndDropService.isDropZoneWithinThisGrid(e))return;this.highlightHoveredColumn(r,o)}}handleColumnDragWhileAllowingMovement(e,t,i,o,s){let r=this.getAllMovingColumns(e),n=this.normaliseDirection(e.hDirection)===1,a=e.dragSource.type===1,l=this.getMoveColumnParams({allMovingColumns:r,isFromHeader:a,xPosition:o,fromLeft:n,fromEnter:t,fakeEvent:i}),c=Ys({...l,finished:s});c&&(this.lastMovedInfo=c)}getAllMovingColumns(e,t=!1){let i=e.dragSource.getDragItem(),o=null;t?(o=i.columnsInSplit,o||(o=i.columns)):o=i.columns;let s=r=>r.getColDef().lockPinned?r.getPinned()==this.pinned:!0;return o?o.filter(s):[]}getMoveColumnParams(e){let{allMovingColumns:t,isFromHeader:i,xPosition:o,fromLeft:s,fromEnter:r,fakeEvent:n}=e,{pinned:a,gos:l,columnModel:c,columnMoveService:d,visibleColsService:u}=this;return{allMovingColumns:t,isFromHeader:i,fromLeft:s,xPosition:o,pinned:a,fromEnter:r,fakeEvent:n,gos:l,columnModel:c,columnMoveService:d,visibleColsService:u}}findFirstAndLastMovingColumns(e){let t=e.length,i,o;for(let s=0;s<=t;s++){if(!i){let r=e[s];r.getLeft()!=null&&(i=r)}if(!o){let r=e[t-1-s];r.getLeft()!=null&&(o=r)}if(i&&o)break}return{firstMovingCol:i,lastMovingCol:o}}highlightHoveredColumn(e,t){let{gos:i,columnModel:o}=this,s=i.get("enableRtl"),r=o.getCols().filter(d=>d.isVisible()&&d.getPinned()===this.pinned),n=null,a=null,l=null;for(let d of r){if(a=d.getActualWidth(),n=this.getNormalisedColumnLeft(d,0,s),n!=null){let u=n+a;if(n<=t&&u>=t){l=d;break}}n=null,a=null}if(l)e.indexOf(l)!==-1&&(l=null);else{for(let d=r.length-1;d>=0;d--){let u=r[d],h=r[d].getParent();if(!h){l=u;break}let g=h?.getDisplayedLeafColumns();if(g.length){l=$(g);break}}if(!l)return;n=this.getNormalisedColumnLeft(l,0,s),a=l.getActualWidth()}if(this.lastHighlightedColumn?.column!==l&&this.clearHighlighted(),l==null||n==null||a==null)return;let c;t-n<a/2!==s?c=0:c=1,l.setHighlighted(c),this.lastHighlightedColumn={column:l,position:c}}getNormalisedXPositionInfo(e,t){let{gos:i,visibleColsService:o}=this,s=i.get("enableRtl"),{firstMovingCol:r,column:n,position:a}=this.getColumnMoveAndTargetInfo(e,t,s);if(!r||!n||a==null)return;let l=o.getAllCols(),c=l.indexOf(r),d=l.indexOf(n),u=a===0!==s,h=c<d||c===d&&!u,g=0;if(u?h&&(g-=1):h||(g+=1),d+g===c)return;let f=l[d+g];if(!f)return;let m=this.getNormalisedColumnLeft(f,20,s);return{fromLeft:h,xPosition:m}}getColumnMoveAndTargetInfo(e,t,i){let o=this.lastHighlightedColumn||{},{firstMovingCol:s,lastMovingCol:r}=this.findFirstAndLastMovingColumns(e);if(!s||!r||o.column||!t)return{firstMovingCol:s,...o};let a=this.getPinDirection()==="left";return{firstMovingCol:s,position:a?1:0,column:a!==i?s:r}}normaliseDirection(e){if(this.gos.get("enableRtl"))switch(e){case 0:return 1;case 1:return 0}return e}getNormalisedColumnLeft(e,t,i){let{gos:o,ctrlsService:s}=this,r=e.getLeft();if(r==null)return null;let n=e.getActualWidth();return po({x:i?r+n-t:r+t,pinned:e.getPinned(),useHeaderRow:i,skipScrollPadding:!0,gos:o,ctrlsService:s})}isAttemptingToPin(e){let t=this.needToMoveLeft||this.needToMoveRight,i=this.failedMoveAttempts>Qr;return t&&i||e.some(o=>o.getPinned()!==this.pinned)}moveColumnsAfterHighlight(e){let{allMovingColumns:t,xPosition:i,fromEnter:o,fakeEvent:s,fromLeft:r}=e,n=this.getMoveColumnParams({allMovingColumns:t,isFromHeader:!0,xPosition:i,fromLeft:r,fromEnter:o,fakeEvent:s}),{columns:a,toIndex:l}=Da(n)||{};a&&l!=null&&(this.lastMovedInfo={columns:a,toIndex:l}),this.finishColumnMoving()}clearHighlighted(){this.lastHighlightedColumn&&(this.lastHighlightedColumn.column.setHighlighted(null),this.lastHighlightedColumn=null)}checkCenterForScrolling(e){if(!this.isCenterContainer)return;let t=this.ctrlsService.get("center"),i=t.getCenterViewportScrollLeft(),o=i+t.getCenterWidth();this.gos.get("enableRtl")?(this.needToMoveRight=e<i+ji,this.needToMoveLeft=e>o-ji):(this.needToMoveLeft=e<i+ji,this.needToMoveRight=e>o-ji),this.needToMoveLeft||this.needToMoveRight?this.ensureIntervalStarted():this.ensureIntervalCleared()}ensureIntervalStarted(){this.movingIntervalId||(this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),Ju),this.dragAndDropService.getDragAndDropImageComponent()?.setIcon(this.needToMoveLeft?"left":"right",!0))}ensureIntervalCleared(){this.movingIntervalId&&(window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.failedMoveAttempts=0,this.dragAndDropService.getDragAndDropImageComponent()?.setIcon(this.getIconName()))}moveInterval(){let e;this.intervalCount++,e=10+this.intervalCount*qu,e>ps&&(e=ps);let t=null,i=this.gridBodyCon.getScrollFeature();if(this.needToMoveLeft?t=i.scrollHorizontally(-e):this.needToMoveRight&&(t=i.scrollHorizontally(e)),t!==0)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{if(this.failedMoveAttempts++,this.failedMoveAttempts<=Qr+1)return;if(this.dragAndDropService.getDragAndDropImageComponent()?.setIcon("pinned"),!this.gos.get("suppressMoveWhenColumnDragging")){let o=this.lastDraggingEvent?.dragItem.columns;this.attemptToPinColumns(o,void 0,!0)}}}getPinDirection(){if(this.needToMoveLeft||this.pinned==="left")return"left";if(this.needToMoveRight||this.pinned==="right")return"right"}attemptToPinColumns(e,t,i=!1){let o=(e||[]).filter(s=>!s.getColDef().lockPinned);return o.length?(i&&(t=this.getPinDirection()),this.columnModel.setColsPinned(o,t,"uiColumnDragged"),i&&this.dragAndDropService.nudge(),o.length):0}destroy(){super.destroy(),this.lastDraggingEvent=null,this.clearHighlighted(),this.lastMovedInfo=null}},Zu=class extends b{wireBeans(e){this.dragAndDropService=e.dragAndDropService,this.columnModel=e.columnModel,this.ctrlsService=e.ctrlsService}constructor(e,t){super(),this.pinned=e,this.eContainer=t}postConstruct(){this.ctrlsService.whenReady(this,e=>{switch(this.pinned){case"left":this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.left.getContainerElement()],[e.bottomLeft.getContainerElement()],[e.topLeft.getContainerElement()]];break;case"right":this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.right.getContainerElement()],[e.bottomRight.getContainerElement()],[e.topRight.getContainerElement()]];break;default:this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.center.getViewportElement()],[e.bottomCenter.getViewportElement()],[e.topCenter.getViewportElement()]];break}}),this.moveColumnFeature=this.createManagedBean(new Xu(this.pinned)),this.bodyDropPivotTarget=this.createManagedBean(new ju(this.pinned)),this.dragAndDropService.addDropTarget(this),this.addDestroyFunc(()=>this.dragAndDropService.removeDropTarget(this))}isInterestedIn(e){return e===1||e===0&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(e){return this.columnModel.isPivotMode()&&e.dragSource.type===0}onDragEnter(e){this.currentDropListener=this.isDropColumnInPivotMode(e)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter(e)}onDragLeave(e){this.currentDropListener.onDragLeave(e)}onDragging(e){this.currentDropListener.onDragging(e)}onDragStop(e){this.currentDropListener.onDragStop(e)}onDragCancel(){this.currentDropListener.onDragCancel()}},eh=class extends b{wireBeans(e){this.horizontalResizeService=e.horizontalResizeService,this.pinnedWidthService=e.pinnedWidthService,this.ctrlsService=e.ctrlsService,this.columnSizeService=e.columnSizeService,this.columnAutosizeService=e.columnAutosizeService}constructor(e,t,i,o,s){super(),this.pinned=e,this.column=t,this.eResize=i,this.comp=o,this.ctrl=s}postConstruct(){let e=[],t,i,o=()=>{if(pe(this.eResize,t),!t)return;let n=this.horizontalResizeService.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(e.push(n),i){let a=this.gos.get("skipHeaderOnAutoSize"),l=()=>{this.columnAutosizeService.autoSizeColumn(this.column,"uiColumnResized",a)};this.eResize.addEventListener("dblclick",l);let c=new xt(this.eResize);c.addEventListener("doubleTap",l),e.push(()=>{this.eResize.removeEventListener("dblclick",l),c.removeEventListener("doubleTap",l),c.destroy()})}},s=()=>{e.forEach(n=>n()),e.length=0},r=()=>{let n=this.column.isResizable(),a=!this.gos.get("suppressAutoSize")&&!this.column.getColDef().suppressAutoSize;(n!==t||a!==i)&&(t=n,i=a,s(),o())};r(),this.addDestroyFunc(s),this.ctrl.setRefreshFunction("resize",r)}onResizing(e,t){let{column:i,lastResizeAmount:o,resizeStartWidth:s}=this,r=this.normaliseResizeAmount(t),n=s+r,a=[{key:i,newWidth:n}];if(this.column.getPinned()){let l=this.pinnedWidthService.getPinnedLeftWidth(),c=this.pinnedWidthService.getPinnedRightWidth(),d=Gi(this.ctrlsService.getGridBodyCtrl().getBodyViewportElement())-50;if(l+c+(r-o)>d)return}this.lastResizeAmount=r,this.columnSizeService.setColumnWidths(a,this.resizeWithShiftKey,e,"uiColumnResized"),e&&this.toggleColumnResizing(!1)}onResizeStart(e){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=e,this.toggleColumnResizing(!0)}toggleColumnResizing(e){this.comp.addOrRemoveCssClass("ag-column-resizing",e)}normaliseResizeAmount(e){let t=e,i=this.pinned!=="left",o=this.pinned==="right";return this.gos.get("enableRtl")?i&&(t*=-1):o&&(t*=-1),t}},th=class extends b{constructor(e){super(),this.cbSelectAllVisible=!1,this.processingEventFromCheckbox=!1,this.column=e}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}onSpaceKeyDown(e){let t=this.cbSelectAll;t.isDisplayed()&&!t.getGui().contains(fe(this.gos))&&(e.preventDefault(),t.setValue(!t.getValue()))}getCheckboxGui(){return this.cbSelectAll.getGui()}setComp(e){this.headerCellCtrl=e,this.cbSelectAll=this.createManagedBean(new Os),this.cbSelectAll.addCssClass("ag-header-select-all"),Xe(this.cbSelectAll.getGui(),"presentation"),this.showOrHideSelectAll(),this.addManagedEventListeners({newColumnsLoaded:this.onNewColumnsLoaded.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),selectionChanged:this.onSelectionChanged.bind(this),paginationChanged:this.onSelectionChanged.bind(this),modelUpdated:this.onModelChanged.bind(this)}),this.addManagedListeners(this.cbSelectAll,{fieldValueChanged:this.onCbSelectAll.bind(this)}),this.cbSelectAll.getInputElement().setAttribute("tabindex","-1"),this.refreshSelectAllLabel()}onNewColumnsLoaded(){this.showOrHideSelectAll()}onDisplayedColumnsChanged(){this.isAlive()&&this.showOrHideSelectAll()}showOrHideSelectAll(){this.cbSelectAllVisible=this.isCheckboxSelection(),this.cbSelectAll.setDisplayed(this.cbSelectAllVisible),this.cbSelectAllVisible&&(this.checkRightRowModelType("selectAllCheckbox"),this.checkSelectionType("selectAllCheckbox"),this.updateStateOfCheckbox()),this.refreshSelectAllLabel()}onModelChanged(){this.cbSelectAllVisible&&this.updateStateOfCheckbox()}onSelectionChanged(){this.cbSelectAllVisible&&this.updateStateOfCheckbox()}updateStateOfCheckbox(){if(this.processingEventFromCheckbox)return;this.processingEventFromCheckbox=!0;let e=this.selectionService.getSelectAllState(this.isFilteredOnly(),this.isCurrentPageOnly());this.cbSelectAll.setValue(e);let t=this.selectionService.hasNodesToSelect(this.isFilteredOnly(),this.isCurrentPageOnly());this.cbSelectAll.setDisabled(!t),this.refreshSelectAllLabel(),this.processingEventFromCheckbox=!1}refreshSelectAllLabel(){let e=this.localeService.getLocaleTextFunc(),i=this.cbSelectAll.getValue()?e("ariaChecked","checked"):e("ariaUnchecked","unchecked"),o=e("ariaRowSelectAll","Press Space to toggle all rows selection");this.cbSelectAllVisible?this.headerCellCtrl.setAriaDescriptionProperty("selectAll",`${o} (${i})`):this.headerCellCtrl.setAriaDescriptionProperty("selectAll",null),this.cbSelectAll.setInputAriaLabel(e("ariaHeaderSelection","Column with Header Selection")),this.headerCellCtrl.announceAriaDescription()}checkSelectionType(e){return gn(this.gos)?!0:(S(`${e} is only available if using 'multiRow' selection mode.`),!1)}checkRightRowModelType(e){return de(this.gos)||mt(this.gos)?!0:(S(`${e} is only available if using 'clientSide' or 'serverSide' rowModelType, you are using ${this.rowModel.getType()}.`),!1)}onCbSelectAll(){if(this.processingEventFromCheckbox||!this.cbSelectAllVisible)return;let e=this.cbSelectAll.getValue(),t=this.isFilteredOnly(),i=this.isCurrentPageOnly(),o="uiSelectAll";i?o="uiSelectAllCurrentPage":t&&(o="uiSelectAllFiltered");let s={source:o,justFiltered:t,justCurrentPage:i};e?this.selectionService.selectAllRowNodes(s):this.selectionService.deselectAllRowNodes(s)}isCheckboxSelection(){let e=this.gos.get("rowSelection"),t=typeof e=="object"&&so(e)&&Pi(this.column),i=this.column.getColDef().headerCheckboxSelection,o=!1;return t?o=!0:typeof i=="function"?o=i(this.gos.addGridCommonParams({column:this.column,colDef:this.column.getColDef()})):o=!!i,o&&this.checkRightRowModelType(t?"headerCheckbox":"headerCheckboxSelection")&&this.checkSelectionType(t?"headerCheckbox":"headerCheckboxSelection")}isFilteredOnly(){let e=this.gos.get("rowSelection");return typeof e=="object"?e.mode==="multiRow"&&e.selectAll==="filtered":!!this.column.getColDef().headerCheckboxSelectionFilteredOnly}isCurrentPageOnly(){let e=this.gos.get("rowSelection");return typeof e=="object"?e.mode==="multiRow"&&e.selectAll==="currentPage":!!this.column.getColDef().headerCheckboxSelectionCurrentPageOnly}},ih=class extends Ro{constructor(e,t,i){super(e,t,i),this.refreshFunctions={},this.userHeaderClasses=new Set,this.ariaDescriptionProperties=new Map,this.column=e}setComp(e,t,i,o,s){this.comp=e,s=Oi(this,this.beans.context,s),this.setGui(t,s),this.updateState(),this.setupWidth(s),this.setupMovingCss(s),this.setupMenuClass(s),this.setupSortableClass(s),this.setupWrapTextClass(),this.refreshSpanHeaderHeight(),this.setupAutoHeight({wrapperElement:o,checkMeasuringCallback:n=>this.setRefreshFunction("measuring",n),compBean:s}),this.addColumnHoverListener(s),this.setupFilterClass(s),this.setupClassesFromColDef(),this.setupTooltip(s),this.addActiveHeaderMouseListeners(s),this.setupSelectAll(s),this.setupUserComp(s),this.refreshAria(),this.resizeFeature=s.createManagedBean(new eh(this.getPinned(),this.column,i,e,this)),s.createManagedBean(new Us([this.column],t)),s.createManagedBean(new Ws(this.column,t,this.beans)),s.createManagedBean(new jt(t,{shouldStopEventPropagation:n=>this.shouldStopEventPropagation(n),onTabKeyDown:()=>null,handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addResizeAndMoveKeyboardListeners(s),s.addManagedPropertyListeners(["suppressMovableColumns","suppressMenuHide","suppressAggFuncInHeader"],()=>this.refresh(s)),s.addManagedListeners(this.column,{colDefChanged:()=>this.refresh(s)}),s.addManagedListeners(this.column,{headerHighlightChanged:this.onHeaderHighlightChanged.bind(this)});let r=()=>this.checkDisplayName(s);s.addManagedEventListeners({columnValueChanged:r,columnRowGroupChanged:r,columnPivotChanged:r,headerHeightChanged:this.onHeaderHeightChanged.bind(this)}),s.addDestroyFunc(()=>{this.refreshFunctions={},this.selectAllFeature=null,this.dragSourceElement=void 0,this.userCompDetails=null,this.userHeaderClasses.clear(),this.ariaDescriptionProperties.clear(),this.clearComponent()})}resizeHeader(e,t){if(!this.column.isResizable())return;let i=this.column.getActualWidth(),o=this.column.getMinWidth(),s=this.column.getMaxWidth(),r=Math.min(Math.max(i+e,o),s);this.beans.columnSizeService.setColumnWidths([{key:this.column,newWidth:r}],t,!0,"uiColumnResized")}moveHeader(e){let{eGui:t,beans:i,column:o,ctrlsService:s}=this,{gos:r,columnModel:n,columnMoveService:a,visibleColsService:l}=i,c=this.getPinned(),d=t.getBoundingClientRect().left,u=o.getActualWidth(),h=r.get("enableRtl"),f=po({x:e===0!==h?d-20:d+u+20,pinned:c,fromKeyboard:!0,gos:r,ctrlsService:s}),m=this.focusService.getFocusedHeader();Ys({allMovingColumns:[o],isFromHeader:!0,fromLeft:e===1,xPosition:f,pinned:c,fromEnter:!1,fakeEvent:!1,gos:r,columnModel:n,columnMoveService:a,visibleColsService:l,finished:!0}),s.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(o,"auto"),(!this.isAlive()||this.beans.gos.get("ensureDomOrder"))&&m&&this.restoreFocus(m)}restoreFocus(e){this.focusService.focusHeaderPosition({headerPosition:{...e,column:this.column}})}setupUserComp(e){let t=this.lookupUserCompDetails(e);this.setCompDetails(t)}setCompDetails(e){this.userCompDetails=e,this.comp.setUserCompDetails(e)}lookupUserCompDetails(e){let t=this.createParams(e),i=this.column.getColDef();return this.userComponentFactory.getHeaderCompDetails(i,t)}createParams(e){return this.gos.addGridCommonParams({column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&this.menuService.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!this.openFilterEnabled||this.menuService.isLegacyMenuEnabled(),showColumnMenu:i=>{this.menuService.showColumnMenu({column:this.column,buttonElement:i,positionBy:"button"})},showColumnMenuAfterMouseClick:i=>{this.menuService.showColumnMenu({column:this.column,mouseEvent:i,positionBy:"mouse"})},showFilter:i=>{this.menuService.showFilterMenu({column:this.column,buttonElement:i,containerType:"columnFilter",positionBy:"button"})},progressSort:i=>{this.beans.sortController.progressSort(this.column,!!i,"uiColumnSorted")},setSort:(i,o)=>{this.beans.sortController.setSortForColumn(this.column,i,!!o,"uiColumnSorted")},eGridHeader:this.getGui(),setTooltip:(i,o)=>{this.setupTooltip(e,i,o)}})}setupSelectAll(e){this.selectAllFeature=e.createManagedBean(new th(this.column)),this.selectAllFeature.setComp(this)}getSelectAllGui(){return this.selectAllFeature.getCheckboxGui()}handleKeyDown(e){super.handleKeyDown(e),e.key===y.SPACE&&this.selectAllFeature.onSpaceKeyDown(e),e.key===y.ENTER&&this.onEnterKeyDown(e),e.key===y.DOWN&&e.altKey&&this.showMenuOnKeyPress(e,!1)}onEnterKeyDown(e){if(e.ctrlKey||e.metaKey)this.showMenuOnKeyPress(e,!0);else if(this.sortable){let t=e.shiftKey;this.beans.sortController.progressSort(this.column,t,"uiColumnSorted")}}showMenuOnKeyPress(e,t){let i=this.comp.getUserCompInstance();!i||!(i instanceof ds)||i.onMenuKeyboardShortcut(t)&&e.preventDefault()}onFocusIn(e){if(!this.getGui().contains(e.relatedTarget)){let t=this.getRowIndex();this.focusService.setFocusedHeader(t,this.column),this.announceAriaDescription()}this.focusService.isKeyboardMode()&&this.setActiveHeader(!0)}onFocusOut(e){this.getGui().contains(e.relatedTarget)||this.setActiveHeader(!1)}setupTooltip(e,t,i){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature));let o=this.gos.get("tooltipShowMode")==="whenTruncated",s=this.eGui,r=this.column.getColDef();!i&&o&&!r.headerComponent&&(i=()=>{let l=s.querySelector(".ag-header-cell-text");return l?l.scrollWidth>l.clientWidth:!0});let n={getColumn:()=>this.column,getColDef:()=>this.column.getColDef(),getGui:()=>s,getLocation:()=>"header",getTooltipValue:()=>t??this.column.getColDef().headerTooltip,shouldDisplayTooltip:i},a=e.createManagedBean(new ai(n));this.setRefreshFunction("tooltip",()=>a.refreshToolTip())}setupClassesFromColDef(){let e=()=>{let t=this.column.getColDef(),i=va(t,this.gos,this.column,null),o=this.userHeaderClasses;this.userHeaderClasses=new Set(i),i.forEach(s=>{o.has(s)?o.delete(s):this.comp.addOrRemoveCssClass(s,!0)}),o.forEach(s=>this.comp.addOrRemoveCssClass(s,!1))};this.setRefreshFunction("headerClasses",e),e()}setDragSource(e){if(this.dragSourceElement=e,this.removeDragSource(),!e||!this.draggable)return;let{column:t,beans:i,displayName:o,dragAndDropService:s,gos:r}=this,{columnModel:n}=i,a=!this.gos.get("suppressDragLeaveHidesColumns"),l=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>a?"hide":"notAllowed",getDragItem:()=>this.createDragItem(t),dragItemName:o,onDragStarted:()=>{a=!r.get("suppressDragLeaveHidesColumns"),ti([t],!0)},onDragStopped:()=>ti([t],!1),onDragCancelled:()=>ti([t],!1),onGridEnter:c=>{if(a){let d=c?.columns?.filter(u=>!u.getColDef().lockVisible)||[];n.setColsVisible(d,!0,"uiColumnMoved")}},onGridExit:c=>{if(a){let d=c?.columns?.filter(u=>!u.getColDef().lockVisible)||[];n.setColsVisible(d,!1,"uiColumnMoved")}}};s.addDragSource(l,!0)}createDragItem(e){let t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t}}updateState(){this.menuEnabled=this.menuService.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=this.menuService.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}setRefreshFunction(e,t){this.refreshFunctions[e]=t}refresh(e){this.updateState(),this.refreshHeaderComp(e),this.refreshAria(),Object.values(this.refreshFunctions).forEach(t=>t())}refreshHeaderComp(e){let t=this.lookupUserCompDetails(e);(this.comp.getUserCompInstance()!=null&&this.userCompDetails.componentClass==t.componentClass?this.attemptHeaderCompRefresh(t.params):!1)?this.setDragSource(this.dragSourceElement):this.setCompDetails(t)}attemptHeaderCompRefresh(e){let t=this.comp.getUserCompInstance();return!t||!t.refresh?!1:t.refresh(e)}calculateDisplayName(){return this.beans.columnNameService.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(e){this.displayName!==this.calculateDisplayName()&&this.refresh(e)}workOutDraggable(){let e=this.column.getColDef();return!!(!this.gos.get("suppressMovableColumns")&&!e.suppressMovable&&!e.lockPosition)||!!e.enableRowGroup||!!e.enablePivot}setupWidth(e){let t=()=>{let i=this.column.getActualWidth();this.comp.setWidth(`${i}px`)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupMovingCss(e){let t=()=>{this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving())};e.addManagedListeners(this.column,{movingChanged:t}),t()}setupMenuClass(e){let t=()=>{this.comp.addOrRemoveCssClass("ag-column-menu-visible",this.column.isMenuVisible())};e.addManagedListeners(this.column,{menuVisibleChanged:t}),t()}setupSortableClass(e){let t=()=>{this.comp.addOrRemoveCssClass("ag-header-cell-sortable",!!this.sortable)};t(),this.setRefreshFunction("updateSortable",t),e.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass(e){let t=()=>{let i=this.column.isFilterActive();this.comp.addOrRemoveCssClass("ag-header-cell-filtered",i),this.refreshAria()};e.addManagedListeners(this.column,{filterActiveChanged:t}),t()}setupWrapTextClass(){let e=()=>{let t=!!this.column.getColDef().wrapHeaderText;this.comp.addOrRemoveCssClass("ag-header-cell-wrap-text",t)};e(),this.setRefreshFunction("wrapText",e)}onHeaderHighlightChanged(){let e=this.column.getHighlighted(),t=e===0,i=e===1;this.comp.addOrRemoveCssClass("ag-header-highlight-before",t),this.comp.addOrRemoveCssClass("ag-header-highlight-after",i)}onDisplayedColumnsChanged(){super.onDisplayedColumnsChanged(),this.isAlive()&&this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){let{eGui:e,column:t,comp:i,beans:o}=this,s=this.beans.columnModel.getGroupRowsHeight(),r=s.reduce((u,h)=>u+=h,0)===0;if(i.addOrRemoveCssClass("ag-header-parent-hidden",r),!t.isSpanHeaderHeight()){e.style.removeProperty("top"),e.style.removeProperty("height"),i.addOrRemoveCssClass("ag-header-span-height",!1),i.addOrRemoveCssClass("ag-header-span-total",!1);return}let{numberOfParents:n,isSpanningTotal:a}=this.column.getColumnGroupPaddingInfo();i.addOrRemoveCssClass("ag-header-span-height",n>0);let{columnModel:l}=o,c=l.getColumnHeaderRowHeight();if(n===0){i.addOrRemoveCssClass("ag-header-span-total",!1),e.style.setProperty("top","0px"),e.style.setProperty("height",`${c}px`);return}i.addOrRemoveCssClass("ag-header-span-total",a);let d=0;for(let u=0;u<n;u++)d+=s[s.length-1-u];e.style.setProperty("top",`${-d}px`),e.style.setProperty("height",`${c+d}px`)}refreshAriaSort(){if(this.sortable){let e=this.localeService.getLocaleTextFunc(),t=this.beans.sortController.getDisplaySortForColumn(this.column)||null;this.comp.setAriaSort(Cc(t)),this.setAriaDescriptionProperty("sort",e("ariaSortableColumn","Press ENTER to sort"))}else this.comp.setAriaSort(),this.setAriaDescriptionProperty("sort",null)}refreshAriaMenu(){if(this.menuEnabled){let e=this.localeService.getLocaleTextFunc();this.setAriaDescriptionProperty("menu",e("ariaMenuColumn","Press ALT DOWN to open column menu"))}else this.setAriaDescriptionProperty("menu",null)}refreshAriaFilterButton(){if(this.openFilterEnabled&&!this.menuService.isLegacyMenuEnabled()){let e=this.localeService.getLocaleTextFunc();this.setAriaDescriptionProperty("filterButton",e("ariaFilterColumn","Press CTRL ENTER to open filter"))}else this.setAriaDescriptionProperty("filterButton",null)}refreshAriaFiltered(){let e=this.localeService.getLocaleTextFunc();this.column.isFilterActive()?this.setAriaDescriptionProperty("filter",e("ariaColumnFiltered","Column Filtered")):this.setAriaDescriptionProperty("filter",null)}setAriaDescriptionProperty(e,t){t!=null?this.ariaDescriptionProperties.set(e,t):this.ariaDescriptionProperties.delete(e)}announceAriaDescription(){if(!this.eGui.contains(fe(this.beans.gos)))return;let e=Array.from(this.ariaDescriptionProperties.keys()).sort((t,i)=>t==="filter"?-1:i.charCodeAt(0)-t.charCodeAt(0)).map(t=>this.ariaDescriptionProperties.get(t)).join(". ");this.beans.ariaAnnouncementService.announceValue(e,"columnHeader")}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered()}addColumnHoverListener(e){let t=()=>{if(!this.gos.get("columnHoverHighlight"))return;let i=this.beans.columnHoverService.isHovered(this.column);this.comp.addOrRemoveCssClass("ag-column-hover",i)};e.addManagedEventListeners({columnHoverChanged:t}),t()}getColId(){return this.column.getColId()}addActiveHeaderMouseListeners(e){let t=s=>this.handleMouseOverChange(s.type==="mouseenter"),i=()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column),o=s=>this.handleContextMenuMouseEvent(s,void 0,this.column);e.addManagedListeners(this.getGui(),{mouseenter:t,mouseleave:t,click:i,contextmenu:o})}handleMouseOverChange(e){this.setActiveHeader(e),this.eventService.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column})}setActiveHeader(e){this.comp.addOrRemoveCssClass("ag-header-active",e)}getAnchorElementForMenu(e){let t=this.comp.getUserCompInstance();return t instanceof ds?t.getAnchorElementForMenu(e):this.getGui()}destroy(){super.destroy()}},oh=class extends b{wireBeans(e){this.horizontalResizeService=e.horizontalResizeService,this.autoWidthCalculator=e.autoWidthCalculator,this.visibleColsService=e.visibleColsService,this.columnSizeService=e.columnSizeService,this.columnAutosizeService=e.columnAutosizeService}constructor(e,t,i,o){super(),this.eResize=t,this.comp=e,this.pinned=i,this.columnGroup=o}postConstruct(){if(!this.columnGroup.isResizable()){this.comp.setResizableDisplayed(!1);return}let e=this.horizontalResizeService.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(this.addDestroyFunc(e),!this.gos.get("suppressAutoSize")){let t=this.gos.get("skipHeaderOnAutoSize");this.eResize.addEventListener("dblclick",()=>{let i=[];this.columnGroup.getDisplayedLeafColumns().forEach(s=>{s.getColDef().suppressAutoSize||i.push(s.getColId())}),i.length>0&&this.columnAutosizeService.autoSizeCols({colKeys:i,skipHeader:t,stopAtGroup:this.columnGroup,source:"uiColumnResized"}),this.resizeLeafColumnsToFit("uiColumnResized")})}}onResizeStart(e){let t=this.getInitialValues(e);this.storeLocalValues(t),this.toggleColumnResizing(!0)}onResizing(e,t,i="uiColumnResized"){let o=this.normaliseDragChange(t),s=this.resizeStartWidth+o;this.resizeColumnsFromLocalValues(s,i,e)}getInitialValues(e){let t=this.getColumnsToResize(),i=this.getInitialSizeOfColumns(t),o=this.getSizeRatiosOfColumns(t,i),s={columnsToResize:t,resizeStartWidth:i,resizeRatios:o},r=null;if(e&&(r=this.visibleColsService.getGroupAtDirection(this.columnGroup,"After")),r){let n=r.getDisplayedLeafColumns(),a=s.groupAfterColumns=n.filter(c=>c.isResizable()),l=s.groupAfterStartWidth=this.getInitialSizeOfColumns(a);s.groupAfterRatios=this.getSizeRatiosOfColumns(a,l)}else s.groupAfterColumns=void 0,s.groupAfterStartWidth=void 0,s.groupAfterRatios=void 0;return s}storeLocalValues(e){let{columnsToResize:t,resizeStartWidth:i,resizeRatios:o,groupAfterColumns:s,groupAfterStartWidth:r,groupAfterRatios:n}=e;this.resizeCols=t,this.resizeStartWidth=i,this.resizeRatios=o,this.resizeTakeFromCols=s,this.resizeTakeFromStartWidth=r,this.resizeTakeFromRatios=n}clearLocalValues(){this.resizeCols=void 0,this.resizeRatios=void 0,this.resizeTakeFromCols=void 0,this.resizeTakeFromRatios=void 0}resizeLeafColumnsToFit(e){let t=this.autoWidthCalculator.getPreferredWidthForColumnGroup(this.columnGroup),i=this.getInitialValues();t>i.resizeStartWidth&&this.resizeColumns(i,t,e,!0)}resizeColumnsFromLocalValues(e,t,i=!0){if(!this.resizeCols||!this.resizeRatios)return;let o={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols??void 0,groupAfterStartWidth:this.resizeTakeFromStartWidth??void 0,groupAfterRatios:this.resizeTakeFromRatios??void 0};this.resizeColumns(o,e,t,i)}resizeColumns(e,t,i,o=!0){let{columnsToResize:s,resizeStartWidth:r,resizeRatios:n,groupAfterColumns:a,groupAfterStartWidth:l,groupAfterRatios:c}=e,d=[];if(d.push({columns:s,ratios:n,width:t}),a){let u=t-r;d.push({columns:a,ratios:c,width:l-u})}this.columnSizeService.resizeColumnSets({resizeSets:d,finished:o,source:i}),o&&this.toggleColumnResizing(!1)}toggleColumnResizing(e){this.comp.addOrRemoveCssClass("ag-column-resizing",e)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter(t=>t.isResizable())}getInitialSizeOfColumns(e){return e.reduce((t,i)=>t+i.getActualWidth(),0)}getSizeRatiosOfColumns(e,t){return e.map(i=>i.getActualWidth()/t)}normaliseDragChange(e){let t=e;return this.gos.get("enableRtl")?this.pinned!=="left"&&(t*=-1):this.pinned==="right"&&(t*=-1),t}destroy(){super.destroy(),this.clearLocalValues()}},sh=class extends b{constructor(e,t){super(),this.removeChildListenersFuncs=[],this.columnGroup=t,this.comp=e}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();let e=this.onWidthChanged.bind(this);this.columnGroup.getLeafColumns().forEach(t=>{t.addEventListener("widthChanged",e),t.addEventListener("visibleChanged",e),this.removeChildListenersFuncs.push(()=>{t.removeEventListener("widthChanged",e),t.removeEventListener("visibleChanged",e)})})}removeListenersOnChildrenColumns(){this.removeChildListenersFuncs.forEach(e=>e()),this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){let e=this.columnGroup.getActualWidth();this.comp.setWidth(`${e}px`),this.comp.addOrRemoveCssClass("ag-hidden",e===0)}},rh=class extends Ro{constructor(e,t,i){super(e,t,i),this.onSuppressColMoveChange=()=>{if(!this.isAlive()||this.isSuppressMoving())this.removeDragSource();else if(!this.dragSource){let o=this.getGui();this.setDragSource(o)}},this.column=e}setComp(e,t,i,o,s){this.comp=e,s=Oi(this,this.beans.context,s),this.setGui(t,s),this.displayName=this.beans.columnNameService.getDisplayNameForColumnGroup(this.column,"header"),this.addClasses(),this.setupMovingCss(s),this.setupExpandable(s),this.setupTooltip(s),this.setupAutoHeight({wrapperElement:o,compBean:s}),this.setupUserComp(s),this.addHeaderMouseListeners(s),this.addManagedPropertyListener("groupHeaderHeight",this.refreshMaxHeaderHeight.bind(this)),this.refreshMaxHeaderHeight();let r=this.getParentRowCtrl().getPinned(),n=this.column.getProvidedColumnGroup().getLeafColumns();s.createManagedBean(new Us(n,t)),s.createManagedBean(new Ws(this.column,t,this.beans)),s.createManagedBean(new sh(e,this.column)),this.resizeFeature=s.createManagedBean(new oh(e,i,r,this.column)),s.createManagedBean(new jt(t,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addHighlightListeners(s,n),s.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners(s),s.addDestroyFunc(()=>this.clearComponent())}refreshMaxHeaderHeight(){let{gos:e,comp:t}=this,i=e.get("groupHeaderHeight");i!=null?i===0?t.setHeaderWrapperHidden(!0):t.setHeaderWrapperMaxHeight(i):(t.setHeaderWrapperHidden(!1),t.setHeaderWrapperMaxHeight(null))}addHighlightListeners(e,t){if(this.beans.gos.get("suppressMoveWhenColumnDragging"))for(let i of t)e.addManagedListeners(i,{headerHighlightChanged:this.onLeafColumnHighlightChanged.bind(this,i)})}onLeafColumnHighlightChanged(e){let t=this.column.getDisplayedLeafColumns(),i=t[0]===e,o=$(t)===e;if(!i&&!o)return;let s=e.getHighlighted(),r=!!this.getParentRowCtrl().findHeaderCellCtrl(l=>l.getColumnGroupChild().isMoving()),n=!1,a=!1;if(r){let l=this.beans.gos.get("enableRtl"),c=s===1,d=s===0;i&&(l?a=c:n=d),o&&(l?n=d:a=c)}this.comp.addOrRemoveCssClass("ag-header-highlight-before",n),this.comp.addOrRemoveCssClass("ag-header-highlight-after",a)}getColumn(){return this.column}resizeHeader(e,t){if(!this.resizeFeature)return;let i=this.resizeFeature.getInitialValues(t);this.resizeFeature.resizeColumns(i,i.resizeStartWidth+e,"uiColumnResized",!0)}moveHeader(e){let{beans:t,eGui:i,column:o,ctrlsService:s}=this,{gos:r,columnModel:n,columnMoveService:a,visibleColsService:l}=t,c=r.get("enableRtl"),d=e===0,u=this.getPinned(),h=i.getBoundingClientRect(),g=h.left,f=h.width,m=po({x:d!==c?g-20:g+f+20,pinned:u,fromKeyboard:!0,gos:r,ctrlsService:s}),p=o.getGroupId(),v=this.focusService.getFocusedHeader();Ys({allMovingColumns:this.column.getLeafColumns(),isFromHeader:!0,fromLeft:e===1,xPosition:m,pinned:u,fromEnter:!1,fakeEvent:!1,gos:r,columnModel:n,columnMoveService:a,visibleColsService:l,finished:!0});let w=o.getDisplayedLeafColumns(),C=d?w[0]:$(w);this.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(C,"auto"),(!this.isAlive()||this.beans.gos.get("ensureDomOrder"))&&v&&this.restoreFocus(p,o,v)}restoreFocus(e,t,i){let o=t.getLeafColumns();if(!o.length)return;let s=o[0].getParent();if(!s)return;let r=this.findGroupWidthId(s,e);r&&this.focusService.focusHeaderPosition({headerPosition:{...i,column:r}})}findGroupWidthId(e,t){for(;e;){if(e.getGroupId()===t)return e;e=e.getParent()}return null}resizeLeafColumnsToFit(e){this.resizeFeature&&this.resizeFeature.resizeLeafColumnsToFit(e)}setupUserComp(e){let t=this.gos.addGridCommonParams({displayName:this.displayName,columnGroup:this.column,setExpanded:o=>{this.beans.columnModel.setColumnGroupOpened(this.column.getProvidedColumnGroup(),o,"gridInitializing")},setTooltip:(o,s)=>{this.setupTooltip(e,o,s)}}),i=this.userComponentFactory.getHeaderGroupCompDetails(t);this.comp.setUserCompDetails(i)}addHeaderMouseListeners(e){let t=s=>this.handleMouseOverChange(s.type==="mouseenter"),i=()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column.getProvidedColumnGroup()),o=s=>this.handleContextMenuMouseEvent(s,void 0,this.column.getProvidedColumnGroup());e.addManagedListeners(this.getGui(),{mouseenter:t,mouseleave:t,click:i,contextmenu:o})}handleMouseOverChange(e){this.eventService.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()})}setupTooltip(e,t,i){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature));let o=this.column.getColGroupDef(),s=this.gos.get("tooltipShowMode")==="whenTruncated",r=this.eGui;!i&&s&&!o?.headerGroupComponent&&(i=()=>{let a=r.querySelector(".ag-header-group-text");return a?a.scrollWidth>a.clientWidth:!0});let n={getColumn:()=>this.column,getGui:()=>r,getLocation:()=>"headerGroup",getTooltipValue:()=>t??(o&&o.headerTooltip),shouldDisplayTooltip:i};o&&(n.getColDef=()=>o),e.createManagedBean(new ai(n))}setupExpandable(e){let t=this.column.getProvidedColumnGroup();this.refreshExpanded();let i=this.refreshExpanded.bind(this);e.addManagedListeners(t,{expandedChanged:i,expandableChanged:i})}refreshExpanded(){let{column:e}=this;this.expandable=e.isExpandable();let t=e.isExpanded();this.expandable?this.comp.setAriaExpanded(t?"true":"false"):this.comp.setAriaExpanded(void 0)}getColId(){return this.column.getUniqueId()}addClasses(){let e=this.column.getColGroupDef(),t=va(e,this.gos,null,this.column);this.column.isPadding()?(t.push("ag-header-group-cell-no-group"),this.column.getLeafColumns().every(o=>o.isSpanHeaderHeight())&&t.push("ag-header-span-height")):(t.push("ag-header-group-cell-with-group"),e?.wrapHeaderText&&t.push("ag-header-cell-wrap-text")),t.forEach(i=>this.comp.addOrRemoveCssClass(i,!0))}setupMovingCss(e){let i=this.column.getProvidedColumnGroup().getLeafColumns(),o=()=>this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving());i.forEach(s=>{e.addManagedListeners(s,{movingChanged:o})}),o()}onFocusIn(e){if(!this.eGui.contains(e.relatedTarget)){let t=this.getRowIndex();this.beans.focusService.setFocusedHeader(t,this.column)}}handleKeyDown(e){super.handleKeyDown(e);let t=this.getWrapperHasFocus();if(!(!this.expandable||!t)&&e.key===y.ENTER){let i=this.column,o=!i.isExpanded();this.beans.columnModel.setColumnGroupOpened(i.getProvidedColumnGroup(),o,"uiColumnExpanded")}}setDragSource(e){if(!this.isAlive()||this.isSuppressMoving()||(this.removeDragSource(),!e))return;let{beans:t,column:i,displayName:o,gos:s,dragAndDropService:r}=this,{columnModel:n}=t,a=i.getProvidedColumnGroup().getLeafColumns(),l=!s.get("suppressDragLeaveHidesColumns"),c=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>l?"hide":"notAllowed",dragItemName:o,getDragItem:()=>this.getDragItemForGroup(i),onDragStarted:()=>{l=!s.get("suppressDragLeaveHidesColumns"),ti(a,!0)},onDragStopped:()=>ti(a,!1),onDragCancelled:()=>ti(a,!1),onGridEnter:d=>{if(l){let{columns:u=[],visibleState:h}=d??{},g=u.filter(f=>!f.getColDef().lockVisible&&(!h||h[f.getColId()]));n.setColsVisible(g,!0,"uiColumnMoved")}},onGridExit:d=>{if(l){let u=d?.columns?.filter(h=>!h.getColDef().lockVisible)||[];n.setColsVisible(u,!1,"uiColumnMoved")}}};r.addDragSource(c,!0)}getDragItemForGroup(e){let t=e.getProvidedColumnGroup().getLeafColumns(),i={};t.forEach(n=>i[n.getId()]=n.isVisible());let o=[];this.beans.visibleColsService.getAllCols().forEach(n=>{t.indexOf(n)>=0&&(o.push(n),De(t,n))}),t.forEach(n=>o.push(n));let s=[],r=e.getLeafColumns();for(let n of o)r.indexOf(n)!==-1&&s.push(n);return{columns:o,columnsInSplit:s,visibleState:i}}isSuppressMoving(){let e=!1;return this.column.getLeafColumns().forEach(i=>{(i.getColDef().suppressMovable||i.getColDef().lockPosition)&&(e=!0)}),e||this.gos.get("suppressMovableColumns")}destroy(){super.destroy()}},nh=0,qo=class extends b{constructor(e,t,i){super(),this.instanceId=nh++,this.rowIndex=e,this.pinned=t,this.type=i;let o=i=="group"?"ag-header-row-column-group":i=="filter"?"ag-header-row-column-filter":"ag-header-row-column";this.headerRowClass=`ag-header-row ${o}`}wireBeans(e){this.beans=e}postConstruct(){this.isPrintLayout=Re(this.gos,"print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}areCellsRendered(){return this.comp?this.getHeaderCellCtrls().every(e=>e.getGui()!=null):!1}setComp(e,t,i=!0){this.comp=e,t=Oi(this,this.beans.context,t),i&&(this.onRowHeightChanged(),this.onVirtualColumnsChanged()),this.setWidth(),this.addEventListeners(t)}getHeaderRowClass(){return this.headerRowClass}getAriaRowIndex(){return this.rowIndex+1}addEventListeners(e){let t=this.onRowHeightChanged.bind(this);e.addManagedEventListeners({columnResized:this.onColumnResized.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:i=>this.onVirtualColumnsChanged(i.afterScroll),columnGroupHeaderHeightChanged:t,columnHeaderHeightChanged:t,gridStylesChanged:t,advancedFilterEnabledChanged:t}),e.addManagedPropertyListener("domLayout",this.onDisplayedColumnsChanged.bind(this)),e.addManagedPropertyListener("ensureDomOrder",i=>this.isEnsureDomOrder=i.currentValue),e.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],t)}getHeaderCellCtrl(e){if(this.headerCellCtrls)return Ji(this.headerCellCtrls).find(t=>t.getColumnGroupChild()===e)}onDisplayedColumnsChanged(){this.isPrintLayout=Re(this.gos,"print"),this.onVirtualColumnsChanged(),this.setWidth(),this.onRowHeightChanged()}getType(){return this.type}onColumnResized(){this.setWidth()}setWidth(){let e=this.getWidthForRow();this.comp.setWidth(`${e}px`)}getWidthForRow(){let{visibleColsService:e}=this.beans;return this.isPrintLayout?this.pinned!=null?0:e.getContainerWidth("right")+e.getContainerWidth("left")+e.getContainerWidth(null):e.getContainerWidth(this.pinned)}onRowHeightChanged(){let{topOffset:e,rowHeight:t}=this.getTopAndHeight();this.comp.setTop(e+"px"),this.comp.setHeight(t+"px")}getTopAndHeight(){let{columnModel:e,filterManager:t}=this.beans,i=[],o=e.getGroupRowsHeight(),s=e.getColumnHeaderRowHeight();i.push(...o),i.push(s),t?.hasFloatingFilters()&&i.push(e.getFloatingFiltersHeight());let r=0;for(let a=0;a<this.rowIndex;a++)r+=i[a];let n=i[this.rowIndex];return{topOffset:r,rowHeight:n}}getPinned(){return this.pinned}getRowIndex(){return this.rowIndex}onVirtualColumnsChanged(e=!1){let t=this.getHeaderCtrls(),i=this.isEnsureDomOrder||this.isPrintLayout;this.comp.setHeaderCtrls(t,i,e)}getHeaderCtrls(){let e=this.headerCellCtrls;this.headerCellCtrls=new Map;let t=this.getColumnsInViewport();for(let o of t)this.recycleAndCreateHeaderCtrls(o,e);let i=o=>{let{focusService:s,visibleColsService:r}=this.beans;return s.isHeaderWrapperFocused(o)?r.isVisible(o.getColumnGroupChild()):!1};if(e)for(let[o,s]of e)i(s)?this.headerCellCtrls.set(o,s):this.destroyBean(s);return this.getHeaderCellCtrls()}getHeaderCellCtrls(){return Array.from(this.headerCellCtrls?.values()??[])}recycleAndCreateHeaderCtrls(e,t){if(!this.headerCellCtrls||e.isEmptyGroup())return;let i=e.getUniqueId(),o;if(t&&(o=t.get(i),t.delete(i)),o&&o.getColumnGroupChild()!=e&&(this.destroyBean(o),o=void 0),o==null)switch(this.type){case"filter":{o=this.createBean(this.beans.ctrlsFactory.getInstance("headerFilterCell",e,this.beans,this));break}case"group":o=this.createBean(new rh(e,this.beans,this));break;default:o=this.createBean(new ih(e,this.beans,this));break}this.headerCellCtrls.set(i,o)}getColumnsInViewport(){return this.isPrintLayout?this.getColumnsInViewportPrintLayout():this.getColumnsInViewportNormalLayout()}getColumnsInViewportPrintLayout(){if(this.pinned!=null)return[];let e=[],t=this.getActualDepth(),{columnViewportService:i}=this.beans;return["left",null,"right"].forEach(o=>{let s=i.getHeadersToRender(o,t);e=e.concat(s)}),e}getActualDepth(){return this.type=="filter"?this.rowIndex-1:this.rowIndex}getColumnsInViewportNormalLayout(){return this.beans.columnViewportService.getHeadersToRender(this.pinned,this.getActualDepth())}findHeaderCellCtrl(e){if(!this.headerCellCtrls)return;let t=this.getHeaderCellCtrls(),i;return typeof e=="function"?i=t.find(e):i=t.find(o=>o.getColumnGroupChild()==e),i}focusHeader(e,t){let i=this.findHeaderCellCtrl(e);return i?i.focus(t):!1}destroy(){this.headerCellCtrls?.forEach(e=>{this.destroyBean(e)}),this.headerCellCtrls=void 0,super.destroy()}},Ea=class extends b{constructor(e){super(),this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[],this.pinned=e}wireBeans(e){this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService,this.pinnedWidthService=e.pinnedWidthService,this.columnModel=e.columnModel,this.focusService=e.focusService,this.filterManager=e.filterManager}setComp(e,t){this.comp=e,this.eViewport=t,this.setupCenterWidth(),this.setupPinnedWidth(),this.setupDragAndDrop(this.eViewport);let i=this.onDisplayedColumnsChanged.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),displayedColumnsChanged:i,advancedFilterEnabledChanged:i});let o=`${typeof this.pinned=="string"?this.pinned:"center"}Header`;this.ctrlsService.register(o,this),this.columnModel.isReady()&&this.refresh()}getAllCtrls(){let e=[...this.groupsRowCtrls];return this.columnsRowCtrl&&e.push(this.columnsRowCtrl),this.filtersRowCtrl&&e.push(this.filtersRowCtrl),e}refresh(e=!1){let t=new ks,i=this.focusService.getFocusHeaderToUseAfterRefresh(),o=()=>{let a=this.columnModel.getHeaderRowCount()-1;this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls);for(let l=0;l<a;l++){let c=this.createBean(new qo(t.next(),this.pinned,"group"));this.groupsRowCtrls.push(c)}},s=()=>{let a=t.next(),l=!this.hidden&&(this.columnsRowCtrl==null||!e||this.columnsRowCtrl.getRowIndex()!==a);(l||this.hidden)&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),l&&(this.columnsRowCtrl=this.createBean(new qo(a,this.pinned,"column")))},r=()=>{this.includeFloatingFilter=!!this.filterManager?.hasFloatingFilters()&&!this.hidden;let a=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter){a();return}let l=t.next();if(this.filtersRowCtrl){let c=this.filtersRowCtrl.getRowIndex()!==l;(!e||c)&&a()}this.filtersRowCtrl||(this.filtersRowCtrl=this.createBean(new qo(l,this.pinned,"filter")))};o(),s(),r();let n=this.getAllCtrls();this.comp.setCtrls(n),this.restoreFocusOnHeader(i)}getHeaderCtrlForColumn(e){if(Et(e))return this.columnsRowCtrl?.getHeaderCellCtrl(e);if(this.groupsRowCtrls.length!==0)for(let t=0;t<this.groupsRowCtrls.length;t++){let i=this.groupsRowCtrls[t].getHeaderCellCtrl(e);if(i)return i}}getHtmlElementForColumnHeader(e){let t=this.getHeaderCtrlForColumn(e);return t?t.getGui():null}getRowType(e){let i=this.getAllCtrls()[e];return i?i.getType():void 0}focusHeader(e,t,i){let s=this.getAllCtrls()[e];return s?s.focusHeader(t,i):!1}getViewportElement(){return this.eViewport}getGroupRowCount(){return this.groupsRowCtrls.length}getGroupRowCtrlAtIndex(e){return this.groupsRowCtrls[e]}getRowCount(){return this.groupsRowCtrls.length+(this.columnsRowCtrl?1:0)+(this.filtersRowCtrl?1:0)}setHorizontalScroll(e){this.comp.setViewportScrollLeft(e)}onScrollCallback(e){this.addManagedElementListeners(this.getViewportElement(),{scroll:e})}destroy(){this.filtersRowCtrl&&(this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)),this.columnsRowCtrl&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),this.groupsRowCtrls&&this.groupsRowCtrls.length&&(this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls)),super.destroy()}setupDragAndDrop(e){let t=new Zu(this.pinned,e);this.createManagedBean(t)}restoreFocusOnHeader(e){if(!e)return;let{column:t}=e;t.getPinned()==this.pinned&&this.focusService.focusHeaderPosition({headerPosition:e})}onGridColumnsChanged(){this.refresh(!0)}onDisplayedColumnsChanged(){let e=this.filterManager?.hasFloatingFilters()&&!this.hidden;this.includeFloatingFilter!==e&&this.refresh(!0)}setupCenterWidth(){this.pinned==null&&this.createManagedBean(new Ks(e=>this.comp.setCenterWidth(`${e}px`),!0))}setupPinnedWidth(){if(this.pinned==null)return;let e=this.pinned==="left",t=this.pinned==="right";this.hidden=!0;let i=()=>{let o=e?this.pinnedWidthService.getPinnedLeftWidth():this.pinnedWidthService.getPinnedRightWidth();if(o==null)return;let s=o==0,r=this.hidden!==s,n=this.gos.get("enableRtl"),a=this.scrollVisibleService.getScrollbarWidth(),c=this.scrollVisibleService.isVerticalScrollShowing()&&(n&&e||!n&&t)?o+a:o;this.comp.setPinnedContainerWidth(`${c}px`),this.comp.setDisplayed(!s),r&&(this.hidden=s,this.refresh())};this.addManagedEventListeners({leftPinnedWidthChanged:i,rightPinnedWidthChanged:i,scrollVisibilityChanged:i,scrollbarWidthChanged:i})}};var $s=class extends b{constructor(e){super(),this.view=e}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){let e=this.getDomLayout(),t={autoHeight:e==="autoHeight",normal:e==="normal",print:e==="print"},i=t.autoHeight?"ag-layout-auto-height":t.print?"ag-layout-print":"ag-layout-normal";this.view.updateLayoutClasses(i,t)}getDomLayout(){let e=this.gos.get("domLayout")??"normal";return["normal","print","autoHeight"].indexOf(e)===-1?(S(`${e} is not valid for DOM Layout, valid values are 'normal', 'autoHeight', 'print'.`),"normal"):e}},Ma=class extends ce{constructor(){super(`
|
|
85
|
+
`)}getDefaultDebounceMs(){return 500}onParentModelChanged(e,t){this.isEventFromFloatingFilter(t)||this.isEventFromDataChange(t)||(this.setLastTypeFromModel(e),this.setEditable(this.canWeEditAfterModelFromParentFilter(e)),this.floatingFilterInputService.setValue(this.getFilterModelFormatter().getModelAsString(e)))}init(e){this.setupFloatingFilterInputService(e),super.init(e),this.setTextInputParams(e)}setupFloatingFilterInputService(e){this.floatingFilterInputService=this.createFloatingFilterInputService(e),this.floatingFilterInputService.setupGui(this.eFloatingFilterInputContainer)}setTextInputParams(e){this.params=e;let t=e.browserAutoComplete??!1;if(this.floatingFilterInputService.setParams({ariaLabel:this.getAriaLabel(e),autoComplete:t}),this.applyActive=po(this.params.filterParams),!this.isReadOnly()){let i=zs(this.params.filterParams,this.getDefaultDebounceMs()),o=xe(this.syncUpWithParentFilter.bind(this),i);this.floatingFilterInputService.setValueChangedListener(o)}}onParamsUpdated(e){this.refresh(e)}refresh(e){super.refresh(e),this.setTextInputParams(e)}recreateFloatingFilterInputService(e){let t=this.floatingFilterInputService.getValue();Be(this.eFloatingFilterInputContainer),this.destroyBean(this.floatingFilterInputService),this.setupFloatingFilterInputService(e),this.floatingFilterInputService.setValue(t,!0)}syncUpWithParentFilter(e){let t=e.key===y.ENTER;if(this.applyActive&&!t)return;let i=this.floatingFilterInputService.getValue();this.params.filterParams.trimInput&&(i=pa(i),this.floatingFilterInputService.setValue(i,!0)),this.params.parentFilterInstance(o=>{o&&o.onFloatingFilterChanged(this.getLastType()||null,i||null)})}setEditable(e){this.floatingFilterInputService.setEditable(e)}},Au=class extends b{constructor(){super(...arguments),this.valueChangedListener=()=>{},this.numberInputActive=!0}setupGui(e){this.eFloatingFilterNumberInput=this.createManagedBean(new Vs),this.eFloatingFilterTextInput=this.createManagedBean(new Kt),this.eFloatingFilterTextInput.setDisabled(!0);let t=this.eFloatingFilterNumberInput.getGui(),i=this.eFloatingFilterTextInput.getGui();e.appendChild(t),e.appendChild(i),this.setupListeners(t,o=>this.valueChangedListener(o)),this.setupListeners(i,o=>this.valueChangedListener(o))}setEditable(e){this.numberInputActive=e,this.eFloatingFilterNumberInput.setDisplayed(this.numberInputActive),this.eFloatingFilterTextInput.setDisplayed(!this.numberInputActive)}setAutoComplete(e){this.eFloatingFilterNumberInput.setAutoComplete(e),this.eFloatingFilterTextInput.setAutoComplete(e)}getValue(){return this.getActiveInputElement().getValue()}setValue(e,t){this.getActiveInputElement().setValue(e,t)}getActiveInputElement(){return this.numberInputActive?this.eFloatingFilterNumberInput:this.eFloatingFilterTextInput}setValueChangedListener(e){this.valueChangedListener=e}setupListeners(e,t){this.addManagedListeners(e,{input:t,keydown:t})}setParams(e){this.setAriaLabel(e.ariaLabel),e.autoComplete!==void 0&&this.setAutoComplete(e.autoComplete)}setAriaLabel(e){this.eFloatingFilterNumberInput.setInputAriaLabel(e),this.eFloatingFilterTextInput.setInputAriaLabel(e)}},ku=class extends xa{init(e){super.init(e),this.filterModelFormatter=new ua(this.localeService,this.optionsFactory,e.filterParams?.numberFormatter)}onParamsUpdated(e){this.refresh(e)}refresh(e){ps(e.filterParams)!==this.allowedCharPattern&&this.recreateFloatingFilterInputService(e),super.refresh(e),this.filterModelFormatter.updateParams({optionsFactory:this.optionsFactory})}getDefaultFilterOptions(){return da}getFilterModelFormatter(){return this.filterModelFormatter}createFloatingFilterInputService(e){return this.allowedCharPattern=ps(e.filterParams),this.allowedCharPattern?this.createManagedBean(new Fa({config:{allowedCharPattern:this.allowedCharPattern}})):this.createManagedBean(new Au)}},Iu=class extends xa{init(e){super.init(e),this.filterModelFormatter=new ga(this.localeService,this.optionsFactory)}onParamsUpdated(e){this.refresh(e)}refresh(e){super.refresh(e),this.filterModelFormatter.updateParams({optionsFactory:this.optionsFactory})}getDefaultFilterOptions(){return ha}getFilterModelFormatter(){return this.filterModelFormatter}createFloatingFilterInputService(){return this.createManagedBean(new Fa)}};function Lu(e){return!!e.filterManager?.isQuickFilterPresent()}function Ou(e){return e.gos.get("quickFilterText")}function Gu(e){e.filterManager?.resetQuickFilterCache()}var Nu=class extends b{constructor(){super(...arguments),this.beanName="quickFilterService",this.quickFilter=null,this.quickFilterParts=null}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.rowModel=e.rowModel,this.pivotResultColsService=e.pivotResultColsService}postConstruct(){let e=this.resetQuickFilterCache.bind(this);this.addManagedEventListeners({columnPivotModeChanged:e,newColumnsLoaded:e,columnRowGroupChanged:e,columnVisible:()=>{this.gos.get("includeHiddenColumnsInQuickFilter")||this.resetQuickFilterCache()}}),this.addManagedPropertyListener("quickFilterText",t=>this.setQuickFilter(t.currentValue)),this.addManagedPropertyListeners(["includeHiddenColumnsInQuickFilter","applyQuickFilterBeforePivotOrAgg"],()=>this.onQuickFilterColumnConfigChanged()),this.quickFilter=this.parseQuickFilter(this.gos.get("quickFilterText")),this.parser=this.gos.get("quickFilterParser"),this.matcher=this.gos.get("quickFilterMatcher"),this.setQuickFilterParts(),this.addManagedPropertyListeners(["quickFilterMatcher","quickFilterParser"],()=>this.setQuickFilterParserAndMatcher())}refreshQuickFilterCols(){let e=this.columnModel.isPivotMode(),t=this.columnModel.getAutoCols(),i=this.columnModel.getColDefCols(),o=(e&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")?this.pivotResultColsService.getPivotResultCols()?.list:i)??[];t&&(o=o.concat(t)),this.colsForQuickFilter=this.gos.get("includeHiddenColumnsInQuickFilter")?o:o.filter(s=>s.isVisible()||s.isRowGroupActive())}isQuickFilterPresent(){return this.quickFilter!==null}doesRowPassQuickFilter(e){let t=this.gos.get("cacheQuickFilter");return this.matcher?this.doesRowPassQuickFilterMatcher(t,e):this.quickFilterParts.every(i=>t?this.doesRowPassQuickFilterCache(e,i):this.doesRowPassQuickFilterNoCache(e,i))}resetQuickFilterCache(){this.rowModel.forEachNode(e=>e.quickFilterAggregateText=null)}setQuickFilterParts(){let{quickFilter:e,parser:t}=this;e?this.quickFilterParts=t?t(e):e.split(" "):this.quickFilterParts=null}parseQuickFilter(e){return M(e)?de(this.gos)?e.toUpperCase():(S("Quick filtering only works with the Client-Side Row Model"),null):null}setQuickFilter(e){if(e!=null&&typeof e!="string"){S(`Grid option quickFilterText only supports string inputs, received: ${typeof e}`);return}let t=this.parseQuickFilter(e);this.quickFilter!==t&&(this.quickFilter=t,this.setQuickFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"}))}setQuickFilterParserAndMatcher(){let e=this.gos.get("quickFilterParser"),t=this.gos.get("quickFilterMatcher"),i=e!==this.parser||t!==this.matcher;this.parser=e,this.matcher=t,i&&(this.setQuickFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"}))}onQuickFilterColumnConfigChanged(){this.refreshQuickFilterCols(),this.resetQuickFilterCache(),this.isQuickFilterPresent()&&this.dispatchLocalEvent({type:"quickFilterChanged"})}doesRowPassQuickFilterNoCache(e,t){return this.colsForQuickFilter.some(i=>{let o=this.getQuickFilterTextForColumn(i,e);return M(o)&&o.indexOf(t)>=0})}doesRowPassQuickFilterCache(e,t){return this.checkGenerateQuickFilterAggregateText(e),e.quickFilterAggregateText.indexOf(t)>=0}doesRowPassQuickFilterMatcher(e,t){let i;e?(this.checkGenerateQuickFilterAggregateText(t),i=t.quickFilterAggregateText):i=this.getQuickFilterAggregateText(t);let{quickFilterParts:o,matcher:s}=this;return s(o,i)}checkGenerateQuickFilterAggregateText(e){e.quickFilterAggregateText||(e.quickFilterAggregateText=this.getQuickFilterAggregateText(e))}getQuickFilterTextForColumn(e,t){let i=this.valueService.getValue(e,t,!0),o=e.getColDef();if(o.getQuickFilterText){let s=this.gos.addGridCommonParams({value:i,node:t,data:t.data,column:e,colDef:o});i=o.getQuickFilterText(s)}return M(i)?i.toString().toUpperCase():null}getQuickFilterAggregateText(e){let t=[];return this.colsForQuickFilter.forEach(i=>{let o=this.getQuickFilterTextForColumn(i,e);M(o)&&t.push(o)}),t.join(`
|
|
86
|
+
`)}},js={version:B,moduleName:"@ag-grid-community/filter-core",beans:[zd]},Hu={version:B,moduleName:"@ag-grid-community/filter-api",apiFunctions:{isAnyFilterPresent:Du,onFilterChanged:Eu},dependantModules:[js]},xo={version:B,moduleName:"@ag-grid-community/column-filter",beans:[xu],dependantModules:[js]},zu={version:B,moduleName:"@ag-grid-community/column-filter-api",apiFunctions:{isColumnFilterPresent:fu,getFilterInstance:mu,getColumnFilterInstance:vu,destroyFilter:Cu,setFilterModel:wu,getFilterModel:yu,getColumnFilterModel:bu,setColumnFilterModel:Su,showColumnFilter:Ru},dependantModules:[xo,Hu]},Ks={version:B,moduleName:"@ag-grid-community/floating-filter-core",controllers:[{name:"headerFilterCell",classImp:pu}],dependantModules:[xo]},Vw={version:B,moduleName:"@ag-grid-community/floating-filter",dependantModules:[Ks,xo]},Bu={version:B,moduleName:"@ag-grid-community/read-only-floating-filter",userComponents:[{name:"agReadOnlyFloatingFilter",classImp:Mu}],dependantModules:[Ks]},Vu={version:B,moduleName:"@ag-grid-community/simple-filter",dependantModules:[xo],userComponents:[{name:"agTextColumnFilter",classImp:ru},{name:"agNumberColumnFilter",classImp:su},{name:"agDateColumnFilter",classImp:lu},{name:"agDateInput",classImp:Tu}]},Wu={version:B,moduleName:"@ag-grid-community/simple-floating-filter",dependantModules:[Vu,Ks],userComponents:[{name:"agTextColumnFloatingFilter",classImp:Iu},{name:"agNumberColumnFloatingFilter",classImp:ku},{name:"agDateColumnFloatingFilter",classImp:Pu}]},Da={version:B,moduleName:"@ag-grid-community/quick-filter-core",beans:[Nu],dependantModules:[js]},Uu={version:B,moduleName:"@ag-grid-community/quick-filter-api",apiFunctions:{isQuickFilterPresent:Lu,getQuickFilter:Ou,resetQuickFilter:Gu},dependantModules:[Da]},_u={version:B,moduleName:"@ag-grid-community/quick-filter",dependantModules:[Da,Uu]},ju={version:B,moduleName:"@ag-grid-community/filter",dependantModules:[Wu,Bu,_u,zu]};var Do=(e=>(e.COLUMN_GROUP="group",e.COLUMN="column",e.FLOATING_FILTER="filter",e))(Do||{});var Ku=class extends b{constructor(){super(...arguments),this.beanName="headerNavigationService",this.currentHeaderRowWithoutSpan=-1}wireBeans(e){this.focusService=e.focusService,this.headerPositionUtils=e.headerPositionUtils,this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.visibleColService=e.visibleColsService}postConstruct(){this.ctrlsService.whenReady(this,t=>{this.gridBodyCon=t.gridBodyCtrl});let e=ve(this.gos);this.addManagedElementListeners(e,{mousedown:()=>this.setCurrentHeaderRowWithoutSpan(-1)})}getHeaderRowCount(){return this.ctrlsService.getHeaderRowContainerCtrl()?.getRowCount()??0}getHeaderPositionForColumn(e,t){let i;if(typeof e=="string"?(i=this.columnModel.getCol(e),i||(i=this.visibleColService.getColumnGroup(e))):i=e,!i)return null;let s=this.ctrlsService.getHeaderRowContainerCtrl()?.getAllCtrls(),r=$(s||[]).getType()==="filter",n=this.getHeaderRowCount()-1,a=-1,l=i;for(;l;)a++,l=l.getParent();let c=a;return t&&r&&c===n-1&&c++,c===-1?null:{headerRowIndex:c,column:i}}navigateVertically(e,t,i){if(t||(t=this.focusService.getFocusedHeader()),!t)return!1;let{headerRowIndex:o}=t,s=t.column,r=this.getHeaderRowCount(),n=e===0,{headerRowIndex:a,column:l,headerRowIndexWithoutSpan:c}=n?this.headerPositionUtils.getColumnVisibleParent(s,o):this.headerPositionUtils.getColumnVisibleChild(s,o),d=!1;return a<0&&(a=0,l=s,d=!0),a>=r?(a=-1,this.setCurrentHeaderRowWithoutSpan(-1)):c!==void 0&&(this.currentHeaderRowWithoutSpan=c),!d&&!l?!1:this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:a,column:l},allowUserOverride:!0,event:i})}setCurrentHeaderRowWithoutSpan(e){this.currentHeaderRowWithoutSpan=e}navigateHorizontally(e,t=!1,i){let o=this.focusService.getFocusedHeader(),s=e===2,r=this.gos.get("enableRtl"),n,a;if(this.currentHeaderRowWithoutSpan!==-1?o.headerRowIndex=this.currentHeaderRowWithoutSpan:this.currentHeaderRowWithoutSpan=o.headerRowIndex,s!==r?(a="Before",n=this.headerPositionUtils.findHeader(o,a)):(a="After",n=this.headerPositionUtils.findHeader(o,a)),n||!t)return this.focusService.focusHeaderPosition({headerPosition:n,direction:a,fromTab:t,allowUserOverride:!0,event:i});if(t){let l=this.gos.getCallback("tabToNextHeader");if(l)return this.focusService.focusHeaderPositionFromUserFunc({userFunc:l,headerPosition:n,direction:a})}return this.focusNextHeaderRow(o,a,i)}focusNextHeaderRow(e,t,i){let o=e.headerRowIndex,s=null,r;if(t==="Before"?o>0&&(r=o-1,this.currentHeaderRowWithoutSpan-=1,s=this.headerPositionUtils.findColAtEdgeForHeaderRow(r,"end")):(r=o+1,this.currentHeaderRowWithoutSpan<this.getHeaderRowCount()?this.currentHeaderRowWithoutSpan+=1:this.setCurrentHeaderRowWithoutSpan(-1),s=this.headerPositionUtils.findColAtEdgeForHeaderRow(r,"start")),!s)return!1;let{column:n,headerRowIndex:a}=this.headerPositionUtils.getHeaderIndexToFocus(s.column,s?.headerRowIndex);return this.focusService.focusHeaderPosition({headerPosition:{column:n,headerRowIndex:a},direction:t,fromTab:!0,allowUserOverride:!0,event:i})}scrollToColumn(e,t="After"){if(e.getPinned())return;let i;if(Se(e)){let o=e.getDisplayedLeafColumns();i=t==="Before"?$(o):o[0]}else i=e;this.gridBodyCon.getScrollFeature().ensureColumnVisible(i)}},Ea=class extends b{wireBeans(e){this.animationFrameService=e.animationFrameService,this.headerNavigationService=e.headerNavigationService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService,this.filterManager=e.filterManager,this.menuService=e.menuService}setComp(e,t,i){this.comp=e,this.eGui=t,this.createManagedBean(new jt(i,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),this.onPivotModeChanged(),this.setupHeaderHeight();let o=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:o}),this.mockContextMenuForIPad(o),this.ctrlsService.register("gridHeaderCtrl",this)}setupHeaderHeight(){let e=this.setHeaderHeight.bind(this);e(),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],e),this.addManagedEventListeners({displayedColumnsChanged:e,columnHeaderHeightChanged:e,columnGroupHeaderHeightChanged:()=>this.animationFrameService.requestAnimationFrame(()=>e()),gridStylesChanged:e,advancedFilterEnabledChanged:e})}getHeaderHeight(){return this.headerHeight}setHeaderHeight(){let{columnModel:e}=this,t=0,i=this.columnModel.getGroupRowsHeight().reduce((r,n)=>r+n,0),o=this.columnModel.getColumnHeaderRowHeight();if(this.filterManager?.hasFloatingFilters()&&(t+=e.getFloatingFiltersHeight()),t+=i,t+=o,this.headerHeight===t)return;this.headerHeight=t;let s=`${t+1}px`;this.comp.setHeightAndMinHeight(s),this.eventService.dispatchEvent({type:"headerHeightChanged"})}onPivotModeChanged(){let e=this.columnModel.isPivotMode();this.comp.addOrRemoveCssClass("ag-pivot-on",e),this.comp.addOrRemoveCssClass("ag-pivot-off",!e)}onDisplayedColumnsChanged(){let t=this.visibleColsService.getAllCols().some(i=>i.isSpanHeaderHeight());this.comp.addOrRemoveCssClass("ag-header-allow-overflow",t)}onTabKeyDown(e){let t=this.gos.get("enableRtl"),i=e.shiftKey,o=i!==t?2:3;(this.headerNavigationService.navigateHorizontally(o,!0,e)||!i&&this.focusService.focusOverlay(!1)||this.focusService.focusNextGridCoreContainer(i,!0))&&e.preventDefault()}handleKeyDown(e){let t=null;switch(e.key){case y.LEFT:t=2;case y.RIGHT:{M(t)||(t=3),this.headerNavigationService.navigateHorizontally(t,!1,e)&&e.preventDefault();break}case y.UP:t=0;case y.DOWN:{M(t)||(t=1),this.headerNavigationService.navigateVertically(t,null,e)&&e.preventDefault();break}default:return}}onFocusOut(e){let{relatedTarget:t}=e;!t&&this.eGui.contains(fe(this.gos))||this.eGui.contains(t)||this.focusService.clearFocusedHeader()}onHeaderContextMenu(e,t,i){if(!e&&!i||!this.menuService.isHeaderContextMenuEnabled())return;let{target:o}=e??t;(o===this.eGui||o===this.ctrlsService.getHeaderRowContainerCtrl()?.getViewportElement())&&this.menuService.showHeaderContextMenu(void 0,e,i)}mockContextMenuForIPad(e){if(!Tt())return;let t=new xt(this.eGui),i=o=>{e(void 0,o.touchStart,o.touchEvent)};this.addManagedListeners(t,{longTap:i}),this.addDestroyFunc(()=>t.destroy())}},Ys=class extends b{constructor(e,t=!1){super(),this.callback=e,this.addSpacer=t}wireBeans(e){this.visibleColsService=e.visibleColsService,this.scrollVisibleService=e.scrollVisibleService}postConstruct(){let e=this.setWidth.bind(this);this.addManagedPropertyListener("domLayout",e),this.addManagedEventListeners({columnContainerWidthChanged:e,displayedColumnsChanged:e,leftPinnedWidthChanged:e}),this.addSpacer&&this.addManagedEventListeners({rightPinnedWidthChanged:e,scrollVisibilityChanged:e,scrollbarWidthChanged:e}),this.setWidth()}setWidth(){let e=Re(this.gos,"print"),t=this.visibleColsService.getBodyContainerWidth(),i=this.visibleColsService.getColsLeftWidth(),o=this.visibleColsService.getDisplayedColumnsRightWidth(),s;e?s=t+i+o:(s=t,this.addSpacer&&(this.gos.get("enableRtl")?i:o)===0&&this.scrollVisibleService.isVerticalScrollShowing()&&(s+=this.scrollVisibleService.getScrollbarWidth())),this.callback(s)}},Yu=class extends b{constructor(e){super(),this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[],this.pinned=e}wireBeans(e){this.funcColsService=e.funcColsService}onDragEnter(e){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;let t=e.dragItem.columns;t&&t.forEach(i=>{i.isPrimary()&&(i.isAnyFunctionActive()||(i.isAllowValue()?this.columnsToAggregate.push(i):i.isAllowRowGroup()?this.columnsToGroup.push(i):i.isAllowPivot()&&this.columnsToPivot.push(i)))})}getIconName(){return this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0?this.pinned?"pinned":"move":null}onDragLeave(e){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging(e){}onDragStop(e){this.columnsToAggregate.length>0&&this.funcColsService.addValueColumns(this.columnsToAggregate,"toolPanelDragAndDrop"),this.columnsToGroup.length>0&&this.funcColsService.addRowGroupColumns(this.columnsToGroup,"toolPanelDragAndDrop"),this.columnsToPivot.length>0&&this.funcColsService.addPivotColumns(this.columnsToPivot,"toolPanelDragAndDrop")}onDragCancel(){this.clearColumnsList()}};function Ma(e){let{isFromHeader:t,fromLeft:i,xPosition:o,fromEnter:s,fakeEvent:r,pinned:n,gos:a,columnModel:l,columnMoveService:c,visibleColsService:d}=e,{allMovingColumns:u}=e;if(t){let P=[];u.forEach(T=>{let x=null,A=T.getParent();for(;A!=null&&A.getDisplayedLeafColumns().length===1;)x=A,A=A.getParent();x!=null?(!!x.getColGroupDef()?.marryChildren?x.getProvidedColumnGroup().getLeafColumns():x.getLeafColumns()).forEach(O=>{P.includes(O)||P.push(O)}):P.includes(T)||P.push(T)}),u=P}let h=u.slice();l.sortColsLikeCols(h);let g=Ju({movingCols:h,draggingRight:i,xPosition:o,pinned:n,gos:a,columnModel:l,visibleColsService:d}),f=$u(h,l);if(g.length===0)return;let m=g[0],p=f!==null&&!s;if(t&&(p=f!==null),p&&!r&&(!i&&m>=f||i&&m<=f))return;let v=d.getAllCols(),w=[],C=null;for(let P=0;P<g.length;P++){let T=g[P],x=c.getProposedColumnOrder(h,T);if(!c.doesOrderPassRules(x))continue;let A=x.filter(k=>v.includes(k));if(C===null)C=A;else if(!Pt(A,C))break;let L=Qu(x);w.push({move:T,fragCount:L})}if(w.length===0)return;w.sort((P,T)=>P.fragCount-T.fragCount);let R=w[0].move;if(!(R>l.getCols().length-u.length))return{columns:u,toIndex:R}}function $s(e){let{columns:t,toIndex:i}=Ma(e)||{},{finished:o,columnMoveService:s}=e;return!t||i==null?null:(s.moveColumns(t,i,"uiColumnMoved",o),o?null:{columns:t,toIndex:i})}function $u(e,t){let i=t.getCols(),o=Ul(e.map(l=>i.indexOf(l))),s=o[0];return $(o)-s!==o.length-1?null:s}function Qu(e){function t(o){let s=[],r=o.getOriginalParent();for(;r!=null;)s.push(r),r=r.getOriginalParent();return s}let i=0;for(let o=0;o<e.length-1;o++){let s=t(e[o]),r=t(e[o+1]);[s,r]=s.length>r.length?[s,r]:[r,s],s.forEach(n=>{r.indexOf(n)===-1&&i++})}return i}function qu(e,t){switch(t){case"left":return e.getLeftCols();case"right":return e.getRightCols();default:return e.getCenterCols()}}function Ju(e){let{movingCols:t,draggingRight:i,xPosition:o,pinned:s,gos:r,columnModel:n,visibleColsService:a}=e;if(r.get("suppressMovableColumns")||t.some(C=>C.getColDef().suppressMovable))return[];let c=qu(a,s),d=n.getCols(),u=c.filter(C=>Ht(t,C)),h=c.filter(C=>!Ht(t,C)),g=d.filter(C=>!Ht(t,C)),f=0,m=o;if(i){let C=0;u.forEach(R=>C+=R.getActualWidth()),m-=C}if(m>0){for(let C=0;C<h.length;C++){let R=h[C];if(m-=R.getActualWidth(),m<0)break;f++}i&&f++}let p;if(f>0){let C=h[f-1];p=g.indexOf(C)+1}else p=g.indexOf(h[0]),p===-1&&(p=0);let v=[p],w=(C,R)=>C-R;if(i){let C=p+1,R=d.length-1;for(;C<=R;)v.push(C),C++;v.sort(w)}else{let C=p,R=d.length-1,P=d[C];for(;C<=R&&c.indexOf(P)<0;)C++,v.push(C),P=d[C];C=p-1;let T=0;for(;C>=T;)v.push(C),C--;v.sort(w).reverse()}return v}function fo(e){let{pinned:t,fromKeyboard:i,gos:o,ctrlsService:s,useHeaderRow:r,skipScrollPadding:n}=e,a=s.getHeaderRowContainerCtrl(t)?.getViewportElement(),{x:l}=e;return a?(i&&(l-=a.getBoundingClientRect().left),o.get("enableRtl")&&(r&&(a=a.querySelector(".ag-header-row")),l=a.clientWidth-l),t==null&&!n&&(l+=s.get("center").getCenterViewportScrollLeft()),l):0}function ti(e,t){for(let i of e)i.setMoving(t,"uiColumnMoved")}var Jr=7,fs=100,Ki=fs/2,Xu=5,Zu=100,eh=class extends b{constructor(e){super(),this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.pinned=e,this.isCenterContainer=!M(e)}wireBeans(e){this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnMoveService=e.columnMoveService,this.dragAndDropService=e.dragAndDropService,this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl})}getIconName(){let e=this.lastDraggingEvent?.dragItem.columns??[];for(let t of e){let i=t.getPinned();if(t.getColDef().lockPinned){if(i==this.pinned)return"move";continue}if(i===this.pinned||!this.pinned)return"move";if(!i&&this.pinned)return"pinned"}return"notAllowed"}onDragEnter(e){let t=e.dragItem.columns;if(e.dragSource.type===0)this.setColumnsVisible(t,!0,"uiColumnDragged");else{let o=e.dragItem.visibleState,s=(t||[]).filter(r=>o[r.getId()]);this.setColumnsVisible(s,!0,"uiColumnDragged")}this.gos.get("suppressMoveWhenColumnDragging")||this.attemptToPinColumns(t,this.pinned),this.onDragging(e,!0,!0)}onDragging(e=this.lastDraggingEvent,t=!1,i=!1,o=!1){let s=this.gos.get("suppressMoveWhenColumnDragging");if(o&&!s){this.finishColumnMoving();return}if(this.lastDraggingEvent=e,!e||!o&&K(e.hDirection))return;let{pinned:r,gos:n,ctrlsService:a}=this,l=fo({x:e.x,pinned:r,gos:n,ctrlsService:a});t||this.checkCenterForScrolling(l),s?this.handleColumnDragWhileSuppressingMovement(e,t,i,l,o):this.handleColumnDragWhileAllowingMovement(e,t,i,l,o)}onDragLeave(){this.ensureIntervalCleared(),this.clearHighlighted(),this.lastMovedInfo=null}onDragStop(){this.onDragging(this.lastDraggingEvent,!1,!0,!0),this.ensureIntervalCleared(),this.lastMovedInfo=null}onDragCancel(){this.clearHighlighted(),this.ensureIntervalCleared(),this.lastMovedInfo=null}setColumnsVisible(e,t,i){if(!e)return;let o=e.filter(s=>!s.getColDef().lockVisible);this.columnModel.setColsVisible(o,t,i)}finishColumnMoving(){if(this.clearHighlighted(),!this.lastMovedInfo)return;let{columns:e,toIndex:t}=this.lastMovedInfo;this.columnMoveService.moveColumns(e,t,"uiColumnMoved",!0)}handleColumnDragWhileSuppressingMovement(e,t,i,o,s){let r=this.getAllMovingColumns(e,!0);if(s){let n=this.isAttemptingToPin(r);n&&this.attemptToPinColumns(r,void 0,!0);let{fromLeft:a,xPosition:l}=this.getNormalisedXPositionInfo(r,n)||{};if(a==null||l==null){this.finishColumnMoving();return}this.moveColumnsAfterHighlight({allMovingColumns:r,xPosition:l,fromEnter:t,fakeEvent:i,fromLeft:a})}else{if(!this.dragAndDropService.isDropZoneWithinThisGrid(e))return;this.highlightHoveredColumn(r,o)}}handleColumnDragWhileAllowingMovement(e,t,i,o,s){let r=this.getAllMovingColumns(e),n=this.normaliseDirection(e.hDirection)===1,a=e.dragSource.type===1,l=this.getMoveColumnParams({allMovingColumns:r,isFromHeader:a,xPosition:o,fromLeft:n,fromEnter:t,fakeEvent:i}),c=$s({...l,finished:s});c&&(this.lastMovedInfo=c)}getAllMovingColumns(e,t=!1){let i=e.dragSource.getDragItem(),o=null;t?(o=i.columnsInSplit,o||(o=i.columns)):o=i.columns;let s=r=>r.getColDef().lockPinned?r.getPinned()==this.pinned:!0;return o?o.filter(s):[]}getMoveColumnParams(e){let{allMovingColumns:t,isFromHeader:i,xPosition:o,fromLeft:s,fromEnter:r,fakeEvent:n}=e,{pinned:a,gos:l,columnModel:c,columnMoveService:d,visibleColsService:u}=this;return{allMovingColumns:t,isFromHeader:i,fromLeft:s,xPosition:o,pinned:a,fromEnter:r,fakeEvent:n,gos:l,columnModel:c,columnMoveService:d,visibleColsService:u}}findFirstAndLastMovingColumns(e){let t=e.length,i,o;for(let s=0;s<=t;s++){if(!i){let r=e[s];r.getLeft()!=null&&(i=r)}if(!o){let r=e[t-1-s];r.getLeft()!=null&&(o=r)}if(i&&o)break}return{firstMovingCol:i,lastMovingCol:o}}highlightHoveredColumn(e,t){let{gos:i,columnModel:o}=this,s=i.get("enableRtl"),r=o.getCols().filter(d=>d.isVisible()&&d.getPinned()===this.pinned),n=null,a=null,l=null;for(let d of r){if(a=d.getActualWidth(),n=this.getNormalisedColumnLeft(d,0,s),n!=null){let u=n+a;if(n<=t&&u>=t){l=d;break}}n=null,a=null}if(l)e.indexOf(l)!==-1&&(l=null);else{for(let d=r.length-1;d>=0;d--){let u=r[d],h=r[d].getParent();if(!h){l=u;break}let g=h?.getDisplayedLeafColumns();if(g.length){l=$(g);break}}if(!l)return;n=this.getNormalisedColumnLeft(l,0,s),a=l.getActualWidth()}if(this.lastHighlightedColumn?.column!==l&&this.clearHighlighted(),l==null||n==null||a==null)return;let c;t-n<a/2!==s?c=0:c=1,l.setHighlighted(c),this.lastHighlightedColumn={column:l,position:c}}getNormalisedXPositionInfo(e,t){let{gos:i,visibleColsService:o}=this,s=i.get("enableRtl"),{firstMovingCol:r,column:n,position:a}=this.getColumnMoveAndTargetInfo(e,t,s);if(!r||!n||a==null)return;let l=o.getAllCols(),c=l.indexOf(r),d=l.indexOf(n),u=a===0!==s,h=c<d||c===d&&!u,g=0;if(u?h&&(g-=1):h||(g+=1),d+g===c)return;let f=l[d+g];if(!f)return;let m=this.getNormalisedColumnLeft(f,20,s);return{fromLeft:h,xPosition:m}}getColumnMoveAndTargetInfo(e,t,i){let o=this.lastHighlightedColumn||{},{firstMovingCol:s,lastMovingCol:r}=this.findFirstAndLastMovingColumns(e);if(!s||!r||o.column||!t)return{firstMovingCol:s,...o};let a=this.getPinDirection()==="left";return{firstMovingCol:s,position:a?1:0,column:a!==i?s:r}}normaliseDirection(e){if(this.gos.get("enableRtl"))switch(e){case 0:return 1;case 1:return 0}return e}getNormalisedColumnLeft(e,t,i){let{gos:o,ctrlsService:s}=this,r=e.getLeft();if(r==null)return null;let n=e.getActualWidth();return fo({x:i?r+n-t:r+t,pinned:e.getPinned(),useHeaderRow:i,skipScrollPadding:!0,gos:o,ctrlsService:s})}isAttemptingToPin(e){let t=this.needToMoveLeft||this.needToMoveRight,i=this.failedMoveAttempts>Jr;return t&&i||e.some(o=>o.getPinned()!==this.pinned)}moveColumnsAfterHighlight(e){let{allMovingColumns:t,xPosition:i,fromEnter:o,fakeEvent:s,fromLeft:r}=e,n=this.getMoveColumnParams({allMovingColumns:t,isFromHeader:!0,xPosition:i,fromLeft:r,fromEnter:o,fakeEvent:s}),{columns:a,toIndex:l}=Ma(n)||{};a&&l!=null&&(this.lastMovedInfo={columns:a,toIndex:l}),this.finishColumnMoving()}clearHighlighted(){this.lastHighlightedColumn&&(this.lastHighlightedColumn.column.setHighlighted(null),this.lastHighlightedColumn=null)}checkCenterForScrolling(e){if(!this.isCenterContainer)return;let t=this.ctrlsService.get("center"),i=t.getCenterViewportScrollLeft(),o=i+t.getCenterWidth();this.gos.get("enableRtl")?(this.needToMoveRight=e<i+Ki,this.needToMoveLeft=e>o-Ki):(this.needToMoveLeft=e<i+Ki,this.needToMoveRight=e>o-Ki),this.needToMoveLeft||this.needToMoveRight?this.ensureIntervalStarted():this.ensureIntervalCleared()}ensureIntervalStarted(){this.movingIntervalId||(this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),Zu),this.dragAndDropService.getDragAndDropImageComponent()?.setIcon(this.needToMoveLeft?"left":"right",!0))}ensureIntervalCleared(){this.movingIntervalId&&(window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.failedMoveAttempts=0,this.dragAndDropService.getDragAndDropImageComponent()?.setIcon(this.getIconName()))}moveInterval(){let e;this.intervalCount++,e=10+this.intervalCount*Xu,e>fs&&(e=fs);let t=null,i=this.gridBodyCon.getScrollFeature();if(this.needToMoveLeft?t=i.scrollHorizontally(-e):this.needToMoveRight&&(t=i.scrollHorizontally(e)),t!==0)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{if(this.failedMoveAttempts++,this.failedMoveAttempts<=Jr+1)return;if(this.dragAndDropService.getDragAndDropImageComponent()?.setIcon("pinned"),!this.gos.get("suppressMoveWhenColumnDragging")){let o=this.lastDraggingEvent?.dragItem.columns;this.attemptToPinColumns(o,void 0,!0)}}}getPinDirection(){if(this.needToMoveLeft||this.pinned==="left")return"left";if(this.needToMoveRight||this.pinned==="right")return"right"}attemptToPinColumns(e,t,i=!1){let o=(e||[]).filter(s=>!s.getColDef().lockPinned);return o.length?(i&&(t=this.getPinDirection()),this.columnModel.setColsPinned(o,t,"uiColumnDragged"),i&&this.dragAndDropService.nudge(),o.length):0}destroy(){super.destroy(),this.lastDraggingEvent=null,this.clearHighlighted(),this.lastMovedInfo=null}},th=class extends b{wireBeans(e){this.dragAndDropService=e.dragAndDropService,this.columnModel=e.columnModel,this.ctrlsService=e.ctrlsService}constructor(e,t){super(),this.pinned=e,this.eContainer=t}postConstruct(){this.ctrlsService.whenReady(this,e=>{switch(this.pinned){case"left":this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.left.getContainerElement()],[e.bottomLeft.getContainerElement()],[e.topLeft.getContainerElement()]];break;case"right":this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.right.getContainerElement()],[e.bottomRight.getContainerElement()],[e.topRight.getContainerElement()]];break;default:this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.center.getViewportElement()],[e.bottomCenter.getViewportElement()],[e.topCenter.getViewportElement()]];break}}),this.moveColumnFeature=this.createManagedBean(new eh(this.pinned)),this.bodyDropPivotTarget=this.createManagedBean(new Yu(this.pinned)),this.dragAndDropService.addDropTarget(this),this.addDestroyFunc(()=>this.dragAndDropService.removeDropTarget(this))}isInterestedIn(e){return e===1||e===0&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(e){return this.columnModel.isPivotMode()&&e.dragSource.type===0}onDragEnter(e){this.currentDropListener=this.isDropColumnInPivotMode(e)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter(e)}onDragLeave(e){this.currentDropListener.onDragLeave(e)}onDragging(e){this.currentDropListener.onDragging(e)}onDragStop(e){this.currentDropListener.onDragStop(e)}onDragCancel(){this.currentDropListener.onDragCancel()}},ih=class extends b{wireBeans(e){this.horizontalResizeService=e.horizontalResizeService,this.pinnedWidthService=e.pinnedWidthService,this.ctrlsService=e.ctrlsService,this.columnSizeService=e.columnSizeService,this.columnAutosizeService=e.columnAutosizeService}constructor(e,t,i,o,s){super(),this.pinned=e,this.column=t,this.eResize=i,this.comp=o,this.ctrl=s}postConstruct(){let e=[],t,i,o=()=>{if(pe(this.eResize,t),!t)return;let n=this.horizontalResizeService.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(e.push(n),i){let a=this.gos.get("skipHeaderOnAutoSize"),l=()=>{this.columnAutosizeService.autoSizeColumn(this.column,"uiColumnResized",a)};this.eResize.addEventListener("dblclick",l);let c=new xt(this.eResize);c.addEventListener("doubleTap",l),e.push(()=>{this.eResize.removeEventListener("dblclick",l),c.removeEventListener("doubleTap",l),c.destroy()})}},s=()=>{e.forEach(n=>n()),e.length=0},r=()=>{let n=this.column.isResizable(),a=!this.gos.get("suppressAutoSize")&&!this.column.getColDef().suppressAutoSize;(n!==t||a!==i)&&(t=n,i=a,s(),o())};r(),this.addDestroyFunc(s),this.ctrl.setRefreshFunction("resize",r)}onResizing(e,t){let{column:i,lastResizeAmount:o,resizeStartWidth:s}=this,r=this.normaliseResizeAmount(t),n=s+r,a=[{key:i,newWidth:n}];if(this.column.getPinned()){let l=this.pinnedWidthService.getPinnedLeftWidth(),c=this.pinnedWidthService.getPinnedRightWidth(),d=Gi(this.ctrlsService.getGridBodyCtrl().getBodyViewportElement())-50;if(l+c+(r-o)>d)return}this.lastResizeAmount=r,this.columnSizeService.setColumnWidths(a,this.resizeWithShiftKey,e,"uiColumnResized"),e&&this.toggleColumnResizing(!1)}onResizeStart(e){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=e,this.toggleColumnResizing(!0)}toggleColumnResizing(e){this.comp.addOrRemoveCssClass("ag-column-resizing",e)}normaliseResizeAmount(e){let t=e,i=this.pinned!=="left",o=this.pinned==="right";return this.gos.get("enableRtl")?i&&(t*=-1):o&&(t*=-1),t}},oh=class extends b{constructor(e){super(),this.cbSelectAllVisible=!1,this.processingEventFromCheckbox=!1,this.column=e}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}onSpaceKeyDown(e){let t=this.cbSelectAll;t.isDisplayed()&&!t.getGui().contains(fe(this.gos))&&(e.preventDefault(),t.setValue(!t.getValue()))}getCheckboxGui(){return this.cbSelectAll.getGui()}setComp(e){this.headerCellCtrl=e,this.cbSelectAll=this.createManagedBean(new Gs),this.cbSelectAll.addCssClass("ag-header-select-all"),Xe(this.cbSelectAll.getGui(),"presentation"),this.showOrHideSelectAll(),this.addManagedEventListeners({newColumnsLoaded:this.onNewColumnsLoaded.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),selectionChanged:this.onSelectionChanged.bind(this),paginationChanged:this.onSelectionChanged.bind(this),modelUpdated:this.onModelChanged.bind(this)}),this.addManagedListeners(this.cbSelectAll,{fieldValueChanged:this.onCbSelectAll.bind(this)}),this.cbSelectAll.getInputElement().setAttribute("tabindex","-1"),this.refreshSelectAllLabel()}onNewColumnsLoaded(){this.showOrHideSelectAll()}onDisplayedColumnsChanged(){this.isAlive()&&this.showOrHideSelectAll()}showOrHideSelectAll(){this.cbSelectAllVisible=this.isCheckboxSelection(),this.cbSelectAll.setDisplayed(this.cbSelectAllVisible),this.cbSelectAllVisible&&(this.checkRightRowModelType("selectAllCheckbox"),this.checkSelectionType("selectAllCheckbox"),this.updateStateOfCheckbox()),this.refreshSelectAllLabel()}onModelChanged(){this.cbSelectAllVisible&&this.updateStateOfCheckbox()}onSelectionChanged(){this.cbSelectAllVisible&&this.updateStateOfCheckbox()}updateStateOfCheckbox(){if(this.processingEventFromCheckbox)return;this.processingEventFromCheckbox=!0;let e=this.selectionService.getSelectAllState(this.isFilteredOnly(),this.isCurrentPageOnly());this.cbSelectAll.setValue(e);let t=this.selectionService.hasNodesToSelect(this.isFilteredOnly(),this.isCurrentPageOnly());this.cbSelectAll.setDisabled(!t),this.refreshSelectAllLabel(),this.processingEventFromCheckbox=!1}refreshSelectAllLabel(){let e=this.localeService.getLocaleTextFunc(),i=this.cbSelectAll.getValue()?e("ariaChecked","checked"):e("ariaUnchecked","unchecked"),o=e("ariaRowSelectAll","Press Space to toggle all rows selection");this.cbSelectAllVisible?this.headerCellCtrl.setAriaDescriptionProperty("selectAll",`${o} (${i})`):this.headerCellCtrl.setAriaDescriptionProperty("selectAll",null),this.cbSelectAll.setInputAriaLabel(e("ariaHeaderSelection","Column with Header Selection")),this.headerCellCtrl.announceAriaDescription()}checkSelectionType(e){return fn(this.gos)?!0:(S(`${e} is only available if using 'multiRow' selection mode.`),!1)}checkRightRowModelType(e){return de(this.gos)||mt(this.gos)?!0:(S(`${e} is only available if using 'clientSide' or 'serverSide' rowModelType, you are using ${this.rowModel.getType()}.`),!1)}onCbSelectAll(){if(this.processingEventFromCheckbox||!this.cbSelectAllVisible)return;let e=this.cbSelectAll.getValue(),t=this.isFilteredOnly(),i=this.isCurrentPageOnly(),o="uiSelectAll";i?o="uiSelectAllCurrentPage":t&&(o="uiSelectAllFiltered");let s={source:o,justFiltered:t,justCurrentPage:i};e?this.selectionService.selectAllRowNodes(s):this.selectionService.deselectAllRowNodes(s)}isCheckboxSelection(){let e=this.gos.get("rowSelection"),t=typeof e=="object"&&ro(e)&&Pi(this.column),i=this.column.getColDef().headerCheckboxSelection,o=!1;return t?o=!0:typeof i=="function"?o=i(this.gos.addGridCommonParams({column:this.column,colDef:this.column.getColDef()})):o=!!i,o&&this.checkRightRowModelType(t?"headerCheckbox":"headerCheckboxSelection")&&this.checkSelectionType(t?"headerCheckbox":"headerCheckboxSelection")}isFilteredOnly(){let e=this.gos.get("rowSelection");return typeof e=="object"?e.mode==="multiRow"&&e.selectAll==="filtered":!!this.column.getColDef().headerCheckboxSelectionFilteredOnly}isCurrentPageOnly(){let e=this.gos.get("rowSelection");return typeof e=="object"?e.mode==="multiRow"&&e.selectAll==="currentPage":!!this.column.getColDef().headerCheckboxSelectionCurrentPageOnly}},sh=class extends Fo{constructor(e,t,i){super(e,t,i),this.refreshFunctions={},this.userHeaderClasses=new Set,this.ariaDescriptionProperties=new Map,this.column=e}setComp(e,t,i,o,s){this.comp=e,s=Oi(this,this.beans.context,s),this.setGui(t,s),this.updateState(),this.setupWidth(s),this.setupMovingCss(s),this.setupMenuClass(s),this.setupSortableClass(s),this.setupWrapTextClass(),this.refreshSpanHeaderHeight(),this.setupAutoHeight({wrapperElement:o,checkMeasuringCallback:n=>this.setRefreshFunction("measuring",n),compBean:s}),this.addColumnHoverListener(s),this.setupFilterClass(s),this.setupClassesFromColDef(),this.setupTooltip(s),this.addActiveHeaderMouseListeners(s),this.setupSelectAll(s),this.setupUserComp(s),this.refreshAria(),this.resizeFeature=s.createManagedBean(new ih(this.getPinned(),this.column,i,e,this)),s.createManagedBean(new _s([this.column],t)),s.createManagedBean(new Us(this.column,t,this.beans)),s.createManagedBean(new jt(t,{shouldStopEventPropagation:n=>this.shouldStopEventPropagation(n),onTabKeyDown:()=>null,handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addResizeAndMoveKeyboardListeners(s),s.addManagedPropertyListeners(["suppressMovableColumns","suppressMenuHide","suppressAggFuncInHeader"],()=>this.refresh(s)),s.addManagedListeners(this.column,{colDefChanged:()=>this.refresh(s)}),s.addManagedListeners(this.column,{headerHighlightChanged:this.onHeaderHighlightChanged.bind(this)});let r=()=>this.checkDisplayName(s);s.addManagedEventListeners({columnValueChanged:r,columnRowGroupChanged:r,columnPivotChanged:r,headerHeightChanged:this.onHeaderHeightChanged.bind(this)}),s.addDestroyFunc(()=>{this.refreshFunctions={},this.selectAllFeature=null,this.dragSourceElement=void 0,this.userCompDetails=null,this.userHeaderClasses.clear(),this.ariaDescriptionProperties.clear(),this.clearComponent()})}resizeHeader(e,t){if(!this.column.isResizable())return;let i=this.column.getActualWidth(),o=this.column.getMinWidth(),s=this.column.getMaxWidth(),r=Math.min(Math.max(i+e,o),s);this.beans.columnSizeService.setColumnWidths([{key:this.column,newWidth:r}],t,!0,"uiColumnResized")}moveHeader(e){let{eGui:t,beans:i,column:o,ctrlsService:s}=this,{gos:r,columnModel:n,columnMoveService:a,visibleColsService:l}=i,c=this.getPinned(),d=t.getBoundingClientRect().left,u=o.getActualWidth(),h=r.get("enableRtl"),f=fo({x:e===0!==h?d-20:d+u+20,pinned:c,fromKeyboard:!0,gos:r,ctrlsService:s}),m=this.focusService.getFocusedHeader();$s({allMovingColumns:[o],isFromHeader:!0,fromLeft:e===1,xPosition:f,pinned:c,fromEnter:!1,fakeEvent:!1,gos:r,columnModel:n,columnMoveService:a,visibleColsService:l,finished:!0}),s.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(o,"auto"),(!this.isAlive()||this.beans.gos.get("ensureDomOrder"))&&m&&this.restoreFocus(m)}restoreFocus(e){this.focusService.focusHeaderPosition({headerPosition:{...e,column:this.column}})}setupUserComp(e){let t=this.lookupUserCompDetails(e);this.setCompDetails(t)}setCompDetails(e){this.userCompDetails=e,this.comp.setUserCompDetails(e)}lookupUserCompDetails(e){let t=this.createParams(e),i=this.column.getColDef();return this.userComponentFactory.getHeaderCompDetails(i,t)}createParams(e){return this.gos.addGridCommonParams({column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&this.menuService.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!this.openFilterEnabled||this.menuService.isLegacyMenuEnabled(),showColumnMenu:i=>{this.menuService.showColumnMenu({column:this.column,buttonElement:i,positionBy:"button"})},showColumnMenuAfterMouseClick:i=>{this.menuService.showColumnMenu({column:this.column,mouseEvent:i,positionBy:"mouse"})},showFilter:i=>{this.menuService.showFilterMenu({column:this.column,buttonElement:i,containerType:"columnFilter",positionBy:"button"})},progressSort:i=>{this.beans.sortController.progressSort(this.column,!!i,"uiColumnSorted")},setSort:(i,o)=>{this.beans.sortController.setSortForColumn(this.column,i,!!o,"uiColumnSorted")},eGridHeader:this.getGui(),setTooltip:(i,o)=>{this.setupTooltip(e,i,o)}})}setupSelectAll(e){this.selectAllFeature=e.createManagedBean(new oh(this.column)),this.selectAllFeature.setComp(this)}getSelectAllGui(){return this.selectAllFeature.getCheckboxGui()}handleKeyDown(e){super.handleKeyDown(e),e.key===y.SPACE&&this.selectAllFeature.onSpaceKeyDown(e),e.key===y.ENTER&&this.onEnterKeyDown(e),e.key===y.DOWN&&e.altKey&&this.showMenuOnKeyPress(e,!1)}onEnterKeyDown(e){if(e.ctrlKey||e.metaKey)this.showMenuOnKeyPress(e,!0);else if(this.sortable){let t=e.shiftKey;this.beans.sortController.progressSort(this.column,t,"uiColumnSorted")}}showMenuOnKeyPress(e,t){let i=this.comp.getUserCompInstance();!i||!(i instanceof us)||i.onMenuKeyboardShortcut(t)&&e.preventDefault()}onFocusIn(e){if(!this.getGui().contains(e.relatedTarget)){let t=this.getRowIndex();this.focusService.setFocusedHeader(t,this.column),this.announceAriaDescription()}this.focusService.isKeyboardMode()&&this.setActiveHeader(!0)}onFocusOut(e){this.getGui().contains(e.relatedTarget)||this.setActiveHeader(!1)}setupTooltip(e,t,i){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature));let o=this.gos.get("tooltipShowMode")==="whenTruncated",s=this.eGui,r=this.column.getColDef();!i&&o&&!r.headerComponent&&(i=()=>{let l=s.querySelector(".ag-header-cell-text");return l?l.scrollWidth>l.clientWidth:!0});let n={getColumn:()=>this.column,getColDef:()=>this.column.getColDef(),getGui:()=>s,getLocation:()=>"header",getTooltipValue:()=>t??this.column.getColDef().headerTooltip,shouldDisplayTooltip:i},a=e.createManagedBean(new ai(n));this.setRefreshFunction("tooltip",()=>a.refreshToolTip())}setupClassesFromColDef(){let e=()=>{let t=this.column.getColDef(),i=wa(t,this.gos,this.column,null),o=this.userHeaderClasses;this.userHeaderClasses=new Set(i),i.forEach(s=>{o.has(s)?o.delete(s):this.comp.addOrRemoveCssClass(s,!0)}),o.forEach(s=>this.comp.addOrRemoveCssClass(s,!1))};this.setRefreshFunction("headerClasses",e),e()}setDragSource(e){if(this.dragSourceElement=e,this.removeDragSource(),!e||!this.draggable)return;let{column:t,beans:i,displayName:o,dragAndDropService:s,gos:r}=this,{columnModel:n}=i,a=!this.gos.get("suppressDragLeaveHidesColumns"),l=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>a?"hide":"notAllowed",getDragItem:()=>this.createDragItem(t),dragItemName:o,onDragStarted:()=>{a=!r.get("suppressDragLeaveHidesColumns"),ti([t],!0)},onDragStopped:()=>ti([t],!1),onDragCancelled:()=>ti([t],!1),onGridEnter:c=>{if(a){let d=c?.columns?.filter(u=>!u.getColDef().lockVisible)||[];n.setColsVisible(d,!0,"uiColumnMoved")}},onGridExit:c=>{if(a){let d=c?.columns?.filter(u=>!u.getColDef().lockVisible)||[];n.setColsVisible(d,!1,"uiColumnMoved")}}};s.addDragSource(l,!0)}createDragItem(e){let t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t}}updateState(){this.menuEnabled=this.menuService.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=this.menuService.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}setRefreshFunction(e,t){this.refreshFunctions[e]=t}refresh(e){this.updateState(),this.refreshHeaderComp(e),this.refreshAria(),Object.values(this.refreshFunctions).forEach(t=>t())}refreshHeaderComp(e){let t=this.lookupUserCompDetails(e);(this.comp.getUserCompInstance()!=null&&this.userCompDetails.componentClass==t.componentClass?this.attemptHeaderCompRefresh(t.params):!1)?this.setDragSource(this.dragSourceElement):this.setCompDetails(t)}attemptHeaderCompRefresh(e){let t=this.comp.getUserCompInstance();return!t||!t.refresh?!1:t.refresh(e)}calculateDisplayName(){return this.beans.columnNameService.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(e){this.displayName!==this.calculateDisplayName()&&this.refresh(e)}workOutDraggable(){let e=this.column.getColDef();return!!(!this.gos.get("suppressMovableColumns")&&!e.suppressMovable&&!e.lockPosition)||!!e.enableRowGroup||!!e.enablePivot}setupWidth(e){let t=()=>{let i=this.column.getActualWidth();this.comp.setWidth(`${i}px`)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupMovingCss(e){let t=()=>{this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving())};e.addManagedListeners(this.column,{movingChanged:t}),t()}setupMenuClass(e){let t=()=>{this.comp.addOrRemoveCssClass("ag-column-menu-visible",this.column.isMenuVisible())};e.addManagedListeners(this.column,{menuVisibleChanged:t}),t()}setupSortableClass(e){let t=()=>{this.comp.addOrRemoveCssClass("ag-header-cell-sortable",!!this.sortable)};t(),this.setRefreshFunction("updateSortable",t),e.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass(e){let t=()=>{let i=this.column.isFilterActive();this.comp.addOrRemoveCssClass("ag-header-cell-filtered",i),this.refreshAria()};e.addManagedListeners(this.column,{filterActiveChanged:t}),t()}setupWrapTextClass(){let e=()=>{let t=!!this.column.getColDef().wrapHeaderText;this.comp.addOrRemoveCssClass("ag-header-cell-wrap-text",t)};e(),this.setRefreshFunction("wrapText",e)}onHeaderHighlightChanged(){let e=this.column.getHighlighted(),t=e===0,i=e===1;this.comp.addOrRemoveCssClass("ag-header-highlight-before",t),this.comp.addOrRemoveCssClass("ag-header-highlight-after",i)}onDisplayedColumnsChanged(){super.onDisplayedColumnsChanged(),this.isAlive()&&this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){let{eGui:e,column:t,comp:i,beans:o}=this,s=this.beans.columnModel.getGroupRowsHeight(),r=s.reduce((u,h)=>u+=h,0)===0;if(i.addOrRemoveCssClass("ag-header-parent-hidden",r),!t.isSpanHeaderHeight()){e.style.removeProperty("top"),e.style.removeProperty("height"),i.addOrRemoveCssClass("ag-header-span-height",!1),i.addOrRemoveCssClass("ag-header-span-total",!1);return}let{numberOfParents:n,isSpanningTotal:a}=this.column.getColumnGroupPaddingInfo();i.addOrRemoveCssClass("ag-header-span-height",n>0);let{columnModel:l}=o,c=l.getColumnHeaderRowHeight();if(n===0){i.addOrRemoveCssClass("ag-header-span-total",!1),e.style.setProperty("top","0px"),e.style.setProperty("height",`${c}px`);return}i.addOrRemoveCssClass("ag-header-span-total",a);let d=0;for(let u=0;u<n;u++)d+=s[s.length-1-u];e.style.setProperty("top",`${-d}px`),e.style.setProperty("height",`${c+d}px`)}refreshAriaSort(){if(this.sortable){let e=this.localeService.getLocaleTextFunc(),t=this.beans.sortController.getDisplaySortForColumn(this.column)||null;this.comp.setAriaSort(yc(t)),this.setAriaDescriptionProperty("sort",e("ariaSortableColumn","Press ENTER to sort"))}else this.comp.setAriaSort(),this.setAriaDescriptionProperty("sort",null)}refreshAriaMenu(){if(this.menuEnabled){let e=this.localeService.getLocaleTextFunc();this.setAriaDescriptionProperty("menu",e("ariaMenuColumn","Press ALT DOWN to open column menu"))}else this.setAriaDescriptionProperty("menu",null)}refreshAriaFilterButton(){if(this.openFilterEnabled&&!this.menuService.isLegacyMenuEnabled()){let e=this.localeService.getLocaleTextFunc();this.setAriaDescriptionProperty("filterButton",e("ariaFilterColumn","Press CTRL ENTER to open filter"))}else this.setAriaDescriptionProperty("filterButton",null)}refreshAriaFiltered(){let e=this.localeService.getLocaleTextFunc();this.column.isFilterActive()?this.setAriaDescriptionProperty("filter",e("ariaColumnFiltered","Column Filtered")):this.setAriaDescriptionProperty("filter",null)}setAriaDescriptionProperty(e,t){t!=null?this.ariaDescriptionProperties.set(e,t):this.ariaDescriptionProperties.delete(e)}announceAriaDescription(){if(!this.eGui.contains(fe(this.beans.gos)))return;let e=Array.from(this.ariaDescriptionProperties.keys()).sort((t,i)=>t==="filter"?-1:i.charCodeAt(0)-t.charCodeAt(0)).map(t=>this.ariaDescriptionProperties.get(t)).join(". ");this.beans.ariaAnnouncementService.announceValue(e,"columnHeader")}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered()}addColumnHoverListener(e){let t=()=>{if(!this.gos.get("columnHoverHighlight"))return;let i=this.beans.columnHoverService.isHovered(this.column);this.comp.addOrRemoveCssClass("ag-column-hover",i)};e.addManagedEventListeners({columnHoverChanged:t}),t()}getColId(){return this.column.getColId()}addActiveHeaderMouseListeners(e){let t=s=>this.handleMouseOverChange(s.type==="mouseenter"),i=()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column),o=s=>this.handleContextMenuMouseEvent(s,void 0,this.column);e.addManagedListeners(this.getGui(),{mouseenter:t,mouseleave:t,click:i,contextmenu:o})}handleMouseOverChange(e){this.setActiveHeader(e),this.eventService.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column})}setActiveHeader(e){this.comp.addOrRemoveCssClass("ag-header-active",e)}getAnchorElementForMenu(e){let t=this.comp.getUserCompInstance();return t instanceof us?t.getAnchorElementForMenu(e):this.getGui()}destroy(){super.destroy()}},rh=class extends b{wireBeans(e){this.horizontalResizeService=e.horizontalResizeService,this.autoWidthCalculator=e.autoWidthCalculator,this.visibleColsService=e.visibleColsService,this.columnSizeService=e.columnSizeService,this.columnAutosizeService=e.columnAutosizeService}constructor(e,t,i,o){super(),this.eResize=t,this.comp=e,this.pinned=i,this.columnGroup=o}postConstruct(){if(!this.columnGroup.isResizable()){this.comp.setResizableDisplayed(!1);return}let e=this.horizontalResizeService.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(this.addDestroyFunc(e),!this.gos.get("suppressAutoSize")){let t=this.gos.get("skipHeaderOnAutoSize");this.eResize.addEventListener("dblclick",()=>{let i=[];this.columnGroup.getDisplayedLeafColumns().forEach(s=>{s.getColDef().suppressAutoSize||i.push(s.getColId())}),i.length>0&&this.columnAutosizeService.autoSizeCols({colKeys:i,skipHeader:t,stopAtGroup:this.columnGroup,source:"uiColumnResized"}),this.resizeLeafColumnsToFit("uiColumnResized")})}}onResizeStart(e){let t=this.getInitialValues(e);this.storeLocalValues(t),this.toggleColumnResizing(!0)}onResizing(e,t,i="uiColumnResized"){let o=this.normaliseDragChange(t),s=this.resizeStartWidth+o;this.resizeColumnsFromLocalValues(s,i,e)}getInitialValues(e){let t=this.getColumnsToResize(),i=this.getInitialSizeOfColumns(t),o=this.getSizeRatiosOfColumns(t,i),s={columnsToResize:t,resizeStartWidth:i,resizeRatios:o},r=null;if(e&&(r=this.visibleColsService.getGroupAtDirection(this.columnGroup,"After")),r){let n=r.getDisplayedLeafColumns(),a=s.groupAfterColumns=n.filter(c=>c.isResizable()),l=s.groupAfterStartWidth=this.getInitialSizeOfColumns(a);s.groupAfterRatios=this.getSizeRatiosOfColumns(a,l)}else s.groupAfterColumns=void 0,s.groupAfterStartWidth=void 0,s.groupAfterRatios=void 0;return s}storeLocalValues(e){let{columnsToResize:t,resizeStartWidth:i,resizeRatios:o,groupAfterColumns:s,groupAfterStartWidth:r,groupAfterRatios:n}=e;this.resizeCols=t,this.resizeStartWidth=i,this.resizeRatios=o,this.resizeTakeFromCols=s,this.resizeTakeFromStartWidth=r,this.resizeTakeFromRatios=n}clearLocalValues(){this.resizeCols=void 0,this.resizeRatios=void 0,this.resizeTakeFromCols=void 0,this.resizeTakeFromRatios=void 0}resizeLeafColumnsToFit(e){let t=this.autoWidthCalculator.getPreferredWidthForColumnGroup(this.columnGroup),i=this.getInitialValues();t>i.resizeStartWidth&&this.resizeColumns(i,t,e,!0)}resizeColumnsFromLocalValues(e,t,i=!0){if(!this.resizeCols||!this.resizeRatios)return;let o={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols??void 0,groupAfterStartWidth:this.resizeTakeFromStartWidth??void 0,groupAfterRatios:this.resizeTakeFromRatios??void 0};this.resizeColumns(o,e,t,i)}resizeColumns(e,t,i,o=!0){let{columnsToResize:s,resizeStartWidth:r,resizeRatios:n,groupAfterColumns:a,groupAfterStartWidth:l,groupAfterRatios:c}=e,d=[];if(d.push({columns:s,ratios:n,width:t}),a){let u=t-r;d.push({columns:a,ratios:c,width:l-u})}this.columnSizeService.resizeColumnSets({resizeSets:d,finished:o,source:i}),o&&this.toggleColumnResizing(!1)}toggleColumnResizing(e){this.comp.addOrRemoveCssClass("ag-column-resizing",e)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter(t=>t.isResizable())}getInitialSizeOfColumns(e){return e.reduce((t,i)=>t+i.getActualWidth(),0)}getSizeRatiosOfColumns(e,t){return e.map(i=>i.getActualWidth()/t)}normaliseDragChange(e){let t=e;return this.gos.get("enableRtl")?this.pinned!=="left"&&(t*=-1):this.pinned==="right"&&(t*=-1),t}destroy(){super.destroy(),this.clearLocalValues()}},nh=class extends b{constructor(e,t){super(),this.removeChildListenersFuncs=[],this.columnGroup=t,this.comp=e}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();let e=this.onWidthChanged.bind(this);this.columnGroup.getLeafColumns().forEach(t=>{t.addEventListener("widthChanged",e),t.addEventListener("visibleChanged",e),this.removeChildListenersFuncs.push(()=>{t.removeEventListener("widthChanged",e),t.removeEventListener("visibleChanged",e)})})}removeListenersOnChildrenColumns(){this.removeChildListenersFuncs.forEach(e=>e()),this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){let e=this.columnGroup.getActualWidth();this.comp.setWidth(`${e}px`),this.comp.addOrRemoveCssClass("ag-hidden",e===0)}},ah=class extends Fo{constructor(e,t,i){super(e,t,i),this.onSuppressColMoveChange=()=>{if(!this.isAlive()||this.isSuppressMoving())this.removeDragSource();else if(!this.dragSource){let o=this.getGui();this.setDragSource(o)}},this.column=e}setComp(e,t,i,o,s){this.comp=e,s=Oi(this,this.beans.context,s),this.setGui(t,s),this.displayName=this.beans.columnNameService.getDisplayNameForColumnGroup(this.column,"header"),this.addClasses(),this.setupMovingCss(s),this.setupExpandable(s),this.setupTooltip(s),this.setupAutoHeight({wrapperElement:o,compBean:s}),this.setupUserComp(s),this.addHeaderMouseListeners(s),this.addManagedPropertyListener("groupHeaderHeight",this.refreshMaxHeaderHeight.bind(this)),this.refreshMaxHeaderHeight();let r=this.getParentRowCtrl().getPinned(),n=this.column.getProvidedColumnGroup().getLeafColumns();s.createManagedBean(new _s(n,t)),s.createManagedBean(new Us(this.column,t,this.beans)),s.createManagedBean(new nh(e,this.column)),this.resizeFeature=s.createManagedBean(new rh(e,i,r,this.column)),s.createManagedBean(new jt(t,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addHighlightListeners(s,n),s.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners(s),s.addDestroyFunc(()=>this.clearComponent())}refreshMaxHeaderHeight(){let{gos:e,comp:t}=this,i=e.get("groupHeaderHeight");i!=null?i===0?t.setHeaderWrapperHidden(!0):t.setHeaderWrapperMaxHeight(i):(t.setHeaderWrapperHidden(!1),t.setHeaderWrapperMaxHeight(null))}addHighlightListeners(e,t){if(this.beans.gos.get("suppressMoveWhenColumnDragging"))for(let i of t)e.addManagedListeners(i,{headerHighlightChanged:this.onLeafColumnHighlightChanged.bind(this,i)})}onLeafColumnHighlightChanged(e){let t=this.column.getDisplayedLeafColumns(),i=t[0]===e,o=$(t)===e;if(!i&&!o)return;let s=e.getHighlighted(),r=!!this.getParentRowCtrl().findHeaderCellCtrl(l=>l.getColumnGroupChild().isMoving()),n=!1,a=!1;if(r){let l=this.beans.gos.get("enableRtl"),c=s===1,d=s===0;i&&(l?a=c:n=d),o&&(l?n=d:a=c)}this.comp.addOrRemoveCssClass("ag-header-highlight-before",n),this.comp.addOrRemoveCssClass("ag-header-highlight-after",a)}getColumn(){return this.column}resizeHeader(e,t){if(!this.resizeFeature)return;let i=this.resizeFeature.getInitialValues(t);this.resizeFeature.resizeColumns(i,i.resizeStartWidth+e,"uiColumnResized",!0)}moveHeader(e){let{beans:t,eGui:i,column:o,ctrlsService:s}=this,{gos:r,columnModel:n,columnMoveService:a,visibleColsService:l}=t,c=r.get("enableRtl"),d=e===0,u=this.getPinned(),h=i.getBoundingClientRect(),g=h.left,f=h.width,m=fo({x:d!==c?g-20:g+f+20,pinned:u,fromKeyboard:!0,gos:r,ctrlsService:s}),p=o.getGroupId(),v=this.focusService.getFocusedHeader();$s({allMovingColumns:this.column.getLeafColumns(),isFromHeader:!0,fromLeft:e===1,xPosition:m,pinned:u,fromEnter:!1,fakeEvent:!1,gos:r,columnModel:n,columnMoveService:a,visibleColsService:l,finished:!0});let w=o.getDisplayedLeafColumns(),C=d?w[0]:$(w);this.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(C,"auto"),(!this.isAlive()||this.beans.gos.get("ensureDomOrder"))&&v&&this.restoreFocus(p,o,v)}restoreFocus(e,t,i){let o=t.getLeafColumns();if(!o.length)return;let s=o[0].getParent();if(!s)return;let r=this.findGroupWidthId(s,e);r&&this.focusService.focusHeaderPosition({headerPosition:{...i,column:r}})}findGroupWidthId(e,t){for(;e;){if(e.getGroupId()===t)return e;e=e.getParent()}return null}resizeLeafColumnsToFit(e){this.resizeFeature&&this.resizeFeature.resizeLeafColumnsToFit(e)}setupUserComp(e){let t=this.gos.addGridCommonParams({displayName:this.displayName,columnGroup:this.column,setExpanded:o=>{this.beans.columnModel.setColumnGroupOpened(this.column.getProvidedColumnGroup(),o,"gridInitializing")},setTooltip:(o,s)=>{this.setupTooltip(e,o,s)}}),i=this.userComponentFactory.getHeaderGroupCompDetails(t);this.comp.setUserCompDetails(i)}addHeaderMouseListeners(e){let t=s=>this.handleMouseOverChange(s.type==="mouseenter"),i=()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column.getProvidedColumnGroup()),o=s=>this.handleContextMenuMouseEvent(s,void 0,this.column.getProvidedColumnGroup());e.addManagedListeners(this.getGui(),{mouseenter:t,mouseleave:t,click:i,contextmenu:o})}handleMouseOverChange(e){this.eventService.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()})}setupTooltip(e,t,i){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature));let o=this.column.getColGroupDef(),s=this.gos.get("tooltipShowMode")==="whenTruncated",r=this.eGui;!i&&s&&!o?.headerGroupComponent&&(i=()=>{let a=r.querySelector(".ag-header-group-text");return a?a.scrollWidth>a.clientWidth:!0});let n={getColumn:()=>this.column,getGui:()=>r,getLocation:()=>"headerGroup",getTooltipValue:()=>t??(o&&o.headerTooltip),shouldDisplayTooltip:i};o&&(n.getColDef=()=>o),e.createManagedBean(new ai(n))}setupExpandable(e){let t=this.column.getProvidedColumnGroup();this.refreshExpanded();let i=this.refreshExpanded.bind(this);e.addManagedListeners(t,{expandedChanged:i,expandableChanged:i})}refreshExpanded(){let{column:e}=this;this.expandable=e.isExpandable();let t=e.isExpanded();this.expandable?this.comp.setAriaExpanded(t?"true":"false"):this.comp.setAriaExpanded(void 0)}getColId(){return this.column.getUniqueId()}addClasses(){let e=this.column.getColGroupDef(),t=wa(e,this.gos,null,this.column);this.column.isPadding()?(t.push("ag-header-group-cell-no-group"),this.column.getLeafColumns().every(o=>o.isSpanHeaderHeight())&&t.push("ag-header-span-height")):(t.push("ag-header-group-cell-with-group"),e?.wrapHeaderText&&t.push("ag-header-cell-wrap-text")),t.forEach(i=>this.comp.addOrRemoveCssClass(i,!0))}setupMovingCss(e){let i=this.column.getProvidedColumnGroup().getLeafColumns(),o=()=>this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving());i.forEach(s=>{e.addManagedListeners(s,{movingChanged:o})}),o()}onFocusIn(e){if(!this.eGui.contains(e.relatedTarget)){let t=this.getRowIndex();this.beans.focusService.setFocusedHeader(t,this.column)}}handleKeyDown(e){super.handleKeyDown(e);let t=this.getWrapperHasFocus();if(!(!this.expandable||!t)&&e.key===y.ENTER){let i=this.column,o=!i.isExpanded();this.beans.columnModel.setColumnGroupOpened(i.getProvidedColumnGroup(),o,"uiColumnExpanded")}}setDragSource(e){if(!this.isAlive()||this.isSuppressMoving()||(this.removeDragSource(),!e))return;let{beans:t,column:i,displayName:o,gos:s,dragAndDropService:r}=this,{columnModel:n}=t,a=i.getProvidedColumnGroup().getLeafColumns(),l=!s.get("suppressDragLeaveHidesColumns"),c=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>l?"hide":"notAllowed",dragItemName:o,getDragItem:()=>this.getDragItemForGroup(i),onDragStarted:()=>{l=!s.get("suppressDragLeaveHidesColumns"),ti(a,!0)},onDragStopped:()=>ti(a,!1),onDragCancelled:()=>ti(a,!1),onGridEnter:d=>{if(l){let{columns:u=[],visibleState:h}=d??{},g=u.filter(f=>!f.getColDef().lockVisible&&(!h||h[f.getColId()]));n.setColsVisible(g,!0,"uiColumnMoved")}},onGridExit:d=>{if(l){let u=d?.columns?.filter(h=>!h.getColDef().lockVisible)||[];n.setColsVisible(u,!1,"uiColumnMoved")}}};r.addDragSource(c,!0)}getDragItemForGroup(e){let t=e.getProvidedColumnGroup().getLeafColumns(),i={};t.forEach(n=>i[n.getId()]=n.isVisible());let o=[];this.beans.visibleColsService.getAllCols().forEach(n=>{t.indexOf(n)>=0&&(o.push(n),De(t,n))}),t.forEach(n=>o.push(n));let s=[],r=e.getLeafColumns();for(let n of o)r.indexOf(n)!==-1&&s.push(n);return{columns:o,columnsInSplit:s,visibleState:i}}isSuppressMoving(){let e=!1;return this.column.getLeafColumns().forEach(i=>{(i.getColDef().suppressMovable||i.getColDef().lockPosition)&&(e=!0)}),e||this.gos.get("suppressMovableColumns")}destroy(){super.destroy()}},lh=0,Jo=class extends b{constructor(e,t,i){super(),this.instanceId=lh++,this.rowIndex=e,this.pinned=t,this.type=i;let o=i=="group"?"ag-header-row-column-group":i=="filter"?"ag-header-row-column-filter":"ag-header-row-column";this.headerRowClass=`ag-header-row ${o}`}wireBeans(e){this.beans=e}postConstruct(){this.isPrintLayout=Re(this.gos,"print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}areCellsRendered(){return this.comp?this.getHeaderCellCtrls().every(e=>e.getGui()!=null):!1}setComp(e,t,i=!0){this.comp=e,t=Oi(this,this.beans.context,t),i&&(this.onRowHeightChanged(),this.onVirtualColumnsChanged()),this.setWidth(),this.addEventListeners(t)}getHeaderRowClass(){return this.headerRowClass}getAriaRowIndex(){return this.rowIndex+1}addEventListeners(e){let t=this.onRowHeightChanged.bind(this);e.addManagedEventListeners({columnResized:this.onColumnResized.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:i=>this.onVirtualColumnsChanged(i.afterScroll),columnGroupHeaderHeightChanged:t,columnHeaderHeightChanged:t,gridStylesChanged:t,advancedFilterEnabledChanged:t}),e.addManagedPropertyListener("domLayout",this.onDisplayedColumnsChanged.bind(this)),e.addManagedPropertyListener("ensureDomOrder",i=>this.isEnsureDomOrder=i.currentValue),e.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],t)}getHeaderCellCtrl(e){if(this.headerCellCtrls)return Xi(this.headerCellCtrls).find(t=>t.getColumnGroupChild()===e)}onDisplayedColumnsChanged(){this.isPrintLayout=Re(this.gos,"print"),this.onVirtualColumnsChanged(),this.setWidth(),this.onRowHeightChanged()}getType(){return this.type}onColumnResized(){this.setWidth()}setWidth(){let e=this.getWidthForRow();this.comp.setWidth(`${e}px`)}getWidthForRow(){let{visibleColsService:e}=this.beans;return this.isPrintLayout?this.pinned!=null?0:e.getContainerWidth("right")+e.getContainerWidth("left")+e.getContainerWidth(null):e.getContainerWidth(this.pinned)}onRowHeightChanged(){let{topOffset:e,rowHeight:t}=this.getTopAndHeight();this.comp.setTop(e+"px"),this.comp.setHeight(t+"px")}getTopAndHeight(){let{columnModel:e,filterManager:t}=this.beans,i=[],o=e.getGroupRowsHeight(),s=e.getColumnHeaderRowHeight();i.push(...o),i.push(s),t?.hasFloatingFilters()&&i.push(e.getFloatingFiltersHeight());let r=0;for(let a=0;a<this.rowIndex;a++)r+=i[a];let n=i[this.rowIndex];return{topOffset:r,rowHeight:n}}getPinned(){return this.pinned}getRowIndex(){return this.rowIndex}onVirtualColumnsChanged(e=!1){let t=this.getHeaderCtrls(),i=this.isEnsureDomOrder||this.isPrintLayout;this.comp.setHeaderCtrls(t,i,e)}getHeaderCtrls(){let e=this.headerCellCtrls;this.headerCellCtrls=new Map;let t=this.getColumnsInViewport();for(let o of t)this.recycleAndCreateHeaderCtrls(o,e);let i=o=>{let{focusService:s,visibleColsService:r}=this.beans;return s.isHeaderWrapperFocused(o)?r.isVisible(o.getColumnGroupChild()):!1};if(e)for(let[o,s]of e)i(s)?this.headerCellCtrls.set(o,s):this.destroyBean(s);return this.getHeaderCellCtrls()}getHeaderCellCtrls(){return Array.from(this.headerCellCtrls?.values()??[])}recycleAndCreateHeaderCtrls(e,t){if(!this.headerCellCtrls||e.isEmptyGroup())return;let i=e.getUniqueId(),o;if(t&&(o=t.get(i),t.delete(i)),o&&o.getColumnGroupChild()!=e&&(this.destroyBean(o),o=void 0),o==null)switch(this.type){case"filter":{o=this.createBean(this.beans.ctrlsFactory.getInstance("headerFilterCell",e,this.beans,this));break}case"group":o=this.createBean(new ah(e,this.beans,this));break;default:o=this.createBean(new sh(e,this.beans,this));break}this.headerCellCtrls.set(i,o)}getColumnsInViewport(){return this.isPrintLayout?this.getColumnsInViewportPrintLayout():this.getColumnsInViewportNormalLayout()}getColumnsInViewportPrintLayout(){if(this.pinned!=null)return[];let e=[],t=this.getActualDepth(),{columnViewportService:i}=this.beans;return["left",null,"right"].forEach(o=>{let s=i.getHeadersToRender(o,t);e=e.concat(s)}),e}getActualDepth(){return this.type=="filter"?this.rowIndex-1:this.rowIndex}getColumnsInViewportNormalLayout(){return this.beans.columnViewportService.getHeadersToRender(this.pinned,this.getActualDepth())}findHeaderCellCtrl(e){if(!this.headerCellCtrls)return;let t=this.getHeaderCellCtrls(),i;return typeof e=="function"?i=t.find(e):i=t.find(o=>o.getColumnGroupChild()==e),i}focusHeader(e,t){let i=this.findHeaderCellCtrl(e);return i?i.focus(t):!1}destroy(){this.headerCellCtrls?.forEach(e=>{this.destroyBean(e)}),this.headerCellCtrls=void 0,super.destroy()}},Pa=class extends b{constructor(e){super(),this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[],this.pinned=e}wireBeans(e){this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService,this.pinnedWidthService=e.pinnedWidthService,this.columnModel=e.columnModel,this.focusService=e.focusService,this.filterManager=e.filterManager}setComp(e,t){this.comp=e,this.eViewport=t,this.setupCenterWidth(),this.setupPinnedWidth(),this.setupDragAndDrop(this.eViewport);let i=this.onDisplayedColumnsChanged.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),displayedColumnsChanged:i,advancedFilterEnabledChanged:i});let o=`${typeof this.pinned=="string"?this.pinned:"center"}Header`;this.ctrlsService.register(o,this),this.columnModel.isReady()&&this.refresh()}getAllCtrls(){let e=[...this.groupsRowCtrls];return this.columnsRowCtrl&&e.push(this.columnsRowCtrl),this.filtersRowCtrl&&e.push(this.filtersRowCtrl),e}refresh(e=!1){let t=new Is,i=this.focusService.getFocusHeaderToUseAfterRefresh(),o=()=>{let a=this.columnModel.getHeaderRowCount()-1;this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls);for(let l=0;l<a;l++){let c=this.createBean(new Jo(t.next(),this.pinned,"group"));this.groupsRowCtrls.push(c)}},s=()=>{let a=t.next(),l=!this.hidden&&(this.columnsRowCtrl==null||!e||this.columnsRowCtrl.getRowIndex()!==a);(l||this.hidden)&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),l&&(this.columnsRowCtrl=this.createBean(new Jo(a,this.pinned,"column")))},r=()=>{this.includeFloatingFilter=!!this.filterManager?.hasFloatingFilters()&&!this.hidden;let a=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter){a();return}let l=t.next();if(this.filtersRowCtrl){let c=this.filtersRowCtrl.getRowIndex()!==l;(!e||c)&&a()}this.filtersRowCtrl||(this.filtersRowCtrl=this.createBean(new Jo(l,this.pinned,"filter")))};o(),s(),r();let n=this.getAllCtrls();this.comp.setCtrls(n),this.restoreFocusOnHeader(i)}getHeaderCtrlForColumn(e){if(Et(e))return this.columnsRowCtrl?.getHeaderCellCtrl(e);if(this.groupsRowCtrls.length!==0)for(let t=0;t<this.groupsRowCtrls.length;t++){let i=this.groupsRowCtrls[t].getHeaderCellCtrl(e);if(i)return i}}getHtmlElementForColumnHeader(e){let t=this.getHeaderCtrlForColumn(e);return t?t.getGui():null}getRowType(e){let i=this.getAllCtrls()[e];return i?i.getType():void 0}focusHeader(e,t,i){let s=this.getAllCtrls()[e];return s?s.focusHeader(t,i):!1}getViewportElement(){return this.eViewport}getGroupRowCount(){return this.groupsRowCtrls.length}getGroupRowCtrlAtIndex(e){return this.groupsRowCtrls[e]}getRowCount(){return this.groupsRowCtrls.length+(this.columnsRowCtrl?1:0)+(this.filtersRowCtrl?1:0)}setHorizontalScroll(e){this.comp.setViewportScrollLeft(e)}onScrollCallback(e){this.addManagedElementListeners(this.getViewportElement(),{scroll:e})}destroy(){this.filtersRowCtrl&&(this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)),this.columnsRowCtrl&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),this.groupsRowCtrls&&this.groupsRowCtrls.length&&(this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls)),super.destroy()}setupDragAndDrop(e){let t=new th(this.pinned,e);this.createManagedBean(t)}restoreFocusOnHeader(e){if(!e)return;let{column:t}=e;t.getPinned()==this.pinned&&this.focusService.focusHeaderPosition({headerPosition:e})}onGridColumnsChanged(){this.refresh(!0)}onDisplayedColumnsChanged(){let e=this.filterManager?.hasFloatingFilters()&&!this.hidden;this.includeFloatingFilter!==e&&this.refresh(!0)}setupCenterWidth(){this.pinned==null&&this.createManagedBean(new Ys(e=>this.comp.setCenterWidth(`${e}px`),!0))}setupPinnedWidth(){if(this.pinned==null)return;let e=this.pinned==="left",t=this.pinned==="right";this.hidden=!0;let i=()=>{let o=e?this.pinnedWidthService.getPinnedLeftWidth():this.pinnedWidthService.getPinnedRightWidth();if(o==null)return;let s=o==0,r=this.hidden!==s,n=this.gos.get("enableRtl"),a=this.scrollVisibleService.getScrollbarWidth(),c=this.scrollVisibleService.isVerticalScrollShowing()&&(n&&e||!n&&t)?o+a:o;this.comp.setPinnedContainerWidth(`${c}px`),this.comp.setDisplayed(!s),r&&(this.hidden=s,this.refresh())};this.addManagedEventListeners({leftPinnedWidthChanged:i,rightPinnedWidthChanged:i,scrollVisibilityChanged:i,scrollbarWidthChanged:i})}};var Qs=class extends b{constructor(e){super(),this.view=e}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){let e=this.getDomLayout(),t={autoHeight:e==="autoHeight",normal:e==="normal",print:e==="print"},i=t.autoHeight?"ag-layout-auto-height":t.print?"ag-layout-print":"ag-layout-normal";this.view.updateLayoutClasses(i,t)}getDomLayout(){let e=this.gos.get("domLayout")??"normal";return["normal","print","autoHeight"].indexOf(e)===-1?(S(`${e} is not valid for DOM Layout, valid values are 'normal', 'autoHeight', 'print'.`),"normal"):e}},Ta=class extends ce{constructor(){super(`
|
|
87
87
|
<div class="ag-overlay" role="presentation">
|
|
88
88
|
<div class="ag-overlay-panel" role="presentation">
|
|
89
89
|
<div class="ag-overlay-wrapper" data-ref="eOverlayWrapper" role="presentation"></div>
|
|
90
90
|
</div>
|
|
91
|
-
</div>`),this.eOverlayWrapper=z,this.activePromise=null,this.activeOverlay=null,this.updateListenerDestroyFunc=null,this.activeOverlayWrapperCssClass=null,this.elToFocusAfter=null}wireBeans(e){this.overlayService=e.overlayService,this.focusService=e.focusService,this.visibleColsService=e.visibleColsService}handleKeyDown(e){if(e.key!==y.TAB||e.defaultPrevented||ut(e)||this.focusService.findNextFocusableElement(this.eOverlayWrapper,!1,e.shiftKey))return;let i=!1;e.shiftKey?i=this.focusService.focusGridView($(this.visibleColsService.getAllCols()),!0,!1):i=this.focusService.focusNextGridCoreContainer(!1),i&&e.preventDefault()}updateLayoutClasses(e,t){let i=this.eOverlayWrapper.classList;i.toggle("ag-layout-auto-height",t.autoHeight),i.toggle("ag-layout-normal",t.normal),i.toggle("ag-layout-print",t.print)}postConstruct(){this.createManagedBean(new
|
|
91
|
+
</div>`),this.eOverlayWrapper=z,this.activePromise=null,this.activeOverlay=null,this.updateListenerDestroyFunc=null,this.activeOverlayWrapperCssClass=null,this.elToFocusAfter=null}wireBeans(e){this.overlayService=e.overlayService,this.focusService=e.focusService,this.visibleColsService=e.visibleColsService}handleKeyDown(e){if(e.key!==y.TAB||e.defaultPrevented||ut(e)||this.focusService.findNextFocusableElement(this.eOverlayWrapper,!1,e.shiftKey))return;let i=!1;e.shiftKey?i=this.focusService.focusGridView($(this.visibleColsService.getAllCols()),!0,!1):i=this.focusService.focusNextGridCoreContainer(!1),i&&e.preventDefault()}updateLayoutClasses(e,t){let i=this.eOverlayWrapper.classList;i.toggle("ag-layout-auto-height",t.autoHeight),i.toggle("ag-layout-normal",t.normal),i.toggle("ag-layout-print",t.print)}postConstruct(){this.createManagedBean(new Qs(this)),this.setDisplayed(!1,{skipAriaHidden:!0}),this.overlayService.setOverlayWrapperComp(this),this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)})}setWrapperTypeClass(e){let t=this.eOverlayWrapper.classList;this.activeOverlayWrapperCssClass&&t.toggle(this.activeOverlayWrapperCssClass,!1),this.activeOverlayWrapperCssClass=e,t.toggle(e,!0)}showOverlay(e,t,i,o){if(this.setWrapperTypeClass(t),this.destroyActiveOverlay(),this.elToFocusAfter=null,this.activePromise=e,!!e){if(this.setDisplayed(!0,{skipAriaHidden:!0}),i&&this.focusService.isGridFocused()){let s=fe(this.gos);s&&!hn(this.gos)&&(this.elToFocusAfter=s)}e.then(s=>{if(this.activePromise!==e){this.activeOverlay!==s&&(this.destroyBean(s),s=null);return}if(this.activePromise=null,!s)return;if(this.activeOverlay!==s&&(this.eOverlayWrapper.appendChild(s.getGui()),this.activeOverlay=s,o)){let n=s;this.updateListenerDestroyFunc=this.addManagedPropertyListener(o,({currentValue:a})=>{n.refresh?.(this.gos.addGridCommonParams({...a??{}}))})}let r=this.focusService;i&&r.isGridFocused()&&r.focusInto(this.eOverlayWrapper)})}}updateOverlayWrapperPaddingTop(e){this.eOverlayWrapper.style.setProperty("padding-top",`${e}px`)}destroyActiveOverlay(){this.activePromise=null;let e=this.activeOverlay;if(!e)return;let t=this.elToFocusAfter;this.activeOverlay=null,this.elToFocusAfter=null,t&&!this.focusService.isGridFocused()&&(t=null);let i=this.updateListenerDestroyFunc;i&&(i(),this.updateListenerDestroyFunc=null),this.destroyBean(e),Be(this.eOverlayWrapper),t?.focus?.({preventScroll:!0})}hideOverlay(){this.destroyActiveOverlay(),this.setDisplayed(!1,{skipAriaHidden:!0})}destroy(){this.elToFocusAfter=null,this.destroyActiveOverlay(),this.overlayService.setOverlayWrapperComp(void 0),super.destroy()}};var Aa=class extends ce{constructor(e,t){super(),this.direction=t,this.eViewport=z,this.eContainer=z,this.hideTimeout=null,this.setTemplate(e)}wireBeans(e){this.animationFrameService=e.animationFrameService}postConstruct(){this.addManagedEventListeners({scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this)}),this.onScrollVisibilityChanged(),this.addOrRemoveCssClass("ag-apple-scrollbar",Wn()||Tt())}initialiseInvisibleScrollbar(){this.invisibleScrollbar===void 0&&(this.invisibleScrollbar=_n(),this.invisibleScrollbar&&(this.hideAndShowInvisibleScrollAsNeeded(),this.addActiveListenerToggles()))}addActiveListenerToggles(){let e=this.getGui(),t=()=>this.addOrRemoveCssClass("ag-scrollbar-active",!0),i=()=>this.addOrRemoveCssClass("ag-scrollbar-active",!1);this.addManagedListeners(e,{mouseenter:t,mousedown:t,touchstart:t,mouseleave:i,touchend:i})}onScrollVisibilityChanged(){this.invisibleScrollbar===void 0&&this.initialiseInvisibleScrollbar(),this.animationFrameService.requestAnimationFrame(()=>this.setScrollVisible())}hideAndShowInvisibleScrollAsNeeded(){this.addManagedEventListeners({bodyScroll:e=>{e.direction===this.direction&&(this.hideTimeout!==null&&(window.clearTimeout(this.hideTimeout),this.hideTimeout=null),this.addOrRemoveCssClass("ag-scrollbar-scrolling",!0))},bodyScrollEnd:()=>{this.hideTimeout=window.setTimeout(()=>{this.addOrRemoveCssClass("ag-scrollbar-scrolling",!1),this.hideTimeout=null},400)}})}attemptSettingScrollPosition(e){let t=this.getViewportElement();kl(()=>rt(t),()=>this.setScrollPosition(e),100)}getViewportElement(){return this.eViewport}getContainer(){return this.eContainer}onScrollCallback(e){this.addManagedElementListeners(this.getViewportElement(),{scroll:e})}},ka=class extends Aa{constructor(){super(`<div class="ag-body-horizontal-scroll" aria-hidden="true">
|
|
92
92
|
<div class="ag-horizontal-left-spacer" data-ref="eLeftSpacer"></div>
|
|
93
93
|
<div class="ag-body-horizontal-scroll-viewport" data-ref="eViewport">
|
|
94
94
|
<div class="ag-body-horizontal-scroll-container" data-ref="eContainer"></div>
|
|
95
95
|
</div>
|
|
96
96
|
<div class="ag-horizontal-right-spacer" data-ref="eRightSpacer"></div>
|
|
97
|
-
</div>`,"horizontal"),this.eLeftSpacer=z,this.eRightSpacer=z}wireBeans(e){super.wireBeans(e),this.visibleColsService=e.visibleColsService,this.pinnedRowModel=e.pinnedRowModel,this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService}postConstruct(){super.postConstruct();let e=this.setFakeHScrollSpacerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e,pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this)}),this.addManagedPropertyListener("domLayout",e),this.ctrlsService.register("fakeHScrollComp",this),this.createManagedBean(new
|
|
97
|
+
</div>`,"horizontal"),this.eLeftSpacer=z,this.eRightSpacer=z}wireBeans(e){super.wireBeans(e),this.visibleColsService=e.visibleColsService,this.pinnedRowModel=e.pinnedRowModel,this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService}postConstruct(){super.postConstruct();let e=this.setFakeHScrollSpacerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e,pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this)}),this.addManagedPropertyListener("domLayout",e),this.ctrlsService.register("fakeHScrollComp",this),this.createManagedBean(new Ys(t=>this.eContainer.style.width=`${t}px`)),this.addManagedPropertyListeners(["suppressHorizontalScroll"],this.onScrollVisibilityChanged.bind(this))}initialiseInvisibleScrollbar(){this.invisibleScrollbar===void 0&&(this.enableRtl=this.gos.get("enableRtl"),super.initialiseInvisibleScrollbar(),this.invisibleScrollbar&&this.refreshCompBottom())}onPinnedRowDataChanged(){this.refreshCompBottom()}refreshCompBottom(){if(!this.invisibleScrollbar)return;let e=this.pinnedRowModel.getPinnedBottomTotalHeight();this.getGui().style.bottom=`${e}px`}onScrollVisibilityChanged(){super.onScrollVisibilityChanged(),this.setFakeHScrollSpacerWidths()}setFakeHScrollSpacerWidths(){let e=this.scrollVisibleService.isVerticalScrollShowing(),t=this.visibleColsService.getDisplayedColumnsRightWidth(),i=!this.enableRtl&&e,o=this.scrollVisibleService.getScrollbarWidth();i&&(t+=o),Je(this.eRightSpacer,t),this.eRightSpacer.classList.toggle("ag-scroller-corner",t<=o);let s=this.visibleColsService.getColsLeftWidth();this.enableRtl&&e&&(s+=o),Je(this.eLeftSpacer,s),this.eLeftSpacer.classList.toggle("ag-scroller-corner",s<=o)}setScrollVisible(){let e=this.scrollVisibleService.isHorizontalScrollShowing(),t=this.invisibleScrollbar,i=this.gos.get("suppressHorizontalScroll"),o=e&&this.scrollVisibleService.getScrollbarWidth()||0,r=i?0:o===0&&t?16:o;this.addOrRemoveCssClass("ag-scrollbar-invisible",t),Si(this.getGui(),r),Si(this.eViewport,r),Si(this.eContainer,r),this.setDisplayed(e,{skipAriaHidden:!0})}getScrollPosition(){return uo(this.getViewportElement(),this.enableRtl)}setScrollPosition(e){rt(this.getViewportElement())||this.attemptSettingScrollPosition(e),ho(this.getViewportElement(),e,this.enableRtl)}};var Ia=class extends b{wireBeans(e){this.maxDivHeightScaler=e.rowContainerHeightService}constructor(e,t){super(),this.eContainer=e,this.eViewport=t}postConstruct(){this.addManagedEventListeners({rowContainerHeightChanged:this.onHeightChanged.bind(this)})}onHeightChanged(){let e=this.maxDivHeightScaler.getUiContainerHeight(),t=e!=null?`${e}px`:"";this.eContainer.style.height=t,this.eViewport&&(this.eViewport.style.height=t)}},La=class extends Aa{wireBeans(e){super.wireBeans(e),this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService}constructor(){super(`<div class="ag-body-vertical-scroll" aria-hidden="true">
|
|
98
98
|
<div class="ag-body-vertical-scroll-viewport" data-ref="eViewport">
|
|
99
99
|
<div class="ag-body-vertical-scroll-container" data-ref="eContainer"></div>
|
|
100
100
|
</div>
|
|
101
|
-
</div>`,"vertical")}postConstruct(){super.postConstruct(),this.createManagedBean(new Aa(this.eContainer)),this.ctrlsService.register("fakeVScrollComp",this),this.addManagedEventListeners({rowContainerHeightChanged:this.onRowContainerHeightChanged.bind(this)})}setScrollVisible(){let e=this.scrollVisibleService.isVerticalScrollShowing(),t=this.invisibleScrollbar,i=e&&this.scrollVisibleService.getScrollbarWidth()||0,o=i===0&&t?16:i;this.addOrRemoveCssClass("ag-scrollbar-invisible",t),Je(this.getGui(),o),Je(this.eViewport,o),Je(this.eContainer,o),this.setDisplayed(e,{skipAriaHidden:!0})}onRowContainerHeightChanged(){let{ctrlsService:e}=this,i=e.getGridBodyCtrl().getBodyViewportElement(),o=this.getScrollPosition(),s=i.scrollTop;o!=s&&this.setScrollPosition(s,!0)}getScrollPosition(){return this.getViewportElement().scrollTop}setScrollPosition(e,t){!t&&!rt(this.getViewportElement())&&this.attemptSettingScrollPosition(e),this.getViewportElement().scrollTop=e}};var fs=(e=>(e.FakeHScrollbar="fakeHScrollComp",e.Header="centerHeader",e.PinnedTop="topCenter",e.PinnedBottom="bottomCenter",e.StickyTop="stickyTopCenter",e.StickyBottom="stickyBottomCenter",e))(fs||{}),ah=class extends b{constructor(e){super(),this.lastScrollSource=[null,null],this.scrollLeft=-1,this.nextScrollTop=-1,this.scrollTop=-1,this.lastOffsetHeight=-1,this.lastScrollTop=-1,this.eBodyViewport=e,this.resetLastHScrollDebounced=xe(()=>this.lastScrollSource[1]=null,500),this.resetLastVScrollDebounced=xe(()=>this.lastScrollSource[0]=null,500)}wireBeans(e){this.ctrlsService=e.ctrlsService,this.animationFrameService=e.animationFrameService,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService,this.rowModel=e.rowModel,this.heightScaler=e.rowContainerHeightService,this.rowRenderer=e.rowRenderer,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.addManagedEventListeners({displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this)}),this.ctrlsService.whenReady(this,e=>{this.centerRowsCtrl=e.center,this.onDisplayedColumnsWidthChanged(),this.addScrollListener()})}addScrollListener(){this.addHorizontalScrollListeners(),this.addVerticalScrollListeners()}addHorizontalScrollListeners(){this.addManagedElementListeners(this.centerRowsCtrl.getViewportElement(),{scroll:this.onHScroll.bind(this,"Viewport")});for(let e of Object.values(fs)){let t=this.ctrlsService.get(e);this.registerScrollPartner(t,this.onHScroll.bind(this,e))}}addVerticalScrollListeners(){let e=this.ctrlsService.get("fakeVScrollComp"),t=this.gos.get("debounceVerticalScrollbar"),i=t?xe(this.onVScroll.bind(this,"Viewport"),100):this.onVScroll.bind(this,"Viewport"),o=t?xe(this.onVScroll.bind(this,"fakeVScrollComp"),100):this.onVScroll.bind(this,"fakeVScrollComp");this.addManagedElementListeners(this.eBodyViewport,{scroll:i}),this.registerScrollPartner(e,o)}registerScrollPartner(e,t){e.onScrollCallback(t)}onDisplayedColumnsWidthChanged(){this.enableRtl&&this.horizontallyScrollHeaderCenterAndFloatingCenter()}horizontallyScrollHeaderCenterAndFloatingCenter(e){this.centerRowsCtrl!=null&&(e===void 0&&(e=this.centerRowsCtrl.getCenterViewportScrollLeft()),this.setScrollLeftForAllContainersExceptCurrent(Math.abs(e)))}setScrollLeftForAllContainersExceptCurrent(e){for(let t of[...Object.values(fs),"Viewport"]){if(this.lastScrollSource[1]===t)continue;let i=this.getViewportForSource(t);uo(i,e,this.enableRtl)}}getViewportForSource(e){return e==="Viewport"?this.centerRowsCtrl.getViewportElement():this.ctrlsService.get(e).getViewportElement()}isControllingScroll(e,t){return this.lastScrollSource[t]==null?(t===0?this.lastScrollSource[0]=e:this.lastScrollSource[1]=e,!0):this.lastScrollSource[t]===e}onHScroll(e){if(!this.isControllingScroll(e,1))return;let t=this.centerRowsCtrl.getViewportElement(),{scrollLeft:i}=t;if(this.shouldBlockScrollUpdate(1,i,!0))return;let o=co(this.getViewportForSource(e),this.enableRtl);this.doHorizontalScroll(o),this.resetLastHScrollDebounced()}onVScroll(e){if(!this.isControllingScroll(e,0))return;let t;e==="Viewport"?t=this.eBodyViewport.scrollTop:t=this.ctrlsService.get("fakeVScrollComp").getScrollPosition(),!this.shouldBlockScrollUpdate(0,t,!0)&&(this.animationFrameService.setScrollTop(t),this.nextScrollTop=t,e==="Viewport"?this.ctrlsService.get("fakeVScrollComp").setScrollPosition(t):this.eBodyViewport.scrollTop=t,this.gos.get("suppressAnimationFrame")?this.scrollGridIfNeeded():this.animationFrameService.schedule(),this.resetLastVScrollDebounced())}doHorizontalScroll(e){let t=this.ctrlsService.get("fakeHScrollComp").getScrollPosition();this.scrollLeft===e&&e===t||(this.scrollLeft=e,this.fireScrollEvent(1),this.horizontallyScrollHeaderCenterAndFloatingCenter(e),this.centerRowsCtrl.onHorizontalViewportChanged(!0))}fireScrollEvent(e){let t={type:"bodyScroll",direction:e===1?"horizontal":"vertical",left:this.scrollLeft,top:this.scrollTop};this.eventService.dispatchEvent(t),window.clearTimeout(this.scrollTimer),this.scrollTimer=void 0,this.scrollTimer=window.setTimeout(()=>{this.eventService.dispatchEvent({...t,type:"bodyScrollEnd"})},100)}shouldBlockScrollUpdate(e,t,i=!1){return i&&!Tt()?!1:e===0?this.shouldBlockVerticalScroll(t):this.shouldBlockHorizontalScroll(t)}shouldBlockVerticalScroll(e){let t=Ps(this.eBodyViewport),{scrollHeight:i}=this.eBodyViewport;return e<0||e+t>i}shouldBlockHorizontalScroll(e){let t=this.centerRowsCtrl.getCenterWidth(),{scrollWidth:i}=this.centerRowsCtrl.getViewportElement();if(this.enableRtl){if(e>0)return!0}else if(e<0)return!0;return Math.abs(e)+t>i}redrawRowsAfterScroll(){this.fireScrollEvent(0)}checkScrollLeft(){this.scrollLeft!==this.centerRowsCtrl.getCenterViewportScrollLeft()&&this.onHScroll("Viewport")}scrollGridIfNeeded(){let e=this.scrollTop!=this.nextScrollTop;return e&&(this.scrollTop=this.nextScrollTop,this.redrawRowsAfterScroll()),e}setHorizontalScrollPosition(e,t=!1){let o=this.centerRowsCtrl.getViewportElement().scrollWidth-this.centerRowsCtrl.getCenterWidth();!t&&this.shouldBlockScrollUpdate(1,e)&&(this.enableRtl?e=e>0?0:o:e=Math.min(Math.max(e,0),o)),uo(this.centerRowsCtrl.getViewportElement(),Math.abs(e),this.enableRtl),this.doHorizontalScroll(e)}setVerticalScrollPosition(e){this.eBodyViewport.scrollTop=e}getVScrollPosition(){return this.lastScrollTop=this.eBodyViewport.scrollTop,this.lastOffsetHeight=this.eBodyViewport.offsetHeight,{top:this.lastScrollTop,bottom:this.lastScrollTop+this.lastOffsetHeight}}getApproximateVScollPosition(){return this.lastScrollTop>=0&&this.lastOffsetHeight>=0?{top:this.scrollTop,bottom:this.scrollTop+this.lastOffsetHeight}:this.getVScrollPosition()}getHScrollPosition(){return this.centerRowsCtrl.getHScrollPosition()}isHorizontalScrollShowing(){return this.centerRowsCtrl.isHorizontalScrollShowing()}scrollHorizontally(e){let t=this.centerRowsCtrl.getViewportElement().scrollLeft;return this.setHorizontalScrollPosition(t+e),this.centerRowsCtrl.getViewportElement().scrollLeft-t}scrollToTop(){this.eBodyViewport.scrollTop=0}ensureNodeVisible(e,t=null){let i=this.rowModel.getRowCount(),o=-1;for(let s=0;s<i;s++){let r=this.rowModel.getRow(s);if(typeof e=="function"){if(r&&e(r)){o=s;break}}else if(e===r||e===r.data){o=s;break}}o>=0&&this.ensureIndexVisible(o,t)}ensureIndexVisible(e,t){if(Re(this.gos,"print"))return;let i=this.rowModel.getRowCount();if(typeof e!="number"||e<0||e>=i){S("Invalid row index for ensureIndexVisible: "+e);return}let s=this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel");this.getFrameworkOverrides().wrapIncoming(()=>{s||this.paginationService?.goToPageWithIndex(e);let r=this.ctrlsService.getGridBodyCtrl(),n=r.getStickyTopHeight(),a=r.getStickyBottomHeight(),l=this.rowModel.getRow(e),c;do{let d=l.rowTop,u=l.rowHeight,h=this.pageBoundsService.getPixelOffset(),g=l.rowTop-h,f=g+l.rowHeight,m=this.getVScrollPosition(),p=this.heightScaler.getDivStretchOffset(),v=m.top+p,w=m.bottom+p,C=w-v,R=this.heightScaler.getScrollPositionForPixel(g),P=this.heightScaler.getScrollPositionForPixel(f-C),T=Math.min((R+P)/2,g),x=v+n>g,A=w-a<f,L=null;t==="top"?L=R:t==="bottom"?L=P:t==="middle"?L=T:x?L=R-n:A&&(L=P+a),L!==null&&(this.setVerticalScrollPosition(L),this.rowRenderer.redraw({afterScroll:!0})),c=d!==l.rowTop||u!==l.rowHeight}while(c);this.animationFrameService.flushAllFrames()})}ensureColumnVisible(e,t="auto"){let i=this.columnModel.getCol(e);if(!i||i.isPinned()||!this.visibleColsService.isColDisplayed(i))return;let o=this.getPositionedHorizontalScroll(i,t);this.getFrameworkOverrides().wrapIncoming(()=>{o!==null&&this.centerRowsCtrl.setCenterViewportScrollLeft(o),this.centerRowsCtrl.onHorizontalViewportChanged(),this.animationFrameService.flushAllFrames()})}setScrollPosition(e,t){this.getFrameworkOverrides().wrapIncoming(()=>{this.centerRowsCtrl.setCenterViewportScrollLeft(t),this.setVerticalScrollPosition(e),this.rowRenderer.redraw({afterScroll:!0}),this.animationFrameService.flushAllFrames()})}getPositionedHorizontalScroll(e,t){let{columnBeforeStart:i,columnAfterEnd:o}=this.isColumnOutsideViewport(e),s=this.centerRowsCtrl.getCenterWidth()<e.getActualWidth(),r=this.centerRowsCtrl.getCenterWidth(),n=this.enableRtl,a=(n?i:o)||s,l=n?o:i;t!=="auto"&&(a=t==="start",l=t==="end");let c=t==="middle";if(a||l||c){let{colLeft:d,colMiddle:u,colRight:h}=this.getColumnBounds(e);return c?u-r/2:a?n?h:d:n?d-r:h-r}return null}isColumnOutsideViewport(e){let{start:t,end:i}=this.getViewportBounds(),{colLeft:o,colRight:s}=this.getColumnBounds(e),r=this.enableRtl,n=r?t>s:i<s,a=r?i<o:t>o;return{columnBeforeStart:n,columnAfterEnd:a}}getColumnBounds(e){let t=this.enableRtl,i=this.visibleColsService.getBodyContainerWidth(),o=e.getActualWidth(),s=e.getLeft(),r=t?-1:1,n=t?i-s:s,a=n+o*r,l=n+o/2*r;return{colLeft:n,colMiddle:l,colRight:a}}getViewportBounds(){let e=this.centerRowsCtrl.getCenterWidth(),t=this.centerRowsCtrl.getCenterViewportScrollLeft(),i=t,o=e+t;return{start:i,end:o,width:e}}},lh=class extends b{wireBeans(e){this.animationFrameService=e.animationFrameService,this.ctrlsService=e.ctrlsService,this.pinnedWidthService=e.pinnedWidthService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnSizeService=e.columnSizeService,this.scrollVisibleService=e.scrollVisibleService,this.columnViewportService=e.columnViewportService}constructor(e){super(),this.centerContainerCtrl=e}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.listenForResize()}),this.addManagedEventListeners({scrollbarWidthChanged:this.onScrollbarWidthChanged.bind(this)}),this.addManagedPropertyListeners(["alwaysShowHorizontalScroll","alwaysShowVerticalScroll"],()=>{this.checkViewportAndScrolls()})}listenForResize(){let e=()=>{this.animationFrameService.requestAnimationFrame(()=>{this.onCenterViewportResized()})};this.centerContainerCtrl.registerViewportResizeListener(e),this.gridBodyCtrl.registerBodyViewportResizeListener(e)}onScrollbarWidthChanged(){this.checkViewportAndScrolls()}onCenterViewportResized(){if(this.scrollVisibleService.onCentreViewportResized(),this.centerContainerCtrl.isViewportInTheDOMTree()){this.keepPinnedColumnsNarrowerThanViewport(),this.checkViewportAndScrolls();let e=this.centerContainerCtrl.getCenterWidth();e!==this.centerWidth&&(this.centerWidth=e,this.columnSizeService.refreshFlexedColumns({viewportWidth:this.centerWidth,updateBodyWidths:!0,fireResizedEvent:!0}))}else this.bodyHeight=0}keepPinnedColumnsNarrowerThanViewport(){let e=this.gridBodyCtrl.getBodyViewportElement(),t=Gi(e);if(t<=50)return;let i=this.getPinnedColumnsOverflowingViewport(t-50),o=this.gos.getCallback("processUnpinnedColumns");i.length&&(o&&(i=o({columns:i,viewportWidth:t})),this.columnModel.setColsPinned(i,null,"viewportSizeFeature"))}getPinnedColumnsOverflowingViewport(e){let t=this.pinnedWidthService.getPinnedRightWidth(),i=this.pinnedWidthService.getPinnedLeftWidth(),o=t+i;if(o<e)return[];let s=[...this.visibleColsService.getLeftCols()],r=[...this.visibleColsService.getRightCols()],n=0,a=0,l=0,c=[],d=o-l-e;for(;(a<s.length||n<r.length)&&d>0;){if(n<r.length){let u=r[n++];d-=u.getActualWidth(),c.push(u)}if(a<s.length&&d>0){let u=s[a++];d-=u.getActualWidth(),c.push(u)}}return c}checkViewportAndScrolls(){this.updateScrollVisibleService(),this.checkBodyHeight(),this.onHorizontalViewportChanged(),this.gridBodyCtrl.getScrollFeature().checkScrollLeft()}getBodyHeight(){return this.bodyHeight}checkBodyHeight(){let e=this.gridBodyCtrl.getBodyViewportElement(),t=Ps(e);this.bodyHeight!==t&&(this.bodyHeight=t,this.eventService.dispatchEvent({type:"bodyHeightChanged"}))}updateScrollVisibleService(){this.updateScrollVisibleServiceImpl(),setTimeout(this.updateScrollVisibleServiceImpl.bind(this),500)}updateScrollVisibleServiceImpl(){let e={horizontalScrollShowing:this.isHorizontalScrollShowing(),verticalScrollShowing:this.gridBodyCtrl.isVerticalScrollShowing()};this.scrollVisibleService.setScrollsVisible(e)}isHorizontalScrollShowing(){return this.centerContainerCtrl.isHorizontalScrollShowing()}onHorizontalViewportChanged(){let e=this.centerContainerCtrl.getCenterWidth(),t=this.centerContainerCtrl.getViewportScrollLeft();this.columnViewportService.setScrollPosition(e,t)}},ch=class extends b{wireBeans(e){this.dragService=e.dragService,this.rangeService=e.rangeService}constructor(e){super(),this.eContainer=e}postConstruct(){if(!this.rangeService)return;this.params={eElement:this.eContainer,onDragStart:this.rangeService.onDragStart.bind(this.rangeService),onDragStop:this.rangeService.onDragStop.bind(this.rangeService),onDragging:this.rangeService.onDragging.bind(this.rangeService)},this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{gt(this.gos)?this.enableFeature():this.disableFeature()}),this.addDestroyFunc(()=>this.disableFeature()),gt(this.gos)&&this.enableFeature()}enableFeature(){this.dragService.addDragSource(this.params)}disableFeature(){this.dragService.removeDragSource(this.params)}},dh=class extends ce{constructor(){super(`
|
|
101
|
+
</div>`,"vertical")}postConstruct(){super.postConstruct(),this.createManagedBean(new Ia(this.eContainer)),this.ctrlsService.register("fakeVScrollComp",this),this.addManagedEventListeners({rowContainerHeightChanged:this.onRowContainerHeightChanged.bind(this)})}setScrollVisible(){let e=this.scrollVisibleService.isVerticalScrollShowing(),t=this.invisibleScrollbar,i=e&&this.scrollVisibleService.getScrollbarWidth()||0,o=i===0&&t?16:i;this.addOrRemoveCssClass("ag-scrollbar-invisible",t),Je(this.getGui(),o),Je(this.eViewport,o),Je(this.eContainer,o),this.setDisplayed(e,{skipAriaHidden:!0})}onRowContainerHeightChanged(){let{ctrlsService:e}=this,i=e.getGridBodyCtrl().getBodyViewportElement(),o=this.getScrollPosition(),s=i.scrollTop;o!=s&&this.setScrollPosition(s,!0)}getScrollPosition(){return this.getViewportElement().scrollTop}setScrollPosition(e,t){!t&&!rt(this.getViewportElement())&&this.attemptSettingScrollPosition(e),this.getViewportElement().scrollTop=e}};var ms=(e=>(e.FakeHScrollbar="fakeHScrollComp",e.Header="centerHeader",e.PinnedTop="topCenter",e.PinnedBottom="bottomCenter",e.StickyTop="stickyTopCenter",e.StickyBottom="stickyBottomCenter",e))(ms||{}),ch=class extends b{constructor(e){super(),this.lastScrollSource=[null,null],this.scrollLeft=-1,this.nextScrollTop=-1,this.scrollTop=-1,this.lastOffsetHeight=-1,this.lastScrollTop=-1,this.eBodyViewport=e,this.resetLastHScrollDebounced=xe(()=>this.lastScrollSource[1]=null,500),this.resetLastVScrollDebounced=xe(()=>this.lastScrollSource[0]=null,500)}wireBeans(e){this.ctrlsService=e.ctrlsService,this.animationFrameService=e.animationFrameService,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService,this.rowModel=e.rowModel,this.heightScaler=e.rowContainerHeightService,this.rowRenderer=e.rowRenderer,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.addManagedEventListeners({displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this)}),this.ctrlsService.whenReady(this,e=>{this.centerRowsCtrl=e.center,this.onDisplayedColumnsWidthChanged(),this.addScrollListener()})}addScrollListener(){this.addHorizontalScrollListeners(),this.addVerticalScrollListeners()}addHorizontalScrollListeners(){this.addManagedElementListeners(this.centerRowsCtrl.getViewportElement(),{scroll:this.onHScroll.bind(this,"Viewport")});for(let e of Object.values(ms)){let t=this.ctrlsService.get(e);this.registerScrollPartner(t,this.onHScroll.bind(this,e))}}addVerticalScrollListeners(){let e=this.ctrlsService.get("fakeVScrollComp"),t=this.gos.get("debounceVerticalScrollbar"),i=t?xe(this.onVScroll.bind(this,"Viewport"),100):this.onVScroll.bind(this,"Viewport"),o=t?xe(this.onVScroll.bind(this,"fakeVScrollComp"),100):this.onVScroll.bind(this,"fakeVScrollComp");this.addManagedElementListeners(this.eBodyViewport,{scroll:i}),this.registerScrollPartner(e,o)}registerScrollPartner(e,t){e.onScrollCallback(t)}onDisplayedColumnsWidthChanged(){this.enableRtl&&this.horizontallyScrollHeaderCenterAndFloatingCenter()}horizontallyScrollHeaderCenterAndFloatingCenter(e){this.centerRowsCtrl!=null&&(e===void 0&&(e=this.centerRowsCtrl.getCenterViewportScrollLeft()),this.setScrollLeftForAllContainersExceptCurrent(Math.abs(e)))}setScrollLeftForAllContainersExceptCurrent(e){for(let t of[...Object.values(ms),"Viewport"]){if(this.lastScrollSource[1]===t)continue;let i=this.getViewportForSource(t);ho(i,e,this.enableRtl)}}getViewportForSource(e){return e==="Viewport"?this.centerRowsCtrl.getViewportElement():this.ctrlsService.get(e).getViewportElement()}isControllingScroll(e,t){return this.lastScrollSource[t]==null?(t===0?this.lastScrollSource[0]=e:this.lastScrollSource[1]=e,!0):this.lastScrollSource[t]===e}onHScroll(e){if(!this.isControllingScroll(e,1))return;let t=this.centerRowsCtrl.getViewportElement(),{scrollLeft:i}=t;if(this.shouldBlockScrollUpdate(1,i,!0))return;let o=uo(this.getViewportForSource(e),this.enableRtl);this.doHorizontalScroll(o),this.resetLastHScrollDebounced()}onVScroll(e){if(!this.isControllingScroll(e,0))return;let t;e==="Viewport"?t=this.eBodyViewport.scrollTop:t=this.ctrlsService.get("fakeVScrollComp").getScrollPosition(),!this.shouldBlockScrollUpdate(0,t,!0)&&(this.animationFrameService.setScrollTop(t),this.nextScrollTop=t,e==="Viewport"?this.ctrlsService.get("fakeVScrollComp").setScrollPosition(t):this.eBodyViewport.scrollTop=t,this.gos.get("suppressAnimationFrame")?this.scrollGridIfNeeded():this.animationFrameService.schedule(),this.resetLastVScrollDebounced())}doHorizontalScroll(e){let t=this.ctrlsService.get("fakeHScrollComp").getScrollPosition();this.scrollLeft===e&&e===t||(this.scrollLeft=e,this.fireScrollEvent(1),this.horizontallyScrollHeaderCenterAndFloatingCenter(e),this.centerRowsCtrl.onHorizontalViewportChanged(!0))}fireScrollEvent(e){let t={type:"bodyScroll",direction:e===1?"horizontal":"vertical",left:this.scrollLeft,top:this.scrollTop};this.eventService.dispatchEvent(t),window.clearTimeout(this.scrollTimer),this.scrollTimer=void 0,this.scrollTimer=window.setTimeout(()=>{this.eventService.dispatchEvent({...t,type:"bodyScrollEnd"})},100)}shouldBlockScrollUpdate(e,t,i=!1){return i&&!Tt()?!1:e===0?this.shouldBlockVerticalScroll(t):this.shouldBlockHorizontalScroll(t)}shouldBlockVerticalScroll(e){let t=Ts(this.eBodyViewport),{scrollHeight:i}=this.eBodyViewport;return e<0||e+t>i}shouldBlockHorizontalScroll(e){let t=this.centerRowsCtrl.getCenterWidth(),{scrollWidth:i}=this.centerRowsCtrl.getViewportElement();if(this.enableRtl){if(e>0)return!0}else if(e<0)return!0;return Math.abs(e)+t>i}redrawRowsAfterScroll(){this.fireScrollEvent(0)}checkScrollLeft(){this.scrollLeft!==this.centerRowsCtrl.getCenterViewportScrollLeft()&&this.onHScroll("Viewport")}scrollGridIfNeeded(){let e=this.scrollTop!=this.nextScrollTop;return e&&(this.scrollTop=this.nextScrollTop,this.redrawRowsAfterScroll()),e}setHorizontalScrollPosition(e,t=!1){let o=this.centerRowsCtrl.getViewportElement().scrollWidth-this.centerRowsCtrl.getCenterWidth();!t&&this.shouldBlockScrollUpdate(1,e)&&(this.enableRtl?e=e>0?0:o:e=Math.min(Math.max(e,0),o)),ho(this.centerRowsCtrl.getViewportElement(),Math.abs(e),this.enableRtl),this.doHorizontalScroll(e)}setVerticalScrollPosition(e){this.eBodyViewport.scrollTop=e}getVScrollPosition(){return this.lastScrollTop=this.eBodyViewport.scrollTop,this.lastOffsetHeight=this.eBodyViewport.offsetHeight,{top:this.lastScrollTop,bottom:this.lastScrollTop+this.lastOffsetHeight}}getApproximateVScollPosition(){return this.lastScrollTop>=0&&this.lastOffsetHeight>=0?{top:this.scrollTop,bottom:this.scrollTop+this.lastOffsetHeight}:this.getVScrollPosition()}getHScrollPosition(){return this.centerRowsCtrl.getHScrollPosition()}isHorizontalScrollShowing(){return this.centerRowsCtrl.isHorizontalScrollShowing()}scrollHorizontally(e){let t=this.centerRowsCtrl.getViewportElement().scrollLeft;return this.setHorizontalScrollPosition(t+e),this.centerRowsCtrl.getViewportElement().scrollLeft-t}scrollToTop(){this.eBodyViewport.scrollTop=0}ensureNodeVisible(e,t=null){let i=this.rowModel.getRowCount(),o=-1;for(let s=0;s<i;s++){let r=this.rowModel.getRow(s);if(typeof e=="function"){if(r&&e(r)){o=s;break}}else if(e===r||e===r.data){o=s;break}}o>=0&&this.ensureIndexVisible(o,t)}ensureIndexVisible(e,t){if(Re(this.gos,"print"))return;let i=this.rowModel.getRowCount();if(typeof e!="number"||e<0||e>=i){S("Invalid row index for ensureIndexVisible: "+e);return}let s=this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel");this.getFrameworkOverrides().wrapIncoming(()=>{s||this.paginationService?.goToPageWithIndex(e);let r=this.ctrlsService.getGridBodyCtrl(),n=r.getStickyTopHeight(),a=r.getStickyBottomHeight(),l=this.rowModel.getRow(e),c;do{let d=l.rowTop,u=l.rowHeight,h=this.pageBoundsService.getPixelOffset(),g=l.rowTop-h,f=g+l.rowHeight,m=this.getVScrollPosition(),p=this.heightScaler.getDivStretchOffset(),v=m.top+p,w=m.bottom+p,C=w-v,R=this.heightScaler.getScrollPositionForPixel(g),P=this.heightScaler.getScrollPositionForPixel(f-C),T=Math.min((R+P)/2,g),x=v+n>g,A=w-a<f,L=null;t==="top"?L=R:t==="bottom"?L=P:t==="middle"?L=T:x?L=R-n:A&&(L=P+a),L!==null&&(this.setVerticalScrollPosition(L),this.rowRenderer.redraw({afterScroll:!0})),c=d!==l.rowTop||u!==l.rowHeight}while(c);this.animationFrameService.flushAllFrames()})}ensureColumnVisible(e,t="auto"){let i=this.columnModel.getCol(e);if(!i||i.isPinned()||!this.visibleColsService.isColDisplayed(i))return;let o=this.getPositionedHorizontalScroll(i,t);this.getFrameworkOverrides().wrapIncoming(()=>{o!==null&&this.centerRowsCtrl.setCenterViewportScrollLeft(o),this.centerRowsCtrl.onHorizontalViewportChanged(),this.animationFrameService.flushAllFrames()})}setScrollPosition(e,t){this.getFrameworkOverrides().wrapIncoming(()=>{this.centerRowsCtrl.setCenterViewportScrollLeft(t),this.setVerticalScrollPosition(e),this.rowRenderer.redraw({afterScroll:!0}),this.animationFrameService.flushAllFrames()})}getPositionedHorizontalScroll(e,t){let{columnBeforeStart:i,columnAfterEnd:o}=this.isColumnOutsideViewport(e),s=this.centerRowsCtrl.getCenterWidth()<e.getActualWidth(),r=this.centerRowsCtrl.getCenterWidth(),n=this.enableRtl,a=(n?i:o)||s,l=n?o:i;t!=="auto"&&(a=t==="start",l=t==="end");let c=t==="middle";if(a||l||c){let{colLeft:d,colMiddle:u,colRight:h}=this.getColumnBounds(e);return c?u-r/2:a?n?h:d:n?d-r:h-r}return null}isColumnOutsideViewport(e){let{start:t,end:i}=this.getViewportBounds(),{colLeft:o,colRight:s}=this.getColumnBounds(e),r=this.enableRtl,n=r?t>s:i<s,a=r?i<o:t>o;return{columnBeforeStart:n,columnAfterEnd:a}}getColumnBounds(e){let t=this.enableRtl,i=this.visibleColsService.getBodyContainerWidth(),o=e.getActualWidth(),s=e.getLeft(),r=t?-1:1,n=t?i-s:s,a=n+o*r,l=n+o/2*r;return{colLeft:n,colMiddle:l,colRight:a}}getViewportBounds(){let e=this.centerRowsCtrl.getCenterWidth(),t=this.centerRowsCtrl.getCenterViewportScrollLeft(),i=t,o=e+t;return{start:i,end:o,width:e}}},dh=class extends b{wireBeans(e){this.animationFrameService=e.animationFrameService,this.ctrlsService=e.ctrlsService,this.pinnedWidthService=e.pinnedWidthService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnSizeService=e.columnSizeService,this.scrollVisibleService=e.scrollVisibleService,this.columnViewportService=e.columnViewportService}constructor(e){super(),this.centerContainerCtrl=e}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.listenForResize()}),this.addManagedEventListeners({scrollbarWidthChanged:this.onScrollbarWidthChanged.bind(this)}),this.addManagedPropertyListeners(["alwaysShowHorizontalScroll","alwaysShowVerticalScroll"],()=>{this.checkViewportAndScrolls()})}listenForResize(){let e=()=>{this.animationFrameService.requestAnimationFrame(()=>{this.onCenterViewportResized()})};this.centerContainerCtrl.registerViewportResizeListener(e),this.gridBodyCtrl.registerBodyViewportResizeListener(e)}onScrollbarWidthChanged(){this.checkViewportAndScrolls()}onCenterViewportResized(){if(this.scrollVisibleService.onCentreViewportResized(),this.centerContainerCtrl.isViewportInTheDOMTree()){this.keepPinnedColumnsNarrowerThanViewport(),this.checkViewportAndScrolls();let e=this.centerContainerCtrl.getCenterWidth();e!==this.centerWidth&&(this.centerWidth=e,this.columnSizeService.refreshFlexedColumns({viewportWidth:this.centerWidth,updateBodyWidths:!0,fireResizedEvent:!0}))}else this.bodyHeight=0}keepPinnedColumnsNarrowerThanViewport(){let e=this.gridBodyCtrl.getBodyViewportElement(),t=Gi(e);if(t<=50)return;let i=this.getPinnedColumnsOverflowingViewport(t-50),o=this.gos.getCallback("processUnpinnedColumns");i.length&&(o&&(i=o({columns:i,viewportWidth:t})),this.columnModel.setColsPinned(i,null,"viewportSizeFeature"))}getPinnedColumnsOverflowingViewport(e){let t=this.pinnedWidthService.getPinnedRightWidth(),i=this.pinnedWidthService.getPinnedLeftWidth(),o=t+i;if(o<e)return[];let s=[...this.visibleColsService.getLeftCols()],r=[...this.visibleColsService.getRightCols()],n=0,a=0,l=0,c=[],d=o-l-e;for(;(a<s.length||n<r.length)&&d>0;){if(n<r.length){let u=r[n++];d-=u.getActualWidth(),c.push(u)}if(a<s.length&&d>0){let u=s[a++];d-=u.getActualWidth(),c.push(u)}}return c}checkViewportAndScrolls(){this.updateScrollVisibleService(),this.checkBodyHeight(),this.onHorizontalViewportChanged(),this.gridBodyCtrl.getScrollFeature().checkScrollLeft()}getBodyHeight(){return this.bodyHeight}checkBodyHeight(){let e=this.gridBodyCtrl.getBodyViewportElement(),t=Ts(e);this.bodyHeight!==t&&(this.bodyHeight=t,this.eventService.dispatchEvent({type:"bodyHeightChanged"}))}updateScrollVisibleService(){this.updateScrollVisibleServiceImpl(),setTimeout(this.updateScrollVisibleServiceImpl.bind(this),500)}updateScrollVisibleServiceImpl(){let e={horizontalScrollShowing:this.isHorizontalScrollShowing(),verticalScrollShowing:this.gridBodyCtrl.isVerticalScrollShowing()};this.scrollVisibleService.setScrollsVisible(e)}isHorizontalScrollShowing(){return this.centerContainerCtrl.isHorizontalScrollShowing()}onHorizontalViewportChanged(){let e=this.centerContainerCtrl.getCenterWidth(),t=this.centerContainerCtrl.getViewportScrollLeft();this.columnViewportService.setScrollPosition(e,t)}},uh=class extends b{wireBeans(e){this.dragService=e.dragService,this.rangeService=e.rangeService}constructor(e){super(),this.eContainer=e}postConstruct(){if(!this.rangeService)return;this.params={eElement:this.eContainer,onDragStart:this.rangeService.onDragStart.bind(this.rangeService),onDragStop:this.rangeService.onDragStop.bind(this.rangeService),onDragging:this.rangeService.onDragging.bind(this.rangeService)},this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{gt(this.gos)?this.enableFeature():this.disableFeature()}),this.addDestroyFunc(()=>this.disableFeature()),gt(this.gos)&&this.enableFeature()}enableFeature(){this.dragService.addDragSource(this.params)}disableFeature(){this.dragService.removeDragSource(this.params)}},hh=class extends ce{constructor(){super(`
|
|
102
102
|
<div class="ag-selection-checkbox" role="presentation">
|
|
103
103
|
<ag-checkbox role="presentation" data-ref="eCheckbox"></ag-checkbox>
|
|
104
|
-
</div>`,[Gs]),this.eCheckbox=z}postConstruct(){this.eCheckbox.setPassive(!0)}getCheckboxId(){return this.eCheckbox.getInputElement().id}onDataChanged(){this.onSelectionChanged()}onSelectableChanged(){this.showOrHideSelect()}onSelectionChanged(){let e=this.localeService.getLocaleTextFunc(),t=this.rowNode.isSelected(),i=Es(e,t),[o,s]=this.rowNode.selectable?["ariaRowToggleSelection","Press Space to toggle row selection"]:["ariaRowSelectionDisabled","Row Selection is disabled for this row"],r=e(o,s);this.eCheckbox.setValue(t,!0),this.eCheckbox.setInputAriaLabel(`${r} (${i})`)}onClicked(e,t,i){return this.rowNode.setSelectedParams({newValue:e,rangeSelect:i.shiftKey,groupSelectsFiltered:t,event:i,source:"checkboxSelected"})}init(e){if(this.rowNode=e.rowNode,this.column=e.column,this.overrides=e.overrides,this.onSelectionChanged(),this.addManagedListeners(this.eCheckbox.getInputElement(),{dblclick:o=>oi(o),click:o=>{oi(o);let s=Ss(this.gos)==="filteredDescendants",r=this.eCheckbox.getValue();this.shouldHandleIndeterminateState(r,s)?this.onClicked(!0,s,o||{})===0&&this.onClicked(!1,s,o):r?this.onClicked(!1,s,o):this.onClicked(!0,s,o||{})}}),this.addManagedListeners(this.rowNode,{rowSelected:this.onSelectionChanged.bind(this),dataChanged:this.onDataChanged.bind(this),selectableChanged:this.onSelectableChanged.bind(this)}),bs(this.gos)||typeof this.getIsVisible()=="function"){let o=this.showOrHideSelect.bind(this);this.addManagedEventListeners({displayedColumnsChanged:o}),this.addManagedListeners(this.rowNode,{dataChanged:o,cellChanged:o}),this.showOrHideSelect()}this.eCheckbox.getInputElement().setAttribute("tabindex","-1")}shouldHandleIndeterminateState(e,t){return t&&(this.eCheckbox.getPreviousValue()===void 0||e===void 0)&&de(this.gos)}showOrHideSelect(){let e=this.rowNode.selectable,t=this.getIsVisible();if(e)if(typeof t=="function"){let s=this.overrides?.callbackParams;if(!this.column)e=t({...s,node:this.rowNode,data:this.rowNode.data});else{let r=this.column.createColumnFunctionCallbackParams(this.rowNode);e=t({...s,...r})}}else e=t??!1;let i=this.gos.get("rowSelection");if(i&&typeof i!="string"?!Ll(i):this.column?.getColDef().showDisabledCheckboxes){this.eCheckbox.setDisabled(!e),this.setVisible(!0),this.setDisplayed(!0);return}if(this.overrides?.removeHidden){this.setDisplayed(e);return}this.setVisible(e)}getIsVisible(){if(this.overrides)return this.overrides.isVisible;let e=this.gos.get("rowSelection");return e&&typeof e!="string"?ii(e):this.column?.getColDef()?.checkboxSelection}},uh=class extends ce{constructor(e,t,i){super('<div class="ag-drag-handle ag-row-drag" draggable="true"></div>'),this.rowNode=e,this.column=t,this.eCell=i}postConstruct(){this.getGui().appendChild(ze("rowDrag",this.gos,null)),this.addGuiEventListener("mousedown",t=>{t.stopPropagation()}),this.addDragSource(),this.checkVisibility()}addDragSource(){this.addGuiEventListener("dragstart",this.onDragStart.bind(this))}onDragStart(e){let t=this.column.getColDef().dndSourceOnRowDrag;e.dataTransfer.setDragImage(this.eCell,0,0);let i=()=>{try{let o=JSON.stringify(this.rowNode.data);e.dataTransfer.setData("application/json",o),e.dataTransfer.setData("text/plain",o)}catch{}};if(t){let o=this.gos.addGridCommonParams({rowNode:this.rowNode,dragEvent:e});t(o)}else i()}checkVisibility(){let e=this.column.isDndSource(this.rowNode);this.setDisplayed(e)}},hh=class extends b{constructor(e,t){super(),this.staticClasses=[],this.cellCtrl=e,this.beans=t,this.column=e.getColumn(),this.rowNode=e.getRowNode()}setComp(e){this.cellComp=e,this.applyUserStyles(),this.applyCellClassRules(),this.applyClassesFromColDef()}applyCellClassRules(){let e=this.column.getColDef(),{cellClassRules:t}=e,i=this.beans.gos.addGridCommonParams({value:this.cellCtrl.getValue(),data:this.rowNode.data,node:this.rowNode,colDef:e,column:this.column,rowIndex:this.rowNode.rowIndex});this.beans.stylingService.processClassRules(t===this.cellClassRules?void 0:this.cellClassRules,t,i,o=>this.cellComp.addOrRemoveCssClass(o,!0),o=>this.cellComp.addOrRemoveCssClass(o,!1)),this.cellClassRules=t}applyUserStyles(){let e=this.column.getColDef();if(!e.cellStyle)return;let t;if(typeof e.cellStyle=="function"){let i=this.beans.gos.addGridCommonParams({column:this.column,value:this.cellCtrl.getValue(),colDef:e,data:this.rowNode.data,node:this.rowNode,rowIndex:this.rowNode.rowIndex}),o=e.cellStyle;t=o(i)}else t=e.cellStyle;t&&this.cellComp.setUserStyles(t)}applyClassesFromColDef(){let e=this.column.getColDef(),t=this.beans.gos.addGridCommonParams({value:this.cellCtrl.getValue(),data:this.rowNode.data,node:this.rowNode,column:this.column,colDef:e,rowIndex:this.rowNode.rowIndex});this.staticClasses.length&&this.staticClasses.forEach(i=>this.cellComp.addOrRemoveCssClass(i,!1)),this.staticClasses=this.beans.stylingService.getStaticCellClasses(e,t),this.staticClasses.length&&this.staticClasses.forEach(i=>this.cellComp.addOrRemoveCssClass(i,!0))}destroy(){super.destroy()}},gh=class extends b{constructor(e,t,i,o,s){super(),this.cellCtrl=e,this.beans=t,this.rowNode=o,this.rowCtrl=s}setComp(e){this.eGui=e}onKeyDown(e){let t=e.key;switch(t){case y.ENTER:this.onEnterKeyDown(e);break;case y.F2:this.onF2KeyDown(e);break;case y.ESCAPE:this.onEscapeKeyDown(e);break;case y.TAB:this.onTabKeyDown(e);break;case y.BACKSPACE:case y.DELETE:this.onBackspaceOrDeleteKeyDown(t,e);break;case y.DOWN:case y.UP:case y.RIGHT:case y.LEFT:this.onNavigationKeyDown(e,t);break}}onNavigationKeyDown(e,t){this.cellCtrl.isEditing()||(e.shiftKey&&this.cellCtrl.isRangeSelectionEnabled()?this.onShiftRangeSelect(e):this.beans.navigationService.navigateToNextCell(e,t,this.cellCtrl.getCellPosition(),!0),e.preventDefault())}onShiftRangeSelect(e){if(!this.beans.rangeService)return;let t=this.beans.rangeService.extendLatestRangeInDirection(e);t&&this.beans.navigationService.ensureCellVisible(t)}onTabKeyDown(e){this.beans.navigationService.onTabKeyDown(this.cellCtrl,e)}onBackspaceOrDeleteKeyDown(e,t){let{cellCtrl:i,beans:o,rowNode:s}=this,{gos:r,rangeService:n,eventService:a}=o;if(!i.isEditing()){if(a.dispatchEvent({type:"keyShortcutChangedCellStart"}),eu(e,r.get("enableCellEditingOnBackspace"))){if(n&>(r))n.clearCellRangeCellValues({dispatchWrapperEvents:!0,wrapperEventSource:"deleteKey"});else if(i.isCellEditable()){let l=i.getColumn(),c=this.beans.valueService.getDeleteValue(l,s);s.setDataValue(l,c,"cellClear")}}else i.startRowOrCellEdit(e,t);a.dispatchEvent({type:"keyShortcutChangedCellEnd"})}}onEnterKeyDown(e){if(this.cellCtrl.isEditing()||this.rowCtrl.isEditing())this.cellCtrl.stopEditingAndFocus(!1,e.shiftKey);else if(this.beans.gos.get("enterNavigatesVertically")){let t=e.shiftKey?y.UP:y.DOWN;this.beans.navigationService.navigateToNextCell(null,t,this.cellCtrl.getCellPosition(),!1)}else this.cellCtrl.startRowOrCellEdit(y.ENTER,e),this.cellCtrl.isEditing()&&e.preventDefault()}onF2KeyDown(e){this.cellCtrl.isEditing()||this.cellCtrl.startRowOrCellEdit(y.F2,e)}onEscapeKeyDown(e){this.cellCtrl.isEditing()&&(this.cellCtrl.stopRowOrCellEdit(!0),this.cellCtrl.focusCell(!0))}processCharacter(e){if(e.target!==this.eGui||this.cellCtrl.isEditing())return;let o=e.key;o===" "?this.onSpaceKeyDown(e):this.cellCtrl.startRowOrCellEdit(o,e)&&e.preventDefault()}onSpaceKeyDown(e){let{gos:t}=this.beans;if(!this.cellCtrl.isEditing()&&io(t)){let i=this.rowNode.isSelected(),o=!i,s=Ss(t)==="filteredDescendants",r=this.rowNode.setSelectedParams({newValue:o,rangeSelect:e.shiftKey,groupSelectsFiltered:s,event:e,source:"spaceKey"});i===void 0&&r===0&&this.rowNode.setSelectedParams({newValue:!1,rangeSelect:e.shiftKey,groupSelectsFiltered:s,event:e,source:"spaceKey"})}e.preventDefault()}destroy(){super.destroy()}},ph=class extends b{constructor(e,t,i){super(),this.cellCtrl=e,this.beans=t,this.column=i}onMouseEvent(e,t){if(!ut(t))switch(e){case"click":this.onCellClicked(t);break;case"mousedown":case"touchstart":this.onMouseDown(t);break;case"dblclick":this.onCellDoubleClicked(t);break;case"mouseout":this.onMouseOut(t);break;case"mouseover":this.onMouseOver(t);break}}onCellClicked(e){if(this.isDoubleClickOnIPad()){this.onCellDoubleClicked(e),e.preventDefault();return}let{eventService:t,rangeService:i,gos:o}=this.beans,s=e.ctrlKey||e.metaKey;i&&s&&i.getCellRangeCount(this.cellCtrl.getCellPosition())>1&&i.intersectLastRange(!0);let r=this.cellCtrl.createEvent(e,"cellClicked");t.dispatchEvent(r);let n=this.column.getColDef();n.onCellClicked&&window.setTimeout(()=>{this.beans.frameworkOverrides.wrapOutgoing(()=>{n.onCellClicked(r)})},0),(o.get("singleClickEdit")||n.singleClickEdit)&&!o.get("suppressClickEdit")&&!(e.shiftKey&&i?.getCellRanges().length!=0)&&this.cellCtrl.startRowOrCellEdit()}isDoubleClickOnIPad(){if(!Tt()||vn("dblclick"))return!1;let e=new Date().getTime(),t=e-this.lastIPadMouseClickEvent<200;return this.lastIPadMouseClickEvent=e,t}onCellDoubleClicked(e){let{column:t,beans:i,cellCtrl:o}=this,{eventService:s,frameworkOverrides:r,gos:n}=i,a=t.getColDef(),l=o.createEvent(e,"cellDoubleClicked");s.dispatchEvent(l),typeof a.onCellDoubleClicked=="function"&&window.setTimeout(()=>{r.wrapOutgoing(()=>{a.onCellDoubleClicked(l)})},0),!n.get("singleClickEdit")&&!n.get("suppressClickEdit")&&o.startRowOrCellEdit(null,e)}onMouseDown(e){let{ctrlKey:t,metaKey:i,shiftKey:o}=e,s=e.target,{cellCtrl:r,beans:n}=this,{eventService:a,rangeService:l,focusService:c,gos:d}=n;if(this.isRightClickInExistingRange(e))return;let u=l&&l.getCellRanges().length!=0;if(!o||!u){let g=d.get("enableCellTextSelection")&&e.defaultPrevented,f=(ft()||g)&&!r.isEditing()&&!Ms(s);r.focusCell(f)}if(o&&u&&!c.isCellFocused(r.getCellPosition())){e.preventDefault();let h=c.getFocusedCell();if(h){let{column:g,rowIndex:f,rowPinned:m}=h,v=n.rowRenderer.getRowByPosition({rowIndex:f,rowPinned:m})?.getCellCtrl(g);v?.isEditing()&&v.stopEditing(),c.setFocusedCell({column:g,rowIndex:f,rowPinned:m,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}}if(!this.containsWidget(s)){if(l){let h=this.cellCtrl.getCellPosition();if(o)l.extendLatestRangeToCell(h);else{let g=t||i;l.setRangeToCell(h,g)}}a.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseDown"))}}isRightClickInExistingRange(e){let{rangeService:t}=this.beans;if(t){let i=t.isCellInAnyRange(this.cellCtrl.getCellPosition()),o=e.button===2||e.ctrlKey&&this.beans.gos.get("allowContextMenuWithControlKey");if(i&&o)return!0}return!1}containsWidget(e){return ei(e,"ag-selection-checkbox",3)}onMouseOut(e){this.mouseStayingInsideCell(e)||(this.beans.eventService.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseOut")),this.beans.columnHoverService.clearMouseOver())}onMouseOver(e){this.mouseStayingInsideCell(e)||(this.beans.eventService.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseOver")),this.beans.columnHoverService.setMouseOver([this.column]))}mouseStayingInsideCell(e){if(!e.target||!e.relatedTarget)return!1;let t=this.cellCtrl.getGui(),i=t.contains(e.target),o=t.contains(e.relatedTarget);return i&&o}destroy(){super.destroy()}},fh=class extends b{constructor(e,t){super(),this.cellCtrl=e,this.beans=t,this.column=e.getColumn(),this.rowNode=e.getRowNode()}setupRowSpan(){this.rowSpan=this.column.getRowSpan(this.rowNode),this.addManagedListeners(this.beans.eventService,{newColumnsLoaded:()=>this.onNewColumnsLoaded()})}setComp(e){this.eGui=e,this.setupColSpan(),this.setupRowSpan(),this.onLeftChanged(),this.onWidthChanged(),this.applyRowSpan()}onNewColumnsLoaded(){let e=this.column.getRowSpan(this.rowNode);this.rowSpan!==e&&(this.rowSpan=e,this.applyRowSpan(!0))}onDisplayColumnsChanged(){let e=this.getColSpanningList();Pt(this.colsSpanning,e)||(this.colsSpanning=e,this.onWidthChanged(),this.onLeftChanged())}setupColSpan(){this.column.getColDef().colSpan!=null&&(this.colsSpanning=this.getColSpanningList(),this.addManagedListeners(this.beans.eventService,{displayedColumnsChanged:this.onDisplayColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onWidthChanged.bind(this)}))}onWidthChanged(){if(!this.eGui)return;let e=this.getCellWidth();this.eGui.style.width=`${e}px`}getCellWidth(){return this.colsSpanning?this.colsSpanning.reduce((e,t)=>e+t.getActualWidth(),0):this.column.getActualWidth()}getColSpanningList(){let e=this.column.getColSpan(this.rowNode),t=[];if(e===1)t.push(this.column);else{let i=this.column,o=this.column.getPinned();for(let s=0;i&&s<e&&(t.push(i),i=this.beans.visibleColsService.getColAfter(i),!(!i||K(i)||o!==i.getPinned()));s++);}return t}onLeftChanged(){if(!this.eGui)return;let e=this.modifyLeftForPrintLayout(this.getCellLeft());this.eGui.style.left=e+"px"}getCellLeft(){let e;return this.beans.gos.get("enableRtl")&&this.colsSpanning?e=$(this.colsSpanning):e=this.column,e.getLeft()}modifyLeftForPrintLayout(e){if(!this.cellCtrl.isPrintLayout()||this.column.getPinned()==="left")return e;let t=this.beans.visibleColsService.getColsLeftWidth();if(this.column.getPinned()==="right"){let i=this.beans.visibleColsService.getBodyContainerWidth();return t+i+(e||0)}return t+(e||0)}applyRowSpan(e){if(this.rowSpan===1&&!e)return;let i=fo(this.beans.gos)*this.rowSpan;this.eGui.style.height=`${i}px`,this.eGui.style.zIndex="1"}destroy(){super.destroy()}};var mi="ag-cell-range-selected",mh="ag-cell-range-chart",vh="ag-cell-range-single-cell",Ch="ag-cell-range-chart-category",wh="ag-cell-range-handle",yh="ag-cell-range-top",bh="ag-cell-range-right",Sh="ag-cell-range-bottom",Rh="ag-cell-range-left",Fh=class{constructor(e,t){this.beans=e,this.rangeService=e.rangeService,this.selectionHandleFactory=e.selectionHandleFactory,this.cellCtrl=t}setComp(e,t){this.cellComp=e,this.eGui=t,this.onCellSelectionChanged()}onCellSelectionChanged(){this.cellComp&&(this.rangeCount=this.rangeService.getCellRangeCount(this.cellCtrl.getCellPosition()),this.hasChartRange=this.getHasChartRange(),this.cellComp.addOrRemoveCssClass(mi,this.rangeCount!==0),this.cellComp.addOrRemoveCssClass(`${mi}-1`,this.rangeCount===1),this.cellComp.addOrRemoveCssClass(`${mi}-2`,this.rangeCount===2),this.cellComp.addOrRemoveCssClass(`${mi}-3`,this.rangeCount===3),this.cellComp.addOrRemoveCssClass(`${mi}-4`,this.rangeCount>=4),this.cellComp.addOrRemoveCssClass(mh,this.hasChartRange),ao(this.eGui,this.rangeCount>0?!0:void 0),this.cellComp.addOrRemoveCssClass(vh,this.isSingleCell()),this.updateRangeBorders(),this.refreshHandle())}updateRangeBorders(){let e=this.getRangeBorders(),t=this.isSingleCell(),i=!t&&e.top,o=!t&&e.right,s=!t&&e.bottom,r=!t&&e.left;this.cellComp.addOrRemoveCssClass(yh,i),this.cellComp.addOrRemoveCssClass(bh,o),this.cellComp.addOrRemoveCssClass(Sh,s),this.cellComp.addOrRemoveCssClass(Rh,r)}isSingleCell(){let{rangeService:e}=this.beans;return this.rangeCount===1&&!!e&&!e.isMoreThanOneCell()}getHasChartRange(){let{rangeService:e}=this.beans;if(!this.rangeCount||!e)return!1;let t=e.getCellRanges();return t.length>0&&t.every(i=>Ht([1,0],i.type))}updateRangeBordersIfRangeCount(){this.rangeCount>0&&(this.updateRangeBorders(),this.refreshHandle())}getRangeBorders(){let e=this.beans.gos.get("enableRtl"),t=!1,i=!1,o=!1,s=!1,r=this.cellCtrl.getCellPosition().column,n=this.beans.visibleColsService,a,l;e?(a=n.getColAfter(r),l=n.getColBefore(r)):(a=n.getColBefore(r),l=n.getColAfter(r));let c=this.rangeService.getCellRanges().filter(d=>this.rangeService.isCellInSpecificRange(this.cellCtrl.getCellPosition(),d));a||(s=!0),l||(i=!0);for(let d=0;d<c.length&&!(t&&i&&o&&s);d++){let u=c[d],h=this.rangeService.getRangeStartRow(u),g=this.rangeService.getRangeEndRow(u);!t&&this.beans.rowPositionUtils.sameRow(h,this.cellCtrl.getCellPosition())&&(t=!0),!o&&this.beans.rowPositionUtils.sameRow(g,this.cellCtrl.getCellPosition())&&(o=!0),!s&&a&&u.columns.indexOf(a)<0&&(s=!0),!i&&l&&u.columns.indexOf(l)<0&&(i=!0)}return{top:t,right:i,bottom:o,left:s}}refreshHandle(){if(this.beans.context.isDestroyed())return;let e=this.shouldHaveSelectionHandle();this.selectionHandle&&!e&&(this.selectionHandle=this.beans.context.destroyBean(this.selectionHandle)),e&&this.addSelectionHandle(),this.cellComp.addOrRemoveCssClass(wh,!!this.selectionHandle)}shouldHaveSelectionHandle(){let e=this.beans.gos,t=this.rangeService.getCellRanges(),i=t.length;if(this.rangeCount<1||i<1)return!1;let o=$(t),s=this.cellCtrl.getCellPosition(),r=kr(e)&&!this.cellCtrl.isSuppressFillHandle(),n=Hl(e),a=i===1&&!this.cellCtrl.isEditing()&&(r||n);if(this.hasChartRange){let c=t[0].type===1&&this.rangeService.isCellInSpecificRange(s,t[0]);this.cellComp.addOrRemoveCssClass(Ch,c),a=o.type===0}return a&&o.endRow!=null&&this.rangeService.isContiguousRange(o)&&this.rangeService.isBottomRightCell(o,s)}addSelectionHandle(){let e=$(this.rangeService.getCellRanges()).type,i=kr(this.beans.gos)&&K(e)?0:1;this.selectionHandle&&this.selectionHandle.getType()!==i&&(this.selectionHandle=this.beans.context.destroyBean(this.selectionHandle)),this.selectionHandle||(this.selectionHandle=this.selectionHandleFactory.createSelectionHandle(i)),this.selectionHandle.refresh(this.cellCtrl)}destroy(){this.beans.context.destroyBean(this.selectionHandle)}},xh="ag-cell",Dh="ag-cell-auto-height",Eh="ag-cell-normal-height",Mh="ag-cell-focus",Ph="ag-cell-first-right-pinned",Th="ag-cell-last-left-pinned",Ah="ag-cell-not-inline-editing",kh="ag-column-hover",Ih="ag-cell-wrap-text",Lh=0,Ia=class ms extends b{constructor(t,i,o,s){super(),this.column=t,this.rowNode=i,this.beans=o,this.rowCtrl=s,this.cellRangeFeature=void 0,this.cellPositionFeature=void 0,this.cellCustomStyleFeature=void 0,this.tooltipFeature=void 0,this.cellMouseListenerFeature=void 0,this.cellKeyboardListenerFeature=void 0,this.suppressRefreshCell=!1,this.onCellCompAttachedFuncs=[],this.onCellEditorAttachedFuncs=[],this.instanceId=t.getId()+"-"+Lh++,this.colIdSanitised=qe(this.column.getId()),this.createCellPosition(),this.updateAndFormatValue(!1)}shouldRestoreFocus(){return this.beans.focusService.shouldRestoreFocus(this.cellPosition)}onFocusOut(){this.beans.focusService.clearRestoreFocus()}addFeatures(){this.cellPositionFeature=new fh(this,this.beans),this.cellCustomStyleFeature=new hh(this,this.beans),this.cellMouseListenerFeature=new ph(this,this.beans,this.column),this.cellKeyboardListenerFeature=new gh(this,this.beans,this.column,this.rowNode,this.rowCtrl),this.column.isTooltipEnabled()&&this.enableTooltipFeature(),this.beans.rangeService&>(this.beans.gos)&&(this.cellRangeFeature=new Fh(this.beans,this))}removeFeatures(){let t=this.beans.context;this.cellPositionFeature=t.destroyBean(this.cellPositionFeature),this.cellCustomStyleFeature=t.destroyBean(this.cellCustomStyleFeature),this.cellMouseListenerFeature=t.destroyBean(this.cellMouseListenerFeature),this.cellKeyboardListenerFeature=t.destroyBean(this.cellKeyboardListenerFeature),this.cellRangeFeature=t.destroyBean(this.cellRangeFeature),this.disableTooltipFeature()}enableTooltipFeature(t,i){let o=()=>{let n=this.column.getColDef(),a=this.rowNode.data;if(n.tooltipField&&M(a))return bi(a,n.tooltipField,this.column.isTooltipFieldContainsDots());let l=n.tooltipValueGetter;return l?l(this.beans.gos.addGridCommonParams({location:"cell",colDef:this.column.getColDef(),column:this.column,rowIndex:this.cellPosition.rowIndex,node:this.rowNode,data:this.rowNode.data,value:this.value,valueFormatted:this.valueFormatted})):null},s=this.beans.gos.get("tooltipShowMode")==="whenTruncated";!i&&s&&!this.isCellRenderer()&&(i=()=>{let n=this.getGui(),a=n.children.length===0?n:n.querySelector(".ag-cell-value");return a?a.scrollWidth>a.clientWidth:!0});let r={getColumn:()=>this.column,getColDef:()=>this.column.getColDef(),getRowIndex:()=>this.cellPosition.rowIndex,getRowNode:()=>this.rowNode,getGui:()=>this.getGui(),getLocation:()=>"cell",getTooltipValue:t!=null?()=>t:o,getValueFormatted:()=>this.valueFormatted,shouldDisplayTooltip:i};this.tooltipFeature=new ai(r,this.beans)}disableTooltipFeature(){this.tooltipFeature=this.beans.context.destroyBean(this.tooltipFeature)}setComp(t,i,o,s,r,n){this.cellComp=t,this.eGui=i,this.printLayout=s,n??(n=this),this.addDomData(n),this.addFeatures(),n.addDestroyFunc(()=>this.removeFeatures()),this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.onCellFocused(this.focusEventToRestore),this.applyStaticCssClasses(),this.setWrapText(),this.onFirstRightPinnedChanged(),this.onLastLeftPinnedChanged(),this.onColumnHover(),this.setupControlComps(),this.setupAutoHeight(o,n),this.refreshFirstAndLastStyles(),this.refreshAriaColIndex(),this.cellPositionFeature?.setComp(i),this.cellCustomStyleFeature?.setComp(t),this.tooltipFeature?.refreshToolTip(),this.cellKeyboardListenerFeature?.setComp(this.eGui),this.cellRangeFeature&&this.cellRangeFeature.setComp(t,i),r&&this.isCellEditable()?this.startEditing():this.showValue(),this.onCellCompAttachedFuncs.length&&(this.onCellCompAttachedFuncs.forEach(a=>a()),this.onCellCompAttachedFuncs=[])}setupAutoHeight(t,i){if(this.isAutoHeight=this.column.isAutoHeight(),!this.isAutoHeight||!t)return;let o=t.parentElement,s=ht(this.beans.gos,this.rowNode).height,r=l=>{if(this.editing||!this.isAlive()||!i.isAlive())return;let{paddingTop:c,paddingBottom:d,borderBottomWidth:u,borderTopWidth:h}=_t(o),g=c+d+u+h,m=t.offsetHeight+g;if(l<5){let v=ve(this.beans.gos),w=!v||!v.contains(t),C=m==0;if(w||C){window.setTimeout(()=>r(l+1),0);return}}let p=Math.max(m,s);this.rowNode.setRowAutoHeight(p,this.column)},n=()=>r(0);n();let a=this.beans.resizeObserverService.observeResize(t,n);i.addDestroyFunc(()=>{a(),this.rowNode.setRowAutoHeight(void 0,this.column)})}getCellAriaRole(){return this.column.getColDef().cellAriaRole??"gridcell"}isCellRenderer(){let t=this.column.getColDef();return t.cellRenderer!=null||t.cellRendererSelector!=null}getValueToDisplay(){return this.valueFormatted??this.value}showValue(t=!1){let{beans:i,column:o,rowNode:s,cellRangeFeature:r,cellComp:n}=this,{userComponentFactory:a,animationFrameService:l}=i,c=this.getValueToDisplay(),d;if(s.stub&&s.groupData?.[this.column.getId()]==null){let h=this.createCellRendererParams();d=a.getLoadingCellRendererDetails(o.getColDef(),h)}else if(this.isCellRenderer()){let h=this.createCellRendererParams();d=a.getCellRendererDetails(o.getColDef(),h)}n.setRenderDetails(d,c,t),l.requestAnimationFrame(()=>r?.refreshHandle())}setupControlComps(){let t=this.column.getColDef();this.includeSelection=this.isIncludeControl(this.isCheckboxSelection(t)),this.includeRowDrag=this.isIncludeControl(t.rowDrag),this.includeDndSource=this.isIncludeControl(t.dndSource),this.cellComp.setIncludeSelection(this.includeSelection),this.cellComp.setIncludeDndSource(this.includeDndSource),this.cellComp.setIncludeRowDrag(this.includeRowDrag)}isForceWrapper(){return this.beans.gos.get("enableCellTextSelection")||this.column.isAutoHeight()}isIncludeControl(t){return this.rowNode.rowPinned!=null?!1:typeof t=="function"||t===!0}isCheckboxSelection(t){let{rowSelection:i}=this.beans.gridOptions;return t.checkboxSelection||Pi(this.column)&&i&&typeof i!="string"&&ii(i)}refreshShouldDestroy(){let t=this.column.getColDef(),i=this.includeSelection!=this.isIncludeControl(this.isCheckboxSelection(t)),o=this.includeRowDrag!=this.isIncludeControl(t.rowDrag),s=this.includeDndSource!=this.isIncludeControl(t.dndSource),r=this.isAutoHeight!=this.column.isAutoHeight();return i||o||s||r}startEditing(t=null,i=!1,o=null){let{editService:s}=this.beans;return!this.isCellEditable()||this.editing||!s?!0:this.cellComp?s.startEditing(this,t,i,o):(this.onCellCompAttachedFuncs.push(()=>{this.startEditing(t,i,o)}),!0)}setEditing(t,i){this.editCompDetails=i,this.editing!==t&&(this.editing=t)}stopRowOrCellEdit(t=!1){this.beans.gos.get("editType")==="fullRow"?this.rowCtrl.stopEditing(t):this.stopEditing(t)}onPopupEditorClosed(){this.editing&&this.stopEditingAndFocus()}stopEditing(t=!1){this.onCellEditorAttachedFuncs=[];let{editService:i}=this.beans;return!this.editing||!i?!1:i.stopEditing(this,t)}createCellRendererParams(){return this.beans.gos.addGridCommonParams({value:this.value,valueFormatted:this.valueFormatted,getValue:()=>this.beans.valueService.getValueForDisplay(this.column,this.rowNode),setValue:i=>this.beans.valueService.setValue(this.rowNode,this.column,i),formatValue:this.formatValue.bind(this),data:this.rowNode.data,node:this.rowNode,pinned:this.column.getPinned(),colDef:this.column.getColDef(),column:this.column,refreshCell:this.refreshCell.bind(this),eGridCell:this.getGui(),eParentOfValue:this.cellComp.getParentOfValue(),registerRowDragger:(i,o,s,r)=>this.registerRowDragger(i,o,r),setTooltip:(i,o)=>{this.tooltipFeature&&this.disableTooltipFeature(),this.enableTooltipFeature(i,o),this.tooltipFeature?.refreshToolTip()}})}setFocusOutOnEditor(){this.editing&&this.beans.editService?.setFocusOutOnEditor(this)}setFocusInOnEditor(){this.editing&&this.beans.editService?.setFocusInOnEditor(this)}onCellChanged(t){t.column===this.column&&this.refreshCell({})}refreshOrDestroyCell(t){this.refreshShouldDestroy()?this.rowCtrl?.recreateCell(this):this.refreshCell(t)}refreshCell(t){if(this.suppressRefreshCell||this.editing)return;let i=this.column.getColDef(),o=t!=null&&!!t.newData,s=t!=null&&!!t.suppressFlash||!!i.suppressCellFlash,r=i.field==null&&i.valueGetter==null&&i.showRowGroup==null,n=t&&t.forceRefresh||r||o,a=!!this.cellComp,l=this.updateAndFormatValue(a),c=n||l;if(a){if(c){this.showValue(o);let d=this.beans.filterManager?.isSuppressFlashingCellsBecauseFiltering();!s&&!d&&(this.beans.gos.get("enableCellChangeFlash")||i.enableCellChangeFlash)&&this.flashCell(),this.cellCustomStyleFeature?.applyUserStyles(),this.cellCustomStyleFeature?.applyClassesFromColDef()}this.tooltipFeature?.refreshToolTip(),this.cellCustomStyleFeature?.applyCellClassRules()}}stopEditingAndFocus(t=!1,i=!1){this.beans.editService?.stopEditingAndFocus(this,t,i)}flashCell(t){let i=t?.flashDuration??t?.flashDelay,o=t?.fadeDuration??t?.fadeDelay;this.animateCell("data-changed",i,o)}animateCell(t,i,o){if(!this.cellComp)return;let{gos:s}=this.beans;if(i||(i=s.get("cellFlashDuration")),i===0)return;M(o)||(o=s.get("cellFadeDuration"));let r=`ag-cell-${t}`,n=`ag-cell-${t}-animation`;this.cellComp.addOrRemoveCssClass(r,!0),this.cellComp.addOrRemoveCssClass(n,!1),this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{this.isAlive()&&(this.cellComp.addOrRemoveCssClass(r,!1),this.cellComp.addOrRemoveCssClass(n,!0),this.eGui.style.transition=`background-color ${o}ms`,window.setTimeout(()=>{this.isAlive()&&(this.cellComp.addOrRemoveCssClass(n,!1),this.eGui.style.transition="")},o))},i)})}onFlashCells(t){if(!this.cellComp)return;let i=this.beans.cellPositionUtils.createId(this.getCellPosition());t.cells[i]&&this.animateCell("highlight")}isCellEditable(){return this.column.isCellEditable(this.rowNode)}isSuppressFillHandle(){return this.column.isSuppressFillHandle()}formatValue(t){return this.callValueFormatter(t)??t}callValueFormatter(t){return this.beans.valueService.formatValue(this.column,this.rowNode,t)}updateAndFormatValue(t){let i=this.value,o=this.valueFormatted;return this.value=this.beans.valueService.getValueForDisplay(this.column,this.rowNode),this.valueFormatted=this.callValueFormatter(this.value),t?!this.valuesAreEqual(i,this.value)||this.valueFormatted!=o:!0}valuesAreEqual(t,i){let o=this.column.getColDef();return o.equals?o.equals(t,i):t===i}getComp(){return this.cellComp}getValue(){return this.value}addDomData(t){let i=this.getGui();Vt(this.beans.gos,i,ms.DOM_DATA_KEY_CELL_CTRL,this),t.addDestroyFunc(()=>Vt(this.beans.gos,i,ms.DOM_DATA_KEY_CELL_CTRL,null))}createEvent(t,i){return this.beans.gos.addGridCommonParams({type:i,node:this.rowNode,data:this.rowNode.data,value:this.value,column:this.column,colDef:this.column.getColDef(),rowPinned:this.rowNode.rowPinned,event:t,rowIndex:this.rowNode.rowIndex})}processCharacter(t){this.cellKeyboardListenerFeature?.processCharacter(t)}onKeyDown(t){this.cellKeyboardListenerFeature?.onKeyDown(t)}onMouseEvent(t,i){this.cellMouseListenerFeature?.onMouseEvent(t,i)}getGui(){return this.eGui}getColSpanningList(){return this.cellPositionFeature.getColSpanningList()}onLeftChanged(){this.cellComp&&this.cellPositionFeature?.onLeftChanged()}onDisplayedColumnsChanged(){this.eGui&&(this.refreshAriaColIndex(),this.refreshFirstAndLastStyles())}refreshFirstAndLastStyles(){let{cellComp:t,column:i,beans:o}=this;Ca(t,i,o.visibleColsService)}refreshAriaColIndex(){let t=this.beans.visibleColsService.getAriaColIndex(this.column);An(this.getGui(),t)}isSuppressNavigable(){return this.column.isSuppressNavigable(this.rowNode)}onWidthChanged(){return this.cellPositionFeature?.onWidthChanged()}getColumn(){return this.column}getRowNode(){return this.rowNode}isPrintLayout(){return this.printLayout}getCellPosition(){return this.cellPosition}isEditing(){return this.editing}startRowOrCellEdit(t,i=null){return this.cellComp?this.beans.gos.get("editType")==="fullRow"?this.rowCtrl.startRowEditing(t,this):this.startEditing(t,!0,i):(this.onCellCompAttachedFuncs.push(()=>{this.startRowOrCellEdit(t,i)}),!0)}getRowCtrl(){return this.rowCtrl}getRowPosition(){return{rowIndex:this.cellPosition.rowIndex,rowPinned:this.cellPosition.rowPinned}}updateRangeBordersIfRangeCount(){this.cellComp&&this.cellRangeFeature&&this.cellRangeFeature.updateRangeBordersIfRangeCount()}onCellSelectionChanged(){this.cellComp&&this.cellRangeFeature&&this.cellRangeFeature.onCellSelectionChanged()}isRangeSelectionEnabled(){return this.cellRangeFeature!=null}focusCell(t=!1){this.beans.focusService.setFocusedCell({rowIndex:this.getCellPosition().rowIndex,column:this.column,rowPinned:this.rowNode.rowPinned,forceBrowserFocus:t})}onRowIndexChanged(){this.createCellPosition(),this.onCellFocused(),this.cellRangeFeature&&this.cellRangeFeature.onCellSelectionChanged()}onSuppressCellFocusChanged(t){this.eGui&&je(this.eGui,"tabindex",t?void 0:-1)}onFirstRightPinnedChanged(){if(!this.cellComp)return;let t=this.column.isFirstRightPinned();this.cellComp.addOrRemoveCssClass(Ph,t)}onLastLeftPinnedChanged(){if(!this.cellComp)return;let t=this.column.isLastLeftPinned();this.cellComp.addOrRemoveCssClass(Th,t)}onCellFocused(t){if(this.beans.focusService.isCellFocusSuppressed())return;let i=this.beans.focusService.isCellFocused(this.cellPosition);if(!this.cellComp){i&&t?.forceBrowserFocus&&(this.focusEventToRestore=t);return}if(this.focusEventToRestore=void 0,this.cellComp.addOrRemoveCssClass(Mh,i),i&&t&&t.forceBrowserFocus){let s=this.cellComp.getFocusableElement();if(this.editing){let r=this.beans.focusService.findFocusableElements(s,null,!0);r.length&&(s=r[0])}s.focus({preventScroll:!!t.preventScrollOnBrowserFocus})}let o=this.beans.gos.get("editType")==="fullRow";!i&&!o&&this.editing&&this.stopRowOrCellEdit(),i&&this.rowCtrl.announceDescription()}createCellPosition(){this.cellPosition={rowIndex:this.rowNode.rowIndex,rowPinned:dt(this.rowNode.rowPinned),column:this.column}}applyStaticCssClasses(){this.cellComp.addOrRemoveCssClass(xh,!0),this.cellComp.addOrRemoveCssClass(Ah,!0);let t=this.column.isAutoHeight()==!0;this.cellComp.addOrRemoveCssClass(Dh,t),this.cellComp.addOrRemoveCssClass(Eh,!t)}onColumnHover(){if(!this.cellComp||!this.beans.gos.get("columnHoverHighlight"))return;let t=this.beans.columnHoverService.isHovered(this.column);this.cellComp.addOrRemoveCssClass(kh,t)}onColDefChanged(){if(!this.cellComp)return;this.column.isTooltipEnabled()?(this.disableTooltipFeature(),this.enableTooltipFeature()):this.disableTooltipFeature(),this.setWrapText(),this.editing?this.beans.editService?.handleColDefChanged(this):this.refreshOrDestroyCell({forceRefresh:!0,suppressFlash:!0})}setWrapText(){let t=this.column.getColDef().wrapText==!0;this.cellComp.addOrRemoveCssClass(Ih,t)}dispatchCellContextMenuEvent(t){let i=this.column.getColDef(),o=this.createEvent(t,"cellContextMenu");this.beans.eventService.dispatchEvent(o),i.onCellContextMenu&&window.setTimeout(()=>{this.beans.frameworkOverrides.wrapOutgoing(()=>{i.onCellContextMenu(o)})},0)}getCellRenderer(){return this.cellComp?this.cellComp.getCellRenderer():null}getCellEditor(){return this.cellComp?this.cellComp.getCellEditor():null}destroy(){this.onCellCompAttachedFuncs=[],this.onCellEditorAttachedFuncs=[],super.destroy()}createSelectionCheckbox(){let t=new dh;return this.beans.context.createBean(t),t.init({rowNode:this.rowNode,column:this.column}),t}createDndSource(){let t=new uh(this.rowNode,this.column,this.eGui);return this.beans.context.createBean(t),t}registerRowDragger(t,i,o){if(this.customRowDragComp){this.customRowDragComp.setDragElement(t,i);return}let s=this.createRowDragComp(t,i,o);s&&(this.customRowDragComp=s,this.addDestroyFunc(()=>{this.beans.context.destroyBean(s),this.customRowDragComp=null}))}createRowDragComp(t,i,o){let s=this.beans.gos.get("pagination"),r=this.beans.gos.get("rowDragManaged"),n=de(this.beans.gos);if(r){if(!n){S("managed row dragging is only allowed in the Client Side Row Model");return}if(s){S("managed row dragging is not possible when doing pagination");return}}let a=new us(()=>this.value,this.rowNode,this.column,t,i,o);return this.beans.context.createBean(a),a}setSuppressRefreshCell(t){this.suppressRefreshCell=t}getEditCompDetails(){return this.editCompDetails}onCellEditorAttached(t){this.onCellEditorAttachedFuncs.push(t)}cellEditorAttached(){this.onCellEditorAttachedFuncs.forEach(t=>t()),this.onCellEditorAttachedFuncs=[]}};Ia.DOM_DATA_KEY_CELL_CTRL="cellCtrl";var zt=Ia,Oh=0,La=class vs extends b{constructor(t,i,o,s,r){super(),this.allRowGuis=[],this.active=!0,this.centerCellCtrls={list:[],map:{}},this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}},this.slideInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.fadeInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.rowDragComps=[],this.lastMouseDownOnDragger=!1,this.emptyStyle={},this.updateColumnListsPending=!1,this.rowId=null,this.businessKeySanitised=null,this.beans=i,this.gos=i.gos,this.rowNode=t,this.paginationPage=i.paginationService?.getCurrentPage()??0,this.useAnimationFrameForCreate=s,this.printLayout=r,this.suppressRowTransform=this.gos.get("suppressRowTransform"),this.instanceId=t.id+"-"+Oh++,this.rowId=qe(t.id),this.initRowBusinessKey(),this.rowFocused=i.focusService.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned),this.rowLevel=i.rowCssClassCalculator.calculateRowLevel(this.rowNode),this.setRowType(),this.setAnimateFlags(o),this.rowStyles=this.processStylesFromGridOptions(),this.addListeners()}initRowBusinessKey(){this.businessKeyForNodeFunc=this.gos.get("getBusinessKeyForNode"),this.updateRowBusinessKey()}updateRowBusinessKey(){if(typeof this.businessKeyForNodeFunc!="function")return;let t=this.businessKeyForNodeFunc(this.rowNode);this.businessKeySanitised=qe(t)}getRowId(){return this.rowId}getRowStyles(){return this.rowStyles}isSticky(){return this.rowNode.sticky}updateGui(t,i){t==="left"?this.leftGui=i:t==="right"?this.rightGui=i:t==="fullWidth"?this.fullWidthGui=i:this.centerGui=i}setComp(t,i,o,s){s=Oi(this,this.beans.context,s);let r={rowComp:t,element:i,containerType:o,compBean:s};this.allRowGuis.push(r),this.updateGui(o,r),this.initialiseRowComp(r),this.rowType!=="FullWidthLoading"&&!this.rowNode.rowPinned&&this.beans.rowRenderer.dispatchFirstDataRenderedEvent()}unsetComp(t){this.allRowGuis=this.allRowGuis.filter(i=>i.containerType!==t),this.updateGui(t,void 0)}isCacheable(){return this.rowType==="FullWidthDetail"&&this.gos.get("keepDetailRows")}setCached(t){let i=t?"none":"";this.allRowGuis.forEach(o=>o.element.style.display=i)}initialiseRowComp(t){let i=this.gos;this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.listenOnDomOrder(t),this.beans.columnModel.wasAutoRowHeightEverActive()&&this.rowNode.checkAutoHeights(),this.onRowHeightChanged(t),this.updateRowIndexes(t),this.setFocusedClasses(t),this.setStylesFromGridOptions(!1,t),io(i)&&this.rowNode.selectable&&this.onRowSelected(t),this.updateColumnLists(!this.useAnimationFrameForCreate);let o=t.rowComp;this.getInitialRowClasses(t.containerType).forEach(r=>o.addOrRemoveCssClass(r,!0)),this.executeSlideAndFadeAnimations(t),this.rowNode.group&&no(t.element,this.rowNode.expanded==!0),this.setRowCompRowId(o),this.setRowCompRowBusinessKey(o),Vt(i,t.element,vs.DOM_DATA_KEY_ROW_CTRL,this),t.compBean.addDestroyFunc(()=>Vt(i,t.element,vs.DOM_DATA_KEY_ROW_CTRL,null)),this.useAnimationFrameForCreate?this.beans.animationFrameService.createTask(this.addHoverFunctionality.bind(this,t),this.rowNode.rowIndex,"createTasksP2"):this.addHoverFunctionality(t),this.isFullWidth()&&this.setupFullWidth(t),i.get("rowDragEntireRow")&&this.addRowDraggerToRow(t),this.useAnimationFrameForCreate&&this.beans.animationFrameService.addDestroyTask(()=>{this.isAlive()&&t.rowComp.addOrRemoveCssClass("ag-after-created",!0)}),this.executeProcessRowPostCreateFunc()}setRowCompRowBusinessKey(t){this.businessKeySanitised!=null&&t.setRowBusinessKey(this.businessKeySanitised)}getBusinessKey(){return this.businessKeySanitised}setRowCompRowId(t){this.rowId=qe(this.rowNode.id),this.rowId!=null&&t.setRowId(this.rowId)}executeSlideAndFadeAnimations(t){let{containerType:i}=t;this.slideInAnimation[i]&&(Tr(()=>{this.onTopChanged()}),this.slideInAnimation[i]=!1),this.fadeInAnimation[i]&&(Tr(()=>{t.rowComp.addOrRemoveCssClass("ag-opacity-zero",!1)}),this.fadeInAnimation[i]=!1)}addRowDraggerToRow(t){if(gt(this.gos)){S("Setting `rowDragEntireRow: true` in the gridOptions doesn't work with `cellSelection: true`");return}let i=this.beans.localeService.getLocaleTextFunc(),o=new us(()=>`1 ${i("rowDragRow","row")}`,this.rowNode,void 0,t.element,void 0,!0),s=this.createBean(o,this.beans.context);this.rowDragComps.push(s),t.compBean.addDestroyFunc(()=>{this.rowDragComps=this.rowDragComps.filter(r=>r!==s),this.destroyBean(s,this.beans.context)})}setupFullWidth(t){let i=this.getPinnedForContainer(t.containerType);if(this.rowType=="FullWidthDetail"&&!this.gos.assertModuleRegistered("@ag-grid-enterprise/master-detail","cell renderer 'agDetailCellRenderer' (for master detail)"))return;let o=this.createFullWidthCompDetails(t.element,i);t.rowComp.showFullWidth(o)}isPrintLayout(){return this.printLayout}getFullWidthCellRenderers(){return this.gos.get("embedFullWidthRows")?this.allRowGuis.map(t=>t?.rowComp?.getFullWidthCellRenderer()):[this.fullWidthGui?.rowComp?.getFullWidthCellRenderer()]}getCellElement(t){let i=this.getCellCtrl(t);return i?i.getGui():null}executeProcessRowPostCreateFunc(){let t=this.gos.getCallback("processRowPostCreate");if(!t||!this.areAllContainersReady())return;let i={eRow:this.centerGui.element,ePinnedLeftRow:this.leftGui?this.leftGui.element:void 0,ePinnedRightRow:this.rightGui?this.rightGui.element:void 0,node:this.rowNode,rowIndex:this.rowNode.rowIndex,addRenderedRowListener:this.addEventListener.bind(this)};t(i)}areAllContainersReady(){let t=!!this.leftGui||!this.beans.visibleColsService.isPinningLeft(),i=!!this.centerGui,o=!!this.rightGui||!this.beans.visibleColsService.isPinningRight();return t&&i&&o}isNodeFullWidthCell(){if(this.rowNode.detail)return!0;let t=this.beans.gos.getCallback("isFullWidthRow");return t?t({rowNode:this.rowNode}):!1}setRowType(){let t=this.rowNode.stub&&!this.gos.get("suppressServerSideFullWidthLoadingRow")&&!this.gos.get("groupHideOpenParents"),i=this.isNodeFullWidthCell(),o=this.gos.get("masterDetail")&&this.rowNode.detail,s=this.beans.columnModel.isPivotMode(),n=!!this.rowNode.group&&!this.rowNode.footer&&ys(this.gos,s);t?this.rowType="FullWidthLoading":o?this.rowType="FullWidthDetail":i?this.rowType="FullWidth":n?this.rowType="FullWidthGroup":this.rowType="Normal"}updateColumnLists(t=!1,i=!1){if(this.isFullWidth())return;if(t||this.gos.get("suppressAnimationFrame")||this.printLayout){this.updateColumnListsImpl(i);return}this.updateColumnListsPending||(this.beans.animationFrameService.createTask(()=>{this.active&&this.updateColumnListsImpl(!0)},this.rowNode.rowIndex,"createTasksP1"),this.updateColumnListsPending=!0)}createCellCtrls(t,i,o=null){let s={list:[],map:{}},r=(a,l,c)=>{c!=null?s.list.splice(c,0,l):s.list.push(l),s.map[a]=l},n=[];for(let a of i){let l=a.getInstanceId(),c=t.map[l];c||(c=new zt(a,this.rowNode,this.beans,this)),r(l,c)}for(let a of t.list){let l=a.getColumn().getInstanceId();if(s.map[l]!=null)continue;!this.isCellEligibleToBeRemoved(a,o)?n.push([l,a]):a.destroy()}if(n.length)for(let[a,l]of n){let c=s.list.findIndex(u=>u.getColumn().getLeft()>l.getColumn().getLeft()),d=c===-1?void 0:Math.max(c-1,0);r(a,l,d)}return s}updateColumnListsImpl(t){this.updateColumnListsPending=!1,this.createAllCellCtrls(),this.setCellCtrls(t)}setCellCtrls(t){this.allRowGuis.forEach(i=>{let o=this.getCellCtrlsForContainer(i.containerType);i.rowComp.setCellCtrls(o,t)})}getCellCtrlsForContainer(t){switch(t){case"left":return this.leftCellCtrls.list;case"right":return this.rightCellCtrls.list;case"fullWidth":return[];case"center":return this.centerCellCtrls.list}}createAllCellCtrls(){let t=this.beans.columnViewportService,i=this.beans.visibleColsService;if(this.printLayout)this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,i.getAllCols()),this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}};else{let o=t.getColsWithinViewport(this.rowNode);this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,o);let s=i.getLeftColsForRow(this.rowNode);this.leftCellCtrls=this.createCellCtrls(this.leftCellCtrls,s,"left");let r=i.getRightColsForRow(this.rowNode);this.rightCellCtrls=this.createCellCtrls(this.rightCellCtrls,r,"right")}}isCellEligibleToBeRemoved(t,i){if(t.getColumn().getPinned()!=i)return!0;let n=t.isEditing(),a=this.beans.focusService.isCellFocused(t.getCellPosition());if(n||a){let c=t.getColumn();return!(this.beans.visibleColsService.getAllCols().indexOf(c)>=0)}return!0}getDomOrder(){return this.gos.get("ensureDomOrder")||Re(this.gos,"print")}listenOnDomOrder(t){let i=()=>{t.rowComp.setDomOrder(this.getDomOrder())};t.compBean.addManagedPropertyListeners(["domLayout","ensureDomOrder"],i)}setAnimateFlags(t){if(this.isSticky()||!t)return;let i=M(this.rowNode.oldRowTop),o=this.beans.visibleColsService.isPinningLeft(),s=this.beans.visibleColsService.isPinningRight();if(i){if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows")){this.slideInAnimation.fullWidth=!0;return}this.slideInAnimation.center=!0,this.slideInAnimation.left=o,this.slideInAnimation.right=s}else{if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows")){this.fadeInAnimation.fullWidth=!0;return}this.fadeInAnimation.center=!0,this.fadeInAnimation.left=o,this.fadeInAnimation.right=s}}isEditing(){return this.editingRow}isFullWidth(){return this.rowType!=="Normal"}refreshFullWidth(){let t=(a,l)=>a?a.rowComp.refreshFullWidth(()=>this.createFullWidthCompDetails(a.element,l).params):!0,i=t(this.fullWidthGui,null),o=t(this.centerGui,null),s=t(this.leftGui,"left"),r=t(this.rightGui,"right");return i&&o&&s&&r}addListeners(){this.addManagedListeners(this.rowNode,{heightChanged:()=>this.onRowHeightChanged(),rowSelected:()=>this.onRowSelected(),rowIndexChanged:this.onRowIndexChanged.bind(this),topChanged:this.onTopChanged.bind(this),expandedChanged:this.updateExpandedCss.bind(this),hasChildrenChanged:this.updateExpandedCss.bind(this)}),this.rowNode.detail&&this.addManagedListeners(this.rowNode.parent,{dataChanged:this.onRowNodeDataChanged.bind(this)}),this.addManagedListeners(this.rowNode,{dataChanged:this.onRowNodeDataChanged.bind(this),cellChanged:this.postProcessCss.bind(this),rowHighlightChanged:this.onRowNodeHighlightChanged.bind(this),draggingChanged:this.postProcessRowDragging.bind(this),uiLevelChanged:this.onUiLevelChanged.bind(this)}),this.addManagedListeners(this.beans.eventService,{paginationPixelOffsetChanged:this.onPaginationPixelOffsetChanged.bind(this),heightScaleChanged:this.onTopChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:this.onVirtualColumnsChanged.bind(this),cellFocused:this.onCellFocusChanged.bind(this),cellFocusCleared:this.onCellFocusChanged.bind(this),paginationChanged:this.onPaginationChanged.bind(this),modelUpdated:this.refreshFirstAndLastRowStyles.bind(this),columnMoved:()=>this.updateColumnLists()}),this.addDestroyFunc(()=>{this.rowDragComps=this.destroyBeans(this.rowDragComps,this.beans.context),this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature,this.beans.context))}),this.addManagedPropertyListeners(["rowStyle","getRowStyle","rowClass","getRowClass","rowClassRules"],this.postProcessCss.bind(this)),this.addManagedPropertyListener("rowDragEntireRow",()=>{if(this.gos.get("rowDragEntireRow")){this.allRowGuis.forEach(i=>{this.addRowDraggerToRow(i)});return}this.rowDragComps=this.destroyBeans(this.rowDragComps,this.beans.context)}),this.addListenersForCellComps()}addListenersForCellComps(){this.addManagedListeners(this.rowNode,{rowIndexChanged:()=>{this.getAllCellCtrls().forEach(t=>t.onRowIndexChanged())},cellChanged:t=>{this.getAllCellCtrls().forEach(i=>i.onCellChanged(t))}})}onRowNodeDataChanged(t){if(this.isFullWidth()!==!!this.isNodeFullWidthCell()){this.beans.rowRenderer.redrawRow(this.rowNode);return}if(this.isFullWidth()){this.refreshFullWidth()||this.beans.rowRenderer.redrawRow(this.rowNode);return}this.getAllCellCtrls().forEach(o=>o.refreshCell({suppressFlash:!t.update,newData:!t.update})),this.allRowGuis.forEach(o=>{this.setRowCompRowId(o.rowComp),this.updateRowBusinessKey(),this.setRowCompRowBusinessKey(o.rowComp)}),this.onRowSelected(),this.postProcessCss()}postProcessCss(){this.setStylesFromGridOptions(!0),this.postProcessClassesFromGridOptions(),this.postProcessRowClassRules(),this.postProcessRowDragging()}onRowNodeHighlightChanged(){let t=this.rowNode.highlighted;this.allRowGuis.forEach(i=>{let o=t===0,s=t===1;i.rowComp.addOrRemoveCssClass("ag-row-highlight-above",o),i.rowComp.addOrRemoveCssClass("ag-row-highlight-below",s)})}postProcessRowDragging(){let t=this.rowNode.dragging;this.allRowGuis.forEach(i=>i.rowComp.addOrRemoveCssClass("ag-row-dragging",t))}updateExpandedCss(){let t=this.rowNode.isExpandable(),i=this.rowNode.expanded==!0;this.allRowGuis.forEach(o=>{o.rowComp.addOrRemoveCssClass("ag-row-group",t),o.rowComp.addOrRemoveCssClass("ag-row-group-expanded",t&&i),o.rowComp.addOrRemoveCssClass("ag-row-group-contracted",t&&!i),no(o.element,t&&i)})}onDisplayedColumnsChanged(){this.updateColumnLists(!0),this.beans.columnModel.wasAutoRowHeightEverActive()&&this.rowNode.checkAutoHeights()}onVirtualColumnsChanged(){this.updateColumnLists(!1,!0)}getRowPosition(){return{rowPinned:dt(this.rowNode.rowPinned),rowIndex:this.rowNode.rowIndex}}findFullWidthRowGui(t){return this.allRowGuis.find(i=>i.element.contains(t))}onKeyboardNavigate(t){let i=this.findFullWidthRowGui(t.target);if(!((i?i.element:null)===t.target))return;let r=this.rowNode,n=this.beans.focusService.getFocusedCell(),a={rowIndex:r.rowIndex,rowPinned:r.rowPinned,column:n?.column??this.getColumnForFullWidth(i)};this.beans.navigationService.navigateToNextCell(t,t.key,a,!0),t.preventDefault()}onTabKeyDown(t){if(t.defaultPrevented||ut(t))return;let i=this.allRowGuis.find(l=>l.element.contains(t.target)),o=i?i.element:null,s=o===t.target,r=fe(this.gos),n=!1;o&&r&&(n=o.contains(r)&&r.classList.contains("ag-cell"));let a=null;!s&&!n&&(a=this.beans.focusService.findNextFocusableElement(o,!1,t.shiftKey)),(this.isFullWidth()&&s||!a)&&this.beans.navigationService.onTabKeyDown(this,t)}getFullWidthElement(){return this.fullWidthGui?this.fullWidthGui.element:null}getRowYPosition(){let t=this.allRowGuis.find(i=>rt(i.element))?.element;return t?t.getBoundingClientRect().top:0}onSuppressCellFocusChanged(t){let i=this.isFullWidth()&&t?void 0:-1;this.allRowGuis.forEach(o=>{je(o.element,"tabindex",i)})}onFullWidthRowFocused(t){let i=this.rowNode,o=t?this.isFullWidth()&&t.rowIndex===i.rowIndex&&t.rowPinned==i.rowPinned:!1,s=this.fullWidthGui?this.fullWidthGui.element:this.centerGui?.element;s&&(s.classList.toggle("ag-full-width-focus",o),o&&t?.forceBrowserFocus&&s.focus({preventScroll:!0}))}recreateCell(t){this.centerCellCtrls=this.removeCellCtrl(this.centerCellCtrls,t),this.leftCellCtrls=this.removeCellCtrl(this.leftCellCtrls,t),this.rightCellCtrls=this.removeCellCtrl(this.rightCellCtrls,t),t.destroy(),this.updateColumnLists()}removeCellCtrl(t,i){let o={list:[],map:{}};return t.list.forEach(s=>{s!==i&&(o.list.push(s),o.map[s.getColumn().getInstanceId()]=s)}),o}onMouseEvent(t,i){switch(t){case"dblclick":this.onRowDblClick(i);break;case"click":this.onRowClick(i);break;case"touchstart":case"mousedown":this.onRowMouseDown(i);break}}createRowEvent(t,i){return this.gos.addGridCommonParams({type:t,node:this.rowNode,data:this.rowNode.data,rowIndex:this.rowNode.rowIndex,rowPinned:this.rowNode.rowPinned,event:i})}createRowEventWithSource(t,i){let o=this.createRowEvent(t,i);return o.source=this,o}onRowDblClick(t){ut(t)||this.beans.eventService.dispatchEvent(this.createRowEventWithSource("rowDoubleClicked",t))}getColumnForFullWidth(t){let{visibleColsService:i}=this.beans;switch(t?.containerType){case"center":return i.getCenterCols()[0];case"left":return i.getLeftCols()[0];case"right":return i.getRightCols()[0];default:return i.getAllCols()[0]}}onRowMouseDown(t){if(this.lastMouseDownOnDragger=ei(t.target,"ag-row-drag",3),!this.isFullWidth())return;let i=this.rowNode;this.beans.rangeService&&this.beans.rangeService.removeAllCellRanges();let o=this.findFullWidthRowGui(t.target),s=o?.element,r=t.target,n=!0;s&&s.contains(r)&&Ms(r)&&(n=!1),this.beans.focusService.setFocusedCell({rowIndex:i.rowIndex,column:this.getColumnForFullWidth(o),rowPinned:i.rowPinned,forceBrowserFocus:n})}onRowClick(t){if(ut(t)||this.lastMouseDownOnDragger)return;let{gos:o}=this;this.beans.eventService.dispatchEvent(this.createRowEventWithSource("rowClicked",t));let s=t.ctrlKey||t.metaKey,r=t.shiftKey,n=this.rowNode.isSelected(),a=Dt(o),l=Ir(o),c=zl(o);if(a&&this.rowNode.group||this.isRowSelectionBlocked()||!c&&!n||!l&&n)return;let d=Bl(o),u="rowClicked";if(n)d?this.rowNode.setSelectedParams({newValue:!1,event:t,source:u}):s?l&&this.rowNode.setSelectedParams({newValue:!1,event:t,source:u}):c&&this.rowNode.setSelectedParams({newValue:!0,clearSelection:!r,rangeSelect:r,event:t,source:u});else{let h=d?!1:!s;this.rowNode.setSelectedParams({newValue:!0,clearSelection:h,rangeSelect:r,event:t,source:u})}}isRowSelectionBlocked(){return!this.rowNode.selectable||!!this.rowNode.rowPinned||!io(this.gos)}setupDetailRowAutoHeight(t){if(this.rowType!=="FullWidthDetail"||!this.gos.get("detailRowAutoHeight"))return;let i=()=>{let s=t.clientHeight;if(s!=null&&s>0){let r=()=>{this.rowNode.setRowHeight(s),(de(this.gos)||mt(this.gos))&&this.beans.rowModel.onRowHeightChanged()};window.setTimeout(r,0)}},o=this.beans.resizeObserverService.observeResize(t,i);this.addDestroyFunc(o),i()}createFullWidthCompDetails(t,i){let{gos:o,rowNode:s}=this,r=o.addGridCommonParams({fullWidth:!0,data:s.data,node:s,value:s.key,valueFormatted:s.key,eGridCell:t,eParentOfValue:t,pinned:i,addRenderedRowListener:this.addEventListener.bind(this),registerRowDragger:(a,l,c,d)=>this.addFullWidthRowDragging(a,l,c,d),setTooltip:(a,l)=>this.refreshRowTooltip(a,l)}),n=this.beans.userComponentFactory;switch(this.rowType){case"FullWidthDetail":return n.getFullWidthDetailCellRendererDetails(r);case"FullWidthGroup":return n.getFullWidthGroupCellRendererDetails(r);case"FullWidthLoading":return n.getFullWidthLoadingCellRendererDetails(r);default:return n.getFullWidthCellRendererDetails(r)}}refreshRowTooltip(t,i){if(!this.fullWidthGui)return;let o={getGui:()=>this.fullWidthGui.element,getTooltipValue:()=>t,getLocation:()=>"fullWidthRow",shouldDisplayTooltip:i};this.tooltipFeature&&this.destroyBean(this.tooltipFeature,this.beans.context),this.tooltipFeature=this.createBean(new ai(o,this.beans))}addFullWidthRowDragging(t,i,o="",s){if(!this.isFullWidth())return;let r=new us(()=>o,this.rowNode,void 0,t,i,s);this.createBean(r,this.beans.context),this.addDestroyFunc(()=>{this.destroyBean(r,this.beans.context)})}onUiLevelChanged(){let t=this.beans.rowCssClassCalculator.calculateRowLevel(this.rowNode);if(this.rowLevel!=t){let i="ag-row-level-"+t,o="ag-row-level-"+this.rowLevel;this.allRowGuis.forEach(s=>{s.rowComp.addOrRemoveCssClass(i,!0),s.rowComp.addOrRemoveCssClass(o,!1)})}this.rowLevel=t}isFirstRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBoundsService.getFirstRow()}isLastRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBoundsService.getLastRow()}refreshFirstAndLastRowStyles(){let t=this.isFirstRowOnPage(),i=this.isLastRowOnPage();this.firstRowOnPage!==t&&(this.firstRowOnPage=t,this.allRowGuis.forEach(o=>o.rowComp.addOrRemoveCssClass("ag-row-first",t))),this.lastRowOnPage!==i&&(this.lastRowOnPage=i,this.allRowGuis.forEach(o=>o.rowComp.addOrRemoveCssClass("ag-row-last",i)))}stopEditing(t=!1){this.stoppingRowEdit||this.beans.rowEditService?.stopEditing(this,t)}setInlineEditingCss(){let t=this.editingRow||this.getAllCellCtrls().some(i=>i.isEditing());this.allRowGuis.forEach(i=>{i.rowComp.addOrRemoveCssClass("ag-row-inline-editing",t),i.rowComp.addOrRemoveCssClass("ag-row-not-inline-editing",!t)})}setEditingRow(t){this.editingRow=t}startRowEditing(t=null,i=null,o=null){return this.editingRow?!0:this.beans.rowEditService?.startEditing(this,t,i,o)??!0}getAllCellCtrls(){return this.leftCellCtrls.list.length===0&&this.rightCellCtrls.list.length===0?this.centerCellCtrls.list:[...this.centerCellCtrls.list,...this.leftCellCtrls.list,...this.rightCellCtrls.list]}postProcessClassesFromGridOptions(){let t=this.beans.rowCssClassCalculator.processClassesFromGridOptions(this.rowNode);!t||!t.length||t.forEach(i=>{this.allRowGuis.forEach(o=>o.rowComp.addOrRemoveCssClass(i,!0))})}postProcessRowClassRules(){this.beans.rowCssClassCalculator.processRowClassRules(this.rowNode,t=>{this.allRowGuis.forEach(i=>i.rowComp.addOrRemoveCssClass(t,!0))},t=>{this.allRowGuis.forEach(i=>i.rowComp.addOrRemoveCssClass(t,!1))})}setStylesFromGridOptions(t,i){t&&(this.rowStyles=this.processStylesFromGridOptions()),this.forEachGui(i,o=>o.rowComp.setUserStyles(this.rowStyles))}getPinnedForContainer(t){return t==="left"||t==="right"?t:null}getInitialRowClasses(t){let i=this.getPinnedForContainer(t),o={rowNode:this.rowNode,rowFocused:this.rowFocused,fadeRowIn:this.fadeInAnimation[t],rowIsEven:this.rowNode.rowIndex%2===0,rowLevel:this.rowLevel,fullWidthRow:this.isFullWidth(),firstRowOnPage:this.isFirstRowOnPage(),lastRowOnPage:this.isLastRowOnPage(),printLayout:this.printLayout,expandable:this.rowNode.isExpandable(),pinned:i};return this.beans.rowCssClassCalculator.getInitialRowClasses(o)}processStylesFromGridOptions(){let t=this.gos.get("rowStyle");if(t&&typeof t=="function"){S("rowStyle should be an object of key/value styles, not be a function, use getRowStyle() instead");return}let i=this.gos.getCallback("getRowStyle"),o;if(i){let s={data:this.rowNode.data,node:this.rowNode,rowIndex:this.rowNode.rowIndex};o=i(s)}return o||t?Object.assign({},t,o):this.emptyStyle}onRowSelected(t){let i=!!this.rowNode.isSelected();this.forEachGui(t,o=>{o.rowComp.addOrRemoveCssClass("ag-row-selected",i),ao(o.element,i),o.element.contains(fe(this.gos))&&(o===this.centerGui||o===this.fullWidthGui)&&this.announceDescription()})}announceDescription(){if(this.isRowSelectionBlocked())return;let t=this.rowNode.isSelected();if(t&&!Ir(this.gos))return;let o=this.beans.localeService.getLocaleTextFunc()(t?"ariaRowDeselect":"ariaRowSelect",`Press SPACE to ${t?"deselect":"select"} this row.`);this.beans.ariaAnnouncementService.announceValue(o,"rowSelection")}addHoverFunctionality(t){if(!this.active)return;let{element:i,compBean:o}=t,{rowNode:s,beans:r,gos:n}=this;o.addManagedListeners(i,{mouseenter:()=>s.onMouseEnter(),mouseleave:()=>s.onMouseLeave()}),o.addManagedListeners(s,{mouseEnter:()=>{!r.dragService.isDragging()&&!n.get("suppressRowHoverHighlight")&&(i.classList.add("ag-row-hover"),s.setHovered(!0))},mouseLeave:()=>{i.classList.remove("ag-row-hover"),s.setHovered(!1)}})}roundRowTopToBounds(t){let i=this.beans.ctrlsService.getGridBodyCtrl().getScrollFeature().getApproximateVScollPosition(),o=this.applyPaginationOffset(i.top,!0)-100,s=this.applyPaginationOffset(i.bottom,!0)+100;return Math.min(Math.max(o,t),s)}getFrameworkOverrides(){return this.beans.frameworkOverrides}forEachGui(t,i){t?i(t):this.allRowGuis.forEach(i)}onRowHeightChanged(t){if(this.rowNode.rowHeight==null)return;let i=this.rowNode.rowHeight,o=this.beans.environment.getDefaultRowHeight(),r=ln(this.gos)?ht(this.gos,this.rowNode).height:void 0,n=r?`${Math.min(o,r)-2}px`:void 0;this.forEachGui(t,a=>{a.element.style.height=`${i}px`,n&&a.element.style.setProperty("--ag-line-height",n)})}addEventListener(t,i){super.addEventListener(t,i)}removeEventListener(t,i){super.removeEventListener(t,i)}destroyFirstPass(t=!1){if(this.active=!1,!t&&Wt(this.gos)&&!this.isSticky())if(this.rowNode.rowTop!=null){let s=this.roundRowTopToBounds(this.rowNode.rowTop);this.setRowTop(s)}else this.allRowGuis.forEach(s=>s.rowComp.addOrRemoveCssClass("ag-opacity-zero",!0));this.rowNode.setHovered(!1);let i=this.createRowEvent("virtualRowRemoved");this.dispatchLocalEvent(i),this.beans.eventService.dispatchEvent(i),super.destroy()}destroySecondPass(){this.allRowGuis.length=0,this.stopEditing();let t=i=>(i.list.forEach(o=>o.destroy()),{list:[],map:{}});this.centerCellCtrls=t(this.centerCellCtrls),this.leftCellCtrls=t(this.leftCellCtrls),this.rightCellCtrls=t(this.rightCellCtrls)}setFocusedClasses(t){this.forEachGui(t,i=>{i.rowComp.addOrRemoveCssClass("ag-row-focus",this.rowFocused),i.rowComp.addOrRemoveCssClass("ag-row-no-focus",!this.rowFocused)})}onCellFocusChanged(){let t=this.beans.focusService.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned);t!==this.rowFocused&&(this.rowFocused=t,this.setFocusedClasses()),!t&&this.editingRow&&this.stopEditing(!1)}onPaginationChanged(){let t=this.beans.paginationService?.getCurrentPage()??0;this.paginationPage!==t&&(this.paginationPage=t,this.onTopChanged()),this.refreshFirstAndLastRowStyles()}onTopChanged(){this.setRowTop(this.rowNode.rowTop)}onPaginationPixelOffsetChanged(){this.onTopChanged()}applyPaginationOffset(t,i=!1){if(this.rowNode.isRowPinned()||this.rowNode.sticky)return t;let o=this.beans.pageBoundsService.getPixelOffset();return t+o*(i?1:-1)}setRowTop(t){if(!this.printLayout&&M(t)){let i=this.applyPaginationOffset(t),r=`${this.rowNode.isRowPinned()||this.rowNode.sticky?i:this.beans.rowContainerHeightService.getRealPixelPosition(i)}px`;this.setRowTopStyle(r)}}getInitialRowTop(t){return this.suppressRowTransform?this.getInitialRowTopShared(t):void 0}getInitialTransform(t){return this.suppressRowTransform?void 0:`translateY(${this.getInitialRowTopShared(t)})`}getInitialRowTopShared(t){if(this.printLayout)return"";let i=this.rowNode,o;if(this.isSticky())o=i.stickyRowTop;else{let s=this.slideInAnimation[t]?this.roundRowTopToBounds(i.oldRowTop):i.rowTop,r=this.applyPaginationOffset(s);o=i.isRowPinned()?r:this.beans.rowContainerHeightService.getRealPixelPosition(r)}return o+"px"}setRowTopStyle(t){this.allRowGuis.forEach(i=>this.suppressRowTransform?i.rowComp.setTop(t):i.rowComp.setTransform(`translateY(${t})`))}getRowNode(){return this.rowNode}getCellCtrl(t){let i=null;return this.getAllCellCtrls().forEach(o=>{o.getColumn()==t&&(i=o)}),i!=null||this.getAllCellCtrls().forEach(o=>{o.getColSpanningList().indexOf(t)>=0&&(i=o)}),i}onRowIndexChanged(){this.rowNode.rowIndex!=null&&(this.onCellFocusChanged(),this.updateRowIndexes(),this.postProcessCss())}getRowIndex(){return this.rowNode.getRowIndexString()}updateRowIndexes(t){let i=this.rowNode.getRowIndexString();if(i===null)return;let o=this.beans.headerNavigationService.getHeaderRowCount()+(this.beans.filterManager?.getHeaderRowCount()??0),s=this.rowNode.rowIndex%2===0,r=o+this.rowNode.rowIndex+1;this.forEachGui(t,n=>{n.rowComp.setRowIndex(i),n.rowComp.addOrRemoveCssClass("ag-row-even",s),n.rowComp.addOrRemoveCssClass("ag-row-odd",!s),xc(n.element,r)})}setStoppingRowEdit(t){this.stoppingRowEdit=t}};La.DOM_DATA_KEY_ROW_CTRL="renderedRow";var Bt=La,Gh=class extends b{wireBeans(e){this.mouseEventService=e.mouseEventService,this.valueService=e.valueService,this.menuService=e.menuService,this.ctrlsService=e.ctrlsService,this.navigationService=e.navigationService,this.focusService=e.focusService,this.undoRedoService=e.undoRedoService,this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.rangeService=e.rangeService,this.clipboardService=e.clipboardService}constructor(e){super(),this.element=e}postConstruct(){this.addKeyboardListeners(),this.addMouseListeners(),this.mockContextMenuForIPad()}addKeyboardListeners(){let e="keydown",t=this.processKeyboardEvent.bind(this,e);this.addManagedElementListeners(this.element,{[e]:t})}addMouseListeners(){["dblclick","contextmenu","mouseover","mouseout","click",vn("touchstart")?"touchstart":"mousedown"].forEach(i=>{let o=this.processMouseEvent.bind(this,i);this.addManagedElementListeners(this.element,{[i]:o})})}processMouseEvent(e,t){if(!this.mouseEventService.isEventFromThisGrid(t)||ut(t))return;let i=this.getRowForEvent(t),o=this.mouseEventService.getRenderedCellForEvent(t);e==="contextmenu"?this.handleContextMenuMouseEvent(t,void 0,i,o):(o&&o.onMouseEvent(e,t),i&&i.onMouseEvent(e,t))}mockContextMenuForIPad(){if(!Tt())return;let e=new xt(this.element),t=i=>{let o=this.getRowForEvent(i.touchEvent),s=this.mouseEventService.getRenderedCellForEvent(i.touchEvent);this.handleContextMenuMouseEvent(void 0,i.touchEvent,o,s)};this.addManagedListeners(e,{longTap:t}),this.addDestroyFunc(()=>e.destroy())}getRowForEvent(e){let t=e.target;for(;t;){let i=Di(this.gos,t,Bt.DOM_DATA_KEY_ROW_CTRL);if(i)return i;t=t.parentElement}return null}handleContextMenuMouseEvent(e,t,i,o){let s=i?i.getRowNode():null,r=o?o.getColumn():null,n=null;if(r){let c=e||t;o.dispatchCellContextMenuEvent(c??null),n=this.valueService.getValue(r,s)}let a=this.ctrlsService.getGridBodyCtrl(),l=o?o.getGui():a.getGridBodyElement();this.menuService.showContextMenu({mouseEvent:e,touchEvent:t,rowNode:s,column:r,value:n,anchorToElement:l})}getControlsForEventTarget(e){return{cellCtrl:ss(this.gos,e,zt.DOM_DATA_KEY_CELL_CTRL),rowCtrl:ss(this.gos,e,Bt.DOM_DATA_KEY_ROW_CTRL)}}processKeyboardEvent(e,t){let{cellCtrl:i,rowCtrl:o}=this.getControlsForEventTarget(t.target);t.defaultPrevented||(i?this.processCellKeyboardEvent(i,e,t):o&&o.isFullWidth()&&this.processFullWidthRowKeyboardEvent(o,e,t))}processCellKeyboardEvent(e,t,i){let o=e.getRowNode(),s=e.getColumn(),r=e.isEditing();!hs(this.gos,i,o,s,r)&&t==="keydown"&&(!r&&this.navigationService.handlePageScrollingKey(i)||e.onKeyDown(i),this.doGridOperations(i,e.isEditing()),aa(i)&&e.processCharacter(i)),t==="keydown"&&this.eventService.dispatchEvent(e.createEvent(i,"cellKeyDown"))}processFullWidthRowKeyboardEvent(e,t,i){let o=e.getRowNode(),s=this.focusService.getFocusedCell(),r=s&&s.column;if(!hs(this.gos,i,o,r,!1)){let a=i.key;if(t==="keydown")switch(a){case y.PAGE_HOME:case y.PAGE_END:case y.PAGE_UP:case y.PAGE_DOWN:this.navigationService.handlePageScrollingKey(i,!0);break;case y.UP:case y.DOWN:e.onKeyboardNavigate(i);break;case y.TAB:e.onTabKeyDown(i);break;default:}}t==="keydown"&&this.eventService.dispatchEvent(e.createRowEvent("cellKeyDown",i))}doGridOperations(e,t){if(!e.ctrlKey&&!e.metaKey||t||!this.mouseEventService.isEventFromThisGrid(e))return;let i=Zd(e);if(i===y.A)return this.onCtrlAndA(e);if(i===y.C)return this.onCtrlAndC(e);if(i===y.D)return this.onCtrlAndD(e);if(i===y.V)return this.onCtrlAndV(e);if(i===y.X)return this.onCtrlAndX(e);if(i===y.Y)return this.onCtrlAndY();if(i===y.Z)return this.onCtrlAndZ(e)}onCtrlAndA(e){let{pinnedRowModel:t,rowModel:i,rangeService:o}=this;if(o&&i.isRowsToRender()){let[s,r]=[t.isEmpty("top"),t.isEmpty("bottom")],n=s?null:"top",a,l;r?(a=null,l=i.getRowCount()-1):(a="bottom",l=t.getPinnedBottomRowCount()-1);let c=this.visibleColsService.getAllCols();if(Ee(c))return;o.setCellRange({rowStartIndex:0,rowStartPinned:n,rowEndIndex:l,rowEndPinned:a,columnStart:c[0],columnEnd:$(c)})}e.preventDefault()}onCtrlAndC(e){if(!this.clipboardService||this.gos.get("enableCellTextSelection"))return;let{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);t?.isEditing()||i?.isEditing()||(e.preventDefault(),this.clipboardService.copyToClipboard())}onCtrlAndX(e){if(!this.clipboardService||this.gos.get("enableCellTextSelection")||this.gos.get("suppressCutToClipboard"))return;let{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);t?.isEditing()||i?.isEditing()||(e.preventDefault(),this.clipboardService.cutToClipboard(void 0,"ui"))}onCtrlAndV(e){let{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);t?.isEditing()||i?.isEditing()||this.clipboardService&&!this.gos.get("suppressClipboardPaste")&&this.clipboardService.pasteFromClipboard()}onCtrlAndD(e){this.clipboardService&&!this.gos.get("suppressClipboardPaste")&&this.clipboardService.copyRangeDown(),e.preventDefault()}onCtrlAndZ(e){!this.gos.get("undoRedoCellEditing")||!this.undoRedoService||(e.preventDefault(),e.shiftKey?this.undoRedoService.redo("ui"):this.undoRedoService.undo("ui"))}onCtrlAndY(){this.undoRedoService?.redo("ui")}},Nh=class extends b{wireBeans(e){this.pinnedWidthService=e.pinnedWidthService}constructor(e){super(),this.element=e}postConstruct(){this.addManagedEventListeners({leftPinnedWidthChanged:this.onPinnedLeftWidthChanged.bind(this)})}onPinnedLeftWidthChanged(){let e=this.pinnedWidthService.getPinnedLeftWidth(),t=e>0;pe(this.element,t),Je(this.element,e)}getWidth(){return this.pinnedWidthService.getPinnedLeftWidth()}},Hh=class extends b{wireBeans(e){this.pinnedWidthService=e.pinnedWidthService}constructor(e){super(),this.element=e}postConstruct(){this.addManagedEventListeners({rightPinnedWidthChanged:this.onPinnedRightWidthChanged.bind(this)})}onPinnedRightWidthChanged(){let e=this.pinnedWidthService.getPinnedRightWidth(),t=e>0;pe(this.element,t),Je(this.element,e)}getWidth(){return this.pinnedWidthService.getPinnedRightWidth()}},Ki=e=>e.getTopRowCtrls(),Yi=e=>e.getStickyTopRowCtrls(),$i=e=>e.getStickyBottomRowCtrls(),Qi=e=>e.getBottomRowCtrls(),qi=e=>e.getCentreRowCtrls(),zh={center:{type:"center",container:"ag-center-cols-container",viewport:"ag-center-cols-viewport",getRowCtrls:qi},left:{type:"left",container:"ag-pinned-left-cols-container",pinnedType:"left",getRowCtrls:qi},right:{type:"right",container:"ag-pinned-right-cols-container",pinnedType:"right",getRowCtrls:qi},fullWidth:{type:"fullWidth",container:"ag-full-width-container",fullWidth:!0,getRowCtrls:qi},topCenter:{type:"center",container:"ag-floating-top-container",viewport:"ag-floating-top-viewport",getRowCtrls:Ki},topLeft:{type:"left",container:"ag-pinned-left-floating-top",pinnedType:"left",getRowCtrls:Ki},topRight:{type:"right",container:"ag-pinned-right-floating-top",pinnedType:"right",getRowCtrls:Ki},topFullWidth:{type:"fullWidth",container:"ag-floating-top-full-width-container",fullWidth:!0,getRowCtrls:Ki},stickyTopCenter:{type:"center",container:"ag-sticky-top-container",viewport:"ag-sticky-top-viewport",getRowCtrls:Yi},stickyTopLeft:{type:"left",container:"ag-pinned-left-sticky-top",pinnedType:"left",getRowCtrls:Yi},stickyTopRight:{type:"right",container:"ag-pinned-right-sticky-top",pinnedType:"right",getRowCtrls:Yi},stickyTopFullWidth:{type:"fullWidth",container:"ag-sticky-top-full-width-container",fullWidth:!0,getRowCtrls:Yi},stickyBottomCenter:{type:"center",container:"ag-sticky-bottom-container",viewport:"ag-sticky-bottom-viewport",getRowCtrls:$i},stickyBottomLeft:{type:"left",container:"ag-pinned-left-sticky-bottom",pinnedType:"left",getRowCtrls:$i},stickyBottomRight:{type:"right",container:"ag-pinned-right-sticky-bottom",pinnedType:"right",getRowCtrls:$i},stickyBottomFullWidth:{type:"fullWidth",container:"ag-sticky-bottom-full-width-container",fullWidth:!0,getRowCtrls:$i},bottomCenter:{type:"center",container:"ag-floating-bottom-container",viewport:"ag-floating-bottom-viewport",getRowCtrls:Qi},bottomLeft:{type:"left",container:"ag-pinned-left-floating-bottom",pinnedType:"left",getRowCtrls:Qi},bottomRight:{type:"right",container:"ag-pinned-right-floating-bottom",pinnedType:"right",getRowCtrls:Qi},bottomFullWidth:{type:"fullWidth",container:"ag-floating-bottom-full-width-container",fullWidth:!0,getRowCtrls:Qi}};function Gt(e){return zh[e]}var Bh=["topCenter","topLeft","topRight"],Vh=["bottomCenter","bottomLeft","bottomRight"],Wh=["center","left","right"],Uh=["center","left","right","fullWidth"],_h=["stickyTopCenter","stickyBottomCenter","center","topCenter","bottomCenter"],jh=["left","bottomLeft","topLeft","stickyTopLeft","stickyBottomLeft"],Kh=["right","bottomRight","topRight","stickyTopRight","stickyBottomRight"],Oa=["stickyTopCenter","stickyTopLeft","stickyTopRight"],Ga=["stickyBottomCenter","stickyBottomLeft","stickyBottomRight"],Yh=[...Oa,"stickyTopFullWidth",...Ga,"stickyBottomFullWidth"],$h=[...Bh,...Vh,...Wh,...Oa,...Ga],Na=class extends b{constructor(e){super(),this.visible=!0,this.EMPTY_CTRLS=[],this.name=e,this.options=Gt(e)}wireBeans(e){this.dragService=e.dragService,this.ctrlsService=e.ctrlsService,this.columnViewportService=e.columnViewportService,this.resizeObserverService=e.resizeObserverService,this.rowRenderer=e.rowRenderer}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.forContainers(["center"],()=>{this.viewportSizeFeature=this.createManagedBean(new lh(this)),this.addManagedEventListeners({stickyTopOffsetChanged:this.onStickyTopOffsetChanged.bind(this)})})}onStickyTopOffsetChanged(e){this.comp.setOffsetTop(`${e.offset}px`)}registerWithCtrlsService(){this.options.fullWidth||this.ctrlsService.register(this.name,this)}forContainers(e,t){e.indexOf(this.name)>=0&&t()}getContainerElement(){return this.eContainer}getViewportSizeFeature(){return this.viewportSizeFeature}setComp(e,t,i){this.comp=e,this.eContainer=t,this.eViewport=i,this.createManagedBean(new Gh(this.eContainer)),this.addPreventScrollWhileDragging(),this.listenOnDomOrder();let o=()=>this.onPinnedWidthChanged();this.forContainers(jh,()=>{this.pinnedWidthFeature=this.createManagedBean(new Nh(this.eContainer)),this.addManagedEventListeners({leftPinnedWidthChanged:o})}),this.forContainers(Kh,()=>{this.pinnedWidthFeature=this.createManagedBean(new Hh(this.eContainer)),this.addManagedEventListeners({rightPinnedWidthChanged:o})}),this.forContainers(Uh,()=>this.createManagedBean(new Aa(this.eContainer,this.name==="center"?i:void 0))),this.forContainers($h,()=>this.createManagedBean(new ch(this.eContainer))),this.forContainers(_h,()=>this.createManagedBean(new Ks(s=>this.comp.setContainerWidth(`${s}px`)))),this.visible=this.isContainerVisible(),this.addListeners(),this.registerWithCtrlsService()}onScrollCallback(e){this.addManagedElementListeners(this.getViewportElement(),{scroll:e})}addListeners(){this.addManagedEventListeners({displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this),displayedRowsChanged:e=>this.onDisplayedRowsChanged(e.afterScroll)}),this.onDisplayedColumnsChanged(),this.onDisplayedColumnsWidthChanged(),this.onDisplayedRowsChanged()}listenOnDomOrder(){if(Yh.indexOf(this.name)>=0){this.comp.setDomOrder(!0);return}let t=()=>{let i=this.gos.get("ensureDomOrder"),o=Re(this.gos,"print");this.comp.setDomOrder(i||o)};this.addManagedPropertyListener("domLayout",t),t()}onDisplayedColumnsChanged(){this.forContainers(["center"],()=>this.onHorizontalViewportChanged())}onDisplayedColumnsWidthChanged(){this.forContainers(["center"],()=>this.onHorizontalViewportChanged())}addPreventScrollWhileDragging(){let e=t=>{this.dragService.isDragging()&&t.cancelable&&t.preventDefault()};this.eContainer.addEventListener("touchmove",e,{passive:!1}),this.addDestroyFunc(()=>this.eContainer.removeEventListener("touchmove",e))}onHorizontalViewportChanged(e=!1){let t=this.getCenterWidth(),i=this.getCenterViewportScrollLeft();this.columnViewportService.setScrollPosition(t,i,e)}hasHorizontalScrollGap(){return this.eContainer.clientWidth-this.eViewport.clientWidth<0}hasVerticalScrollGap(){return this.eContainer.clientHeight-this.eViewport.clientHeight<0}getCenterWidth(){return Gi(this.eViewport)}getCenterViewportScrollLeft(){return co(this.eViewport,this.enableRtl)}registerViewportResizeListener(e){let t=this.resizeObserverService.observeResize(this.eViewport,e);this.addDestroyFunc(()=>t())}isViewportInTheDOMTree(){return Nn(this.eViewport)}getViewportScrollLeft(){return co(this.eViewport,this.enableRtl)}isHorizontalScrollShowing(){return this.gos.get("alwaysShowHorizontalScroll")||Tc(this.eViewport)}getViewportElement(){return this.eViewport}setHorizontalScroll(e){this.comp.setHorizontalScroll(e)}getHScrollPosition(){return{left:this.eViewport.scrollLeft,right:this.eViewport.scrollLeft+this.eViewport.offsetWidth}}setCenterViewportScrollLeft(e){uo(this.eViewport,e,this.enableRtl)}isContainerVisible(){return!(this.options.pinnedType!=null)||!!this.pinnedWidthFeature&&this.pinnedWidthFeature.getWidth()>0}onPinnedWidthChanged(){let e=this.isContainerVisible();this.visible!=e&&(this.visible=e,this.onDisplayedRowsChanged())}onDisplayedRowsChanged(e=!1){let t=this.options.getRowCtrls(this.rowRenderer);if(!this.visible||t.length===0){this.comp.setRowCtrls({rowCtrls:this.EMPTY_CTRLS});return}let i=Re(this.gos,"print"),s=this.gos.get("embedFullWidthRows")||i,r=t.filter(n=>{let a=n.isFullWidth();return this.options.fullWidth?!s&&a:s||!a});this.comp.setRowCtrls({rowCtrls:r,useFlushSync:e})}},Qh="ag-force-vertical-scroll",qh="ag-selectable",Jh="ag-column-moving",Ha=class extends b{constructor(){super(...arguments),this.stickyTopHeight=0,this.stickyBottomHeight=0}wireBeans(e){this.animationFrameService=e.animationFrameService,this.rowContainerHeightService=e.rowContainerHeightService,this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.scrollVisibleService=e.scrollVisibleService,this.menuService=e.menuService,this.headerNavigationService=e.headerNavigationService,this.dragAndDropService=e.dragAndDropService,this.pinnedRowModel=e.pinnedRowModel,this.rowRenderer=e.rowRenderer,this.popupService=e.popupService,this.mouseEventService=e.mouseEventService,this.rowModel=e.rowModel,this.filterManager=e.filterManager,this.environment=e.environment}getScrollFeature(){return this.bodyScrollFeature}getBodyViewportElement(){return this.eBodyViewport}setComp(e,t,i,o,s,r,n){this.comp=e,this.eGridBody=t,this.eBodyViewport=i,this.eTop=o,this.eBottom=s,this.eStickyTop=r,this.eStickyBottom=n,this.eCenterColsViewport=i.querySelector(`.${Gt("center").viewport}`),this.eFullWidthContainer=i.querySelector(`.${Gt("fullWidth").container}`),this.eStickyTopFullWidthContainer=r.querySelector(`.${Gt("stickyTopFullWidth").container}`),this.eStickyBottomFullWidthContainer=n.querySelector(`.${Gt("stickyBottomFullWidth").container}`),this.setCellTextSelection(this.gos.get("enableCellTextSelection")),this.addManagedPropertyListener("enableCellTextSelection",a=>this.setCellTextSelection(a.currentValue)),this.createManagedBean(new $s(this.comp)),this.bodyScrollFeature=this.createManagedBean(new ah(this.eBodyViewport)),this.addRowDragListener(),this.setupRowAnimationCssClass(),this.addEventListeners(),this.addFocusListeners([o,i,s,r,n]),this.onGridColumnsChanged(),this.addBodyViewportListener(),this.setFloatingHeights(),this.disableBrowserDragging(),this.addStopEditingWhenGridLosesFocus(),this.updateScrollingClasses(),this.filterManager?.setupAdvancedFilterHeaderComp(o),this.ctrlsService.register("gridBodyCtrl",this)}getComp(){return this.comp}addEventListeners(){let e=this.setFloatingHeights.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this),scrollGapChanged:this.onScrollGapChanged.bind(this),pinnedRowDataChanged:e,pinnedHeightChanged:e,headerHeightChanged:this.onHeaderHeightChanged.bind(this)})}addFocusListeners(e){e.forEach(t=>{this.addManagedElementListeners(t,{focusin:i=>{let{target:o}=i,s=ei(o,"ag-root",t);t.classList.toggle("ag-has-focus",!s)},focusout:i=>{let{target:o,relatedTarget:s}=i,r=t.contains(s),n=ei(s,"ag-root",t);ei(o,"ag-root",t)||(!r||n)&&t.classList.remove("ag-has-focus")}})})}setColumnMovingCss(e){this.comp.setColumnMovingCss(Jh,e)}setCellTextSelection(e=!1){this.comp.setCellSelectableCss(qh,e)}onScrollVisibilityChanged(){let e=this.scrollVisibleService.isVerticalScrollShowing();this.setVerticalScrollPaddingVisible(e),this.setStickyWidth(e),this.setStickyBottomOffsetBottom();let t=e&&this.scrollVisibleService.getScrollbarWidth()||0,i=Wn()?16:0,o=`calc(100% + ${t+i}px)`;this.animationFrameService.requestAnimationFrame(()=>this.comp.setBodyViewportWidth(o)),this.updateScrollingClasses()}onScrollGapChanged(){this.updateScrollingClasses()}updateScrollingClasses(){this.eGridBody.classList.toggle("ag-body-vertical-content-no-gap",!this.scrollVisibleService.hasVerticalScrollGap()),this.eGridBody.classList.toggle("ag-body-horizontal-content-no-gap",!this.scrollVisibleService.hasHorizontalScrollGap())}onGridColumnsChanged(){let e=this.columnModel.getCols();this.comp.setColumnCount(e.length)}disableBrowserDragging(){this.addManagedElementListeners(this.eGridBody,{dragstart:e=>{if(e.target instanceof HTMLImageElement)return e.preventDefault(),!1}})}addStopEditingWhenGridLosesFocus(){if(!this.gos.get("stopEditingWhenCellsLoseFocus"))return;let e=i=>{let o=i.relatedTarget;if(cs(o)===null){this.rowRenderer.stopEditing();return}let s=t.some(r=>r.contains(o))&&this.mouseEventService.isElementInThisGrid(o);if(!s){let r=this.popupService;s=r.getActivePopups().some(n=>n.contains(o))||r.isElementWithinCustomPopup(o)}s||this.rowRenderer.stopEditing()},t=[this.eBodyViewport,this.eBottom,this.eTop,this.eStickyTop,this.eStickyBottom];t.forEach(i=>this.addManagedElementListeners(i,{focusout:e}))}updateRowCount(){let e=this.headerNavigationService.getHeaderRowCount()+(this.filterManager?.getHeaderRowCount()??0),t=this.rowModel.isLastRowIndexKnown()?this.rowModel.getRowCount():-1,i=t===-1?-1:e+t;this.comp.setRowCount(i)}registerBodyViewportResizeListener(e){this.comp.registerBodyViewportResizeListener(e)}setVerticalScrollPaddingVisible(e){let t=e?"scroll":"hidden";this.comp.setPinnedTopBottomOverflowY(t)}isVerticalScrollShowing(){let e=this.gos.get("alwaysShowVerticalScroll"),t=e?Qh:null,i=Re(this.gos,"normal");return this.comp.setAlwaysVerticalScrollClass(t,e),e||i&&Ac(this.eBodyViewport)}setupRowAnimationCssClass(){let e=this.environment.hasMeasuredSizes(),t=()=>{let i=e&&Wt(this.gos)&&!this.rowContainerHeightService.isStretching(),o=i?"ag-row-animation":"ag-row-no-animation";this.comp.setRowAnimationCssOnBodyViewport(o,i)};t(),this.addManagedEventListeners({heightScaleChanged:t}),this.addManagedPropertyListener("animateRows",t),this.addManagedEventListeners({gridStylesChanged:()=>{!e&&this.environment.hasMeasuredSizes()&&(e=!0,t())}})}getGridBodyElement(){return this.eGridBody}addBodyViewportListener(){let e=this.onBodyViewportContextMenu.bind(this);this.addManagedElementListeners(this.eBodyViewport,{contextmenu:e}),this.mockContextMenuForIPad(e),this.addManagedElementListeners(this.eBodyViewport,{wheel:this.onBodyViewportWheel.bind(this)}),this.addManagedElementListeners(this.eStickyTop,{wheel:this.onStickyWheel.bind(this)}),this.addManagedElementListeners(this.eStickyBottom,{wheel:this.onStickyWheel.bind(this)}),this.addFullWidthContainerWheelListener()}addFullWidthContainerWheelListener(){this.addManagedElementListeners(this.eFullWidthContainer,{wheel:e=>this.onFullWidthContainerWheel(e)})}onFullWidthContainerWheel(e){let{deltaX:t,deltaY:i,shiftKey:o}=e;(o||Math.abs(t)>Math.abs(i))&&this.mouseEventService.isEventFromThisGrid(e)&&this.scrollGridBodyToMatchEvent(e)}onStickyWheel(e){let{deltaX:t,deltaY:i,shiftKey:o}=e,s=o||Math.abs(t)>Math.abs(i),r=e.target;s?(this.eStickyTopFullWidthContainer.contains(r)||this.eStickyBottomFullWidthContainer.contains(r))&&this.scrollGridBodyToMatchEvent(e):(e.preventDefault(),this.scrollVertically(i))}scrollGridBodyToMatchEvent(e){let{deltaX:t,deltaY:i}=e;e.preventDefault(),this.eCenterColsViewport.scrollBy({left:t||i})}onBodyViewportContextMenu(e,t,i){if(!e&&!i)return;this.gos.get("preventDefaultOnContextMenu")&&(e||i).preventDefault();let{target:o}=e||t;(o===this.eBodyViewport||o===this.ctrlsService.get("center").getViewportElement())&&this.menuService.showContextMenu({mouseEvent:e,touchEvent:i,value:null,anchorToElement:this.eGridBody})}mockContextMenuForIPad(e){if(!Tt())return;let t=new xt(this.eBodyViewport),i=o=>{e(void 0,o.touchStart,o.touchEvent)};this.addManagedListeners(t,{longTap:i}),this.addDestroyFunc(()=>t.destroy())}onBodyViewportWheel(e){this.gos.get("suppressScrollWhenPopupsAreOpen")&&this.popupService.hasAnchoredPopup()&&e.preventDefault()}getGui(){return this.eGridBody}scrollVertically(e){let t=this.eBodyViewport.scrollTop;return this.bodyScrollFeature.setVerticalScrollPosition(t+e),this.eBodyViewport.scrollTop-t}addRowDragListener(){this.rowDragFeature=this.createManagedBean(new kd(this.eBodyViewport)),this.dragAndDropService.addDropTarget(this.rowDragFeature),this.addDestroyFunc(()=>this.dragAndDropService.removeDropTarget(this.rowDragFeature))}getRowDragFeature(){return this.rowDragFeature}setFloatingHeights(){let{pinnedRowModel:e}=this,t=e.getPinnedTopTotalHeight(),i=e.getPinnedBottomTotalHeight();this.comp.setTopHeight(t),this.comp.setBottomHeight(i),this.comp.setTopDisplay(t?"inherit":"none"),this.comp.setBottomDisplay(i?"inherit":"none"),this.setStickyTopOffsetTop(),this.setStickyBottomOffsetBottom()}setStickyTopHeight(e=0){this.comp.setStickyTopHeight(`${e}px`),this.stickyTopHeight=e}getStickyTopHeight(){return this.stickyTopHeight}setStickyBottomHeight(e=0){this.comp.setStickyBottomHeight(`${e}px`),this.stickyBottomHeight=e}getStickyBottomHeight(){return this.stickyBottomHeight}setStickyWidth(e){if(!e)this.comp.setStickyTopWidth("100%"),this.comp.setStickyBottomWidth("100%");else{let t=this.scrollVisibleService.getScrollbarWidth();this.comp.setStickyTopWidth(`calc(100% - ${t}px)`),this.comp.setStickyBottomWidth(`calc(100% - ${t}px)`)}}onHeaderHeightChanged(){this.setStickyTopOffsetTop()}setStickyTopOffsetTop(){let t=this.ctrlsService.get("gridHeaderCtrl").getHeaderHeight()+(this.filterManager?.getHeaderHeight()??0),i=this.pinnedRowModel.getPinnedTopTotalHeight(),o=0;t>0&&(o+=t),i>0&&(o+=i),o>0&&(o+=1),this.comp.setStickyTopTop(`${o}px`)}setStickyBottomOffsetBottom(){let e=this.pinnedRowModel.getPinnedBottomTotalHeight(),i=this.scrollVisibleService.isHorizontalScrollShowing()&&this.scrollVisibleService.getScrollbarWidth()||0,o=e+i;this.comp.setStickyBottomBottom(`${o}px`)}sizeColumnsToFit(e,t){let o=this.isVerticalScrollShowing()?this.scrollVisibleService.getScrollbarWidth():0,r=Gi(this.eGridBody)-o;if(r>0){this.columnSizeService.sizeColumnsToFit(r,"sizeColumnsToFit",!1,e);return}t===void 0?window.setTimeout(()=>{this.sizeColumnsToFit(e,100)},0):t===100?window.setTimeout(()=>{this.sizeColumnsToFit(e,500)},100):t===500?window.setTimeout(()=>{this.sizeColumnsToFit(e,-1)},500):S("tried to call sizeColumnsToFit() but the grid is coming back with zero width, maybe the grid is not visible yet on the screen?")}addScrollEventListener(e){this.eBodyViewport.addEventListener("scroll",e,{passive:!0})}removeScrollEventListener(e){this.eBodyViewport.removeEventListener("scroll",e)}};function vi(e){return e.map(t=>`<ag-row-container name="${t}"></ag-row-container>`).join("")}var Bw=`<div class="ag-root ag-unselectable" role="treegrid">
|
|
104
|
+
</div>`,[Ns]),this.eCheckbox=z}postConstruct(){this.eCheckbox.setPassive(!0)}getCheckboxId(){return this.eCheckbox.getInputElement().id}onDataChanged(){this.onSelectionChanged()}onSelectableChanged(){this.showOrHideSelect()}onSelectionChanged(){let e=this.localeService.getLocaleTextFunc(),t=this.rowNode.isSelected(),i=Ms(e,t),[o,s]=this.rowNode.selectable?["ariaRowToggleSelection","Press Space to toggle row selection"]:["ariaRowSelectionDisabled","Row Selection is disabled for this row"],r=e(o,s);this.eCheckbox.setValue(t,!0),this.eCheckbox.setInputAriaLabel(`${r} (${i})`)}onClicked(e,t,i){return this.rowNode.setSelectedParams({newValue:e,rangeSelect:i.shiftKey,groupSelectsFiltered:t,event:i,source:"checkboxSelected"})}init(e){if(this.rowNode=e.rowNode,this.column=e.column,this.overrides=e.overrides,this.onSelectionChanged(),this.addManagedListeners(this.eCheckbox.getInputElement(),{dblclick:o=>oi(o),click:o=>{oi(o);let s=Rs(this.gos)==="filteredDescendants",r=this.eCheckbox.getValue();this.shouldHandleIndeterminateState(r,s)?this.onClicked(!0,s,o||{})===0&&this.onClicked(!1,s,o):r?this.onClicked(!1,s,o):this.onClicked(!0,s,o||{})}}),this.addManagedListeners(this.rowNode,{rowSelected:this.onSelectionChanged.bind(this),dataChanged:this.onDataChanged.bind(this),selectableChanged:this.onSelectableChanged.bind(this)}),Ss(this.gos)||typeof this.getIsVisible()=="function"){let o=this.showOrHideSelect.bind(this);this.addManagedEventListeners({displayedColumnsChanged:o}),this.addManagedListeners(this.rowNode,{dataChanged:o,cellChanged:o}),this.showOrHideSelect()}this.eCheckbox.getInputElement().setAttribute("tabindex","-1")}shouldHandleIndeterminateState(e,t){return t&&(this.eCheckbox.getPreviousValue()===void 0||e===void 0)&&de(this.gos)}showOrHideSelect(){let e=this.rowNode.selectable,t=this.getIsVisible();if(e)if(typeof t=="function"){let s=this.overrides?.callbackParams;if(!this.column)e=t({...s,node:this.rowNode,data:this.rowNode.data});else{let r=this.column.createColumnFunctionCallbackParams(this.rowNode);e=t({...s,...r})}}else e=t??!1;let i=this.gos.get("rowSelection");if(i&&typeof i!="string"?!Gl(i):this.column?.getColDef().showDisabledCheckboxes){this.eCheckbox.setDisabled(!e),this.setVisible(!0),this.setDisplayed(!0);return}if(this.overrides?.removeHidden){this.setDisplayed(e);return}this.setVisible(e)}getIsVisible(){if(this.overrides)return this.overrides.isVisible;let e=this.gos.get("rowSelection");return e&&typeof e!="string"?ii(e):this.column?.getColDef()?.checkboxSelection}},gh=class extends ce{constructor(e,t,i){super('<div class="ag-drag-handle ag-row-drag" draggable="true"></div>'),this.rowNode=e,this.column=t,this.eCell=i}postConstruct(){this.getGui().appendChild(ze("rowDrag",this.gos,null)),this.addGuiEventListener("mousedown",t=>{t.stopPropagation()}),this.addDragSource(),this.checkVisibility()}addDragSource(){this.addGuiEventListener("dragstart",this.onDragStart.bind(this))}onDragStart(e){let t=this.column.getColDef().dndSourceOnRowDrag;e.dataTransfer.setDragImage(this.eCell,0,0);let i=()=>{try{let o=JSON.stringify(this.rowNode.data);e.dataTransfer.setData("application/json",o),e.dataTransfer.setData("text/plain",o)}catch{}};if(t){let o=this.gos.addGridCommonParams({rowNode:this.rowNode,dragEvent:e});t(o)}else i()}checkVisibility(){let e=this.column.isDndSource(this.rowNode);this.setDisplayed(e)}},ph=class extends b{constructor(e,t){super(),this.staticClasses=[],this.cellCtrl=e,this.beans=t,this.column=e.getColumn(),this.rowNode=e.getRowNode()}setComp(e){this.cellComp=e,this.applyUserStyles(),this.applyCellClassRules(),this.applyClassesFromColDef()}applyCellClassRules(){let e=this.column.getColDef(),{cellClassRules:t}=e,i=this.beans.gos.addGridCommonParams({value:this.cellCtrl.getValue(),data:this.rowNode.data,node:this.rowNode,colDef:e,column:this.column,rowIndex:this.rowNode.rowIndex});this.beans.stylingService.processClassRules(t===this.cellClassRules?void 0:this.cellClassRules,t,i,o=>this.cellComp.addOrRemoveCssClass(o,!0),o=>this.cellComp.addOrRemoveCssClass(o,!1)),this.cellClassRules=t}applyUserStyles(){let e=this.column.getColDef();if(!e.cellStyle)return;let t;if(typeof e.cellStyle=="function"){let i=this.beans.gos.addGridCommonParams({column:this.column,value:this.cellCtrl.getValue(),colDef:e,data:this.rowNode.data,node:this.rowNode,rowIndex:this.rowNode.rowIndex}),o=e.cellStyle;t=o(i)}else t=e.cellStyle;t&&this.cellComp.setUserStyles(t)}applyClassesFromColDef(){let e=this.column.getColDef(),t=this.beans.gos.addGridCommonParams({value:this.cellCtrl.getValue(),data:this.rowNode.data,node:this.rowNode,column:this.column,colDef:e,rowIndex:this.rowNode.rowIndex});this.staticClasses.length&&this.staticClasses.forEach(i=>this.cellComp.addOrRemoveCssClass(i,!1)),this.staticClasses=this.beans.stylingService.getStaticCellClasses(e,t),this.staticClasses.length&&this.staticClasses.forEach(i=>this.cellComp.addOrRemoveCssClass(i,!0))}destroy(){super.destroy()}},fh=class extends b{constructor(e,t,i,o,s){super(),this.cellCtrl=e,this.beans=t,this.rowNode=o,this.rowCtrl=s}setComp(e){this.eGui=e}onKeyDown(e){let t=e.key;switch(t){case y.ENTER:this.onEnterKeyDown(e);break;case y.F2:this.onF2KeyDown(e);break;case y.ESCAPE:this.onEscapeKeyDown(e);break;case y.TAB:this.onTabKeyDown(e);break;case y.BACKSPACE:case y.DELETE:this.onBackspaceOrDeleteKeyDown(t,e);break;case y.DOWN:case y.UP:case y.RIGHT:case y.LEFT:this.onNavigationKeyDown(e,t);break}}onNavigationKeyDown(e,t){this.cellCtrl.isEditing()||(e.shiftKey&&this.cellCtrl.isRangeSelectionEnabled()?this.onShiftRangeSelect(e):this.beans.navigationService.navigateToNextCell(e,t,this.cellCtrl.getCellPosition(),!0),e.preventDefault())}onShiftRangeSelect(e){if(!this.beans.rangeService)return;let t=this.beans.rangeService.extendLatestRangeInDirection(e);t&&this.beans.navigationService.ensureCellVisible(t)}onTabKeyDown(e){this.beans.navigationService.onTabKeyDown(this.cellCtrl,e)}onBackspaceOrDeleteKeyDown(e,t){let{cellCtrl:i,beans:o,rowNode:s}=this,{gos:r,rangeService:n,eventService:a}=o;if(!i.isEditing()){if(a.dispatchEvent({type:"keyShortcutChangedCellStart"}),iu(e,r.get("enableCellEditingOnBackspace"))){if(n&>(r))n.clearCellRangeCellValues({dispatchWrapperEvents:!0,wrapperEventSource:"deleteKey"});else if(i.isCellEditable()){let l=i.getColumn(),c=this.beans.valueService.getDeleteValue(l,s);s.setDataValue(l,c,"cellClear")}}else i.startRowOrCellEdit(e,t);a.dispatchEvent({type:"keyShortcutChangedCellEnd"})}}onEnterKeyDown(e){if(this.cellCtrl.isEditing()||this.rowCtrl.isEditing())this.cellCtrl.stopEditingAndFocus(!1,e.shiftKey);else if(this.beans.gos.get("enterNavigatesVertically")){let t=e.shiftKey?y.UP:y.DOWN;this.beans.navigationService.navigateToNextCell(null,t,this.cellCtrl.getCellPosition(),!1)}else this.cellCtrl.startRowOrCellEdit(y.ENTER,e),this.cellCtrl.isEditing()&&e.preventDefault()}onF2KeyDown(e){this.cellCtrl.isEditing()||this.cellCtrl.startRowOrCellEdit(y.F2,e)}onEscapeKeyDown(e){this.cellCtrl.isEditing()&&(this.cellCtrl.stopRowOrCellEdit(!0),this.cellCtrl.focusCell(!0))}processCharacter(e){if(e.target!==this.eGui||this.cellCtrl.isEditing())return;let o=e.key;o===" "?this.onSpaceKeyDown(e):this.cellCtrl.startRowOrCellEdit(o,e)&&e.preventDefault()}onSpaceKeyDown(e){let{gos:t}=this.beans;if(!this.cellCtrl.isEditing()&&oo(t)){let i=this.rowNode.isSelected(),o=!i,s=Rs(t)==="filteredDescendants",r=this.rowNode.setSelectedParams({newValue:o,rangeSelect:e.shiftKey,groupSelectsFiltered:s,event:e,source:"spaceKey"});i===void 0&&r===0&&this.rowNode.setSelectedParams({newValue:!1,rangeSelect:e.shiftKey,groupSelectsFiltered:s,event:e,source:"spaceKey"})}e.preventDefault()}destroy(){super.destroy()}},mh=class extends b{constructor(e,t,i){super(),this.cellCtrl=e,this.beans=t,this.column=i}onMouseEvent(e,t){if(!ut(t))switch(e){case"click":this.onCellClicked(t);break;case"mousedown":case"touchstart":this.onMouseDown(t);break;case"dblclick":this.onCellDoubleClicked(t);break;case"mouseout":this.onMouseOut(t);break;case"mouseover":this.onMouseOver(t);break}}onCellClicked(e){if(this.isDoubleClickOnIPad()){this.onCellDoubleClicked(e),e.preventDefault();return}let{eventService:t,rangeService:i,gos:o}=this.beans,s=e.ctrlKey||e.metaKey;i&&s&&i.getCellRangeCount(this.cellCtrl.getCellPosition())>1&&i.intersectLastRange(!0);let r=this.cellCtrl.createEvent(e,"cellClicked");t.dispatchEvent(r);let n=this.column.getColDef();n.onCellClicked&&window.setTimeout(()=>{this.beans.frameworkOverrides.wrapOutgoing(()=>{n.onCellClicked(r)})},0),(o.get("singleClickEdit")||n.singleClickEdit)&&!o.get("suppressClickEdit")&&!(e.shiftKey&&i?.getCellRanges().length!=0)&&this.cellCtrl.startRowOrCellEdit()}isDoubleClickOnIPad(){if(!Tt()||wn("dblclick"))return!1;let e=new Date().getTime(),t=e-this.lastIPadMouseClickEvent<200;return this.lastIPadMouseClickEvent=e,t}onCellDoubleClicked(e){let{column:t,beans:i,cellCtrl:o}=this,{eventService:s,frameworkOverrides:r,gos:n}=i,a=t.getColDef(),l=o.createEvent(e,"cellDoubleClicked");s.dispatchEvent(l),typeof a.onCellDoubleClicked=="function"&&window.setTimeout(()=>{r.wrapOutgoing(()=>{a.onCellDoubleClicked(l)})},0),!n.get("singleClickEdit")&&!n.get("suppressClickEdit")&&o.startRowOrCellEdit(null,e)}onMouseDown(e){let{ctrlKey:t,metaKey:i,shiftKey:o}=e,s=e.target,{cellCtrl:r,beans:n}=this,{eventService:a,rangeService:l,focusService:c,gos:d}=n;if(this.isRightClickInExistingRange(e))return;let u=l&&l.getCellRanges().length!=0;if(!o||!u){let g=d.get("enableCellTextSelection")&&e.defaultPrevented,f=(ft()||g)&&!r.isEditing()&&!Ps(s);r.focusCell(f)}if(o&&u&&!c.isCellFocused(r.getCellPosition())){e.preventDefault();let h=c.getFocusedCell();if(h){let{column:g,rowIndex:f,rowPinned:m}=h,v=n.rowRenderer.getRowByPosition({rowIndex:f,rowPinned:m})?.getCellCtrl(g);v?.isEditing()&&v.stopEditing(),c.setFocusedCell({column:g,rowIndex:f,rowPinned:m,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}}if(!this.containsWidget(s)){if(l){let h=this.cellCtrl.getCellPosition();if(o)l.extendLatestRangeToCell(h);else{let g=t||i;l.setRangeToCell(h,g)}}a.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseDown"))}}isRightClickInExistingRange(e){let{rangeService:t}=this.beans;if(t){let i=t.isCellInAnyRange(this.cellCtrl.getCellPosition()),o=e.button===2||e.ctrlKey&&this.beans.gos.get("allowContextMenuWithControlKey");if(i&&o)return!0}return!1}containsWidget(e){return ei(e,"ag-selection-checkbox",3)}onMouseOut(e){this.mouseStayingInsideCell(e)||(this.beans.eventService.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseOut")),this.beans.columnHoverService.clearMouseOver())}onMouseOver(e){this.mouseStayingInsideCell(e)||(this.beans.eventService.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseOver")),this.beans.columnHoverService.setMouseOver([this.column]))}mouseStayingInsideCell(e){if(!e.target||!e.relatedTarget)return!1;let t=this.cellCtrl.getGui(),i=t.contains(e.target),o=t.contains(e.relatedTarget);return i&&o}destroy(){super.destroy()}},vh=class extends b{constructor(e,t){super(),this.cellCtrl=e,this.beans=t,this.column=e.getColumn(),this.rowNode=e.getRowNode()}setupRowSpan(){this.rowSpan=this.column.getRowSpan(this.rowNode),this.addManagedListeners(this.beans.eventService,{newColumnsLoaded:()=>this.onNewColumnsLoaded()})}setComp(e){this.eGui=e,this.setupColSpan(),this.setupRowSpan(),this.onLeftChanged(),this.onWidthChanged(),this.applyRowSpan()}onNewColumnsLoaded(){let e=this.column.getRowSpan(this.rowNode);this.rowSpan!==e&&(this.rowSpan=e,this.applyRowSpan(!0))}onDisplayColumnsChanged(){let e=this.getColSpanningList();Pt(this.colsSpanning,e)||(this.colsSpanning=e,this.onWidthChanged(),this.onLeftChanged())}setupColSpan(){this.column.getColDef().colSpan!=null&&(this.colsSpanning=this.getColSpanningList(),this.addManagedListeners(this.beans.eventService,{displayedColumnsChanged:this.onDisplayColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onWidthChanged.bind(this)}))}onWidthChanged(){if(!this.eGui)return;let e=this.getCellWidth();this.eGui.style.width=`${e}px`}getCellWidth(){return this.colsSpanning?this.colsSpanning.reduce((e,t)=>e+t.getActualWidth(),0):this.column.getActualWidth()}getColSpanningList(){let e=this.column.getColSpan(this.rowNode),t=[];if(e===1)t.push(this.column);else{let i=this.column,o=this.column.getPinned();for(let s=0;i&&s<e&&(t.push(i),i=this.beans.visibleColsService.getColAfter(i),!(!i||K(i)||o!==i.getPinned()));s++);}return t}onLeftChanged(){if(!this.eGui)return;let e=this.modifyLeftForPrintLayout(this.getCellLeft());this.eGui.style.left=e+"px"}getCellLeft(){let e;return this.beans.gos.get("enableRtl")&&this.colsSpanning?e=$(this.colsSpanning):e=this.column,e.getLeft()}modifyLeftForPrintLayout(e){if(!this.cellCtrl.isPrintLayout()||this.column.getPinned()==="left")return e;let t=this.beans.visibleColsService.getColsLeftWidth();if(this.column.getPinned()==="right"){let i=this.beans.visibleColsService.getBodyContainerWidth();return t+i+(e||0)}return t+(e||0)}applyRowSpan(e){if(this.rowSpan===1&&!e)return;let i=mo(this.beans.gos)*this.rowSpan;this.eGui.style.height=`${i}px`,this.eGui.style.zIndex="1"}destroy(){super.destroy()}};var mi="ag-cell-range-selected",Ch="ag-cell-range-chart",wh="ag-cell-range-single-cell",yh="ag-cell-range-chart-category",bh="ag-cell-range-handle",Sh="ag-cell-range-top",Rh="ag-cell-range-right",Fh="ag-cell-range-bottom",xh="ag-cell-range-left",Dh=class{constructor(e,t){this.beans=e,this.rangeService=e.rangeService,this.selectionHandleFactory=e.selectionHandleFactory,this.cellCtrl=t}setComp(e,t){this.cellComp=e,this.eGui=t,this.onCellSelectionChanged()}onCellSelectionChanged(){this.cellComp&&(this.rangeCount=this.rangeService.getCellRangeCount(this.cellCtrl.getCellPosition()),this.hasChartRange=this.getHasChartRange(),this.cellComp.addOrRemoveCssClass(mi,this.rangeCount!==0),this.cellComp.addOrRemoveCssClass(`${mi}-1`,this.rangeCount===1),this.cellComp.addOrRemoveCssClass(`${mi}-2`,this.rangeCount===2),this.cellComp.addOrRemoveCssClass(`${mi}-3`,this.rangeCount===3),this.cellComp.addOrRemoveCssClass(`${mi}-4`,this.rangeCount>=4),this.cellComp.addOrRemoveCssClass(Ch,this.hasChartRange),lo(this.eGui,this.rangeCount>0?!0:void 0),this.cellComp.addOrRemoveCssClass(wh,this.isSingleCell()),this.updateRangeBorders(),this.refreshHandle())}updateRangeBorders(){let e=this.getRangeBorders(),t=this.isSingleCell(),i=!t&&e.top,o=!t&&e.right,s=!t&&e.bottom,r=!t&&e.left;this.cellComp.addOrRemoveCssClass(Sh,i),this.cellComp.addOrRemoveCssClass(Rh,o),this.cellComp.addOrRemoveCssClass(Fh,s),this.cellComp.addOrRemoveCssClass(xh,r)}isSingleCell(){let{rangeService:e}=this.beans;return this.rangeCount===1&&!!e&&!e.isMoreThanOneCell()}getHasChartRange(){let{rangeService:e}=this.beans;if(!this.rangeCount||!e)return!1;let t=e.getCellRanges();return t.length>0&&t.every(i=>Ht([1,0],i.type))}updateRangeBordersIfRangeCount(){this.rangeCount>0&&(this.updateRangeBorders(),this.refreshHandle())}getRangeBorders(){let e=this.beans.gos.get("enableRtl"),t=!1,i=!1,o=!1,s=!1,r=this.cellCtrl.getCellPosition().column,n=this.beans.visibleColsService,a,l;e?(a=n.getColAfter(r),l=n.getColBefore(r)):(a=n.getColBefore(r),l=n.getColAfter(r));let c=this.rangeService.getCellRanges().filter(d=>this.rangeService.isCellInSpecificRange(this.cellCtrl.getCellPosition(),d));a||(s=!0),l||(i=!0);for(let d=0;d<c.length&&!(t&&i&&o&&s);d++){let u=c[d],h=this.rangeService.getRangeStartRow(u),g=this.rangeService.getRangeEndRow(u);!t&&this.beans.rowPositionUtils.sameRow(h,this.cellCtrl.getCellPosition())&&(t=!0),!o&&this.beans.rowPositionUtils.sameRow(g,this.cellCtrl.getCellPosition())&&(o=!0),!s&&a&&u.columns.indexOf(a)<0&&(s=!0),!i&&l&&u.columns.indexOf(l)<0&&(i=!0)}return{top:t,right:i,bottom:o,left:s}}refreshHandle(){if(this.beans.context.isDestroyed())return;let e=this.shouldHaveSelectionHandle();this.selectionHandle&&!e&&(this.selectionHandle=this.beans.context.destroyBean(this.selectionHandle)),e&&this.addSelectionHandle(),this.cellComp.addOrRemoveCssClass(bh,!!this.selectionHandle)}shouldHaveSelectionHandle(){let e=this.beans.gos,t=this.rangeService.getCellRanges(),i=t.length;if(this.rangeCount<1||i<1)return!1;let o=$(t),s=this.cellCtrl.getCellPosition(),r=Lr(e)&&!this.cellCtrl.isSuppressFillHandle(),n=Bl(e),a=i===1&&!this.cellCtrl.isEditing()&&(r||n);if(this.hasChartRange){let c=t[0].type===1&&this.rangeService.isCellInSpecificRange(s,t[0]);this.cellComp.addOrRemoveCssClass(yh,c),a=o.type===0}return a&&o.endRow!=null&&this.rangeService.isContiguousRange(o)&&this.rangeService.isBottomRightCell(o,s)}addSelectionHandle(){let e=$(this.rangeService.getCellRanges()).type,i=Lr(this.beans.gos)&&K(e)?0:1;this.selectionHandle&&this.selectionHandle.getType()!==i&&(this.selectionHandle=this.beans.context.destroyBean(this.selectionHandle)),this.selectionHandle||(this.selectionHandle=this.selectionHandleFactory.createSelectionHandle(i)),this.selectionHandle.refresh(this.cellCtrl)}destroy(){this.beans.context.destroyBean(this.selectionHandle)}},Eh="ag-cell",Mh="ag-cell-auto-height",Ph="ag-cell-normal-height",Th="ag-cell-focus",Ah="ag-cell-first-right-pinned",kh="ag-cell-last-left-pinned",Ih="ag-cell-not-inline-editing",Lh="ag-column-hover",Oh="ag-cell-wrap-text",Gh=0,Oa=class vs extends b{constructor(t,i,o,s){super(),this.column=t,this.rowNode=i,this.beans=o,this.rowCtrl=s,this.cellRangeFeature=void 0,this.cellPositionFeature=void 0,this.cellCustomStyleFeature=void 0,this.tooltipFeature=void 0,this.cellMouseListenerFeature=void 0,this.cellKeyboardListenerFeature=void 0,this.suppressRefreshCell=!1,this.onCellCompAttachedFuncs=[],this.onCellEditorAttachedFuncs=[],this.instanceId=t.getId()+"-"+Gh++,this.colIdSanitised=qe(this.column.getId()),this.createCellPosition(),this.updateAndFormatValue(!1)}shouldRestoreFocus(){return this.beans.focusService.shouldRestoreFocus(this.cellPosition)}onFocusOut(){this.beans.focusService.clearRestoreFocus()}addFeatures(){this.cellPositionFeature=new vh(this,this.beans),this.cellCustomStyleFeature=new ph(this,this.beans),this.cellMouseListenerFeature=new mh(this,this.beans,this.column),this.cellKeyboardListenerFeature=new fh(this,this.beans,this.column,this.rowNode,this.rowCtrl),this.column.isTooltipEnabled()&&this.enableTooltipFeature(),this.beans.rangeService&>(this.beans.gos)&&(this.cellRangeFeature=new Dh(this.beans,this))}removeFeatures(){let t=this.beans.context;this.cellPositionFeature=t.destroyBean(this.cellPositionFeature),this.cellCustomStyleFeature=t.destroyBean(this.cellCustomStyleFeature),this.cellMouseListenerFeature=t.destroyBean(this.cellMouseListenerFeature),this.cellKeyboardListenerFeature=t.destroyBean(this.cellKeyboardListenerFeature),this.cellRangeFeature=t.destroyBean(this.cellRangeFeature),this.disableTooltipFeature()}enableTooltipFeature(t,i){let o=()=>{let n=this.column.getColDef(),a=this.rowNode.data;if(n.tooltipField&&M(a))return bi(a,n.tooltipField,this.column.isTooltipFieldContainsDots());let l=n.tooltipValueGetter;return l?l(this.beans.gos.addGridCommonParams({location:"cell",colDef:this.column.getColDef(),column:this.column,rowIndex:this.cellPosition.rowIndex,node:this.rowNode,data:this.rowNode.data,value:this.value,valueFormatted:this.valueFormatted})):null},s=this.beans.gos.get("tooltipShowMode")==="whenTruncated";!i&&s&&!this.isCellRenderer()&&(i=()=>{let n=this.getGui(),a=n.children.length===0?n:n.querySelector(".ag-cell-value");return a?a.scrollWidth>a.clientWidth:!0});let r={getColumn:()=>this.column,getColDef:()=>this.column.getColDef(),getRowIndex:()=>this.cellPosition.rowIndex,getRowNode:()=>this.rowNode,getGui:()=>this.getGui(),getLocation:()=>"cell",getTooltipValue:t!=null?()=>t:o,getValueFormatted:()=>this.valueFormatted,shouldDisplayTooltip:i};this.tooltipFeature=new ai(r,this.beans)}disableTooltipFeature(){this.tooltipFeature=this.beans.context.destroyBean(this.tooltipFeature)}setComp(t,i,o,s,r,n){this.cellComp=t,this.eGui=i,this.printLayout=s,n??(n=this),this.addDomData(n),this.addFeatures(),n.addDestroyFunc(()=>this.removeFeatures()),this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.onCellFocused(this.focusEventToRestore),this.applyStaticCssClasses(),this.setWrapText(),this.onFirstRightPinnedChanged(),this.onLastLeftPinnedChanged(),this.onColumnHover(),this.setupControlComps(),this.setupAutoHeight(o,n),this.refreshFirstAndLastStyles(),this.refreshAriaColIndex(),this.cellPositionFeature?.setComp(i),this.cellCustomStyleFeature?.setComp(t),this.tooltipFeature?.refreshToolTip(),this.cellKeyboardListenerFeature?.setComp(this.eGui),this.cellRangeFeature&&this.cellRangeFeature.setComp(t,i),r&&this.isCellEditable()?this.startEditing():this.showValue(),this.onCellCompAttachedFuncs.length&&(this.onCellCompAttachedFuncs.forEach(a=>a()),this.onCellCompAttachedFuncs=[])}setupAutoHeight(t,i){if(this.isAutoHeight=this.column.isAutoHeight(),!this.isAutoHeight||!t)return;let o=t.parentElement,s=ht(this.beans.gos,this.rowNode).height,r=l=>{if(this.editing||!this.isAlive()||!i.isAlive())return;let{paddingTop:c,paddingBottom:d,borderBottomWidth:u,borderTopWidth:h}=_t(o),g=c+d+u+h,m=t.offsetHeight+g;if(l<5){let v=ve(this.beans.gos),w=!v||!v.contains(t),C=m==0;if(w||C){window.setTimeout(()=>r(l+1),0);return}}let p=Math.max(m,s);this.rowNode.setRowAutoHeight(p,this.column)},n=()=>r(0);n();let a=this.beans.resizeObserverService.observeResize(t,n);i.addDestroyFunc(()=>{a(),this.rowNode.setRowAutoHeight(void 0,this.column)})}getCellAriaRole(){return this.column.getColDef().cellAriaRole??"gridcell"}isCellRenderer(){let t=this.column.getColDef();return t.cellRenderer!=null||t.cellRendererSelector!=null}getValueToDisplay(){return this.valueFormatted??this.value}showValue(t=!1){let{beans:i,column:o,rowNode:s,cellRangeFeature:r,cellComp:n}=this,{userComponentFactory:a,animationFrameService:l}=i,c=this.getValueToDisplay(),d;if(s.stub&&s.groupData?.[this.column.getId()]==null){let h=this.createCellRendererParams();d=a.getLoadingCellRendererDetails(o.getColDef(),h)}else if(this.isCellRenderer()){let h=this.createCellRendererParams();d=a.getCellRendererDetails(o.getColDef(),h)}n.setRenderDetails(d,c,t),l.requestAnimationFrame(()=>r?.refreshHandle())}setupControlComps(){let t=this.column.getColDef();this.includeSelection=this.isIncludeControl(this.isCheckboxSelection(t)),this.includeRowDrag=this.isIncludeControl(t.rowDrag),this.includeDndSource=this.isIncludeControl(t.dndSource),this.cellComp.setIncludeSelection(this.includeSelection),this.cellComp.setIncludeDndSource(this.includeDndSource),this.cellComp.setIncludeRowDrag(this.includeRowDrag)}isForceWrapper(){return this.beans.gos.get("enableCellTextSelection")||this.column.isAutoHeight()}isIncludeControl(t){return this.rowNode.rowPinned!=null?!1:typeof t=="function"||t===!0}isCheckboxSelection(t){let{rowSelection:i}=this.beans.gridOptions;return t.checkboxSelection||Pi(this.column)&&i&&typeof i!="string"&&ii(i)}refreshShouldDestroy(){let t=this.column.getColDef(),i=this.includeSelection!=this.isIncludeControl(this.isCheckboxSelection(t)),o=this.includeRowDrag!=this.isIncludeControl(t.rowDrag),s=this.includeDndSource!=this.isIncludeControl(t.dndSource),r=this.isAutoHeight!=this.column.isAutoHeight();return i||o||s||r}startEditing(t=null,i=!1,o=null){let{editService:s}=this.beans;return!this.isCellEditable()||this.editing||!s?!0:this.cellComp?s.startEditing(this,t,i,o):(this.onCellCompAttachedFuncs.push(()=>{this.startEditing(t,i,o)}),!0)}setEditing(t,i){this.editCompDetails=i,this.editing!==t&&(this.editing=t)}stopRowOrCellEdit(t=!1){this.beans.gos.get("editType")==="fullRow"?this.rowCtrl.stopEditing(t):this.stopEditing(t)}onPopupEditorClosed(){this.editing&&this.stopEditingAndFocus()}stopEditing(t=!1){this.onCellEditorAttachedFuncs=[];let{editService:i}=this.beans;return!this.editing||!i?!1:i.stopEditing(this,t)}createCellRendererParams(){return this.beans.gos.addGridCommonParams({value:this.value,valueFormatted:this.valueFormatted,getValue:()=>this.beans.valueService.getValueForDisplay(this.column,this.rowNode),setValue:i=>this.beans.valueService.setValue(this.rowNode,this.column,i),formatValue:this.formatValue.bind(this),data:this.rowNode.data,node:this.rowNode,pinned:this.column.getPinned(),colDef:this.column.getColDef(),column:this.column,refreshCell:this.refreshCell.bind(this),eGridCell:this.getGui(),eParentOfValue:this.cellComp.getParentOfValue(),registerRowDragger:(i,o,s,r)=>this.registerRowDragger(i,o,r),setTooltip:(i,o)=>{this.tooltipFeature&&this.disableTooltipFeature(),this.enableTooltipFeature(i,o),this.tooltipFeature?.refreshToolTip()}})}setFocusOutOnEditor(){this.editing&&this.beans.editService?.setFocusOutOnEditor(this)}setFocusInOnEditor(){this.editing&&this.beans.editService?.setFocusInOnEditor(this)}onCellChanged(t){t.column===this.column&&this.refreshCell({})}refreshOrDestroyCell(t){this.refreshShouldDestroy()?this.rowCtrl?.recreateCell(this):this.refreshCell(t)}refreshCell(t){if(this.suppressRefreshCell||this.editing)return;let i=this.column.getColDef(),o=t!=null&&!!t.newData,s=t!=null&&!!t.suppressFlash||!!i.suppressCellFlash,r=i.field==null&&i.valueGetter==null&&i.showRowGroup==null,n=t&&t.forceRefresh||r||o,a=!!this.cellComp,l=this.updateAndFormatValue(a),c=n||l;if(a){if(c){this.showValue(o);let d=this.beans.filterManager?.isSuppressFlashingCellsBecauseFiltering();!s&&!d&&(this.beans.gos.get("enableCellChangeFlash")||i.enableCellChangeFlash)&&this.flashCell(),this.cellCustomStyleFeature?.applyUserStyles(),this.cellCustomStyleFeature?.applyClassesFromColDef()}this.tooltipFeature?.refreshToolTip(),this.cellCustomStyleFeature?.applyCellClassRules()}}stopEditingAndFocus(t=!1,i=!1){this.beans.editService?.stopEditingAndFocus(this,t,i)}flashCell(t){let i=t?.flashDuration??t?.flashDelay,o=t?.fadeDuration??t?.fadeDelay;this.animateCell("data-changed",i,o)}animateCell(t,i,o){if(!this.cellComp)return;let{gos:s}=this.beans;if(i||(i=s.get("cellFlashDuration")),i===0)return;M(o)||(o=s.get("cellFadeDuration"));let r=`ag-cell-${t}`,n=`ag-cell-${t}-animation`;this.cellComp.addOrRemoveCssClass(r,!0),this.cellComp.addOrRemoveCssClass(n,!1),this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{this.isAlive()&&(this.cellComp.addOrRemoveCssClass(r,!1),this.cellComp.addOrRemoveCssClass(n,!0),this.eGui.style.transition=`background-color ${o}ms`,window.setTimeout(()=>{this.isAlive()&&(this.cellComp.addOrRemoveCssClass(n,!1),this.eGui.style.transition="")},o))},i)})}onFlashCells(t){if(!this.cellComp)return;let i=this.beans.cellPositionUtils.createId(this.getCellPosition());t.cells[i]&&this.animateCell("highlight")}isCellEditable(){return this.column.isCellEditable(this.rowNode)}isSuppressFillHandle(){return this.column.isSuppressFillHandle()}formatValue(t){return this.callValueFormatter(t)??t}callValueFormatter(t){return this.beans.valueService.formatValue(this.column,this.rowNode,t)}updateAndFormatValue(t){let i=this.value,o=this.valueFormatted;return this.value=this.beans.valueService.getValueForDisplay(this.column,this.rowNode),this.valueFormatted=this.callValueFormatter(this.value),t?!this.valuesAreEqual(i,this.value)||this.valueFormatted!=o:!0}valuesAreEqual(t,i){let o=this.column.getColDef();return o.equals?o.equals(t,i):t===i}getComp(){return this.cellComp}getValue(){return this.value}addDomData(t){let i=this.getGui();Vt(this.beans.gos,i,vs.DOM_DATA_KEY_CELL_CTRL,this),t.addDestroyFunc(()=>Vt(this.beans.gos,i,vs.DOM_DATA_KEY_CELL_CTRL,null))}createEvent(t,i){return this.beans.gos.addGridCommonParams({type:i,node:this.rowNode,data:this.rowNode.data,value:this.value,column:this.column,colDef:this.column.getColDef(),rowPinned:this.rowNode.rowPinned,event:t,rowIndex:this.rowNode.rowIndex})}processCharacter(t){this.cellKeyboardListenerFeature?.processCharacter(t)}onKeyDown(t){this.cellKeyboardListenerFeature?.onKeyDown(t)}onMouseEvent(t,i){this.cellMouseListenerFeature?.onMouseEvent(t,i)}getGui(){return this.eGui}getColSpanningList(){return this.cellPositionFeature.getColSpanningList()}onLeftChanged(){this.cellComp&&this.cellPositionFeature?.onLeftChanged()}onDisplayedColumnsChanged(){this.eGui&&(this.refreshAriaColIndex(),this.refreshFirstAndLastStyles())}refreshFirstAndLastStyles(){let{cellComp:t,column:i,beans:o}=this;ya(t,i,o.visibleColsService)}refreshAriaColIndex(){let t=this.beans.visibleColsService.getAriaColIndex(this.column);In(this.getGui(),t)}isSuppressNavigable(){return this.column.isSuppressNavigable(this.rowNode)}onWidthChanged(){return this.cellPositionFeature?.onWidthChanged()}getColumn(){return this.column}getRowNode(){return this.rowNode}isPrintLayout(){return this.printLayout}getCellPosition(){return this.cellPosition}isEditing(){return this.editing}startRowOrCellEdit(t,i=null){return this.cellComp?this.beans.gos.get("editType")==="fullRow"?this.rowCtrl.startRowEditing(t,this):this.startEditing(t,!0,i):(this.onCellCompAttachedFuncs.push(()=>{this.startRowOrCellEdit(t,i)}),!0)}getRowCtrl(){return this.rowCtrl}getRowPosition(){return{rowIndex:this.cellPosition.rowIndex,rowPinned:this.cellPosition.rowPinned}}updateRangeBordersIfRangeCount(){this.cellComp&&this.cellRangeFeature&&this.cellRangeFeature.updateRangeBordersIfRangeCount()}onCellSelectionChanged(){this.cellComp&&this.cellRangeFeature&&this.cellRangeFeature.onCellSelectionChanged()}isRangeSelectionEnabled(){return this.cellRangeFeature!=null}focusCell(t=!1){this.beans.focusService.setFocusedCell({rowIndex:this.getCellPosition().rowIndex,column:this.column,rowPinned:this.rowNode.rowPinned,forceBrowserFocus:t})}onRowIndexChanged(){this.createCellPosition(),this.onCellFocused(),this.cellRangeFeature&&this.cellRangeFeature.onCellSelectionChanged()}onSuppressCellFocusChanged(t){this.eGui&&je(this.eGui,"tabindex",t?void 0:-1)}onFirstRightPinnedChanged(){if(!this.cellComp)return;let t=this.column.isFirstRightPinned();this.cellComp.addOrRemoveCssClass(Ah,t)}onLastLeftPinnedChanged(){if(!this.cellComp)return;let t=this.column.isLastLeftPinned();this.cellComp.addOrRemoveCssClass(kh,t)}onCellFocused(t){if(this.beans.focusService.isCellFocusSuppressed())return;let i=this.beans.focusService.isCellFocused(this.cellPosition);if(!this.cellComp){i&&t?.forceBrowserFocus&&(this.focusEventToRestore=t);return}if(this.focusEventToRestore=void 0,this.cellComp.addOrRemoveCssClass(Th,i),i&&t&&t.forceBrowserFocus){let s=this.cellComp.getFocusableElement();if(this.editing){let r=this.beans.focusService.findFocusableElements(s,null,!0);r.length&&(s=r[0])}s.focus({preventScroll:!!t.preventScrollOnBrowserFocus})}let o=this.beans.gos.get("editType")==="fullRow";!i&&!o&&this.editing&&this.stopRowOrCellEdit(),i&&this.rowCtrl.announceDescription()}createCellPosition(){this.cellPosition={rowIndex:this.rowNode.rowIndex,rowPinned:dt(this.rowNode.rowPinned),column:this.column}}applyStaticCssClasses(){this.cellComp.addOrRemoveCssClass(Eh,!0),this.cellComp.addOrRemoveCssClass(Ih,!0);let t=this.column.isAutoHeight()==!0;this.cellComp.addOrRemoveCssClass(Mh,t),this.cellComp.addOrRemoveCssClass(Ph,!t)}onColumnHover(){if(!this.cellComp||!this.beans.gos.get("columnHoverHighlight"))return;let t=this.beans.columnHoverService.isHovered(this.column);this.cellComp.addOrRemoveCssClass(Lh,t)}onColDefChanged(){if(!this.cellComp)return;this.column.isTooltipEnabled()?(this.disableTooltipFeature(),this.enableTooltipFeature()):this.disableTooltipFeature(),this.setWrapText(),this.editing?this.beans.editService?.handleColDefChanged(this):this.refreshOrDestroyCell({forceRefresh:!0,suppressFlash:!0})}setWrapText(){let t=this.column.getColDef().wrapText==!0;this.cellComp.addOrRemoveCssClass(Oh,t)}dispatchCellContextMenuEvent(t){let i=this.column.getColDef(),o=this.createEvent(t,"cellContextMenu");this.beans.eventService.dispatchEvent(o),i.onCellContextMenu&&window.setTimeout(()=>{this.beans.frameworkOverrides.wrapOutgoing(()=>{i.onCellContextMenu(o)})},0)}getCellRenderer(){return this.cellComp?this.cellComp.getCellRenderer():null}getCellEditor(){return this.cellComp?this.cellComp.getCellEditor():null}destroy(){this.onCellCompAttachedFuncs=[],this.onCellEditorAttachedFuncs=[],super.destroy()}createSelectionCheckbox(){let t=new hh;return this.beans.context.createBean(t),t.init({rowNode:this.rowNode,column:this.column}),t}createDndSource(){let t=new gh(this.rowNode,this.column,this.eGui);return this.beans.context.createBean(t),t}registerRowDragger(t,i,o){if(this.customRowDragComp){this.customRowDragComp.setDragElement(t,i);return}let s=this.createRowDragComp(t,i,o);s&&(this.customRowDragComp=s,this.addDestroyFunc(()=>{this.beans.context.destroyBean(s),this.customRowDragComp=null}))}createRowDragComp(t,i,o){let s=this.beans.gos.get("pagination"),r=this.beans.gos.get("rowDragManaged"),n=de(this.beans.gos);if(r){if(!n){S("managed row dragging is only allowed in the Client Side Row Model");return}if(s){S("managed row dragging is not possible when doing pagination");return}}let a=new hs(()=>this.value,this.rowNode,this.column,t,i,o);return this.beans.context.createBean(a),a}setSuppressRefreshCell(t){this.suppressRefreshCell=t}getEditCompDetails(){return this.editCompDetails}onCellEditorAttached(t){this.onCellEditorAttachedFuncs.push(t)}cellEditorAttached(){this.onCellEditorAttachedFuncs.forEach(t=>t()),this.onCellEditorAttachedFuncs=[]}};Oa.DOM_DATA_KEY_CELL_CTRL="cellCtrl";var zt=Oa,Nh=0,Ga=class Cs extends b{constructor(t,i,o,s,r){super(),this.allRowGuis=[],this.active=!0,this.centerCellCtrls={list:[],map:{}},this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}},this.slideInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.fadeInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.rowDragComps=[],this.lastMouseDownOnDragger=!1,this.emptyStyle={},this.updateColumnListsPending=!1,this.rowId=null,this.businessKeySanitised=null,this.beans=i,this.gos=i.gos,this.rowNode=t,this.paginationPage=i.paginationService?.getCurrentPage()??0,this.useAnimationFrameForCreate=s,this.printLayout=r,this.suppressRowTransform=this.gos.get("suppressRowTransform"),this.instanceId=t.id+"-"+Nh++,this.rowId=qe(t.id),this.initRowBusinessKey(),this.rowFocused=i.focusService.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned),this.rowLevel=i.rowCssClassCalculator.calculateRowLevel(this.rowNode),this.setRowType(),this.setAnimateFlags(o),this.rowStyles=this.processStylesFromGridOptions(),this.addListeners()}initRowBusinessKey(){this.businessKeyForNodeFunc=this.gos.get("getBusinessKeyForNode"),this.updateRowBusinessKey()}updateRowBusinessKey(){if(typeof this.businessKeyForNodeFunc!="function")return;let t=this.businessKeyForNodeFunc(this.rowNode);this.businessKeySanitised=qe(t)}getRowId(){return this.rowId}getRowStyles(){return this.rowStyles}isSticky(){return this.rowNode.sticky}updateGui(t,i){t==="left"?this.leftGui=i:t==="right"?this.rightGui=i:t==="fullWidth"?this.fullWidthGui=i:this.centerGui=i}setComp(t,i,o,s){s=Oi(this,this.beans.context,s);let r={rowComp:t,element:i,containerType:o,compBean:s};this.allRowGuis.push(r),this.updateGui(o,r),this.initialiseRowComp(r),this.rowType!=="FullWidthLoading"&&!this.rowNode.rowPinned&&this.beans.rowRenderer.dispatchFirstDataRenderedEvent()}unsetComp(t){this.allRowGuis=this.allRowGuis.filter(i=>i.containerType!==t),this.updateGui(t,void 0)}isCacheable(){return this.rowType==="FullWidthDetail"&&this.gos.get("keepDetailRows")}setCached(t){let i=t?"none":"";this.allRowGuis.forEach(o=>o.element.style.display=i)}initialiseRowComp(t){let i=this.gos;this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.listenOnDomOrder(t),this.beans.columnModel.wasAutoRowHeightEverActive()&&this.rowNode.checkAutoHeights(),this.onRowHeightChanged(t),this.updateRowIndexes(t),this.setFocusedClasses(t),this.setStylesFromGridOptions(!1,t),oo(i)&&this.rowNode.selectable&&this.onRowSelected(t),this.updateColumnLists(!this.useAnimationFrameForCreate);let o=t.rowComp;this.getInitialRowClasses(t.containerType).forEach(r=>o.addOrRemoveCssClass(r,!0)),this.executeSlideAndFadeAnimations(t),this.rowNode.group&&ao(t.element,this.rowNode.expanded==!0),this.setRowCompRowId(o),this.setRowCompRowBusinessKey(o),Vt(i,t.element,Cs.DOM_DATA_KEY_ROW_CTRL,this),t.compBean.addDestroyFunc(()=>Vt(i,t.element,Cs.DOM_DATA_KEY_ROW_CTRL,null)),this.useAnimationFrameForCreate?this.beans.animationFrameService.createTask(this.addHoverFunctionality.bind(this,t),this.rowNode.rowIndex,"createTasksP2"):this.addHoverFunctionality(t),this.isFullWidth()&&this.setupFullWidth(t),i.get("rowDragEntireRow")&&this.addRowDraggerToRow(t),this.useAnimationFrameForCreate&&this.beans.animationFrameService.addDestroyTask(()=>{this.isAlive()&&t.rowComp.addOrRemoveCssClass("ag-after-created",!0)}),this.executeProcessRowPostCreateFunc()}setRowCompRowBusinessKey(t){this.businessKeySanitised!=null&&t.setRowBusinessKey(this.businessKeySanitised)}getBusinessKey(){return this.businessKeySanitised}setRowCompRowId(t){this.rowId=qe(this.rowNode.id),this.rowId!=null&&t.setRowId(this.rowId)}executeSlideAndFadeAnimations(t){let{containerType:i}=t;this.slideInAnimation[i]&&(kr(()=>{this.onTopChanged()}),this.slideInAnimation[i]=!1),this.fadeInAnimation[i]&&(kr(()=>{t.rowComp.addOrRemoveCssClass("ag-opacity-zero",!1)}),this.fadeInAnimation[i]=!1)}addRowDraggerToRow(t){if(gt(this.gos)){S("Setting `rowDragEntireRow: true` in the gridOptions doesn't work with `cellSelection: true`");return}let i=this.beans.localeService.getLocaleTextFunc(),o=new hs(()=>`1 ${i("rowDragRow","row")}`,this.rowNode,void 0,t.element,void 0,!0),s=this.createBean(o,this.beans.context);this.rowDragComps.push(s),t.compBean.addDestroyFunc(()=>{this.rowDragComps=this.rowDragComps.filter(r=>r!==s),this.destroyBean(s,this.beans.context)})}setupFullWidth(t){let i=this.getPinnedForContainer(t.containerType);if(this.rowType=="FullWidthDetail"&&!this.gos.assertModuleRegistered("@ag-grid-enterprise/master-detail","cell renderer 'agDetailCellRenderer' (for master detail)"))return;let o=this.createFullWidthCompDetails(t.element,i);t.rowComp.showFullWidth(o)}isPrintLayout(){return this.printLayout}getFullWidthCellRenderers(){return this.gos.get("embedFullWidthRows")?this.allRowGuis.map(t=>t?.rowComp?.getFullWidthCellRenderer()):[this.fullWidthGui?.rowComp?.getFullWidthCellRenderer()]}getCellElement(t){let i=this.getCellCtrl(t);return i?i.getGui():null}executeProcessRowPostCreateFunc(){let t=this.gos.getCallback("processRowPostCreate");if(!t||!this.areAllContainersReady())return;let i={eRow:this.centerGui.element,ePinnedLeftRow:this.leftGui?this.leftGui.element:void 0,ePinnedRightRow:this.rightGui?this.rightGui.element:void 0,node:this.rowNode,rowIndex:this.rowNode.rowIndex,addRenderedRowListener:this.addEventListener.bind(this)};t(i)}areAllContainersReady(){let t=!!this.leftGui||!this.beans.visibleColsService.isPinningLeft(),i=!!this.centerGui,o=!!this.rightGui||!this.beans.visibleColsService.isPinningRight();return t&&i&&o}isNodeFullWidthCell(){if(this.rowNode.detail)return!0;let t=this.beans.gos.getCallback("isFullWidthRow");return t?t({rowNode:this.rowNode}):!1}setRowType(){let t=this.rowNode.stub&&!this.gos.get("suppressServerSideFullWidthLoadingRow")&&!this.gos.get("groupHideOpenParents"),i=this.isNodeFullWidthCell(),o=this.gos.get("masterDetail")&&this.rowNode.detail,s=this.beans.columnModel.isPivotMode(),n=!!this.rowNode.group&&!this.rowNode.footer&&bs(this.gos,s);t?this.rowType="FullWidthLoading":o?this.rowType="FullWidthDetail":i?this.rowType="FullWidth":n?this.rowType="FullWidthGroup":this.rowType="Normal"}updateColumnLists(t=!1,i=!1){if(this.isFullWidth())return;if(t||this.gos.get("suppressAnimationFrame")||this.printLayout){this.updateColumnListsImpl(i);return}this.updateColumnListsPending||(this.beans.animationFrameService.createTask(()=>{this.active&&this.updateColumnListsImpl(!0)},this.rowNode.rowIndex,"createTasksP1"),this.updateColumnListsPending=!0)}createCellCtrls(t,i,o=null){let s={list:[],map:{}},r=(a,l,c)=>{c!=null?s.list.splice(c,0,l):s.list.push(l),s.map[a]=l},n=[];for(let a of i){let l=a.getInstanceId(),c=t.map[l];c||(c=new zt(a,this.rowNode,this.beans,this)),r(l,c)}for(let a of t.list){let l=a.getColumn().getInstanceId();if(s.map[l]!=null)continue;!this.isCellEligibleToBeRemoved(a,o)?n.push([l,a]):a.destroy()}if(n.length)for(let[a,l]of n){let c=s.list.findIndex(u=>u.getColumn().getLeft()>l.getColumn().getLeft()),d=c===-1?void 0:Math.max(c-1,0);r(a,l,d)}return s}updateColumnListsImpl(t){this.updateColumnListsPending=!1,this.createAllCellCtrls(),this.setCellCtrls(t)}setCellCtrls(t){this.allRowGuis.forEach(i=>{let o=this.getCellCtrlsForContainer(i.containerType);i.rowComp.setCellCtrls(o,t)})}getCellCtrlsForContainer(t){switch(t){case"left":return this.leftCellCtrls.list;case"right":return this.rightCellCtrls.list;case"fullWidth":return[];case"center":return this.centerCellCtrls.list}}createAllCellCtrls(){let t=this.beans.columnViewportService,i=this.beans.visibleColsService;if(this.printLayout)this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,i.getAllCols()),this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}};else{let o=t.getColsWithinViewport(this.rowNode);this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,o);let s=i.getLeftColsForRow(this.rowNode);this.leftCellCtrls=this.createCellCtrls(this.leftCellCtrls,s,"left");let r=i.getRightColsForRow(this.rowNode);this.rightCellCtrls=this.createCellCtrls(this.rightCellCtrls,r,"right")}}isCellEligibleToBeRemoved(t,i){if(t.getColumn().getPinned()!=i)return!0;let n=t.isEditing(),a=this.beans.focusService.isCellFocused(t.getCellPosition());if(n||a){let c=t.getColumn();return!(this.beans.visibleColsService.getAllCols().indexOf(c)>=0)}return!0}getDomOrder(){return this.gos.get("ensureDomOrder")||Re(this.gos,"print")}listenOnDomOrder(t){let i=()=>{t.rowComp.setDomOrder(this.getDomOrder())};t.compBean.addManagedPropertyListeners(["domLayout","ensureDomOrder"],i)}setAnimateFlags(t){if(this.isSticky()||!t)return;let i=M(this.rowNode.oldRowTop),o=this.beans.visibleColsService.isPinningLeft(),s=this.beans.visibleColsService.isPinningRight();if(i){if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows")){this.slideInAnimation.fullWidth=!0;return}this.slideInAnimation.center=!0,this.slideInAnimation.left=o,this.slideInAnimation.right=s}else{if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows")){this.fadeInAnimation.fullWidth=!0;return}this.fadeInAnimation.center=!0,this.fadeInAnimation.left=o,this.fadeInAnimation.right=s}}isEditing(){return this.editingRow}isFullWidth(){return this.rowType!=="Normal"}refreshFullWidth(){let t=(a,l)=>a?a.rowComp.refreshFullWidth(()=>this.createFullWidthCompDetails(a.element,l).params):!0,i=t(this.fullWidthGui,null),o=t(this.centerGui,null),s=t(this.leftGui,"left"),r=t(this.rightGui,"right");return i&&o&&s&&r}addListeners(){this.addManagedListeners(this.rowNode,{heightChanged:()=>this.onRowHeightChanged(),rowSelected:()=>this.onRowSelected(),rowIndexChanged:this.onRowIndexChanged.bind(this),topChanged:this.onTopChanged.bind(this),expandedChanged:this.updateExpandedCss.bind(this),hasChildrenChanged:this.updateExpandedCss.bind(this)}),this.rowNode.detail&&this.addManagedListeners(this.rowNode.parent,{dataChanged:this.onRowNodeDataChanged.bind(this)}),this.addManagedListeners(this.rowNode,{dataChanged:this.onRowNodeDataChanged.bind(this),cellChanged:this.postProcessCss.bind(this),rowHighlightChanged:this.onRowNodeHighlightChanged.bind(this),draggingChanged:this.postProcessRowDragging.bind(this),uiLevelChanged:this.onUiLevelChanged.bind(this)}),this.addManagedListeners(this.beans.eventService,{paginationPixelOffsetChanged:this.onPaginationPixelOffsetChanged.bind(this),heightScaleChanged:this.onTopChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:this.onVirtualColumnsChanged.bind(this),cellFocused:this.onCellFocusChanged.bind(this),cellFocusCleared:this.onCellFocusChanged.bind(this),paginationChanged:this.onPaginationChanged.bind(this),modelUpdated:this.refreshFirstAndLastRowStyles.bind(this),columnMoved:()=>this.updateColumnLists()}),this.addDestroyFunc(()=>{this.rowDragComps=this.destroyBeans(this.rowDragComps,this.beans.context),this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature,this.beans.context))}),this.addManagedPropertyListeners(["rowStyle","getRowStyle","rowClass","getRowClass","rowClassRules"],this.postProcessCss.bind(this)),this.addManagedPropertyListener("rowDragEntireRow",()=>{if(this.gos.get("rowDragEntireRow")){this.allRowGuis.forEach(i=>{this.addRowDraggerToRow(i)});return}this.rowDragComps=this.destroyBeans(this.rowDragComps,this.beans.context)}),this.addListenersForCellComps()}addListenersForCellComps(){this.addManagedListeners(this.rowNode,{rowIndexChanged:()=>{this.getAllCellCtrls().forEach(t=>t.onRowIndexChanged())},cellChanged:t=>{this.getAllCellCtrls().forEach(i=>i.onCellChanged(t))}})}onRowNodeDataChanged(t){if(this.isFullWidth()!==!!this.isNodeFullWidthCell()){this.beans.rowRenderer.redrawRow(this.rowNode);return}if(this.isFullWidth()){this.refreshFullWidth()||this.beans.rowRenderer.redrawRow(this.rowNode);return}this.getAllCellCtrls().forEach(o=>o.refreshCell({suppressFlash:!t.update,newData:!t.update})),this.allRowGuis.forEach(o=>{this.setRowCompRowId(o.rowComp),this.updateRowBusinessKey(),this.setRowCompRowBusinessKey(o.rowComp)}),this.onRowSelected(),this.postProcessCss()}postProcessCss(){this.setStylesFromGridOptions(!0),this.postProcessClassesFromGridOptions(),this.postProcessRowClassRules(),this.postProcessRowDragging()}onRowNodeHighlightChanged(){let t=this.rowNode.highlighted;this.allRowGuis.forEach(i=>{let o=t===0,s=t===1;i.rowComp.addOrRemoveCssClass("ag-row-highlight-above",o),i.rowComp.addOrRemoveCssClass("ag-row-highlight-below",s)})}postProcessRowDragging(){let t=this.rowNode.dragging;this.allRowGuis.forEach(i=>i.rowComp.addOrRemoveCssClass("ag-row-dragging",t))}updateExpandedCss(){let t=this.rowNode.isExpandable(),i=this.rowNode.expanded==!0;this.allRowGuis.forEach(o=>{o.rowComp.addOrRemoveCssClass("ag-row-group",t),o.rowComp.addOrRemoveCssClass("ag-row-group-expanded",t&&i),o.rowComp.addOrRemoveCssClass("ag-row-group-contracted",t&&!i),ao(o.element,t&&i)})}onDisplayedColumnsChanged(){this.updateColumnLists(!0),this.beans.columnModel.wasAutoRowHeightEverActive()&&this.rowNode.checkAutoHeights()}onVirtualColumnsChanged(){this.updateColumnLists(!1,!0)}getRowPosition(){return{rowPinned:dt(this.rowNode.rowPinned),rowIndex:this.rowNode.rowIndex}}findFullWidthRowGui(t){return this.allRowGuis.find(i=>i.element.contains(t))}onKeyboardNavigate(t){let i=this.findFullWidthRowGui(t.target);if(!((i?i.element:null)===t.target))return;let r=this.rowNode,n=this.beans.focusService.getFocusedCell(),a={rowIndex:r.rowIndex,rowPinned:r.rowPinned,column:n?.column??this.getColumnForFullWidth(i)};this.beans.navigationService.navigateToNextCell(t,t.key,a,!0),t.preventDefault()}onTabKeyDown(t){if(t.defaultPrevented||ut(t))return;let i=this.allRowGuis.find(l=>l.element.contains(t.target)),o=i?i.element:null,s=o===t.target,r=fe(this.gos),n=!1;o&&r&&(n=o.contains(r)&&r.classList.contains("ag-cell"));let a=null;!s&&!n&&(a=this.beans.focusService.findNextFocusableElement(o,!1,t.shiftKey)),(this.isFullWidth()&&s||!a)&&this.beans.navigationService.onTabKeyDown(this,t)}getFullWidthElement(){return this.fullWidthGui?this.fullWidthGui.element:null}getRowYPosition(){let t=this.allRowGuis.find(i=>rt(i.element))?.element;return t?t.getBoundingClientRect().top:0}onSuppressCellFocusChanged(t){let i=this.isFullWidth()&&t?void 0:-1;this.allRowGuis.forEach(o=>{je(o.element,"tabindex",i)})}onFullWidthRowFocused(t){let i=this.rowNode,o=t?this.isFullWidth()&&t.rowIndex===i.rowIndex&&t.rowPinned==i.rowPinned:!1,s=this.fullWidthGui?this.fullWidthGui.element:this.centerGui?.element;s&&(s.classList.toggle("ag-full-width-focus",o),o&&t?.forceBrowserFocus&&s.focus({preventScroll:!0}))}recreateCell(t){this.centerCellCtrls=this.removeCellCtrl(this.centerCellCtrls,t),this.leftCellCtrls=this.removeCellCtrl(this.leftCellCtrls,t),this.rightCellCtrls=this.removeCellCtrl(this.rightCellCtrls,t),t.destroy(),this.updateColumnLists()}removeCellCtrl(t,i){let o={list:[],map:{}};return t.list.forEach(s=>{s!==i&&(o.list.push(s),o.map[s.getColumn().getInstanceId()]=s)}),o}onMouseEvent(t,i){switch(t){case"dblclick":this.onRowDblClick(i);break;case"click":this.onRowClick(i);break;case"touchstart":case"mousedown":this.onRowMouseDown(i);break}}createRowEvent(t,i){return this.gos.addGridCommonParams({type:t,node:this.rowNode,data:this.rowNode.data,rowIndex:this.rowNode.rowIndex,rowPinned:this.rowNode.rowPinned,event:i})}createRowEventWithSource(t,i){let o=this.createRowEvent(t,i);return o.source=this,o}onRowDblClick(t){ut(t)||this.beans.eventService.dispatchEvent(this.createRowEventWithSource("rowDoubleClicked",t))}getColumnForFullWidth(t){let{visibleColsService:i}=this.beans;switch(t?.containerType){case"center":return i.getCenterCols()[0];case"left":return i.getLeftCols()[0];case"right":return i.getRightCols()[0];default:return i.getAllCols()[0]}}onRowMouseDown(t){if(this.lastMouseDownOnDragger=ei(t.target,"ag-row-drag",3),!this.isFullWidth())return;let i=this.rowNode;this.beans.rangeService&&this.beans.rangeService.removeAllCellRanges();let o=this.findFullWidthRowGui(t.target),s=o?.element,r=t.target,n=!0;s&&s.contains(r)&&Ps(r)&&(n=!1),this.beans.focusService.setFocusedCell({rowIndex:i.rowIndex,column:this.getColumnForFullWidth(o),rowPinned:i.rowPinned,forceBrowserFocus:n})}onRowClick(t){if(ut(t)||this.lastMouseDownOnDragger)return;let{gos:o}=this;this.beans.eventService.dispatchEvent(this.createRowEventWithSource("rowClicked",t));let s=t.ctrlKey||t.metaKey,r=t.shiftKey,n=this.rowNode.isSelected(),a=Dt(o),l=Or(o),c=Vl(o);if(a&&this.rowNode.group||this.isRowSelectionBlocked()||!c&&!n||!l&&n)return;let d=Wl(o),u="rowClicked";if(n)d?this.rowNode.setSelectedParams({newValue:!1,event:t,source:u}):s?l&&this.rowNode.setSelectedParams({newValue:!1,event:t,source:u}):c&&this.rowNode.setSelectedParams({newValue:!0,clearSelection:!r,rangeSelect:r,event:t,source:u});else{let h=d?!1:!s;this.rowNode.setSelectedParams({newValue:!0,clearSelection:h,rangeSelect:r,event:t,source:u})}}isRowSelectionBlocked(){return!this.rowNode.selectable||!!this.rowNode.rowPinned||!oo(this.gos)}setupDetailRowAutoHeight(t){if(this.rowType!=="FullWidthDetail"||!this.gos.get("detailRowAutoHeight"))return;let i=()=>{let s=t.clientHeight;if(s!=null&&s>0){let r=()=>{this.rowNode.setRowHeight(s),(de(this.gos)||mt(this.gos))&&this.beans.rowModel.onRowHeightChanged()};window.setTimeout(r,0)}},o=this.beans.resizeObserverService.observeResize(t,i);this.addDestroyFunc(o),i()}createFullWidthCompDetails(t,i){let{gos:o,rowNode:s}=this,r=o.addGridCommonParams({fullWidth:!0,data:s.data,node:s,value:s.key,valueFormatted:s.key,eGridCell:t,eParentOfValue:t,pinned:i,addRenderedRowListener:this.addEventListener.bind(this),registerRowDragger:(a,l,c,d)=>this.addFullWidthRowDragging(a,l,c,d),setTooltip:(a,l)=>this.refreshRowTooltip(a,l)}),n=this.beans.userComponentFactory;switch(this.rowType){case"FullWidthDetail":return n.getFullWidthDetailCellRendererDetails(r);case"FullWidthGroup":return n.getFullWidthGroupCellRendererDetails(r);case"FullWidthLoading":return n.getFullWidthLoadingCellRendererDetails(r);default:return n.getFullWidthCellRendererDetails(r)}}refreshRowTooltip(t,i){if(!this.fullWidthGui)return;let o={getGui:()=>this.fullWidthGui.element,getTooltipValue:()=>t,getLocation:()=>"fullWidthRow",shouldDisplayTooltip:i};this.tooltipFeature&&this.destroyBean(this.tooltipFeature,this.beans.context),this.tooltipFeature=this.createBean(new ai(o,this.beans))}addFullWidthRowDragging(t,i,o="",s){if(!this.isFullWidth())return;let r=new hs(()=>o,this.rowNode,void 0,t,i,s);this.createBean(r,this.beans.context),this.addDestroyFunc(()=>{this.destroyBean(r,this.beans.context)})}onUiLevelChanged(){let t=this.beans.rowCssClassCalculator.calculateRowLevel(this.rowNode);if(this.rowLevel!=t){let i="ag-row-level-"+t,o="ag-row-level-"+this.rowLevel;this.allRowGuis.forEach(s=>{s.rowComp.addOrRemoveCssClass(i,!0),s.rowComp.addOrRemoveCssClass(o,!1)})}this.rowLevel=t}isFirstRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBoundsService.getFirstRow()}isLastRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBoundsService.getLastRow()}refreshFirstAndLastRowStyles(){let t=this.isFirstRowOnPage(),i=this.isLastRowOnPage();this.firstRowOnPage!==t&&(this.firstRowOnPage=t,this.allRowGuis.forEach(o=>o.rowComp.addOrRemoveCssClass("ag-row-first",t))),this.lastRowOnPage!==i&&(this.lastRowOnPage=i,this.allRowGuis.forEach(o=>o.rowComp.addOrRemoveCssClass("ag-row-last",i)))}stopEditing(t=!1){this.stoppingRowEdit||this.beans.rowEditService?.stopEditing(this,t)}setInlineEditingCss(){let t=this.editingRow||this.getAllCellCtrls().some(i=>i.isEditing());this.allRowGuis.forEach(i=>{i.rowComp.addOrRemoveCssClass("ag-row-inline-editing",t),i.rowComp.addOrRemoveCssClass("ag-row-not-inline-editing",!t)})}setEditingRow(t){this.editingRow=t}startRowEditing(t=null,i=null,o=null){return this.editingRow?!0:this.beans.rowEditService?.startEditing(this,t,i,o)??!0}getAllCellCtrls(){return this.leftCellCtrls.list.length===0&&this.rightCellCtrls.list.length===0?this.centerCellCtrls.list:[...this.centerCellCtrls.list,...this.leftCellCtrls.list,...this.rightCellCtrls.list]}postProcessClassesFromGridOptions(){let t=this.beans.rowCssClassCalculator.processClassesFromGridOptions(this.rowNode);!t||!t.length||t.forEach(i=>{this.allRowGuis.forEach(o=>o.rowComp.addOrRemoveCssClass(i,!0))})}postProcessRowClassRules(){this.beans.rowCssClassCalculator.processRowClassRules(this.rowNode,t=>{this.allRowGuis.forEach(i=>i.rowComp.addOrRemoveCssClass(t,!0))},t=>{this.allRowGuis.forEach(i=>i.rowComp.addOrRemoveCssClass(t,!1))})}setStylesFromGridOptions(t,i){t&&(this.rowStyles=this.processStylesFromGridOptions()),this.forEachGui(i,o=>o.rowComp.setUserStyles(this.rowStyles))}getPinnedForContainer(t){return t==="left"||t==="right"?t:null}getInitialRowClasses(t){let i=this.getPinnedForContainer(t),o={rowNode:this.rowNode,rowFocused:this.rowFocused,fadeRowIn:this.fadeInAnimation[t],rowIsEven:this.rowNode.rowIndex%2===0,rowLevel:this.rowLevel,fullWidthRow:this.isFullWidth(),firstRowOnPage:this.isFirstRowOnPage(),lastRowOnPage:this.isLastRowOnPage(),printLayout:this.printLayout,expandable:this.rowNode.isExpandable(),pinned:i};return this.beans.rowCssClassCalculator.getInitialRowClasses(o)}processStylesFromGridOptions(){let t=this.gos.get("rowStyle");if(t&&typeof t=="function"){S("rowStyle should be an object of key/value styles, not be a function, use getRowStyle() instead");return}let i=this.gos.getCallback("getRowStyle"),o;if(i){let s={data:this.rowNode.data,node:this.rowNode,rowIndex:this.rowNode.rowIndex};o=i(s)}return o||t?Object.assign({},t,o):this.emptyStyle}onRowSelected(t){let i=!!this.rowNode.isSelected();this.forEachGui(t,o=>{o.rowComp.addOrRemoveCssClass("ag-row-selected",i),lo(o.element,i),o.element.contains(fe(this.gos))&&(o===this.centerGui||o===this.fullWidthGui)&&this.announceDescription()})}announceDescription(){if(this.isRowSelectionBlocked())return;let t=this.rowNode.isSelected();if(t&&!Or(this.gos))return;let o=this.beans.localeService.getLocaleTextFunc()(t?"ariaRowDeselect":"ariaRowSelect",`Press SPACE to ${t?"deselect":"select"} this row.`);this.beans.ariaAnnouncementService.announceValue(o,"rowSelection")}addHoverFunctionality(t){if(!this.active)return;let{element:i,compBean:o}=t,{rowNode:s,beans:r,gos:n}=this;o.addManagedListeners(i,{mouseenter:()=>s.onMouseEnter(),mouseleave:()=>s.onMouseLeave()}),o.addManagedListeners(s,{mouseEnter:()=>{!r.dragService.isDragging()&&!n.get("suppressRowHoverHighlight")&&(i.classList.add("ag-row-hover"),s.setHovered(!0))},mouseLeave:()=>{i.classList.remove("ag-row-hover"),s.setHovered(!1)}})}roundRowTopToBounds(t){let i=this.beans.ctrlsService.getGridBodyCtrl().getScrollFeature().getApproximateVScollPosition(),o=this.applyPaginationOffset(i.top,!0)-100,s=this.applyPaginationOffset(i.bottom,!0)+100;return Math.min(Math.max(o,t),s)}getFrameworkOverrides(){return this.beans.frameworkOverrides}forEachGui(t,i){t?i(t):this.allRowGuis.forEach(i)}onRowHeightChanged(t){if(this.rowNode.rowHeight==null)return;let i=this.rowNode.rowHeight,o=this.beans.environment.getDefaultRowHeight(),r=dn(this.gos)?ht(this.gos,this.rowNode).height:void 0,n=r?`${Math.min(o,r)-2}px`:void 0;this.forEachGui(t,a=>{a.element.style.height=`${i}px`,n&&a.element.style.setProperty("--ag-line-height",n)})}addEventListener(t,i){super.addEventListener(t,i)}removeEventListener(t,i){super.removeEventListener(t,i)}destroyFirstPass(t=!1){if(this.active=!1,!t&&Wt(this.gos)&&!this.isSticky())if(this.rowNode.rowTop!=null){let s=this.roundRowTopToBounds(this.rowNode.rowTop);this.setRowTop(s)}else this.allRowGuis.forEach(s=>s.rowComp.addOrRemoveCssClass("ag-opacity-zero",!0));this.rowNode.setHovered(!1);let i=this.createRowEvent("virtualRowRemoved");this.dispatchLocalEvent(i),this.beans.eventService.dispatchEvent(i),super.destroy()}destroySecondPass(){this.allRowGuis.length=0,this.stopEditing();let t=i=>(i.list.forEach(o=>o.destroy()),{list:[],map:{}});this.centerCellCtrls=t(this.centerCellCtrls),this.leftCellCtrls=t(this.leftCellCtrls),this.rightCellCtrls=t(this.rightCellCtrls)}setFocusedClasses(t){this.forEachGui(t,i=>{i.rowComp.addOrRemoveCssClass("ag-row-focus",this.rowFocused),i.rowComp.addOrRemoveCssClass("ag-row-no-focus",!this.rowFocused)})}onCellFocusChanged(){let t=this.beans.focusService.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned);t!==this.rowFocused&&(this.rowFocused=t,this.setFocusedClasses()),!t&&this.editingRow&&this.stopEditing(!1)}onPaginationChanged(){let t=this.beans.paginationService?.getCurrentPage()??0;this.paginationPage!==t&&(this.paginationPage=t,this.onTopChanged()),this.refreshFirstAndLastRowStyles()}onTopChanged(){this.setRowTop(this.rowNode.rowTop)}onPaginationPixelOffsetChanged(){this.onTopChanged()}applyPaginationOffset(t,i=!1){if(this.rowNode.isRowPinned()||this.rowNode.sticky)return t;let o=this.beans.pageBoundsService.getPixelOffset();return t+o*(i?1:-1)}setRowTop(t){if(!this.printLayout&&M(t)){let i=this.applyPaginationOffset(t),r=`${this.rowNode.isRowPinned()||this.rowNode.sticky?i:this.beans.rowContainerHeightService.getRealPixelPosition(i)}px`;this.setRowTopStyle(r)}}getInitialRowTop(t){return this.suppressRowTransform?this.getInitialRowTopShared(t):void 0}getInitialTransform(t){return this.suppressRowTransform?void 0:`translateY(${this.getInitialRowTopShared(t)})`}getInitialRowTopShared(t){if(this.printLayout)return"";let i=this.rowNode,o;if(this.isSticky())o=i.stickyRowTop;else{let s=this.slideInAnimation[t]?this.roundRowTopToBounds(i.oldRowTop):i.rowTop,r=this.applyPaginationOffset(s);o=i.isRowPinned()?r:this.beans.rowContainerHeightService.getRealPixelPosition(r)}return o+"px"}setRowTopStyle(t){this.allRowGuis.forEach(i=>this.suppressRowTransform?i.rowComp.setTop(t):i.rowComp.setTransform(`translateY(${t})`))}getRowNode(){return this.rowNode}getCellCtrl(t){let i=null;return this.getAllCellCtrls().forEach(o=>{o.getColumn()==t&&(i=o)}),i!=null||this.getAllCellCtrls().forEach(o=>{o.getColSpanningList().indexOf(t)>=0&&(i=o)}),i}onRowIndexChanged(){this.rowNode.rowIndex!=null&&(this.onCellFocusChanged(),this.updateRowIndexes(),this.postProcessCss())}getRowIndex(){return this.rowNode.getRowIndexString()}updateRowIndexes(t){let i=this.rowNode.getRowIndexString();if(i===null)return;let o=this.beans.headerNavigationService.getHeaderRowCount()+(this.beans.filterManager?.getHeaderRowCount()??0),s=this.rowNode.rowIndex%2===0,r=o+this.rowNode.rowIndex+1;this.forEachGui(t,n=>{n.rowComp.setRowIndex(i),n.rowComp.addOrRemoveCssClass("ag-row-even",s),n.rowComp.addOrRemoveCssClass("ag-row-odd",!s),Ec(n.element,r)})}setStoppingRowEdit(t){this.stoppingRowEdit=t}};Ga.DOM_DATA_KEY_ROW_CTRL="renderedRow";var Bt=Ga,Hh=class extends b{wireBeans(e){this.mouseEventService=e.mouseEventService,this.valueService=e.valueService,this.menuService=e.menuService,this.ctrlsService=e.ctrlsService,this.navigationService=e.navigationService,this.focusService=e.focusService,this.undoRedoService=e.undoRedoService,this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.rangeService=e.rangeService,this.clipboardService=e.clipboardService}constructor(e){super(),this.element=e}postConstruct(){this.addKeyboardListeners(),this.addMouseListeners(),this.mockContextMenuForIPad()}addKeyboardListeners(){let e="keydown",t=this.processKeyboardEvent.bind(this,e);this.addManagedElementListeners(this.element,{[e]:t})}addMouseListeners(){["dblclick","contextmenu","mouseover","mouseout","click",wn("touchstart")?"touchstart":"mousedown"].forEach(i=>{let o=this.processMouseEvent.bind(this,i);this.addManagedElementListeners(this.element,{[i]:o})})}processMouseEvent(e,t){if(!this.mouseEventService.isEventFromThisGrid(t)||ut(t))return;let i=this.getRowForEvent(t),o=this.mouseEventService.getRenderedCellForEvent(t);e==="contextmenu"?this.handleContextMenuMouseEvent(t,void 0,i,o):(o&&o.onMouseEvent(e,t),i&&i.onMouseEvent(e,t))}mockContextMenuForIPad(){if(!Tt())return;let e=new xt(this.element),t=i=>{let o=this.getRowForEvent(i.touchEvent),s=this.mouseEventService.getRenderedCellForEvent(i.touchEvent);this.handleContextMenuMouseEvent(void 0,i.touchEvent,o,s)};this.addManagedListeners(e,{longTap:t}),this.addDestroyFunc(()=>e.destroy())}getRowForEvent(e){let t=e.target;for(;t;){let i=Di(this.gos,t,Bt.DOM_DATA_KEY_ROW_CTRL);if(i)return i;t=t.parentElement}return null}handleContextMenuMouseEvent(e,t,i,o){let s=i?i.getRowNode():null,r=o?o.getColumn():null,n=null;if(r){let c=e||t;o.dispatchCellContextMenuEvent(c??null),n=this.valueService.getValue(r,s)}let a=this.ctrlsService.getGridBodyCtrl(),l=o?o.getGui():a.getGridBodyElement();this.menuService.showContextMenu({mouseEvent:e,touchEvent:t,rowNode:s,column:r,value:n,anchorToElement:l})}getControlsForEventTarget(e){return{cellCtrl:rs(this.gos,e,zt.DOM_DATA_KEY_CELL_CTRL),rowCtrl:rs(this.gos,e,Bt.DOM_DATA_KEY_ROW_CTRL)}}processKeyboardEvent(e,t){let{cellCtrl:i,rowCtrl:o}=this.getControlsForEventTarget(t.target);t.defaultPrevented||(i?this.processCellKeyboardEvent(i,e,t):o&&o.isFullWidth()&&this.processFullWidthRowKeyboardEvent(o,e,t))}processCellKeyboardEvent(e,t,i){let o=e.getRowNode(),s=e.getColumn(),r=e.isEditing();!gs(this.gos,i,o,s,r)&&t==="keydown"&&(!r&&this.navigationService.handlePageScrollingKey(i)||e.onKeyDown(i),this.doGridOperations(i,e.isEditing()),ca(i)&&e.processCharacter(i)),t==="keydown"&&this.eventService.dispatchEvent(e.createEvent(i,"cellKeyDown"))}processFullWidthRowKeyboardEvent(e,t,i){let o=e.getRowNode(),s=this.focusService.getFocusedCell(),r=s&&s.column;if(!gs(this.gos,i,o,r,!1)){let a=i.key;if(t==="keydown")switch(a){case y.PAGE_HOME:case y.PAGE_END:case y.PAGE_UP:case y.PAGE_DOWN:this.navigationService.handlePageScrollingKey(i,!0);break;case y.UP:case y.DOWN:e.onKeyboardNavigate(i);break;case y.TAB:e.onTabKeyDown(i);break;default:}}t==="keydown"&&this.eventService.dispatchEvent(e.createRowEvent("cellKeyDown",i))}doGridOperations(e,t){if(!e.ctrlKey&&!e.metaKey||t||!this.mouseEventService.isEventFromThisGrid(e))return;let i=tu(e);if(i===y.A)return this.onCtrlAndA(e);if(i===y.C)return this.onCtrlAndC(e);if(i===y.D)return this.onCtrlAndD(e);if(i===y.V)return this.onCtrlAndV(e);if(i===y.X)return this.onCtrlAndX(e);if(i===y.Y)return this.onCtrlAndY();if(i===y.Z)return this.onCtrlAndZ(e)}onCtrlAndA(e){let{pinnedRowModel:t,rowModel:i,rangeService:o}=this;if(o&&i.isRowsToRender()){let[s,r]=[t.isEmpty("top"),t.isEmpty("bottom")],n=s?null:"top",a,l;r?(a=null,l=i.getRowCount()-1):(a="bottom",l=t.getPinnedBottomRowCount()-1);let c=this.visibleColsService.getAllCols();if(Ee(c))return;o.setCellRange({rowStartIndex:0,rowStartPinned:n,rowEndIndex:l,rowEndPinned:a,columnStart:c[0],columnEnd:$(c)})}e.preventDefault()}onCtrlAndC(e){if(!this.clipboardService||this.gos.get("enableCellTextSelection"))return;let{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);t?.isEditing()||i?.isEditing()||(e.preventDefault(),this.clipboardService.copyToClipboard())}onCtrlAndX(e){if(!this.clipboardService||this.gos.get("enableCellTextSelection")||this.gos.get("suppressCutToClipboard"))return;let{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);t?.isEditing()||i?.isEditing()||(e.preventDefault(),this.clipboardService.cutToClipboard(void 0,"ui"))}onCtrlAndV(e){let{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);t?.isEditing()||i?.isEditing()||this.clipboardService&&!this.gos.get("suppressClipboardPaste")&&this.clipboardService.pasteFromClipboard()}onCtrlAndD(e){this.clipboardService&&!this.gos.get("suppressClipboardPaste")&&this.clipboardService.copyRangeDown(),e.preventDefault()}onCtrlAndZ(e){!this.gos.get("undoRedoCellEditing")||!this.undoRedoService||(e.preventDefault(),e.shiftKey?this.undoRedoService.redo("ui"):this.undoRedoService.undo("ui"))}onCtrlAndY(){this.undoRedoService?.redo("ui")}},zh=class extends b{wireBeans(e){this.pinnedWidthService=e.pinnedWidthService}constructor(e){super(),this.element=e}postConstruct(){this.addManagedEventListeners({leftPinnedWidthChanged:this.onPinnedLeftWidthChanged.bind(this)})}onPinnedLeftWidthChanged(){let e=this.pinnedWidthService.getPinnedLeftWidth(),t=e>0;pe(this.element,t),Je(this.element,e)}getWidth(){return this.pinnedWidthService.getPinnedLeftWidth()}},Bh=class extends b{wireBeans(e){this.pinnedWidthService=e.pinnedWidthService}constructor(e){super(),this.element=e}postConstruct(){this.addManagedEventListeners({rightPinnedWidthChanged:this.onPinnedRightWidthChanged.bind(this)})}onPinnedRightWidthChanged(){let e=this.pinnedWidthService.getPinnedRightWidth(),t=e>0;pe(this.element,t),Je(this.element,e)}getWidth(){return this.pinnedWidthService.getPinnedRightWidth()}},Yi=e=>e.getTopRowCtrls(),$i=e=>e.getStickyTopRowCtrls(),Qi=e=>e.getStickyBottomRowCtrls(),qi=e=>e.getBottomRowCtrls(),Ji=e=>e.getCentreRowCtrls(),Vh={center:{type:"center",container:"ag-center-cols-container",viewport:"ag-center-cols-viewport",getRowCtrls:Ji},left:{type:"left",container:"ag-pinned-left-cols-container",pinnedType:"left",getRowCtrls:Ji},right:{type:"right",container:"ag-pinned-right-cols-container",pinnedType:"right",getRowCtrls:Ji},fullWidth:{type:"fullWidth",container:"ag-full-width-container",fullWidth:!0,getRowCtrls:Ji},topCenter:{type:"center",container:"ag-floating-top-container",viewport:"ag-floating-top-viewport",getRowCtrls:Yi},topLeft:{type:"left",container:"ag-pinned-left-floating-top",pinnedType:"left",getRowCtrls:Yi},topRight:{type:"right",container:"ag-pinned-right-floating-top",pinnedType:"right",getRowCtrls:Yi},topFullWidth:{type:"fullWidth",container:"ag-floating-top-full-width-container",fullWidth:!0,getRowCtrls:Yi},stickyTopCenter:{type:"center",container:"ag-sticky-top-container",viewport:"ag-sticky-top-viewport",getRowCtrls:$i},stickyTopLeft:{type:"left",container:"ag-pinned-left-sticky-top",pinnedType:"left",getRowCtrls:$i},stickyTopRight:{type:"right",container:"ag-pinned-right-sticky-top",pinnedType:"right",getRowCtrls:$i},stickyTopFullWidth:{type:"fullWidth",container:"ag-sticky-top-full-width-container",fullWidth:!0,getRowCtrls:$i},stickyBottomCenter:{type:"center",container:"ag-sticky-bottom-container",viewport:"ag-sticky-bottom-viewport",getRowCtrls:Qi},stickyBottomLeft:{type:"left",container:"ag-pinned-left-sticky-bottom",pinnedType:"left",getRowCtrls:Qi},stickyBottomRight:{type:"right",container:"ag-pinned-right-sticky-bottom",pinnedType:"right",getRowCtrls:Qi},stickyBottomFullWidth:{type:"fullWidth",container:"ag-sticky-bottom-full-width-container",fullWidth:!0,getRowCtrls:Qi},bottomCenter:{type:"center",container:"ag-floating-bottom-container",viewport:"ag-floating-bottom-viewport",getRowCtrls:qi},bottomLeft:{type:"left",container:"ag-pinned-left-floating-bottom",pinnedType:"left",getRowCtrls:qi},bottomRight:{type:"right",container:"ag-pinned-right-floating-bottom",pinnedType:"right",getRowCtrls:qi},bottomFullWidth:{type:"fullWidth",container:"ag-floating-bottom-full-width-container",fullWidth:!0,getRowCtrls:qi}};function Gt(e){return Vh[e]}var Wh=["topCenter","topLeft","topRight"],Uh=["bottomCenter","bottomLeft","bottomRight"],_h=["center","left","right"],jh=["center","left","right","fullWidth"],Kh=["stickyTopCenter","stickyBottomCenter","center","topCenter","bottomCenter"],Yh=["left","bottomLeft","topLeft","stickyTopLeft","stickyBottomLeft"],$h=["right","bottomRight","topRight","stickyTopRight","stickyBottomRight"],Na=["stickyTopCenter","stickyTopLeft","stickyTopRight"],Ha=["stickyBottomCenter","stickyBottomLeft","stickyBottomRight"],Qh=[...Na,"stickyTopFullWidth",...Ha,"stickyBottomFullWidth"],qh=[...Wh,...Uh,..._h,...Na,...Ha],za=class extends b{constructor(e){super(),this.visible=!0,this.EMPTY_CTRLS=[],this.name=e,this.options=Gt(e)}wireBeans(e){this.dragService=e.dragService,this.ctrlsService=e.ctrlsService,this.columnViewportService=e.columnViewportService,this.resizeObserverService=e.resizeObserverService,this.rowRenderer=e.rowRenderer}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.forContainers(["center"],()=>{this.viewportSizeFeature=this.createManagedBean(new dh(this)),this.addManagedEventListeners({stickyTopOffsetChanged:this.onStickyTopOffsetChanged.bind(this)})})}onStickyTopOffsetChanged(e){this.comp.setOffsetTop(`${e.offset}px`)}registerWithCtrlsService(){this.options.fullWidth||this.ctrlsService.register(this.name,this)}forContainers(e,t){e.indexOf(this.name)>=0&&t()}getContainerElement(){return this.eContainer}getViewportSizeFeature(){return this.viewportSizeFeature}setComp(e,t,i){this.comp=e,this.eContainer=t,this.eViewport=i,this.createManagedBean(new Hh(this.eContainer)),this.addPreventScrollWhileDragging(),this.listenOnDomOrder();let o=()=>this.onPinnedWidthChanged();this.forContainers(Yh,()=>{this.pinnedWidthFeature=this.createManagedBean(new zh(this.eContainer)),this.addManagedEventListeners({leftPinnedWidthChanged:o})}),this.forContainers($h,()=>{this.pinnedWidthFeature=this.createManagedBean(new Bh(this.eContainer)),this.addManagedEventListeners({rightPinnedWidthChanged:o})}),this.forContainers(jh,()=>this.createManagedBean(new Ia(this.eContainer,this.name==="center"?i:void 0))),this.forContainers(qh,()=>this.createManagedBean(new uh(this.eContainer))),this.forContainers(Kh,()=>this.createManagedBean(new Ys(s=>this.comp.setContainerWidth(`${s}px`)))),this.visible=this.isContainerVisible(),this.addListeners(),this.registerWithCtrlsService()}onScrollCallback(e){this.addManagedElementListeners(this.getViewportElement(),{scroll:e})}addListeners(){this.addManagedEventListeners({displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this),displayedRowsChanged:e=>this.onDisplayedRowsChanged(e.afterScroll)}),this.onDisplayedColumnsChanged(),this.onDisplayedColumnsWidthChanged(),this.onDisplayedRowsChanged()}listenOnDomOrder(){if(Qh.indexOf(this.name)>=0){this.comp.setDomOrder(!0);return}let t=()=>{let i=this.gos.get("ensureDomOrder"),o=Re(this.gos,"print");this.comp.setDomOrder(i||o)};this.addManagedPropertyListener("domLayout",t),t()}onDisplayedColumnsChanged(){this.forContainers(["center"],()=>this.onHorizontalViewportChanged())}onDisplayedColumnsWidthChanged(){this.forContainers(["center"],()=>this.onHorizontalViewportChanged())}addPreventScrollWhileDragging(){let e=t=>{this.dragService.isDragging()&&t.cancelable&&t.preventDefault()};this.eContainer.addEventListener("touchmove",e,{passive:!1}),this.addDestroyFunc(()=>this.eContainer.removeEventListener("touchmove",e))}onHorizontalViewportChanged(e=!1){let t=this.getCenterWidth(),i=this.getCenterViewportScrollLeft();this.columnViewportService.setScrollPosition(t,i,e)}hasHorizontalScrollGap(){return this.eContainer.clientWidth-this.eViewport.clientWidth<0}hasVerticalScrollGap(){return this.eContainer.clientHeight-this.eViewport.clientHeight<0}getCenterWidth(){return Gi(this.eViewport)}getCenterViewportScrollLeft(){return uo(this.eViewport,this.enableRtl)}registerViewportResizeListener(e){let t=this.resizeObserverService.observeResize(this.eViewport,e);this.addDestroyFunc(()=>t())}isViewportInTheDOMTree(){return zn(this.eViewport)}getViewportScrollLeft(){return uo(this.eViewport,this.enableRtl)}isHorizontalScrollShowing(){return this.gos.get("alwaysShowHorizontalScroll")||kc(this.eViewport)}getViewportElement(){return this.eViewport}setHorizontalScroll(e){this.comp.setHorizontalScroll(e)}getHScrollPosition(){return{left:this.eViewport.scrollLeft,right:this.eViewport.scrollLeft+this.eViewport.offsetWidth}}setCenterViewportScrollLeft(e){ho(this.eViewport,e,this.enableRtl)}isContainerVisible(){return!(this.options.pinnedType!=null)||!!this.pinnedWidthFeature&&this.pinnedWidthFeature.getWidth()>0}onPinnedWidthChanged(){let e=this.isContainerVisible();this.visible!=e&&(this.visible=e,this.onDisplayedRowsChanged())}onDisplayedRowsChanged(e=!1){let t=this.options.getRowCtrls(this.rowRenderer);if(!this.visible||t.length===0){this.comp.setRowCtrls({rowCtrls:this.EMPTY_CTRLS});return}let i=Re(this.gos,"print"),s=this.gos.get("embedFullWidthRows")||i,r=t.filter(n=>{let a=n.isFullWidth();return this.options.fullWidth?!s&&a:s||!a});this.comp.setRowCtrls({rowCtrls:r,useFlushSync:e})}},Jh="ag-force-vertical-scroll",Xh="ag-selectable",Zh="ag-column-moving",Ba=class extends b{constructor(){super(...arguments),this.stickyTopHeight=0,this.stickyBottomHeight=0}wireBeans(e){this.animationFrameService=e.animationFrameService,this.rowContainerHeightService=e.rowContainerHeightService,this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.scrollVisibleService=e.scrollVisibleService,this.menuService=e.menuService,this.headerNavigationService=e.headerNavigationService,this.dragAndDropService=e.dragAndDropService,this.pinnedRowModel=e.pinnedRowModel,this.rowRenderer=e.rowRenderer,this.popupService=e.popupService,this.mouseEventService=e.mouseEventService,this.rowModel=e.rowModel,this.filterManager=e.filterManager,this.environment=e.environment}getScrollFeature(){return this.bodyScrollFeature}getBodyViewportElement(){return this.eBodyViewport}setComp(e,t,i,o,s,r,n){this.comp=e,this.eGridBody=t,this.eBodyViewport=i,this.eTop=o,this.eBottom=s,this.eStickyTop=r,this.eStickyBottom=n,this.eCenterColsViewport=i.querySelector(`.${Gt("center").viewport}`),this.eFullWidthContainer=i.querySelector(`.${Gt("fullWidth").container}`),this.eStickyTopFullWidthContainer=r.querySelector(`.${Gt("stickyTopFullWidth").container}`),this.eStickyBottomFullWidthContainer=n.querySelector(`.${Gt("stickyBottomFullWidth").container}`),this.setCellTextSelection(this.gos.get("enableCellTextSelection")),this.addManagedPropertyListener("enableCellTextSelection",a=>this.setCellTextSelection(a.currentValue)),this.createManagedBean(new Qs(this.comp)),this.bodyScrollFeature=this.createManagedBean(new ch(this.eBodyViewport)),this.addRowDragListener(),this.setupRowAnimationCssClass(),this.addEventListeners(),this.addFocusListeners([o,i,s,r,n]),this.onGridColumnsChanged(),this.addBodyViewportListener(),this.setFloatingHeights(),this.disableBrowserDragging(),this.addStopEditingWhenGridLosesFocus(),this.updateScrollingClasses(),this.filterManager?.setupAdvancedFilterHeaderComp(o),this.ctrlsService.register("gridBodyCtrl",this)}getComp(){return this.comp}addEventListeners(){let e=this.setFloatingHeights.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this),scrollGapChanged:this.onScrollGapChanged.bind(this),pinnedRowDataChanged:e,pinnedHeightChanged:e,headerHeightChanged:this.onHeaderHeightChanged.bind(this)})}addFocusListeners(e){e.forEach(t=>{this.addManagedElementListeners(t,{focusin:i=>{let{target:o}=i,s=ei(o,"ag-root",t);t.classList.toggle("ag-has-focus",!s)},focusout:i=>{let{target:o,relatedTarget:s}=i,r=t.contains(s),n=ei(s,"ag-root",t);ei(o,"ag-root",t)||(!r||n)&&t.classList.remove("ag-has-focus")}})})}setColumnMovingCss(e){this.comp.setColumnMovingCss(Zh,e)}setCellTextSelection(e=!1){this.comp.setCellSelectableCss(Xh,e)}onScrollVisibilityChanged(){let e=this.scrollVisibleService.isVerticalScrollShowing();this.setVerticalScrollPaddingVisible(e),this.setStickyWidth(e),this.setStickyBottomOffsetBottom();let t=e&&this.scrollVisibleService.getScrollbarWidth()||0,i=_n()?16:0,o=`calc(100% + ${t+i}px)`;this.animationFrameService.requestAnimationFrame(()=>this.comp.setBodyViewportWidth(o)),this.updateScrollingClasses()}onScrollGapChanged(){this.updateScrollingClasses()}updateScrollingClasses(){this.eGridBody.classList.toggle("ag-body-vertical-content-no-gap",!this.scrollVisibleService.hasVerticalScrollGap()),this.eGridBody.classList.toggle("ag-body-horizontal-content-no-gap",!this.scrollVisibleService.hasHorizontalScrollGap())}onGridColumnsChanged(){let e=this.columnModel.getCols();this.comp.setColumnCount(e.length)}disableBrowserDragging(){this.addManagedElementListeners(this.eGridBody,{dragstart:e=>{if(e.target instanceof HTMLImageElement)return e.preventDefault(),!1}})}addStopEditingWhenGridLosesFocus(){if(!this.gos.get("stopEditingWhenCellsLoseFocus"))return;let e=i=>{let o=i.relatedTarget;if(ds(o)===null){this.rowRenderer.stopEditing();return}let s=t.some(r=>r.contains(o))&&this.mouseEventService.isElementInThisGrid(o);if(!s){let r=this.popupService;s=r.getActivePopups().some(n=>n.contains(o))||r.isElementWithinCustomPopup(o)}s||this.rowRenderer.stopEditing()},t=[this.eBodyViewport,this.eBottom,this.eTop,this.eStickyTop,this.eStickyBottom];t.forEach(i=>this.addManagedElementListeners(i,{focusout:e}))}updateRowCount(){let e=this.headerNavigationService.getHeaderRowCount()+(this.filterManager?.getHeaderRowCount()??0),t=this.rowModel.isLastRowIndexKnown()?this.rowModel.getRowCount():-1,i=t===-1?-1:e+t;this.comp.setRowCount(i)}registerBodyViewportResizeListener(e){this.comp.registerBodyViewportResizeListener(e)}setVerticalScrollPaddingVisible(e){let t=e?"scroll":"hidden";this.comp.setPinnedTopBottomOverflowY(t)}isVerticalScrollShowing(){let e=this.gos.get("alwaysShowVerticalScroll"),t=e?Jh:null,i=Re(this.gos,"normal");return this.comp.setAlwaysVerticalScrollClass(t,e),e||i&&Ic(this.eBodyViewport)}setupRowAnimationCssClass(){let e=this.environment.hasMeasuredSizes(),t=()=>{let i=e&&Wt(this.gos)&&!this.rowContainerHeightService.isStretching(),o=i?"ag-row-animation":"ag-row-no-animation";this.comp.setRowAnimationCssOnBodyViewport(o,i)};t(),this.addManagedEventListeners({heightScaleChanged:t}),this.addManagedPropertyListener("animateRows",t),this.addManagedEventListeners({gridStylesChanged:()=>{!e&&this.environment.hasMeasuredSizes()&&(e=!0,t())}})}getGridBodyElement(){return this.eGridBody}addBodyViewportListener(){let e=this.onBodyViewportContextMenu.bind(this);this.addManagedElementListeners(this.eBodyViewport,{contextmenu:e}),this.mockContextMenuForIPad(e),this.addManagedElementListeners(this.eBodyViewport,{wheel:this.onBodyViewportWheel.bind(this)}),this.addManagedElementListeners(this.eStickyTop,{wheel:this.onStickyWheel.bind(this)}),this.addManagedElementListeners(this.eStickyBottom,{wheel:this.onStickyWheel.bind(this)}),this.addFullWidthContainerWheelListener()}addFullWidthContainerWheelListener(){this.addManagedElementListeners(this.eFullWidthContainer,{wheel:e=>this.onFullWidthContainerWheel(e)})}onFullWidthContainerWheel(e){let{deltaX:t,deltaY:i,shiftKey:o}=e;(o||Math.abs(t)>Math.abs(i))&&this.mouseEventService.isEventFromThisGrid(e)&&this.scrollGridBodyToMatchEvent(e)}onStickyWheel(e){let{deltaX:t,deltaY:i,shiftKey:o}=e,s=o||Math.abs(t)>Math.abs(i),r=e.target;s?(this.eStickyTopFullWidthContainer.contains(r)||this.eStickyBottomFullWidthContainer.contains(r))&&this.scrollGridBodyToMatchEvent(e):(e.preventDefault(),this.scrollVertically(i))}scrollGridBodyToMatchEvent(e){let{deltaX:t,deltaY:i}=e;e.preventDefault(),this.eCenterColsViewport.scrollBy({left:t||i})}onBodyViewportContextMenu(e,t,i){if(!e&&!i)return;this.gos.get("preventDefaultOnContextMenu")&&(e||i).preventDefault();let{target:o}=e||t;(o===this.eBodyViewport||o===this.ctrlsService.get("center").getViewportElement())&&this.menuService.showContextMenu({mouseEvent:e,touchEvent:i,value:null,anchorToElement:this.eGridBody})}mockContextMenuForIPad(e){if(!Tt())return;let t=new xt(this.eBodyViewport),i=o=>{e(void 0,o.touchStart,o.touchEvent)};this.addManagedListeners(t,{longTap:i}),this.addDestroyFunc(()=>t.destroy())}onBodyViewportWheel(e){this.gos.get("suppressScrollWhenPopupsAreOpen")&&this.popupService.hasAnchoredPopup()&&e.preventDefault()}getGui(){return this.eGridBody}scrollVertically(e){let t=this.eBodyViewport.scrollTop;return this.bodyScrollFeature.setVerticalScrollPosition(t+e),this.eBodyViewport.scrollTop-t}addRowDragListener(){this.rowDragFeature=this.createManagedBean(new Ld(this.eBodyViewport)),this.dragAndDropService.addDropTarget(this.rowDragFeature),this.addDestroyFunc(()=>this.dragAndDropService.removeDropTarget(this.rowDragFeature))}getRowDragFeature(){return this.rowDragFeature}setFloatingHeights(){let{pinnedRowModel:e}=this,t=e.getPinnedTopTotalHeight(),i=e.getPinnedBottomTotalHeight();this.comp.setTopHeight(t),this.comp.setBottomHeight(i),this.comp.setTopDisplay(t?"inherit":"none"),this.comp.setBottomDisplay(i?"inherit":"none"),this.setStickyTopOffsetTop(),this.setStickyBottomOffsetBottom()}setStickyTopHeight(e=0){this.comp.setStickyTopHeight(`${e}px`),this.stickyTopHeight=e}getStickyTopHeight(){return this.stickyTopHeight}setStickyBottomHeight(e=0){this.comp.setStickyBottomHeight(`${e}px`),this.stickyBottomHeight=e}getStickyBottomHeight(){return this.stickyBottomHeight}setStickyWidth(e){if(!e)this.comp.setStickyTopWidth("100%"),this.comp.setStickyBottomWidth("100%");else{let t=this.scrollVisibleService.getScrollbarWidth();this.comp.setStickyTopWidth(`calc(100% - ${t}px)`),this.comp.setStickyBottomWidth(`calc(100% - ${t}px)`)}}onHeaderHeightChanged(){this.setStickyTopOffsetTop()}setStickyTopOffsetTop(){let t=this.ctrlsService.get("gridHeaderCtrl").getHeaderHeight()+(this.filterManager?.getHeaderHeight()??0),i=this.pinnedRowModel.getPinnedTopTotalHeight(),o=0;t>0&&(o+=t),i>0&&(o+=i),o>0&&(o+=1),this.comp.setStickyTopTop(`${o}px`)}setStickyBottomOffsetBottom(){let e=this.pinnedRowModel.getPinnedBottomTotalHeight(),i=this.scrollVisibleService.isHorizontalScrollShowing()&&this.scrollVisibleService.getScrollbarWidth()||0,o=e+i;this.comp.setStickyBottomBottom(`${o}px`)}sizeColumnsToFit(e,t){let o=this.isVerticalScrollShowing()?this.scrollVisibleService.getScrollbarWidth():0,r=Gi(this.eGridBody)-o;if(r>0){this.columnSizeService.sizeColumnsToFit(r,"sizeColumnsToFit",!1,e);return}t===void 0?window.setTimeout(()=>{this.sizeColumnsToFit(e,100)},0):t===100?window.setTimeout(()=>{this.sizeColumnsToFit(e,500)},100):t===500?window.setTimeout(()=>{this.sizeColumnsToFit(e,-1)},500):S("tried to call sizeColumnsToFit() but the grid is coming back with zero width, maybe the grid is not visible yet on the screen?")}addScrollEventListener(e){this.eBodyViewport.addEventListener("scroll",e,{passive:!0})}removeScrollEventListener(e){this.eBodyViewport.removeEventListener("scroll",e)}};function vi(e){return e.map(t=>`<ag-row-container name="${t}"></ag-row-container>`).join("")}var Ww=`<div class="ag-root ag-unselectable" role="treegrid">
|
|
105
105
|
<ag-header-root></ag-header-root>
|
|
106
106
|
<div class="ag-floating-top" data-ref="eTop" role="presentation">
|
|
107
107
|
${vi(["topLeft","topCenter","topRight","topFullWidth"])}
|
|
@@ -123,20 +123,20 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`}else s=`AG
|
|
|
123
123
|
</div>
|
|
124
124
|
<ag-fake-horizontal-scroll></ag-fake-horizontal-scroll>
|
|
125
125
|
<ag-overlay-wrapper></ag-overlay-wrapper>
|
|
126
|
-
</div>`;var Xh=class extends b{constructor(){super(...arguments),this.beanName="scrollVisibleService"}wireBeans(e){this.ctrlsService=e.ctrlsService,this.columnAnimationService=e.columnAnimationService}postConstruct(){this.getScrollbarWidth(),this.addManagedEventListeners({displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this)})}onDisplayedColumnsChanged(){this.updateScrollVisible()}onDisplayedColumnsWidthChanged(){this.updateScrollVisible()}onCentreViewportResized(){this.updateScrollGap()}updateScrollVisible(){this.columnAnimationService.isActive()?this.columnAnimationService.executeLaterVMTurn(()=>{this.columnAnimationService.executeLaterVMTurn(()=>this.updateScrollVisibleImpl())}):this.updateScrollVisibleImpl()}updateScrollVisibleImpl(){let e=this.ctrlsService.get("center");if(!e||this.columnAnimationService.isActive())return;let t={horizontalScrollShowing:e.isHorizontalScrollShowing(),verticalScrollShowing:this.isVerticalScrollShowing()};this.setScrollsVisible(t),this.updateScrollGap()}updateScrollGap(){let e=this.ctrlsService.get("center"),t=e.hasHorizontalScrollGap(),i=e.hasVerticalScrollGap();(this.horizontalScrollGap!==t||this.verticalScrollGap!==i)&&(this.horizontalScrollGap=t,this.verticalScrollGap=i,this.eventService.dispatchEvent({type:"scrollGapChanged"}))}setScrollsVisible(e){(this.horizontalScrollShowing!==e.horizontalScrollShowing||this.verticalScrollShowing!==e.verticalScrollShowing)&&(this.horizontalScrollShowing=e.horizontalScrollShowing,this.verticalScrollShowing=e.verticalScrollShowing,this.eventService.dispatchEvent({type:"scrollVisibilityChanged"}))}isHorizontalScrollShowing(){return this.horizontalScrollShowing}isVerticalScrollShowing(){return this.verticalScrollShowing}hasHorizontalScrollGap(){return this.horizontalScrollGap}hasVerticalScrollGap(){return this.verticalScrollGap}getScrollbarWidth(){if(this.scrollbarWidth==null){let e=this.gos.get("scrollbarWidth"),i=typeof e=="number"&&e>=0?e:Hc();i!=null&&(this.scrollbarWidth=i,this.eventService.dispatchEvent({type:"scrollbarWidthChanged"}))}return this.scrollbarWidth}},qr="__ag_grid_instance",za=class Ba extends b{constructor(){super(...arguments),this.beanName="mouseEventService",this.gridInstanceId=Ba.gridInstanceSequence.next()}wireBeans(t){this.ctrlsService=t.ctrlsService}stampTopLevelGridCompWithGridInstance(t){t[qr]=this.gridInstanceId}getRenderedCellForEvent(t){return ss(this.gos,t.target,zt.DOM_DATA_KEY_CELL_CTRL)}isEventFromThisGrid(t){return this.isElementInThisGrid(t.target)}isElementInThisGrid(t){let i=t;for(;i;){let o=i[qr];if(M(o))return o===this.gridInstanceId;i=i.parentElement}return!1}getCellPositionForEvent(t){let i=this.getRenderedCellForEvent(t);return i?i.getCellPosition():null}getNormalisedPosition(t){let i=Re(this.gos,"normal"),o=t,s,r;if(o.clientX!=null||o.clientY!=null?(s=o.clientX,r=o.clientY):(s=o.x,r=o.y),i){let n=this.ctrlsService.getGridBodyCtrl(),a=n.getScrollFeature().getVScrollPosition(),l=n.getScrollFeature().getHScrollPosition();s+=l.left,r+=a.top}return{x:s,y:r}}};za.gridInstanceSequence=new ks;var Zh=za,eg=class extends b{constructor(){super(),this.beanName="navigationService",this.onPageDown=Ar(this.onPageDown,100),this.onPageUp=Ar(this.onPageUp,100)}wireBeans(e){this.mouseEventService=e.mouseEventService,this.pageBoundsService=e.pageBoundsService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.ctrlsService=e.ctrlsService,this.rowRenderer=e.rowRenderer,this.headerNavigationService=e.headerNavigationService,this.rowPositionUtils=e.rowPositionUtils,this.cellNavigationService=e.cellNavigationService,this.pinnedRowModel=e.pinnedRowModel,this.scrollVisibleService=e.scrollVisibleService,this.rangeService=e.rangeService}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl})}handlePageScrollingKey(e,t=!1){let i=e.key,o=e.altKey,s=e.ctrlKey||e.metaKey,r=!!this.rangeService&&e.shiftKey,n=this.mouseEventService.getCellPositionForEvent(e),a=!1;switch(i){case y.PAGE_HOME:case y.PAGE_END:!s&&!o&&(this.onHomeOrEndKey(i),a=!0);break;case y.LEFT:case y.RIGHT:case y.UP:case y.DOWN:if(!n)return!1;s&&!o&&!r&&(this.onCtrlUpDownLeftRight(i,n),a=!0);break;case y.PAGE_DOWN:case y.PAGE_UP:!s&&!o&&(a=this.handlePageUpDown(i,n,t));break}return a&&e.preventDefault(),a}handlePageUpDown(e,t,i){return i&&(t=this.focusService.getFocusedCell()),t?(e===y.PAGE_UP?this.onPageUp(t):this.onPageDown(t),!0):!1}navigateTo(e){let{scrollIndex:t,scrollType:i,scrollColumn:o,focusIndex:s,focusColumn:r}=e;M(o)&&!o.isPinned()&&this.gridBodyCon.getScrollFeature().ensureColumnVisible(o),M(t)&&this.gridBodyCon.getScrollFeature().ensureIndexVisible(t,i),e.isAsync||this.gridBodyCon.getScrollFeature().ensureIndexVisible(s),this.focusService.setFocusedCell({rowIndex:s,column:r,rowPinned:null,forceBrowserFocus:!0}),this.rangeService?.setRangeToCell({rowIndex:s,rowPinned:null,column:r})}onPageDown(e){let i=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),o=this.getViewportHeight(),s=this.pageBoundsService.getPixelOffset(),r=i.top+o,n=this.rowModel.getRowIndexAtPixel(r+s);this.columnModel.isAutoRowHeightActive()?this.navigateToNextPageWithAutoHeight(e,n):this.navigateToNextPage(e,n)}onPageUp(e){let i=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),o=this.pageBoundsService.getPixelOffset(),s=i.top,r=this.rowModel.getRowIndexAtPixel(s+o);this.columnModel.isAutoRowHeightActive()?this.navigateToNextPageWithAutoHeight(e,r,!0):this.navigateToNextPage(e,r,!0)}navigateToNextPage(e,t,i=!1){let o=this.getViewportHeight(),s=this.pageBoundsService.getFirstRow(),r=this.pageBoundsService.getLastRow(),n=this.pageBoundsService.getPixelOffset(),a=this.rowModel.getRow(e.rowIndex),l=i?a?.rowHeight-o-n:o-n,c=a?.rowTop+l,d=this.rowModel.getRowIndexAtPixel(c+n);if(d===e.rowIndex){let h=i?-1:1;t=d=e.rowIndex+h}let u;i?(u="bottom",d<s&&(d=s),t<s&&(t=s)):(u="top",d>r&&(d=r),t>r&&(t=r)),this.isRowTallerThanView(d)&&(t=d,u="top"),this.navigateTo({scrollIndex:t,scrollType:u,scrollColumn:null,focusIndex:d,focusColumn:e.column})}navigateToNextPageWithAutoHeight(e,t,i=!1){this.navigateTo({scrollIndex:t,scrollType:i?"bottom":"top",scrollColumn:null,focusIndex:t,focusColumn:e.column}),setTimeout(()=>{let o=this.getNextFocusIndexForAutoHeight(e,i);this.navigateTo({scrollIndex:t,scrollType:i?"bottom":"top",scrollColumn:null,focusIndex:o,focusColumn:e.column,isAsync:!0})},50)}getNextFocusIndexForAutoHeight(e,t=!1){let i=t?-1:1,o=this.getViewportHeight(),s=this.pageBoundsService.getLastRow(),r=0,n=e.rowIndex;for(;n>=0&&n<=s;){let a=this.rowModel.getRow(n);if(a){let l=a.rowHeight??0;if(r+l>o)break;r+=l}n+=i}return Math.max(0,Math.min(n,s))}getViewportHeight(){let e=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),t=this.scrollVisibleService.getScrollbarWidth(),i=e.bottom-e.top;return this.ctrlsService.get("center").isHorizontalScrollShowing()&&(i-=t),i}isRowTallerThanView(e){let t=this.rowModel.getRow(e);if(!t)return!1;let i=t.rowHeight;return typeof i!="number"?!1:i>this.getViewportHeight()}onCtrlUpDownLeftRight(e,t){let i=this.cellNavigationService.getNextCellToFocus(e,t,!0),{rowIndex:o}=i,s=i.column;this.navigateTo({scrollIndex:o,scrollType:null,scrollColumn:s,focusIndex:o,focusColumn:s})}onHomeOrEndKey(e){let t=e===y.PAGE_HOME,i=this.visibleColsService.getAllCols(),o=t?i[0]:$(i),s=t?this.pageBoundsService.getFirstRow():this.pageBoundsService.getLastRow();this.navigateTo({scrollIndex:s,scrollType:null,scrollColumn:o,focusIndex:s,focusColumn:o})}onTabKeyDown(e,t){let i=t.shiftKey,o=this.tabToNextCellCommon(e,i,t);if(o!==!1){o?t.preventDefault():o===null&&this.focusService.allowFocusForNextGridCoreContainer(i);return}if(i){let{rowIndex:s,rowPinned:r}=e.getRowPosition();(r?s===0:s===this.pageBoundsService.getFirstRow())&&(this.gos.get("headerHeight")===0||this.focusService.isHeaderFocusSuppressed()?this.focusService.focusNextGridCoreContainer(!0,!0):(t.preventDefault(),this.focusService.focusPreviousFromFirstCell(t)))}else e instanceof zt&&e.focusCell(!0),(!i&&this.focusService.focusOverlay(!1)||this.focusService.focusNextGridCoreContainer(i))&&t.preventDefault()}tabToNextCell(e,t){let i=this.focusService.getFocusedCell();if(!i)return!1;let o=this.getCellByPosition(i);return!o&&(o=this.rowRenderer.getRowByPosition(i),!o||!o.isFullWidth())?!1:!!this.tabToNextCellCommon(o,e,t)}tabToNextCellCommon(e,t,i){let o=e.isEditing();if(!o&&e instanceof zt){let n=e.getRowCtrl();n&&(o=n.isEditing())}let s;return o?this.gos.get("editType")==="fullRow"?s=this.moveToNextEditingRow(e,t,i):s=this.moveToNextEditingCell(e,t,i):s=this.moveToNextCellNotEditing(e,t),s===null?s:s||!!this.focusService.getFocusedHeader()}moveToNextEditingCell(e,t,i=null){let o=e.getCellPosition();e.getGui().focus(),e.stopEditing();let s=this.findNextCellToFocusOn(o,t,!0);return s===!1?null:s==null?!1:(s.startEditing(null,!0,i),s.focusCell(!1),!0)}moveToNextEditingRow(e,t,i=null){let o=e.getCellPosition(),s=this.findNextCellToFocusOn(o,t,!0);if(s===!1)return null;if(s==null)return!1;let r=s.getCellPosition(),n=this.isCellEditable(o),a=this.isCellEditable(r),l=r&&o.rowIndex===r.rowIndex&&o.rowPinned===r.rowPinned;return n&&e.setFocusOutOnEditor(),l||(e.getRowCtrl().stopEditing(),s.getRowCtrl().startRowEditing(void 0,void 0,i)),a?(s.setFocusInOnEditor(),s.focusCell()):s.focusCell(!0),!0}moveToNextCellNotEditing(e,t){let i=this.visibleColsService.getAllCols(),o;e instanceof Bt?o={...e.getRowPosition(),column:t?i[0]:$(i)}:o=e.getCellPosition();let s=this.findNextCellToFocusOn(o,t,!1);if(s===!1)return null;if(s instanceof zt)s.focusCell(!0);else if(s)return this.tryToFocusFullWidthRow(s.getRowPosition(),t);return M(s)}findNextCellToFocusOn(e,t,i){let o=e;for(;;){e!==o&&(e=o),t||(o=this.getLastCellOfColSpan(o)),o=this.cellNavigationService.getNextTabbedCell(o,t);let s=this.gos.getCallback("tabToNextCell");if(M(s)){let l=s({backwards:t,editing:i,previousCellPosition:e,nextCellPosition:o||null});if(l===!0||l===null)l===null&&S("Returning `null` from tabToNextCell is deprecated. Return `true` to stay on the current cell, or `false` to let the browser handle the tab behaviour."),o=e;else{if(l===!1)return!1;o={rowIndex:l.rowIndex,column:l.column,rowPinned:l.rowPinned}}}if(!o)return null;if(o.rowIndex<0){let a=this.headerNavigationService.getHeaderRowCount();return this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:a+o.rowIndex,column:o.column},fromCell:!0}),null}let r=this.gos.get("editType")==="fullRow";if(i&&!r&&!this.isCellEditable(o))continue;this.ensureCellVisible(o);let n=this.getCellByPosition(o);if(!n){let a=this.rowRenderer.getRowByPosition(o);if(!a||!a.isFullWidth()||i)continue;return a}if(!n.isSuppressNavigable())return this.rangeService?.setRangeToCell(o),n}}isCellEditable(e){let t=this.lookupRowNodeForCell(e);return t?e.column.isCellEditable(t):!1}getCellByPosition(e){let t=this.rowRenderer.getRowByPosition(e);return t?t.getCellCtrl(e.column):null}lookupRowNodeForCell(e){return e.rowPinned==="top"?this.pinnedRowModel.getPinnedTopRow(e.rowIndex):e.rowPinned==="bottom"?this.pinnedRowModel.getPinnedBottomRow(e.rowIndex):this.rowModel.getRow(e.rowIndex)}navigateToNextCell(e,t,i,o){let s=i,r=!1;for(;s&&(s===i||!this.isValidNavigateCell(s));)this.gos.get("enableRtl")?t===y.LEFT&&(s=this.getLastCellOfColSpan(s)):t===y.RIGHT&&(s=this.getLastCellOfColSpan(s)),s=this.cellNavigationService.getNextCellToFocus(t,s),r=K(s);if(r&&e&&e.key===y.UP&&(s={rowIndex:-1,rowPinned:null,column:i.column}),o){let a=this.gos.getCallback("navigateToNextCell");if(M(a)){let c=a({key:t,previousCellPosition:i,nextCellPosition:s||null,event:e});M(c)?s={rowPinned:c.rowPinned,rowIndex:c.rowIndex,column:c.column}:s=null}}if(!s)return;if(s.rowIndex<0){let a=this.headerNavigationService.getHeaderRowCount();this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:a+s.rowIndex,column:i.column},event:e||void 0,fromCell:!0});return}let n=this.getNormalisedPosition(s);n?this.focusPosition(n):this.tryToFocusFullWidthRow(s)}getNormalisedPosition(e){this.ensureCellVisible(e);let t=this.getCellByPosition(e);return t?(e=t.getCellPosition(),this.ensureCellVisible(e),e):null}tryToFocusFullWidthRow(e,t){let i=this.visibleColsService.getAllCols(),o=this.rowRenderer.getRowByPosition(e);if(!o||!o.isFullWidth())return!1;let s=this.focusService.getFocusedCell(),r={rowIndex:e.rowIndex,rowPinned:e.rowPinned,column:e.column||(t?$(i):i[0])};this.focusPosition(r);let n=t??(s!=null&&this.rowPositionUtils.before(r,s));return this.eventService.dispatchEvent({type:"fullWidthRowFocused",rowIndex:r.rowIndex,rowPinned:r.rowPinned,column:r.column,isFullWidthCell:!0,fromBelow:n}),!0}focusPosition(e){this.focusService.setFocusedCell({rowIndex:e.rowIndex,column:e.column,rowPinned:e.rowPinned,forceBrowserFocus:!0}),this.rangeService?.setRangeToCell(e)}isValidNavigateCell(e){return!!this.rowPositionUtils.getRowNode(e)}getLastCellOfColSpan(e){let t=this.getCellByPosition(e);if(!t)return e;let i=t.getColSpanningList();return i.length===1?e:{rowIndex:e.rowIndex,column:$(i),rowPinned:e.rowPinned}}ensureCellVisible(e){let t=mo(this.gos),i=this.rowModel.getRow(e.rowIndex);!(t&&i?.sticky)&&K(e.rowPinned)&&this.gridBodyCon.getScrollFeature().ensureIndexVisible(e.rowIndex),e.column.isPinned()||this.gridBodyCon.getScrollFeature().ensureColumnVisible(e.column)}},tg=class extends b{constructor(){super(...arguments),this.beanName="horizontalResizeService"}wireBeans(e){this.dragService=e.dragService,this.ctrlsService=e.ctrlsService}addResizeBar(e){let t={dragStartPixels:e.dragStartPixels||0,eElement:e.eResizeBar,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this,e),onDragging:this.onDragging.bind(this,e),onDragCancel:this.onDragStop.bind(this,e),includeTouch:!0,stopPropagationForTouch:!0};return this.dragService.addDragSource(t),()=>this.dragService.removeDragSource(t)}onDragStart(e,t){this.dragStartX=t.clientX,this.setResizeIcons();let i=t instanceof MouseEvent&&t.shiftKey===!0;e.onResizeStart(i)}setResizeIcons(){let e=this.ctrlsService.get("gridCtrl");e.setResizeCursor(!0),e.disableUserSelect(!0)}onDragStop(e){e.onResizeEnd(this.resizeAmount),this.resetIcons()}resetIcons(){let e=this.ctrlsService.get("gridCtrl");e.setResizeCursor(!1),e.disableUserSelect(!1)}onDragging(e,t){this.resizeAmount=t.clientX-this.dragStartX,e.onResizing(this.resizeAmount)}},ig=class extends b{constructor(){super(...arguments),this.beanName="filterMenuFactory"}wireBeans(e){this.popupService=e.popupService,this.focusService=e.focusService,this.ctrlsService=e.ctrlsService,this.menuService=e.menuService}hideActiveMenu(){this.hidePopup&&this.hidePopup()}showMenuAfterMouseEvent(e,t,i){this.showPopup(e,o=>{this.popupService.positionPopupUnderMouseEvent({column:e,type:i,mouseEvent:t,ePopup:o})},i,t.target,this.menuService.isLegacyMenuEnabled())}showMenuAfterButtonClick(e,t,i){let o=-1,s="left",r=this.menuService.isLegacyMenuEnabled();!r&&this.gos.get("enableRtl")&&(o=1,s="right");let n=r?void 0:4*o,a=r?void 0:4;this.showPopup(e,l=>{this.popupService.positionPopupByComponent({type:i,eventSource:t,ePopup:l,nudgeX:n,nudgeY:a,alignSide:s,keepWithinBounds:!0,position:"under",column:e})},i,t,r)}showPopup(e,t,i,o,s){let r=e?this.createBean(new Hd(e,"COLUMN_MENU")):void 0;if(this.activeMenu=r,!r?.hasFilter()||!e)throw new Error("AG Grid - unable to show popup filter, filter instantiation failed");let n=document.createElement("div");Xe(n,"presentation"),n.classList.add("ag-menu"),s||n.classList.add("ag-filter-menu"),[this.tabListener]=this.addManagedElementListeners(n,{keydown:f=>this.trapFocusWithin(f,n)}),n.appendChild(r?.getGui());let a,l=()=>r?.afterGuiDetached(),c=this.menuService.isColumnMenuAnchoringEnabled()?o??this.ctrlsService.getGridBodyCtrl().getGui():void 0,d=f=>{e.setMenuVisible(!1,"contextMenu");let m=f instanceof KeyboardEvent;if(this.tabListener&&(this.tabListener=this.tabListener()),m&&o&&rt(o)){let p=this.focusService.findTabbableParent(o);p&&p.focus()}l(),this.destroyBean(this.activeMenu),this.dispatchVisibleChangedEvent(!1,i,e)},u=this.localeService.getLocaleTextFunc(),h=s&&i!=="columnFilter"?u("ariaLabelColumnMenu","Column Menu"):u("ariaLabelColumnFilter","Column Filter"),g=this.popupService.addPopup({modal:!0,eChild:n,closeOnEsc:!0,closedCallback:d,positionCallback:()=>t(n),anchorToElement:c,ariaLabel:h});g&&(this.hidePopup=a=g.hideFunc),r.afterInit().then(()=>{t(n),r.afterGuiAttached({container:i,hidePopup:a})}),e.setMenuVisible(!0,"contextMenu"),this.dispatchVisibleChangedEvent(!0,i,e)}trapFocusWithin(e,t){e.key!==y.TAB||e.defaultPrevented||this.focusService.findNextFocusableElement(t,!1,e.shiftKey)||(e.preventDefault(),this.focusService.focusInto(t,e.shiftKey))}dispatchVisibleChangedEvent(e,t,i){this.eventService.dispatchEvent({type:"columnMenuVisibleChanged",visible:e,switchingTab:!1,key:t,column:i??null,columnGroup:null})}isMenuEnabled(e){return e.isFilterAllowed()&&(e.getColDef().menuTabs??["filterMenuTab"]).includes("filterMenuTab")}showMenuAfterContextMenuEvent(){}destroy(){this.destroyBean(this.activeMenu),super.destroy()}},og=class extends b{constructor(){super(...arguments),this.beanName="resizeObserverService"}observeResize(e,t){let o=cn(this.gos).ResizeObserver,s=o?new o(t):null;return s?.observe(e),()=>s?.disconnect()}},sg=class extends b{constructor(){super(...arguments),this.beanName="animationFrameService",this.createTasksP1={list:[],sorted:!1},this.createTasksP2={list:[],sorted:!1},this.destroyTasks=[],this.ticking=!1,this.scrollGoingDown=!0,this.lastPage=0,this.lastScrollTop=0,this.taskCount=0,this.cancelledTasks=new Set}wireBeans(e){this.ctrlsService=e.ctrlsService,this.paginationService=e.paginationService}setScrollTop(e){let t=this.gos.get("pagination");if(this.scrollGoingDown=e>=this.lastScrollTop,t&&e===0){let i=this.paginationService?.getCurrentPage()??0;i!==this.lastPage&&(this.lastPage=i,this.scrollGoingDown=!0)}this.lastScrollTop=e}postConstruct(){this.useAnimationFrame=!this.gos.get("suppressAnimationFrame")}isOn(){return this.useAnimationFrame}verifyAnimationFrameOn(e){this.useAnimationFrame===!1&&S(`AnimationFrameService.${e} called but animation frames are off`)}createTask(e,t,i){this.verifyAnimationFrameOn(i);let o={task:e,index:t,createOrder:++this.taskCount};this.addTaskToList(this[i],o),this.schedule()}cancelTask(e){this.cancelledTasks.add(e)}addTaskToList(e,t){e.list.push(t),e.sorted=!1}sortTaskList(e){if(e.sorted)return;let t=this.scrollGoingDown?1:-1;e.list.sort((i,o)=>i.index!==o.index?t*(o.index-i.index):o.createOrder-i.createOrder),e.sorted=!0}addDestroyTask(e){this.verifyAnimationFrameOn("createTasksP3"),this.destroyTasks.push(e),this.schedule()}executeFrame(e){this.verifyAnimationFrameOn("executeFrame");let t=this.createTasksP1,i=t.list,o=this.createTasksP2,s=o.list,r=this.destroyTasks,n=new Date().getTime(),a=new Date().getTime()-n,l=e<=0,c=this.ctrlsService.getGridBodyCtrl();for(;l||a<e;){if(!c.getScrollFeature().scrollGridIfNeeded()){let u;if(i.length)this.sortTaskList(t),u=i.pop().task;else if(s.length)this.sortTaskList(o),u=s.pop().task;else if(r.length)u=r.pop();else{this.cancelledTasks.clear();break}this.cancelledTasks.has(u)||u()}a=new Date().getTime()-n}i.length||s.length||r.length?this.requestFrame():this.stopTicking()}stopTicking(){this.ticking=!1}flushAllFrames(){this.useAnimationFrame&&this.executeFrame(-1)}schedule(){this.useAnimationFrame&&(this.ticking||(this.ticking=!0,this.requestFrame()))}requestFrame(){let e=this.executeFrame.bind(this,60);this.requestAnimationFrame(e)}requestAnimationFrame(e){let t=cn(this.gos);t.requestAnimationFrame?t.requestAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(e):t.setTimeout(e,0)}isQueueEmpty(){return!this.ticking}debounce(e){let t=!1;return()=>{if(!this.isOn()){window.setTimeout(e,0);return}t||(t=!0,this.addDestroyTask(()=>{t=!1,e()}))}}},_=(e=>(e.EVERYTHING="group",e.FILTER="filter",e.SORT="sort",e.MAP="map",e.AGGREGATE="aggregate",e.FILTER_AGGREGATES="filter_aggregates",e.PIVOT="pivot",e.NOTHING="nothing",e))(_||{}),rg=class extends b{constructor(){super(...arguments),this.beanName="expansionService"}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.isClientSideRowModel=de(this.gos)}expandRows(e){if(!this.isClientSideRowModel)return;let t=new Set(e);this.rowModel.forEachNode(i=>{i.id&&t.has(i.id)&&(i.expanded=!0)}),this.onGroupExpandedOrCollapsed()}getExpandedRows(){let e=[];return this.rowModel.forEachNode(({expanded:t,id:i})=>{t&&i&&e.push(i)}),e}expandAll(e){this.isClientSideRowModel&&this.rowModel.expandOrCollapseAll(e)}setRowNodeExpanded(e,t,i,o){e&&(i&&e.parent&&e.parent.level!==-1&&this.setRowNodeExpanded(e.parent,t,i,o),e.setExpanded(t,void 0,o))}onGroupExpandedOrCollapsed(){this.isClientSideRowModel&&this.rowModel.refreshModel({step:"map"})}},ng=class extends b{constructor(){super(...arguments),this.beanName="menuService"}wireBeans(e){this.valueService=e.valueService,this.filterMenuFactory=e.filterMenuFactory,this.ctrlsService=e.ctrlsService,this.animationFrameService=e.animationFrameService,this.filterManager=e.filterManager,this.rowRenderer=e.rowRenderer,this.columnChooserFactory=e.columnChooserFactory,this.contextMenuFactory=e.contextMenuFactory,this.enterpriseMenuFactory=e.enterpriseMenuFactory}postConstruct(){this.activeMenuFactory=this.enterpriseMenuFactory??this.filterMenuFactory}showColumnMenu(e){this.showColumnMenuCommon(this.activeMenuFactory,e,"columnMenu")}showFilterMenu(e){let t=this.enterpriseMenuFactory&&this.isLegacyMenuEnabled()?this.enterpriseMenuFactory:this.filterMenuFactory;this.showColumnMenuCommon(t,e,e.containerType,!0)}showHeaderContextMenu(e,t,i){this.activeMenuFactory.showMenuAfterContextMenuEvent(e,t,i)}getContextMenuPosition(e,t){let i=this.getRowCtrl(e),o=this.getCellGui(i,t);if(!o)return i?{x:0,y:i.getRowYPosition()}:{x:0,y:0};let s=o.getBoundingClientRect();return{x:s.x+s.width/2,y:s.y+s.height/2}}showContextMenu(e){let t=e.rowNode,i=e.column,{anchorToElement:o,value:s}=e;t&&i&&s==null&&(s=this.valueService.getValueForDisplay(i,t)),o==null&&(o=this.getContextMenuAnchorElement(t,i)),this.contextMenuFactory?.onContextMenu(e.mouseEvent??null,e.touchEvent??null,t??null,i??null,s,o)}showColumnChooser(e){this.columnChooserFactory?.showColumnChooser(e)}hidePopupMenu(){this.contextMenuFactory?.hideActiveMenu(),this.activeMenuFactory.hideActiveMenu()}hideColumnChooser(){this.columnChooserFactory?.hideActiveColumnChooser()}isColumnMenuInHeaderEnabled(e){let{suppressMenu:t,suppressHeaderMenuButton:i}=e.getColDef();return!(i??t)&&this.activeMenuFactory.isMenuEnabled(e)&&(this.isLegacyMenuEnabled()||!!this.enterpriseMenuFactory)}isFilterMenuInHeaderEnabled(e){return!e.getColDef().suppressHeaderFilterButton&&!!this.filterManager?.isFilterAllowed(e)}isHeaderContextMenuEnabled(e){return!(e&&Et(e)?e.getColDef():e?.getColGroupDef())?.suppressHeaderContextMenu&&this.getColumnMenuType()==="new"}isHeaderMenuButtonAlwaysShowEnabled(){return this.isSuppressMenuHide()}isHeaderMenuButtonEnabled(){let e=!this.isSuppressMenuHide();return!(Tt()&&e)}isHeaderFilterButtonEnabled(e){return this.isFilterMenuInHeaderEnabled(e)&&!this.isLegacyMenuEnabled()&&!this.isFloatingFilterButtonDisplayed(e)}isFilterMenuItemEnabled(e){return!!this.filterManager?.isFilterAllowed(e)&&!this.isLegacyMenuEnabled()&&!this.isFilterMenuInHeaderEnabled(e)&&!this.isFloatingFilterButtonDisplayed(e)}isColumnMenuAnchoringEnabled(){return!this.isLegacyMenuEnabled()}areAdditionalColumnMenuItemsEnabled(){return this.getColumnMenuType()==="new"}isLegacyMenuEnabled(){return this.getColumnMenuType()==="legacy"}isFloatingFilterButtonEnabled(e){let t=e.getColDef(),i=t.floatingFilterComponentParams?.suppressFilterButton;return i!=null&&S("As of v31.1, 'colDef.floatingFilterComponentParams.suppressFilterButton' is deprecated. Use 'colDef.suppressFloatingFilterButton' instead."),t.suppressFloatingFilterButton==null?!i:!t.suppressFloatingFilterButton}getColumnMenuType(){return this.gos.get("columnMenu")}isFloatingFilterButtonDisplayed(e){return!!e.getColDef().floatingFilter&&this.isFloatingFilterButtonEnabled(e)}isSuppressMenuHide(){let e=this.gos.get("suppressMenuHide");return this.isLegacyMenuEnabled()?this.gos.exists("suppressMenuHide")?e:!1:e}showColumnMenuCommon(e,t,i,o){let{positionBy:s}=t,r=t.column;if(s==="button"){let{buttonElement:n}=t;e.showMenuAfterButtonClick(r,n,i,o)}else if(s==="mouse"){let{mouseEvent:n}=t;e.showMenuAfterMouseEvent(r,n,i,o)}else r&&(this.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(r,"auto"),this.animationFrameService.requestAnimationFrame(()=>{let n=this.ctrlsService.getHeaderRowContainerCtrl(r.getPinned())?.getHeaderCtrlForColumn(r);n&&e.showMenuAfterButtonClick(r,n.getAnchorElementForMenu(o),i,!0)}))}getRowCtrl(e){let{rowIndex:t,rowPinned:i}=e||{};if(t!=null)return this.rowRenderer.getRowByPosition({rowIndex:t,rowPinned:i})||void 0}getCellGui(e,t){return!e||!t?void 0:e.getCellCtrl(t)?.getGui()||void 0}getContextMenuAnchorElement(e,t){let i=this.ctrlsService.getGridBodyCtrl().getGridBodyElement(),o=this.getRowCtrl(e);if(!o)return i;let s=this.getCellGui(o,t);return s||(o.isFullWidth()?o.getFullWidthElement():i)}},ag=class extends Ot{constructor(e){super(e,"ag-text-area",null,"textarea")}setValue(e,t){let i=super.setValue(e,t);return this.eInput.value=e,i}setCols(e){return this.eInput.cols=e,this}setRows(e){return this.eInput.rows=e,this}},lg={selector:"AG-INPUT-TEXT-AREA",component:ag},cg=class extends li{constructor(){super(`<div class="ag-large-text">
|
|
126
|
+
</div>`;var eg=class extends b{constructor(){super(...arguments),this.beanName="scrollVisibleService"}wireBeans(e){this.ctrlsService=e.ctrlsService,this.columnAnimationService=e.columnAnimationService}postConstruct(){this.getScrollbarWidth(),this.addManagedEventListeners({displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this)})}onDisplayedColumnsChanged(){this.updateScrollVisible()}onDisplayedColumnsWidthChanged(){this.updateScrollVisible()}onCentreViewportResized(){this.updateScrollGap()}updateScrollVisible(){this.columnAnimationService.isActive()?this.columnAnimationService.executeLaterVMTurn(()=>{this.columnAnimationService.executeLaterVMTurn(()=>this.updateScrollVisibleImpl())}):this.updateScrollVisibleImpl()}updateScrollVisibleImpl(){let e=this.ctrlsService.get("center");if(!e||this.columnAnimationService.isActive())return;let t={horizontalScrollShowing:e.isHorizontalScrollShowing(),verticalScrollShowing:this.isVerticalScrollShowing()};this.setScrollsVisible(t),this.updateScrollGap()}updateScrollGap(){let e=this.ctrlsService.get("center"),t=e.hasHorizontalScrollGap(),i=e.hasVerticalScrollGap();(this.horizontalScrollGap!==t||this.verticalScrollGap!==i)&&(this.horizontalScrollGap=t,this.verticalScrollGap=i,this.eventService.dispatchEvent({type:"scrollGapChanged"}))}setScrollsVisible(e){(this.horizontalScrollShowing!==e.horizontalScrollShowing||this.verticalScrollShowing!==e.verticalScrollShowing)&&(this.horizontalScrollShowing=e.horizontalScrollShowing,this.verticalScrollShowing=e.verticalScrollShowing,this.eventService.dispatchEvent({type:"scrollVisibilityChanged"}))}isHorizontalScrollShowing(){return this.horizontalScrollShowing}isVerticalScrollShowing(){return this.verticalScrollShowing}hasHorizontalScrollGap(){return this.horizontalScrollGap}hasVerticalScrollGap(){return this.verticalScrollGap}getScrollbarWidth(){if(this.scrollbarWidth==null){let e=this.gos.get("scrollbarWidth"),i=typeof e=="number"&&e>=0?e:Bc();i!=null&&(this.scrollbarWidth=i,this.eventService.dispatchEvent({type:"scrollbarWidthChanged"}))}return this.scrollbarWidth}},Xr="__ag_grid_instance",Va=class Wa extends b{constructor(){super(...arguments),this.beanName="mouseEventService",this.gridInstanceId=Wa.gridInstanceSequence.next()}wireBeans(t){this.ctrlsService=t.ctrlsService}stampTopLevelGridCompWithGridInstance(t){t[Xr]=this.gridInstanceId}getRenderedCellForEvent(t){return rs(this.gos,t.target,zt.DOM_DATA_KEY_CELL_CTRL)}isEventFromThisGrid(t){return this.isElementInThisGrid(t.target)}isElementInThisGrid(t){let i=t;for(;i;){let o=i[Xr];if(M(o))return o===this.gridInstanceId;i=i.parentElement}return!1}getCellPositionForEvent(t){let i=this.getRenderedCellForEvent(t);return i?i.getCellPosition():null}getNormalisedPosition(t){let i=Re(this.gos,"normal"),o=t,s,r;if(o.clientX!=null||o.clientY!=null?(s=o.clientX,r=o.clientY):(s=o.x,r=o.y),i){let n=this.ctrlsService.getGridBodyCtrl(),a=n.getScrollFeature().getVScrollPosition(),l=n.getScrollFeature().getHScrollPosition();s+=l.left,r+=a.top}return{x:s,y:r}}};Va.gridInstanceSequence=new Is;var tg=Va,ig=class extends b{constructor(){super(),this.beanName="navigationService",this.onPageDown=Ir(this.onPageDown,100),this.onPageUp=Ir(this.onPageUp,100)}wireBeans(e){this.mouseEventService=e.mouseEventService,this.pageBoundsService=e.pageBoundsService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.ctrlsService=e.ctrlsService,this.rowRenderer=e.rowRenderer,this.headerNavigationService=e.headerNavigationService,this.rowPositionUtils=e.rowPositionUtils,this.cellNavigationService=e.cellNavigationService,this.pinnedRowModel=e.pinnedRowModel,this.scrollVisibleService=e.scrollVisibleService,this.rangeService=e.rangeService}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl})}handlePageScrollingKey(e,t=!1){let i=e.key,o=e.altKey,s=e.ctrlKey||e.metaKey,r=!!this.rangeService&&e.shiftKey,n=this.mouseEventService.getCellPositionForEvent(e),a=!1;switch(i){case y.PAGE_HOME:case y.PAGE_END:!s&&!o&&(this.onHomeOrEndKey(i),a=!0);break;case y.LEFT:case y.RIGHT:case y.UP:case y.DOWN:if(!n)return!1;s&&!o&&!r&&(this.onCtrlUpDownLeftRight(i,n),a=!0);break;case y.PAGE_DOWN:case y.PAGE_UP:!s&&!o&&(a=this.handlePageUpDown(i,n,t));break}return a&&e.preventDefault(),a}handlePageUpDown(e,t,i){return i&&(t=this.focusService.getFocusedCell()),t?(e===y.PAGE_UP?this.onPageUp(t):this.onPageDown(t),!0):!1}navigateTo(e){let{scrollIndex:t,scrollType:i,scrollColumn:o,focusIndex:s,focusColumn:r}=e;M(o)&&!o.isPinned()&&this.gridBodyCon.getScrollFeature().ensureColumnVisible(o),M(t)&&this.gridBodyCon.getScrollFeature().ensureIndexVisible(t,i),e.isAsync||this.gridBodyCon.getScrollFeature().ensureIndexVisible(s),this.focusService.setFocusedCell({rowIndex:s,column:r,rowPinned:null,forceBrowserFocus:!0}),this.rangeService?.setRangeToCell({rowIndex:s,rowPinned:null,column:r})}onPageDown(e){let i=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),o=this.getViewportHeight(),s=this.pageBoundsService.getPixelOffset(),r=i.top+o,n=this.rowModel.getRowIndexAtPixel(r+s);this.columnModel.isAutoRowHeightActive()?this.navigateToNextPageWithAutoHeight(e,n):this.navigateToNextPage(e,n)}onPageUp(e){let i=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),o=this.pageBoundsService.getPixelOffset(),s=i.top,r=this.rowModel.getRowIndexAtPixel(s+o);this.columnModel.isAutoRowHeightActive()?this.navigateToNextPageWithAutoHeight(e,r,!0):this.navigateToNextPage(e,r,!0)}navigateToNextPage(e,t,i=!1){let o=this.getViewportHeight(),s=this.pageBoundsService.getFirstRow(),r=this.pageBoundsService.getLastRow(),n=this.pageBoundsService.getPixelOffset(),a=this.rowModel.getRow(e.rowIndex),l=i?a?.rowHeight-o-n:o-n,c=a?.rowTop+l,d=this.rowModel.getRowIndexAtPixel(c+n);if(d===e.rowIndex){let h=i?-1:1;t=d=e.rowIndex+h}let u;i?(u="bottom",d<s&&(d=s),t<s&&(t=s)):(u="top",d>r&&(d=r),t>r&&(t=r)),this.isRowTallerThanView(d)&&(t=d,u="top"),this.navigateTo({scrollIndex:t,scrollType:u,scrollColumn:null,focusIndex:d,focusColumn:e.column})}navigateToNextPageWithAutoHeight(e,t,i=!1){this.navigateTo({scrollIndex:t,scrollType:i?"bottom":"top",scrollColumn:null,focusIndex:t,focusColumn:e.column}),setTimeout(()=>{let o=this.getNextFocusIndexForAutoHeight(e,i);this.navigateTo({scrollIndex:t,scrollType:i?"bottom":"top",scrollColumn:null,focusIndex:o,focusColumn:e.column,isAsync:!0})},50)}getNextFocusIndexForAutoHeight(e,t=!1){let i=t?-1:1,o=this.getViewportHeight(),s=this.pageBoundsService.getLastRow(),r=0,n=e.rowIndex;for(;n>=0&&n<=s;){let a=this.rowModel.getRow(n);if(a){let l=a.rowHeight??0;if(r+l>o)break;r+=l}n+=i}return Math.max(0,Math.min(n,s))}getViewportHeight(){let e=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),t=this.scrollVisibleService.getScrollbarWidth(),i=e.bottom-e.top;return this.ctrlsService.get("center").isHorizontalScrollShowing()&&(i-=t),i}isRowTallerThanView(e){let t=this.rowModel.getRow(e);if(!t)return!1;let i=t.rowHeight;return typeof i!="number"?!1:i>this.getViewportHeight()}onCtrlUpDownLeftRight(e,t){let i=this.cellNavigationService.getNextCellToFocus(e,t,!0),{rowIndex:o}=i,s=i.column;this.navigateTo({scrollIndex:o,scrollType:null,scrollColumn:s,focusIndex:o,focusColumn:s})}onHomeOrEndKey(e){let t=e===y.PAGE_HOME,i=this.visibleColsService.getAllCols(),o=t?i[0]:$(i),s=t?this.pageBoundsService.getFirstRow():this.pageBoundsService.getLastRow();this.navigateTo({scrollIndex:s,scrollType:null,scrollColumn:o,focusIndex:s,focusColumn:o})}onTabKeyDown(e,t){let i=t.shiftKey,o=this.tabToNextCellCommon(e,i,t);if(o!==!1){o?t.preventDefault():o===null&&this.focusService.allowFocusForNextGridCoreContainer(i);return}if(i){let{rowIndex:s,rowPinned:r}=e.getRowPosition();(r?s===0:s===this.pageBoundsService.getFirstRow())&&(this.gos.get("headerHeight")===0||this.focusService.isHeaderFocusSuppressed()?this.focusService.focusNextGridCoreContainer(!0,!0):(t.preventDefault(),this.focusService.focusPreviousFromFirstCell(t)))}else e instanceof zt&&e.focusCell(!0),(!i&&this.focusService.focusOverlay(!1)||this.focusService.focusNextGridCoreContainer(i))&&t.preventDefault()}tabToNextCell(e,t){let i=this.focusService.getFocusedCell();if(!i)return!1;let o=this.getCellByPosition(i);return!o&&(o=this.rowRenderer.getRowByPosition(i),!o||!o.isFullWidth())?!1:!!this.tabToNextCellCommon(o,e,t)}tabToNextCellCommon(e,t,i){let o=e.isEditing();if(!o&&e instanceof zt){let n=e.getRowCtrl();n&&(o=n.isEditing())}let s;return o?this.gos.get("editType")==="fullRow"?s=this.moveToNextEditingRow(e,t,i):s=this.moveToNextEditingCell(e,t,i):s=this.moveToNextCellNotEditing(e,t),s===null?s:s||!!this.focusService.getFocusedHeader()}moveToNextEditingCell(e,t,i=null){let o=e.getCellPosition();e.getGui().focus(),e.stopEditing();let s=this.findNextCellToFocusOn(o,t,!0);return s===!1?null:s==null?!1:(s.startEditing(null,!0,i),s.focusCell(!1),!0)}moveToNextEditingRow(e,t,i=null){let o=e.getCellPosition(),s=this.findNextCellToFocusOn(o,t,!0);if(s===!1)return null;if(s==null)return!1;let r=s.getCellPosition(),n=this.isCellEditable(o),a=this.isCellEditable(r),l=r&&o.rowIndex===r.rowIndex&&o.rowPinned===r.rowPinned;return n&&e.setFocusOutOnEditor(),l||(e.getRowCtrl().stopEditing(),s.getRowCtrl().startRowEditing(void 0,void 0,i)),a?(s.setFocusInOnEditor(),s.focusCell()):s.focusCell(!0),!0}moveToNextCellNotEditing(e,t){let i=this.visibleColsService.getAllCols(),o;e instanceof Bt?o={...e.getRowPosition(),column:t?i[0]:$(i)}:o=e.getCellPosition();let s=this.findNextCellToFocusOn(o,t,!1);if(s===!1)return null;if(s instanceof zt)s.focusCell(!0);else if(s)return this.tryToFocusFullWidthRow(s.getRowPosition(),t);return M(s)}findNextCellToFocusOn(e,t,i){let o=e;for(;;){e!==o&&(e=o),t||(o=this.getLastCellOfColSpan(o)),o=this.cellNavigationService.getNextTabbedCell(o,t);let s=this.gos.getCallback("tabToNextCell");if(M(s)){let l=s({backwards:t,editing:i,previousCellPosition:e,nextCellPosition:o||null});if(l===!0||l===null)l===null&&S("Returning `null` from tabToNextCell is deprecated. Return `true` to stay on the current cell, or `false` to let the browser handle the tab behaviour."),o=e;else{if(l===!1)return!1;o={rowIndex:l.rowIndex,column:l.column,rowPinned:l.rowPinned}}}if(!o)return null;if(o.rowIndex<0){let a=this.headerNavigationService.getHeaderRowCount();return this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:a+o.rowIndex,column:o.column},fromCell:!0}),null}let r=this.gos.get("editType")==="fullRow";if(i&&!r&&!this.isCellEditable(o))continue;this.ensureCellVisible(o);let n=this.getCellByPosition(o);if(!n){let a=this.rowRenderer.getRowByPosition(o);if(!a||!a.isFullWidth()||i)continue;return a}if(!n.isSuppressNavigable())return this.rangeService?.setRangeToCell(o),n}}isCellEditable(e){let t=this.lookupRowNodeForCell(e);return t?e.column.isCellEditable(t):!1}getCellByPosition(e){let t=this.rowRenderer.getRowByPosition(e);return t?t.getCellCtrl(e.column):null}lookupRowNodeForCell(e){return e.rowPinned==="top"?this.pinnedRowModel.getPinnedTopRow(e.rowIndex):e.rowPinned==="bottom"?this.pinnedRowModel.getPinnedBottomRow(e.rowIndex):this.rowModel.getRow(e.rowIndex)}navigateToNextCell(e,t,i,o){let s=i,r=!1;for(;s&&(s===i||!this.isValidNavigateCell(s));)this.gos.get("enableRtl")?t===y.LEFT&&(s=this.getLastCellOfColSpan(s)):t===y.RIGHT&&(s=this.getLastCellOfColSpan(s)),s=this.cellNavigationService.getNextCellToFocus(t,s),r=K(s);if(r&&e&&e.key===y.UP&&(s={rowIndex:-1,rowPinned:null,column:i.column}),o){let a=this.gos.getCallback("navigateToNextCell");if(M(a)){let c=a({key:t,previousCellPosition:i,nextCellPosition:s||null,event:e});M(c)?s={rowPinned:c.rowPinned,rowIndex:c.rowIndex,column:c.column}:s=null}}if(!s)return;if(s.rowIndex<0){let a=this.headerNavigationService.getHeaderRowCount();this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:a+s.rowIndex,column:i.column},event:e||void 0,fromCell:!0});return}let n=this.getNormalisedPosition(s);n?this.focusPosition(n):this.tryToFocusFullWidthRow(s)}getNormalisedPosition(e){this.ensureCellVisible(e);let t=this.getCellByPosition(e);return t?(e=t.getCellPosition(),this.ensureCellVisible(e),e):null}tryToFocusFullWidthRow(e,t){let i=this.visibleColsService.getAllCols(),o=this.rowRenderer.getRowByPosition(e);if(!o||!o.isFullWidth())return!1;let s=this.focusService.getFocusedCell(),r={rowIndex:e.rowIndex,rowPinned:e.rowPinned,column:e.column||(t?$(i):i[0])};this.focusPosition(r);let n=t??(s!=null&&this.rowPositionUtils.before(r,s));return this.eventService.dispatchEvent({type:"fullWidthRowFocused",rowIndex:r.rowIndex,rowPinned:r.rowPinned,column:r.column,isFullWidthCell:!0,fromBelow:n}),!0}focusPosition(e){this.focusService.setFocusedCell({rowIndex:e.rowIndex,column:e.column,rowPinned:e.rowPinned,forceBrowserFocus:!0}),this.rangeService?.setRangeToCell(e)}isValidNavigateCell(e){return!!this.rowPositionUtils.getRowNode(e)}getLastCellOfColSpan(e){let t=this.getCellByPosition(e);if(!t)return e;let i=t.getColSpanningList();return i.length===1?e:{rowIndex:e.rowIndex,column:$(i),rowPinned:e.rowPinned}}ensureCellVisible(e){let t=vo(this.gos),i=this.rowModel.getRow(e.rowIndex);!(t&&i?.sticky)&&K(e.rowPinned)&&this.gridBodyCon.getScrollFeature().ensureIndexVisible(e.rowIndex),e.column.isPinned()||this.gridBodyCon.getScrollFeature().ensureColumnVisible(e.column)}},og=class extends b{constructor(){super(...arguments),this.beanName="horizontalResizeService"}wireBeans(e){this.dragService=e.dragService,this.ctrlsService=e.ctrlsService}addResizeBar(e){let t={dragStartPixels:e.dragStartPixels||0,eElement:e.eResizeBar,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this,e),onDragging:this.onDragging.bind(this,e),onDragCancel:this.onDragStop.bind(this,e),includeTouch:!0,stopPropagationForTouch:!0};return this.dragService.addDragSource(t),()=>this.dragService.removeDragSource(t)}onDragStart(e,t){this.dragStartX=t.clientX,this.setResizeIcons();let i=t instanceof MouseEvent&&t.shiftKey===!0;e.onResizeStart(i)}setResizeIcons(){let e=this.ctrlsService.get("gridCtrl");e.setResizeCursor(!0),e.disableUserSelect(!0)}onDragStop(e){e.onResizeEnd(this.resizeAmount),this.resetIcons()}resetIcons(){let e=this.ctrlsService.get("gridCtrl");e.setResizeCursor(!1),e.disableUserSelect(!1)}onDragging(e,t){this.resizeAmount=t.clientX-this.dragStartX,e.onResizing(this.resizeAmount)}},sg=class extends b{constructor(){super(...arguments),this.beanName="filterMenuFactory"}wireBeans(e){this.popupService=e.popupService,this.focusService=e.focusService,this.ctrlsService=e.ctrlsService,this.menuService=e.menuService}hideActiveMenu(){this.hidePopup&&this.hidePopup()}showMenuAfterMouseEvent(e,t,i){this.showPopup(e,o=>{this.popupService.positionPopupUnderMouseEvent({column:e,type:i,mouseEvent:t,ePopup:o})},i,t.target,this.menuService.isLegacyMenuEnabled())}showMenuAfterButtonClick(e,t,i){let o=-1,s="left",r=this.menuService.isLegacyMenuEnabled();!r&&this.gos.get("enableRtl")&&(o=1,s="right");let n=r?void 0:4*o,a=r?void 0:4;this.showPopup(e,l=>{this.popupService.positionPopupByComponent({type:i,eventSource:t,ePopup:l,nudgeX:n,nudgeY:a,alignSide:s,keepWithinBounds:!0,position:"under",column:e})},i,t,r)}showPopup(e,t,i,o,s){let r=e?this.createBean(new Bd(e,"COLUMN_MENU")):void 0;if(this.activeMenu=r,!r?.hasFilter()||!e)throw new Error("AG Grid - unable to show popup filter, filter instantiation failed");let n=document.createElement("div");Xe(n,"presentation"),n.classList.add("ag-menu"),s||n.classList.add("ag-filter-menu"),[this.tabListener]=this.addManagedElementListeners(n,{keydown:f=>this.trapFocusWithin(f,n)}),n.appendChild(r?.getGui());let a,l=()=>r?.afterGuiDetached(),c=this.menuService.isColumnMenuAnchoringEnabled()?o??this.ctrlsService.getGridBodyCtrl().getGui():void 0,d=f=>{e.setMenuVisible(!1,"contextMenu");let m=f instanceof KeyboardEvent;if(this.tabListener&&(this.tabListener=this.tabListener()),m&&o&&rt(o)){let p=this.focusService.findTabbableParent(o);p&&p.focus()}l(),this.destroyBean(this.activeMenu),this.dispatchVisibleChangedEvent(!1,i,e)},u=this.localeService.getLocaleTextFunc(),h=s&&i!=="columnFilter"?u("ariaLabelColumnMenu","Column Menu"):u("ariaLabelColumnFilter","Column Filter"),g=this.popupService.addPopup({modal:!0,eChild:n,closeOnEsc:!0,closedCallback:d,positionCallback:()=>t(n),anchorToElement:c,ariaLabel:h});g&&(this.hidePopup=a=g.hideFunc),r.afterInit().then(()=>{t(n),r.afterGuiAttached({container:i,hidePopup:a})}),e.setMenuVisible(!0,"contextMenu"),this.dispatchVisibleChangedEvent(!0,i,e)}trapFocusWithin(e,t){e.key!==y.TAB||e.defaultPrevented||this.focusService.findNextFocusableElement(t,!1,e.shiftKey)||(e.preventDefault(),this.focusService.focusInto(t,e.shiftKey))}dispatchVisibleChangedEvent(e,t,i){this.eventService.dispatchEvent({type:"columnMenuVisibleChanged",visible:e,switchingTab:!1,key:t,column:i??null,columnGroup:null})}isMenuEnabled(e){return e.isFilterAllowed()&&(e.getColDef().menuTabs??["filterMenuTab"]).includes("filterMenuTab")}showMenuAfterContextMenuEvent(){}destroy(){this.destroyBean(this.activeMenu),super.destroy()}},rg=class extends b{constructor(){super(...arguments),this.beanName="resizeObserverService"}observeResize(e,t){let o=un(this.gos).ResizeObserver,s=o?new o(t):null;return s?.observe(e),()=>s?.disconnect()}},ng=class extends b{constructor(){super(...arguments),this.beanName="animationFrameService",this.createTasksP1={list:[],sorted:!1},this.createTasksP2={list:[],sorted:!1},this.destroyTasks=[],this.ticking=!1,this.scrollGoingDown=!0,this.lastPage=0,this.lastScrollTop=0,this.taskCount=0,this.cancelledTasks=new Set}wireBeans(e){this.ctrlsService=e.ctrlsService,this.paginationService=e.paginationService}setScrollTop(e){let t=this.gos.get("pagination");if(this.scrollGoingDown=e>=this.lastScrollTop,t&&e===0){let i=this.paginationService?.getCurrentPage()??0;i!==this.lastPage&&(this.lastPage=i,this.scrollGoingDown=!0)}this.lastScrollTop=e}postConstruct(){this.useAnimationFrame=!this.gos.get("suppressAnimationFrame")}isOn(){return this.useAnimationFrame}verifyAnimationFrameOn(e){this.useAnimationFrame===!1&&S(`AnimationFrameService.${e} called but animation frames are off`)}createTask(e,t,i){this.verifyAnimationFrameOn(i);let o={task:e,index:t,createOrder:++this.taskCount};this.addTaskToList(this[i],o),this.schedule()}cancelTask(e){this.cancelledTasks.add(e)}addTaskToList(e,t){e.list.push(t),e.sorted=!1}sortTaskList(e){if(e.sorted)return;let t=this.scrollGoingDown?1:-1;e.list.sort((i,o)=>i.index!==o.index?t*(o.index-i.index):o.createOrder-i.createOrder),e.sorted=!0}addDestroyTask(e){this.verifyAnimationFrameOn("createTasksP3"),this.destroyTasks.push(e),this.schedule()}executeFrame(e){this.verifyAnimationFrameOn("executeFrame");let t=this.createTasksP1,i=t.list,o=this.createTasksP2,s=o.list,r=this.destroyTasks,n=new Date().getTime(),a=new Date().getTime()-n,l=e<=0,c=this.ctrlsService.getGridBodyCtrl();for(;l||a<e;){if(!c.getScrollFeature().scrollGridIfNeeded()){let u;if(i.length)this.sortTaskList(t),u=i.pop().task;else if(s.length)this.sortTaskList(o),u=s.pop().task;else if(r.length)u=r.pop();else{this.cancelledTasks.clear();break}this.cancelledTasks.has(u)||u()}a=new Date().getTime()-n}i.length||s.length||r.length?this.requestFrame():this.stopTicking()}stopTicking(){this.ticking=!1}flushAllFrames(){this.useAnimationFrame&&this.executeFrame(-1)}schedule(){this.useAnimationFrame&&(this.ticking||(this.ticking=!0,this.requestFrame()))}requestFrame(){let e=this.executeFrame.bind(this,60);this.requestAnimationFrame(e)}requestAnimationFrame(e){let t=un(this.gos);t.requestAnimationFrame?t.requestAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(e):t.setTimeout(e,0)}isQueueEmpty(){return!this.ticking}debounce(e){let t=!1;return()=>{if(!this.isOn()){window.setTimeout(e,0);return}t||(t=!0,this.addDestroyTask(()=>{t=!1,e()}))}}},_=(e=>(e.EVERYTHING="group",e.FILTER="filter",e.SORT="sort",e.MAP="map",e.AGGREGATE="aggregate",e.FILTER_AGGREGATES="filter_aggregates",e.PIVOT="pivot",e.NOTHING="nothing",e))(_||{}),ag=class extends b{constructor(){super(...arguments),this.beanName="expansionService"}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.isClientSideRowModel=de(this.gos)}expandRows(e){if(!this.isClientSideRowModel)return;let t=new Set(e);this.rowModel.forEachNode(i=>{i.id&&t.has(i.id)&&(i.expanded=!0)}),this.onGroupExpandedOrCollapsed()}getExpandedRows(){let e=[];return this.rowModel.forEachNode(({expanded:t,id:i})=>{t&&i&&e.push(i)}),e}expandAll(e){this.isClientSideRowModel&&this.rowModel.expandOrCollapseAll(e)}setRowNodeExpanded(e,t,i,o){e&&(i&&e.parent&&e.parent.level!==-1&&this.setRowNodeExpanded(e.parent,t,i,o),e.setExpanded(t,void 0,o))}onGroupExpandedOrCollapsed(){this.isClientSideRowModel&&this.rowModel.refreshModel({step:"map"})}},lg=class extends b{constructor(){super(...arguments),this.beanName="menuService"}wireBeans(e){this.valueService=e.valueService,this.filterMenuFactory=e.filterMenuFactory,this.ctrlsService=e.ctrlsService,this.animationFrameService=e.animationFrameService,this.filterManager=e.filterManager,this.rowRenderer=e.rowRenderer,this.columnChooserFactory=e.columnChooserFactory,this.contextMenuFactory=e.contextMenuFactory,this.enterpriseMenuFactory=e.enterpriseMenuFactory}postConstruct(){this.activeMenuFactory=this.enterpriseMenuFactory??this.filterMenuFactory}showColumnMenu(e){this.showColumnMenuCommon(this.activeMenuFactory,e,"columnMenu")}showFilterMenu(e){let t=this.enterpriseMenuFactory&&this.isLegacyMenuEnabled()?this.enterpriseMenuFactory:this.filterMenuFactory;this.showColumnMenuCommon(t,e,e.containerType,!0)}showHeaderContextMenu(e,t,i){this.activeMenuFactory.showMenuAfterContextMenuEvent(e,t,i)}getContextMenuPosition(e,t){let i=this.getRowCtrl(e),o=this.getCellGui(i,t);if(!o)return i?{x:0,y:i.getRowYPosition()}:{x:0,y:0};let s=o.getBoundingClientRect();return{x:s.x+s.width/2,y:s.y+s.height/2}}showContextMenu(e){let t=e.rowNode,i=e.column,{anchorToElement:o,value:s}=e;t&&i&&s==null&&(s=this.valueService.getValueForDisplay(i,t)),o==null&&(o=this.getContextMenuAnchorElement(t,i)),this.contextMenuFactory?.onContextMenu(e.mouseEvent??null,e.touchEvent??null,t??null,i??null,s,o)}showColumnChooser(e){this.columnChooserFactory?.showColumnChooser(e)}hidePopupMenu(){this.contextMenuFactory?.hideActiveMenu(),this.activeMenuFactory.hideActiveMenu()}hideColumnChooser(){this.columnChooserFactory?.hideActiveColumnChooser()}isColumnMenuInHeaderEnabled(e){let{suppressMenu:t,suppressHeaderMenuButton:i}=e.getColDef();return!(i??t)&&this.activeMenuFactory.isMenuEnabled(e)&&(this.isLegacyMenuEnabled()||!!this.enterpriseMenuFactory)}isFilterMenuInHeaderEnabled(e){return!e.getColDef().suppressHeaderFilterButton&&!!this.filterManager?.isFilterAllowed(e)}isHeaderContextMenuEnabled(e){return!(e&&Et(e)?e.getColDef():e?.getColGroupDef())?.suppressHeaderContextMenu&&this.getColumnMenuType()==="new"}isHeaderMenuButtonAlwaysShowEnabled(){return this.isSuppressMenuHide()}isHeaderMenuButtonEnabled(){let e=!this.isSuppressMenuHide();return!(Tt()&&e)}isHeaderFilterButtonEnabled(e){return this.isFilterMenuInHeaderEnabled(e)&&!this.isLegacyMenuEnabled()&&!this.isFloatingFilterButtonDisplayed(e)}isFilterMenuItemEnabled(e){return!!this.filterManager?.isFilterAllowed(e)&&!this.isLegacyMenuEnabled()&&!this.isFilterMenuInHeaderEnabled(e)&&!this.isFloatingFilterButtonDisplayed(e)}isColumnMenuAnchoringEnabled(){return!this.isLegacyMenuEnabled()}areAdditionalColumnMenuItemsEnabled(){return this.getColumnMenuType()==="new"}isLegacyMenuEnabled(){return this.getColumnMenuType()==="legacy"}isFloatingFilterButtonEnabled(e){let t=e.getColDef(),i=t.floatingFilterComponentParams?.suppressFilterButton;return i!=null&&S("As of v31.1, 'colDef.floatingFilterComponentParams.suppressFilterButton' is deprecated. Use 'colDef.suppressFloatingFilterButton' instead."),t.suppressFloatingFilterButton==null?!i:!t.suppressFloatingFilterButton}getColumnMenuType(){return this.gos.get("columnMenu")}isFloatingFilterButtonDisplayed(e){return!!e.getColDef().floatingFilter&&this.isFloatingFilterButtonEnabled(e)}isSuppressMenuHide(){let e=this.gos.get("suppressMenuHide");return this.isLegacyMenuEnabled()?this.gos.exists("suppressMenuHide")?e:!1:e}showColumnMenuCommon(e,t,i,o){let{positionBy:s}=t,r=t.column;if(s==="button"){let{buttonElement:n}=t;e.showMenuAfterButtonClick(r,n,i,o)}else if(s==="mouse"){let{mouseEvent:n}=t;e.showMenuAfterMouseEvent(r,n,i,o)}else r&&(this.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(r,"auto"),this.animationFrameService.requestAnimationFrame(()=>{let n=this.ctrlsService.getHeaderRowContainerCtrl(r.getPinned())?.getHeaderCtrlForColumn(r);n&&e.showMenuAfterButtonClick(r,n.getAnchorElementForMenu(o),i,!0)}))}getRowCtrl(e){let{rowIndex:t,rowPinned:i}=e||{};if(t!=null)return this.rowRenderer.getRowByPosition({rowIndex:t,rowPinned:i})||void 0}getCellGui(e,t){return!e||!t?void 0:e.getCellCtrl(t)?.getGui()||void 0}getContextMenuAnchorElement(e,t){let i=this.ctrlsService.getGridBodyCtrl().getGridBodyElement(),o=this.getRowCtrl(e);if(!o)return i;let s=this.getCellGui(o,t);return s||(o.isFullWidth()?o.getFullWidthElement():i)}},cg=class extends Ot{constructor(e){super(e,"ag-text-area",null,"textarea")}setValue(e,t){let i=super.setValue(e,t);return this.eInput.value=e,i}setCols(e){return this.eInput.cols=e,this}setRows(e){return this.eInput.rows=e,this}},dg={selector:"AG-INPUT-TEXT-AREA",component:cg},ug=class extends li{constructor(){super(`<div class="ag-large-text">
|
|
127
127
|
<ag-input-text-area data-ref="eTextArea" class="ag-large-text-input"></ag-input-text-area>
|
|
128
|
-
</div>`,[
|
|
128
|
+
</div>`,[dg]),this.eTextArea=z}init(e){this.params=e,this.focusAfterAttached=e.cellStartedEdit,this.eTextArea.setMaxLength(e.maxLength||200).setCols(e.cols||60).setRows(e.rows||10),M(e.value,!0)&&this.eTextArea.setValue(e.value.toString(),!0),this.addGuiEventListener("keydown",this.onKeyDown.bind(this)),this.activateTabIndex()}onKeyDown(e){let t=e.key;(t===y.LEFT||t===y.UP||t===y.RIGHT||t===y.DOWN||e.shiftKey&&t===y.ENTER)&&e.stopPropagation()}afterGuiAttached(){let e=this.localeService.getLocaleTextFunc();this.eTextArea.setInputAriaLabel(e("ariaInputEditor","Input Editor")),this.focusAfterAttached&&this.eTextArea.getFocusableElement().focus()}getValue(){let e=this.eTextArea.getValue();return!M(e)&&!M(this.params.value)?this.params.value:this.params.parseValue(e)}},hg=class extends li{constructor(e){super('<div class="ag-popup-editor" tabindex="-1"/>'),this.params=e}postConstruct(){Vt(this.gos,this.getGui(),"popupEditorWrapper",!0),this.addKeyDownListener()}addKeyDownListener(){let e=this.getGui(),t=this.params,i=o=>{gs(this.gos,o,t.node,t.column,!0)||t.onKeyDown(o)};this.addManagedElementListeners(e,{keydown:i})}},gg=class extends li{constructor(){super(`<div class="ag-cell-edit-wrapper">
|
|
129
129
|
<ag-select class="ag-cell-editor" data-ref="eSelect"></ag-select>
|
|
130
|
-
</div>`,[
|
|
130
|
+
</div>`,[Yd]),this.eSelect=z,this.startedByEnter=!1}wireBeans(e){this.valueService=e.valueService}init(e){this.focusAfterAttached=e.cellStartedEdit;let{eSelect:t,valueService:i,gos:o}=this,{values:s,value:r,eventKey:n}=e;if(K(s)){S("no values found for select cellEditor");return}this.startedByEnter=n!=null?n===y.ENTER:!1;let a=!1;s.forEach(u=>{let h={value:u},g=i.formatValue(e.column,null,u),f=g!=null;h.text=f?g:u,t.addOption(h),a=a||r===u}),a?t.setValue(e.value,!0):e.values.length&&t.setValue(e.values[0],!0);let{valueListGap:l,valueListMaxWidth:c,valueListMaxHeight:d}=e;l!=null&&t.setPickerGap(l),d!=null&&t.setPickerMaxHeight(d),c!=null&&t.setPickerMaxWidth(c),o.get("editType")!=="fullRow"&&this.addManagedListeners(this.eSelect,{selectedItem:()=>e.stopEditing()})}afterGuiAttached(){this.focusAfterAttached&&this.eSelect.getFocusableElement().focus(),this.startedByEnter&&setTimeout(()=>{this.isAlive()&&this.eSelect.showPicker()})}focusIn(){this.eSelect.getFocusableElement().focus()}getValue(){return this.eSelect.getValue()}isPopup(){return!1}},Eo=class extends li{constructor(e){super(`
|
|
131
131
|
<div class="ag-cell-edit-wrapper">
|
|
132
132
|
${e.getTemplate()}
|
|
133
|
-
</div>`,e.getAgComponents()),this.cellEditorInput=e,this.eInput=z}init(e){this.params=e;let{cellStartedEdit:t,eventKey:i,suppressPreventDefault:o}=e,s=this.eInput;this.cellEditorInput.init(s,e);let r,n=!0;t?(this.focusAfterAttached=!0,i===y.BACKSPACE||i===y.DELETE?r="":i&&i.length===1?o?n=!1:r=i:(r=this.cellEditorInput.getStartValue(),i!==y.F2&&(this.highlightAllOnFocus=!0))):(this.focusAfterAttached=!1,r=this.cellEditorInput.getStartValue()),n&&r!=null&&s.setStartValue(r),this.addManagedElementListeners(s.getGui(),{keydown:a=>{let{key:l}=a;(l===y.PAGE_UP||l===y.PAGE_DOWN)&&a.preventDefault()}})}afterGuiAttached(){let e=this.localeService.getLocaleTextFunc(),t=this.eInput;if(t.setInputAriaLabel(e("ariaInputEditor","Input Editor")),!this.focusAfterAttached)return;ft()||t.getFocusableElement().focus();let i=t.getInputElement();this.highlightAllOnFocus?i.select():this.cellEditorInput.setCaret?.()}focusIn(){let e=this.eInput,t=e.getFocusableElement(),i=e.getInputElement();t.focus(),i.select()}getValue(){return this.cellEditorInput.getValue()}isPopup(){return!1}},
|
|
133
|
+
</div>`,e.getAgComponents()),this.cellEditorInput=e,this.eInput=z}init(e){this.params=e;let{cellStartedEdit:t,eventKey:i,suppressPreventDefault:o}=e,s=this.eInput;this.cellEditorInput.init(s,e);let r,n=!0;t?(this.focusAfterAttached=!0,i===y.BACKSPACE||i===y.DELETE?r="":i&&i.length===1?o?n=!1:r=i:(r=this.cellEditorInput.getStartValue(),i!==y.F2&&(this.highlightAllOnFocus=!0))):(this.focusAfterAttached=!1,r=this.cellEditorInput.getStartValue()),n&&r!=null&&s.setStartValue(r),this.addManagedElementListeners(s.getGui(),{keydown:a=>{let{key:l}=a;(l===y.PAGE_UP||l===y.PAGE_DOWN)&&a.preventDefault()}})}afterGuiAttached(){let e=this.localeService.getLocaleTextFunc(),t=this.eInput;if(t.setInputAriaLabel(e("ariaInputEditor","Input Editor")),!this.focusAfterAttached)return;ft()||t.getFocusableElement().focus();let i=t.getInputElement();this.highlightAllOnFocus?i.select():this.cellEditorInput.setCaret?.()}focusIn(){let e=this.eInput,t=e.getFocusableElement(),i=e.getInputElement();t.focus(),i.select()}getValue(){return this.cellEditorInput.getValue()}isPopup(){return!1}},pg=class{getTemplate(){return'<ag-input-text-field class="ag-cell-editor" data-ref="eInput"></ag-input-text-field>'}getAgComponents(){return[Ro]}init(e,t){this.eInput=e,this.params=t,t.maxLength!=null&&e.setMaxLength(t.maxLength)}getValue(){let e=this.eInput.getValue();return!M(e)&&!M(this.params.value)?this.params.value:this.params.parseValue(e)}getStartValue(){return this.params.useFormatter||this.params.column.getColDef().refData?this.params.formatValue(this.params.value):this.params.value}setCaret(){let e=this.eInput.getValue(),t=M(e)&&e.length||0;t&&this.eInput.getInputElement().setSelectionRange(t,t)}},Ua=class extends Eo{constructor(){super(new pg)}},fg=class{getTemplate(){return'<ag-input-number-field class="ag-cell-editor" data-ref="eInput"></ag-input-number-field>'}getAgComponents(){return[ou]}init(e,t){this.eInput=e,this.params=t,t.max!=null&&e.setMax(t.max),t.min!=null&&e.setMin(t.min),t.precision!=null&&e.setPrecision(t.precision),t.step!=null&&e.setStep(t.step);let i=e.getInputElement();t.preventStepping?e.addManagedElementListeners(i,{keydown:this.preventStepping}):t.showStepperButtons&&i.classList.add("ag-number-field-input-stepper")}preventStepping(e){(e.key===y.UP||e.key===y.DOWN)&&e.preventDefault()}getValue(){let e=this.eInput.getValue();if(!M(e)&&!M(this.params.value))return this.params.value;let t=this.params.parseValue(e);if(t==null)return t;if(typeof t=="string"){if(t==="")return null;t=Number(t)}return isNaN(t)?null:t}getStartValue(){return this.params.value}setCaret(){ft()&&this.eInput.getInputElement().focus({preventScroll:!0})}},mg=class extends Eo{constructor(){super(new fg)}},vg=class extends Kt{constructor(e){super(e,"ag-date-field","date")}postConstruct(){super.postConstruct();let e=ft();this.addManagedListeners(this.eInput,{wheel:this.onWheel.bind(this),mousedown:()=>{this.isDisabled()||e||this.eInput.focus()}}),this.eInput.step="any"}onWheel(e){fe(this.gos)===this.eInput&&e.preventDefault()}setMin(e){let t=e instanceof Date?Ke(e??null,!1)??void 0:e;return this.min===t?this:(this.min=t,je(this.eInput,"min",t),this)}setMax(e){let t=e instanceof Date?Ke(e??null,!1)??void 0:e;return this.max===t?this:(this.max=t,je(this.eInput,"max",t),this)}setStep(e){return this.step===e?this:(this.step=e,je(this.eInput,"step",e),this)}getDate(){if(this.eInput.validity.valid)return Ge(this.getValue())??void 0}setDate(e,t){this.setValue(Ke(e??null,!1),t)}},_a={selector:"AG-INPUT-DATE-FIELD",component:vg},Cg=class{getTemplate(){return'<ag-input-date-field class="ag-cell-editor" data-ref="eInput"></ag-input-date-field>'}getAgComponents(){return[_a]}init(e,t){this.eInput=e,this.params=t,t.min!=null&&e.setMin(t.min),t.max!=null&&e.setMax(t.max),t.step!=null&&e.setStep(t.step)}getValue(){let e=this.eInput.getDate();return!M(e)&&!M(this.params.value)?this.params.value:e??null}getStartValue(){let{value:e}=this.params;if(e instanceof Date)return Ke(e,!1)}},wg=class extends Eo{constructor(){super(new Cg)}},yg=class{constructor(e){this.getDataTypeService=e}getTemplate(){return'<ag-input-date-field class="ag-cell-editor" data-ref="eInput"></ag-input-date-field>'}getAgComponents(){return[_a]}init(e,t){this.eInput=e,this.params=t,t.min!=null&&e.setMin(t.min),t.max!=null&&e.setMax(t.max),t.step!=null&&e.setStep(t.step)}getValue(){let e=this.formatDate(this.eInput.getDate());return!M(e)&&!M(this.params.value)?this.params.value:this.params.parseValue(e??"")}getStartValue(){return Ke(this.parseDate(this.params.value??void 0)??null,!1)}parseDate(e){let t=this.getDataTypeService();return t?t.getDateParserFunction(this.params.column)(e):Ge(e)??void 0}formatDate(e){let t=this.getDataTypeService();return t?t.getDateFormatterFunction(this.params.column)(e):Ke(e??null,!1)??void 0}},bg=class extends Eo{wireBeans(e){this.dataTypeService=e.dataTypeService}constructor(){super(new yg(()=>this.dataTypeService))}},Sg=class extends li{constructor(){super(`
|
|
134
134
|
<div class="ag-cell-wrapper ag-cell-edit-wrapper ag-checkbox-edit">
|
|
135
135
|
<ag-checkbox role="presentation" data-ref="eCheckbox"></ag-checkbox>
|
|
136
|
-
</div>`,[Gs]),this.eCheckbox=z}init(e){this.params=e;let t=e.value??void 0;this.eCheckbox.setValue(t),this.eCheckbox.getInputElement().setAttribute("tabindex","-1"),this.setAriaLabel(t),this.addManagedListeners(this.eCheckbox,{fieldValueChanged:o=>this.setAriaLabel(o.selected)})}getValue(){return this.eCheckbox.getValue()}focusIn(){this.eCheckbox.getFocusableElement().focus()}afterGuiAttached(){this.params.cellStartedEdit&&this.focusIn()}isPopup(){return!1}setAriaLabel(e){let t=this.localeService.getLocaleTextFunc(),i=Es(t,e),o=t("ariaToggleCellValue","Press SPACE to toggle cell value");this.eCheckbox.setInputAriaLabel(`${o} (${i})`)}},yi=class{constructor(e){this.cellValueChanges=e}},Jo=class extends yi{constructor(e,t,i,o){super(e),this.initialRange=t,this.finalRange=i,this.ranges=o}},bg=10,Jr=class{constructor(e){this.actionStack=[],this.maxStackSize=e||bg,this.actionStack=new Array(this.maxStackSize)}pop(){return this.actionStack.pop()}push(e){e.cellValueChanges&&e.cellValueChanges.length>0&&(this.actionStack.length===this.maxStackSize&&this.actionStack.shift(),this.actionStack.push(e))}clear(){this.actionStack=[]}getCurrentStackSize(){return this.actionStack.length}},Sg=class extends b{constructor(){super(...arguments),this.beanName="undoRedoService",this.cellValueChanges=[],this.activeCellEdit=null,this.activeRowEdit=null,this.isPasting=!1,this.isRangeInAction=!1,this.onCellValueChanged=e=>{let t={column:e.column,rowIndex:e.rowIndex,rowPinned:e.rowPinned},i=this.activeCellEdit!==null&&this.cellPositionUtils.equals(this.activeCellEdit,t),o=this.activeRowEdit!==null&&this.rowPositionUtils.sameRow(this.activeRowEdit,t);if(!(i||o||this.isPasting||this.isRangeInAction))return;let{rowPinned:r,rowIndex:n,column:a,oldValue:l,value:c}=e,d={rowPinned:r,rowIndex:n,columnId:a.getColId(),newValue:c,oldValue:l};this.cellValueChanges.push(d)},this.clearStacks=()=>{this.undoStack.clear(),this.redoStack.clear()}}wireBeans(e){this.focusService=e.focusService,this.ctrlsService=e.ctrlsService,this.cellPositionUtils=e.cellPositionUtils,this.rowPositionUtils=e.rowPositionUtils,this.columnModel=e.columnModel,this.rangeService=e.rangeService}postConstruct(){if(!this.gos.get("undoRedoCellEditing"))return;let e=this.gos.get("undoRedoCellEditingLimit");if(e<=0)return;this.undoStack=new Jr(e),this.redoStack=new Jr(e),this.addListeners();let t=this.clearStacks.bind(this);this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this),modelUpdated:i=>{i.keepUndoRedoStack||this.clearStacks()},columnPivotModeChanged:t,newColumnsLoaded:t,columnGroupOpened:t,columnRowGroupChanged:t,columnMoved:t,columnPinned:t,columnVisible:t,rowDragEnd:t}),this.ctrlsService.whenReady(this,i=>{this.gridBodyCtrl=i.gridBodyCtrl})}getCurrentUndoStackSize(){return this.undoStack?this.undoStack.getCurrentStackSize():0}getCurrentRedoStackSize(){return this.redoStack?this.redoStack.getCurrentStackSize():0}undo(e){this.eventService.dispatchEvent({type:"undoStarted",source:e});let t=this.undoRedo(this.undoStack,this.redoStack,"initialRange","oldValue","undo");this.eventService.dispatchEvent({type:"undoEnded",source:e,operationPerformed:t})}redo(e){this.eventService.dispatchEvent({type:"redoStarted",source:e});let t=this.undoRedo(this.redoStack,this.undoStack,"finalRange","newValue","redo");this.eventService.dispatchEvent({type:"redoEnded",source:e,operationPerformed:t})}undoRedo(e,t,i,o,s){if(!e)return!1;let r=e.pop();return!r||!r.cellValueChanges?!1:(this.processAction(r,n=>n[o],s),r instanceof Jo?this.processRange(this.rangeService,r.ranges||[r[i]]):this.processCell(r.cellValueChanges),t.push(r),!0)}processAction(e,t,i){e.cellValueChanges.forEach(o=>{let{rowIndex:s,rowPinned:r,columnId:n}=o,a={rowIndex:s,rowPinned:r},l=this.rowPositionUtils.getRowNode(a);l.displayed&&l.setDataValue(n,t(o),i)})}processRange(e,t){let i;e.removeAllCellRanges(!0),t.forEach((o,s)=>{if(!o)return;let r=o.startRow,n=o.endRow;s===t.length-1&&(i={rowPinned:r.rowPinned,rowIndex:r.rowIndex,columnId:o.startColumn.getColId()},this.setLastFocusedCell(i));let a={rowStartIndex:r.rowIndex,rowStartPinned:r.rowPinned,rowEndIndex:n.rowIndex,rowEndPinned:n.rowPinned,columnStart:o.startColumn,columns:o.columns};e.addCellRange(a)})}processCell(e){let t=e[0],{rowIndex:i,rowPinned:o}=t,s={rowIndex:i,rowPinned:o},r=this.rowPositionUtils.getRowNode(s),n={rowPinned:t.rowPinned,rowIndex:r.rowIndex,columnId:t.columnId};this.setLastFocusedCell(n,this.rangeService)}setLastFocusedCell(e,t){let{rowIndex:i,columnId:o,rowPinned:s}=e,r=this.gridBodyCtrl.getScrollFeature(),n=this.columnModel.getCol(o);if(!n)return;r.ensureIndexVisible(i),r.ensureColumnVisible(n);let a={rowIndex:i,column:n,rowPinned:s};this.focusService.setFocusedCell({...a,forceBrowserFocus:!0}),t?.setRangeToCell(a)}addListeners(){this.addManagedEventListeners({rowEditingStarted:e=>{this.activeRowEdit={rowIndex:e.rowIndex,rowPinned:e.rowPinned}},rowEditingStopped:()=>{let e=new yi(this.cellValueChanges);this.pushActionsToUndoStack(e),this.activeRowEdit=null},cellEditingStarted:e=>{this.activeCellEdit={column:e.column,rowIndex:e.rowIndex,rowPinned:e.rowPinned}},cellEditingStopped:e=>{if(this.activeCellEdit=null,e.valueChanged&&!this.activeRowEdit&&!this.isPasting&&!this.isRangeInAction){let i=new yi(this.cellValueChanges);this.pushActionsToUndoStack(i)}},pasteStart:()=>{this.isPasting=!0},pasteEnd:()=>{let e=new yi(this.cellValueChanges);this.pushActionsToUndoStack(e),this.isPasting=!1},fillStart:()=>{this.isRangeInAction=!0},fillEnd:e=>{let t=new Jo(this.cellValueChanges,e.initialRange,e.finalRange);this.pushActionsToUndoStack(t),this.isRangeInAction=!1},keyShortcutChangedCellStart:()=>{this.isRangeInAction=!0},keyShortcutChangedCellEnd:()=>{let e;this.rangeService&>(this.gos)?e=new Jo(this.cellValueChanges,void 0,void 0,[...this.rangeService.getCellRanges()]):e=new yi(this.cellValueChanges),this.pushActionsToUndoStack(e),this.isRangeInAction=!1}})}pushActionsToUndoStack(e){this.undoStack.push(e),this.cellValueChanges=[],this.redoStack.clear()}};function Rg(e){return e.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition()}function Fg(e){return e.ctrlsService.getGridBodyCtrl().getScrollFeature().getHScrollPosition()}function Ua(e,t,i="auto"){e.frameworkOverrides.wrapIncoming(()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(t,i),"ensureVisible")}function _a(e,t,i){e.frameworkOverrides.wrapIncoming(()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureIndexVisible(t,i),"ensureVisible")}function xg(e,t,i=null){e.frameworkOverrides.wrapIncoming(()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureNodeVisible(t,i),"ensureVisible")}function Dg(e){e.undoRedoService?.undo("api")}function Eg(e){e.undoRedoService?.redo("api")}function Mg(e,t={}){return e.rowRenderer.getCellEditorInstances(t).map(Ri)}function Pg(e){return e.rowRenderer.getEditingCells()}function Tg(e,t=!1){e.rowRenderer.stopEditing(t)}function Ag(e,t){let i=e.columnModel.getCol(t.colKey);if(!i){S(`no column found for ${t.colKey}`);return}let o={rowIndex:t.rowIndex,rowPinned:t.rowPinned||null,column:i};t.rowPinned==null&&_a(e,t.rowIndex),Ua(e,t.colKey);let r=e.navigationService.getCellByPosition(o);if(!r)return;let{focusService:n,gos:a}=e,l=()=>{let d=fe(a),u=r.getGui();return d!==u&&!!u?.contains(d)},c=a.get("stopEditingWhenCellsLoseFocus")&&l();(c||!n.isCellFocused(o))&&n.setFocusedCell({...o,forceBrowserFocus:c,preventScrollOnBrowserFocus:!0}),r.startRowOrCellEdit(t.key)}function kg(e){return e.undoRedoService?.getCurrentUndoStackSize()??0}function Ig(e){return e.undoRedoService?.getCurrentRedoStackSize()??0}var Lg=class extends b{constructor(){super(...arguments),this.beanName="editService"}wireBeans(e){this.navigationService=e.navigationService,this.userComponentFactory=e.userComponentFactory,this.valueService=e.valueService}startEditing(e,t=null,i=!1,o=null){let s=this.createCellEditorParams(e,t,i),r=e.getColumn().getColDef(),n=this.userComponentFactory.getCellEditorDetails(r,s),a=n?.popupFromSelector!=null?n.popupFromSelector:!!r.cellEditorPopup,l=n?.popupPositionFromSelector!=null?n.popupPositionFromSelector:r.cellEditorPopupPosition;return e.setEditing(!0,n),e.getComp().setEditDetails(n,a,l,this.gos.get("reactiveCustomComponents")),this.eventService.dispatchEvent(e.createEvent(o,"cellEditingStarted")),!n?.params?.suppressPreventDefault}stopEditing(e,t){let i=e.getComp(),{newValue:o,newValueExists:s}=this.takeValueFromCellEditor(t,i),r=e.getRowNode(),n=e.getColumn(),a=this.valueService.getValueForDisplay(n,r),l=!1;return s&&(l=this.saveNewValue(e,a,o,r,n)),e.setEditing(!1,void 0),i.setEditDetails(),e.updateAndFormatValue(!1),e.refreshCell({forceRefresh:!0,suppressFlash:!0}),this.eventService.dispatchEvent({...e.createEvent(null,"cellEditingStopped"),oldValue:a,newValue:o,valueChanged:l}),l}handleColDefChanged(e){let t=e.getCellEditor();if(t?.refresh){let{eventKey:i,cellStartedEdit:o}=e.getEditCompDetails().params,s=this.createCellEditorParams(e,i,o),r=e.getColumn().getColDef(),n=this.userComponentFactory.getCellEditorDetails(r,s);t.refresh(n.params)}}setFocusOutOnEditor(e){let t=e.getComp().getCellEditor();t&&t.focusOut&&t.focusOut()}setFocusInOnEditor(e){let t=e.getComp(),i=t.getCellEditor();i?.focusIn?i.focusIn():(e.focusCell(!0),e.onCellEditorAttached(()=>t.getCellEditor()?.focusIn?.()))}stopEditingAndFocus(e,t=!1,i=!1){e.stopRowOrCellEdit(),e.focusCell(!0),t||this.navigateAfterEdit(i,e.getCellPosition())}createPopupEditorWrapper(e){return new dg(e)}takeValueFromCellEditor(e,t){let i={newValueExists:!1};if(e)return i;let o=t.getCellEditor();return!o||o.isCancelAfterEnd&&o.isCancelAfterEnd()?i:{newValue:o.getValue(),newValueExists:!0}}saveNewValue(e,t,i,o,s){if(i===t)return!1;e.setSuppressRefreshCell(!0);let r=o.setDataValue(s,i,"edit");return e.setSuppressRefreshCell(!1),r}createCellEditorParams(e,t,i){let o=e.getColumn(),s=e.getRowNode();return this.gos.addGridCommonParams({value:this.valueService.getValueForDisplay(o,s),eventKey:t,column:o,colDef:o.getColDef(),rowIndex:e.getCellPosition().rowIndex,node:s,data:s.data,cellStartedEdit:i,onKeyDown:e.onKeyDown.bind(e),stopEditing:e.stopEditingAndFocus.bind(e),eGridCell:e.getGui(),parseValue:r=>this.valueService.parseValue(o,s,r,e.getValue()),formatValue:e.formatValue.bind(e)})}navigateAfterEdit(e,t){if(this.gos.get("enterNavigatesVerticallyAfterEdit")){let o=e?y.UP:y.DOWN;this.navigationService.navigateToNextCell(null,o,t,!1)}}},Og=class extends b{constructor(){super(...arguments),this.beanName="rowEditService"}startEditing(e,t=null,i=null,o=null){let s=!0;return e.getAllCellCtrls().reduce((n,a)=>{let l=a===i;return l?s=a.startEditing(t,l,o):a.startEditing(null,l,o),n?!0:a.isEditing()},!1)&&this.setEditing(e,!0),s}stopEditing(e,t=!1){let i=e.getAllCellCtrls(),o=e.isEditing();e.setStoppingRowEdit(!0);let s=!1;for(let r of i){let n=r.stopEditing(t);o&&!t&&!s&&n&&(s=!0)}s&&this.eventService.dispatchEvent(e.createRowEvent("rowValueChanged")),o&&this.setEditing(e,!1),e.setStoppingRowEdit(!1)}setEditing(e,t){e.setEditingRow(t),e.forEachGui(void 0,o=>o.rowComp.addOrRemoveCssClass("ag-row-editing",t));let i=t?e.createRowEvent("rowEditingStarted"):e.createRowEvent("rowEditingStopped");this.eventService.dispatchEvent(i)}},Yt={version:B,moduleName:"@ag-grid-community/edit-core",beans:[Lg]},Gg={version:B,moduleName:"@ag-grid-community/edit-api",apiFunctions:{undoCellEditing:Dg,redoCellEditing:Eg,getCellEditorInstances:Mg,getEditingCells:Pg,stopEditing:Tg,startEditingCell:Ag,getCurrentUndoSize:kg,getCurrentRedoSize:Ig},dependantModules:[Yt]},Ng={version:B,moduleName:"@ag-grid-community/undo-redo-edit",beans:[Sg],dependantModules:[Yt]},Hg={version:B,moduleName:"@ag-grid-community/full-row-edit",beans:[Og],dependantModules:[Yt]},ja={version:B,moduleName:"@ag-grid-community/default-editor",userComponents:[{name:"agCellEditor",classImp:Va}],dependantModules:[Yt]},zg={version:B,moduleName:"@ag-grid-community/data-type-editors",userComponents:[{name:"agTextCellEditor",classImp:Va},{name:"agNumberCellEditor",classImp:pg,params:{suppressPreventDefault:!0}},{name:"agDateCellEditor",classImp:vg},{name:"agDateStringCellEditor",classImp:wg},{name:"agCheckboxCellEditor",classImp:yg}],dependantModules:[ja]},Bg={version:B,moduleName:"@ag-grid-community/select-editor",userComponents:[{name:"agSelectCellEditor",classImp:ug}],dependantModules:[Yt]},Vg={version:B,moduleName:"@ag-grid-community/large-text-editor",userComponents:[{name:"agLargeTextCellEditor",classImp:cg}],dependantModules:[Yt]},Wg={version:B,moduleName:"@ag-grid-community/all-editors",dependantModules:[ja,zg,Bg,Vg]},Ug={version:B,moduleName:"@ag-grid-community/editing",dependantModules:[Yt,Ng,Hg,Wg,Gg]},_g=class extends b{constructor(){super(...arguments),this.beanName="autoWidthCalculator"}wireBeans(e){this.rowRenderer=e.rowRenderer,this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.centerRowContainerCtrl=e.center})}getPreferredWidthForColumn(e,t){let i=this.getHeaderCellForColumn(e);if(!i)return-1;let o=this.rowRenderer.getAllCellsForColumn(e);return t||o.push(i),this.addElementsToContainerAndGetWidth(o)}getPreferredWidthForColumnGroup(e){let t=this.getHeaderCellForColumn(e);return t?this.addElementsToContainerAndGetWidth([t]):-1}addElementsToContainerAndGetWidth(e){let t=document.createElement("form");t.style.position="fixed";let i=this.centerRowContainerCtrl.getContainerElement();e.forEach(r=>this.cloneItemIntoDummy(r,t)),i.appendChild(t);let o=t.offsetWidth;i.removeChild(t);let s=this.getAutoSizePadding();return o+s}getAutoSizePadding(){return this.gos.get("autoSizePadding")}getHeaderCellForColumn(e){let t=null;return this.ctrlsService.getHeaderRowContainerCtrls().forEach(i=>{let o=i.getHtmlElementForColumnHeader(e);o!=null&&(t=o)}),t}cloneItemIntoDummy(e,t){let i=e.cloneNode(!0);i.style.width="",i.style.position="static",i.style.left="";let o=document.createElement("div"),s=o.classList;["ag-header-cell","ag-header-group-cell"].some(a=>i.classList.contains(a))?(s.add("ag-header","ag-header-row"),o.style.position="static"):s.add("ag-row");let n=e.parentElement;for(;n;){if(["ag-header-row","ag-row"].some(l=>n.classList.contains(l))){for(let l=0;l<n.classList.length;l++){let c=n.classList[l];c!="ag-row-position-absolute"&&s.add(c)}break}n=n.parentElement}o.appendChild(i),t.appendChild(o)}},jg=class extends b{constructor(e,t){super(),this.createRowCon=e,this.destroyRowCtrls=t,this.stickyTopRowCtrls=[],this.stickyBottomRowCtrls=[],this.extraTopHeight=0,this.extraBottomHeight=0}wireBeans(e){this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer,this.ctrlsService=e.ctrlsService,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.isClientSide=de(this.gos),this.ctrlsService.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl}),this.resetStickyContainers()}getStickyTopRowCtrls(){return this.stickyTopRowCtrls}getStickyBottomRowCtrls(){return this.stickyBottomRowCtrls}setOffsetTop(e){this.extraTopHeight!==e&&(this.extraTopHeight=e,this.eventService.dispatchEvent({type:"stickyTopOffsetChanged",offset:e}))}setOffsetBottom(e){this.extraBottomHeight!==e&&(this.extraBottomHeight=e)}resetOffsets(){this.setOffsetBottom(0),this.setOffsetTop(0)}getExtraTopHeight(){return this.extraTopHeight}getExtraBottomHeight(){return this.extraBottomHeight}getLastPixelOfGroup(e){return this.isClientSide?this.getClientSideLastPixelOfGroup(e):this.getServerSideLastPixelOfGroup(e)}getFirstPixelOfGroup(e){return e.footer?e.sibling.rowTop+e.sibling.rowHeight-1:e.hasChildren()?e.rowTop-1:0}getServerSideLastPixelOfGroup(e){if(this.isClientSide)throw new Error("This func should only be called in server side row model.");if(e.isExpandable()||e.footer){if(e.master)return e.detailNode.rowTop+e.detailNode.rowHeight;if(!e.sibling||Math.abs(e.sibling.rowIndex-e.rowIndex)===1){let i=e.childStore?.getStoreBounds();return e.footer&&(i=e.sibling.childStore?.getStoreBounds()),(i?.heightPx??0)+(i?.topPx??0)}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}getClientSideLastPixelOfGroup(e){if(!this.isClientSide)throw new Error("This func should only be called in client side row model.");if(e.isExpandable()||e.footer){if(e.footer&&e.rowIndex===0)return Number.MAX_SAFE_INTEGER;if(!e.sibling||Math.abs(e.sibling.rowIndex-e.rowIndex)===1){let o=e.footer?e.sibling:e;for(;o.isExpandable()&&o.expanded;)if(o.master)o=o.detailNode;else if(o.childrenAfterSort){if(o.childrenAfterSort.length===0)break;o=$(o.childrenAfterSort)}return o.rowTop+o.rowHeight}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}updateStickyRows(e){let t=e==="top",i=0;if(!this.canRowsBeSticky())return this.refreshNodesAndContainerHeight(e,new Set,i);let o=t?this.rowRenderer.getFirstVisibleVerticalPixel()-this.extraTopHeight:this.rowRenderer.getLastVisibleVerticalPixel()-this.extraTopHeight,s=new Set,r=c=>{if(s.add(c),t){let d=this.getLastPixelOfGroup(c),u=o+i+c.rowHeight;d<u?c.stickyRowTop=i+(d-u):c.stickyRowTop=i}else{let d=this.getFirstPixelOfGroup(c),u=o-(i+c.rowHeight);d>u?c.stickyRowTop=i-(d-u):c.stickyRowTop=i}i=0,s.forEach(d=>{let u=d.stickyRowTop+d.rowHeight;i<u&&(i=u)})},n=this.areFooterRowsStickySuppressed(),a=this.gos.get("suppressGroupRowsSticky"),l=c=>{if(!c.displayed)return!1;if(c.footer){if(n===!0||n==="grand"&&c.level===-1||n==="group"&&c.level>-1)return!1;let d=c.sibling.rowIndex?c.sibling.rowIndex+1===c.rowIndex:!1;return e==="bottom"&&d?!1:!s.has(c)}return c.isExpandable()?a===!0||e==="bottom"?!1:!s.has(c)&&c.expanded:!1};for(let c=0;c<100;c++){let d=o+i;t||(d=o-i);let u=this.rowModel.getRowIndexAtPixel(d),h=this.rowModel.getRow(u);if(h==null)break;let f=this.getStickyAncestors(h).find(p=>(t?p.rowIndex<u:p.rowIndex>u)&&l(p));if(f){r(f);continue}if((t?h.rowTop<d:h.rowTop+h.rowHeight>d)&&l(h)){r(h);continue}break}return t||s.forEach(c=>{c.stickyRowTop=i-(c.stickyRowTop+c.rowHeight)}),this.refreshNodesAndContainerHeight(e,s,i)}areFooterRowsStickySuppressed(){let e=this.gos.get("suppressStickyTotalRow");if(e===!0)return!0;let t=!!this.gos.get("groupIncludeFooter")||e==="group",i=!!this.gos.get("groupIncludeTotalFooter")||e==="grand";return t&&i?!0:i?"grand":t?"group":!1}canRowsBeSticky(){let e=mo(this.gos),t=this.areFooterRowsStickySuppressed(),i=this.gos.get("suppressGroupRowsSticky");return e&&(!t||!i)}getStickyAncestors(e){let t=[],i=e.footer?e.sibling:e.parent;for(;i;)i.sibling&&t.push(i.sibling),t.push(i),i=i.parent;return t.reverse()}checkStickyRows(){let e=this.updateStickyRows("top"),t=this.updateStickyRows("bottom");return e||t}destroyStickyCtrls(){this.resetStickyContainers()}resetStickyContainers(){this.refreshNodesAndContainerHeight("top",new Set,0),this.refreshNodesAndContainerHeight("bottom",new Set,0)}refreshStickyNode(e){let t=new Set;if(this.stickyTopRowCtrls.some(i=>i.getRowNode()===e)){for(let i=0;i<this.stickyTopRowCtrls.length;i++){let o=this.stickyTopRowCtrls[i].getRowNode();o!==e&&t.add(o)}this.refreshNodesAndContainerHeight("top",t,this.topContainerHeight)&&this.checkStickyRows();return}for(let i=0;i<this.stickyBottomRowCtrls.length;i++){let o=this.stickyBottomRowCtrls[i].getRowNode();o!==e&&t.add(o)}this.refreshNodesAndContainerHeight("bottom",t,this.bottomContainerHeight)&&this.checkStickyRows()}refreshNodesAndContainerHeight(e,t,i){let o=e==="top",s=o?this.stickyTopRowCtrls:this.stickyBottomRowCtrls,r={},n=[];for(let h=0;h<s.length;h++){let g=s[h].getRowNode();if(!t.has(g)){r[g.id]=s[h],g.sticky=!1;continue}n.push(s[h])}let a=new Set;for(let h=0;h<n.length;h++)a.add(n[h].getRowNode());let l=[];t.forEach(h=>{a.has(h)||(h.sticky=!0,l.push(this.createRowCon(h,!1,!1)))});let c=!!l.length||n.length!==s.length;o?this.topContainerHeight!==i&&(this.topContainerHeight=i,this.gridBodyCtrl.setStickyTopHeight(i),c=!0):this.bottomContainerHeight!==i&&(this.bottomContainerHeight=i,this.gridBodyCtrl.setStickyBottomHeight(i),c=!0),this.destroyRowCtrls(r,!1);let d=[...n,...l];d.sort((h,g)=>g.getRowNode().rowIndex-h.getRowNode().rowIndex),o||d.reverse(),d.forEach(h=>h.setRowTop(h.getRowNode().stickyRowTop));let u=0;return o?(t.forEach(h=>{h.rowIndex<this.pageBoundsService.getFirstRow()&&(u+=h.rowHeight)}),u>this.topContainerHeight&&(u=this.topContainerHeight),this.setOffsetTop(u)):(t.forEach(h=>{h.rowIndex>this.pageBoundsService.getLastRow()&&(u+=h.rowHeight)}),u>this.bottomContainerHeight&&(u=this.bottomContainerHeight),this.setOffsetBottom(u)),c?(o?this.stickyTopRowCtrls=d:this.stickyBottomRowCtrls=d,!0):!1}ensureRowHeightsValid(){let e=!1,t=i=>{let o=i.getRowNode();if(o.rowHeightEstimated){let s=ht(this.gos,o);o.setRowHeight(s.height),e=!0}};return this.stickyTopRowCtrls.forEach(t),this.stickyBottomRowCtrls.forEach(t),e}},Kg=class extends b{constructor(){super(...arguments),this.beanName="rowRenderer",this.destroyFuncsForColumnListeners=[],this.rowCtrlsByRowIndex={},this.zombieRowCtrls={},this.allRowCtrls=[],this.topRowCtrls=[],this.bottomRowCtrls=[],this.refreshInProgress=!1,this.dataFirstRenderedFired=!1,this.setupRangeSelectionListeners=()=>{let e=()=>{this.getAllCellCtrls().forEach(r=>r.onCellSelectionChanged())},t=()=>{this.getAllCellCtrls().forEach(r=>r.updateRangeBordersIfRangeCount())},i=()=>{this.eventService.addEventListener("cellSelectionChanged",e),this.eventService.addEventListener("columnMoved",t),this.eventService.addEventListener("columnPinned",t),this.eventService.addEventListener("columnVisible",t)},o=()=>{this.eventService.removeEventListener("cellSelectionChanged",e),this.eventService.removeEventListener("columnMoved",t),this.eventService.removeEventListener("columnPinned",t),this.eventService.removeEventListener("columnVisible",t)};this.addDestroyFunc(()=>o()),this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{gt(this.gos)?i():o()}),gt(this.gos)&&i()}}wireBeans(e){this.animationFrameService=e.animationFrameService,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.pinnedRowModel=e.pinnedRowModel,this.rowModel=e.rowModel,this.focusService=e.focusService,this.beans=e,this.rowContainerHeightService=e.rowContainerHeightService,this.ctrlsService=e.ctrlsService,this.environment=e.environment}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.initialise()})}initialise(){this.addManagedEventListeners({paginationChanged:this.onPageLoaded.bind(this),pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),bodyScroll:this.onBodyScroll.bind(this),bodyHeightChanged:this.redraw.bind(this,{})}),this.addManagedPropertyListeners(["domLayout","embedFullWidthRows"],()=>this.onDomLayoutChanged()),this.addManagedPropertyListeners(["suppressMaxRenderedRowRestriction","rowBuffer"],()=>this.redraw()),this.addManagedPropertyListener("suppressCellFocus",e=>this.onSuppressCellFocusChanged(e.currentValue)),this.addManagedPropertyListeners(["groupSuppressBlankHeader","getBusinessKeyForNode","fullWidthCellRenderer","fullWidthCellRendererParams","suppressStickyTotalRow","groupRowRenderer","groupRowRendererParams","loadingCellRenderer","loadingCellRendererParams","detailCellRenderer","detailCellRendererParams","enableRangeSelection","enableCellTextSelection","rowSelection"],()=>this.redrawRows()),mo(this.gos)&&(de(this.gos)||mt(this.gos))&&(this.stickyRowFeature=this.createManagedBean(new jg(this.createRowCon.bind(this),this.destroyRowCtrls.bind(this)))),this.registerCellEventListeners(),this.initialiseCache(),this.printLayout=Re(this.gos,"print"),this.embedFullWidthRows=this.printLayout||this.gos.get("embedFullWidthRows"),this.redrawAfterModelUpdate()}initialiseCache(){if(this.gos.get("keepDetailRows")){let e=this.getKeepDetailRowsCount(),t=e??3;this.cachedRowCtrls=new Yg(t)}}getKeepDetailRowsCount(){return this.gos.get("keepDetailRowsCount")}getStickyTopRowCtrls(){return this.stickyRowFeature?this.stickyRowFeature.getStickyTopRowCtrls():[]}getStickyBottomRowCtrls(){return this.stickyRowFeature?this.stickyRowFeature.getStickyBottomRowCtrls():[]}updateAllRowCtrls(){let e=Gr(this.rowCtrlsByRowIndex),t=Gr(this.zombieRowCtrls),i=this.cachedRowCtrls?this.cachedRowCtrls.getEntries():[];t.length>0||i.length>0?this.allRowCtrls=[...e,...t,...i]:this.allRowCtrls=e}onCellFocusChanged(e){this.getAllCellCtrls().forEach(t=>t.onCellFocused(e)),this.getFullWidthRowCtrls().forEach(t=>t.onFullWidthRowFocused(e))}onSuppressCellFocusChanged(e){this.getAllCellCtrls().forEach(t=>t.onSuppressCellFocusChanged(e)),this.getFullWidthRowCtrls().forEach(t=>t.onSuppressCellFocusChanged(e))}registerCellEventListeners(){this.addManagedEventListeners({cellFocused:e=>{this.onCellFocusChanged(e)},cellFocusCleared:()=>this.onCellFocusChanged(),flashCells:e=>{this.getAllCellCtrls().forEach(t=>t.onFlashCells(e))},columnHoverChanged:()=>{this.getAllCellCtrls().forEach(e=>e.onColumnHover())},displayedColumnsChanged:()=>{this.getAllCellCtrls().forEach(e=>e.onDisplayedColumnsChanged())},displayedColumnsWidthChanged:()=>{this.printLayout&&this.getAllCellCtrls().forEach(e=>e.onLeftChanged())}}),this.setupRangeSelectionListeners(),this.refreshListenersToColumnsForCellComps(),this.addManagedEventListeners({gridColumnsChanged:this.refreshListenersToColumnsForCellComps.bind(this)}),this.addDestroyFunc(this.removeGridColumnListeners.bind(this))}removeGridColumnListeners(){this.destroyFuncsForColumnListeners.forEach(e=>e()),this.destroyFuncsForColumnListeners.length=0}refreshListenersToColumnsForCellComps(){this.removeGridColumnListeners(),this.columnModel.getCols().forEach(t=>{let i=l=>{this.getAllCellCtrls().forEach(c=>{c.getColumn()===t&&l(c)})},o=()=>{i(l=>l.onLeftChanged())},s=()=>{i(l=>l.onWidthChanged())},r=()=>{i(l=>l.onFirstRightPinnedChanged())},n=()=>{i(l=>l.onLastLeftPinnedChanged())},a=()=>{i(l=>l.onColDefChanged())};t.addEventListener("leftChanged",o),t.addEventListener("widthChanged",s),t.addEventListener("firstRightPinnedChanged",r),t.addEventListener("lastLeftPinnedChanged",n),t.addEventListener("colDefChanged",a),this.destroyFuncsForColumnListeners.push(()=>{t.removeEventListener("leftChanged",o),t.removeEventListener("widthChanged",s),t.removeEventListener("firstRightPinnedChanged",r),t.removeEventListener("lastLeftPinnedChanged",n),t.removeEventListener("colDefChanged",a)})})}onDomLayoutChanged(){let e=Re(this.gos,"print"),t=e||this.gos.get("embedFullWidthRows"),i=t!==this.embedFullWidthRows||this.printLayout!==e;this.printLayout=e,this.embedFullWidthRows=t,i&&this.redrawAfterModelUpdate({domLayoutChanged:!0})}datasourceChanged(){this.firstRenderedRow=0,this.lastRenderedRow=-1;let e=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(e)}onPageLoaded(e){let t={recycleRows:e.keepRenderedRows,animate:e.animate,newData:e.newData,newPage:e.newPage,onlyBody:!0};this.redrawAfterModelUpdate(t)}getAllCellsForColumn(e){let t=[];return this.getAllRowCtrls().forEach(i=>{let o=i.getCellElement(e);o&&t.push(o)}),t}refreshFloatingRowComps(){this.refreshFloatingRows(this.topRowCtrls,"top"),this.refreshFloatingRows(this.bottomRowCtrls,"bottom")}getTopRowCtrls(){return this.topRowCtrls}getCentreRowCtrls(){return this.allRowCtrls}getBottomRowCtrls(){return this.bottomRowCtrls}refreshFloatingRows(e,t){let{pinnedRowModel:i,beans:o,printLayout:s}=this,r=Object.fromEntries(e.map(a=>[a.getRowNode().id,a]));i.forEachPinnedRow(t,(a,l)=>{let c=e[l];c&&i.getPinnedRowById(c.getRowNode().id,t)===void 0&&(c.destroyFirstPass(),c.destroySecondPass()),a.id in r?(e[l]=r[a.id],delete r[a.id]):e[l]=new Bt(a,o,!1,!1,s)});let n=t==="top"?i.getPinnedTopRowCount():i.getPinnedBottomRowCount();e.length=n}onPinnedRowDataChanged(){let e={recycleRows:!0};this.redrawAfterModelUpdate(e)}redrawRow(e,t=!1){if(e.sticky)this.stickyRowFeature.refreshStickyNode(e);else if(this.cachedRowCtrls?.has(e)){this.cachedRowCtrls.removeRow(e);return}else{let i=o=>{let s=o[e.rowIndex];s&&s.getRowNode()===e&&(s.destroyFirstPass(),s.destroySecondPass(),o[e.rowIndex]=this.createRowCon(e,!1,!1))};switch(e.rowPinned){case"top":i(this.topRowCtrls);break;case"bottom":i(this.bottomRowCtrls);break;default:i(this.rowCtrlsByRowIndex),this.updateAllRowCtrls()}}t||this.dispatchDisplayedRowsChanged(!1)}redrawRows(e){if(e!=null){e?.forEach(i=>this.redrawRow(i,!0)),this.dispatchDisplayedRowsChanged(!1);return}this.redrawAfterModelUpdate()}getCellToRestoreFocusToAfterRefresh(e){let t=e?.suppressKeepFocus?null:this.focusService.getFocusCellToUseAfterRefresh();if(t==null)return null;let i=fe(this.gos),o=Di(this.gos,i,zt.DOM_DATA_KEY_CELL_CTRL),s=Di(this.gos,i,Bt.DOM_DATA_KEY_ROW_CTRL);return o||s?t:null}redrawAfterModelUpdate(e={}){this.getLockOnRefresh();let t=this.getCellToRestoreFocusToAfterRefresh(e);this.updateContainerHeights(),this.scrollToTopIfNewData(e);let i=!e.domLayoutChanged&&!!e.recycleRows,o=e.animate&&Wt(this.gos),s=i?this.getRowsToRecycle():null;if(i||this.removeAllRowComps(),this.workOutFirstAndLastRowsToRender(),this.stickyRowFeature){this.stickyRowFeature.checkStickyRows();let r=this.stickyRowFeature.getExtraTopHeight()+this.stickyRowFeature.getExtraBottomHeight();r&&this.updateContainerHeights(r)}this.recycleRows(s,o),this.gridBodyCtrl.updateRowCount(),e.onlyBody||this.refreshFloatingRowComps(),this.dispatchDisplayedRowsChanged(),t!=null&&this.restoreFocusedCell(t),this.releaseLockOnRefresh()}scrollToTopIfNewData(e){let t=e.newData||e.newPage,i=this.gos.get("suppressScrollOnNewData");t&&!i&&(this.gridBodyCtrl.getScrollFeature().scrollToTop(),this.stickyRowFeature?.resetOffsets())}updateContainerHeights(e=0){if(this.printLayout){this.rowContainerHeightService.setModelHeight(null);return}let t=this.pageBoundsService.getCurrentPageHeight();t===0&&(t=1),this.rowContainerHeightService.setModelHeight(t+e)}getLockOnRefresh(){if(this.refreshInProgress)throw new Error("AG Grid: cannot get grid to draw rows when it is in the middle of drawing rows. Your code probably called a grid API method while the grid was in the render stage. To overcome this, put the API call into a timeout, e.g. instead of api.redrawRows(), call setTimeout(function() { api.redrawRows(); }, 0). To see what part of your code that caused the refresh check this stacktrace.");this.refreshInProgress=!0,this.frameworkOverrides.getLockOnRefresh?.()}releaseLockOnRefresh(){this.refreshInProgress=!1,this.frameworkOverrides.releaseLockOnRefresh?.()}isRefreshInProgress(){return this.refreshInProgress}restoreFocusedCell(e){e&&this.focusService.restoreFocusedCell(e,()=>{this.onCellFocusChanged(this.gos.addGridCommonParams({rowIndex:e.rowIndex,column:e.column,rowPinned:e.rowPinned,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,type:"cellFocused"}))})}stopEditing(e=!1){this.getAllRowCtrls().forEach(t=>{t.stopEditing(e)})}getAllCellCtrls(){let e=[],t=this.getAllRowCtrls(),i=t.length;for(let o=0;o<i;o++){let s=t[o].getAllCellCtrls(),r=s.length;for(let n=0;n<r;n++)e.push(s[n])}return e}getAllRowCtrls(){let e=this.stickyRowFeature&&this.stickyRowFeature.getStickyTopRowCtrls()||[],t=this.stickyRowFeature&&this.stickyRowFeature.getStickyBottomRowCtrls()||[],i=[...this.topRowCtrls,...this.bottomRowCtrls,...e,...t];for(let o in this.rowCtrlsByRowIndex)i.push(this.rowCtrlsByRowIndex[o]);return i}addRenderedRowListener(e,t,i){let o=this.rowCtrlsByRowIndex[t];o&&o.addEventListener(e,i)}flashCells(e={}){this.getCellCtrls(e.rowNodes,e.columns).forEach(t=>t.flashCell(e))}refreshCells(e={}){let t={forceRefresh:e.force,newData:!1,suppressFlash:e.suppressFlash};for(let i of this.getCellCtrls(e.rowNodes,e.columns))i.refreshOrDestroyCell(t);this.refreshFullWidth(e.rowNodes)}refreshFullWidth(e){if(!e)return;let t=null;this.stickyRowFeature&&Vr()&&(t=this.getCellToRestoreFocusToAfterRefresh()||null);for(let i of this.getRowCtrls(e)){if(!i.isFullWidth())continue;i.refreshFullWidth()||this.redrawRow(i.getRowNode(),!0)}this.dispatchDisplayedRowsChanged(!1),t&&this.restoreFocusedCell(t)}getCellRendererInstances(e){let t=this.getCellCtrls(e.rowNodes,e.columns).map(s=>s.getCellRenderer()).filter(s=>s!=null);if(e.columns?.length)return t;let i=[],o=this.mapRowNodes(e.rowNodes);return this.getAllRowCtrls().forEach(s=>{if(o&&!this.isRowInMap(s.getRowNode(),o)||!s.isFullWidth())return;let r=s.getFullWidthCellRenderers();for(let n=0;n<r.length;n++){let a=r[n];a!=null&&i.push(a)}}),[...i,...t]}getCellEditorInstances(e){let t=[];return this.getCellCtrls(e.rowNodes,e.columns).forEach(i=>{let o=i.getCellEditor();o&&t.push(o)}),t}getEditingCells(){let e=[];return this.getAllCellCtrls().forEach(t=>{if(t.isEditing()){let i=t.getCellPosition();e.push(i)}}),e}mapRowNodes(e){if(!e)return;let t={top:{},bottom:{},normal:{}};return e.forEach(i=>{let o=i.id;switch(i.rowPinned){case"top":t.top[o]=i;break;case"bottom":t.bottom[o]=i;break;default:t.normal[o]=i;break}}),t}isRowInMap(e,t){let i=e.id;switch(e.rowPinned){case"top":return t.top[i]!=null;case"bottom":return t.bottom[i]!=null;default:return t.normal[i]!=null}}getRowCtrls(e){let t=this.mapRowNodes(e),i=this.getAllRowCtrls();return!e||!t?i:i.filter(o=>{let s=o.getRowNode();return this.isRowInMap(s,t)})}getCellCtrls(e,t){let i;M(t)&&(i={},t.forEach(s=>{let r=this.columnModel.getCol(s);M(r)&&(i[r.getId()]=!0)}));let o=[];return this.getRowCtrls(e).forEach(s=>{s.getAllCellCtrls().forEach(r=>{let n=r.getColumn().getId();i&&!i[n]||o.push(r)})}),o}destroy(){this.removeAllRowComps(!0),super.destroy()}removeAllRowComps(e=!1){let t=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(t,e),this.stickyRowFeature&&this.stickyRowFeature.destroyStickyCtrls()}getRowsToRecycle(){let e=[];We(this.rowCtrlsByRowIndex,(i,o)=>{o.getRowNode().id==null&&e.push(i)}),this.removeRowCtrls(e);let t={};return We(this.rowCtrlsByRowIndex,(i,o)=>{let s=o.getRowNode();t[s.id]=o}),this.rowCtrlsByRowIndex={},t}removeRowCtrls(e,t=!1){e.forEach(i=>{let o=this.rowCtrlsByRowIndex[i];o&&(o.destroyFirstPass(t),o.destroySecondPass()),delete this.rowCtrlsByRowIndex[i]})}onBodyScroll(e){e.direction==="vertical"&&this.redraw({afterScroll:!0})}redraw(e={}){let{afterScroll:t}=e,i;this.stickyRowFeature&&Vr()&&(i=this.getCellToRestoreFocusToAfterRefresh()||void 0);let o=this.firstRenderedRow,s=this.lastRenderedRow;this.workOutFirstAndLastRowsToRender();let r=!1;if(this.stickyRowFeature){r=this.stickyRowFeature.checkStickyRows();let a=this.stickyRowFeature.getExtraTopHeight()+this.stickyRowFeature.getExtraBottomHeight();a&&this.updateContainerHeights(a)}let n=this.firstRenderedRow!==o||this.lastRenderedRow!==s;if(!(t&&!r&&!n)&&(this.getLockOnRefresh(),this.recycleRows(null,!1,t),this.releaseLockOnRefresh(),this.dispatchDisplayedRowsChanged(t&&!r),i!=null)){let a=this.getCellToRestoreFocusToAfterRefresh();i!=null&&a==null&&(this.animationFrameService.flushAllFrames(),this.restoreFocusedCell(i))}}removeRowCompsNotToDraw(e,t){let i={};e.forEach(r=>i[r]=!0);let s=Object.keys(this.rowCtrlsByRowIndex).filter(r=>!i[r]);this.removeRowCtrls(s,t)}calculateIndexesToDraw(e){let t=su(this.firstRenderedRow,this.lastRenderedRow),i=(s,r)=>{let n=r.getRowNode().rowIndex;n!=null&&(n<this.firstRenderedRow||n>this.lastRenderedRow)&&this.doNotUnVirtualiseRow(r)&&t.push(n)};We(this.rowCtrlsByRowIndex,i),We(e,i),t.sort((s,r)=>s-r);let o=[];for(let s=0;s<t.length;s++){let r=t[s],n=this.rowModel.getRow(r);n&&!n.sticky&&o.push(r)}return o}recycleRows(e,t=!1,i=!1){let o=this.calculateIndexesToDraw(e);(this.printLayout||i)&&(t=!1),this.removeRowCompsNotToDraw(o,!t);let s=[];o.forEach(r=>{let n=this.createOrUpdateRowCtrl(r,e,t,i);M(n)&&s.push(n)}),e&&(i&&!this.gos.get("suppressAnimationFrame")&&!this.printLayout?this.beans.animationFrameService.addDestroyTask(()=>{this.destroyRowCtrls(e,t),this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()}):this.destroyRowCtrls(e,t)),this.updateAllRowCtrls()}dispatchDisplayedRowsChanged(e=!1){this.eventService.dispatchEvent({type:"displayedRowsChanged",afterScroll:e})}onDisplayedColumnsChanged(){let e=this.visibleColsService.isPinningLeft(),t=this.visibleColsService.isPinningRight();(this.pinningLeft!==e||t!==this.pinningRight)&&(this.pinningLeft=e,this.pinningRight=t,this.embedFullWidthRows&&this.redrawFullWidthEmbeddedRows())}redrawFullWidthEmbeddedRows(){let e=[];this.getFullWidthRowCtrls().forEach(t=>{let i=t.getRowNode().rowIndex;e.push(i.toString())}),this.refreshFloatingRowComps(),this.removeRowCtrls(e),this.redraw({afterScroll:!0})}getFullWidthRowCtrls(e){let t=this.mapRowNodes(e);return this.getAllRowCtrls().filter(i=>{if(!i.isFullWidth())return!1;let o=i.getRowNode();return!(t!=null&&!this.isRowInMap(o,t))})}createOrUpdateRowCtrl(e,t,i,o){let s,r=this.rowCtrlsByRowIndex[e];if(r||(s=this.rowModel.getRow(e),M(s)&&M(t)&&t[s.id]&&s.alreadyRendered&&(r=t[s.id],t[s.id]=null)),!r)if(s||(s=this.rowModel.getRow(e)),M(s))r=this.createRowCon(s,i,o);else return;return s&&(s.alreadyRendered=!0),this.rowCtrlsByRowIndex[e]=r,r}destroyRowCtrls(e,t){let i=[];We(e,(o,s)=>{if(s){if(this.cachedRowCtrls&&s.isCacheable()){this.cachedRowCtrls.addRow(s);return}if(s.destroyFirstPass(!t),t){let r=s.instanceId;this.zombieRowCtrls[r]=s,i.push(()=>{s.destroySecondPass(),delete this.zombieRowCtrls[r]})}else s.destroySecondPass()}}),t&&(i.push(()=>{this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()}),Ml(i))}getRowBuffer(){return this.gos.get("rowBuffer")}getRowBufferInPixels(){let e=this.getRowBuffer(),t=fo(this.gos);return e*t}workOutFirstAndLastRowsToRender(){this.rowContainerHeightService.updateOffset();let e,t;if(!this.rowModel.isRowsToRender())e=0,t=-1;else if(this.printLayout)this.environment.refreshRowHeightVariable(),e=this.pageBoundsService.getFirstRow(),t=this.pageBoundsService.getLastRow();else{let a=this.getRowBufferInPixels(),l=this.ctrlsService.getGridBodyCtrl(),c=this.gos.get("suppressRowVirtualisation"),d=!1,u,h;do{let v=this.pageBoundsService.getPixelOffset(),{pageFirstPixel:w,pageLastPixel:C}=this.pageBoundsService.getCurrentPagePixelRange(),R=this.rowContainerHeightService.getDivStretchOffset(),P=l.getScrollFeature().getVScrollPosition(),T=P.top,x=P.bottom;c?(u=w+R,h=C+R):(u=Math.max(T+v-a,w)+R,h=Math.min(x+v+a,C)+R),this.firstVisibleVPixel=Math.max(T+v,w)+R,this.lastVisibleVPixel=Math.min(x+v,C)+R,d=this.ensureAllRowsInRangeHaveHeightsCalculated(u,h)}while(d);let g=this.rowModel.getRowIndexAtPixel(u),f=this.rowModel.getRowIndexAtPixel(h),m=this.pageBoundsService.getFirstRow(),p=this.pageBoundsService.getLastRow();g<m&&(g=m),f>p&&(f=p),e=g,t=f}let i=Re(this.gos,"normal"),o=this.gos.get("suppressMaxRenderedRowRestriction"),s=Math.max(this.getRowBuffer(),500);i&&!o&&t-e>s&&(t=e+s);let r=e!==this.firstRenderedRow,n=t!==this.lastRenderedRow;(r||n)&&(this.firstRenderedRow=e,this.lastRenderedRow=t,this.eventService.dispatchEvent({type:"viewportChanged",firstRow:e,lastRow:t}))}dispatchFirstDataRenderedEvent(){this.dataFirstRenderedFired||(this.dataFirstRenderedFired=!0,window.requestAnimationFrame(()=>{this.beans.eventService.dispatchEvent({type:"firstDataRendered",firstRow:this.firstRenderedRow,lastRow:this.lastRenderedRow})}))}ensureAllRowsInRangeHaveHeightsCalculated(e,t){let i=this.pinnedRowModel?.ensureRowHeightsValid(),o=this.stickyRowFeature?.ensureRowHeightsValid(),s=this.rowModel.ensureRowHeightsValid(e,t,this.pageBoundsService.getFirstRow(),this.pageBoundsService.getLastRow());return(s||o)&&this.eventService.dispatchEvent({type:"recalculateRowBounds"}),o||s||i?(this.updateContainerHeights(),!0):!1}getFirstVisibleVerticalPixel(){return this.firstVisibleVPixel}getLastVisibleVerticalPixel(){return this.lastVisibleVPixel}getFirstVirtualRenderedRow(){return this.firstRenderedRow}getLastVirtualRenderedRow(){return this.lastRenderedRow}doNotUnVirtualiseRow(e){let o=e.getRowNode(),s=this.focusService.isRowNodeFocused(o),r=e.isEditing(),n=o.detail;return s||r||n?!!this.isRowPresent(o):!1}isRowPresent(e){return this.rowModel.isRowPresent(e)?this.paginationService?this.paginationService.isRowPresent(e):!0:!1}createRowCon(e,t,i){let o=this.cachedRowCtrls?this.cachedRowCtrls.getRow(e):null;if(o)return o;let s=this.gos.get("suppressAnimationFrame"),r=i&&!s&&!this.printLayout;return new Bt(e,this.beans,t,r,this.printLayout)}getRenderedNodes(){let e=this.rowCtrlsByRowIndex;return Object.values(e).map(t=>t.getRowNode())}getRowByPosition(e){let t,{rowIndex:i}=e;switch(e.rowPinned){case"top":t=this.topRowCtrls[i];break;case"bottom":t=this.bottomRowCtrls[i];break;default:t=this.rowCtrlsByRowIndex[i],t||(t=this.getStickyTopRowCtrls().find(o=>o.getRowNode().rowIndex===i)||null,t||(t=this.getStickyBottomRowCtrls().find(o=>o.getRowNode().rowIndex===i)||null));break}return t}isRangeInRenderedViewport(e,t){if(e==null||t==null)return!1;let o=e>this.lastRenderedRow;return!(t<this.firstRenderedRow)&&!o}},Yg=class{constructor(e){this.entriesMap={},this.entriesList=[],this.maxCount=e}addRow(e){if(this.entriesMap[e.getRowNode().id]=e,this.entriesList.push(e),e.setCached(!0),this.entriesList.length>this.maxCount){let t=this.entriesList[0];t.destroyFirstPass(),t.destroySecondPass(),this.removeFromCache(t)}}getRow(e){if(e==null||e.id==null)return null;let t=this.entriesMap[e.id];return t?(this.removeFromCache(t),t.setCached(!1),t.getRowNode()!=e?null:t):null}has(e){return this.entriesMap[e.id]!=null}removeRow(e){let t=e.id,i=this.entriesMap[t];delete this.entriesMap[t],De(this.entriesList,i)}removeFromCache(e){let t=e.getRowNode().id;delete this.entriesMap[t],De(this.entriesList,e)}getEntries(){return this.entriesList}},$g=class extends b{constructor(){super(...arguments),this.beanName="pinnedRowModel",this.nextId=0,this.pinnedTopRows=new Xr,this.pinnedBottomRows=new Xr}wireBeans(e){this.beans=e}postConstruct(){this.setPinnedRowData(this.gos.get("pinnedTopRowData"),"top"),this.setPinnedRowData(this.gos.get("pinnedBottomRowData"),"bottom"),this.addManagedPropertyListener("pinnedTopRowData",e=>this.setPinnedRowData(e.currentValue,"top")),this.addManagedPropertyListener("pinnedBottomRowData",e=>this.setPinnedRowData(e.currentValue,"bottom")),this.addManagedEventListeners({gridStylesChanged:this.onGridStylesChanges.bind(this)})}isEmpty(e){return(e==="top"?this.pinnedTopRows:this.pinnedBottomRows).isEmpty()}isRowsToRender(e){return!this.isEmpty(e)}onGridStylesChanges(e){if(e.rowHeightChanged){let t=i=>{i.setRowHeight(i.rowHeight,!0)};this.pinnedBottomRows.forEach(t),this.pinnedTopRows.forEach(t)}}ensureRowHeightsValid(){let e=!1,t=0,i=o=>{if(o.rowHeightEstimated){let s=ht(this.gos,o);o.setRowTop(t),o.setRowHeight(s.height),t+=s.height,e=!0}};return this.pinnedBottomRows?.forEach(i),t=0,this.pinnedTopRows?.forEach(i),this.eventService.dispatchEvent({type:"pinnedHeightChanged"}),e}setPinnedRowData(e,t){this.updateNodesFromRowData(e,t),this.eventService.dispatchEvent({type:"pinnedRowDataChanged"})}updateNodesFromRowData(e,t){let i=t==="top"?this.pinnedTopRows:this.pinnedBottomRows;if(e===void 0){i.clear();return}let o=Ut(this.gos),s=t==="top"?st.ID_PREFIX_TOP_PINNED:st.ID_PREFIX_BOTTOM_PINNED,r=i.getIds(),n=[],a=new Set,l=0,c=-1;for(let d of e){let u=o?.({data:d,level:0,rowPinned:t})??s+this.nextId++;if(a.has(u)){S("Duplicate ID",u,"found for pinned row with data",d,"When `getRowId` is defined, it must return unique IDs for all pinned rows. Use the `rowPinned` parameter.");continue}c++,a.add(u),n.push(u);let h=i.getById(u);if(h!==void 0)h.data!==d&&h.setData(d),l+=this.setRowTopAndRowIndex(h,l,c),r.delete(u);else{let g=new st(this.beans);g.id=u,g.data=d,g.rowPinned=t,l+=this.setRowTopAndRowIndex(g,l,c),i.push(g)}}r.forEach(d=>{i.getById(d)?.clearRowTopAndRowIndex()}),i.removeAllById(r),i.setOrder(n)}setRowTopAndRowIndex(e,t,i){return e.setRowTop(t),e.setRowHeight(ht(this.gos,e).height),e.setRowIndex(i),e.rowHeight}getPinnedTopTotalHeight(){return this.getTotalHeight(this.pinnedTopRows)}getPinnedBottomTotalHeight(){return this.getTotalHeight(this.pinnedBottomRows)}getPinnedTopRowCount(){return this.pinnedTopRows.getSize()}getPinnedBottomRowCount(){return this.pinnedBottomRows.getSize()}getPinnedTopRow(e){return this.pinnedTopRows.getByIndex(e)}getPinnedBottomRow(e){return this.pinnedBottomRows.getByIndex(e)}getPinnedRowById(e,t){return t==="top"?this.pinnedTopRows.getById(e):this.pinnedBottomRows.getById(e)}forEachPinnedRow(e,t){return e==="top"?this.pinnedTopRows.forEach(t):this.pinnedBottomRows.forEach(t)}getTotalHeight(e){let t=e.getSize();if(t===0)return 0;let i=e.getByIndex(t-1);return i===void 0?0:i.rowTop+i.rowHeight}},Xr=class{constructor(){this.cache={},this.ordering=[]}getById(e){return this.cache[e]}getByIndex(e){let t=this.ordering[e];return this.cache[t]}push(e){this.cache[e.id]=e,this.ordering.push(e.id)}removeAllById(e){for(let t of e)delete this.cache[t];this.ordering=this.ordering.filter(t=>!e.has(t))}setOrder(e){this.ordering=e}forEach(e){this.ordering.forEach((t,i)=>{let o=this.cache[t];o&&e(o,i)})}clear(){this.ordering.length=0,this.cache={}}isEmpty(){return this.ordering.length===0}getSize(){return this.ordering.length}getIds(){return new Set(this.ordering)}};var Qg=class extends b{constructor(){super(...arguments),this.beanName="rowNodeBlockLoader",this.activeBlockLoadsCount=0,this.blocks=[],this.active=!0}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.maxConcurrentRequests=this.getMaxConcurrentDatasourceRequests();let e=this.gos.get("blockLoadDebounceMillis");e&&e>0&&(this.checkBlockToLoadDebounce=xe(this.performCheckBlocksToLoad.bind(this),e))}getMaxConcurrentDatasourceRequests(){let e=this.gos.get("maxConcurrentDatasourceRequests");if(e==null)return 2;if(!(e<=0))return e}addBlock(e){this.blocks.push(e),e.addEventListener("loadComplete",this.loadComplete.bind(this)),this.checkBlockToLoad()}removeBlock(e){De(this.blocks,e)}destroy(){super.destroy(),this.active=!1}loadComplete(){this.activeBlockLoadsCount--,this.checkBlockToLoad(),this.dispatchLocalEvent({type:"blockLoaded"}),this.activeBlockLoadsCount==0&&this.dispatchLocalEvent({type:"blockLoaderFinished"})}checkBlockToLoad(){this.checkBlockToLoadDebounce?this.checkBlockToLoadDebounce():this.performCheckBlocksToLoad()}performCheckBlocksToLoad(){if(!this.active)return;if(this.printCacheStatus(),this.maxConcurrentRequests!=null&&this.activeBlockLoadsCount>=this.maxConcurrentRequests){this.gos.get("debug")&&ot("RowNodeBlockLoader - checkBlockToLoad: max loads exceeded");return}let e=this.getAvailableLoadingCount(),t=this.blocks.filter(i=>i.getState()==="needsLoading").slice(0,e);this.registerLoads(t.length),t.forEach(i=>i.load()),this.printCacheStatus()}getBlockState(){if(mt(this.gos))return this.rowModel.getBlockStates();let e={};return this.blocks.forEach(t=>{let{id:i,state:o}=t.getBlockStateJson();e[i]=o}),e}printCacheStatus(){this.gos.get("debug")&&ot(`RowNodeBlockLoader - printCacheStatus: activePageLoadsCount = ${this.activeBlockLoadsCount}, blocks = ${JSON.stringify(this.getBlockState())}`)}isLoading(){return this.activeBlockLoadsCount>0}registerLoads(e){this.activeBlockLoadsCount+=e}getAvailableLoadingCount(){return this.maxConcurrentRequests!==void 0?this.maxConcurrentRequests-this.activeBlockLoadsCount:void 0}},Vw={version:B,moduleName:"@ag-grid-community/row-node-block",beans:[Qg]},qg=class{constructor(){this.root=null,this.end=null,this.cachedRange=[]}init(e){this.rowModel=e}reset(){this.root=null,this.end=null,this.cachedRange.length=0}setRoot(e){this.root=e,this.end=null,this.cachedRange.length=0}setEndRange(e){this.end=e,this.cachedRange.length=0}getRange(){if(this.cachedRange.length===0){let e=this.getRoot(),t=this.getEnd();if(e==null||t==null)return this.cachedRange;this.cachedRange=this.rowModel.getNodesInRangeForSelection(e,t)}return this.cachedRange}isInRange(e){return this.root===null?!1:this.getRange().some(t=>t.id===e.id)}getRoot(){return this.root&&this.root?.key===null&&(this.root=this.rowModel.getRowNode(this.root.id)??null),this.root}getEnd(){return this.end&&this.end?.key===null&&(this.end=this.rowModel.getRowNode(this.end.id)??null),this.end}truncate(e){let t=this.getRange();if(t.length===0)return{keep:[],discard:[]};let i=t[0].id===this.root.id,o=t.findIndex(s=>s.id===e.id);if(o>-1){let s=t.slice(0,o),r=t.slice(o+1);return this.setEndRange(e),i?{keep:s,discard:r}:{keep:r,discard:s}}else return{keep:t,discard:[]}}extend(e,t=!1){let i=this.getRoot();if(i==null){let s=this.getRange().slice();return t&&e.depthFirstSearch(r=>!r.group&&s.push(r)),s.push(e),this.setRoot(e),{keep:s,discard:[]}}if(this.rowModel.getNodesInRangeForSelection(i,e).find(s=>s.id===this.end?.id))return this.setEndRange(e),{keep:this.getRange(),discard:[]};{let s=this.getRange().slice();return this.setEndRange(e),{keep:this.getRange(),discard:s}}}},Jg=class extends b{constructor(){super(...arguments),this.beanName="stylingService"}wireBeans(e){this.expressionService=e.expressionService}processAllCellClasses(e,t,i,o){this.processClassRules(void 0,e.cellClassRules,t,i,o),this.processStaticCellClasses(e,t,i)}processClassRules(e,t,i,o,s){if(t==null&&e==null)return;let r={},n={},a=(l,c)=>{l.split(" ").forEach(d=>{d.trim()!=""&&c(d)})};if(t){let l=Object.keys(t);for(let c=0;c<l.length;c++){let d=l[c],u=t[d],h;typeof u=="string"?h=this.expressionService.evaluate(u,i):typeof u=="function"&&(h=u(i)),a(d,g=>{h?r[g]=!0:n[g]=!0})}}e&&s&&Object.keys(e).forEach(l=>a(l,c=>{r[c]||(n[c]=!0)})),s&&Object.keys(n).forEach(s),Object.keys(r).forEach(o)}getStaticCellClasses(e,t){let{cellClass:i}=e;if(!i)return[];let o;return typeof i=="function"?o=i(t):o=i,typeof o=="string"&&(o=[o]),o||[]}processStaticCellClasses(e,t,i){this.getStaticCellClasses(e,t).forEach(s=>{i(s)})}};var Hi=(e=>(e.TAB_GUARD="ag-tab-guard",e.TAB_GUARD_TOP="ag-tab-guard-top",e.TAB_GUARD_BOTTOM="ag-tab-guard-bottom",e))(Hi||{}),Qs=class extends b{constructor(e){super(),this.skipTabGuardFocus=!1,this.forcingFocusOut=!1,this.allowFocus=!1;let{comp:t,eTopGuard:i,eBottomGuard:o,focusTrapActive:s,forceFocusOutWhenTabGuardsAreEmpty:r,isFocusableContainer:n,focusInnerElement:a,onFocusIn:l,onFocusOut:c,shouldStopEventPropagation:d,onTabKeyDown:u,handleKeyDown:h,eFocusableElement:g}=e;this.comp=t,this.eTopGuard=i,this.eBottomGuard=o,this.providedFocusInnerElement=a,this.eFocusableElement=g,this.focusTrapActive=!!s,this.forceFocusOutWhenTabGuardsAreEmpty=!!r,this.isFocusableContainer=!!n,this.providedFocusIn=l,this.providedFocusOut=c,this.providedShouldStopEventPropagation=d,this.providedOnTabKeyDown=u,this.providedHandleKeyDown=h}wireBeans(e){this.focusService=e.focusService}postConstruct(){this.createManagedBean(new jt(this.eFocusableElement,{shouldStopEventPropagation:()=>this.shouldStopEventPropagation(),onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e),onFocusIn:e=>this.onFocusIn(e),onFocusOut:e=>this.onFocusOut(e)})),this.activateTabGuards(),[this.eTopGuard,this.eBottomGuard].forEach(e=>this.addManagedElementListeners(e,{focus:this.onFocus.bind(this)}))}handleKeyDown(e){this.providedHandleKeyDown&&this.providedHandleKeyDown(e)}tabGuardsAreActive(){return!!this.eTopGuard&&this.eTopGuard.hasAttribute("tabIndex")}shouldStopEventPropagation(){return this.providedShouldStopEventPropagation?this.providedShouldStopEventPropagation():!1}activateTabGuards(){if(this.forcingFocusOut)return;let e=this.gos.get("tabIndex");this.comp.setTabIndex(e.toString())}deactivateTabGuards(){this.comp.setTabIndex()}onFocus(e){if(this.isFocusableContainer&&!this.eFocusableElement.contains(e.relatedTarget)&&!this.allowFocus){this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);return}if(this.skipTabGuardFocus){this.skipTabGuardFocus=!1;return}if(this.forceFocusOutWhenTabGuardsAreEmpty&&this.focusService.findFocusableElements(this.eFocusableElement,".ag-tab-guard").length===0){this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);return}if(this.isFocusableContainer&&this.eFocusableElement.contains(e.relatedTarget))return;let t=e.target===this.eBottomGuard;this.providedFocusInnerElement?this.providedFocusInnerElement(t):this.focusInnerElement(t)}findNextElementOutsideAndFocus(e){let t=ve(this.gos),i=this.focusService.findFocusableElements(t.body,null,!0),o=i.indexOf(e?this.eTopGuard:this.eBottomGuard);if(o===-1)return;let s,r;e?(s=0,r=o):(s=o+1,r=i.length);let n=i.slice(s,r),a=this.gos.get("tabIndex");n.sort((l,c)=>{let d=parseInt(l.getAttribute("tabindex")||"0"),u=parseInt(c.getAttribute("tabindex")||"0");return u===a?1:d===a?-1:d===0?1:u===0?-1:d-u}),n[e?n.length-1:0]?.focus()}onFocusIn(e){this.focusTrapActive||this.forcingFocusOut||(this.providedFocusIn&&this.providedFocusIn(e),this.isFocusableContainer||this.deactivateTabGuards())}onFocusOut(e){this.focusTrapActive||(this.providedFocusOut&&this.providedFocusOut(e),this.eFocusableElement.contains(e.relatedTarget)||this.activateTabGuards())}onTabKeyDown(e){if(this.providedOnTabKeyDown){this.providedOnTabKeyDown(e);return}if(this.focusTrapActive||e.defaultPrevented)return;let t=this.tabGuardsAreActive();t&&this.deactivateTabGuards();let i=this.getNextFocusableElement(e.shiftKey);t&&setTimeout(()=>this.activateTabGuards(),0),i&&(i.focus(),e.preventDefault())}focusInnerElement(e=!1){let t=this.focusService.findFocusableElements(this.eFocusableElement);this.tabGuardsAreActive()&&(t.splice(0,1),t.splice(t.length-1,1)),t.length&&t[e?t.length-1:0].focus({preventScroll:!0})}getNextFocusableElement(e){return this.focusService.findNextFocusableElement(this.eFocusableElement,!1,e)}forceFocusOutOfContainer(e=!1){if(this.forcingFocusOut)return;let t=e?this.eTopGuard:this.eBottomGuard;this.activateTabGuards(),this.skipTabGuardFocus=!0,this.forcingFocusOut=!0,t.focus(),window.setTimeout(()=>{this.forcingFocusOut=!1,this.activateTabGuards()})}isTabGuard(e,t){return e===this.eTopGuard&&!t||e===this.eBottomGuard&&(t??!0)}setAllowFocus(e){this.allowFocus=e}},Xg=class extends b{constructor(e){super(),this.comp=e}initialiseTabGuard(e){this.eTopGuard=this.createTabGuard("top"),this.eBottomGuard=this.createTabGuard("bottom"),this.eFocusableElement=this.comp.getFocusableElement();let{eTopGuard:t,eBottomGuard:i,eFocusableElement:o}=this,s=[t,i],r={setTabIndex:m=>{s.forEach(p=>m!=null?p.setAttribute("tabindex",m):p.removeAttribute("tabindex"))}};this.addTabGuards(t,i);let{focusTrapActive:n=!1,onFocusIn:a,onFocusOut:l,focusInnerElement:c,handleKeyDown:d,onTabKeyDown:u,shouldStopEventPropagation:h,forceFocusOutWhenTabGuardsAreEmpty:g,isFocusableContainer:f}=e;this.tabGuardCtrl=this.createManagedBean(new Qs({comp:r,focusTrapActive:n,eTopGuard:t,eBottomGuard:i,eFocusableElement:o,onFocusIn:a,onFocusOut:l,focusInnerElement:c,handleKeyDown:d,onTabKeyDown:u,shouldStopEventPropagation:h,forceFocusOutWhenTabGuardsAreEmpty:g,isFocusableContainer:f}))}getTabGuardCtrl(){return this.tabGuardCtrl}createTabGuard(e){let t=ve(this.gos).createElement("div"),i=e==="top"?"ag-tab-guard-top":"ag-tab-guard-bottom";return t.classList.add("ag-tab-guard",i),Xe(t,"presentation"),t}addTabGuards(e,t){this.eFocusableElement.insertAdjacentElement("afterbegin",e),this.eFocusableElement.insertAdjacentElement("beforeend",t)}removeAllChildrenExceptTabGuards(){let e=[this.eTopGuard,this.eBottomGuard];Be(this.comp.getFocusableElement()),this.addTabGuards(...e)}forceFocusOutOfContainer(e=!1){this.tabGuardCtrl.forceFocusOutOfContainer(e)}appendChild(e,t,i){As(t)||(t=t.getGui());let{eBottomGuard:o}=this;o?o.insertAdjacentElement("beforebegin",t):e(t,i)}},Zg=class extends ce{initialiseTabGuard(e){this.tabGuardFeature=this.createManagedBean(new Xg(this)),this.tabGuardFeature.initialiseTabGuard(e)}forceFocusOutOfContainer(e=!1){this.tabGuardFeature.forceFocusOutOfContainer(e)}appendChild(e,t){this.tabGuardFeature.appendChild(super.appendChild.bind(this),e,t)}},ep=0,tp=200,ip=class extends b{constructor(){super(...arguments),this.beanName="popupService",this.popupList=[]}wireBeans(e){this.ctrlsService=e.ctrlsService,this.resizeObserverService=e.resizeObserverService,this.environment=e.environment}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridCtrl=e.gridCtrl}),this.addManagedEventListeners({gridStylesChanged:this.handleThemeChange.bind(this)})}getPopupParent(){let e=this.gos.get("popupParent");return e||this.gridCtrl.getGui()}positionPopupForMenu(e){let{eventSource:t,ePopup:i}=e,o=this.getPopupIndex(i);if(o!==-1){let g=this.popupList[o];g.alignedToElement=t}let s=t.getBoundingClientRect(),r=this.getParentRect(),n=this.keepXYWithinBounds(i,s.top-r.top,0),a=i.clientWidth>0?i.clientWidth:200;i.style.minWidth=`${a}px`;let c=r.right-r.left-a,d;this.gos.get("enableRtl")?(d=h(),d<0&&(d=u(),this.setAlignedStyles(i,"left")),d>c&&(d=0,this.setAlignedStyles(i,"right"))):(d=u(),d>c&&(d=h(),this.setAlignedStyles(i,"right")),d<0&&(d=0,this.setAlignedStyles(i,"left"))),i.style.left=`${d}px`,i.style.top=`${n}px`;function u(){return s.right-r.left-2}function h(){return s.left-r.left-a}}positionPopupUnderMouseEvent(e){let{ePopup:t,nudgeX:i,nudgeY:o,skipObserver:s}=e;this.positionPopup({ePopup:t,nudgeX:i,nudgeY:o,keepWithinBounds:!0,skipObserver:s,updatePosition:()=>this.calculatePointerAlign(e.mouseEvent),postProcessCallback:()=>this.callPostProcessPopup(e.type,e.ePopup,null,e.mouseEvent,e.column,e.rowNode)})}calculatePointerAlign(e){let t=this.getParentRect();return{x:e.clientX-t.left,y:e.clientY-t.top}}positionPopupByComponent(e){let{ePopup:t,nudgeX:i,nudgeY:o,keepWithinBounds:s,eventSource:r,alignSide:n="left",position:a="over",column:l,rowNode:c,type:d}=e,u=r.getBoundingClientRect(),h=this.getParentRect(),g=this.getPopupIndex(t);if(g!==-1){let m=this.popupList[g];m.alignedToElement=r}let f=()=>{let m=u.left-h.left;n==="right"&&(m-=t.offsetWidth-u.width);let p;return a==="over"?(p=u.top-h.top,this.setAlignedStyles(t,"over")):(this.setAlignedStyles(t,"under"),this.shouldRenderUnderOrAbove(t,u,h,e.nudgeY||0)==="under"?p=u.top-h.top+u.height:p=u.top-t.offsetHeight-(o||0)*2-h.top),{x:m,y:p}};this.positionPopup({ePopup:t,nudgeX:i,nudgeY:o,keepWithinBounds:s,updatePosition:f,postProcessCallback:()=>this.callPostProcessPopup(d,t,r,null,l,c)})}shouldRenderUnderOrAbove(e,t,i,o){let s=i.bottom-t.bottom,r=t.top-i.top,n=e.offsetHeight+o;return s>n?"under":r>n||r>s?"above":"under"}setAlignedStyles(e,t){let i=this.getPopupIndex(e);if(i===-1)return;let o=this.popupList[i],{alignedToElement:s}=o;!s||(["right","left","over","above","under"].forEach(n=>{s.classList.remove(`ag-has-popup-positioned-${n}`),e.classList.remove(`ag-popup-positioned-${n}`)}),!t)||(s.classList.add(`ag-has-popup-positioned-${t}`),e.classList.add(`ag-popup-positioned-${t}`))}callPostProcessPopup(e,t,i,o,s,r){let n=this.gos.getCallback("postProcessPopup");n&&n({column:s,rowNode:r,ePopup:t,type:e,eventSource:i,mouseEvent:o})}positionPopup(e){let{ePopup:t,keepWithinBounds:i,nudgeX:o,nudgeY:s,skipObserver:r,updatePosition:n}=e,a={width:0,height:0},l=(c=!1)=>{let{x:d,y:u}=n();c&&t.clientWidth===a.width&&t.clientHeight===a.height||(a.width=t.clientWidth,a.height=t.clientHeight,o&&(d+=o),s&&(u+=s),i&&(d=this.keepXYWithinBounds(t,d,1),u=this.keepXYWithinBounds(t,u,0)),t.style.left=`${d}px`,t.style.top=`${u}px`,e.postProcessCallback&&e.postProcessCallback())};if(l(),!r){let c=this.resizeObserverService.observeResize(t,()=>l(!0));setTimeout(()=>c(),tp)}}getActivePopups(){return this.popupList.map(e=>e.element)}getPopupList(){return this.popupList}getParentRect(){let e=ve(this.gos),t=this.getPopupParent();return t===e.body?t=e.documentElement:getComputedStyle(t).position==="static"&&(t=t.offsetParent),Gn(t)}keepXYWithinBounds(e,t,i){let o=i===0,s=o?"clientHeight":"clientWidth",r=o?"top":"left",n=o?"height":"width",a=o?"scrollTop":"scrollLeft",l=ve(this.gos),c=l.documentElement,d=this.getPopupParent(),u=e.getBoundingClientRect(),h=d.getBoundingClientRect(),g=l.documentElement.getBoundingClientRect(),f=d===l.body,m=Math.ceil(u[n]),v=f?(o?On:lo)(c)+c[a]:d[s];f&&(v-=Math.abs(g[r]-h[r]));let w=v-m;return Math.min(Math.max(t,0),Math.abs(w))}addPopup(e){let t=ve(this.gos),{eChild:i,ariaLabel:o,alwaysOnTop:s,positionCallback:r,anchorToElement:n}=e;if(!t)return S("could not find the document, document is empty"),{hideFunc:()=>{}};let a=this.getPopupIndex(i);if(a!==-1)return{hideFunc:this.popupList[a].hideFunc};this.initialisePopupPosition(i);let l=this.createPopupWrapper(i,o,!!s),c=this.addEventListenersToPopup({...e,wrapperEl:l});return r&&r(),this.addPopupToPopupList(i,l,c,n),{hideFunc:c}}initialisePopupPosition(e){let i=this.getPopupParent().getBoundingClientRect();M(e.style.top)||(e.style.top=`${i.top*-1}px`),M(e.style.left)||(e.style.left=`${i.left*-1}px`)}createPopupWrapper(e,t,i){let o=this.getPopupParent(),s=document.createElement("div");return this.environment.applyThemeClasses(s),s.classList.add("ag-popup"),e.classList.add(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr","ag-popup-child"),e.hasAttribute("role")||Xe(e,"dialog"),si(e,t),s.appendChild(e),o.appendChild(s),i?this.setAlwaysOnTop(e,!0):this.bringPopupToFront(e),s}handleThemeChange(e){if(e.themeChanged)for(let t of this.popupList)this.environment.applyThemeClasses(t.wrapper)}addEventListenersToPopup(e){let t=ve(this.gos),i=this.getPopupParent(),{wrapperEl:o,eChild:s,closedCallback:r,afterGuiAttached:n,closeOnEsc:a,modal:l}=e,c=!1,d=f=>{if(!o.contains(fe(this.gos)))return;f.key===y.ESCAPE&&!ut(f)&&g({keyboardEvent:f})},u=f=>g({mouseEvent:f}),h=f=>g({touchEvent:f}),g=(f={})=>{let{mouseEvent:m,touchEvent:p,keyboardEvent:v,forceHide:w}=f;!w&&(this.isEventFromCurrentPopup({mouseEvent:m,touchEvent:p},s)||c)||(c=!0,i.removeChild(o),t.removeEventListener("keydown",d),t.removeEventListener("mousedown",u),t.removeEventListener("touchstart",h),t.removeEventListener("contextmenu",u),this.eventService.removeEventListener("dragStarted",u),r&&r(m||p||v),this.removePopupFromPopupList(s))};return n&&n({hidePopup:g}),window.setTimeout(()=>{a&&t.addEventListener("keydown",d),l&&(t.addEventListener("mousedown",u),this.eventService.addEventListener("dragStarted",u),t.addEventListener("touchstart",h),t.addEventListener("contextmenu",u))},0),g}addPopupToPopupList(e,t,i,o){this.popupList.push({element:e,wrapper:t,hideFunc:i,instanceId:ep++,isAnchored:!!o}),o&&this.setPopupPositionRelatedToElement(e,o)}getPopupIndex(e){return this.popupList.findIndex(t=>t.element===e)}setPopupPositionRelatedToElement(e,t){let i=this.getPopupIndex(e);if(i===-1)return;let o=this.popupList[i];if(o.stopAnchoringPromise&&o.stopAnchoringPromise.then(r=>r&&r()),o.stopAnchoringPromise=void 0,o.isAnchored=!1,!t)return;let s=this.keepPopupPositionedRelativeTo({element:t,ePopup:e,hidePopup:o.hideFunc});return o.stopAnchoringPromise=s,o.isAnchored=!0,s}removePopupFromPopupList(e){this.setAlignedStyles(e,null),this.setPopupPositionRelatedToElement(e,null),this.popupList=this.popupList.filter(t=>t.element!==e)}keepPopupPositionedRelativeTo(e){let t=this.getPopupParent(),i=t.getBoundingClientRect(),{element:o,ePopup:s}=e,r=o.getBoundingClientRect(),n=u=>parseInt(u.substring(0,u.length-1),10),a=(u,h)=>{let g=i[u]-r[u],f=n(s.style[u]);return{initialDiff:g,lastDiff:g,initial:f,last:f,direction:h}},l=a("top",0),c=a("left",1),d=this.getFrameworkOverrides();return new ae(u=>{d.wrapIncoming(()=>{d.setInterval(()=>{let h=t.getBoundingClientRect(),g=o.getBoundingClientRect();if(g.top==0&&g.left==0&&g.height==0&&g.width==0){e.hidePopup();return}let m=(p,v)=>{let w=n(s.style[v]);p.last!==w&&(p.initial=w,p.last=w);let C=h[v]-g[v];if(C!=p.lastDiff){let R=this.keepXYWithinBounds(s,p.initial+p.initialDiff-C,p.direction);s.style[v]=`${R}px`,p.last=R}p.lastDiff=C};m(l,"top"),m(c,"left")},200).then(h=>{u(()=>{h!=null&&window.clearInterval(h)})})},"popupPositioning")})}hasAnchoredPopup(){return this.popupList.some(e=>e.isAnchored)}isEventFromCurrentPopup(e,t){let{mouseEvent:i,touchEvent:o}=e,s=i||o;if(!s)return!1;let r=this.getPopupIndex(t);if(r===-1)return!1;for(let n=r;n<this.popupList.length;n++){let a=this.popupList[n];if(Kl(a.element,s))return!0}return this.isElementWithinCustomPopup(s.target)}isElementWithinCustomPopup(e){let t=ve(this.gos);for(;e&&e!==t.body;){if(e.classList.contains("ag-custom-component-popup")||e.parentElement===null)return!0;e=e.parentElement}return!1}getWrapper(e){for(;!e.classList.contains("ag-popup")&&e.parentElement;)e=e.parentElement;return e.classList.contains("ag-popup")?e:null}setAlwaysOnTop(e,t){let i=this.getWrapper(e);i&&(i.classList.toggle("ag-always-on-top",!!t),t&&this.bringPopupToFront(i))}bringPopupToFront(e){let t=this.getPopupParent(),i=Array.prototype.slice.call(t.querySelectorAll(".ag-popup")),o=i.length,s=this.getWrapper(e);if(!s||o<=1||!t.contains(e))return;let r=[],n=[];for(let h of i)h!==s&&(h.classList.contains("ag-always-on-top")?n.push(h):r.push(h));let a=[],l=n.length,u=s.classList.contains("ag-always-on-top")||!l?[...r,...n,s]:[...r,s,...n];for(let h=0;h<=o;h++){let g=u[h];if(i[h]===u[h]||g===s)continue;g.querySelectorAll("div").forEach(m=>{m.scrollTop!==0&&a.push([m,m.scrollTop])}),h===0?t.insertAdjacentElement("afterbegin",g):u[h-1].insertAdjacentElement("afterend",g)}for(;a.length;){let h=a.pop();h[0].scrollTop=h[1]}}},op=["touchstart","touchend","touchmove","touchcancel"],qs=class{constructor(e="javascript"){this.frameworkName=e,this.renderingEngine="vanilla",this.wrapIncoming=t=>t(),this.wrapOutgoing=t=>t()}setInterval(e,t){return new ae(i=>{i(window.setInterval(e,t))})}addEventListener(e,t,i,o){let s=Ht(op,t);e.addEventListener(t,i,{capture:!!o,passive:s})}get shouldWrapOutgoing(){return!1}frameworkComponent(e){return null}isFrameworkComponent(e){return!1}getDocLink(e){return`https://www.ag-grid.com/${this.frameworkName==="solid"?"react":this.frameworkName}-data-grid${e?`/${e}`:""}`}},sp=class extends b{constructor(){super(...arguments),this.beanName="cellNavigationService"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer,this.pinnedRowModel=e.pinnedRowModel,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService}getNextCellToFocus(e,t,i=!1){return i?this.getNextCellToFocusWithCtrlPressed(e,t):this.getNextCellToFocusWithoutCtrlPressed(e,t)}getNextCellToFocusWithCtrlPressed(e,t){let i=e===y.UP,o=e===y.DOWN,s=e===y.LEFT,r,n;if(i||o)n=i?this.pageBoundsService.getFirstRow():this.pageBoundsService.getLastRow(),r=t.column;else{let a=this.visibleColsService.getAllCols(),l=this.gos.get("enableRtl");n=t.rowIndex,r=s!==l?a[0]:$(a)}return{rowIndex:n,rowPinned:null,column:r}}getNextCellToFocusWithoutCtrlPressed(e,t){let i=t,o=!1;for(;!o;){switch(e){case y.UP:i=this.getCellAbove(i);break;case y.DOWN:i=this.getCellBelow(i);break;case y.RIGHT:this.gos.get("enableRtl")?i=this.getCellToLeft(i):i=this.getCellToRight(i);break;case y.LEFT:this.gos.get("enableRtl")?i=this.getCellToRight(i):i=this.getCellToLeft(i);break;default:i=null,S("unknown key for navigation ",e);break}i?o=this.isCellGoodToFocusOn(i):o=!0}return i}isCellGoodToFocusOn(e){let t=e.column,i;switch(e.rowPinned){case"top":i=this.pinnedRowModel.getPinnedTopRow(e.rowIndex);break;case"bottom":i=this.pinnedRowModel.getPinnedBottomRow(e.rowIndex);break;default:i=this.rowModel.getRow(e.rowIndex);break}return i?!t.isSuppressNavigable(i):!1}getCellToLeft(e){if(!e)return null;let t=this.visibleColsService.getColBefore(e.column);return t?{rowIndex:e.rowIndex,column:t,rowPinned:e.rowPinned}:null}getCellToRight(e){if(!e)return null;let t=this.visibleColsService.getColAfter(e.column);return t?{rowIndex:e.rowIndex,column:t,rowPinned:e.rowPinned}:null}getRowBelow(e){let t=e.rowIndex,i=e.rowPinned,o=!1;if(this.isLastRowInContainer(e))switch(i){case"bottom":return null;case"top":return this.rowModel.isRowsToRender()?{rowIndex:this.pageBoundsService.getFirstRow(),rowPinned:null}:this.pinnedRowModel.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null;default:return this.pinnedRowModel.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null}else i&&(o=!0);let s=this.rowModel.getRow(e.rowIndex),r=o?void 0:this.getNextStickyPosition(s);return r||{rowIndex:t+1,rowPinned:i}}getNextStickyPosition(e,t){if(!mo(this.gos)||!e||!e.sticky)return;let i=this.rowRenderer.getStickyTopRowCtrls().some(a=>a.getRowNode().rowIndex===e.rowIndex),o=[];i?o=[...this.rowRenderer.getStickyTopRowCtrls()].sort((a,l)=>a.getRowNode().rowIndex-l.getRowNode().rowIndex):o=[...this.rowRenderer.getStickyBottomRowCtrls()].sort((a,l)=>l.getRowNode().rowIndex-a.getRowNode().rowIndex);let s=t?-1:1,r=o.findIndex(a=>a.getRowNode().rowIndex===e.rowIndex),n=o[r+s];if(n)return{rowIndex:n.getRowNode().rowIndex,rowPinned:null}}getCellBelow(e){if(!e)return null;let t=this.getRowBelow(e);return t?{rowIndex:t.rowIndex,column:e.column,rowPinned:t.rowPinned}:null}isLastRowInContainer(e){let t=e.rowPinned,i=e.rowIndex;return t==="top"?this.pinnedRowModel.getPinnedTopRowCount()-1<=i:t==="bottom"?this.pinnedRowModel.getPinnedBottomRowCount()-1<=i:this.pageBoundsService.getLastRow()<=i}getRowAbove(e){let t=e.rowIndex,i=e.rowPinned,o=i?t===0:t===this.pageBoundsService.getFirstRow(),s=!1;if(o)return i==="top"?null:i?this.rowModel.isRowsToRender()?this.getLastBodyCell():this.pinnedRowModel.isRowsToRender("top")?this.getLastFloatingTopRow():null:this.pinnedRowModel.isRowsToRender("top")?this.getLastFloatingTopRow():null;i&&(s=!0);let r=this.rowModel.getRow(e.rowIndex),n=s?void 0:this.getNextStickyPosition(r,!0);return n||{rowIndex:t-1,rowPinned:i}}getCellAbove(e){if(!e)return null;let t=this.getRowAbove({rowIndex:e.rowIndex,rowPinned:e.rowPinned});return t?{rowIndex:t.rowIndex,column:e.column,rowPinned:t.rowPinned}:null}getLastBodyCell(){return{rowIndex:this.pageBoundsService.getLastRow(),rowPinned:null}}getLastFloatingTopRow(){return{rowIndex:this.pinnedRowModel.getPinnedTopRowCount()-1,rowPinned:"top"}}getNextTabbedCell(e,t){return t?this.getNextTabbedCellBackwards(e):this.getNextTabbedCellForwards(e)}getNextTabbedCellForwards(e){let t=this.visibleColsService.getAllCols(),i=e.rowIndex,o=e.rowPinned,s=this.visibleColsService.getColAfter(e.column);if(!s){s=t[0];let r=this.getRowBelow(e);if(K(r)||!r.rowPinned&&!(this.paginationService?.isRowInPage(r)??!0))return null;i=r?r.rowIndex:null,o=r?r.rowPinned:null}return{rowIndex:i,column:s,rowPinned:o}}getNextTabbedCellBackwards(e){let t=this.visibleColsService.getAllCols(),i=e.rowIndex,o=e.rowPinned,s=this.visibleColsService.getColBefore(e.column);if(!s){s=$(t);let r=this.getRowAbove({rowIndex:e.rowIndex,rowPinned:e.rowPinned});if(K(r)||!r.rowPinned&&!(this.paginationService?.isRowInPage(r)??!0))return null;i=r?r.rowIndex:null,o=r?r.rowPinned:null}return{rowIndex:i,column:s,rowPinned:o}}},Te=(e,t)=>{for(let i in t)t[i]=e;return t},Zr={...Te("@ag-grid-community/core",{dispatchEvent:0,destroy:0,getGridId:0,getGridOption:0,isDestroyed:0,setGridOption:0,updateGridOptions:0,getState:0,setNodesSelected:0,selectAll:0,deselectAll:0,selectAllFiltered:0,deselectAllFiltered:0,selectAllOnCurrentPage:0,deselectAllOnCurrentPage:0,getSelectedNodes:0,getSelectedRows:0,redrawRows:0,setRowNodeExpanded:0,getRowNode:0,addRenderedRowListener:0,getRenderedNodes:0,forEachNode:0,getFirstDisplayedRow:0,getFirstDisplayedRowIndex:0,getLastDisplayedRow:0,getLastDisplayedRowIndex:0,getDisplayedRowAtIndex:0,getDisplayedRowCount:0,getModel:0,getVerticalPixelRange:0,getHorizontalPixelRange:0,ensureColumnVisible:0,ensureIndexVisible:0,ensureNodeVisible:0,getFocusedCell:0,clearFocusedCell:0,setFocusedCell:0,tabToNextCell:0,tabToPreviousCell:0,setFocusedHeader:0,addEventListener:0,addGlobalListener:0,removeEventListener:0,removeGlobalListener:0,expireValueCache:0,getValue:0,getCellValue:0,showColumnMenuAfterButtonClick:0,showColumnMenuAfterMouseClick:0,showColumnMenu:0,hidePopupMenu:0,onSortChanged:0,getPinnedTopRowCount:0,getPinnedBottomRowCount:0,getPinnedTopRow:0,getPinnedBottomRow:0,showLoadingOverlay:0,showNoRowsOverlay:0,hideOverlay:0,setGridAriaProperty:0,refreshCells:0,flashCells:0,refreshHeader:0,isAnimationFrameQueueEmpty:0,flushAllAnimationFrames:0,getSizesForCurrentTheme:0,getCellRendererInstances:0,addRowDropZone:0,removeRowDropZone:0,getRowDropZoneParams:0,getColumnDef:0,getColumnDefs:0,sizeColumnsToFit:0,setColumnGroupOpened:0,getColumnGroup:0,getProvidedColumnGroup:0,getDisplayNameForColumn:0,getDisplayNameForColumnGroup:0,getColumn:0,getColumns:0,applyColumnState:0,getColumnState:0,resetColumnState:0,getColumnGroupState:0,setColumnGroupState:0,resetColumnGroupState:0,isPinning:0,isPinningLeft:0,isPinningRight:0,getDisplayedColAfter:0,getDisplayedColBefore:0,setColumnVisible:0,setColumnsVisible:0,setColumnPinned:0,setColumnsPinned:0,getAllGridColumns:0,getDisplayedLeftColumns:0,getDisplayedCenterColumns:0,getDisplayedRightColumns:0,getAllDisplayedColumns:0,getAllDisplayedVirtualColumns:0,moveColumn:0,moveColumnByIndex:0,moveColumns:0,setColumnWidth:0,setColumnWidths:0,getLeftDisplayedColumnGroups:0,getCenterDisplayedColumnGroups:0,getRightDisplayedColumnGroups:0,getAllDisplayedColumnGroups:0,autoSizeColumn:0,autoSizeColumns:0,autoSizeAllColumns:0,undoCellEditing:0,redoCellEditing:0,getCellEditorInstances:0,getEditingCells:0,stopEditing:0,startEditingCell:0,getCurrentUndoSize:0,getCurrentRedoSize:0,isAnyFilterPresent:0,onFilterChanged:0,isColumnFilterPresent:0,getFilterInstance:0,getColumnFilterInstance:0,destroyFilter:0,setFilterModel:0,getFilterModel:0,getColumnFilterModel:0,setColumnFilterModel:0,showColumnFilter:0,isQuickFilterPresent:0,getQuickFilter:0,resetQuickFilter:0,paginationIsLastPageFound:0,paginationGetPageSize:0,paginationGetCurrentPage:0,paginationGetTotalPages:0,paginationGetRowCount:0,paginationGoToNextPage:0,paginationGoToPreviousPage:0,paginationGoToFirstPage:0,paginationGoToLastPage:0,paginationGoToPage:0,expandAll:0,collapseAll:0,onRowHeightChanged:0,setRowCount:0,getCacheBlockState:0,isLastRowIndexKnown:0}),...Te("@ag-grid-community/client-side-row-model",{onGroupExpandedOrCollapsed:0,refreshClientSideRowModel:0,isRowDataEmpty:0,forEachLeafNode:0,forEachNodeAfterFilter:0,forEachNodeAfterFilterAndSort:0,resetRowHeights:0,applyTransaction:0,applyTransactionAsync:0,flushAsyncTransactions:0,getBestCostNodeSelection:0}),...Te("@ag-grid-community/csv-export",{getDataAsCsv:0,exportDataAsCsv:0}),...Te("@ag-grid-community/infinite-row-model",{refreshInfiniteCache:0,purgeInfiniteCache:0,getInfiniteRowCount:0}),...Te("@ag-grid-enterprise/advanced-filter",{getAdvancedFilterModel:0,setAdvancedFilterModel:0,showAdvancedFilterBuilder:0,hideAdvancedFilterBuilder:0}),...Te("@ag-grid-enterprise/charts",{getChartModels:0,getChartRef:0,getChartImageDataURL:0,downloadChart:0,openChartToolPanel:0,closeChartToolPanel:0,createRangeChart:0,createPivotChart:0,createCrossFilterChart:0,updateChart:0,restoreChart:0}),...Te("@ag-grid-enterprise/clipboard",{copyToClipboard:0,cutToClipboard:0,copySelectedRowsToClipboard:0,copySelectedRangeToClipboard:0,copySelectedRangeDown:0,pasteFromClipboard:0}),...Te("@ag-grid-enterprise/excel-export",{getDataAsExcel:0,exportDataAsExcel:0,getSheetDataForExcel:0,getMultipleSheetsAsExcel:0,exportMultipleSheetsAsExcel:0}),...Te("@ag-grid-enterprise/master-detail",{addDetailGridInfo:0,removeDetailGridInfo:0,getDetailGridInfo:0,forEachDetailGridInfo:0}),...Te("@ag-grid-enterprise/menu",{showContextMenu:0,showColumnChooser:0,hideColumnChooser:0}),...Te("@ag-grid-enterprise/range-selection",{getCellRanges:0,addCellRange:0,clearRangeSelection:0,clearCellSelection:0}),...Te("@ag-grid-enterprise/row-grouping",{addAggFunc:0,addAggFuncs:0,clearAggFuncs:0,setColumnAggFunc:0,isPivotMode:0,getPivotResultColumn:0,setValueColumns:0,getValueColumns:0,removeValueColumn:0,removeValueColumns:0,addValueColumn:0,addValueColumns:0,setRowGroupColumns:0,removeRowGroupColumn:0,removeRowGroupColumns:0,addRowGroupColumn:0,addRowGroupColumns:0,getRowGroupColumns:0,moveRowGroupColumn:0,setPivotColumns:0,removePivotColumn:0,removePivotColumns:0,addPivotColumn:0,addPivotColumns:0,getPivotColumns:0,setPivotResultColumns:0,getPivotResultColumns:0}),...Te("@ag-grid-enterprise/server-side-row-model",{getServerSideSelectionState:0,setServerSideSelectionState:0,applyServerSideTransaction:0,applyServerSideTransactionAsync:0,applyServerSideRowData:0,retryServerSideLoads:0,flushServerSideAsyncTransactions:0,refreshServerSide:0,getServerSideGroupLevelState:0}),...Te("@ag-grid-enterprise/side-bar",{isSideBarVisible:0,setSideBarVisible:0,setSideBarPosition:0,openToolPanel:0,closeToolPanel:0,getOpenedToolPanel:0,refreshToolPanel:0,isToolPanelShowing:0,getToolPanelInstance:0,getSideBar:0}),...Te("@ag-grid-enterprise/status-bar",{getStatusPanel:0})},Xo={isDestroyed:()=>!0,destroy(){},preConstruct(){},postConstruct(){},preWireBeans(){},wireBeans(){}},rp=(e,t)=>e.eventService.dispatchEvent(t),Ka=class{};Reflect.defineProperty(Ka,"name",{value:"GridApi"});var np=class extends b{constructor(){super(),this.beanName="apiFunctionService",this.api=new Ka,this.fns={...Xo,dispatchEvent:rp},this.beans=null,this.preDestroyLink="";let{api:e}=this;for(let t in Zr)e[t]=this.makeApi(t)[t]}wireBeans(e){this.beans=e}postConstruct(){this.preDestroyLink=this.frameworkOverrides.getDocLink("grid-lifecycle/#grid-pre-destroyed")}addFunction(e,t){let{fns:i,beans:o}=this;i!==Xo&&(i[e]=o?.validationService?.validateApiFunction(e,t)??t)}makeApi(e){return{[e]:(...t)=>{let{beans:i,fns:{[e]:o}}=this;return o?o(i,...t):this.apiNotFound(e)}}}apiNotFound(e){let{beans:t,gos:i,preDestroyLink:o}=this;if(!t)S(`Grid API function ${e}() cannot be called as the grid has been destroyed.
|
|
136
|
+
</div>`,[Ns]),this.eCheckbox=z}init(e){this.params=e;let t=e.value??void 0;this.eCheckbox.setValue(t),this.eCheckbox.getInputElement().setAttribute("tabindex","-1"),this.setAriaLabel(t),this.addManagedListeners(this.eCheckbox,{fieldValueChanged:o=>this.setAriaLabel(o.selected)})}getValue(){return this.eCheckbox.getValue()}focusIn(){this.eCheckbox.getFocusableElement().focus()}afterGuiAttached(){this.params.cellStartedEdit&&this.focusIn()}isPopup(){return!1}setAriaLabel(e){let t=this.localeService.getLocaleTextFunc(),i=Ms(t,e),o=t("ariaToggleCellValue","Press SPACE to toggle cell value");this.eCheckbox.setInputAriaLabel(`${o} (${i})`)}},yi=class{constructor(e){this.cellValueChanges=e}},Xo=class extends yi{constructor(e,t,i,o){super(e),this.initialRange=t,this.finalRange=i,this.ranges=o}},Rg=10,Zr=class{constructor(e){this.actionStack=[],this.maxStackSize=e||Rg,this.actionStack=new Array(this.maxStackSize)}pop(){return this.actionStack.pop()}push(e){e.cellValueChanges&&e.cellValueChanges.length>0&&(this.actionStack.length===this.maxStackSize&&this.actionStack.shift(),this.actionStack.push(e))}clear(){this.actionStack=[]}getCurrentStackSize(){return this.actionStack.length}},Fg=class extends b{constructor(){super(...arguments),this.beanName="undoRedoService",this.cellValueChanges=[],this.activeCellEdit=null,this.activeRowEdit=null,this.isPasting=!1,this.isRangeInAction=!1,this.onCellValueChanged=e=>{let t={column:e.column,rowIndex:e.rowIndex,rowPinned:e.rowPinned},i=this.activeCellEdit!==null&&this.cellPositionUtils.equals(this.activeCellEdit,t),o=this.activeRowEdit!==null&&this.rowPositionUtils.sameRow(this.activeRowEdit,t);if(!(i||o||this.isPasting||this.isRangeInAction))return;let{rowPinned:r,rowIndex:n,column:a,oldValue:l,value:c}=e,d={rowPinned:r,rowIndex:n,columnId:a.getColId(),newValue:c,oldValue:l};this.cellValueChanges.push(d)},this.clearStacks=()=>{this.undoStack.clear(),this.redoStack.clear()}}wireBeans(e){this.focusService=e.focusService,this.ctrlsService=e.ctrlsService,this.cellPositionUtils=e.cellPositionUtils,this.rowPositionUtils=e.rowPositionUtils,this.columnModel=e.columnModel,this.rangeService=e.rangeService}postConstruct(){if(!this.gos.get("undoRedoCellEditing"))return;let e=this.gos.get("undoRedoCellEditingLimit");if(e<=0)return;this.undoStack=new Zr(e),this.redoStack=new Zr(e),this.addListeners();let t=this.clearStacks.bind(this);this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this),modelUpdated:i=>{i.keepUndoRedoStack||this.clearStacks()},columnPivotModeChanged:t,newColumnsLoaded:t,columnGroupOpened:t,columnRowGroupChanged:t,columnMoved:t,columnPinned:t,columnVisible:t,rowDragEnd:t}),this.ctrlsService.whenReady(this,i=>{this.gridBodyCtrl=i.gridBodyCtrl})}getCurrentUndoStackSize(){return this.undoStack?this.undoStack.getCurrentStackSize():0}getCurrentRedoStackSize(){return this.redoStack?this.redoStack.getCurrentStackSize():0}undo(e){this.eventService.dispatchEvent({type:"undoStarted",source:e});let t=this.undoRedo(this.undoStack,this.redoStack,"initialRange","oldValue","undo");this.eventService.dispatchEvent({type:"undoEnded",source:e,operationPerformed:t})}redo(e){this.eventService.dispatchEvent({type:"redoStarted",source:e});let t=this.undoRedo(this.redoStack,this.undoStack,"finalRange","newValue","redo");this.eventService.dispatchEvent({type:"redoEnded",source:e,operationPerformed:t})}undoRedo(e,t,i,o,s){if(!e)return!1;let r=e.pop();return!r||!r.cellValueChanges?!1:(this.processAction(r,n=>n[o],s),r instanceof Xo?this.processRange(this.rangeService,r.ranges||[r[i]]):this.processCell(r.cellValueChanges),t.push(r),!0)}processAction(e,t,i){e.cellValueChanges.forEach(o=>{let{rowIndex:s,rowPinned:r,columnId:n}=o,a={rowIndex:s,rowPinned:r},l=this.rowPositionUtils.getRowNode(a);l.displayed&&l.setDataValue(n,t(o),i)})}processRange(e,t){let i;e.removeAllCellRanges(!0),t.forEach((o,s)=>{if(!o)return;let r=o.startRow,n=o.endRow;s===t.length-1&&(i={rowPinned:r.rowPinned,rowIndex:r.rowIndex,columnId:o.startColumn.getColId()},this.setLastFocusedCell(i));let a={rowStartIndex:r.rowIndex,rowStartPinned:r.rowPinned,rowEndIndex:n.rowIndex,rowEndPinned:n.rowPinned,columnStart:o.startColumn,columns:o.columns};e.addCellRange(a)})}processCell(e){let t=e[0],{rowIndex:i,rowPinned:o}=t,s={rowIndex:i,rowPinned:o},r=this.rowPositionUtils.getRowNode(s),n={rowPinned:t.rowPinned,rowIndex:r.rowIndex,columnId:t.columnId};this.setLastFocusedCell(n,this.rangeService)}setLastFocusedCell(e,t){let{rowIndex:i,columnId:o,rowPinned:s}=e,r=this.gridBodyCtrl.getScrollFeature(),n=this.columnModel.getCol(o);if(!n)return;r.ensureIndexVisible(i),r.ensureColumnVisible(n);let a={rowIndex:i,column:n,rowPinned:s};this.focusService.setFocusedCell({...a,forceBrowserFocus:!0}),t?.setRangeToCell(a)}addListeners(){this.addManagedEventListeners({rowEditingStarted:e=>{this.activeRowEdit={rowIndex:e.rowIndex,rowPinned:e.rowPinned}},rowEditingStopped:()=>{let e=new yi(this.cellValueChanges);this.pushActionsToUndoStack(e),this.activeRowEdit=null},cellEditingStarted:e=>{this.activeCellEdit={column:e.column,rowIndex:e.rowIndex,rowPinned:e.rowPinned}},cellEditingStopped:e=>{if(this.activeCellEdit=null,e.valueChanged&&!this.activeRowEdit&&!this.isPasting&&!this.isRangeInAction){let i=new yi(this.cellValueChanges);this.pushActionsToUndoStack(i)}},pasteStart:()=>{this.isPasting=!0},pasteEnd:()=>{let e=new yi(this.cellValueChanges);this.pushActionsToUndoStack(e),this.isPasting=!1},fillStart:()=>{this.isRangeInAction=!0},fillEnd:e=>{let t=new Xo(this.cellValueChanges,e.initialRange,e.finalRange);this.pushActionsToUndoStack(t),this.isRangeInAction=!1},keyShortcutChangedCellStart:()=>{this.isRangeInAction=!0},keyShortcutChangedCellEnd:()=>{let e;this.rangeService&>(this.gos)?e=new Xo(this.cellValueChanges,void 0,void 0,[...this.rangeService.getCellRanges()]):e=new yi(this.cellValueChanges),this.pushActionsToUndoStack(e),this.isRangeInAction=!1}})}pushActionsToUndoStack(e){this.undoStack.push(e),this.cellValueChanges=[],this.redoStack.clear()}};function xg(e){return e.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition()}function Dg(e){return e.ctrlsService.getGridBodyCtrl().getScrollFeature().getHScrollPosition()}function ja(e,t,i="auto"){e.frameworkOverrides.wrapIncoming(()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(t,i),"ensureVisible")}function Ka(e,t,i){e.frameworkOverrides.wrapIncoming(()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureIndexVisible(t,i),"ensureVisible")}function Eg(e,t,i=null){e.frameworkOverrides.wrapIncoming(()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureNodeVisible(t,i),"ensureVisible")}function Mg(e){e.undoRedoService?.undo("api")}function Pg(e){e.undoRedoService?.redo("api")}function Tg(e,t={}){return e.rowRenderer.getCellEditorInstances(t).map(Ri)}function Ag(e){return e.rowRenderer.getEditingCells()}function kg(e,t=!1){e.rowRenderer.stopEditing(t)}function Ig(e,t){let i=e.columnModel.getCol(t.colKey);if(!i){S(`no column found for ${t.colKey}`);return}let o={rowIndex:t.rowIndex,rowPinned:t.rowPinned||null,column:i};t.rowPinned==null&&Ka(e,t.rowIndex),ja(e,t.colKey);let r=e.navigationService.getCellByPosition(o);if(!r)return;let{focusService:n,gos:a}=e,l=()=>{let d=fe(a),u=r.getGui();return d!==u&&!!u?.contains(d)},c=a.get("stopEditingWhenCellsLoseFocus")&&l();(c||!n.isCellFocused(o))&&n.setFocusedCell({...o,forceBrowserFocus:c,preventScrollOnBrowserFocus:!0}),r.startRowOrCellEdit(t.key)}function Lg(e){return e.undoRedoService?.getCurrentUndoStackSize()??0}function Og(e){return e.undoRedoService?.getCurrentRedoStackSize()??0}var Gg=class extends b{constructor(){super(...arguments),this.beanName="editService"}wireBeans(e){this.navigationService=e.navigationService,this.userComponentFactory=e.userComponentFactory,this.valueService=e.valueService}startEditing(e,t=null,i=!1,o=null){let s=this.createCellEditorParams(e,t,i),r=e.getColumn().getColDef(),n=this.userComponentFactory.getCellEditorDetails(r,s),a=n?.popupFromSelector!=null?n.popupFromSelector:!!r.cellEditorPopup,l=n?.popupPositionFromSelector!=null?n.popupPositionFromSelector:r.cellEditorPopupPosition;return e.setEditing(!0,n),e.getComp().setEditDetails(n,a,l,this.gos.get("reactiveCustomComponents")),this.eventService.dispatchEvent(e.createEvent(o,"cellEditingStarted")),!n?.params?.suppressPreventDefault}stopEditing(e,t){let i=e.getComp(),{newValue:o,newValueExists:s}=this.takeValueFromCellEditor(t,i),r=e.getRowNode(),n=e.getColumn(),a=this.valueService.getValueForDisplay(n,r),l=!1;return s&&(l=this.saveNewValue(e,a,o,r,n)),e.setEditing(!1,void 0),i.setEditDetails(),e.updateAndFormatValue(!1),e.refreshCell({forceRefresh:!0,suppressFlash:!0}),this.eventService.dispatchEvent({...e.createEvent(null,"cellEditingStopped"),oldValue:a,newValue:o,valueChanged:l}),l}handleColDefChanged(e){let t=e.getCellEditor();if(t?.refresh){let{eventKey:i,cellStartedEdit:o}=e.getEditCompDetails().params,s=this.createCellEditorParams(e,i,o),r=e.getColumn().getColDef(),n=this.userComponentFactory.getCellEditorDetails(r,s);t.refresh(n.params)}}setFocusOutOnEditor(e){let t=e.getComp().getCellEditor();t&&t.focusOut&&t.focusOut()}setFocusInOnEditor(e){let t=e.getComp(),i=t.getCellEditor();i?.focusIn?i.focusIn():(e.focusCell(!0),e.onCellEditorAttached(()=>t.getCellEditor()?.focusIn?.()))}stopEditingAndFocus(e,t=!1,i=!1){e.stopRowOrCellEdit(),e.focusCell(!0),t||this.navigateAfterEdit(i,e.getCellPosition())}createPopupEditorWrapper(e){return new hg(e)}takeValueFromCellEditor(e,t){let i={newValueExists:!1};if(e)return i;let o=t.getCellEditor();return!o||o.isCancelAfterEnd&&o.isCancelAfterEnd()?i:{newValue:o.getValue(),newValueExists:!0}}saveNewValue(e,t,i,o,s){if(i===t)return!1;e.setSuppressRefreshCell(!0);let r=o.setDataValue(s,i,"edit");return e.setSuppressRefreshCell(!1),r}createCellEditorParams(e,t,i){let o=e.getColumn(),s=e.getRowNode();return this.gos.addGridCommonParams({value:this.valueService.getValueForDisplay(o,s),eventKey:t,column:o,colDef:o.getColDef(),rowIndex:e.getCellPosition().rowIndex,node:s,data:s.data,cellStartedEdit:i,onKeyDown:e.onKeyDown.bind(e),stopEditing:e.stopEditingAndFocus.bind(e),eGridCell:e.getGui(),parseValue:r=>this.valueService.parseValue(o,s,r,e.getValue()),formatValue:e.formatValue.bind(e)})}navigateAfterEdit(e,t){if(this.gos.get("enterNavigatesVerticallyAfterEdit")){let o=e?y.UP:y.DOWN;this.navigationService.navigateToNextCell(null,o,t,!1)}}},Ng=class extends b{constructor(){super(...arguments),this.beanName="rowEditService"}startEditing(e,t=null,i=null,o=null){let s=!0;return e.getAllCellCtrls().reduce((n,a)=>{let l=a===i;return l?s=a.startEditing(t,l,o):a.startEditing(null,l,o),n?!0:a.isEditing()},!1)&&this.setEditing(e,!0),s}stopEditing(e,t=!1){let i=e.getAllCellCtrls(),o=e.isEditing();e.setStoppingRowEdit(!0);let s=!1;for(let r of i){let n=r.stopEditing(t);o&&!t&&!s&&n&&(s=!0)}s&&this.eventService.dispatchEvent(e.createRowEvent("rowValueChanged")),o&&this.setEditing(e,!1),e.setStoppingRowEdit(!1)}setEditing(e,t){e.setEditingRow(t),e.forEachGui(void 0,o=>o.rowComp.addOrRemoveCssClass("ag-row-editing",t));let i=t?e.createRowEvent("rowEditingStarted"):e.createRowEvent("rowEditingStopped");this.eventService.dispatchEvent(i)}},Yt={version:B,moduleName:"@ag-grid-community/edit-core",beans:[Gg]},Hg={version:B,moduleName:"@ag-grid-community/edit-api",apiFunctions:{undoCellEditing:Mg,redoCellEditing:Pg,getCellEditorInstances:Tg,getEditingCells:Ag,stopEditing:kg,startEditingCell:Ig,getCurrentUndoSize:Lg,getCurrentRedoSize:Og},dependantModules:[Yt]},zg={version:B,moduleName:"@ag-grid-community/undo-redo-edit",beans:[Fg],dependantModules:[Yt]},Bg={version:B,moduleName:"@ag-grid-community/full-row-edit",beans:[Ng],dependantModules:[Yt]},Ya={version:B,moduleName:"@ag-grid-community/default-editor",userComponents:[{name:"agCellEditor",classImp:Ua}],dependantModules:[Yt]},Vg={version:B,moduleName:"@ag-grid-community/data-type-editors",userComponents:[{name:"agTextCellEditor",classImp:Ua},{name:"agNumberCellEditor",classImp:mg,params:{suppressPreventDefault:!0}},{name:"agDateCellEditor",classImp:wg},{name:"agDateStringCellEditor",classImp:bg},{name:"agCheckboxCellEditor",classImp:Sg}],dependantModules:[Ya]},Wg={version:B,moduleName:"@ag-grid-community/select-editor",userComponents:[{name:"agSelectCellEditor",classImp:gg}],dependantModules:[Yt]},Ug={version:B,moduleName:"@ag-grid-community/large-text-editor",userComponents:[{name:"agLargeTextCellEditor",classImp:ug}],dependantModules:[Yt]},_g={version:B,moduleName:"@ag-grid-community/all-editors",dependantModules:[Ya,Vg,Wg,Ug]},jg={version:B,moduleName:"@ag-grid-community/editing",dependantModules:[Yt,zg,Bg,_g,Hg]},Kg=class extends b{constructor(){super(...arguments),this.beanName="autoWidthCalculator"}wireBeans(e){this.rowRenderer=e.rowRenderer,this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.centerRowContainerCtrl=e.center})}getPreferredWidthForColumn(e,t){let i=this.getHeaderCellForColumn(e);if(!i)return-1;let o=this.rowRenderer.getAllCellsForColumn(e);return t||o.push(i),this.addElementsToContainerAndGetWidth(o)}getPreferredWidthForColumnGroup(e){let t=this.getHeaderCellForColumn(e);return t?this.addElementsToContainerAndGetWidth([t]):-1}addElementsToContainerAndGetWidth(e){let t=document.createElement("form");t.style.position="fixed";let i=this.centerRowContainerCtrl.getContainerElement();e.forEach(r=>this.cloneItemIntoDummy(r,t)),i.appendChild(t);let o=t.offsetWidth;i.removeChild(t);let s=this.getAutoSizePadding();return o+s}getAutoSizePadding(){return this.gos.get("autoSizePadding")}getHeaderCellForColumn(e){let t=null;return this.ctrlsService.getHeaderRowContainerCtrls().forEach(i=>{let o=i.getHtmlElementForColumnHeader(e);o!=null&&(t=o)}),t}cloneItemIntoDummy(e,t){let i=e.cloneNode(!0);i.style.width="",i.style.position="static",i.style.left="";let o=document.createElement("div"),s=o.classList;["ag-header-cell","ag-header-group-cell"].some(a=>i.classList.contains(a))?(s.add("ag-header","ag-header-row"),o.style.position="static"):s.add("ag-row");let n=e.parentElement;for(;n;){if(["ag-header-row","ag-row"].some(l=>n.classList.contains(l))){for(let l=0;l<n.classList.length;l++){let c=n.classList[l];c!="ag-row-position-absolute"&&s.add(c)}break}n=n.parentElement}o.appendChild(i),t.appendChild(o)}},Yg=class extends b{constructor(e,t){super(),this.createRowCon=e,this.destroyRowCtrls=t,this.stickyTopRowCtrls=[],this.stickyBottomRowCtrls=[],this.extraTopHeight=0,this.extraBottomHeight=0}wireBeans(e){this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer,this.ctrlsService=e.ctrlsService,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.isClientSide=de(this.gos),this.ctrlsService.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl}),this.resetStickyContainers()}getStickyTopRowCtrls(){return this.stickyTopRowCtrls}getStickyBottomRowCtrls(){return this.stickyBottomRowCtrls}setOffsetTop(e){this.extraTopHeight!==e&&(this.extraTopHeight=e,this.eventService.dispatchEvent({type:"stickyTopOffsetChanged",offset:e}))}setOffsetBottom(e){this.extraBottomHeight!==e&&(this.extraBottomHeight=e)}resetOffsets(){this.setOffsetBottom(0),this.setOffsetTop(0)}getExtraTopHeight(){return this.extraTopHeight}getExtraBottomHeight(){return this.extraBottomHeight}getLastPixelOfGroup(e){return this.isClientSide?this.getClientSideLastPixelOfGroup(e):this.getServerSideLastPixelOfGroup(e)}getFirstPixelOfGroup(e){return e.footer?e.sibling.rowTop+e.sibling.rowHeight-1:e.hasChildren()?e.rowTop-1:0}getServerSideLastPixelOfGroup(e){if(this.isClientSide)throw new Error("This func should only be called in server side row model.");if(e.isExpandable()||e.footer){if(e.master)return e.detailNode.rowTop+e.detailNode.rowHeight;if(!e.sibling||Math.abs(e.sibling.rowIndex-e.rowIndex)===1){let i=e.childStore?.getStoreBounds();return e.footer&&(i=e.sibling.childStore?.getStoreBounds()),(i?.heightPx??0)+(i?.topPx??0)}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}getClientSideLastPixelOfGroup(e){if(!this.isClientSide)throw new Error("This func should only be called in client side row model.");if(e.isExpandable()||e.footer){if(e.footer&&e.rowIndex===0)return Number.MAX_SAFE_INTEGER;if(!e.sibling||Math.abs(e.sibling.rowIndex-e.rowIndex)===1){let o=e.footer?e.sibling:e;for(;o.isExpandable()&&o.expanded;)if(o.master)o=o.detailNode;else if(o.childrenAfterSort){if(o.childrenAfterSort.length===0)break;o=$(o.childrenAfterSort)}return o.rowTop+o.rowHeight}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}updateStickyRows(e){let t=e==="top",i=0;if(!this.canRowsBeSticky())return this.refreshNodesAndContainerHeight(e,new Set,i);let o=t?this.rowRenderer.getFirstVisibleVerticalPixel()-this.extraTopHeight:this.rowRenderer.getLastVisibleVerticalPixel()-this.extraTopHeight,s=new Set,r=c=>{if(s.add(c),t){let d=this.getLastPixelOfGroup(c),u=o+i+c.rowHeight;d<u?c.stickyRowTop=i+(d-u):c.stickyRowTop=i}else{let d=this.getFirstPixelOfGroup(c),u=o-(i+c.rowHeight);d>u?c.stickyRowTop=i-(d-u):c.stickyRowTop=i}i=0,s.forEach(d=>{let u=d.stickyRowTop+d.rowHeight;i<u&&(i=u)})},n=this.areFooterRowsStickySuppressed(),a=this.gos.get("suppressGroupRowsSticky"),l=c=>{if(!c.displayed)return!1;if(c.footer){if(n===!0||n==="grand"&&c.level===-1||n==="group"&&c.level>-1)return!1;let d=c.sibling.rowIndex?c.sibling.rowIndex+1===c.rowIndex:!1;return e==="bottom"&&d?!1:!s.has(c)}return c.isExpandable()?a===!0||e==="bottom"?!1:!s.has(c)&&c.expanded:!1};for(let c=0;c<100;c++){let d=o+i;t||(d=o-i);let u=this.rowModel.getRowIndexAtPixel(d),h=this.rowModel.getRow(u);if(h==null)break;let f=this.getStickyAncestors(h).find(p=>(t?p.rowIndex<u:p.rowIndex>u)&&l(p));if(f){r(f);continue}if((t?h.rowTop<d:h.rowTop+h.rowHeight>d)&&l(h)){r(h);continue}break}return t||s.forEach(c=>{c.stickyRowTop=i-(c.stickyRowTop+c.rowHeight)}),this.refreshNodesAndContainerHeight(e,s,i)}areFooterRowsStickySuppressed(){let e=this.gos.get("suppressStickyTotalRow");if(e===!0)return!0;let t=!!this.gos.get("groupIncludeFooter")||e==="group",i=!!this.gos.get("groupIncludeTotalFooter")||e==="grand";return t&&i?!0:i?"grand":t?"group":!1}canRowsBeSticky(){let e=vo(this.gos),t=this.areFooterRowsStickySuppressed(),i=this.gos.get("suppressGroupRowsSticky");return e&&(!t||!i)}getStickyAncestors(e){let t=[],i=e.footer?e.sibling:e.parent;for(;i;)i.sibling&&t.push(i.sibling),t.push(i),i=i.parent;return t.reverse()}checkStickyRows(){let e=this.updateStickyRows("top"),t=this.updateStickyRows("bottom");return e||t}destroyStickyCtrls(){this.resetStickyContainers()}resetStickyContainers(){this.refreshNodesAndContainerHeight("top",new Set,0),this.refreshNodesAndContainerHeight("bottom",new Set,0)}refreshStickyNode(e){let t=new Set;if(this.stickyTopRowCtrls.some(i=>i.getRowNode()===e)){for(let i=0;i<this.stickyTopRowCtrls.length;i++){let o=this.stickyTopRowCtrls[i].getRowNode();o!==e&&t.add(o)}this.refreshNodesAndContainerHeight("top",t,this.topContainerHeight)&&this.checkStickyRows();return}for(let i=0;i<this.stickyBottomRowCtrls.length;i++){let o=this.stickyBottomRowCtrls[i].getRowNode();o!==e&&t.add(o)}this.refreshNodesAndContainerHeight("bottom",t,this.bottomContainerHeight)&&this.checkStickyRows()}refreshNodesAndContainerHeight(e,t,i){let o=e==="top",s=o?this.stickyTopRowCtrls:this.stickyBottomRowCtrls,r={},n=[];for(let h=0;h<s.length;h++){let g=s[h].getRowNode();if(!t.has(g)){r[g.id]=s[h],g.sticky=!1;continue}n.push(s[h])}let a=new Set;for(let h=0;h<n.length;h++)a.add(n[h].getRowNode());let l=[];t.forEach(h=>{a.has(h)||(h.sticky=!0,l.push(this.createRowCon(h,!1,!1)))});let c=!!l.length||n.length!==s.length;o?this.topContainerHeight!==i&&(this.topContainerHeight=i,this.gridBodyCtrl.setStickyTopHeight(i),c=!0):this.bottomContainerHeight!==i&&(this.bottomContainerHeight=i,this.gridBodyCtrl.setStickyBottomHeight(i),c=!0),this.destroyRowCtrls(r,!1);let d=[...n,...l];d.sort((h,g)=>g.getRowNode().rowIndex-h.getRowNode().rowIndex),o||d.reverse(),d.forEach(h=>h.setRowTop(h.getRowNode().stickyRowTop));let u=0;return o?(t.forEach(h=>{h.rowIndex<this.pageBoundsService.getFirstRow()&&(u+=h.rowHeight)}),u>this.topContainerHeight&&(u=this.topContainerHeight),this.setOffsetTop(u)):(t.forEach(h=>{h.rowIndex>this.pageBoundsService.getLastRow()&&(u+=h.rowHeight)}),u>this.bottomContainerHeight&&(u=this.bottomContainerHeight),this.setOffsetBottom(u)),c?(o?this.stickyTopRowCtrls=d:this.stickyBottomRowCtrls=d,!0):!1}ensureRowHeightsValid(){let e=!1,t=i=>{let o=i.getRowNode();if(o.rowHeightEstimated){let s=ht(this.gos,o);o.setRowHeight(s.height),e=!0}};return this.stickyTopRowCtrls.forEach(t),this.stickyBottomRowCtrls.forEach(t),e}},$g=class extends b{constructor(){super(...arguments),this.beanName="rowRenderer",this.destroyFuncsForColumnListeners=[],this.rowCtrlsByRowIndex={},this.zombieRowCtrls={},this.allRowCtrls=[],this.topRowCtrls=[],this.bottomRowCtrls=[],this.refreshInProgress=!1,this.dataFirstRenderedFired=!1,this.setupRangeSelectionListeners=()=>{let e=()=>{this.getAllCellCtrls().forEach(r=>r.onCellSelectionChanged())},t=()=>{this.getAllCellCtrls().forEach(r=>r.updateRangeBordersIfRangeCount())},i=()=>{this.eventService.addEventListener("cellSelectionChanged",e),this.eventService.addEventListener("columnMoved",t),this.eventService.addEventListener("columnPinned",t),this.eventService.addEventListener("columnVisible",t)},o=()=>{this.eventService.removeEventListener("cellSelectionChanged",e),this.eventService.removeEventListener("columnMoved",t),this.eventService.removeEventListener("columnPinned",t),this.eventService.removeEventListener("columnVisible",t)};this.addDestroyFunc(()=>o()),this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{gt(this.gos)?i():o()}),gt(this.gos)&&i()}}wireBeans(e){this.animationFrameService=e.animationFrameService,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.pinnedRowModel=e.pinnedRowModel,this.rowModel=e.rowModel,this.focusService=e.focusService,this.beans=e,this.rowContainerHeightService=e.rowContainerHeightService,this.ctrlsService=e.ctrlsService,this.environment=e.environment}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.initialise()})}initialise(){this.addManagedEventListeners({paginationChanged:this.onPageLoaded.bind(this),pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),bodyScroll:this.onBodyScroll.bind(this),bodyHeightChanged:this.redraw.bind(this,{})}),this.addManagedPropertyListeners(["domLayout","embedFullWidthRows"],()=>this.onDomLayoutChanged()),this.addManagedPropertyListeners(["suppressMaxRenderedRowRestriction","rowBuffer"],()=>this.redraw()),this.addManagedPropertyListener("suppressCellFocus",e=>this.onSuppressCellFocusChanged(e.currentValue)),this.addManagedPropertyListeners(["groupSuppressBlankHeader","getBusinessKeyForNode","fullWidthCellRenderer","fullWidthCellRendererParams","suppressStickyTotalRow","groupRowRenderer","groupRowRendererParams","loadingCellRenderer","loadingCellRendererParams","detailCellRenderer","detailCellRendererParams","enableRangeSelection","enableCellTextSelection","rowSelection"],()=>this.redrawRows()),vo(this.gos)&&(de(this.gos)||mt(this.gos))&&(this.stickyRowFeature=this.createManagedBean(new Yg(this.createRowCon.bind(this),this.destroyRowCtrls.bind(this)))),this.registerCellEventListeners(),this.initialiseCache(),this.printLayout=Re(this.gos,"print"),this.embedFullWidthRows=this.printLayout||this.gos.get("embedFullWidthRows"),this.redrawAfterModelUpdate()}initialiseCache(){if(this.gos.get("keepDetailRows")){let e=this.getKeepDetailRowsCount(),t=e??3;this.cachedRowCtrls=new Qg(t)}}getKeepDetailRowsCount(){return this.gos.get("keepDetailRowsCount")}getStickyTopRowCtrls(){return this.stickyRowFeature?this.stickyRowFeature.getStickyTopRowCtrls():[]}getStickyBottomRowCtrls(){return this.stickyRowFeature?this.stickyRowFeature.getStickyBottomRowCtrls():[]}updateAllRowCtrls(){let e=Hr(this.rowCtrlsByRowIndex),t=Hr(this.zombieRowCtrls),i=this.cachedRowCtrls?this.cachedRowCtrls.getEntries():[];t.length>0||i.length>0?this.allRowCtrls=[...e,...t,...i]:this.allRowCtrls=e}onCellFocusChanged(e){this.getAllCellCtrls().forEach(t=>t.onCellFocused(e)),this.getFullWidthRowCtrls().forEach(t=>t.onFullWidthRowFocused(e))}onSuppressCellFocusChanged(e){this.getAllCellCtrls().forEach(t=>t.onSuppressCellFocusChanged(e)),this.getFullWidthRowCtrls().forEach(t=>t.onSuppressCellFocusChanged(e))}registerCellEventListeners(){this.addManagedEventListeners({cellFocused:e=>{this.onCellFocusChanged(e)},cellFocusCleared:()=>this.onCellFocusChanged(),flashCells:e=>{this.getAllCellCtrls().forEach(t=>t.onFlashCells(e))},columnHoverChanged:()=>{this.getAllCellCtrls().forEach(e=>e.onColumnHover())},displayedColumnsChanged:()=>{this.getAllCellCtrls().forEach(e=>e.onDisplayedColumnsChanged())},displayedColumnsWidthChanged:()=>{this.printLayout&&this.getAllCellCtrls().forEach(e=>e.onLeftChanged())}}),this.setupRangeSelectionListeners(),this.refreshListenersToColumnsForCellComps(),this.addManagedEventListeners({gridColumnsChanged:this.refreshListenersToColumnsForCellComps.bind(this)}),this.addDestroyFunc(this.removeGridColumnListeners.bind(this))}removeGridColumnListeners(){this.destroyFuncsForColumnListeners.forEach(e=>e()),this.destroyFuncsForColumnListeners.length=0}refreshListenersToColumnsForCellComps(){this.removeGridColumnListeners(),this.columnModel.getCols().forEach(t=>{let i=l=>{this.getAllCellCtrls().forEach(c=>{c.getColumn()===t&&l(c)})},o=()=>{i(l=>l.onLeftChanged())},s=()=>{i(l=>l.onWidthChanged())},r=()=>{i(l=>l.onFirstRightPinnedChanged())},n=()=>{i(l=>l.onLastLeftPinnedChanged())},a=()=>{i(l=>l.onColDefChanged())};t.addEventListener("leftChanged",o),t.addEventListener("widthChanged",s),t.addEventListener("firstRightPinnedChanged",r),t.addEventListener("lastLeftPinnedChanged",n),t.addEventListener("colDefChanged",a),this.destroyFuncsForColumnListeners.push(()=>{t.removeEventListener("leftChanged",o),t.removeEventListener("widthChanged",s),t.removeEventListener("firstRightPinnedChanged",r),t.removeEventListener("lastLeftPinnedChanged",n),t.removeEventListener("colDefChanged",a)})})}onDomLayoutChanged(){let e=Re(this.gos,"print"),t=e||this.gos.get("embedFullWidthRows"),i=t!==this.embedFullWidthRows||this.printLayout!==e;this.printLayout=e,this.embedFullWidthRows=t,i&&this.redrawAfterModelUpdate({domLayoutChanged:!0})}datasourceChanged(){this.firstRenderedRow=0,this.lastRenderedRow=-1;let e=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(e)}onPageLoaded(e){let t={recycleRows:e.keepRenderedRows,animate:e.animate,newData:e.newData,newPage:e.newPage,onlyBody:!0};this.redrawAfterModelUpdate(t)}getAllCellsForColumn(e){let t=[];return this.getAllRowCtrls().forEach(i=>{let o=i.getCellElement(e);o&&t.push(o)}),t}refreshFloatingRowComps(){this.refreshFloatingRows(this.topRowCtrls,"top"),this.refreshFloatingRows(this.bottomRowCtrls,"bottom")}getTopRowCtrls(){return this.topRowCtrls}getCentreRowCtrls(){return this.allRowCtrls}getBottomRowCtrls(){return this.bottomRowCtrls}refreshFloatingRows(e,t){let{pinnedRowModel:i,beans:o,printLayout:s}=this,r=Object.fromEntries(e.map(a=>[a.getRowNode().id,a]));i.forEachPinnedRow(t,(a,l)=>{let c=e[l];c&&i.getPinnedRowById(c.getRowNode().id,t)===void 0&&(c.destroyFirstPass(),c.destroySecondPass()),a.id in r?(e[l]=r[a.id],delete r[a.id]):e[l]=new Bt(a,o,!1,!1,s)});let n=t==="top"?i.getPinnedTopRowCount():i.getPinnedBottomRowCount();e.length=n}onPinnedRowDataChanged(){let e={recycleRows:!0};this.redrawAfterModelUpdate(e)}redrawRow(e,t=!1){if(e.sticky)this.stickyRowFeature.refreshStickyNode(e);else if(this.cachedRowCtrls?.has(e)){this.cachedRowCtrls.removeRow(e);return}else{let i=o=>{let s=o[e.rowIndex];s&&s.getRowNode()===e&&(s.destroyFirstPass(),s.destroySecondPass(),o[e.rowIndex]=this.createRowCon(e,!1,!1))};switch(e.rowPinned){case"top":i(this.topRowCtrls);break;case"bottom":i(this.bottomRowCtrls);break;default:i(this.rowCtrlsByRowIndex),this.updateAllRowCtrls()}}t||this.dispatchDisplayedRowsChanged(!1)}redrawRows(e){if(e!=null){e?.forEach(i=>this.redrawRow(i,!0)),this.dispatchDisplayedRowsChanged(!1);return}this.redrawAfterModelUpdate()}getCellToRestoreFocusToAfterRefresh(e){let t=e?.suppressKeepFocus?null:this.focusService.getFocusCellToUseAfterRefresh();if(t==null)return null;let i=fe(this.gos),o=Di(this.gos,i,zt.DOM_DATA_KEY_CELL_CTRL),s=Di(this.gos,i,Bt.DOM_DATA_KEY_ROW_CTRL);return o||s?t:null}redrawAfterModelUpdate(e={}){this.getLockOnRefresh();let t=this.getCellToRestoreFocusToAfterRefresh(e);this.updateContainerHeights(),this.scrollToTopIfNewData(e);let i=!e.domLayoutChanged&&!!e.recycleRows,o=e.animate&&Wt(this.gos),s=i?this.getRowsToRecycle():null;if(i||this.removeAllRowComps(),this.workOutFirstAndLastRowsToRender(),this.stickyRowFeature){this.stickyRowFeature.checkStickyRows();let r=this.stickyRowFeature.getExtraTopHeight()+this.stickyRowFeature.getExtraBottomHeight();r&&this.updateContainerHeights(r)}this.recycleRows(s,o),this.gridBodyCtrl.updateRowCount(),e.onlyBody||this.refreshFloatingRowComps(),this.dispatchDisplayedRowsChanged(),t!=null&&this.restoreFocusedCell(t),this.releaseLockOnRefresh()}scrollToTopIfNewData(e){let t=e.newData||e.newPage,i=this.gos.get("suppressScrollOnNewData");t&&!i&&(this.gridBodyCtrl.getScrollFeature().scrollToTop(),this.stickyRowFeature?.resetOffsets())}updateContainerHeights(e=0){if(this.printLayout){this.rowContainerHeightService.setModelHeight(null);return}let t=this.pageBoundsService.getCurrentPageHeight();t===0&&(t=1),this.rowContainerHeightService.setModelHeight(t+e)}getLockOnRefresh(){if(this.refreshInProgress)throw new Error("AG Grid: cannot get grid to draw rows when it is in the middle of drawing rows. Your code probably called a grid API method while the grid was in the render stage. To overcome this, put the API call into a timeout, e.g. instead of api.redrawRows(), call setTimeout(function() { api.redrawRows(); }, 0). To see what part of your code that caused the refresh check this stacktrace.");this.refreshInProgress=!0,this.frameworkOverrides.getLockOnRefresh?.()}releaseLockOnRefresh(){this.refreshInProgress=!1,this.frameworkOverrides.releaseLockOnRefresh?.()}isRefreshInProgress(){return this.refreshInProgress}restoreFocusedCell(e){e&&this.focusService.restoreFocusedCell(e,()=>{this.onCellFocusChanged(this.gos.addGridCommonParams({rowIndex:e.rowIndex,column:e.column,rowPinned:e.rowPinned,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,type:"cellFocused"}))})}stopEditing(e=!1){this.getAllRowCtrls().forEach(t=>{t.stopEditing(e)})}getAllCellCtrls(){let e=[],t=this.getAllRowCtrls(),i=t.length;for(let o=0;o<i;o++){let s=t[o].getAllCellCtrls(),r=s.length;for(let n=0;n<r;n++)e.push(s[n])}return e}getAllRowCtrls(){let e=this.stickyRowFeature&&this.stickyRowFeature.getStickyTopRowCtrls()||[],t=this.stickyRowFeature&&this.stickyRowFeature.getStickyBottomRowCtrls()||[],i=[...this.topRowCtrls,...this.bottomRowCtrls,...e,...t];for(let o in this.rowCtrlsByRowIndex)i.push(this.rowCtrlsByRowIndex[o]);return i}addRenderedRowListener(e,t,i){let o=this.rowCtrlsByRowIndex[t];o&&o.addEventListener(e,i)}flashCells(e={}){this.getCellCtrls(e.rowNodes,e.columns).forEach(t=>t.flashCell(e))}refreshCells(e={}){let t={forceRefresh:e.force,newData:!1,suppressFlash:e.suppressFlash};for(let i of this.getCellCtrls(e.rowNodes,e.columns))i.refreshOrDestroyCell(t);this.refreshFullWidth(e.rowNodes)}refreshFullWidth(e){if(!e)return;let t=null;this.stickyRowFeature&&Ur()&&(t=this.getCellToRestoreFocusToAfterRefresh()||null);for(let i of this.getRowCtrls(e)){if(!i.isFullWidth())continue;i.refreshFullWidth()||this.redrawRow(i.getRowNode(),!0)}this.dispatchDisplayedRowsChanged(!1),t&&this.restoreFocusedCell(t)}getCellRendererInstances(e){let t=this.getCellCtrls(e.rowNodes,e.columns).map(s=>s.getCellRenderer()).filter(s=>s!=null);if(e.columns?.length)return t;let i=[],o=this.mapRowNodes(e.rowNodes);return this.getAllRowCtrls().forEach(s=>{if(o&&!this.isRowInMap(s.getRowNode(),o)||!s.isFullWidth())return;let r=s.getFullWidthCellRenderers();for(let n=0;n<r.length;n++){let a=r[n];a!=null&&i.push(a)}}),[...i,...t]}getCellEditorInstances(e){let t=[];return this.getCellCtrls(e.rowNodes,e.columns).forEach(i=>{let o=i.getCellEditor();o&&t.push(o)}),t}getEditingCells(){let e=[];return this.getAllCellCtrls().forEach(t=>{if(t.isEditing()){let i=t.getCellPosition();e.push(i)}}),e}mapRowNodes(e){if(!e)return;let t={top:{},bottom:{},normal:{}};return e.forEach(i=>{let o=i.id;switch(i.rowPinned){case"top":t.top[o]=i;break;case"bottom":t.bottom[o]=i;break;default:t.normal[o]=i;break}}),t}isRowInMap(e,t){let i=e.id;switch(e.rowPinned){case"top":return t.top[i]!=null;case"bottom":return t.bottom[i]!=null;default:return t.normal[i]!=null}}getRowCtrls(e){let t=this.mapRowNodes(e),i=this.getAllRowCtrls();return!e||!t?i:i.filter(o=>{let s=o.getRowNode();return this.isRowInMap(s,t)})}getCellCtrls(e,t){let i;M(t)&&(i={},t.forEach(s=>{let r=this.columnModel.getCol(s);M(r)&&(i[r.getId()]=!0)}));let o=[];return this.getRowCtrls(e).forEach(s=>{s.getAllCellCtrls().forEach(r=>{let n=r.getColumn().getId();i&&!i[n]||o.push(r)})}),o}destroy(){this.removeAllRowComps(!0),super.destroy()}removeAllRowComps(e=!1){let t=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(t,e),this.stickyRowFeature&&this.stickyRowFeature.destroyStickyCtrls()}getRowsToRecycle(){let e=[];We(this.rowCtrlsByRowIndex,(i,o)=>{o.getRowNode().id==null&&e.push(i)}),this.removeRowCtrls(e);let t={};return We(this.rowCtrlsByRowIndex,(i,o)=>{let s=o.getRowNode();t[s.id]=o}),this.rowCtrlsByRowIndex={},t}removeRowCtrls(e,t=!1){e.forEach(i=>{let o=this.rowCtrlsByRowIndex[i];o&&(o.destroyFirstPass(t),o.destroySecondPass()),delete this.rowCtrlsByRowIndex[i]})}onBodyScroll(e){e.direction==="vertical"&&this.redraw({afterScroll:!0})}redraw(e={}){let{afterScroll:t}=e,i;this.stickyRowFeature&&Ur()&&(i=this.getCellToRestoreFocusToAfterRefresh()||void 0);let o=this.firstRenderedRow,s=this.lastRenderedRow;this.workOutFirstAndLastRowsToRender();let r=!1;if(this.stickyRowFeature){r=this.stickyRowFeature.checkStickyRows();let a=this.stickyRowFeature.getExtraTopHeight()+this.stickyRowFeature.getExtraBottomHeight();a&&this.updateContainerHeights(a)}let n=this.firstRenderedRow!==o||this.lastRenderedRow!==s;if(!(t&&!r&&!n)&&(this.getLockOnRefresh(),this.recycleRows(null,!1,t),this.releaseLockOnRefresh(),this.dispatchDisplayedRowsChanged(t&&!r),i!=null)){let a=this.getCellToRestoreFocusToAfterRefresh();i!=null&&a==null&&(this.animationFrameService.flushAllFrames(),this.restoreFocusedCell(i))}}removeRowCompsNotToDraw(e,t){let i={};e.forEach(r=>i[r]=!0);let s=Object.keys(this.rowCtrlsByRowIndex).filter(r=>!i[r]);this.removeRowCtrls(s,t)}calculateIndexesToDraw(e){let t=nu(this.firstRenderedRow,this.lastRenderedRow),i=(s,r)=>{let n=r.getRowNode().rowIndex;n!=null&&(n<this.firstRenderedRow||n>this.lastRenderedRow)&&this.doNotUnVirtualiseRow(r)&&t.push(n)};We(this.rowCtrlsByRowIndex,i),We(e,i),t.sort((s,r)=>s-r);let o=[];for(let s=0;s<t.length;s++){let r=t[s],n=this.rowModel.getRow(r);n&&!n.sticky&&o.push(r)}return o}recycleRows(e,t=!1,i=!1){let o=this.calculateIndexesToDraw(e);(this.printLayout||i)&&(t=!1),this.removeRowCompsNotToDraw(o,!t);let s=[];o.forEach(r=>{let n=this.createOrUpdateRowCtrl(r,e,t,i);M(n)&&s.push(n)}),e&&(i&&!this.gos.get("suppressAnimationFrame")&&!this.printLayout?this.beans.animationFrameService.addDestroyTask(()=>{this.destroyRowCtrls(e,t),this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()}):this.destroyRowCtrls(e,t)),this.updateAllRowCtrls()}dispatchDisplayedRowsChanged(e=!1){this.eventService.dispatchEvent({type:"displayedRowsChanged",afterScroll:e})}onDisplayedColumnsChanged(){let e=this.visibleColsService.isPinningLeft(),t=this.visibleColsService.isPinningRight();(this.pinningLeft!==e||t!==this.pinningRight)&&(this.pinningLeft=e,this.pinningRight=t,this.embedFullWidthRows&&this.redrawFullWidthEmbeddedRows())}redrawFullWidthEmbeddedRows(){let e=[];this.getFullWidthRowCtrls().forEach(t=>{let i=t.getRowNode().rowIndex;e.push(i.toString())}),this.refreshFloatingRowComps(),this.removeRowCtrls(e),this.redraw({afterScroll:!0})}getFullWidthRowCtrls(e){let t=this.mapRowNodes(e);return this.getAllRowCtrls().filter(i=>{if(!i.isFullWidth())return!1;let o=i.getRowNode();return!(t!=null&&!this.isRowInMap(o,t))})}createOrUpdateRowCtrl(e,t,i,o){let s,r=this.rowCtrlsByRowIndex[e];if(r||(s=this.rowModel.getRow(e),M(s)&&M(t)&&t[s.id]&&s.alreadyRendered&&(r=t[s.id],t[s.id]=null)),!r)if(s||(s=this.rowModel.getRow(e)),M(s))r=this.createRowCon(s,i,o);else return;return s&&(s.alreadyRendered=!0),this.rowCtrlsByRowIndex[e]=r,r}destroyRowCtrls(e,t){let i=[];We(e,(o,s)=>{if(s){if(this.cachedRowCtrls&&s.isCacheable()){this.cachedRowCtrls.addRow(s);return}if(s.destroyFirstPass(!t),t){let r=s.instanceId;this.zombieRowCtrls[r]=s,i.push(()=>{s.destroySecondPass(),delete this.zombieRowCtrls[r]})}else s.destroySecondPass()}}),t&&(i.push(()=>{this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()}),Tl(i))}getRowBuffer(){return this.gos.get("rowBuffer")}getRowBufferInPixels(){let e=this.getRowBuffer(),t=mo(this.gos);return e*t}workOutFirstAndLastRowsToRender(){this.rowContainerHeightService.updateOffset();let e,t;if(!this.rowModel.isRowsToRender())e=0,t=-1;else if(this.printLayout)this.environment.refreshRowHeightVariable(),e=this.pageBoundsService.getFirstRow(),t=this.pageBoundsService.getLastRow();else{let a=this.getRowBufferInPixels(),l=this.ctrlsService.getGridBodyCtrl(),c=this.gos.get("suppressRowVirtualisation"),d=!1,u,h;do{let v=this.pageBoundsService.getPixelOffset(),{pageFirstPixel:w,pageLastPixel:C}=this.pageBoundsService.getCurrentPagePixelRange(),R=this.rowContainerHeightService.getDivStretchOffset(),P=l.getScrollFeature().getVScrollPosition(),T=P.top,x=P.bottom;c?(u=w+R,h=C+R):(u=Math.max(T+v-a,w)+R,h=Math.min(x+v+a,C)+R),this.firstVisibleVPixel=Math.max(T+v,w)+R,this.lastVisibleVPixel=Math.min(x+v,C)+R,d=this.ensureAllRowsInRangeHaveHeightsCalculated(u,h)}while(d);let g=this.rowModel.getRowIndexAtPixel(u),f=this.rowModel.getRowIndexAtPixel(h),m=this.pageBoundsService.getFirstRow(),p=this.pageBoundsService.getLastRow();g<m&&(g=m),f>p&&(f=p),e=g,t=f}let i=Re(this.gos,"normal"),o=this.gos.get("suppressMaxRenderedRowRestriction"),s=Math.max(this.getRowBuffer(),500);i&&!o&&t-e>s&&(t=e+s);let r=e!==this.firstRenderedRow,n=t!==this.lastRenderedRow;(r||n)&&(this.firstRenderedRow=e,this.lastRenderedRow=t,this.eventService.dispatchEvent({type:"viewportChanged",firstRow:e,lastRow:t}))}dispatchFirstDataRenderedEvent(){this.dataFirstRenderedFired||(this.dataFirstRenderedFired=!0,window.requestAnimationFrame(()=>{this.beans.eventService.dispatchEvent({type:"firstDataRendered",firstRow:this.firstRenderedRow,lastRow:this.lastRenderedRow})}))}ensureAllRowsInRangeHaveHeightsCalculated(e,t){let i=this.pinnedRowModel?.ensureRowHeightsValid(),o=this.stickyRowFeature?.ensureRowHeightsValid(),s=this.rowModel.ensureRowHeightsValid(e,t,this.pageBoundsService.getFirstRow(),this.pageBoundsService.getLastRow());return(s||o)&&this.eventService.dispatchEvent({type:"recalculateRowBounds"}),o||s||i?(this.updateContainerHeights(),!0):!1}getFirstVisibleVerticalPixel(){return this.firstVisibleVPixel}getLastVisibleVerticalPixel(){return this.lastVisibleVPixel}getFirstVirtualRenderedRow(){return this.firstRenderedRow}getLastVirtualRenderedRow(){return this.lastRenderedRow}doNotUnVirtualiseRow(e){let o=e.getRowNode(),s=this.focusService.isRowNodeFocused(o),r=e.isEditing(),n=o.detail;return s||r||n?!!this.isRowPresent(o):!1}isRowPresent(e){return this.rowModel.isRowPresent(e)?this.paginationService?this.paginationService.isRowPresent(e):!0:!1}createRowCon(e,t,i){let o=this.cachedRowCtrls?this.cachedRowCtrls.getRow(e):null;if(o)return o;let s=this.gos.get("suppressAnimationFrame"),r=i&&!s&&!this.printLayout;return new Bt(e,this.beans,t,r,this.printLayout)}getRenderedNodes(){let e=this.rowCtrlsByRowIndex;return Object.values(e).map(t=>t.getRowNode())}getRowByPosition(e){let t,{rowIndex:i}=e;switch(e.rowPinned){case"top":t=this.topRowCtrls[i];break;case"bottom":t=this.bottomRowCtrls[i];break;default:t=this.rowCtrlsByRowIndex[i],t||(t=this.getStickyTopRowCtrls().find(o=>o.getRowNode().rowIndex===i)||null,t||(t=this.getStickyBottomRowCtrls().find(o=>o.getRowNode().rowIndex===i)||null));break}return t}isRangeInRenderedViewport(e,t){if(e==null||t==null)return!1;let o=e>this.lastRenderedRow;return!(t<this.firstRenderedRow)&&!o}},Qg=class{constructor(e){this.entriesMap={},this.entriesList=[],this.maxCount=e}addRow(e){if(this.entriesMap[e.getRowNode().id]=e,this.entriesList.push(e),e.setCached(!0),this.entriesList.length>this.maxCount){let t=this.entriesList[0];t.destroyFirstPass(),t.destroySecondPass(),this.removeFromCache(t)}}getRow(e){if(e==null||e.id==null)return null;let t=this.entriesMap[e.id];return t?(this.removeFromCache(t),t.setCached(!1),t.getRowNode()!=e?null:t):null}has(e){return this.entriesMap[e.id]!=null}removeRow(e){let t=e.id,i=this.entriesMap[t];delete this.entriesMap[t],De(this.entriesList,i)}removeFromCache(e){let t=e.getRowNode().id;delete this.entriesMap[t],De(this.entriesList,e)}getEntries(){return this.entriesList}},qg=class extends b{constructor(){super(...arguments),this.beanName="pinnedRowModel",this.nextId=0,this.pinnedTopRows=new en,this.pinnedBottomRows=new en}wireBeans(e){this.beans=e}postConstruct(){this.setPinnedRowData(this.gos.get("pinnedTopRowData"),"top"),this.setPinnedRowData(this.gos.get("pinnedBottomRowData"),"bottom"),this.addManagedPropertyListener("pinnedTopRowData",e=>this.setPinnedRowData(e.currentValue,"top")),this.addManagedPropertyListener("pinnedBottomRowData",e=>this.setPinnedRowData(e.currentValue,"bottom")),this.addManagedEventListeners({gridStylesChanged:this.onGridStylesChanges.bind(this)})}isEmpty(e){return(e==="top"?this.pinnedTopRows:this.pinnedBottomRows).isEmpty()}isRowsToRender(e){return!this.isEmpty(e)}onGridStylesChanges(e){if(e.rowHeightChanged){let t=i=>{i.setRowHeight(i.rowHeight,!0)};this.pinnedBottomRows.forEach(t),this.pinnedTopRows.forEach(t)}}ensureRowHeightsValid(){let e=!1,t=0,i=o=>{if(o.rowHeightEstimated){let s=ht(this.gos,o);o.setRowTop(t),o.setRowHeight(s.height),t+=s.height,e=!0}};return this.pinnedBottomRows?.forEach(i),t=0,this.pinnedTopRows?.forEach(i),this.eventService.dispatchEvent({type:"pinnedHeightChanged"}),e}setPinnedRowData(e,t){this.updateNodesFromRowData(e,t),this.eventService.dispatchEvent({type:"pinnedRowDataChanged"})}updateNodesFromRowData(e,t){let i=t==="top"?this.pinnedTopRows:this.pinnedBottomRows;if(e===void 0){i.clear();return}let o=Ut(this.gos),s=t==="top"?st.ID_PREFIX_TOP_PINNED:st.ID_PREFIX_BOTTOM_PINNED,r=i.getIds(),n=[],a=new Set,l=0,c=-1;for(let d of e){let u=o?.({data:d,level:0,rowPinned:t})??s+this.nextId++;if(a.has(u)){S("Duplicate ID",u,"found for pinned row with data",d,"When `getRowId` is defined, it must return unique IDs for all pinned rows. Use the `rowPinned` parameter.");continue}c++,a.add(u),n.push(u);let h=i.getById(u);if(h!==void 0)h.data!==d&&h.setData(d),l+=this.setRowTopAndRowIndex(h,l,c),r.delete(u);else{let g=new st(this.beans);g.id=u,g.data=d,g.rowPinned=t,l+=this.setRowTopAndRowIndex(g,l,c),i.push(g)}}r.forEach(d=>{i.getById(d)?.clearRowTopAndRowIndex()}),i.removeAllById(r),i.setOrder(n)}setRowTopAndRowIndex(e,t,i){return e.setRowTop(t),e.setRowHeight(ht(this.gos,e).height),e.setRowIndex(i),e.rowHeight}getPinnedTopTotalHeight(){return this.getTotalHeight(this.pinnedTopRows)}getPinnedBottomTotalHeight(){return this.getTotalHeight(this.pinnedBottomRows)}getPinnedTopRowCount(){return this.pinnedTopRows.getSize()}getPinnedBottomRowCount(){return this.pinnedBottomRows.getSize()}getPinnedTopRow(e){return this.pinnedTopRows.getByIndex(e)}getPinnedBottomRow(e){return this.pinnedBottomRows.getByIndex(e)}getPinnedRowById(e,t){return t==="top"?this.pinnedTopRows.getById(e):this.pinnedBottomRows.getById(e)}forEachPinnedRow(e,t){return e==="top"?this.pinnedTopRows.forEach(t):this.pinnedBottomRows.forEach(t)}getTotalHeight(e){let t=e.getSize();if(t===0)return 0;let i=e.getByIndex(t-1);return i===void 0?0:i.rowTop+i.rowHeight}},en=class{constructor(){this.cache={},this.ordering=[]}getById(e){return this.cache[e]}getByIndex(e){let t=this.ordering[e];return this.cache[t]}push(e){this.cache[e.id]=e,this.ordering.push(e.id)}removeAllById(e){for(let t of e)delete this.cache[t];this.ordering=this.ordering.filter(t=>!e.has(t))}setOrder(e){this.ordering=e}forEach(e){this.ordering.forEach((t,i)=>{let o=this.cache[t];o&&e(o,i)})}clear(){this.ordering.length=0,this.cache={}}isEmpty(){return this.ordering.length===0}getSize(){return this.ordering.length}getIds(){return new Set(this.ordering)}};var Jg=class extends b{constructor(){super(...arguments),this.beanName="rowNodeBlockLoader",this.activeBlockLoadsCount=0,this.blocks=[],this.active=!0}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.maxConcurrentRequests=this.getMaxConcurrentDatasourceRequests();let e=this.gos.get("blockLoadDebounceMillis");e&&e>0&&(this.checkBlockToLoadDebounce=xe(this.performCheckBlocksToLoad.bind(this),e))}getMaxConcurrentDatasourceRequests(){let e=this.gos.get("maxConcurrentDatasourceRequests");if(e==null)return 2;if(!(e<=0))return e}addBlock(e){this.blocks.push(e),e.addEventListener("loadComplete",this.loadComplete.bind(this)),this.checkBlockToLoad()}removeBlock(e){De(this.blocks,e)}destroy(){super.destroy(),this.active=!1}loadComplete(){this.activeBlockLoadsCount--,this.checkBlockToLoad(),this.dispatchLocalEvent({type:"blockLoaded"}),this.activeBlockLoadsCount==0&&this.dispatchLocalEvent({type:"blockLoaderFinished"})}checkBlockToLoad(){this.checkBlockToLoadDebounce?this.checkBlockToLoadDebounce():this.performCheckBlocksToLoad()}performCheckBlocksToLoad(){if(!this.active)return;if(this.printCacheStatus(),this.maxConcurrentRequests!=null&&this.activeBlockLoadsCount>=this.maxConcurrentRequests){this.gos.get("debug")&&ot("RowNodeBlockLoader - checkBlockToLoad: max loads exceeded");return}let e=this.getAvailableLoadingCount(),t=this.blocks.filter(i=>i.getState()==="needsLoading").slice(0,e);this.registerLoads(t.length),t.forEach(i=>i.load()),this.printCacheStatus()}getBlockState(){if(mt(this.gos))return this.rowModel.getBlockStates();let e={};return this.blocks.forEach(t=>{let{id:i,state:o}=t.getBlockStateJson();e[i]=o}),e}printCacheStatus(){this.gos.get("debug")&&ot(`RowNodeBlockLoader - printCacheStatus: activePageLoadsCount = ${this.activeBlockLoadsCount}, blocks = ${JSON.stringify(this.getBlockState())}`)}isLoading(){return this.activeBlockLoadsCount>0}registerLoads(e){this.activeBlockLoadsCount+=e}getAvailableLoadingCount(){return this.maxConcurrentRequests!==void 0?this.maxConcurrentRequests-this.activeBlockLoadsCount:void 0}},Uw={version:B,moduleName:"@ag-grid-community/row-node-block",beans:[Jg]},Xg=class{constructor(){this.root=null,this.end=null,this.cachedRange=[]}init(e){this.rowModel=e}reset(){this.root=null,this.end=null,this.cachedRange.length=0}setRoot(e){this.root=e,this.end=null,this.cachedRange.length=0}setEndRange(e){this.end=e,this.cachedRange.length=0}getRange(){if(this.cachedRange.length===0){let e=this.getRoot(),t=this.getEnd();if(e==null||t==null)return this.cachedRange;this.cachedRange=this.rowModel.getNodesInRangeForSelection(e,t)}return this.cachedRange}isInRange(e){return this.root===null?!1:this.getRange().some(t=>t.id===e.id)}getRoot(){return this.root&&this.root?.key===null&&(this.root=this.rowModel.getRowNode(this.root.id)??null),this.root}getEnd(){return this.end&&this.end?.key===null&&(this.end=this.rowModel.getRowNode(this.end.id)??null),this.end}truncate(e){let t=this.getRange();if(t.length===0)return{keep:[],discard:[]};let i=t[0].id===this.root.id,o=t.findIndex(s=>s.id===e.id);if(o>-1){let s=t.slice(0,o),r=t.slice(o+1);return this.setEndRange(e),i?{keep:s,discard:r}:{keep:r,discard:s}}else return{keep:t,discard:[]}}extend(e,t=!1){let i=this.getRoot();if(i==null){let s=this.getRange().slice();return t&&e.depthFirstSearch(r=>!r.group&&s.push(r)),s.push(e),this.setRoot(e),{keep:s,discard:[]}}if(this.rowModel.getNodesInRangeForSelection(i,e).find(s=>s.id===this.end?.id))return this.setEndRange(e),{keep:this.getRange(),discard:[]};{let s=this.getRange().slice();return this.setEndRange(e),{keep:this.getRange(),discard:s}}}},Zg=class extends b{constructor(){super(...arguments),this.beanName="stylingService"}wireBeans(e){this.expressionService=e.expressionService}processAllCellClasses(e,t,i,o){this.processClassRules(void 0,e.cellClassRules,t,i,o),this.processStaticCellClasses(e,t,i)}processClassRules(e,t,i,o,s){if(t==null&&e==null)return;let r={},n={},a=(l,c)=>{l.split(" ").forEach(d=>{d.trim()!=""&&c(d)})};if(t){let l=Object.keys(t);for(let c=0;c<l.length;c++){let d=l[c],u=t[d],h;typeof u=="string"?h=this.expressionService.evaluate(u,i):typeof u=="function"&&(h=u(i)),a(d,g=>{h?r[g]=!0:n[g]=!0})}}e&&s&&Object.keys(e).forEach(l=>a(l,c=>{r[c]||(n[c]=!0)})),s&&Object.keys(n).forEach(s),Object.keys(r).forEach(o)}getStaticCellClasses(e,t){let{cellClass:i}=e;if(!i)return[];let o;return typeof i=="function"?o=i(t):o=i,typeof o=="string"&&(o=[o]),o||[]}processStaticCellClasses(e,t,i){this.getStaticCellClasses(e,t).forEach(s=>{i(s)})}};var Hi=(e=>(e.TAB_GUARD="ag-tab-guard",e.TAB_GUARD_TOP="ag-tab-guard-top",e.TAB_GUARD_BOTTOM="ag-tab-guard-bottom",e))(Hi||{}),qs=class extends b{constructor(e){super(),this.skipTabGuardFocus=!1,this.forcingFocusOut=!1,this.allowFocus=!1;let{comp:t,eTopGuard:i,eBottomGuard:o,focusTrapActive:s,forceFocusOutWhenTabGuardsAreEmpty:r,isFocusableContainer:n,focusInnerElement:a,onFocusIn:l,onFocusOut:c,shouldStopEventPropagation:d,onTabKeyDown:u,handleKeyDown:h,eFocusableElement:g}=e;this.comp=t,this.eTopGuard=i,this.eBottomGuard=o,this.providedFocusInnerElement=a,this.eFocusableElement=g,this.focusTrapActive=!!s,this.forceFocusOutWhenTabGuardsAreEmpty=!!r,this.isFocusableContainer=!!n,this.providedFocusIn=l,this.providedFocusOut=c,this.providedShouldStopEventPropagation=d,this.providedOnTabKeyDown=u,this.providedHandleKeyDown=h}wireBeans(e){this.focusService=e.focusService}postConstruct(){this.createManagedBean(new jt(this.eFocusableElement,{shouldStopEventPropagation:()=>this.shouldStopEventPropagation(),onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e),onFocusIn:e=>this.onFocusIn(e),onFocusOut:e=>this.onFocusOut(e)})),this.activateTabGuards(),[this.eTopGuard,this.eBottomGuard].forEach(e=>this.addManagedElementListeners(e,{focus:this.onFocus.bind(this)}))}handleKeyDown(e){this.providedHandleKeyDown&&this.providedHandleKeyDown(e)}tabGuardsAreActive(){return!!this.eTopGuard&&this.eTopGuard.hasAttribute("tabIndex")}shouldStopEventPropagation(){return this.providedShouldStopEventPropagation?this.providedShouldStopEventPropagation():!1}activateTabGuards(){if(this.forcingFocusOut)return;let e=this.gos.get("tabIndex");this.comp.setTabIndex(e.toString())}deactivateTabGuards(){this.comp.setTabIndex()}onFocus(e){if(this.isFocusableContainer&&!this.eFocusableElement.contains(e.relatedTarget)&&!this.allowFocus){this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);return}if(this.skipTabGuardFocus){this.skipTabGuardFocus=!1;return}if(this.forceFocusOutWhenTabGuardsAreEmpty&&this.focusService.findFocusableElements(this.eFocusableElement,".ag-tab-guard").length===0){this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);return}if(this.isFocusableContainer&&this.eFocusableElement.contains(e.relatedTarget))return;let t=e.target===this.eBottomGuard;this.providedFocusInnerElement?this.providedFocusInnerElement(t):this.focusInnerElement(t)}findNextElementOutsideAndFocus(e){let t=ve(this.gos),i=this.focusService.findFocusableElements(t.body,null,!0),o=i.indexOf(e?this.eTopGuard:this.eBottomGuard);if(o===-1)return;let s,r;e?(s=0,r=o):(s=o+1,r=i.length);let n=i.slice(s,r),a=this.gos.get("tabIndex");n.sort((l,c)=>{let d=parseInt(l.getAttribute("tabindex")||"0"),u=parseInt(c.getAttribute("tabindex")||"0");return u===a?1:d===a?-1:d===0?1:u===0?-1:d-u}),n[e?n.length-1:0]?.focus()}onFocusIn(e){this.focusTrapActive||this.forcingFocusOut||(this.providedFocusIn&&this.providedFocusIn(e),this.isFocusableContainer||this.deactivateTabGuards())}onFocusOut(e){this.focusTrapActive||(this.providedFocusOut&&this.providedFocusOut(e),this.eFocusableElement.contains(e.relatedTarget)||this.activateTabGuards())}onTabKeyDown(e){if(this.providedOnTabKeyDown){this.providedOnTabKeyDown(e);return}if(this.focusTrapActive||e.defaultPrevented)return;let t=this.tabGuardsAreActive();t&&this.deactivateTabGuards();let i=this.getNextFocusableElement(e.shiftKey);t&&setTimeout(()=>this.activateTabGuards(),0),i&&(i.focus(),e.preventDefault())}focusInnerElement(e=!1){let t=this.focusService.findFocusableElements(this.eFocusableElement);this.tabGuardsAreActive()&&(t.splice(0,1),t.splice(t.length-1,1)),t.length&&t[e?t.length-1:0].focus({preventScroll:!0})}getNextFocusableElement(e){return this.focusService.findNextFocusableElement(this.eFocusableElement,!1,e)}forceFocusOutOfContainer(e=!1){if(this.forcingFocusOut)return;let t=e?this.eTopGuard:this.eBottomGuard;this.activateTabGuards(),this.skipTabGuardFocus=!0,this.forcingFocusOut=!0,t.focus(),window.setTimeout(()=>{this.forcingFocusOut=!1,this.activateTabGuards()})}isTabGuard(e,t){return e===this.eTopGuard&&!t||e===this.eBottomGuard&&(t??!0)}setAllowFocus(e){this.allowFocus=e}},ep=class extends b{constructor(e){super(),this.comp=e}initialiseTabGuard(e){this.eTopGuard=this.createTabGuard("top"),this.eBottomGuard=this.createTabGuard("bottom"),this.eFocusableElement=this.comp.getFocusableElement();let{eTopGuard:t,eBottomGuard:i,eFocusableElement:o}=this,s=[t,i],r={setTabIndex:m=>{s.forEach(p=>m!=null?p.setAttribute("tabindex",m):p.removeAttribute("tabindex"))}};this.addTabGuards(t,i);let{focusTrapActive:n=!1,onFocusIn:a,onFocusOut:l,focusInnerElement:c,handleKeyDown:d,onTabKeyDown:u,shouldStopEventPropagation:h,forceFocusOutWhenTabGuardsAreEmpty:g,isFocusableContainer:f}=e;this.tabGuardCtrl=this.createManagedBean(new qs({comp:r,focusTrapActive:n,eTopGuard:t,eBottomGuard:i,eFocusableElement:o,onFocusIn:a,onFocusOut:l,focusInnerElement:c,handleKeyDown:d,onTabKeyDown:u,shouldStopEventPropagation:h,forceFocusOutWhenTabGuardsAreEmpty:g,isFocusableContainer:f}))}getTabGuardCtrl(){return this.tabGuardCtrl}createTabGuard(e){let t=ve(this.gos).createElement("div"),i=e==="top"?"ag-tab-guard-top":"ag-tab-guard-bottom";return t.classList.add("ag-tab-guard",i),Xe(t,"presentation"),t}addTabGuards(e,t){this.eFocusableElement.insertAdjacentElement("afterbegin",e),this.eFocusableElement.insertAdjacentElement("beforeend",t)}removeAllChildrenExceptTabGuards(){let e=[this.eTopGuard,this.eBottomGuard];Be(this.comp.getFocusableElement()),this.addTabGuards(...e)}forceFocusOutOfContainer(e=!1){this.tabGuardCtrl.forceFocusOutOfContainer(e)}appendChild(e,t,i){ks(t)||(t=t.getGui());let{eBottomGuard:o}=this;o?o.insertAdjacentElement("beforebegin",t):e(t,i)}},tp=class extends ce{initialiseTabGuard(e){this.tabGuardFeature=this.createManagedBean(new ep(this)),this.tabGuardFeature.initialiseTabGuard(e)}forceFocusOutOfContainer(e=!1){this.tabGuardFeature.forceFocusOutOfContainer(e)}appendChild(e,t){this.tabGuardFeature.appendChild(super.appendChild.bind(this),e,t)}},ip=0,op=200,sp=class extends b{constructor(){super(...arguments),this.beanName="popupService",this.popupList=[]}wireBeans(e){this.ctrlsService=e.ctrlsService,this.resizeObserverService=e.resizeObserverService,this.environment=e.environment}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridCtrl=e.gridCtrl}),this.addManagedEventListeners({gridStylesChanged:this.handleThemeChange.bind(this)})}getPopupParent(){let e=this.gos.get("popupParent");return e||this.gridCtrl.getGui()}positionPopupForMenu(e){let{eventSource:t,ePopup:i}=e,o=this.getPopupIndex(i);if(o!==-1){let g=this.popupList[o];g.alignedToElement=t}let s=t.getBoundingClientRect(),r=this.getParentRect(),n=this.keepXYWithinBounds(i,s.top-r.top,0),a=i.clientWidth>0?i.clientWidth:200;i.style.minWidth=`${a}px`;let c=r.right-r.left-a,d;this.gos.get("enableRtl")?(d=h(),d<0&&(d=u(),this.setAlignedStyles(i,"left")),d>c&&(d=0,this.setAlignedStyles(i,"right"))):(d=u(),d>c&&(d=h(),this.setAlignedStyles(i,"right")),d<0&&(d=0,this.setAlignedStyles(i,"left"))),i.style.left=`${d}px`,i.style.top=`${n}px`;function u(){return s.right-r.left-2}function h(){return s.left-r.left-a}}positionPopupUnderMouseEvent(e){let{ePopup:t,nudgeX:i,nudgeY:o,skipObserver:s}=e;this.positionPopup({ePopup:t,nudgeX:i,nudgeY:o,keepWithinBounds:!0,skipObserver:s,updatePosition:()=>this.calculatePointerAlign(e.mouseEvent),postProcessCallback:()=>this.callPostProcessPopup(e.type,e.ePopup,null,e.mouseEvent,e.column,e.rowNode)})}calculatePointerAlign(e){let t=this.getParentRect();return{x:e.clientX-t.left,y:e.clientY-t.top}}positionPopupByComponent(e){let{ePopup:t,nudgeX:i,nudgeY:o,keepWithinBounds:s,eventSource:r,alignSide:n="left",position:a="over",column:l,rowNode:c,type:d}=e,u=r.getBoundingClientRect(),h=this.getParentRect(),g=this.getPopupIndex(t);if(g!==-1){let m=this.popupList[g];m.alignedToElement=r}let f=()=>{let m=u.left-h.left;n==="right"&&(m-=t.offsetWidth-u.width);let p;return a==="over"?(p=u.top-h.top,this.setAlignedStyles(t,"over")):(this.setAlignedStyles(t,"under"),this.shouldRenderUnderOrAbove(t,u,h,e.nudgeY||0)==="under"?p=u.top-h.top+u.height:p=u.top-t.offsetHeight-(o||0)*2-h.top),{x:m,y:p}};this.positionPopup({ePopup:t,nudgeX:i,nudgeY:o,keepWithinBounds:s,updatePosition:f,postProcessCallback:()=>this.callPostProcessPopup(d,t,r,null,l,c)})}shouldRenderUnderOrAbove(e,t,i,o){let s=i.bottom-t.bottom,r=t.top-i.top,n=e.offsetHeight+o;return s>n?"under":r>n||r>s?"above":"under"}setAlignedStyles(e,t){let i=this.getPopupIndex(e);if(i===-1)return;let o=this.popupList[i],{alignedToElement:s}=o;!s||(["right","left","over","above","under"].forEach(n=>{s.classList.remove(`ag-has-popup-positioned-${n}`),e.classList.remove(`ag-popup-positioned-${n}`)}),!t)||(s.classList.add(`ag-has-popup-positioned-${t}`),e.classList.add(`ag-popup-positioned-${t}`))}callPostProcessPopup(e,t,i,o,s,r){let n=this.gos.getCallback("postProcessPopup");n&&n({column:s,rowNode:r,ePopup:t,type:e,eventSource:i,mouseEvent:o})}positionPopup(e){let{ePopup:t,keepWithinBounds:i,nudgeX:o,nudgeY:s,skipObserver:r,updatePosition:n}=e,a={width:0,height:0},l=(c=!1)=>{let{x:d,y:u}=n();c&&t.clientWidth===a.width&&t.clientHeight===a.height||(a.width=t.clientWidth,a.height=t.clientHeight,o&&(d+=o),s&&(u+=s),i&&(d=this.keepXYWithinBounds(t,d,1),u=this.keepXYWithinBounds(t,u,0)),t.style.left=`${d}px`,t.style.top=`${u}px`,e.postProcessCallback&&e.postProcessCallback())};if(l(),!r){let c=this.resizeObserverService.observeResize(t,()=>l(!0));setTimeout(()=>c(),op)}}getActivePopups(){return this.popupList.map(e=>e.element)}getPopupList(){return this.popupList}getParentRect(){let e=ve(this.gos),t=this.getPopupParent();return t===e.body?t=e.documentElement:getComputedStyle(t).position==="static"&&(t=t.offsetParent),Hn(t)}keepXYWithinBounds(e,t,i){let o=i===0,s=o?"clientHeight":"clientWidth",r=o?"top":"left",n=o?"height":"width",a=o?"scrollTop":"scrollLeft",l=ve(this.gos),c=l.documentElement,d=this.getPopupParent(),u=e.getBoundingClientRect(),h=d.getBoundingClientRect(),g=l.documentElement.getBoundingClientRect(),f=d===l.body,m=Math.ceil(u[n]),v=f?(o?Nn:co)(c)+c[a]:d[s];f&&(v-=Math.abs(g[r]-h[r]));let w=v-m;return Math.min(Math.max(t,0),Math.abs(w))}addPopup(e){let t=ve(this.gos),{eChild:i,ariaLabel:o,alwaysOnTop:s,positionCallback:r,anchorToElement:n}=e;if(!t)return S("could not find the document, document is empty"),{hideFunc:()=>{}};let a=this.getPopupIndex(i);if(a!==-1)return{hideFunc:this.popupList[a].hideFunc};this.initialisePopupPosition(i);let l=this.createPopupWrapper(i,o,!!s),c=this.addEventListenersToPopup({...e,wrapperEl:l});return r&&r(),this.addPopupToPopupList(i,l,c,n),{hideFunc:c}}initialisePopupPosition(e){let i=this.getPopupParent().getBoundingClientRect();M(e.style.top)||(e.style.top=`${i.top*-1}px`),M(e.style.left)||(e.style.left=`${i.left*-1}px`)}createPopupWrapper(e,t,i){let o=this.getPopupParent(),s=document.createElement("div");return this.environment.applyThemeClasses(s),s.classList.add("ag-popup"),e.classList.add(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr","ag-popup-child"),e.hasAttribute("role")||Xe(e,"dialog"),si(e,t),s.appendChild(e),o.appendChild(s),i?this.setAlwaysOnTop(e,!0):this.bringPopupToFront(e),s}handleThemeChange(e){if(e.themeChanged)for(let t of this.popupList)this.environment.applyThemeClasses(t.wrapper)}addEventListenersToPopup(e){let t=ve(this.gos),i=this.getPopupParent(),{wrapperEl:o,eChild:s,closedCallback:r,afterGuiAttached:n,closeOnEsc:a,modal:l}=e,c=!1,d=f=>{if(!o.contains(fe(this.gos)))return;f.key===y.ESCAPE&&!ut(f)&&g({keyboardEvent:f})},u=f=>g({mouseEvent:f}),h=f=>g({touchEvent:f}),g=(f={})=>{let{mouseEvent:m,touchEvent:p,keyboardEvent:v,forceHide:w}=f;!w&&(this.isEventFromCurrentPopup({mouseEvent:m,touchEvent:p},s)||c)||(c=!0,i.removeChild(o),t.removeEventListener("keydown",d),t.removeEventListener("mousedown",u),t.removeEventListener("touchstart",h),t.removeEventListener("contextmenu",u),this.eventService.removeEventListener("dragStarted",u),r&&r(m||p||v),this.removePopupFromPopupList(s))};return n&&n({hidePopup:g}),window.setTimeout(()=>{a&&t.addEventListener("keydown",d),l&&(t.addEventListener("mousedown",u),this.eventService.addEventListener("dragStarted",u),t.addEventListener("touchstart",h),t.addEventListener("contextmenu",u))},0),g}addPopupToPopupList(e,t,i,o){this.popupList.push({element:e,wrapper:t,hideFunc:i,instanceId:ip++,isAnchored:!!o}),o&&this.setPopupPositionRelatedToElement(e,o)}getPopupIndex(e){return this.popupList.findIndex(t=>t.element===e)}setPopupPositionRelatedToElement(e,t){let i=this.getPopupIndex(e);if(i===-1)return;let o=this.popupList[i];if(o.stopAnchoringPromise&&o.stopAnchoringPromise.then(r=>r&&r()),o.stopAnchoringPromise=void 0,o.isAnchored=!1,!t)return;let s=this.keepPopupPositionedRelativeTo({element:t,ePopup:e,hidePopup:o.hideFunc});return o.stopAnchoringPromise=s,o.isAnchored=!0,s}removePopupFromPopupList(e){this.setAlignedStyles(e,null),this.setPopupPositionRelatedToElement(e,null),this.popupList=this.popupList.filter(t=>t.element!==e)}keepPopupPositionedRelativeTo(e){let t=this.getPopupParent(),i=t.getBoundingClientRect(),{element:o,ePopup:s}=e,r=o.getBoundingClientRect(),n=u=>parseInt(u.substring(0,u.length-1),10),a=(u,h)=>{let g=i[u]-r[u],f=n(s.style[u]);return{initialDiff:g,lastDiff:g,initial:f,last:f,direction:h}},l=a("top",0),c=a("left",1),d=this.getFrameworkOverrides();return new ae(u=>{d.wrapIncoming(()=>{d.setInterval(()=>{let h=t.getBoundingClientRect(),g=o.getBoundingClientRect();if(g.top==0&&g.left==0&&g.height==0&&g.width==0){e.hidePopup();return}let m=(p,v)=>{let w=n(s.style[v]);p.last!==w&&(p.initial=w,p.last=w);let C=h[v]-g[v];if(C!=p.lastDiff){let R=this.keepXYWithinBounds(s,p.initial+p.initialDiff-C,p.direction);s.style[v]=`${R}px`,p.last=R}p.lastDiff=C};m(l,"top"),m(c,"left")},200).then(h=>{u(()=>{h!=null&&window.clearInterval(h)})})},"popupPositioning")})}hasAnchoredPopup(){return this.popupList.some(e=>e.isAnchored)}isEventFromCurrentPopup(e,t){let{mouseEvent:i,touchEvent:o}=e,s=i||o;if(!s)return!1;let r=this.getPopupIndex(t);if(r===-1)return!1;for(let n=r;n<this.popupList.length;n++){let a=this.popupList[n];if($l(a.element,s))return!0}return this.isElementWithinCustomPopup(s.target)}isElementWithinCustomPopup(e){let t=ve(this.gos);for(;e&&e!==t.body;){if(e.classList.contains("ag-custom-component-popup")||e.parentElement===null)return!0;e=e.parentElement}return!1}getWrapper(e){for(;!e.classList.contains("ag-popup")&&e.parentElement;)e=e.parentElement;return e.classList.contains("ag-popup")?e:null}setAlwaysOnTop(e,t){let i=this.getWrapper(e);i&&(i.classList.toggle("ag-always-on-top",!!t),t&&this.bringPopupToFront(i))}bringPopupToFront(e){let t=this.getPopupParent(),i=Array.prototype.slice.call(t.querySelectorAll(".ag-popup")),o=i.length,s=this.getWrapper(e);if(!s||o<=1||!t.contains(e))return;let r=[],n=[];for(let h of i)h!==s&&(h.classList.contains("ag-always-on-top")?n.push(h):r.push(h));let a=[],l=n.length,u=s.classList.contains("ag-always-on-top")||!l?[...r,...n,s]:[...r,s,...n];for(let h=0;h<=o;h++){let g=u[h];if(i[h]===u[h]||g===s)continue;g.querySelectorAll("div").forEach(m=>{m.scrollTop!==0&&a.push([m,m.scrollTop])}),h===0?t.insertAdjacentElement("afterbegin",g):u[h-1].insertAdjacentElement("afterend",g)}for(;a.length;){let h=a.pop();h[0].scrollTop=h[1]}}},rp=["touchstart","touchend","touchmove","touchcancel"],Js=class{constructor(e="javascript"){this.frameworkName=e,this.renderingEngine="vanilla",this.wrapIncoming=t=>t(),this.wrapOutgoing=t=>t()}setInterval(e,t){return new ae(i=>{i(window.setInterval(e,t))})}addEventListener(e,t,i,o){let s=Ht(rp,t);e.addEventListener(t,i,{capture:!!o,passive:s})}get shouldWrapOutgoing(){return!1}frameworkComponent(e){return null}isFrameworkComponent(e){return!1}getDocLink(e){return`https://www.ag-grid.com/${this.frameworkName==="solid"?"react":this.frameworkName}-data-grid${e?`/${e}`:""}`}},np=class extends b{constructor(){super(...arguments),this.beanName="cellNavigationService"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer,this.pinnedRowModel=e.pinnedRowModel,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService}getNextCellToFocus(e,t,i=!1){return i?this.getNextCellToFocusWithCtrlPressed(e,t):this.getNextCellToFocusWithoutCtrlPressed(e,t)}getNextCellToFocusWithCtrlPressed(e,t){let i=e===y.UP,o=e===y.DOWN,s=e===y.LEFT,r,n;if(i||o)n=i?this.pageBoundsService.getFirstRow():this.pageBoundsService.getLastRow(),r=t.column;else{let a=this.visibleColsService.getAllCols(),l=this.gos.get("enableRtl");n=t.rowIndex,r=s!==l?a[0]:$(a)}return{rowIndex:n,rowPinned:null,column:r}}getNextCellToFocusWithoutCtrlPressed(e,t){let i=t,o=!1;for(;!o;){switch(e){case y.UP:i=this.getCellAbove(i);break;case y.DOWN:i=this.getCellBelow(i);break;case y.RIGHT:this.gos.get("enableRtl")?i=this.getCellToLeft(i):i=this.getCellToRight(i);break;case y.LEFT:this.gos.get("enableRtl")?i=this.getCellToRight(i):i=this.getCellToLeft(i);break;default:i=null,S("unknown key for navigation ",e);break}i?o=this.isCellGoodToFocusOn(i):o=!0}return i}isCellGoodToFocusOn(e){let t=e.column,i;switch(e.rowPinned){case"top":i=this.pinnedRowModel.getPinnedTopRow(e.rowIndex);break;case"bottom":i=this.pinnedRowModel.getPinnedBottomRow(e.rowIndex);break;default:i=this.rowModel.getRow(e.rowIndex);break}return i?!t.isSuppressNavigable(i):!1}getCellToLeft(e){if(!e)return null;let t=this.visibleColsService.getColBefore(e.column);return t?{rowIndex:e.rowIndex,column:t,rowPinned:e.rowPinned}:null}getCellToRight(e){if(!e)return null;let t=this.visibleColsService.getColAfter(e.column);return t?{rowIndex:e.rowIndex,column:t,rowPinned:e.rowPinned}:null}getRowBelow(e){let t=e.rowIndex,i=e.rowPinned,o=!1;if(this.isLastRowInContainer(e))switch(i){case"bottom":return null;case"top":return this.rowModel.isRowsToRender()?{rowIndex:this.pageBoundsService.getFirstRow(),rowPinned:null}:this.pinnedRowModel.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null;default:return this.pinnedRowModel.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null}else i&&(o=!0);let s=this.rowModel.getRow(e.rowIndex),r=o?void 0:this.getNextStickyPosition(s);return r||{rowIndex:t+1,rowPinned:i}}getNextStickyPosition(e,t){if(!vo(this.gos)||!e||!e.sticky)return;let i=this.rowRenderer.getStickyTopRowCtrls().some(a=>a.getRowNode().rowIndex===e.rowIndex),o=[];i?o=[...this.rowRenderer.getStickyTopRowCtrls()].sort((a,l)=>a.getRowNode().rowIndex-l.getRowNode().rowIndex):o=[...this.rowRenderer.getStickyBottomRowCtrls()].sort((a,l)=>l.getRowNode().rowIndex-a.getRowNode().rowIndex);let s=t?-1:1,r=o.findIndex(a=>a.getRowNode().rowIndex===e.rowIndex),n=o[r+s];if(n)return{rowIndex:n.getRowNode().rowIndex,rowPinned:null}}getCellBelow(e){if(!e)return null;let t=this.getRowBelow(e);return t?{rowIndex:t.rowIndex,column:e.column,rowPinned:t.rowPinned}:null}isLastRowInContainer(e){let t=e.rowPinned,i=e.rowIndex;return t==="top"?this.pinnedRowModel.getPinnedTopRowCount()-1<=i:t==="bottom"?this.pinnedRowModel.getPinnedBottomRowCount()-1<=i:this.pageBoundsService.getLastRow()<=i}getRowAbove(e){let t=e.rowIndex,i=e.rowPinned,o=i?t===0:t===this.pageBoundsService.getFirstRow(),s=!1;if(o)return i==="top"?null:i?this.rowModel.isRowsToRender()?this.getLastBodyCell():this.pinnedRowModel.isRowsToRender("top")?this.getLastFloatingTopRow():null:this.pinnedRowModel.isRowsToRender("top")?this.getLastFloatingTopRow():null;i&&(s=!0);let r=this.rowModel.getRow(e.rowIndex),n=s?void 0:this.getNextStickyPosition(r,!0);return n||{rowIndex:t-1,rowPinned:i}}getCellAbove(e){if(!e)return null;let t=this.getRowAbove({rowIndex:e.rowIndex,rowPinned:e.rowPinned});return t?{rowIndex:t.rowIndex,column:e.column,rowPinned:t.rowPinned}:null}getLastBodyCell(){return{rowIndex:this.pageBoundsService.getLastRow(),rowPinned:null}}getLastFloatingTopRow(){return{rowIndex:this.pinnedRowModel.getPinnedTopRowCount()-1,rowPinned:"top"}}getNextTabbedCell(e,t){return t?this.getNextTabbedCellBackwards(e):this.getNextTabbedCellForwards(e)}getNextTabbedCellForwards(e){let t=this.visibleColsService.getAllCols(),i=e.rowIndex,o=e.rowPinned,s=this.visibleColsService.getColAfter(e.column);if(!s){s=t[0];let r=this.getRowBelow(e);if(K(r)||!r.rowPinned&&!(this.paginationService?.isRowInPage(r)??!0))return null;i=r?r.rowIndex:null,o=r?r.rowPinned:null}return{rowIndex:i,column:s,rowPinned:o}}getNextTabbedCellBackwards(e){let t=this.visibleColsService.getAllCols(),i=e.rowIndex,o=e.rowPinned,s=this.visibleColsService.getColBefore(e.column);if(!s){s=$(t);let r=this.getRowAbove({rowIndex:e.rowIndex,rowPinned:e.rowPinned});if(K(r)||!r.rowPinned&&!(this.paginationService?.isRowInPage(r)??!0))return null;i=r?r.rowIndex:null,o=r?r.rowPinned:null}return{rowIndex:i,column:s,rowPinned:o}}},Te=(e,t)=>{for(let i in t)t[i]=e;return t},tn={...Te("@ag-grid-community/core",{dispatchEvent:0,destroy:0,getGridId:0,getGridOption:0,isDestroyed:0,setGridOption:0,updateGridOptions:0,getState:0,setNodesSelected:0,selectAll:0,deselectAll:0,selectAllFiltered:0,deselectAllFiltered:0,selectAllOnCurrentPage:0,deselectAllOnCurrentPage:0,getSelectedNodes:0,getSelectedRows:0,redrawRows:0,setRowNodeExpanded:0,getRowNode:0,addRenderedRowListener:0,getRenderedNodes:0,forEachNode:0,getFirstDisplayedRow:0,getFirstDisplayedRowIndex:0,getLastDisplayedRow:0,getLastDisplayedRowIndex:0,getDisplayedRowAtIndex:0,getDisplayedRowCount:0,getModel:0,getVerticalPixelRange:0,getHorizontalPixelRange:0,ensureColumnVisible:0,ensureIndexVisible:0,ensureNodeVisible:0,getFocusedCell:0,clearFocusedCell:0,setFocusedCell:0,tabToNextCell:0,tabToPreviousCell:0,setFocusedHeader:0,addEventListener:0,addGlobalListener:0,removeEventListener:0,removeGlobalListener:0,expireValueCache:0,getValue:0,getCellValue:0,showColumnMenuAfterButtonClick:0,showColumnMenuAfterMouseClick:0,showColumnMenu:0,hidePopupMenu:0,onSortChanged:0,getPinnedTopRowCount:0,getPinnedBottomRowCount:0,getPinnedTopRow:0,getPinnedBottomRow:0,showLoadingOverlay:0,showNoRowsOverlay:0,hideOverlay:0,setGridAriaProperty:0,refreshCells:0,flashCells:0,refreshHeader:0,isAnimationFrameQueueEmpty:0,flushAllAnimationFrames:0,getSizesForCurrentTheme:0,getCellRendererInstances:0,addRowDropZone:0,removeRowDropZone:0,getRowDropZoneParams:0,getColumnDef:0,getColumnDefs:0,sizeColumnsToFit:0,setColumnGroupOpened:0,getColumnGroup:0,getProvidedColumnGroup:0,getDisplayNameForColumn:0,getDisplayNameForColumnGroup:0,getColumn:0,getColumns:0,applyColumnState:0,getColumnState:0,resetColumnState:0,getColumnGroupState:0,setColumnGroupState:0,resetColumnGroupState:0,isPinning:0,isPinningLeft:0,isPinningRight:0,getDisplayedColAfter:0,getDisplayedColBefore:0,setColumnVisible:0,setColumnsVisible:0,setColumnPinned:0,setColumnsPinned:0,getAllGridColumns:0,getDisplayedLeftColumns:0,getDisplayedCenterColumns:0,getDisplayedRightColumns:0,getAllDisplayedColumns:0,getAllDisplayedVirtualColumns:0,moveColumn:0,moveColumnByIndex:0,moveColumns:0,setColumnWidth:0,setColumnWidths:0,getLeftDisplayedColumnGroups:0,getCenterDisplayedColumnGroups:0,getRightDisplayedColumnGroups:0,getAllDisplayedColumnGroups:0,autoSizeColumn:0,autoSizeColumns:0,autoSizeAllColumns:0,undoCellEditing:0,redoCellEditing:0,getCellEditorInstances:0,getEditingCells:0,stopEditing:0,startEditingCell:0,getCurrentUndoSize:0,getCurrentRedoSize:0,isAnyFilterPresent:0,onFilterChanged:0,isColumnFilterPresent:0,getFilterInstance:0,getColumnFilterInstance:0,destroyFilter:0,setFilterModel:0,getFilterModel:0,getColumnFilterModel:0,setColumnFilterModel:0,showColumnFilter:0,isQuickFilterPresent:0,getQuickFilter:0,resetQuickFilter:0,paginationIsLastPageFound:0,paginationGetPageSize:0,paginationGetCurrentPage:0,paginationGetTotalPages:0,paginationGetRowCount:0,paginationGoToNextPage:0,paginationGoToPreviousPage:0,paginationGoToFirstPage:0,paginationGoToLastPage:0,paginationGoToPage:0,expandAll:0,collapseAll:0,onRowHeightChanged:0,setRowCount:0,getCacheBlockState:0,isLastRowIndexKnown:0}),...Te("@ag-grid-community/client-side-row-model",{onGroupExpandedOrCollapsed:0,refreshClientSideRowModel:0,isRowDataEmpty:0,forEachLeafNode:0,forEachNodeAfterFilter:0,forEachNodeAfterFilterAndSort:0,resetRowHeights:0,applyTransaction:0,applyTransactionAsync:0,flushAsyncTransactions:0,getBestCostNodeSelection:0}),...Te("@ag-grid-community/csv-export",{getDataAsCsv:0,exportDataAsCsv:0}),...Te("@ag-grid-community/infinite-row-model",{refreshInfiniteCache:0,purgeInfiniteCache:0,getInfiniteRowCount:0}),...Te("@ag-grid-enterprise/advanced-filter",{getAdvancedFilterModel:0,setAdvancedFilterModel:0,showAdvancedFilterBuilder:0,hideAdvancedFilterBuilder:0}),...Te("@ag-grid-enterprise/charts",{getChartModels:0,getChartRef:0,getChartImageDataURL:0,downloadChart:0,openChartToolPanel:0,closeChartToolPanel:0,createRangeChart:0,createPivotChart:0,createCrossFilterChart:0,updateChart:0,restoreChart:0}),...Te("@ag-grid-enterprise/clipboard",{copyToClipboard:0,cutToClipboard:0,copySelectedRowsToClipboard:0,copySelectedRangeToClipboard:0,copySelectedRangeDown:0,pasteFromClipboard:0}),...Te("@ag-grid-enterprise/excel-export",{getDataAsExcel:0,exportDataAsExcel:0,getSheetDataForExcel:0,getMultipleSheetsAsExcel:0,exportMultipleSheetsAsExcel:0}),...Te("@ag-grid-enterprise/master-detail",{addDetailGridInfo:0,removeDetailGridInfo:0,getDetailGridInfo:0,forEachDetailGridInfo:0}),...Te("@ag-grid-enterprise/menu",{showContextMenu:0,showColumnChooser:0,hideColumnChooser:0}),...Te("@ag-grid-enterprise/range-selection",{getCellRanges:0,addCellRange:0,clearRangeSelection:0,clearCellSelection:0}),...Te("@ag-grid-enterprise/row-grouping",{addAggFunc:0,addAggFuncs:0,clearAggFuncs:0,setColumnAggFunc:0,isPivotMode:0,getPivotResultColumn:0,setValueColumns:0,getValueColumns:0,removeValueColumn:0,removeValueColumns:0,addValueColumn:0,addValueColumns:0,setRowGroupColumns:0,removeRowGroupColumn:0,removeRowGroupColumns:0,addRowGroupColumn:0,addRowGroupColumns:0,getRowGroupColumns:0,moveRowGroupColumn:0,setPivotColumns:0,removePivotColumn:0,removePivotColumns:0,addPivotColumn:0,addPivotColumns:0,getPivotColumns:0,setPivotResultColumns:0,getPivotResultColumns:0}),...Te("@ag-grid-enterprise/server-side-row-model",{getServerSideSelectionState:0,setServerSideSelectionState:0,applyServerSideTransaction:0,applyServerSideTransactionAsync:0,applyServerSideRowData:0,retryServerSideLoads:0,flushServerSideAsyncTransactions:0,refreshServerSide:0,getServerSideGroupLevelState:0}),...Te("@ag-grid-enterprise/side-bar",{isSideBarVisible:0,setSideBarVisible:0,setSideBarPosition:0,openToolPanel:0,closeToolPanel:0,getOpenedToolPanel:0,refreshToolPanel:0,isToolPanelShowing:0,getToolPanelInstance:0,getSideBar:0}),...Te("@ag-grid-enterprise/status-bar",{getStatusPanel:0})},Zo={isDestroyed:()=>!0,destroy(){},preConstruct(){},postConstruct(){},preWireBeans(){},wireBeans(){}},ap=(e,t)=>e.eventService.dispatchEvent(t),$a=class{};Reflect.defineProperty($a,"name",{value:"GridApi"});var lp=class extends b{constructor(){super(),this.beanName="apiFunctionService",this.api=new $a,this.fns={...Zo,dispatchEvent:ap},this.beans=null,this.preDestroyLink="";let{api:e}=this;for(let t in tn)e[t]=this.makeApi(t)[t]}wireBeans(e){this.beans=e}postConstruct(){this.preDestroyLink=this.frameworkOverrides.getDocLink("grid-lifecycle/#grid-pre-destroyed")}addFunction(e,t){let{fns:i,beans:o}=this;i!==Zo&&(i[e]=o?.validationService?.validateApiFunction(e,t)??t)}makeApi(e){return{[e]:(...t)=>{let{beans:i,fns:{[e]:o}}=this;return o?o(i,...t):this.apiNotFound(e)}}}apiNotFound(e){let{beans:t,gos:i,preDestroyLink:o}=this;if(!t)S(`Grid API function ${e}() cannot be called as the grid has been destroyed.
|
|
137
137
|
Either clear local references to the grid api, when it is destroyed, or check gridApi.isDestroyed() to avoid calling methods against a destroyed grid.
|
|
138
|
-
To run logic when the grid is about to be destroyed use the gridPreDestroy event. See: ${o}`);else{let s=Zr[e];i.assertModuleRegistered(s,`api.${e}`)&&S(`API function '${e}' not registered to module '${s}'`)}}destroy(){super.destroy(),this.fns=Xo,this.beans=null}};function ap(e){return{beanName:"gridApi",bean:e.getBean("apiFunctionService").api}}var lp=class extends b{constructor(){super(...arguments),this.beanName="columnDefFactory"}buildColumnDefs(e,t,i){let o=[],s={};return e.forEach(r=>{let n=this.createDefFromColumn(r,t,i),a=!0,l=n,c=r.getOriginalParent(),d=null;for(;c;){let u=null;if(c.isPadding()){c=c.getOriginalParent();continue}let h=s[c.getGroupId()];if(h){h.children.push(l),a=!1;break}if(u=this.createDefFromGroup(c),u&&(u.children=[l],s[u.groupId]=u,l=u,c=c.getOriginalParent()),c!=null&&d===c){a=!1;break}d=c}a&&o.push(l)}),o}createDefFromGroup(e){let t=rs(e.getColGroupDef(),["children"]);return t&&(t.groupId=e.getGroupId()),t}createDefFromColumn(e,t,i){let o=rs(e.getColDef());return o.colId=e.getColId(),o.width=e.getActualWidth(),o.rowGroup=e.isRowGroupActive(),o.rowGroupIndex=e.isRowGroupActive()?t.indexOf(e):null,o.pivot=e.isPivotActive(),o.pivotIndex=e.isPivotActive()?i.indexOf(e):null,o.aggFunc=e.isValueActive()?e.getAggFunc():null,o.hide=e.isVisible()?void 0:!0,o.pinned=e.isPinned()?e.getPinned():null,o.sort=e.getSort()?e.getSort():null,o.sortIndex=e.getSortIndex()!=null?e.getSortIndex():null,o}},cp=class extends b{constructor(){super(...arguments),this.beanName="columnEventDispatcher"}visibleCols(e){this.eventService.dispatchEvent({type:"displayedColumnsChanged",source:e})}gridColumns(){this.eventService.dispatchEvent({type:"gridColumnsChanged"})}headerHeight(e){this.eventService.dispatchEvent({type:"columnHeaderHeightChanged",column:e,columns:[e],source:"autosizeColumnHeaderHeight"})}groupHeaderHeight(e){this.eventService.dispatchEvent({type:"columnGroupHeaderHeightChanged",columnGroup:e,source:"autosizeColumnGroupHeaderHeight"})}groupOpened(e){this.eventService.dispatchEvent({type:"columnGroupOpened",columnGroup:e.length===1?e[0]:void 0,columnGroups:e})}rowGroupChanged(e,t){this.eventService.dispatchEvent({type:"columnRowGroupChanged",columns:e,column:e.length===1?e[0]:null,source:t})}genericColumnEvent(e,t,i){this.eventService.dispatchEvent({type:e,columns:t,column:t.length===1?t[0]:null,source:i})}pivotModeChanged(){this.eventService.dispatchEvent({type:"columnPivotModeChanged"})}virtualColumnsChanged(e){this.eventService.dispatchEvent({type:"virtualColumnsChanged",afterScroll:e})}newColumnsLoaded(e){this.eventService.dispatchEvent({type:"newColumnsLoaded",source:e})}everythingChanged(e){this.eventService.dispatchEvent({type:"columnEverythingChanged",source:e})}columnMoved(e){let{movedColumns:t,source:i,toIndex:o,finished:s}=e;this.eventService.dispatchEvent({type:"columnMoved",columns:t,column:t&&t.length===1?t[0]:null,toIndex:o,finished:s,source:i})}columnPinned(e,t){if(!e.length)return;let i=e.length===1?e[0]:null,o=this.getCommonValue(e,s=>s.getPinned());this.eventService.dispatchEvent({type:"columnPinned",pinned:o??null,columns:e,column:i,source:t})}columnVisible(e,t){if(!e.length)return;let i=e.length===1?e[0]:null,o=this.getCommonValue(e,s=>s.isVisible());this.eventService.dispatchEvent({type:"columnVisible",visible:o,columns:e,column:i,source:t})}getCommonValue(e,t){if(!e||e.length==0)return;let i=t(e[0]);for(let o=1;o<e.length;o++)if(i!==t(e[o]))return;return i}columnChanged(e,t,i){this.eventService.dispatchEvent({type:e,columns:t,column:t&&t.length==1?t[0]:null,source:i})}columnResized(e,t,i,o=null){e&&e.length&&this.eventService.dispatchEvent({type:"columnResized",columns:e,column:e.length===1?e[0]:null,flexColumns:o,finished:t,source:i})}},dp=class extends b{constructor(){super(...arguments),this.beanName="columnGetStateService"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService}getColumnState(){let e=this.columnModel.getColDefCols();if(K(e)||!this.columnModel.isAlive())return[];let i=this.columnModel.getAllCols().map(o=>this.createStateItemFromColumn(o));return this.orderColumnStateList(i),i}createStateItemFromColumn(e){let t=this.funcColsService.getRowGroupColumns(),i=this.funcColsService.getPivotColumns(),o=e.isRowGroupActive()?t.indexOf(e):null,s=e.isPivotActive()?i.indexOf(e):null,r=e.isValueActive()?e.getAggFunc():null,n=e.getSort()!=null?e.getSort():null,a=e.getSortIndex()!=null?e.getSortIndex():null,l=e.getFlex()!=null&&e.getFlex()>0?e.getFlex():null;return{colId:e.getColId(),width:e.getActualWidth(),hide:!e.isVisible(),pinned:e.getPinned(),sort:n,sortIndex:a,aggFunc:r,rowGroup:e.isRowGroupActive(),rowGroupIndex:o,pivot:e.isPivotActive(),pivotIndex:s,flex:l}}orderColumnStateList(e){let t=this.columnModel.getCols(),i=new Map(t.map((o,s)=>[o.getColId(),s]));e.sort((o,s)=>{let r=i.has(o.colId)?i.get(o.colId):-1,n=i.has(s.colId)?i.get(s.colId):-1;return r-n})}},up=class extends b{constructor(){super(...arguments),this.beanName="columnGroupStateService"}wireBeans(e){this.columnModel=e.columnModel,this.columnAnimationService=e.columnAnimationService,this.eventDispatcher=e.columnEventDispatcher,this.visibleColsService=e.visibleColsService}getColumnGroupState(){let e=[],t=this.columnModel.getColTree();return pt(null,t,i=>{ke(i)&&e.push({groupId:i.getGroupId(),open:i.isExpanded()})}),e}resetColumnGroupState(e){let t=this.columnModel.getColDefColTree();if(!t)return;let i=[];pt(null,t,o=>{if(ke(o)){let s=o.getColGroupDef(),r={groupId:o.getGroupId(),open:s?s.openByDefault:void 0};i.push(r)}}),this.setColumnGroupState(i,e)}setColumnGroupState(e,t){if(!this.columnModel.getColTree())return;this.columnAnimationService.start();let o=[];e.forEach(s=>{let r=s.groupId,n=s.open,a=this.columnModel.getProvidedColGroup(r);a&&a.isExpanded()!==n&&(a.setExpanded(n),o.push(a))}),this.visibleColsService.refresh(t,!0),o.length&&this.eventDispatcher.groupOpened(o),this.columnAnimationService.finish()}},hp=class extends b{constructor(){super(...arguments),this.beanName="columnViewportService",this.colsWithinViewport=[],this.headerColsWithinViewport=[],this.colsWithinViewportHash="",this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={}}wireBeans(e){this.visibleColsService=e.visibleColsService,this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher}postConstruct(){this.suppressColumnVirtualisation=this.gos.get("suppressColumnVirtualisation")}setScrollPosition(e,t,i=!1){let o=this.visibleColsService.isBodyWidthDirty();if(!(e===this.scrollWidth&&t===this.scrollPosition&&!o)){if(this.scrollWidth=e,this.scrollPosition=t,this.visibleColsService.setBodyWidthDirty(),this.gos.get("enableRtl")){let r=this.visibleColsService.getBodyContainerWidth();this.viewportLeft=r-this.scrollPosition-this.scrollWidth,this.viewportRight=r-this.scrollPosition}else this.viewportLeft=this.scrollPosition,this.viewportRight=this.scrollWidth+this.scrollPosition;this.columnModel.isReady()&&this.checkViewportColumns(i)}}getHeadersToRender(e,t){let i;switch(e){case"left":i=this.rowsOfHeadersToRenderLeft[t];break;case"right":i=this.rowsOfHeadersToRenderRight[t];break;default:i=this.rowsOfHeadersToRenderCenter[t];break}return i||[]}extractViewportColumns(){let e=this.visibleColsService.getCenterCols();this.isColumnVirtualisationSuppressed()?(this.colsWithinViewport=e,this.headerColsWithinViewport=e):(this.colsWithinViewport=e.filter(this.isColumnInRowViewport.bind(this)),this.headerColsWithinViewport=e.filter(this.isColumnInHeaderViewport.bind(this)))}isColumnVirtualisationSuppressed(){return this.suppressColumnVirtualisation||this.viewportRight===0}clear(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.colsWithinViewportHash=""}isColumnInHeaderViewport(e){return e.isAutoHeaderHeight()||this.isAnyParentAutoHeaderHeight(e)?!0:this.isColumnInRowViewport(e)}isAnyParentAutoHeaderHeight(e){for(;e;){if(e.isAutoHeaderHeight())return!0;e=e.getParent()}return!1}isColumnInRowViewport(e){if(e.isAutoHeight())return!0;let t=e.getLeft()||0,i=t+e.getActualWidth(),o=this.viewportLeft-200,s=this.viewportRight+200,r=t<o&&i<o,n=t>s&&i>s;return!r&&!n}getViewportColumns(){let e=this.visibleColsService.getLeftCols(),t=this.visibleColsService.getRightCols();return this.colsWithinViewport.concat(e).concat(t)}getColsWithinViewport(e){if(!this.columnModel.isColSpanActive())return this.colsWithinViewport;let t=s=>{let r=s.getLeft();return M(r)&&r>this.viewportLeft},i=this.isColumnVirtualisationSuppressed()?void 0:this.isColumnInRowViewport.bind(this),o=this.visibleColsService.getColsCenter();return this.visibleColsService.getColsForRow(e,o,i,t)}checkViewportColumns(e=!1){this.extractViewport()&&this.eventDispatcher.virtualColumnsChanged(e)}calculateHeaderRows(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={};let e={},t=this.visibleColsService.getLeftCols(),i=this.visibleColsService.getRightCols();this.headerColsWithinViewport.concat(t).concat(i).forEach(r=>e[r.getId()]=!0);let s=(r,n,a)=>{let l=!1;for(let c=0;c<r.length;c++){let d=r[c],u=!1;if(Et(d))u=e[d.getId()]===!0;else{let g=d.getDisplayedChildren();g&&(u=s(g,n,a+1))}u&&(l=!0,n[a]||(n[a]=[]),n[a].push(d))}return l};s(this.visibleColsService.getTreeLeft(),this.rowsOfHeadersToRenderLeft,0),s(this.visibleColsService.getTreeRight(),this.rowsOfHeadersToRenderRight,0),s(this.visibleColsService.getTreeCenter(),this.rowsOfHeadersToRenderCenter,0)}extractViewport(){let e=o=>`${o.getId()}-${o.getPinned()||"normal"}`;this.extractViewportColumns();let t=this.getViewportColumns().map(e).join("#"),i=this.colsWithinViewportHash!==t;return i&&(this.colsWithinViewportHash=t,this.calculateHeaderRows()),i}},gp=class extends b{constructor(){super(...arguments),this.beanName="agComponentUtils"}wireBeans(e){this.componentMetadataProvider=e.componentMetadataProvider}adaptFunction(e,t){let i=this.componentMetadataProvider.retrieve(e);return i&&i.functionAdapter?i.functionAdapter(t):null}adaptCellRendererFunction(e){class t{refresh(){return!1}getGui(){return this.eGui}init(o){let s=e(o),r=typeof s;if(r==="string"||r==="number"||r==="boolean"){this.eGui=Li("<span>"+s+"</span>");return}if(s==null){this.eGui=Li("<span></span>");return}this.eGui=s}}return t}doesImplementIComponent(e){return e?e.prototype&&"getGui"in e.prototype:!1}},pp=class extends b{constructor(){super(...arguments),this.beanName="componentMetadataProvider"}wireBeans(e){this.agComponentUtils=e.agComponentUtils}postConstruct(){this.componentMetaData={dateComponent:{mandatoryMethodList:["getDate","setDate"],optionalMethodList:["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled","onParamsUpdated","refresh"]},detailCellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},dragAndDropImageComponent:{mandatoryMethodList:["setIcon","setLabel"],optionalMethodList:[]},headerComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},headerGroupComponent:{mandatoryMethodList:[],optionalMethodList:[]},loadingCellRenderer:{mandatoryMethodList:[],optionalMethodList:[],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},loadingOverlayComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},noRowsOverlayComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},floatingFilterComponent:{mandatoryMethodList:["onParentModelChanged"],optionalMethodList:["afterGuiAttached","onParamsUpdated","refresh"]},cellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh","afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},cellEditor:{mandatoryMethodList:["getValue"],optionalMethodList:["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached","refresh"]},innerRenderer:{mandatoryMethodList:[],optionalMethodList:["afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},fullWidthCellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh","afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},groupRowRenderer:{mandatoryMethodList:[],optionalMethodList:["afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},filter:{mandatoryMethodList:["isFilterActive","doesFilterPass","getModel","setModel"],optionalMethodList:["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onFloatingFilterChanged","onAnyFilterChanged","refresh"]},statusPanel:{mandatoryMethodList:[],optionalMethodList:["refresh"]},toolPanel:{mandatoryMethodList:[],optionalMethodList:["refresh","getState"]},tooltipComponent:{mandatoryMethodList:[],optionalMethodList:[]},menuItem:{mandatoryMethodList:[],optionalMethodList:["setActive","select","setExpanded","configureDefaults"]}}}retrieve(e){return this.componentMetaData[e]}},fp=["rowPositionUtils","cellPositionUtils","headerPositionUtils","paginationAutoPageSizeService","apiFunctionService","gridApi","userComponentRegistry","agComponentUtils","componentMetadataProvider","resizeObserverService","userComponentFactory","rowContainerHeightService","horizontalResizeService","localeService","validationService","pinnedRowModel","dragService","visibleColsService","eventService","gos","popupService","selectionService","columnFilterService","quickFilterService","filterManager","columnModel","headerNavigationService","pageBoundsService","paginationService","pageBoundsListener","rowRenderer","expressionService","columnFactory","alignedGridsService","navigationService","valueCache","valueService","loggerFactory","autoWidthCalculator","filterMenuFactory","dragAndDropService","focusService","mouseEventService","environment","cellNavigationService","stylingService","scrollVisibleService","sortController","columnHoverService","columnAnimationService","selectableService","autoColService","controlsColService","changeDetectionService","animationFrameService","undoRedoService","columnDefFactory","rowCssClassCalculator","rowNodeBlockLoader","rowNodeSorter","ctrlsService","pinnedWidthService","rowNodeEventThrottle","ctrlsFactory","dataTypeService","syncService","overlayService","stateService","expansionService","apiEventService","ariaAnnouncementService","menuService","columnApplyStateService","columnEventDispatcher","columnMoveService","columnAutosizeService","columnGetStateService","columnGroupStateService","columnSizeService","funcColsService","columnNameService","columnViewportService","pivotResultColsService","showRowGroupColsService"],en=Object.fromEntries(fp.map((e,t)=>[e,t]));function mp(e,t){let i=(e.beanName?en[e.beanName]:void 0)??Number.MAX_SAFE_INTEGER,o=(t.beanName?en[t.beanName]:void 0)??Number.MAX_SAFE_INTEGER;return i-o}function vp(e,t){return e?.beanName==="gridDestroyService"?-1:0}var Cp=class extends b{constructor(){super(...arguments),this.beanName="ctrlsFactory",this.registry={}}register(e){this.registry[e.name]=e.classImp}getInstance(e,...t){let i=this.registry[e];if(i!=null)return new i(...t)}},wp=class extends b{constructor(){super(...arguments),this.beanName="ctrlsService",this.params={gridCtrl:void 0,gridBodyCtrl:void 0,center:void 0,left:void 0,right:void 0,bottomCenter:void 0,bottomLeft:void 0,bottomRight:void 0,topCenter:void 0,topLeft:void 0,topRight:void 0,stickyTopCenter:void 0,stickyTopLeft:void 0,stickyTopRight:void 0,stickyBottomCenter:void 0,stickyBottomLeft:void 0,stickyBottomRight:void 0,fakeHScrollComp:void 0,fakeVScrollComp:void 0,gridHeaderCtrl:void 0,centerHeader:void 0,leftHeader:void 0,rightHeader:void 0},this.ready=!1,this.readyCallbacks=[],this.runReadyCallbacksAsync=!1}wireBeans(e){this.runReadyCallbacksAsync=e.frameworkOverrides.runWhenReadyAsync?.()??!1}postConstruct(){this.addEventListener("ready",()=>{this.updateReady(),this.ready&&(this.readyCallbacks.forEach(e=>e(this.params)),this.readyCallbacks.length=0)},this.runReadyCallbacksAsync)}updateReady(){this.ready=Object.values(this.params).every(e=>e?.isAlive()??!1)}whenReady(e,t){this.ready?t(this.params):this.readyCallbacks.push(t),e.addDestroyFunc(()=>{let i=this.readyCallbacks.indexOf(t);i>=0&&this.readyCallbacks.splice(i,1)})}register(e,t){this.params[e]=t,this.updateReady(),this.ready&&this.dispatchLocalEvent({type:"ready"}),t.addDestroyFunc(()=>{this.updateReady()})}get(e){return this.params[e]}getGridBodyCtrl(){return this.params.gridBodyCtrl}getHeaderRowContainerCtrls(){let{leftHeader:e,centerHeader:t,rightHeader:i}=this.params;return[e,i,t]}getHeaderRowContainerCtrl(e){let t=this.params;switch(e){case"left":return t.leftHeader;case"right":return t.rightHeader;default:return t.centerHeader}}},yp=class extends b{constructor(){super(...arguments),this.beanName="cellPositionUtils"}createId(e){let{rowIndex:t,rowPinned:i,column:o}=e;return this.createIdFromValues({rowIndex:t,column:o,rowPinned:i})}createIdFromValues(e){let{rowIndex:t,rowPinned:i,column:o}=e;return`${t}.${i??"null"}.${o.getId()}`}equals(e,t){let i=e.column===t.column,o=e.rowPinned===t.rowPinned,s=e.rowIndex===t.rowIndex;return i&&o&&s}},bp=class extends b{constructor(){super(...arguments),this.beanName="rowNodeEventThrottle",this.events=[]}wireBeans(e){this.animationFrameService=e.animationFrameService,this.rowModel=e.rowModel}postConstruct(){de(this.gos)&&(this.clientSideRowModel=this.rowModel)}dispatchExpanded(e,t){if(this.clientSideRowModel==null){this.eventService.dispatchEvent(e);return}this.events.push(e);let i=()=>{this.clientSideRowModel&&this.clientSideRowModel.onRowGroupOpened(),this.events.forEach(o=>this.eventService.dispatchEvent(o)),this.events=[]};t?i():(this.dispatchExpandedDebounced==null&&(this.dispatchExpandedDebounced=this.animationFrameService.debounce(i)),this.dispatchExpandedDebounced())}},Sp=class extends b{constructor(){super(...arguments),this.beanName="rowPositionUtils"}wireBeans(e){this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.pageBoundsService=e.pageBoundsService}getFirstRow(){let e=0,t;return this.pinnedRowModel.getPinnedTopRowCount()?t="top":this.rowModel.getRowCount()?(t=null,e=this.pageBoundsService.getFirstRow()):this.pinnedRowModel.getPinnedBottomRowCount()&&(t="bottom"),t===void 0?null:{rowIndex:e,rowPinned:t}}getLastRow(){let e,t=null,i=this.pinnedRowModel.getPinnedBottomRowCount(),o=this.pinnedRowModel.getPinnedTopRowCount();return i?(t="bottom",e=i-1):this.rowModel.getRowCount()?(t=null,e=this.pageBoundsService.getLastRow()):o&&(t="top",e=o-1),e===void 0?null:{rowIndex:e,rowPinned:t}}getRowNode(e){switch(e.rowPinned){case"top":return this.pinnedRowModel.getPinnedTopRow(e.rowIndex);case"bottom":return this.pinnedRowModel.getPinnedBottomRow(e.rowIndex);default:return this.rowModel.getRow(e.rowIndex)}}sameRow(e,t){return!e&&!t?!0:e&&!t||!e&&t?!1:e.rowIndex===t.rowIndex&&e.rowPinned==t.rowPinned}before(e,t){switch(e.rowPinned){case"top":if(t.rowPinned!=="top")return!0;break;case"bottom":if(t.rowPinned!=="bottom")return!1;break;default:if(M(t.rowPinned))return t.rowPinned!=="top";break}return e.rowIndex<t.rowIndex}},tn={cssName:"--ag-row-height",changeKey:"rowHeightChanged",defaultValue:42},on={cssName:"--ag-header-height",changeKey:"headerHeightChanged",defaultValue:48},sn={cssName:"--ag-list-item-height",changeKey:"listItemHeightChanged",defaultValue:24},Rp=class extends b{constructor(){super(...arguments),this.beanName="environment",this.sizeEls=new Map,this.lastKnownValues=new Map,this.ancestorThemeClasses=[],this.sizesMeasured=!1,this.gridTheme=null}wireBeans(e){this.resizeObserverService=e.resizeObserverService,this.eGridDiv=e.eGridDiv}postConstruct(){this.addManagedPropertyListener("theme",()=>this.handleThemeGridOptionChange()),this.handleThemeGridOptionChange(),this.addDestroyFunc(()=>this.stopUsingTheme()),this.addManagedPropertyListener("rowHeight",()=>this.refreshRowHeightVariable()),this.ancestorThemeClasses=this.readAncestorThemeClasses(),this.setUpThemeClassObservers(),this.getSizeEl(tn),this.getSizeEl(on),this.getSizeEl(sn)}getDefaultRowHeight(){return this.getCSSVariablePixelValue(tn)}getDefaultHeaderHeight(){return this.getCSSVariablePixelValue(on)}getDefaultColumnMinWidth(){return Math.min(36,this.getDefaultRowHeight())}getDefaultListItemHeight(){return this.getCSSVariablePixelValue(sn)}hasMeasuredSizes(){return this.sizesMeasured}getGridThemeClass(){return this.gridTheme?.getCssClass()||null}getThemeClasses(){return this.gridTheme?[this.gridTheme.getCssClass()]:this.ancestorThemeClasses}applyThemeClasses(e){let t=this.getThemeClasses();for(let i of Array.from(e.classList))i.startsWith("ag-theme-")&&!t.includes(i)&&e.classList.remove(i);e.classList.add(...t)}refreshRowHeightVariable(){let e=this.eGridDiv.style.getPropertyValue("--ag-line-height").trim(),t=this.gos.get("rowHeight");if(t==null||isNaN(t)||!isFinite(t))return e!==null&&this.eGridDiv.style.setProperty("--ag-line-height",null),-1;let i=`${t}px`;return e!=i?(this.eGridDiv.style.setProperty("--ag-line-height",i),t):e!=""?parseFloat(e):-1}getCSSVariablePixelValue(e){let t=this.lastKnownValues.get(e);if(t!=null)return t;let i=this.measureSizeEl(e);return i==="detached"||i==="no-styles"?e.defaultValue:(this.lastKnownValues.set(e,i),i)}measureSizeEl(e){let t=this.getSizeEl(e);if(t.offsetParent==null)return"detached";let i=t.offsetWidth;return i===rn?"no-styles":(this.sizesMeasured=!0,i)}getSizeEl(e){let t=this.sizeEls.get(e);if(t)return t;let i=this.eMeasurementContainer;i||(i=this.eMeasurementContainer=document.createElement("div"),i.className="ag-measurement-container",this.gos.get("theme")&&this.applyThemeClasses(i),this.eGridDiv.appendChild(i)),t=document.createElement("div"),t.style.width=`var(${e.cssName}, ${rn}px)`,i.appendChild(t),this.sizeEls.set(e,t);let o=this.measureSizeEl(e);o==="no-styles"&&S(`no value for ${e.cssName}. This usually means that the grid has been initialised before styles have been loaded. The default value of ${e.defaultValue} will be used and updated when styles load.`);let s=this.resizeObserverService.observeResize(t,()=>{let r=this.measureSizeEl(e);r==="detached"||r==="no-styles"||(this.lastKnownValues.set(e,r),r!==o&&(o=r,this.fireGridStylesChangedEvent(e.changeKey)))});return this.addDestroyFunc(()=>s()),t}fireGridStylesChangedEvent(e){this.eventService.dispatchEvent({type:"gridStylesChanged",[e]:!0})}setUpThemeClassObservers(){let e=new MutationObserver(()=>{let i=this.readAncestorThemeClasses();Fp(i,this.ancestorThemeClasses)||(this.ancestorThemeClasses=i,this.fireGridStylesChangedEvent("themeChanged"))}),t=this.eGridDiv;for(;t;)e.observe(t||this.eGridDiv,{attributes:!0,attributeFilter:["class"]}),t=t.parentElement;this.addDestroyFunc(()=>e.disconnect())}readAncestorThemeClasses(){let e=this.eGridDiv,t=[];for(;e;){let i=Array.from(e.classList).filter(o=>o.startsWith("ag-theme-"));for(let o of i)t.includes(o)||t.unshift(o);e=e.parentElement}return Object.freeze(t)}handleThemeGridOptionChange(){let{gos:e,eMeasurementContainer:t,gridTheme:i}=this,o=e.get("theme")||null;o!==i&&(i?.stopUse(),this.gridTheme=o,o?.startUse({loadThemeGoogleFonts:e.get("loadThemeGoogleFonts"),container:this.eGridDiv}),t&&this.applyThemeClasses(t),this.fireGridStylesChangedEvent("themeChanged"))}stopUsingTheme(){this.gridTheme?.stopUse(),this.gridTheme=null}},Fp=(e,t)=>e.length===t.length&&e.findIndex((i,o)=>e[o]!==t[o])===-1,rn=15538,xp=class extends b{constructor(){super(...arguments),this.beanName="eventService",this.globalEventService=new ri}wireBeans(e){this.globalEventListener=e.globalEventListener,this.globalSyncEventListener=e.globalSyncEventListener}postConstruct(){if(this.globalEventListener){let e=oo(this.gos);this.addGlobalListener(this.globalEventListener,e)}this.globalSyncEventListener&&this.addGlobalListener(this.globalSyncEventListener,!1)}addEventListener(e,t,i){this.globalEventService.addEventListener(e,t,i)}removeEventListener(e,t,i){this.globalEventService.removeEventListener(e,t,i)}addGlobalListener(e,t=!1){this.globalEventService.addGlobalListener(e,t)}removeGlobalListener(e,t=!1){this.globalEventService.removeGlobalListener(e,t)}dispatchLocalEvent(){}dispatchEvent(e){this.globalEventService.dispatchEvent(this.gos.addGridCommonParams(e))}dispatchEventOnce(e){this.globalEventService.dispatchEventOnce(this.gos.addGridCommonParams(e))}},Js=class Ve extends b{constructor(){super(...arguments),this.beanName="focusService"}wireBeans(t){this.eGridDiv=t.eGridDiv,this.columnModel=t.columnModel,this.visibleColsService=t.visibleColsService,this.headerNavigationService=t.headerNavigationService,this.headerPositionUtils=t.headerPositionUtils,this.rowRenderer=t.rowRenderer,this.rowPositionUtils=t.rowPositionUtils,this.cellPositionUtils=t.cellPositionUtils,this.navigationService=t.navigationService,this.ctrlsService=t.ctrlsService,this.filterManager=t.filterManager,this.rangeService=t.rangeService,this.advancedFilterService=t.advancedFilterService,this.overlayService=t.overlayService}static addKeyboardModeEvents(t){this.instanceCount>0||(t.addEventListener("keydown",Ve.toggleKeyboardMode),t.addEventListener("mousedown",Ve.toggleKeyboardMode))}static removeKeyboardModeEvents(t){this.instanceCount>0||(t.removeEventListener("keydown",Ve.toggleKeyboardMode),t.removeEventListener("mousedown",Ve.toggleKeyboardMode))}static toggleKeyboardMode(t){let i=Ve.keyboardModeActive,o=t.type==="keydown";o&&(t.ctrlKey||t.metaKey||t.altKey)||i!==o&&(Ve.keyboardModeActive=o)}postConstruct(){let t=this.clearFocusedCell.bind(this);this.addManagedEventListeners({columnPivotModeChanged:t,newColumnsLoaded:this.onColumnEverythingChanged.bind(this),columnGroupOpened:t,columnRowGroupChanged:t}),this.registerKeyboardFocusEvents(),this.ctrlsService.whenReady(this,i=>{this.gridCtrl=i.gridCtrl})}registerKeyboardFocusEvents(){let t=ve(this.gos);Ve.addKeyboardModeEvents(t),Ve.instanceCount++,this.addDestroyFunc(()=>{Ve.instanceCount--,Ve.removeKeyboardModeEvents(t)})}onColumnEverythingChanged(){if(!this.focusedCellPosition)return;let t=this.focusedCellPosition.column,i=this.columnModel.getCol(t.getId());t!==i&&this.clearFocusedCell()}isKeyboardMode(){return Ve.keyboardModeActive}getFocusCellToUseAfterRefresh(){return this.gos.get("suppressFocusAfterRefresh")||!this.focusedCellPosition||this.isDomDataMissingInHierarchy(fe(this.gos),Bt.DOM_DATA_KEY_ROW_CTRL)?null:this.focusedCellPosition}getFocusHeaderToUseAfterRefresh(){return this.gos.get("suppressFocusAfterRefresh")||!this.focusedHeaderPosition||this.isDomDataMissingInHierarchy(fe(this.gos),Ro.DOM_DATA_KEY_HEADER_CTRL)?null:this.focusedHeaderPosition}isDomDataMissingInHierarchy(t,i){let o=t;for(;o;){if(Di(this.gos,o,i))return!1;o=o.parentNode}return!0}getFocusedCell(){return this.focusedCellPosition}shouldRestoreFocus(t){return this.isCellRestoreFocused(t)?(setTimeout(()=>{this.restoredFocusedCellPosition=null},0),!0):!1}clearRestoreFocus(){this.restoredFocusedCellPosition=null,this.awaitRestoreFocusedCell=!1}restoreFocusedCell(t,i){this.awaitRestoreFocusedCell=!0,setTimeout(()=>{this.awaitRestoreFocusedCell&&(this.setRestoreFocusedCell(t),i())})}isCellRestoreFocused(t){return this.restoredFocusedCellPosition==null?!1:this.cellPositionUtils.equals(t,this.restoredFocusedCellPosition)}setRestoreFocusedCell(t){this.getFrameworkOverrides().renderingEngine==="react"&&(this.restoredFocusedCellPosition=t)}getFocusEventParams(t){let{rowIndex:i,rowPinned:o,column:s}=t,r={rowIndex:i,rowPinned:o,column:s,isFullWidthCell:!1},n=this.rowRenderer.getRowByPosition({rowIndex:i,rowPinned:o});return n&&(r.isFullWidthCell=n.isFullWidth()),r}clearFocusedCell(){if(this.restoredFocusedCellPosition=null,this.focusedCellPosition==null)return;let t=this.getFocusEventParams(this.focusedCellPosition);this.focusedCellPosition=null,this.eventService.dispatchEvent({type:"cellFocusCleared",...t})}setFocusedCell(t){let{column:i,rowIndex:o,rowPinned:s,forceBrowserFocus:r=!1,preventScrollOnBrowserFocus:n=!1}=t,a=this.columnModel.getCol(i);if(!a){this.focusedCellPosition=null;return}this.focusedCellPosition={rowIndex:o,rowPinned:dt(s),column:a},this.eventService.dispatchEvent({type:"cellFocused",...this.getFocusEventParams(this.focusedCellPosition),forceBrowserFocus:r,preventScrollOnBrowserFocus:n})}isCellFocused(t){return this.focusedCellPosition==null?!1:this.cellPositionUtils.equals(t,this.focusedCellPosition)}isRowNodeFocused(t){return this.isRowFocused(t.rowIndex,t.rowPinned)}isHeaderWrapperFocused(t){if(this.focusedHeaderPosition==null)return!1;let i=t.getColumnGroupChild(),o=t.getRowIndex(),s=t.getPinned(),{column:r,headerRowIndex:n}=this.focusedHeaderPosition;return i===r&&o===n&&s==r.getPinned()}clearFocusedHeader(){this.focusedHeaderPosition=null}getFocusedHeader(){return this.focusedHeaderPosition}setFocusedHeader(t,i){this.focusedHeaderPosition={headerRowIndex:t,column:i}}isHeaderFocusSuppressed(){return this.gos.get("suppressHeaderFocus")||this.overlayService.isExclusive()}isCellFocusSuppressed(){return this.gos.get("suppressCellFocus")||this.overlayService.isExclusive()}focusHeaderPosition(t){if(this.isHeaderFocusSuppressed())return!1;let{direction:i,fromTab:o,allowUserOverride:s,event:r,fromCell:n,rowWithoutSpanValue:a}=t,{headerPosition:l}=t;if(n&&this.filterManager?.isAdvancedFilterHeaderActive())return this.focusAdvancedFilter(l);if(s){let c=this.getFocusedHeader(),d=this.headerNavigationService.getHeaderRowCount();if(o){let u=this.gos.getCallback("tabToNextHeader");u&&(l=this.getHeaderPositionFromUserFunc({userFunc:u,direction:i,currentPosition:c,headerPosition:l,headerRowCount:d}))}else{let u=this.gos.getCallback("navigateToNextHeader");if(u&&r){let h={key:r.key,previousHeaderPosition:c,nextHeaderPosition:l,headerRowCount:d,event:r};l=u(h)}}}return l?this.focusProvidedHeaderPosition({headerPosition:l,direction:i,event:r,fromCell:n,rowWithoutSpanValue:a}):!1}focusHeaderPositionFromUserFunc(t){if(this.isHeaderFocusSuppressed())return!1;let{userFunc:i,headerPosition:o,direction:s,event:r}=t,n=this.getFocusedHeader(),a=this.headerNavigationService.getHeaderRowCount(),l=this.getHeaderPositionFromUserFunc({userFunc:i,direction:s,currentPosition:n,headerPosition:o,headerRowCount:a});return!!l&&this.focusProvidedHeaderPosition({headerPosition:l,direction:s,event:r})}getHeaderPositionFromUserFunc(t){let{userFunc:i,direction:o,currentPosition:s,headerPosition:r,headerRowCount:n}=t,l=i({backwards:o==="Before",previousHeaderPosition:s,nextHeaderPosition:r,headerRowCount:n});return l===!0||l===null?(l===null&&S("Since v31.3 Returning `null` from tabToNextHeader is deprecated. Return `true` to stay on the current header, or `false` to let the browser handle the tab behaviour."),s):l===!1?null:l}focusProvidedHeaderPosition(t){let{headerPosition:i,direction:o,fromCell:s,rowWithoutSpanValue:r,event:n}=t,{column:a,headerRowIndex:l}=i;if(l===-1)return this.filterManager?.isAdvancedFilterHeaderActive()?this.focusAdvancedFilter(i):this.focusGridView(a);this.headerNavigationService.scrollToColumn(a,o);let d=this.ctrlsService.getHeaderRowContainerCtrl(a.getPinned())?.focusHeader(i.headerRowIndex,a,n)||!1;return d&&(r!=null||s)&&this.headerNavigationService.setCurrentHeaderRowWithoutSpan(r??-1),d}focusFirstHeader(){if(this.overlayService.isExclusive()&&this.focusOverlay())return!0;let t=this.visibleColsService.getAllCols()[0];if(!t)return!1;t.getParent()&&(t=this.visibleColsService.getColGroupAtLevel(t,0));let i=this.headerPositionUtils.getHeaderIndexToFocus(t,0);return this.focusHeaderPosition({headerPosition:i,rowWithoutSpanValue:0})}focusLastHeader(t){if(this.overlayService.isExclusive()&&this.focusOverlay(!0))return!0;let i=this.headerNavigationService.getHeaderRowCount()-1,o=$(this.visibleColsService.getAllCols());return this.focusHeaderPosition({headerPosition:{headerRowIndex:i,column:o},rowWithoutSpanValue:-1,event:t})}focusPreviousFromFirstCell(t){return this.filterManager?.isAdvancedFilterHeaderActive()?this.focusAdvancedFilter(null):this.focusLastHeader(t)}isAnyCellFocused(){return!!this.focusedCellPosition}isRowFocused(t,i){return this.focusedCellPosition==null?!1:this.focusedCellPosition.rowIndex===t&&this.focusedCellPosition.rowPinned===dt(i)}findFocusableElements(t,i,o=!1){let s=Mc,r=Ln;i&&(r+=", "+i),o&&(r+=', [tabindex="-1"]');let n=Array.prototype.slice.apply(t.querySelectorAll(s)).filter(c=>rt(c)),a=Array.prototype.slice.apply(t.querySelectorAll(r));return a.length?((c,d)=>c.filter(u=>d.indexOf(u)===-1))(n,a):n}focusInto(t,i=!1,o=!1){let s=this.findFocusableElements(t,null,o),r=i?$(s):s[0];return r?(r.focus({preventScroll:!0}),!0):!1}findFocusableElementBeforeTabGuard(t,i){if(!i)return null;let o=this.findFocusableElements(t),s=o.indexOf(i);if(s===-1)return null;let r=-1;for(let n=s-1;n>=0;n--)if(o[n].classList.contains("ag-tab-guard-top")){r=n;break}return r<=0?null:o[r-1]}findNextFocusableElement(t=this.eGridDiv,i,o){let s=this.findFocusableElements(t,i?':not([tabindex="-1"])':null),r=fe(this.gos),n;i?n=s.findIndex(l=>l.contains(r)):n=s.indexOf(r);let a=n+(o?-1:1);return a<0||a>=s.length?null:s[a]}isTargetUnderManagedComponent(t,i){if(!i)return!1;let o=t.querySelectorAll(`.${jt.FOCUS_MANAGED_CLASS}`);if(!o.length)return!1;for(let s=0;s<o.length;s++)if(o[s].contains(i))return!0;return!1}findTabbableParent(t,i=5){let o=0;for(;t&&cs(t)===null&&++o<=i;)t=t.parentElement;return cs(t)===null?null:t}focusOverlay(t){let i=this.overlayService.isVisible()&&this.overlayService.getOverlayWrapper()?.getGui();return!!i&&this.focusInto(i,t)}focusGridViewFailed(t,i){return i&&this.focusOverlay(t)||t&&this.focusLastHeader()}focusGridView(t,i=!1,o=!0){if(this.overlayService.isExclusive())return o&&this.focusOverlay(i);if(this.isCellFocusSuppressed())return i&&!this.isHeaderFocusSuppressed()?this.focusLastHeader():o&&this.focusOverlay(i)?!0:this.focusNextGridCoreContainer(!1);let s=i?this.rowPositionUtils.getLastRow():this.rowPositionUtils.getFirstRow();if(s){let{rowIndex:r,rowPinned:n}=s;if(t??(t=this.getFocusedHeader()?.column),t&&r!==void 0&&r!==null)return this.navigationService.ensureCellVisible({rowIndex:r,column:t,rowPinned:n}),i&&this.rowRenderer.getRowByPosition(s)?.isFullWidth()&&this.navigationService.tryToFocusFullWidthRow(s,i)||(this.setFocusedCell({rowIndex:r,column:t,rowPinned:dt(n),forceBrowserFocus:!0}),this.rangeService?.setRangeToCell({rowIndex:r,rowPinned:n,column:t})),!0}return!!(o&&this.focusOverlay(i)||i&&this.focusLastHeader())}isGridFocused(){let t=fe(this.gos);return!!t&&this.eGridDiv.contains(t)}focusNextGridCoreContainer(t,i=!1){return!i&&this.gridCtrl.focusNextInnerContainer(t)?!0:((i||!t&&!this.gridCtrl.isDetailGrid())&&this.gridCtrl.forceFocusOutOfContainer(t),!1)}focusAdvancedFilter(t){return this.advancedFilterFocusColumn=t?.column,this.advancedFilterService?.getCtrl().focusHeaderComp()??!1}focusNextFromAdvancedFilter(t,i){let o=(i?void 0:this.advancedFilterFocusColumn)??this.visibleColsService.getAllCols()?.[0];return t?this.focusHeaderPosition({headerPosition:{column:o,headerRowIndex:this.headerNavigationService.getHeaderRowCount()-1}}):this.focusGridView(o)}clearAdvancedFilterColumn(){this.advancedFilterFocusColumn=void 0}addFocusableContainer(t){this.gridCtrl.addFocusableContainer(t)}removeFocusableContainer(t){this.gridCtrl.removeFocusableContainer(t)}focusGridInnerElement(t){return this.gridCtrl.focusInnerElement(t)}allowFocusForNextGridCoreContainer(t){this.gridCtrl.allowFocusForNextCoreContainer(t)}};Js.keyboardModeActive=!1;Js.instanceCount=0;var Dp=Js,Ep=class extends b{constructor(){super(...arguments),this.beanName="pinnedWidthService"}wireBeans(e){this.visibleColsService=e.visibleColsService}postConstruct(){let e=this.checkContainerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}checkContainerWidths(){let e=Re(this.gos,"print"),t=e?0:this.visibleColsService.getColsLeftWidth(),i=e?0:this.visibleColsService.getDisplayedColumnsRightWidth();t!=this.leftWidth&&(this.leftWidth=t,this.eventService.dispatchEvent({type:"leftPinnedWidthChanged"})),i!=this.rightWidth&&(this.rightWidth=i,this.eventService.dispatchEvent({type:"rightPinnedWidthChanged"}))}getPinnedRightWidth(){return this.rightWidth}getPinnedLeftWidth(){return this.leftWidth}},Ya=class extends b{constructor(){super(...arguments),this.additionalFocusableContainers=new Set}wireBeans(e){this.beans=e,this.focusService=e.focusService,this.visibleColsService=e.visibleColsService}setComp(e,t,i){this.view=e,this.eGridHostDiv=t,this.eGui=i,this.eGui.setAttribute("grid-id",this.beans.context.getGridId());let{dragAndDropService:o,mouseEventService:s,ctrlsService:r,resizeObserverService:n}=this.beans,a={getContainer:()=>this.eGui,isInterestedIn:c=>c===1||c===0,getIconName:()=>"notAllowed"};o.addDropTarget(a),this.addDestroyFunc(()=>o.removeDropTarget(a)),s.stampTopLevelGridCompWithGridInstance(t),this.createManagedBean(new $s(this.view)),this.view.setRtlClass(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr"),this.updateGridThemeClass(),this.addManagedEventListeners({gridStylesChanged:this.handleThemeChange.bind(this)});let l=n.observeResize(this.eGridHostDiv,this.onGridSizeChanged.bind(this));this.addDestroyFunc(()=>l()),r.register("gridCtrl",this)}isDetailGrid(){return this.focusService.findTabbableParent(this.getGui())?.getAttribute("row-id")?.startsWith("detail")||!1}getOptionalSelectors(){let e=this.beans;return{paginationSelector:e.paginationService?.getPaginationSelector(),gridHeaderDropZonesSelector:e.columnDropZonesService?.getDropZoneSelector(),sideBarSelector:e.sideBarService?.getSideBarSelector(),statusBarSelector:e.statusBarService?.getStatusPanelSelector(),watermarkSelector:e.licenseManager?.getWatermarkSelector()}}onGridSizeChanged(){this.eventService.dispatchEvent({type:"gridSizeChanged",clientWidth:this.eGridHostDiv.clientWidth,clientHeight:this.eGridHostDiv.clientHeight})}destroyGridUi(){this.view.destroyGridUi()}getGui(){return this.eGui}setResizeCursor(e){this.view.setCursor(e?"ew-resize":null)}disableUserSelect(e){this.view.setUserSelect(e?"none":null)}focusNextInnerContainer(e){let t=this.getFocusableContainers(),{indexWithFocus:i,nextIndex:o}=this.getNextFocusableIndex(t,e);if(o<0||o>=t.length)return!1;if(o===0){if(i>0){let s=this.visibleColsService.getAllCols(),r=$(s);if(this.focusService.focusGridView(r,!0))return!0}return!1}return this.focusContainer(t[o],e)}focusInnerElement(e){let t=this.gos.getCallback("focusGridInnerElement");if(t&&t({fromBottom:!!e}))return!0;let i=this.getFocusableContainers(),o=this.visibleColsService.getAllCols();if(e){if(i.length>1)return this.focusContainer($(i),!0);let s=$(o);if(this.focusService.focusGridView(s,!0))return!0}if(this.gos.get("headerHeight")===0||this.focusService.isHeaderFocusSuppressed()){if(this.focusService.focusGridView(o[0]))return!0;for(let s=1;s<i.length;s++)if(this.focusService.focusInto(i[s].getGui()))return!0;return!1}return this.focusService.focusFirstHeader()}forceFocusOutOfContainer(e=!1){this.view.forceFocusOutOfContainer(e)}addFocusableContainer(e){this.additionalFocusableContainers.add(e)}removeFocusableContainer(e){this.additionalFocusableContainers.delete(e)}allowFocusForNextCoreContainer(e){let t=this.view.getFocusableContainers(),{nextIndex:i,indexWithFocus:o}=this.getNextFocusableIndex(t,e);if(o===-1||i<0||i>=t.length)return;let s=t[i];s.setAllowFocus?.(!0),setTimeout(()=>{s.setAllowFocus?.(!1)})}getNextFocusableIndex(e,t){let i=fe(this.gos),o=e.findIndex(r=>r.getGui().contains(i)),s=o+(t?-1:1);return{indexWithFocus:o,nextIndex:s}}focusContainer(e,t){e.setAllowFocus?.(!0);let i=this.focusService.focusInto(e.getGui(),t);return e.setAllowFocus?.(!1),i}getFocusableContainers(){return[...this.view.getFocusableContainers(),...this.additionalFocusableContainers]}updateGridThemeClass(){let e=this.beans.environment.getGridThemeClass();e&&this.view.setGridThemeClass(e)}handleThemeChange(e){e.themeChanged&&this.updateGridThemeClass()}destroy(){this.additionalFocusableContainers.clear(),super.destroy()}};var Mp=class extends b{constructor(){super(...arguments),this.beanName="alignedGridsService",this.consuming=!1}wireBeans(e){this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.ctrlsService=e.ctrlsService,this.columnApplyStateService=e.columnApplyStateService}getAlignedGridApis(){let e=this.gos.get("alignedGrids")??[],t=typeof e=="function";typeof e=="function"&&(e=e());let i=()=>`See ${this.getFrameworkOverrides().getDocLink("aligned-grids")}`;return e.map(s=>{if(!s){Q("alignedGrids contains an undefined option."),t||Q(`You may want to configure via a callback to avoid setup race conditions:
|
|
139
|
-
"alignedGrids: () => [linkedGrid]"`),Q(i());return}if(this.isGridApi(s))return s;let r=s;return"current"in r?r.current?.api:(r.api||Q(`alignedGrids - No api found on the linked grid. If you are passing gridOptions to alignedGrids since v31 this is no longer valid. ${i()}`),r.api)}).filter(s=>!!s&&!s.isDestroyed())}isGridApi(e){return!!e&&!!e.dispatchEvent}postConstruct(){let e=this.fireColumnEvent.bind(this);this.addManagedEventListeners({columnMoved:e,columnVisible:e,columnPinned:e,columnGroupOpened:e,columnResized:e,bodyScroll:this.fireScrollEvent.bind(this),alignedGridColumn:({event:t})=>this.onColumnEvent(t),alignedGridScroll:({event:t})=>this.onScrollEvent(t)})}fireEvent(e){this.consuming||this.getAlignedGridApis().forEach(t=>{t.isDestroyed()||t.dispatchEvent(e)})}onEvent(e){this.consuming=!0,e(),this.consuming=!1}fireColumnEvent(e){this.fireEvent({type:"alignedGridColumn",event:e})}fireScrollEvent(e){e.direction==="horizontal"&&this.fireEvent({type:"alignedGridScroll",event:e})}onScrollEvent(e){this.onEvent(()=>{this.ctrlsService.getGridBodyCtrl().getScrollFeature().setHorizontalScrollPosition(e.left,!0)})}extractDataFromEvent(e,t){let i=[];return e.columns?e.columns.forEach(o=>{i.push(t(o))}):e.column&&i.push(t(e.column)),i}getMasterColumns(e){return this.extractDataFromEvent(e,t=>t)}getColumnIds(e){return this.extractDataFromEvent(e,t=>t.getColId())}onColumnEvent(e){this.onEvent(()=>{switch(e.type){case"columnMoved":case"columnVisible":case"columnPinned":case"columnResized":{this.processColumnEvent(e);break}case"columnGroupOpened":{this.processGroupOpenedEvent(e);break}case"columnPivotChanged":S("pivoting is not supported with aligned grids. You can only use one of these features at a time in a grid.");break}})}processGroupOpenedEvent(e){let{columnModel:t}=this;e.columnGroups.forEach(i=>{let o=null;i&&(o=t.getProvidedColGroup(i.getGroupId())),!(i&&!o)&&t.setColumnGroupOpened(o,i.isExpanded(),"alignedGridChanged")})}processColumnEvent(e){let t=e.column,i=null;if(t&&(i=this.columnModel.getColDefCol(t.getColId())),t&&!i)return;let o=this.getMasterColumns(e),{columnApplyStateService:s,columnSizeService:r,ctrlsService:n}=this;switch(e.type){case"columnMoved":{let d=e.api.getColumnState().map(u=>({colId:u.colId}));s.applyColumnState({state:d,applyOrder:!0},"alignedGridChanged")}break;case"columnVisible":{let d=e.api.getColumnState().map(u=>({colId:u.colId,hide:u.hide}));s.applyColumnState({state:d},"alignedGridChanged")}break;case"columnPinned":{let d=e.api.getColumnState().map(u=>({colId:u.colId,pinned:u.pinned}));s.applyColumnState({state:d},"alignedGridChanged")}break;case"columnResized":{let c=e,d={};o.forEach(u=>{d[u.getId()]={key:u.getColId(),newWidth:u.getActualWidth()}}),c.flexColumns?.forEach(u=>{d[u.getId()]&&delete d[u.getId()]}),r.setColumnWidths(Object.values(d),!1,c.finished,"alignedGridChanged");break}}let l=n.getGridBodyCtrl().isVerticalScrollShowing();this.getAlignedGridApis().forEach(c=>{c.setGridOption("alwaysShowVerticalScroll",l)})}},Pp={version:B,moduleName:"@ag-grid-community/aligned-grid",beans:[Mp]};function Tp(e,t){let i=e.columnModel.getColDefCol(t);return i?i.getColDef():null}function Ap(e){return e.columnModel.getColumnDefs()}function kp(e,t){typeof t=="number"?e.columnSizeService.sizeColumnsToFit(t,"api"):e.ctrlsService.getGridBodyCtrl().sizeColumnsToFit(t)}function Ip(e,t,i){e.columnModel.setColumnGroupOpened(t,i,"api")}function Lp(e,t,i){return e.visibleColsService.getColumnGroup(t,i)}function Op(e,t){return e.columnModel.getProvidedColGroup(t)}function Gp(e,t,i){return e.columnNameService.getDisplayNameForColumn(t,i)||""}function Np(e,t,i){return e.columnNameService.getDisplayNameForColumnGroup(t,i)||""}function Hp(e,t){return e.columnModel.getColDefCol(t)}function zp(e){return e.columnModel.getColDefCols()}function Bp(e,t){return e.columnApplyStateService.applyColumnState(t,"api")}function Vp(e){return e.columnGetStateService.getColumnState()}function Wp(e){e.columnApplyStateService.resetColumnState("api")}function Up(e){return e.columnGroupStateService.getColumnGroupState()}function _p(e,t){e.columnGroupStateService.setColumnGroupState(t,"api")}function jp(e){e.columnGroupStateService.resetColumnGroupState("api")}function Kp(e){return e.visibleColsService.isPinningLeft()||e.visibleColsService.isPinningRight()}function Yp(e){return e.visibleColsService.isPinningLeft()}function $p(e){return e.visibleColsService.isPinningRight()}function Qp(e,t){return e.visibleColsService.getColAfter(t)}function qp(e,t){return e.visibleColsService.getColBefore(t)}function Jp(e,t,i){e.columnModel.setColsVisible([t],i,"api")}function Xp(e,t,i){e.columnModel.setColsVisible(t,i,"api")}function Zp(e,t,i){e.columnModel.setColsPinned([t],i,"api")}function ef(e,t,i){e.columnModel.setColsPinned(t,i,"api")}function tf(e){return e.columnModel.getCols()}function of(e){return e.visibleColsService.getLeftCols()}function sf(e){return e.visibleColsService.getCenterCols()}function rf(e){return e.visibleColsService.getRightCols()}function nf(e){return e.visibleColsService.getAllCols()}function af(e){return e.columnViewportService.getViewportColumns()}function lf(e,t,i){e.columnMoveService.moveColumns([t],i,"api")}function cf(e,t,i){e.columnMoveService.moveColumnByIndex(t,i,"api")}function df(e,t,i){e.columnMoveService.moveColumns(t,i,"api")}function uf(e,t,i,o=!0,s="api"){e.columnSizeService.setColumnWidths([{key:t,newWidth:i}],!1,o,s)}function hf(e,t,i=!0,o="api"){e.columnSizeService.setColumnWidths(t,!1,i,o)}function gf(e){return e.visibleColsService.getTreeLeft()}function pf(e){return e.visibleColsService.getTreeCenter()}function ff(e){return e.visibleColsService.getTreeRight()}function mf(e){return e.visibleColsService.getAllTrees()}function vf(e,t,i){return e.columnAutosizeService.autoSizeCols({colKeys:[t],skipHeader:i,source:"api"})}function Cf(e,t,i){e.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:i,source:"api"})}function wf(e,t){e.columnAutosizeService.autoSizeAllColumns("api",t)}var yf=class extends b{constructor(){super(...arguments),this.beanName="dataTypeService",this.dataTypeDefinitions={},this.isWaitingForRowData=!1,this.isColumnTypeOverrideInDataTypeDefinitions=!1,this.columnStateUpdatesPendingInference={},this.columnStateUpdateListenerDestroyFuncs=[]}wireBeans(e){this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.valueService=e.valueService,this.columnApplyStateService=e.columnApplyStateService,this.filterManager=e.filterManager}postConstruct(){this.groupHideOpenParents=this.gos.get("groupHideOpenParents"),this.addManagedPropertyListener("groupHideOpenParents",()=>{this.groupHideOpenParents=this.gos.get("groupHideOpenParents")}),this.processDataTypeDefinitions(),this.addManagedPropertyListener("dataTypeDefinitions",e=>{this.processDataTypeDefinitions(),this.columnModel.recreateColumnDefs(It(e.source))})}processDataTypeDefinitions(){let e=this.getDefaultDataTypes();this.dataTypeDefinitions={},this.formatValueFuncs={};let t=o=>s=>{let{column:r,node:n,value:a}=s,l=r.getColDef().valueFormatter;return l===o.groupSafeValueFormatter&&(l=o.valueFormatter),this.valueService.formatValue(r,n,a,l)};Object.entries(e).forEach(([o,s])=>{let r={...s,groupSafeValueFormatter:this.createGroupSafeValueFormatter(s)};this.dataTypeDefinitions[o]=r,this.formatValueFuncs[o]=t(r)});let i=this.gos.get("dataTypeDefinitions")??{};this.dataTypeMatchers={},Object.entries(i).forEach(([o,s])=>{let r=this.processDataTypeDefinition(s,i,[o],e);r&&(this.dataTypeDefinitions[o]=r,s.dataTypeMatcher&&(this.dataTypeMatchers[o]=s.dataTypeMatcher),this.formatValueFuncs[o]=t(r))}),this.checkObjectValueHandlers(e),["dateString","text","number","boolean","date"].forEach(o=>{let s=this.dataTypeMatchers[o];s&&delete this.dataTypeMatchers[o],this.dataTypeMatchers[o]=s??e[o].dataTypeMatcher})}mergeDataTypeDefinitions(e,t){let i={...e,...t};return e.columnTypes&&t.columnTypes&&t.appendColumnTypes&&(i.columnTypes=[...Zi(e.columnTypes),...Zi(t.columnTypes)]),i}processDataTypeDefinition(e,t,i,o){let s,r=e.extendsDataType;if(e.columnTypes&&(this.isColumnTypeOverrideInDataTypeDefinitions=!0),e.extendsDataType===e.baseDataType){let n=o[r],a=t[r];if(n&&a&&(n=a),!this.validateDataTypeDefinition(e,n,r))return;s=this.mergeDataTypeDefinitions(n,e)}else{if(i.includes(r)){S('Data type definition hierarchies (via the "extendsDataType" property) cannot contain circular references.');return}let n=t[r];if(!this.validateDataTypeDefinition(e,n,r))return;let a=this.processDataTypeDefinition(n,t,[...i,r],o);if(!a)return;s=this.mergeDataTypeDefinitions(a,e)}return{...s,groupSafeValueFormatter:this.createGroupSafeValueFormatter(s)}}validateDataTypeDefinition(e,t,i){return t?t.baseDataType!==e.baseDataType?(S('The "baseDataType" property of a data type definition must match that of its parent.'),!1):!0:(S(`The data type definition ${i} does not exist.`),!1)}createGroupSafeValueFormatter(e){if(e.valueFormatter)return t=>{if(t.node?.group){let i=(t.colDef.pivotValueColumn??t.column).getAggFunc();if(i){if(i==="first"||i==="last")return e.valueFormatter(t);if(e.baseDataType==="number"&&i!=="count"){if(typeof t.value=="number")return e.valueFormatter(t);if(typeof t.value=="object"){if(!t.value)return;if("toNumber"in t.value)return e.valueFormatter({...t,value:t.value.toNumber()});if("value"in t.value)return e.valueFormatter({...t,value:t.value.value})}}return}if((this.gos.get("suppressGroupMaintainValueType")||this.gos.get("groupDisplayType")==="groupRows")&&!this.gos.get("treeData"))return}else if(this.groupHideOpenParents&&t.column.isRowGroupActive()&&typeof t.value=="string"&&!e.dataTypeMatcher?.(t.value))return;return e.valueFormatter(t)}}updateColDefAndGetColumnType(e,t,i){let{cellDataType:o}=t,{field:s}=t;if(o===void 0&&(o=e.cellDataType),(o==null||o===!0)&&(o=this.canInferCellDataType(e,t)?this.inferCellDataType(s,i):!1),!o){e.cellDataType=!1;return}let r=this.dataTypeDefinitions[o];if(!r){S(`Missing data type definition - "${o}"`);return}return e.cellDataType=o,r.groupSafeValueFormatter&&(e.valueFormatter=r.groupSafeValueFormatter),r.valueParser&&(e.valueParser=r.valueParser),r.suppressDefaultProperties||this.setColDefPropertiesForBaseDataType(e,o,r,i),r.columnTypes}addColumnListeners(e){if(!this.isWaitingForRowData)return;let t=this.columnStateUpdatesPendingInference[e.getColId()];if(!t)return;let i=o=>{t.add(o.key)};e.addEventListener("columnStateUpdated",i),this.columnStateUpdateListenerDestroyFuncs.push(()=>e.removeEventListener("columnStateUpdated",i))}canInferCellDataType(e,t){if(!de(this.gos))return!1;let i={cellRenderer:!0,valueGetter:!0,valueParser:!0,refData:!0};if(this.doColDefPropsPreventInference(t,i))return!1;let o=t.type===null?e.type:t.type;if(o){let s=this.gos.get("columnTypes")??{};if(Zi(o).some(n=>{let a=s[n.trim()];return a&&this.doColDefPropsPreventInference(a,i)}))return!1}return!this.doColDefPropsPreventInference(e,i)}doColDefPropsPreventInference(e,t){return[["cellRenderer","agSparklineCellRenderer"],["valueGetter",void 0],["valueParser",void 0],["refData",void 0]].some(([i,o])=>this.doesColDefPropPreventInference(e,t,i,o))}doesColDefPropPreventInference(e,t,i,o){if(!t[i])return!1;let s=e[i];return s===null?(t[i]=!1,!1):o===void 0?!!s:s===o}inferCellDataType(e,t){if(!e)return;let i,o=this.getInitialData();if(o){let r=e.indexOf(".")>=0&&!this.gos.get("suppressFieldDotNotation");i=bi(o,e,r)}else this.initWaitForRowData(t);if(i==null)return;let[s]=Object.entries(this.dataTypeMatchers).find(([r,n])=>n(i))??["object"];return s}getInitialData(){let e=this.gos.get("rowData");if(e?.length)return e[0];if(this.initialData)return this.initialData;{let t=this.rowModel.getRootNode().allLeafChildren;if(t?.length)return t[0].data}return null}initWaitForRowData(e){if(this.columnStateUpdatesPendingInference[e]=new Set,this.isWaitingForRowData)return;this.isWaitingForRowData=!0;let t=this.isColumnTypeOverrideInDataTypeDefinitions;t&&this.columnModel.queueResizeOperations();let[i]=this.addManagedEventListeners({rowDataUpdateStarted:o=>{let{firstRowData:s}=o;s&&(i?.(),this.isWaitingForRowData=!1,this.processColumnsPendingInference(s,t),this.columnStateUpdatesPendingInference={},t&&this.columnModel.processResizeOperations(),this.eventService.dispatchEvent({type:"dataTypesInferred"}))}})}isPendingInference(){return this.isWaitingForRowData}processColumnsPendingInference(e,t){this.initialData=e;let i=[];this.destroyColumnStateUpdateListeners();let o={},s={};Object.entries(this.columnStateUpdatesPendingInference).forEach(([r,n])=>{let a=this.columnModel.getCol(r);if(!a)return;let l=a.getColDef();if(!this.columnModel.resetColDefIntoCol(a,"cellDataTypeInferred"))return;let c=a.getColDef();if(t&&c.type&&c.type!==l.type){let d=this.getUpdatedColumnState(a,n);d.rowGroup&&d.rowGroupIndex==null&&(o[r]=d),d.pivot&&d.pivotIndex==null&&(s[r]=d),i.push(d)}}),t&&i.push(...this.funcColsService.generateColumnStateForRowGroupAndPivotIndexes(o,s)),i.length&&this.columnApplyStateService.applyColumnState({state:i},"cellDataTypeInferred"),this.initialData=null}getUpdatedColumnState(e,t){let i=this.columnApplyStateService.getColumnStateFromColDef(e);return t.forEach(o=>{delete i[o],o==="rowGroup"?delete i.rowGroupIndex:o==="pivot"&&delete i.pivotIndex}),i}checkObjectValueHandlers(e){let t=this.dataTypeDefinitions.object,i=e.object;this.hasObjectValueParser=t.valueParser!==i.valueParser,this.hasObjectValueFormatter=t.valueFormatter!==i.valueFormatter}getDateStringTypeDefinition(e){return e?this.getDataTypeDefinition(e)??this.dataTypeDefinitions.dateString:this.dataTypeDefinitions.dateString}getDateParserFunction(e){return this.getDateStringTypeDefinition(e).dateParser}getDateFormatterFunction(e){return this.getDateStringTypeDefinition(e).dateFormatter}getDataTypeDefinition(e){let t=e.getColDef();if(t.cellDataType)return this.dataTypeDefinitions[t.cellDataType]}getBaseDataType(e){return this.getDataTypeDefinition(e)?.baseDataType}checkType(e,t){if(t==null)return!0;let i=this.getDataTypeDefinition(e)?.dataTypeMatcher;return i?i(t):!0}validateColDef(e){let t=i=>S(`Cell data type is "object" but no Value ${i} has been provided. Please either provide an object data type definition with a Value ${i}, or set "colDef.value${i}"`);e.cellDataType==="object"&&(e.valueFormatter===this.dataTypeDefinitions.object.groupSafeValueFormatter&&!this.hasObjectValueFormatter&&t("Formatter"),e.editable&&e.valueParser===this.dataTypeDefinitions.object.valueParser&&!this.hasObjectValueParser&&t("Parser"))}getFormatValue(e){return this.formatValueFuncs[e]}setColDefPropertiesForBaseDataType(e,t,i,o){let s=this.formatValueFuncs[t];switch(i.baseDataType){case"number":{e.cellEditor="agNumberCellEditor";break}case"boolean":{e.cellEditor="agCheckboxCellEditor",e.cellRenderer="agCheckboxCellRenderer",e.suppressKeyboardEvent=r=>!!r.colDef.editable&&r.event.key===y.SPACE;break}case"date":{e.cellEditor="agDateCellEditor",e.keyCreator=s;break}case"dateString":{e.cellEditor="agDateStringCellEditor",e.keyCreator=s;break}case"object":{e.cellEditorParams={useFormatter:!0},e.comparator=(r,n)=>{let a=this.columnModel.getColDefCol(o),l=a?.getColDef();if(!a||!l)return 0;let c=r==null?"":s({column:a,node:null,value:r}),d=n==null?"":s({column:a,node:null,value:n});return c===d?0:c>d?1:-1},e.keyCreator=s;break}}this.filterManager?.setColDefPropertiesForDataType(e,i,s)}getDefaultDataTypes(){let e=i=>!!i.match("^\\d{4}-\\d{2}-\\d{2}$"),t=this.localeService.getLocaleTextFunc();return{number:{baseDataType:"number",valueParser:i=>i.newValue?.trim?.()===""?null:Number(i.newValue),valueFormatter:i=>i.value==null?"":typeof i.value!="number"||isNaN(i.value)?t("invalidNumber","Invalid Number"):String(i.value),dataTypeMatcher:i=>typeof i=="number"},text:{baseDataType:"text",valueParser:i=>i.newValue===""?null:Zo(i.newValue),dataTypeMatcher:i=>typeof i=="string"},boolean:{baseDataType:"boolean",valueParser:i=>i.newValue==null?i.newValue:i.newValue?.trim?.()===""?null:String(i.newValue).toLowerCase()==="true",valueFormatter:i=>i.value==null?"":String(i.value),dataTypeMatcher:i=>typeof i=="boolean"},date:{baseDataType:"date",valueParser:i=>Ge(i.newValue==null?null:String(i.newValue)),valueFormatter:i=>i.value==null?"":!(i.value instanceof Date)||isNaN(i.value.getTime())?t("invalidDate","Invalid Date"):Ke(i.value,!1)??"",dataTypeMatcher:i=>i instanceof Date},dateString:{baseDataType:"dateString",dateParser:i=>Ge(i)??void 0,dateFormatter:i=>Ke(i??null,!1)??void 0,valueParser:i=>e(String(i.newValue))?i.newValue:null,valueFormatter:i=>e(String(i.value))?i.value:"",dataTypeMatcher:i=>typeof i=="string"&&e(i)},object:{baseDataType:"object",valueParser:()=>null,valueFormatter:i=>Zo(i.value)??""}}}destroyColumnStateUpdateListeners(){this.columnStateUpdateListenerDestroyFuncs.forEach(e=>e()),this.columnStateUpdateListenerDestroyFuncs=[]}destroy(){this.dataTypeDefinitions={},this.dataTypeMatchers={},this.formatValueFuncs={},this.columnStateUpdatesPendingInference={},this.destroyColumnStateUpdateListeners(),super.destroy()}},bf={version:B,moduleName:"@ag-grid-community/data-type",beans:[yf]},Sf={version:B,moduleName:"@ag-grid-community/column-api",apiFunctions:{getColumnDef:Tp,getColumnDefs:Ap,sizeColumnsToFit:kp,setColumnGroupOpened:Ip,getColumnGroup:Lp,getProvidedColumnGroup:Op,getDisplayNameForColumn:Gp,getDisplayNameForColumnGroup:Np,getColumn:Hp,getColumns:zp,applyColumnState:Bp,getColumnState:Vp,resetColumnState:Wp,getColumnGroupState:Up,setColumnGroupState:_p,resetColumnGroupState:jp,isPinning:Kp,isPinningLeft:Yp,isPinningRight:$p,getDisplayedColAfter:Qp,getDisplayedColBefore:qp,setColumnVisible:Jp,setColumnsVisible:Xp,setColumnPinned:Zp,setColumnsPinned:ef,getAllGridColumns:tf,getDisplayedLeftColumns:of,getDisplayedCenterColumns:sf,getDisplayedRightColumns:rf,getAllDisplayedColumns:nf,getAllDisplayedVirtualColumns:af,moveColumn:lf,moveColumnByIndex:cf,moveColumns:df,setColumnWidth:uf,setColumnWidths:hf,getLeftDisplayedColumnGroups:gf,getCenterDisplayedColumnGroups:pf,getRightDisplayedColumnGroups:ff,getAllDisplayedColumnGroups:mf,autoSizeColumn:vf,autoSizeColumns:Cf,autoSizeAllColumns:wf}};function Rf(e,t){e.ctrlsService.getGridBodyCtrl().getRowDragFeature().addRowDropZone(t)}function Ff(e,t){let i=e.dragAndDropService.findExternalZone(t);i&&e.dragAndDropService.removeDropTarget(i)}function xf(e,t){return e.ctrlsService.getGridBodyCtrl().getRowDragFeature().getRowDropZone(t)}var Df={version:B,moduleName:"@ag-grid-community/drag-api",apiFunctions:{addRowDropZone:Rf,removeRowDropZone:Ff,getRowDropZoneParams:xf}};function Ef(e){return e.pinnedRowModel.getPinnedTopRowCount()}function Mf(e){return e.pinnedRowModel.getPinnedBottomRowCount()}function Pf(e,t){return e.pinnedRowModel.getPinnedTopRow(t)}function Tf(e,t){return e.pinnedRowModel.getPinnedBottomRow(t)}var Af={version:B,moduleName:"@ag-grid-community/pinned-row-api",apiFunctions:{getPinnedTopRowCount:Ef,getPinnedBottomRowCount:Mf,getPinnedTopRow:Pf,getPinnedBottomRow:Tf}};function kf(e){e.overlayService.showLoadingOverlay()}function If(e){e.overlayService.showNoRowsOverlay()}function Lf(e){e.overlayService.hideOverlay()}var Of={version:B,moduleName:"@ag-grid-community/overlay-api",apiFunctions:{showLoadingOverlay:kf,showNoRowsOverlay:If,hideOverlay:Lf}};function Gf(e,t,i){if(!t)return;let o=e.ctrlsService.getGridBodyCtrl().getGui(),s=`aria-${t}`;i===null?o.removeAttribute(s):o.setAttribute(s,i)}function Nf(e,t={}){e.frameworkOverrides.wrapIncoming(()=>e.rowRenderer.refreshCells(t))}function Hf(e,t={}){let i=o=>S(`Since v31.1 api.flashCells parameter '${o}Delay' is deprecated. Please use '${o}Duration' instead.`);M(t.fadeDelay)&&i("fade"),M(t.flashDelay)&&i("flash"),e.frameworkOverrides.wrapIncoming(()=>e.rowRenderer.flashCells(t))}function zf(e){e.frameworkOverrides.wrapIncoming(()=>e.ctrlsService.getHeaderRowContainerCtrls().forEach(t=>t.refresh()))}function Bf(e){return e.animationFrameService.isQueueEmpty()}function Vf(e){e.animationFrameService.flushAllFrames()}function Wf(e){return{rowHeight:fo(e.gos),headerHeight:e.columnModel.getHeaderHeight()}}function Uf(e,t={}){return e.rowRenderer.getCellRendererInstances(t).map(Ri)}var _f={version:B,moduleName:"@ag-grid-community/render-api",apiFunctions:{setGridAriaProperty:Gf,refreshCells:Nf,flashCells:Hf,refreshHeader:zf,isAnimationFrameQueueEmpty:Bf,flushAllAnimationFrames:Vf,getSizesForCurrentTheme:Wf,getCellRendererInstances:Uf}};function jf(e){e.valueCache.expire()}function Kf(e,t,i){return $a(e,{colKey:t,rowNode:i})}function $a(e,t){let{colKey:i,rowNode:o,useFormatter:s}=t,r=e.columnModel.getColDefCol(i)??e.columnModel.getCol(i);if(K(r))return null;let n=e.valueService.getValueForDisplay(r,o);return s?e.valueService.formatValue(r,o,n)??qe(n,!0):n}function Yf(e){return e.context.getGridId()}function $f(e){e.gridDestroyService.destroy()}function Qf(e){return e.gridDestroyService.isDestroyCalled()}function qf(e,t){return e.gos.get(t)}function Jf(e,t,i){Qa(e,{[t]:i})}function Qa(e,t){e.gos.updateGridOptions({options:t})}function Xf(e,t,i){e.apiEventService.addEventListener(t,i)}function Zf(e,t,i){e.apiEventService.removeEventListener(t,i)}function em(e,t){e.apiEventService.addGlobalListener(t)}function tm(e,t){e.apiEventService.removeGlobalListener(t)}function im(e){return e.focusService.getFocusedCell()}function om(e){return e.focusService.clearFocusedCell()}function sm(e,t,i,o){e.focusService.setFocusedCell({rowIndex:t,column:i,rowPinned:o,forceBrowserFocus:!0})}function rm(e,t){return e.navigationService.tabToNextCell(!1,t)}function nm(e,t){return e.navigationService.tabToNextCell(!0,t)}function am(e,t,i=!1){let o=e.headerNavigationService.getHeaderPositionForColumn(t,i);o&&e.focusService.focusHeaderPosition({headerPosition:o})}function lm(e,t,i){let o=e.columnModel.getCol(t);e.menuService.showColumnMenu({column:o,buttonElement:i,positionBy:"button"})}function cm(e,t,i){let o=e.columnModel.getCol(t);if(o||(o=e.columnModel.getColDefCol(t)),!o){Q(`column '${t}' not found`);return}e.menuService.showColumnMenu({column:o,mouseEvent:i,positionBy:"mouse"})}function dm(e,t){let i=e.columnModel.getCol(t);if(!i){Q(`column '${t}' not found`);return}e.menuService.showColumnMenu({column:i,positionBy:"auto"})}function um(e){e.menuService.hidePopupMenu()}function hm(e,t={}){let i=t?t.rowNodes:void 0;e.frameworkOverrides.wrapIncoming(()=>e.rowRenderer.redrawRows(i))}function gm(e,t,i,o,s){e.expansionService.setRowNodeExpanded(t,i,o,s)}function pm(e,t){return e.rowModel.getRowNode(t)}function fm(e,t,i,o){e.rowRenderer.addRenderedRowListener(t,i,o)}function mm(e){return e.rowRenderer.getRenderedNodes()}function vm(e,t,i){e.rowModel.forEachNode(t,i)}function Cm(e){return qa(e)}function qa(e){return e.rowRenderer.getFirstVirtualRenderedRow()}function wm(e){return Ja(e)}function Ja(e){return e.rowRenderer.getLastVirtualRenderedRow()}function ym(e,t){return e.rowModel.getRow(t)}function bm(e){return e.rowModel.getRowCount()}function Sm(e){return e.rowModel}function Rm(e,t){if(!t.nodes.every(a=>a.rowPinned?(S("cannot select pinned rows"),!1):a.id===void 0?(S("cannot select node until id for node is known"),!1):!0))return;let{nodes:o,source:s,newValue:r}=t,n=o;e.selectionService.setNodesSelected({nodes:n,source:s??"api",newValue:r})}function Fm(e,t="apiSelectAll"){e.selectionService.selectAllRowNodes({source:t})}function xm(e,t="apiSelectAll"){e.selectionService.deselectAllRowNodes({source:t})}function Dm(e,t="apiSelectAllFiltered"){e.selectionService.selectAllRowNodes({source:t,justFiltered:!0})}function Em(e,t="apiSelectAllFiltered"){e.selectionService.deselectAllRowNodes({source:t,justFiltered:!0})}function Mm(e,t="apiSelectAllCurrentPage"){e.selectionService.selectAllRowNodes({source:t,justCurrentPage:!0})}function Pm(e,t="apiSelectAllCurrentPage"){e.selectionService.deselectAllRowNodes({source:t,justCurrentPage:!0})}function Tm(e){return e.selectionService.getSelectedNodes()}function Am(e){return e.selectionService.getSelectedRows()}function km(e){e.sortController.onSortChanged("api")}var Im={version:B,moduleName:"@ag-grid-community/core-api",apiFunctions:{getGridId:Yf,destroy:$f,isDestroyed:Qf,getGridOption:qf,setGridOption:Jf,updateGridOptions:Qa}},Lm={version:B,moduleName:"@ag-grid-community/row-selection-api",apiFunctions:{setNodesSelected:Rm,selectAll:Fm,deselectAll:xm,selectAllFiltered:Dm,deselectAllFiltered:Em,selectAllOnCurrentPage:Mm,deselectAllOnCurrentPage:Pm,getSelectedNodes:Tm,getSelectedRows:Am}},Om={version:B,moduleName:"@ag-grid-community/row-api",apiFunctions:{redrawRows:hm,setRowNodeExpanded:gm,getRowNode:pm,addRenderedRowListener:fm,getRenderedNodes:mm,forEachNode:vm,getFirstDisplayedRow:Cm,getFirstDisplayedRowIndex:qa,getLastDisplayedRow:wm,getLastDisplayedRowIndex:Ja,getDisplayedRowAtIndex:ym,getDisplayedRowCount:bm,getModel:Sm}},Gm={version:B,moduleName:"@ag-grid-community/scroll-api",apiFunctions:{getVerticalPixelRange:Rg,getHorizontalPixelRange:Fg,ensureColumnVisible:Ua,ensureIndexVisible:_a,ensureNodeVisible:xg}},Nm={version:B,moduleName:"@ag-grid-community/keyboard-navigation-api",apiFunctions:{getFocusedCell:im,clearFocusedCell:om,setFocusedCell:sm,setFocusedHeader:am,tabToNextCell:rm,tabToPreviousCell:nm}},Hm={version:B,moduleName:"@ag-grid-community/event-api",apiFunctions:{addEventListener:Xf,addGlobalListener:em,removeEventListener:Zf,removeGlobalListener:tm}},zm={version:B,moduleName:"@ag-grid-community/cell-api",apiFunctions:{expireValueCache:jf,getValue:Kf,getCellValue:$a}},Bm={version:B,moduleName:"@ag-grid-community/menu-api",apiFunctions:{showColumnMenuAfterButtonClick:lm,showColumnMenuAfterMouseClick:cm,showColumnMenu:dm,hidePopupMenu:um}},Vm={version:B,moduleName:"@ag-grid-community/sort-api",apiFunctions:{onSortChanged:km}},Wm={version:B,moduleName:"@ag-grid-community/api",dependantModules:[Im,Af,Lm,Sf,Om,Df,Gm,Of,Nm,Hm,_f,zm,Bm,Vm]};function Um(e){return e.stateService?.getState()??{}}function _m(e){return e={...e},e.version||(e.version="32.1.0"),e.version==="32.1.0"&&(e=jm(e)),e}function jm(e){return e.cellSelection=Km(e,"rangeSelection"),e}function Km(e,t){if(e&&typeof e=="object")return e[t]}var Ym=class extends b{constructor(){super(...arguments),this.beanName="stateService",this.suppressEvents=!0,this.queuedUpdateSources=new Set,this.dispatchStateUpdateEventDebounced=xe(()=>this.dispatchQueuedStateUpdateEvents(),0),this.onRowGroupOpenedDebounced=xe(()=>this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState()),0),this.onRowSelectedDebounced=xe(()=>{this.staleStateKeys.delete("rowSelection"),this.updateCachedState("rowSelection",this.getRowSelectionState())},0),this.staleStateKeys=new Set}wireBeans(e){this.filterManager=e.filterManager,this.ctrlsService=e.ctrlsService,this.pivotResultColsService=e.pivotResultColsService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnGroupStateService=e.columnGroupStateService,this.columnGetStateService=e.columnGetStateService,this.paginationService=e.paginationService,this.selectionService=e.selectionService,this.expansionService=e.expansionService,this.columnAnimationService=e.columnAnimationService,this.columnApplyStateService=e.columnApplyStateService,this.sideBarService=e.sideBarService,this.rangeService=e.rangeService}postConstruct(){this.isClientSideRowModel=de(this.gos),this.cachedState=this.getInitialState(),this.setCachedStateValue("version",B),this.ctrlsService.whenReady(this,()=>this.suppressEventsAndDispatchInitEvent(()=>this.setupStateOnGridReady()));let[e,t,i]=this.addManagedEventListeners({newColumnsLoaded:({source:o})=>{o==="gridInitializing"&&(e(),this.suppressEventsAndDispatchInitEvent(()=>this.setupStateOnColumnsInitialised()))},rowCountReady:()=>{t?.(),this.suppressEventsAndDispatchInitEvent(()=>this.setupStateOnRowCountReady())},firstDataRendered:()=>{i?.(),this.suppressEventsAndDispatchInitEvent(()=>this.setupStateOnFirstDataRendered())}})}getInitialState(){return _m(this.gos.get("initialState")??{})}getState(){return this.staleStateKeys.size&&this.refreshStaleState(),this.cachedState}setupStateOnGridReady(){this.updateCachedState("sideBar",this.getSideBarState());let e=()=>this.updateCachedState("sideBar",this.getSideBarState());this.addManagedEventListeners({toolPanelVisibleChanged:e,sideBarUpdated:e})}setupStateOnColumnsInitialised(){let e=this.getInitialState();this.setColumnState(e),this.setColumnGroupState(e),this.updateColumnState(["aggregation","columnOrder","columnPinning","columnSizing","columnVisibility","pivot","pivot","rowGroup","sort"]),this.updateCachedState("columnGroup",this.getColumnGroupState());let t=i=>()=>this.updateColumnState([i]);this.addManagedEventListeners({columnValueChanged:t("aggregation"),columnMoved:t("columnOrder"),columnPinned:t("columnPinning"),columnResized:t("columnSizing"),columnVisible:t("columnVisibility"),columnPivotChanged:t("pivot"),columnPivotModeChanged:t("pivot"),columnRowGroupChanged:t("rowGroup"),sortChanged:t("sort"),newColumnsLoaded:()=>this.updateColumnState(["aggregation","columnOrder","columnPinning","columnSizing","columnVisibility","pivot","rowGroup","sort"]),columnGroupOpened:()=>this.updateCachedState("columnGroup",this.getColumnGroupState())})}setupStateOnRowCountReady(){let{filter:e,rowGroupExpansion:t,rowSelection:i,pagination:o}=this.getInitialState(),s=this.gos.get("advancedFilterModel");(e||s)&&this.setFilterState(e,s),t&&this.setRowGroupExpansionState(t),i&&this.setRowSelectionState(i),o&&this.setPaginationState(o),this.updateCachedState("filter",this.getFilterState()),this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState()),this.updateCachedState("rowSelection",this.getRowSelectionState()),this.updateCachedState("pagination",this.getPaginationState());let r=()=>this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState());this.addManagedEventListeners({filterChanged:()=>this.updateCachedState("filter",this.getFilterState()),rowGroupOpened:()=>this.onRowGroupOpenedDebounced(),expandOrCollapseAll:r,columnRowGroupChanged:r,rowDataUpdated:()=>{this.gos.get("groupDefaultExpanded")!==0&&setTimeout(()=>{r()})},selectionChanged:()=>{this.staleStateKeys.add("rowSelection"),this.onRowSelectedDebounced()},paginationChanged:n=>{(n.newPage||n.newPageSize)&&this.updateCachedState("pagination",this.getPaginationState())}})}setupStateOnFirstDataRendered(){let{scroll:e,cellSelection:t,focusedCell:i,columnOrder:o}=this.getInitialState();i&&this.setFocusedCellState(i),t&&this.setCellSelectionState(t),e&&this.setScrollState(e),this.setColumnPivotState(!!o?.orderedColIds),this.updateCachedState("sideBar",this.getSideBarState()),this.updateCachedState("focusedCell",this.getFocusedCellState());let s=this.getRangeSelectionState();this.updateCachedState("rangeSelection",s),this.updateCachedState("cellSelection",s),this.updateCachedState("scroll",this.getScrollState()),this.addManagedEventListeners({cellFocused:()=>this.updateCachedState("focusedCell",this.getFocusedCellState()),cellSelectionChanged:r=>{if(r.finished){let n=this.getRangeSelectionState();this.updateCachedState("rangeSelection",n),this.updateCachedState("cellSelection",n)}},bodyScrollEnd:()=>this.updateCachedState("scroll",this.getScrollState())})}getColumnState(){let e=this.columnModel.isPivotMode(),t=[],i=[],o=[],s=[],r=[],n=[],a=[],l=[],c=[],d=0,u=this.columnGetStateService.getColumnState();for(let h=0;h<u.length;h++){let{colId:g,sort:f,sortIndex:m,rowGroup:p,rowGroupIndex:v,aggFunc:w,pivot:C,pivotIndex:R,pinned:P,hide:T,width:x,flex:A}=u[h];c.push(g),f&&(t[m??d++]={colId:g,sort:f}),p&&(i[v??0]=g),typeof w=="string"&&o.push({colId:g,aggFunc:w}),C&&(s[R??0]=g),P&&(P==="right"?n:r).push(g),T&&a.push(g),(A||x)&&l.push({colId:g,flex:A??void 0,width:x})}return{sort:t.length?{sortModel:t}:void 0,rowGroup:i.length?{groupColIds:i}:void 0,aggregation:o.length?{aggregationModel:o}:void 0,pivot:s.length||e?{pivotMode:e,pivotColIds:s}:void 0,columnPinning:r.length||n.length?{leftColIds:r,rightColIds:n}:void 0,columnVisibility:a.length?{hiddenColIds:a}:void 0,columnSizing:l.length?{columnSizingModel:l}:void 0,columnOrder:c.length?{orderedColIds:c}:void 0}}setColumnState(e){let{sort:t,rowGroup:i,aggregation:o,pivot:s,columnPinning:r,columnVisibility:n,columnSizing:a,columnOrder:l,partialColumnState:c}=e,d={},u=p=>{let v=d[p];return v||(v={colId:p},d[p]=v,v)},h=c?{}:{sort:null,sortIndex:null,rowGroup:null,rowGroupIndex:null,aggFunc:null,pivot:null,pivotIndex:null,pinned:null,hide:null,flex:null};t&&(t.sortModel.forEach(({colId:p,sort:v},w)=>{let C=u(p);C.sort=v,C.sortIndex=w}),h.sort=null,h.sortIndex=null),i&&(i.groupColIds.forEach((p,v)=>{let w=u(p);w.rowGroup=!0,w.rowGroupIndex=v}),h.rowGroup=null,h.rowGroupIndex=null),o&&(o.aggregationModel.forEach(({colId:p,aggFunc:v})=>{u(p).aggFunc=v}),h.aggFunc=null),s&&(s.pivotColIds.forEach((p,v)=>{let w=u(p);w.pivot=!0,w.pivotIndex=v}),this.gos.updateGridOptions({options:{pivotMode:s.pivotMode},source:"gridInitializing"}),h.pivot=null,h.pivotIndex=null),r&&(r.leftColIds.forEach(p=>{u(p).pinned="left"}),r.rightColIds.forEach(p=>{u(p).pinned="right"}),h.pinned=null),n&&(n.hiddenColIds.forEach(p=>{u(p).hide=!0}),h.hide=null),a&&(a.columnSizingModel.forEach(({colId:p,flex:v,width:w})=>{let C=u(p);C.flex=v??null,C.width=w}),h.flex=null);let g=l?.orderedColIds,f=!!g?.length,m=f?g.map(p=>u(p)):Object.values(d);m.length&&(this.columnStates=m,this.columnApplyStateService.applyColumnState({state:m,applyOrder:f,defaultState:h},"gridInitializing"))}setColumnPivotState(e){let t=this.columnStates;this.columnStates=void 0;let i=this.columnGroupStates;if(this.columnGroupStates=void 0,!!this.pivotResultColsService.isPivotResultColsPresent()){if(t){let o=[];for(let s of t)this.pivotResultColsService.getPivotResultCol(s.colId)&&o.push(s);this.columnApplyStateService.applyColumnState({state:o,applyOrder:e},"gridInitializing")}i&&this.columnGroupStateService.setColumnGroupState(i,"gridInitializing")}}getColumnGroupState(){let e=this.columnGroupStateService.getColumnGroupState(),t=[];return e.forEach(({groupId:i,open:o})=>{o&&t.push(i)}),t.length?{openColumnGroupIds:t}:void 0}setColumnGroupState(e){if(!Object.prototype.hasOwnProperty.call(e,"columnGroup"))return;let t=new Set(e.columnGroup?.openColumnGroupIds),o=this.columnGroupStateService.getColumnGroupState().map(({groupId:s})=>{let r=t.has(s);return r&&t.delete(s),{groupId:s,open:r}});t.forEach(s=>{o.push({groupId:s,open:!0})}),o.length&&(this.columnGroupStates=o),this.columnGroupStateService.setColumnGroupState(o,"gridInitializing")}getFilterState(){let e=this.filterManager?.getFilterModel();e&&Object.keys(e).length===0&&(e=void 0);let t=this.filterManager?.getAdvancedFilterModel()??void 0;return e||t?{filterModel:e,advancedFilterModel:t}:void 0}setFilterState(e,t){let{filterModel:i,advancedFilterModel:o}=e??{advancedFilterModel:t};i&&this.filterManager?.setFilterModel(i,"columnFilter"),o&&this.filterManager?.setAdvancedFilterModel(o)}getRangeSelectionState(){let e=this.rangeService?.getCellRanges().map(t=>{let{id:i,type:o,startRow:s,endRow:r,columns:n,startColumn:a}=t;return{id:i,type:o,startRow:s,endRow:r,colIds:n.map(l=>l.getColId()),startColId:a.getColId()}});return e?.length?{cellRanges:e}:void 0}setCellSelectionState(e){let{gos:t,rangeService:i,columnModel:o,visibleColsService:s}=this;if(!gt(t)||!i)return;let r=[];if(e.cellRanges.forEach(n=>{let a=[];if(n.colIds.forEach(c=>{let d=o.getCol(c);d&&a.push(d)}),!a.length)return;let l=o.getCol(n.startColId);if(!l){let c=s.getAllCols(),d=new Set(a);l=c.find(u=>d.has(u))}r.push({...n,columns:a,startColumn:l})}),Gl(t)&&Nl(t)&&r.length>1)return S("cannot add multiple ranges when `cellSelection.suppressMultiRanges = true`");i.setCellRanges(r)}getScrollState(){if(!this.isClientSideRowModel)return;let e=this.ctrlsService.getGridBodyCtrl()?.getScrollFeature(),{left:t}=e?.getHScrollPosition()??{left:0},{top:i}=e?.getVScrollPosition()??{top:0};return i||t?{top:i,left:t}:void 0}setScrollState(e){if(!this.isClientSideRowModel)return;let{top:t,left:i}=e;this.ctrlsService.getGridBodyCtrl()?.getScrollFeature().setScrollPosition(t,i)}getSideBarState(){return this.sideBarService?.getSideBarComp()?.getState()}getFocusedCellState(){if(!this.isClientSideRowModel)return;let e=this.focusService.getFocusedCell();if(e){let{column:t,rowIndex:i,rowPinned:o}=e;return{colId:t.getColId(),rowIndex:i,rowPinned:o}}}setFocusedCellState(e){if(!this.isClientSideRowModel)return;let{colId:t,rowIndex:i,rowPinned:o}=e;this.focusService.setFocusedCell({column:this.columnModel.getCol(t),rowIndex:i,rowPinned:o,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}getPaginationState(){if(!this.paginationService)return;let e=this.paginationService.getCurrentPage(),t=this.gos.get("paginationAutoPageSize")?void 0:this.paginationService.getPageSize();if(!(!e&&!t))return{page:e,pageSize:t}}setPaginationState(e){this.paginationService&&(e.pageSize&&!this.gos.get("paginationAutoPageSize")&&this.paginationService.setPageSize(e.pageSize,"initialState"),typeof e.page=="number"&&this.paginationService.setPage(e.page))}getRowSelectionState(){let e=this.selectionService.getSelectionState();return!e||!Array.isArray(e)&&(e.selectAll===!1||e.selectAllChildren===!1)&&!e?.toggledNodes?.length?void 0:e}setRowSelectionState(e){this.selectionService.setSelectionState(e,"gridInitializing")}getRowGroupExpansionState(){let e=this.expansionService.getExpandedRows();return e.length?{expandedRowGroupIds:e}:void 0}setRowGroupExpansionState(e){this.expansionService.expandRows(e.expandedRowGroupIds)}updateColumnState(e){let t=this.getColumnState(),i=!1;Object.entries(t).forEach(([o,s])=>{to(s,this.cachedState[o])||(i=!0)}),this.cachedState={...this.cachedState,...t},i&&this.dispatchStateUpdateEvent(e)}updateCachedState(e,t){let i=this.cachedState[e];this.setCachedStateValue(e,t),to(t,i)||this.dispatchStateUpdateEvent([e])}setCachedStateValue(e,t){this.cachedState={...this.cachedState,[e]:t}}refreshStaleState(){this.staleStateKeys.forEach(e=>{e==="rowSelection"&&this.setCachedStateValue(e,this.getRowSelectionState())}),this.staleStateKeys.clear()}dispatchStateUpdateEvent(e){this.suppressEvents||(e.forEach(t=>this.queuedUpdateSources.add(t)),this.dispatchStateUpdateEventDebounced())}dispatchQueuedStateUpdateEvents(){let e=Array.from(this.queuedUpdateSources);this.queuedUpdateSources.clear(),this.eventService.dispatchEvent({type:"stateUpdated",sources:e,state:this.cachedState})}suppressEventsAndDispatchInitEvent(e){this.suppressEvents=!0,this.columnAnimationService.setSuppressAnimation(!0),e(),setTimeout(()=>{this.suppressEvents=!1,this.queuedUpdateSources.clear(),this.isAlive()&&(this.columnAnimationService.setSuppressAnimation(!1),this.dispatchStateUpdateEvent(["gridInitializing"]))})}},Xa={version:B,moduleName:"@ag-grid-community/state-core",beans:[Ym]},$m={version:B,moduleName:"@ag-grid-community/state-api",apiFunctions:{getState:Um},dependantModules:[Xa]},Qm={version:B,moduleName:"@ag-grid-community/state",dependantModules:[Xa,$m]};function qm(e){return e.rowModel.isLastRowIndexKnown()}function Jm(e){return e.paginationService?.getPageSize()??100}function Xm(e){return e.paginationService?.getCurrentPage()??0}function Zm(e){return e.paginationService?.getTotalPages()??1}function ev(e){return e.paginationService?e.paginationService.getMasterRowCount():e.rowModel.getRowCount()}function tv(e){e.paginationService?.goToNextPage()}function iv(e){e.paginationService?.goToPreviousPage()}function ov(e){e.paginationService?.goToFirstPage()}function sv(e){e.paginationService?.goToLastPage()}function rv(e,t){e.paginationService?.goToPage(t)}var nv=class extends b{constructor(){super(...arguments),this.beanName="paginationAutoPageSizeService"}wireBeans(e){this.ctrlsService=e.ctrlsService,this.paginationService=e.paginationService}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.centerRowsCtrl=e.center;let t=this.checkPageSize.bind(this);this.addManagedEventListeners({bodyHeightChanged:t,scrollVisibilityChanged:t}),this.addManagedPropertyListener("paginationAutoPageSize",this.onPaginationAutoSizeChanged.bind(this)),this.checkPageSize()})}notActive(){return!this.gos.get("paginationAutoPageSize")||this.centerRowsCtrl==null}onPaginationAutoSizeChanged(){this.notActive()?this.paginationService.unsetAutoCalculatedPageSize():this.checkPageSize()}checkPageSize(){if(this.notActive())return;let e=this.centerRowsCtrl.getViewportSizeFeature().getBodyHeight();if(e>0){let t=()=>{let i=Math.max(fo(this.gos),1),o=Math.floor(e/i);this.paginationService.setPageSize(o,"autoCalculated")};this.isBodyRendered?xe(()=>t(),50)():(t(),this.isBodyRendered=!0)}else this.isBodyRendered=!1}};function av(e,t,i){e.addManagedElementListeners(t,{keydown:o=>{if(!o.defaultPrevented&&o.key===y.TAB){let s=o.shiftKey;i.findNextFocusableElement(t,!1,s)||i.focusNextGridCoreContainer(s)&&o.preventDefault()}}})}var Ci="paginationPageSizeSelector",lv=class extends ce{constructor(){super('<span class="ag-paging-page-size"></span>'),this.hasEmptyOption=!1,this.handlePageSizeItemSelected=()=>{if(!this.selectPageSizeComp)return;let e=this.selectPageSizeComp.getValue();if(!e)return;let t=Number(e);isNaN(t)||t<1||t===this.paginationService.getPageSize()||(this.paginationService.setPageSize(t,"pageSizeSelector"),this.hasEmptyOption&&this.toggleSelectDisplay(!0),this.selectPageSizeComp.getFocusableElement().focus())}}wireBeans(e){this.paginationService=e.paginationService}postConstruct(){this.addManagedPropertyListener(Ci,()=>{this.onPageSizeSelectorValuesChange()}),this.addManagedEventListeners({paginationChanged:e=>this.handlePaginationChanged(e)})}handlePaginationChanged(e){if(!this.selectPageSizeComp||!e?.newPageSize)return;let t=this.paginationService.getPageSize();this.getPageSizeSelectorValues().includes(t)?this.selectPageSizeComp.setValue(t.toString()):this.hasEmptyOption?this.selectPageSizeComp.setValue(""):this.toggleSelectDisplay(!0)}toggleSelectDisplay(e){this.selectPageSizeComp&&!e&&this.reset(),e&&(this.reloadPageSizesSelector(),this.selectPageSizeComp)}reset(){Be(this.getGui()),this.selectPageSizeComp&&(this.selectPageSizeComp=this.destroyBean(this.selectPageSizeComp))}onPageSizeSelectorValuesChange(){this.selectPageSizeComp&&this.shouldShowPageSizeSelector()&&this.reloadPageSizesSelector()}shouldShowPageSizeSelector(){return this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel")&&!this.gos.get("paginationAutoPageSize")&&this.gos.get(Ci)!==!1}reloadPageSizesSelector(){let e=this.getPageSizeSelectorValues(),t=this.paginationService.getPageSize(),i=!t||!e.includes(t);if(i){let s=this.gos.exists("paginationPageSize"),r=this.gos.get(Ci)!==!0;S(`'paginationPageSize=${t}'${s?"":" (default value)"}, but ${t} is not included in${r?"":" the default"} paginationPageSizeSelector=[${e.join(", ")}].`),r||S(`Either set '${Ci}' to an array that includes ${t} or to 'false' to disable the page size selector.`),e.unshift("")}let o=String(i?"":t);this.selectPageSizeComp?(Pt(this.pageSizeOptions,e)||(this.selectPageSizeComp.clearOptions().addOptions(this.createPageSizeSelectOptions(e)),this.pageSizeOptions=e),this.selectPageSizeComp.setValue(o,!0)):this.createPageSizeSelectorComp(e,o),this.hasEmptyOption=i}createPageSizeSelectOptions(e){return e.map(t=>({value:String(t)}))}createPageSizeSelectorComp(e,t){let i=this.localeService.getLocaleTextFunc(),o=i("pageSizeSelectorLabel","Page Size:"),s=i("ariaPageSizeSelectorLabel","Page Size");this.selectPageSizeComp=this.createManagedBean(new zs).addOptions(this.createPageSizeSelectOptions(e)).setValue(t).setAriaLabel(s).setLabel(o).onValueChange(()=>this.handlePageSizeItemSelected()),this.appendChild(this.selectPageSizeComp)}getPageSizeSelectorValues(){let e=[20,50,100],t=this.gos.get(Ci);return!Array.isArray(t)||Ee(t)?e:[...t].sort((i,o)=>i-o)}destroy(){this.toggleSelectDisplay(!1),super.destroy()}},cv={selector:"AG-PAGE-SIZE-SELECTOR",component:lv},dv=class extends Zg{constructor(){super(),this.btFirst=z,this.btPrevious=z,this.btNext=z,this.btLast=z,this.lbRecordCount=z,this.lbFirstRowOnPage=z,this.lbLastRowOnPage=z,this.lbCurrent=z,this.lbTotal=z,this.pageSizeComp=z,this.previousAndFirstButtonsDisabled=!1,this.nextButtonDisabled=!1,this.lastButtonDisabled=!1,this.areListenersSetup=!1,this.allowFocusInnerElement=!1}wireBeans(e){this.rowModel=e.rowModel,this.paginationService=e.paginationService,this.focusService=e.focusService,this.ariaAnnouncementService=e.ariaAnnouncementService}postConstruct(){let e=this.gos.get("enableRtl");this.setTemplate(this.getTemplate(),[cv]);let{btFirst:t,btPrevious:i,btNext:o,btLast:s}=this;this.activateTabIndex([t,i,o,s]),t.insertAdjacentElement("afterbegin",ze(e?"last":"first",this.gos)),i.insertAdjacentElement("afterbegin",ze(e?"next":"previous",this.gos)),o.insertAdjacentElement("afterbegin",ze(e?"previous":"next",this.gos)),s.insertAdjacentElement("afterbegin",ze(e?"first":"last",this.gos)),this.addManagedPropertyListener("pagination",this.onPaginationChanged.bind(this)),this.addManagedPropertyListener("suppressPaginationPanel",this.onPaginationChanged.bind(this)),this.addManagedPropertyListeners(["paginationPageSizeSelector","paginationAutoPageSize","suppressPaginationPanel"],()=>this.onPageSizeRelatedOptionsChange()),this.pageSizeComp.toggleSelectDisplay(this.pageSizeComp.shouldShowPageSizeSelector()),this.initialiseTabGuard({onTabKeyDown:()=>{},focusInnerElement:r=>{this.allowFocusInnerElement?this.tabGuardFeature.getTabGuardCtrl().focusInnerElement(r):this.focusService.focusGridInnerElement(r)},forceFocusOutWhenTabGuardsAreEmpty:!0}),this.onPaginationChanged()}setAllowFocus(e){this.allowFocusInnerElement=e}onPaginationChanged(){let t=this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel");this.setDisplayed(t),t&&(this.setupListeners(),this.enableOrDisableButtons(),this.updateLabels(),this.onPageSizeRelatedOptionsChange())}onPageSizeRelatedOptionsChange(){this.pageSizeComp.toggleSelectDisplay(this.pageSizeComp.shouldShowPageSizeSelector())}setupListeners(){this.areListenersSetup||(this.addManagedEventListeners({paginationChanged:this.onPaginationChanged.bind(this)}),[{el:this.btFirst,fn:this.onBtFirst.bind(this)},{el:this.btPrevious,fn:this.onBtPrevious.bind(this)},{el:this.btNext,fn:this.onBtNext.bind(this)},{el:this.btLast,fn:this.onBtLast.bind(this)}].forEach(e=>{let{el:t,fn:i}=e;this.addManagedListeners(t,{click:i,keydown:o=>{(o.key===y.ENTER||o.key===y.SPACE)&&(o.preventDefault(),i())}})}),av(this,this.getGui(),this.focusService),this.areListenersSetup=!0)}onBtFirst(){this.previousAndFirstButtonsDisabled||this.paginationService.goToFirstPage()}formatNumber(e){let t=this.gos.getCallback("paginationNumberFormatter");if(t)return t({value:e});let i=this.localeService.getLocaleTextFunc(),o=i("thousandSeparator",","),s=i("decimalSeparator",".");return ru(e,o,s)}getTemplate(){let e=this.localeService.getLocaleTextFunc(),t=e("page","Page"),i=e("to","to"),o=e("of","of"),s=e("firstPage","First Page"),r=e("previousPage","Previous Page"),n=e("nextPage","Next Page"),a=e("lastPage","Last Page"),l=this.getCompId();return`<div class="ag-paging-panel ag-unselectable" id="ag-${l}">
|
|
138
|
+
To run logic when the grid is about to be destroyed use the gridPreDestroy event. See: ${o}`);else{let s=tn[e];i.assertModuleRegistered(s,`api.${e}`)&&S(`API function '${e}' not registered to module '${s}'`)}}destroy(){super.destroy(),this.fns=Zo,this.beans=null}};function cp(e){return{beanName:"gridApi",bean:e.getBean("apiFunctionService").api}}var dp=class extends b{constructor(){super(...arguments),this.beanName="columnDefFactory"}buildColumnDefs(e,t,i){let o=[],s={};return e.forEach(r=>{let n=this.createDefFromColumn(r,t,i),a=!0,l=n,c=r.getOriginalParent(),d=null;for(;c;){let u=null;if(c.isPadding()){c=c.getOriginalParent();continue}let h=s[c.getGroupId()];if(h){h.children.push(l),a=!1;break}if(u=this.createDefFromGroup(c),u&&(u.children=[l],s[u.groupId]=u,l=u,c=c.getOriginalParent()),c!=null&&d===c){a=!1;break}d=c}a&&o.push(l)}),o}createDefFromGroup(e){let t=ns(e.getColGroupDef(),["children"]);return t&&(t.groupId=e.getGroupId()),t}createDefFromColumn(e,t,i){let o=ns(e.getColDef());return o.colId=e.getColId(),o.width=e.getActualWidth(),o.rowGroup=e.isRowGroupActive(),o.rowGroupIndex=e.isRowGroupActive()?t.indexOf(e):null,o.pivot=e.isPivotActive(),o.pivotIndex=e.isPivotActive()?i.indexOf(e):null,o.aggFunc=e.isValueActive()?e.getAggFunc():null,o.hide=e.isVisible()?void 0:!0,o.pinned=e.isPinned()?e.getPinned():null,o.sort=e.getSort()?e.getSort():null,o.sortIndex=e.getSortIndex()!=null?e.getSortIndex():null,o}},up=class extends b{constructor(){super(...arguments),this.beanName="columnEventDispatcher"}visibleCols(e){this.eventService.dispatchEvent({type:"displayedColumnsChanged",source:e})}gridColumns(){this.eventService.dispatchEvent({type:"gridColumnsChanged"})}headerHeight(e){this.eventService.dispatchEvent({type:"columnHeaderHeightChanged",column:e,columns:[e],source:"autosizeColumnHeaderHeight"})}groupHeaderHeight(e){this.eventService.dispatchEvent({type:"columnGroupHeaderHeightChanged",columnGroup:e,source:"autosizeColumnGroupHeaderHeight"})}groupOpened(e){this.eventService.dispatchEvent({type:"columnGroupOpened",columnGroup:e.length===1?e[0]:void 0,columnGroups:e})}rowGroupChanged(e,t){this.eventService.dispatchEvent({type:"columnRowGroupChanged",columns:e,column:e.length===1?e[0]:null,source:t})}genericColumnEvent(e,t,i){this.eventService.dispatchEvent({type:e,columns:t,column:t.length===1?t[0]:null,source:i})}pivotModeChanged(){this.eventService.dispatchEvent({type:"columnPivotModeChanged"})}virtualColumnsChanged(e){this.eventService.dispatchEvent({type:"virtualColumnsChanged",afterScroll:e})}newColumnsLoaded(e){this.eventService.dispatchEvent({type:"newColumnsLoaded",source:e})}everythingChanged(e){this.eventService.dispatchEvent({type:"columnEverythingChanged",source:e})}columnMoved(e){let{movedColumns:t,source:i,toIndex:o,finished:s}=e;this.eventService.dispatchEvent({type:"columnMoved",columns:t,column:t&&t.length===1?t[0]:null,toIndex:o,finished:s,source:i})}columnPinned(e,t){if(!e.length)return;let i=e.length===1?e[0]:null,o=this.getCommonValue(e,s=>s.getPinned());this.eventService.dispatchEvent({type:"columnPinned",pinned:o??null,columns:e,column:i,source:t})}columnVisible(e,t){if(!e.length)return;let i=e.length===1?e[0]:null,o=this.getCommonValue(e,s=>s.isVisible());this.eventService.dispatchEvent({type:"columnVisible",visible:o,columns:e,column:i,source:t})}getCommonValue(e,t){if(!e||e.length==0)return;let i=t(e[0]);for(let o=1;o<e.length;o++)if(i!==t(e[o]))return;return i}columnChanged(e,t,i){this.eventService.dispatchEvent({type:e,columns:t,column:t&&t.length==1?t[0]:null,source:i})}columnResized(e,t,i,o=null){e&&e.length&&this.eventService.dispatchEvent({type:"columnResized",columns:e,column:e.length===1?e[0]:null,flexColumns:o,finished:t,source:i})}},hp=class extends b{constructor(){super(...arguments),this.beanName="columnGetStateService"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService}getColumnState(){let e=this.columnModel.getColDefCols();if(K(e)||!this.columnModel.isAlive())return[];let i=this.columnModel.getAllCols().map(o=>this.createStateItemFromColumn(o));return this.orderColumnStateList(i),i}createStateItemFromColumn(e){let t=this.funcColsService.getRowGroupColumns(),i=this.funcColsService.getPivotColumns(),o=e.isRowGroupActive()?t.indexOf(e):null,s=e.isPivotActive()?i.indexOf(e):null,r=e.isValueActive()?e.getAggFunc():null,n=e.getSort()!=null?e.getSort():null,a=e.getSortIndex()!=null?e.getSortIndex():null,l=e.getFlex()!=null&&e.getFlex()>0?e.getFlex():null;return{colId:e.getColId(),width:e.getActualWidth(),hide:!e.isVisible(),pinned:e.getPinned(),sort:n,sortIndex:a,aggFunc:r,rowGroup:e.isRowGroupActive(),rowGroupIndex:o,pivot:e.isPivotActive(),pivotIndex:s,flex:l}}orderColumnStateList(e){let t=this.columnModel.getCols(),i=new Map(t.map((o,s)=>[o.getColId(),s]));e.sort((o,s)=>{let r=i.has(o.colId)?i.get(o.colId):-1,n=i.has(s.colId)?i.get(s.colId):-1;return r-n})}},gp=class extends b{constructor(){super(...arguments),this.beanName="columnGroupStateService"}wireBeans(e){this.columnModel=e.columnModel,this.columnAnimationService=e.columnAnimationService,this.eventDispatcher=e.columnEventDispatcher,this.visibleColsService=e.visibleColsService}getColumnGroupState(){let e=[],t=this.columnModel.getColTree();return pt(null,t,i=>{ke(i)&&e.push({groupId:i.getGroupId(),open:i.isExpanded()})}),e}resetColumnGroupState(e){let t=this.columnModel.getColDefColTree();if(!t)return;let i=[];pt(null,t,o=>{if(ke(o)){let s=o.getColGroupDef(),r={groupId:o.getGroupId(),open:s?s.openByDefault:void 0};i.push(r)}}),this.setColumnGroupState(i,e)}setColumnGroupState(e,t){if(!this.columnModel.getColTree())return;this.columnAnimationService.start();let o=[];e.forEach(s=>{let r=s.groupId,n=s.open,a=this.columnModel.getProvidedColGroup(r);a&&a.isExpanded()!==n&&(a.setExpanded(n),o.push(a))}),this.visibleColsService.refresh(t,!0),o.length&&this.eventDispatcher.groupOpened(o),this.columnAnimationService.finish()}},pp=class extends b{constructor(){super(...arguments),this.beanName="columnViewportService",this.colsWithinViewport=[],this.headerColsWithinViewport=[],this.colsWithinViewportHash="",this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={}}wireBeans(e){this.visibleColsService=e.visibleColsService,this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher}postConstruct(){this.suppressColumnVirtualisation=this.gos.get("suppressColumnVirtualisation")}setScrollPosition(e,t,i=!1){let o=this.visibleColsService.isBodyWidthDirty();if(!(e===this.scrollWidth&&t===this.scrollPosition&&!o)){if(this.scrollWidth=e,this.scrollPosition=t,this.visibleColsService.setBodyWidthDirty(),this.gos.get("enableRtl")){let r=this.visibleColsService.getBodyContainerWidth();this.viewportLeft=r-this.scrollPosition-this.scrollWidth,this.viewportRight=r-this.scrollPosition}else this.viewportLeft=this.scrollPosition,this.viewportRight=this.scrollWidth+this.scrollPosition;this.columnModel.isReady()&&this.checkViewportColumns(i)}}getHeadersToRender(e,t){let i;switch(e){case"left":i=this.rowsOfHeadersToRenderLeft[t];break;case"right":i=this.rowsOfHeadersToRenderRight[t];break;default:i=this.rowsOfHeadersToRenderCenter[t];break}return i||[]}extractViewportColumns(){let e=this.visibleColsService.getCenterCols();this.isColumnVirtualisationSuppressed()?(this.colsWithinViewport=e,this.headerColsWithinViewport=e):(this.colsWithinViewport=e.filter(this.isColumnInRowViewport.bind(this)),this.headerColsWithinViewport=e.filter(this.isColumnInHeaderViewport.bind(this)))}isColumnVirtualisationSuppressed(){return this.suppressColumnVirtualisation||this.viewportRight===0}clear(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.colsWithinViewportHash=""}isColumnInHeaderViewport(e){return e.isAutoHeaderHeight()||this.isAnyParentAutoHeaderHeight(e)?!0:this.isColumnInRowViewport(e)}isAnyParentAutoHeaderHeight(e){for(;e;){if(e.isAutoHeaderHeight())return!0;e=e.getParent()}return!1}isColumnInRowViewport(e){if(e.isAutoHeight())return!0;let t=e.getLeft()||0,i=t+e.getActualWidth(),o=this.viewportLeft-200,s=this.viewportRight+200,r=t<o&&i<o,n=t>s&&i>s;return!r&&!n}getViewportColumns(){let e=this.visibleColsService.getLeftCols(),t=this.visibleColsService.getRightCols();return this.colsWithinViewport.concat(e).concat(t)}getColsWithinViewport(e){if(!this.columnModel.isColSpanActive())return this.colsWithinViewport;let t=s=>{let r=s.getLeft();return M(r)&&r>this.viewportLeft},i=this.isColumnVirtualisationSuppressed()?void 0:this.isColumnInRowViewport.bind(this),o=this.visibleColsService.getColsCenter();return this.visibleColsService.getColsForRow(e,o,i,t)}checkViewportColumns(e=!1){this.extractViewport()&&this.eventDispatcher.virtualColumnsChanged(e)}calculateHeaderRows(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={};let e={},t=this.visibleColsService.getLeftCols(),i=this.visibleColsService.getRightCols();this.headerColsWithinViewport.concat(t).concat(i).forEach(r=>e[r.getId()]=!0);let s=(r,n,a)=>{let l=!1;for(let c=0;c<r.length;c++){let d=r[c],u=!1;if(Et(d))u=e[d.getId()]===!0;else{let g=d.getDisplayedChildren();g&&(u=s(g,n,a+1))}u&&(l=!0,n[a]||(n[a]=[]),n[a].push(d))}return l};s(this.visibleColsService.getTreeLeft(),this.rowsOfHeadersToRenderLeft,0),s(this.visibleColsService.getTreeRight(),this.rowsOfHeadersToRenderRight,0),s(this.visibleColsService.getTreeCenter(),this.rowsOfHeadersToRenderCenter,0)}extractViewport(){let e=o=>`${o.getId()}-${o.getPinned()||"normal"}`;this.extractViewportColumns();let t=this.getViewportColumns().map(e).join("#"),i=this.colsWithinViewportHash!==t;return i&&(this.colsWithinViewportHash=t,this.calculateHeaderRows()),i}},fp=class extends b{constructor(){super(...arguments),this.beanName="agComponentUtils"}wireBeans(e){this.componentMetadataProvider=e.componentMetadataProvider}adaptFunction(e,t){let i=this.componentMetadataProvider.retrieve(e);return i&&i.functionAdapter?i.functionAdapter(t):null}adaptCellRendererFunction(e){class t{refresh(){return!1}getGui(){return this.eGui}init(o){let s=e(o),r=typeof s;if(r==="string"||r==="number"||r==="boolean"){this.eGui=Li("<span>"+s+"</span>");return}if(s==null){this.eGui=Li("<span></span>");return}this.eGui=s}}return t}doesImplementIComponent(e){return e?e.prototype&&"getGui"in e.prototype:!1}},mp=class extends b{constructor(){super(...arguments),this.beanName="componentMetadataProvider"}wireBeans(e){this.agComponentUtils=e.agComponentUtils}postConstruct(){this.componentMetaData={dateComponent:{mandatoryMethodList:["getDate","setDate"],optionalMethodList:["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled","onParamsUpdated","refresh"]},detailCellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},dragAndDropImageComponent:{mandatoryMethodList:["setIcon","setLabel"],optionalMethodList:[]},headerComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},headerGroupComponent:{mandatoryMethodList:[],optionalMethodList:[]},loadingCellRenderer:{mandatoryMethodList:[],optionalMethodList:[],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},loadingOverlayComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},noRowsOverlayComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},floatingFilterComponent:{mandatoryMethodList:["onParentModelChanged"],optionalMethodList:["afterGuiAttached","onParamsUpdated","refresh"]},cellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh","afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},cellEditor:{mandatoryMethodList:["getValue"],optionalMethodList:["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached","refresh"]},innerRenderer:{mandatoryMethodList:[],optionalMethodList:["afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},fullWidthCellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh","afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},groupRowRenderer:{mandatoryMethodList:[],optionalMethodList:["afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},filter:{mandatoryMethodList:["isFilterActive","doesFilterPass","getModel","setModel"],optionalMethodList:["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onFloatingFilterChanged","onAnyFilterChanged","refresh"]},statusPanel:{mandatoryMethodList:[],optionalMethodList:["refresh"]},toolPanel:{mandatoryMethodList:[],optionalMethodList:["refresh","getState"]},tooltipComponent:{mandatoryMethodList:[],optionalMethodList:[]},menuItem:{mandatoryMethodList:[],optionalMethodList:["setActive","select","setExpanded","configureDefaults"]}}}retrieve(e){return this.componentMetaData[e]}},vp=["rowPositionUtils","cellPositionUtils","headerPositionUtils","paginationAutoPageSizeService","apiFunctionService","gridApi","userComponentRegistry","agComponentUtils","componentMetadataProvider","resizeObserverService","userComponentFactory","rowContainerHeightService","horizontalResizeService","localeService","validationService","pinnedRowModel","dragService","visibleColsService","eventService","gos","popupService","selectionService","columnFilterService","quickFilterService","filterManager","columnModel","headerNavigationService","pageBoundsService","paginationService","pageBoundsListener","rowRenderer","expressionService","columnFactory","alignedGridsService","navigationService","valueCache","valueService","loggerFactory","autoWidthCalculator","filterMenuFactory","dragAndDropService","focusService","mouseEventService","environment","cellNavigationService","stylingService","scrollVisibleService","sortController","columnHoverService","columnAnimationService","selectableService","autoColService","controlsColService","changeDetectionService","animationFrameService","undoRedoService","columnDefFactory","rowCssClassCalculator","rowNodeBlockLoader","rowNodeSorter","ctrlsService","pinnedWidthService","rowNodeEventThrottle","ctrlsFactory","dataTypeService","syncService","overlayService","stateService","expansionService","apiEventService","ariaAnnouncementService","menuService","columnApplyStateService","columnEventDispatcher","columnMoveService","columnAutosizeService","columnGetStateService","columnGroupStateService","columnSizeService","funcColsService","columnNameService","columnViewportService","pivotResultColsService","showRowGroupColsService"],on=Object.fromEntries(vp.map((e,t)=>[e,t]));function Cp(e,t){let i=(e.beanName?on[e.beanName]:void 0)??Number.MAX_SAFE_INTEGER,o=(t.beanName?on[t.beanName]:void 0)??Number.MAX_SAFE_INTEGER;return i-o}function wp(e,t){return e?.beanName==="gridDestroyService"?-1:0}var yp=class extends b{constructor(){super(...arguments),this.beanName="ctrlsFactory",this.registry={}}register(e){this.registry[e.name]=e.classImp}getInstance(e,...t){let i=this.registry[e];if(i!=null)return new i(...t)}},bp=class extends b{constructor(){super(...arguments),this.beanName="ctrlsService",this.params={gridCtrl:void 0,gridBodyCtrl:void 0,center:void 0,left:void 0,right:void 0,bottomCenter:void 0,bottomLeft:void 0,bottomRight:void 0,topCenter:void 0,topLeft:void 0,topRight:void 0,stickyTopCenter:void 0,stickyTopLeft:void 0,stickyTopRight:void 0,stickyBottomCenter:void 0,stickyBottomLeft:void 0,stickyBottomRight:void 0,fakeHScrollComp:void 0,fakeVScrollComp:void 0,gridHeaderCtrl:void 0,centerHeader:void 0,leftHeader:void 0,rightHeader:void 0},this.ready=!1,this.readyCallbacks=[],this.runReadyCallbacksAsync=!1}wireBeans(e){this.runReadyCallbacksAsync=e.frameworkOverrides.runWhenReadyAsync?.()??!1}postConstruct(){this.addEventListener("ready",()=>{this.updateReady(),this.ready&&(this.readyCallbacks.forEach(e=>e(this.params)),this.readyCallbacks.length=0)},this.runReadyCallbacksAsync)}updateReady(){this.ready=Object.values(this.params).every(e=>e?.isAlive()??!1)}whenReady(e,t){this.ready?t(this.params):this.readyCallbacks.push(t),e.addDestroyFunc(()=>{let i=this.readyCallbacks.indexOf(t);i>=0&&this.readyCallbacks.splice(i,1)})}register(e,t){this.params[e]=t,this.updateReady(),this.ready&&this.dispatchLocalEvent({type:"ready"}),t.addDestroyFunc(()=>{this.updateReady()})}get(e){return this.params[e]}getGridBodyCtrl(){return this.params.gridBodyCtrl}getHeaderRowContainerCtrls(){let{leftHeader:e,centerHeader:t,rightHeader:i}=this.params;return[e,i,t]}getHeaderRowContainerCtrl(e){let t=this.params;switch(e){case"left":return t.leftHeader;case"right":return t.rightHeader;default:return t.centerHeader}}},Sp=class extends b{constructor(){super(...arguments),this.beanName="cellPositionUtils"}createId(e){let{rowIndex:t,rowPinned:i,column:o}=e;return this.createIdFromValues({rowIndex:t,column:o,rowPinned:i})}createIdFromValues(e){let{rowIndex:t,rowPinned:i,column:o}=e;return`${t}.${i??"null"}.${o.getId()}`}equals(e,t){let i=e.column===t.column,o=e.rowPinned===t.rowPinned,s=e.rowIndex===t.rowIndex;return i&&o&&s}},Rp=class extends b{constructor(){super(...arguments),this.beanName="rowNodeEventThrottle",this.events=[]}wireBeans(e){this.animationFrameService=e.animationFrameService,this.rowModel=e.rowModel}postConstruct(){de(this.gos)&&(this.clientSideRowModel=this.rowModel)}dispatchExpanded(e,t){if(this.clientSideRowModel==null){this.eventService.dispatchEvent(e);return}this.events.push(e);let i=()=>{this.clientSideRowModel&&this.clientSideRowModel.onRowGroupOpened(),this.events.forEach(o=>this.eventService.dispatchEvent(o)),this.events=[]};t?i():(this.dispatchExpandedDebounced==null&&(this.dispatchExpandedDebounced=this.animationFrameService.debounce(i)),this.dispatchExpandedDebounced())}},Fp=class extends b{constructor(){super(...arguments),this.beanName="rowPositionUtils"}wireBeans(e){this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.pageBoundsService=e.pageBoundsService}getFirstRow(){let e=0,t;return this.pinnedRowModel.getPinnedTopRowCount()?t="top":this.rowModel.getRowCount()?(t=null,e=this.pageBoundsService.getFirstRow()):this.pinnedRowModel.getPinnedBottomRowCount()&&(t="bottom"),t===void 0?null:{rowIndex:e,rowPinned:t}}getLastRow(){let e,t=null,i=this.pinnedRowModel.getPinnedBottomRowCount(),o=this.pinnedRowModel.getPinnedTopRowCount();return i?(t="bottom",e=i-1):this.rowModel.getRowCount()?(t=null,e=this.pageBoundsService.getLastRow()):o&&(t="top",e=o-1),e===void 0?null:{rowIndex:e,rowPinned:t}}getRowNode(e){switch(e.rowPinned){case"top":return this.pinnedRowModel.getPinnedTopRow(e.rowIndex);case"bottom":return this.pinnedRowModel.getPinnedBottomRow(e.rowIndex);default:return this.rowModel.getRow(e.rowIndex)}}sameRow(e,t){return!e&&!t?!0:e&&!t||!e&&t?!1:e.rowIndex===t.rowIndex&&e.rowPinned==t.rowPinned}before(e,t){switch(e.rowPinned){case"top":if(t.rowPinned!=="top")return!0;break;case"bottom":if(t.rowPinned!=="bottom")return!1;break;default:if(M(t.rowPinned))return t.rowPinned!=="top";break}return e.rowIndex<t.rowIndex}},sn={cssName:"--ag-row-height",changeKey:"rowHeightChanged",defaultValue:42},rn={cssName:"--ag-header-height",changeKey:"headerHeightChanged",defaultValue:48},nn={cssName:"--ag-list-item-height",changeKey:"listItemHeightChanged",defaultValue:24},xp=class extends b{constructor(){super(...arguments),this.beanName="environment",this.sizeEls=new Map,this.lastKnownValues=new Map,this.ancestorThemeClasses=[],this.sizesMeasured=!1,this.gridTheme=null}wireBeans(e){this.resizeObserverService=e.resizeObserverService,this.eGridDiv=e.eGridDiv}postConstruct(){this.addManagedPropertyListener("theme",()=>this.handleThemeGridOptionChange()),this.handleThemeGridOptionChange(),this.addDestroyFunc(()=>this.stopUsingTheme()),this.addManagedPropertyListener("rowHeight",()=>this.refreshRowHeightVariable()),this.ancestorThemeClasses=this.readAncestorThemeClasses(),this.setUpThemeClassObservers(),this.getSizeEl(sn),this.getSizeEl(rn),this.getSizeEl(nn)}getDefaultRowHeight(){return this.getCSSVariablePixelValue(sn)}getDefaultHeaderHeight(){return this.getCSSVariablePixelValue(rn)}getDefaultColumnMinWidth(){return Math.min(36,this.getDefaultRowHeight())}getDefaultListItemHeight(){return this.getCSSVariablePixelValue(nn)}hasMeasuredSizes(){return this.sizesMeasured}getGridThemeClass(){return this.gridTheme?.getCssClass()||null}getThemeClasses(){return this.gridTheme?[this.gridTheme.getCssClass()]:this.ancestorThemeClasses}applyThemeClasses(e){let t=this.getThemeClasses();for(let i of Array.from(e.classList))i.startsWith("ag-theme-")&&!t.includes(i)&&e.classList.remove(i);e.classList.add(...t)}refreshRowHeightVariable(){let e=this.eGridDiv.style.getPropertyValue("--ag-line-height").trim(),t=this.gos.get("rowHeight");if(t==null||isNaN(t)||!isFinite(t))return e!==null&&this.eGridDiv.style.setProperty("--ag-line-height",null),-1;let i=`${t}px`;return e!=i?(this.eGridDiv.style.setProperty("--ag-line-height",i),t):e!=""?parseFloat(e):-1}getCSSVariablePixelValue(e){let t=this.lastKnownValues.get(e);if(t!=null)return t;let i=this.measureSizeEl(e);return i==="detached"||i==="no-styles"?e.defaultValue:(this.lastKnownValues.set(e,i),i)}measureSizeEl(e){let t=this.getSizeEl(e);if(t.offsetParent==null)return"detached";let i=t.offsetWidth;return i===an?"no-styles":(this.sizesMeasured=!0,i)}getSizeEl(e){let t=this.sizeEls.get(e);if(t)return t;let i=this.eMeasurementContainer;i||(i=this.eMeasurementContainer=document.createElement("div"),i.className="ag-measurement-container",this.gos.get("theme")&&this.applyThemeClasses(i),this.eGridDiv.appendChild(i)),t=document.createElement("div"),t.style.width=`var(${e.cssName}, ${an}px)`,i.appendChild(t),this.sizeEls.set(e,t);let o=this.measureSizeEl(e);o==="no-styles"&&S(`no value for ${e.cssName}. This usually means that the grid has been initialised before styles have been loaded. The default value of ${e.defaultValue} will be used and updated when styles load.`);let s=this.resizeObserverService.observeResize(t,()=>{let r=this.measureSizeEl(e);r==="detached"||r==="no-styles"||(this.lastKnownValues.set(e,r),r!==o&&(o=r,this.fireGridStylesChangedEvent(e.changeKey)))});return this.addDestroyFunc(()=>s()),t}fireGridStylesChangedEvent(e){this.eventService.dispatchEvent({type:"gridStylesChanged",[e]:!0})}setUpThemeClassObservers(){let e=new MutationObserver(()=>{let i=this.readAncestorThemeClasses();Dp(i,this.ancestorThemeClasses)||(this.ancestorThemeClasses=i,this.fireGridStylesChangedEvent("themeChanged"))}),t=this.eGridDiv;for(;t;)e.observe(t||this.eGridDiv,{attributes:!0,attributeFilter:["class"]}),t=t.parentElement;this.addDestroyFunc(()=>e.disconnect())}readAncestorThemeClasses(){let e=this.eGridDiv,t=[];for(;e;){let i=Array.from(e.classList).filter(o=>o.startsWith("ag-theme-"));for(let o of i)t.includes(o)||t.unshift(o);e=e.parentElement}return Object.freeze(t)}handleThemeGridOptionChange(){let{gos:e,eMeasurementContainer:t,gridTheme:i}=this,o=e.get("theme")||null;o!==i&&(i?.stopUse(),this.gridTheme=o,o?.startUse({loadThemeGoogleFonts:e.get("loadThemeGoogleFonts"),container:this.eGridDiv}),t&&this.applyThemeClasses(t),this.fireGridStylesChangedEvent("themeChanged"))}stopUsingTheme(){this.gridTheme?.stopUse(),this.gridTheme=null}},Dp=(e,t)=>e.length===t.length&&e.findIndex((i,o)=>e[o]!==t[o])===-1,an=15538,Ep=class extends b{constructor(){super(...arguments),this.beanName="eventService",this.globalEventService=new ri}wireBeans(e){this.globalEventListener=e.globalEventListener,this.globalSyncEventListener=e.globalSyncEventListener}postConstruct(){if(this.globalEventListener){let e=so(this.gos);this.addGlobalListener(this.globalEventListener,e)}this.globalSyncEventListener&&this.addGlobalListener(this.globalSyncEventListener,!1)}addEventListener(e,t,i){this.globalEventService.addEventListener(e,t,i)}removeEventListener(e,t,i){this.globalEventService.removeEventListener(e,t,i)}addGlobalListener(e,t=!1){this.globalEventService.addGlobalListener(e,t)}removeGlobalListener(e,t=!1){this.globalEventService.removeGlobalListener(e,t)}dispatchLocalEvent(){}dispatchEvent(e){this.globalEventService.dispatchEvent(this.gos.addGridCommonParams(e))}dispatchEventOnce(e){this.globalEventService.dispatchEventOnce(this.gos.addGridCommonParams(e))}},Xs=class Ve extends b{constructor(){super(...arguments),this.beanName="focusService"}wireBeans(t){this.eGridDiv=t.eGridDiv,this.columnModel=t.columnModel,this.visibleColsService=t.visibleColsService,this.headerNavigationService=t.headerNavigationService,this.headerPositionUtils=t.headerPositionUtils,this.rowRenderer=t.rowRenderer,this.rowPositionUtils=t.rowPositionUtils,this.cellPositionUtils=t.cellPositionUtils,this.navigationService=t.navigationService,this.ctrlsService=t.ctrlsService,this.filterManager=t.filterManager,this.rangeService=t.rangeService,this.advancedFilterService=t.advancedFilterService,this.overlayService=t.overlayService}static addKeyboardModeEvents(t){this.instanceCount>0||(t.addEventListener("keydown",Ve.toggleKeyboardMode),t.addEventListener("mousedown",Ve.toggleKeyboardMode))}static removeKeyboardModeEvents(t){this.instanceCount>0||(t.removeEventListener("keydown",Ve.toggleKeyboardMode),t.removeEventListener("mousedown",Ve.toggleKeyboardMode))}static toggleKeyboardMode(t){let i=Ve.keyboardModeActive,o=t.type==="keydown";o&&(t.ctrlKey||t.metaKey||t.altKey)||i!==o&&(Ve.keyboardModeActive=o)}postConstruct(){let t=this.clearFocusedCell.bind(this);this.addManagedEventListeners({columnPivotModeChanged:t,newColumnsLoaded:this.onColumnEverythingChanged.bind(this),columnGroupOpened:t,columnRowGroupChanged:t}),this.registerKeyboardFocusEvents(),this.ctrlsService.whenReady(this,i=>{this.gridCtrl=i.gridCtrl})}registerKeyboardFocusEvents(){let t=ve(this.gos);Ve.addKeyboardModeEvents(t),Ve.instanceCount++,this.addDestroyFunc(()=>{Ve.instanceCount--,Ve.removeKeyboardModeEvents(t)})}onColumnEverythingChanged(){if(!this.focusedCellPosition)return;let t=this.focusedCellPosition.column,i=this.columnModel.getCol(t.getId());t!==i&&this.clearFocusedCell()}isKeyboardMode(){return Ve.keyboardModeActive}getFocusCellToUseAfterRefresh(){return this.gos.get("suppressFocusAfterRefresh")||!this.focusedCellPosition||this.isDomDataMissingInHierarchy(fe(this.gos),Bt.DOM_DATA_KEY_ROW_CTRL)?null:this.focusedCellPosition}getFocusHeaderToUseAfterRefresh(){return this.gos.get("suppressFocusAfterRefresh")||!this.focusedHeaderPosition||this.isDomDataMissingInHierarchy(fe(this.gos),Fo.DOM_DATA_KEY_HEADER_CTRL)?null:this.focusedHeaderPosition}isDomDataMissingInHierarchy(t,i){let o=t;for(;o;){if(Di(this.gos,o,i))return!1;o=o.parentNode}return!0}getFocusedCell(){return this.focusedCellPosition}shouldRestoreFocus(t){return this.isCellRestoreFocused(t)?(setTimeout(()=>{this.restoredFocusedCellPosition=null},0),!0):!1}clearRestoreFocus(){this.restoredFocusedCellPosition=null,this.awaitRestoreFocusedCell=!1}restoreFocusedCell(t,i){this.awaitRestoreFocusedCell=!0,setTimeout(()=>{this.awaitRestoreFocusedCell&&(this.setRestoreFocusedCell(t),i())})}isCellRestoreFocused(t){return this.restoredFocusedCellPosition==null?!1:this.cellPositionUtils.equals(t,this.restoredFocusedCellPosition)}setRestoreFocusedCell(t){this.getFrameworkOverrides().renderingEngine==="react"&&(this.restoredFocusedCellPosition=t)}getFocusEventParams(t){let{rowIndex:i,rowPinned:o,column:s}=t,r={rowIndex:i,rowPinned:o,column:s,isFullWidthCell:!1},n=this.rowRenderer.getRowByPosition({rowIndex:i,rowPinned:o});return n&&(r.isFullWidthCell=n.isFullWidth()),r}clearFocusedCell(){if(this.restoredFocusedCellPosition=null,this.focusedCellPosition==null)return;let t=this.getFocusEventParams(this.focusedCellPosition);this.focusedCellPosition=null,this.eventService.dispatchEvent({type:"cellFocusCleared",...t})}setFocusedCell(t){let{column:i,rowIndex:o,rowPinned:s,forceBrowserFocus:r=!1,preventScrollOnBrowserFocus:n=!1}=t,a=this.columnModel.getCol(i);if(!a){this.focusedCellPosition=null;return}this.focusedCellPosition={rowIndex:o,rowPinned:dt(s),column:a},this.eventService.dispatchEvent({type:"cellFocused",...this.getFocusEventParams(this.focusedCellPosition),forceBrowserFocus:r,preventScrollOnBrowserFocus:n})}isCellFocused(t){return this.focusedCellPosition==null?!1:this.cellPositionUtils.equals(t,this.focusedCellPosition)}isRowNodeFocused(t){return this.isRowFocused(t.rowIndex,t.rowPinned)}isHeaderWrapperFocused(t){if(this.focusedHeaderPosition==null)return!1;let i=t.getColumnGroupChild(),o=t.getRowIndex(),s=t.getPinned(),{column:r,headerRowIndex:n}=this.focusedHeaderPosition;return i===r&&o===n&&s==r.getPinned()}clearFocusedHeader(){this.focusedHeaderPosition=null}getFocusedHeader(){return this.focusedHeaderPosition}setFocusedHeader(t,i){this.focusedHeaderPosition={headerRowIndex:t,column:i}}isHeaderFocusSuppressed(){return this.gos.get("suppressHeaderFocus")||this.overlayService.isExclusive()}isCellFocusSuppressed(){return this.gos.get("suppressCellFocus")||this.overlayService.isExclusive()}focusHeaderPosition(t){if(this.isHeaderFocusSuppressed())return!1;let{direction:i,fromTab:o,allowUserOverride:s,event:r,fromCell:n,rowWithoutSpanValue:a}=t,{headerPosition:l}=t;if(n&&this.filterManager?.isAdvancedFilterHeaderActive())return this.focusAdvancedFilter(l);if(s){let c=this.getFocusedHeader(),d=this.headerNavigationService.getHeaderRowCount();if(o){let u=this.gos.getCallback("tabToNextHeader");u&&(l=this.getHeaderPositionFromUserFunc({userFunc:u,direction:i,currentPosition:c,headerPosition:l,headerRowCount:d}))}else{let u=this.gos.getCallback("navigateToNextHeader");if(u&&r){let h={key:r.key,previousHeaderPosition:c,nextHeaderPosition:l,headerRowCount:d,event:r};l=u(h)}}}return l?this.focusProvidedHeaderPosition({headerPosition:l,direction:i,event:r,fromCell:n,rowWithoutSpanValue:a}):!1}focusHeaderPositionFromUserFunc(t){if(this.isHeaderFocusSuppressed())return!1;let{userFunc:i,headerPosition:o,direction:s,event:r}=t,n=this.getFocusedHeader(),a=this.headerNavigationService.getHeaderRowCount(),l=this.getHeaderPositionFromUserFunc({userFunc:i,direction:s,currentPosition:n,headerPosition:o,headerRowCount:a});return!!l&&this.focusProvidedHeaderPosition({headerPosition:l,direction:s,event:r})}getHeaderPositionFromUserFunc(t){let{userFunc:i,direction:o,currentPosition:s,headerPosition:r,headerRowCount:n}=t,l=i({backwards:o==="Before",previousHeaderPosition:s,nextHeaderPosition:r,headerRowCount:n});return l===!0||l===null?(l===null&&S("Since v31.3 Returning `null` from tabToNextHeader is deprecated. Return `true` to stay on the current header, or `false` to let the browser handle the tab behaviour."),s):l===!1?null:l}focusProvidedHeaderPosition(t){let{headerPosition:i,direction:o,fromCell:s,rowWithoutSpanValue:r,event:n}=t,{column:a,headerRowIndex:l}=i;if(l===-1)return this.filterManager?.isAdvancedFilterHeaderActive()?this.focusAdvancedFilter(i):this.focusGridView(a);this.headerNavigationService.scrollToColumn(a,o);let d=this.ctrlsService.getHeaderRowContainerCtrl(a.getPinned())?.focusHeader(i.headerRowIndex,a,n)||!1;return d&&(r!=null||s)&&this.headerNavigationService.setCurrentHeaderRowWithoutSpan(r??-1),d}focusFirstHeader(){if(this.overlayService.isExclusive()&&this.focusOverlay())return!0;let t=this.visibleColsService.getAllCols()[0];if(!t)return!1;t.getParent()&&(t=this.visibleColsService.getColGroupAtLevel(t,0));let i=this.headerPositionUtils.getHeaderIndexToFocus(t,0);return this.focusHeaderPosition({headerPosition:i,rowWithoutSpanValue:0})}focusLastHeader(t){if(this.overlayService.isExclusive()&&this.focusOverlay(!0))return!0;let i=this.headerNavigationService.getHeaderRowCount()-1,o=$(this.visibleColsService.getAllCols());return this.focusHeaderPosition({headerPosition:{headerRowIndex:i,column:o},rowWithoutSpanValue:-1,event:t})}focusPreviousFromFirstCell(t){return this.filterManager?.isAdvancedFilterHeaderActive()?this.focusAdvancedFilter(null):this.focusLastHeader(t)}isAnyCellFocused(){return!!this.focusedCellPosition}isRowFocused(t,i){return this.focusedCellPosition==null?!1:this.focusedCellPosition.rowIndex===t&&this.focusedCellPosition.rowPinned===dt(i)}findFocusableElements(t,i,o=!1){let s=Tc,r=Gn;i&&(r+=", "+i),o&&(r+=', [tabindex="-1"]');let n=Array.prototype.slice.apply(t.querySelectorAll(s)).filter(c=>rt(c)),a=Array.prototype.slice.apply(t.querySelectorAll(r));return a.length?((c,d)=>c.filter(u=>d.indexOf(u)===-1))(n,a):n}focusInto(t,i=!1,o=!1){let s=this.findFocusableElements(t,null,o),r=i?$(s):s[0];return r?(r.focus({preventScroll:!0}),!0):!1}findFocusableElementBeforeTabGuard(t,i){if(!i)return null;let o=this.findFocusableElements(t),s=o.indexOf(i);if(s===-1)return null;let r=-1;for(let n=s-1;n>=0;n--)if(o[n].classList.contains("ag-tab-guard-top")){r=n;break}return r<=0?null:o[r-1]}findNextFocusableElement(t=this.eGridDiv,i,o){let s=this.findFocusableElements(t,i?':not([tabindex="-1"])':null),r=fe(this.gos),n;i?n=s.findIndex(l=>l.contains(r)):n=s.indexOf(r);let a=n+(o?-1:1);return a<0||a>=s.length?null:s[a]}isTargetUnderManagedComponent(t,i){if(!i)return!1;let o=t.querySelectorAll(`.${jt.FOCUS_MANAGED_CLASS}`);if(!o.length)return!1;for(let s=0;s<o.length;s++)if(o[s].contains(i))return!0;return!1}findTabbableParent(t,i=5){let o=0;for(;t&&ds(t)===null&&++o<=i;)t=t.parentElement;return ds(t)===null?null:t}focusOverlay(t){let i=this.overlayService.isVisible()&&this.overlayService.getOverlayWrapper()?.getGui();return!!i&&this.focusInto(i,t)}focusGridViewFailed(t,i){return i&&this.focusOverlay(t)||t&&this.focusLastHeader()}focusGridView(t,i=!1,o=!0){if(this.overlayService.isExclusive())return o&&this.focusOverlay(i);if(this.isCellFocusSuppressed())return i&&!this.isHeaderFocusSuppressed()?this.focusLastHeader():o&&this.focusOverlay(i)?!0:this.focusNextGridCoreContainer(!1);let s=i?this.rowPositionUtils.getLastRow():this.rowPositionUtils.getFirstRow();if(s){let{rowIndex:r,rowPinned:n}=s;if(t??(t=this.getFocusedHeader()?.column),t&&r!==void 0&&r!==null)return this.navigationService.ensureCellVisible({rowIndex:r,column:t,rowPinned:n}),i&&this.rowRenderer.getRowByPosition(s)?.isFullWidth()&&this.navigationService.tryToFocusFullWidthRow(s,i)||(this.setFocusedCell({rowIndex:r,column:t,rowPinned:dt(n),forceBrowserFocus:!0}),this.rangeService?.setRangeToCell({rowIndex:r,rowPinned:n,column:t})),!0}return!!(o&&this.focusOverlay(i)||i&&this.focusLastHeader())}isGridFocused(){let t=fe(this.gos);return!!t&&this.eGridDiv.contains(t)}focusNextGridCoreContainer(t,i=!1){return!i&&this.gridCtrl.focusNextInnerContainer(t)?!0:((i||!t&&!this.gridCtrl.isDetailGrid())&&this.gridCtrl.forceFocusOutOfContainer(t),!1)}focusAdvancedFilter(t){return this.advancedFilterFocusColumn=t?.column,this.advancedFilterService?.getCtrl().focusHeaderComp()??!1}focusNextFromAdvancedFilter(t,i){let o=(i?void 0:this.advancedFilterFocusColumn)??this.visibleColsService.getAllCols()?.[0];return t?this.focusHeaderPosition({headerPosition:{column:o,headerRowIndex:this.headerNavigationService.getHeaderRowCount()-1}}):this.focusGridView(o)}clearAdvancedFilterColumn(){this.advancedFilterFocusColumn=void 0}addFocusableContainer(t){this.gridCtrl.addFocusableContainer(t)}removeFocusableContainer(t){this.gridCtrl.removeFocusableContainer(t)}focusGridInnerElement(t){return this.gridCtrl.focusInnerElement(t)}allowFocusForNextGridCoreContainer(t){this.gridCtrl.allowFocusForNextCoreContainer(t)}};Xs.keyboardModeActive=!1;Xs.instanceCount=0;var Mp=Xs,Pp=class extends b{constructor(){super(...arguments),this.beanName="pinnedWidthService"}wireBeans(e){this.visibleColsService=e.visibleColsService}postConstruct(){let e=this.checkContainerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}checkContainerWidths(){let e=Re(this.gos,"print"),t=e?0:this.visibleColsService.getColsLeftWidth(),i=e?0:this.visibleColsService.getDisplayedColumnsRightWidth();t!=this.leftWidth&&(this.leftWidth=t,this.eventService.dispatchEvent({type:"leftPinnedWidthChanged"})),i!=this.rightWidth&&(this.rightWidth=i,this.eventService.dispatchEvent({type:"rightPinnedWidthChanged"}))}getPinnedRightWidth(){return this.rightWidth}getPinnedLeftWidth(){return this.leftWidth}},Qa=class extends b{constructor(){super(...arguments),this.additionalFocusableContainers=new Set}wireBeans(e){this.beans=e,this.focusService=e.focusService,this.visibleColsService=e.visibleColsService}setComp(e,t,i){this.view=e,this.eGridHostDiv=t,this.eGui=i,this.eGui.setAttribute("grid-id",this.beans.context.getGridId());let{dragAndDropService:o,mouseEventService:s,ctrlsService:r,resizeObserverService:n}=this.beans,a={getContainer:()=>this.eGui,isInterestedIn:c=>c===1||c===0,getIconName:()=>"notAllowed"};o.addDropTarget(a),this.addDestroyFunc(()=>o.removeDropTarget(a)),s.stampTopLevelGridCompWithGridInstance(t),this.createManagedBean(new Qs(this.view)),this.view.setRtlClass(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr"),this.updateGridThemeClass(),this.addManagedEventListeners({gridStylesChanged:this.handleThemeChange.bind(this)});let l=n.observeResize(this.eGridHostDiv,this.onGridSizeChanged.bind(this));this.addDestroyFunc(()=>l()),r.register("gridCtrl",this)}isDetailGrid(){return this.focusService.findTabbableParent(this.getGui())?.getAttribute("row-id")?.startsWith("detail")||!1}getOptionalSelectors(){let e=this.beans;return{paginationSelector:e.paginationService?.getPaginationSelector(),gridHeaderDropZonesSelector:e.columnDropZonesService?.getDropZoneSelector(),sideBarSelector:e.sideBarService?.getSideBarSelector(),statusBarSelector:e.statusBarService?.getStatusPanelSelector(),watermarkSelector:e.licenseManager?.getWatermarkSelector()}}onGridSizeChanged(){this.eventService.dispatchEvent({type:"gridSizeChanged",clientWidth:this.eGridHostDiv.clientWidth,clientHeight:this.eGridHostDiv.clientHeight})}destroyGridUi(){this.view.destroyGridUi()}getGui(){return this.eGui}setResizeCursor(e){this.view.setCursor(e?"ew-resize":null)}disableUserSelect(e){this.view.setUserSelect(e?"none":null)}focusNextInnerContainer(e){let t=this.getFocusableContainers(),{indexWithFocus:i,nextIndex:o}=this.getNextFocusableIndex(t,e);if(o<0||o>=t.length)return!1;if(o===0){if(i>0){let s=this.visibleColsService.getAllCols(),r=$(s);if(this.focusService.focusGridView(r,!0))return!0}return!1}return this.focusContainer(t[o],e)}focusInnerElement(e){let t=this.gos.getCallback("focusGridInnerElement");if(t&&t({fromBottom:!!e}))return!0;let i=this.getFocusableContainers(),o=this.visibleColsService.getAllCols();if(e){if(i.length>1)return this.focusContainer($(i),!0);let s=$(o);if(this.focusService.focusGridView(s,!0))return!0}if(this.gos.get("headerHeight")===0||this.focusService.isHeaderFocusSuppressed()){if(this.focusService.focusGridView(o[0]))return!0;for(let s=1;s<i.length;s++)if(this.focusService.focusInto(i[s].getGui()))return!0;return!1}return this.focusService.focusFirstHeader()}forceFocusOutOfContainer(e=!1){this.view.forceFocusOutOfContainer(e)}addFocusableContainer(e){this.additionalFocusableContainers.add(e)}removeFocusableContainer(e){this.additionalFocusableContainers.delete(e)}allowFocusForNextCoreContainer(e){let t=this.view.getFocusableContainers(),{nextIndex:i,indexWithFocus:o}=this.getNextFocusableIndex(t,e);if(o===-1||i<0||i>=t.length)return;let s=t[i];s.setAllowFocus?.(!0),setTimeout(()=>{s.setAllowFocus?.(!1)})}getNextFocusableIndex(e,t){let i=fe(this.gos),o=e.findIndex(r=>r.getGui().contains(i)),s=o+(t?-1:1);return{indexWithFocus:o,nextIndex:s}}focusContainer(e,t){e.setAllowFocus?.(!0);let i=this.focusService.focusInto(e.getGui(),t);return e.setAllowFocus?.(!1),i}getFocusableContainers(){return[...this.view.getFocusableContainers(),...this.additionalFocusableContainers]}updateGridThemeClass(){let e=this.beans.environment.getGridThemeClass();e&&this.view.setGridThemeClass(e)}handleThemeChange(e){e.themeChanged&&this.updateGridThemeClass()}destroy(){this.additionalFocusableContainers.clear(),super.destroy()}};var Tp=class extends b{constructor(){super(...arguments),this.beanName="alignedGridsService",this.consuming=!1}wireBeans(e){this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.ctrlsService=e.ctrlsService,this.columnApplyStateService=e.columnApplyStateService}getAlignedGridApis(){let e=this.gos.get("alignedGrids")??[],t=typeof e=="function";typeof e=="function"&&(e=e());let i=()=>`See ${this.getFrameworkOverrides().getDocLink("aligned-grids")}`;return e.map(s=>{if(!s){Q("alignedGrids contains an undefined option."),t||Q(`You may want to configure via a callback to avoid setup race conditions:
|
|
139
|
+
"alignedGrids: () => [linkedGrid]"`),Q(i());return}if(this.isGridApi(s))return s;let r=s;return"current"in r?r.current?.api:(r.api||Q(`alignedGrids - No api found on the linked grid. If you are passing gridOptions to alignedGrids since v31 this is no longer valid. ${i()}`),r.api)}).filter(s=>!!s&&!s.isDestroyed())}isGridApi(e){return!!e&&!!e.dispatchEvent}postConstruct(){let e=this.fireColumnEvent.bind(this);this.addManagedEventListeners({columnMoved:e,columnVisible:e,columnPinned:e,columnGroupOpened:e,columnResized:e,bodyScroll:this.fireScrollEvent.bind(this),alignedGridColumn:({event:t})=>this.onColumnEvent(t),alignedGridScroll:({event:t})=>this.onScrollEvent(t)})}fireEvent(e){this.consuming||this.getAlignedGridApis().forEach(t=>{t.isDestroyed()||t.dispatchEvent(e)})}onEvent(e){this.consuming=!0,e(),this.consuming=!1}fireColumnEvent(e){this.fireEvent({type:"alignedGridColumn",event:e})}fireScrollEvent(e){e.direction==="horizontal"&&this.fireEvent({type:"alignedGridScroll",event:e})}onScrollEvent(e){this.onEvent(()=>{this.ctrlsService.getGridBodyCtrl().getScrollFeature().setHorizontalScrollPosition(e.left,!0)})}extractDataFromEvent(e,t){let i=[];return e.columns?e.columns.forEach(o=>{i.push(t(o))}):e.column&&i.push(t(e.column)),i}getMasterColumns(e){return this.extractDataFromEvent(e,t=>t)}getColumnIds(e){return this.extractDataFromEvent(e,t=>t.getColId())}onColumnEvent(e){this.onEvent(()=>{switch(e.type){case"columnMoved":case"columnVisible":case"columnPinned":case"columnResized":{this.processColumnEvent(e);break}case"columnGroupOpened":{this.processGroupOpenedEvent(e);break}case"columnPivotChanged":S("pivoting is not supported with aligned grids. You can only use one of these features at a time in a grid.");break}})}processGroupOpenedEvent(e){let{columnModel:t}=this;e.columnGroups.forEach(i=>{let o=null;i&&(o=t.getProvidedColGroup(i.getGroupId())),!(i&&!o)&&t.setColumnGroupOpened(o,i.isExpanded(),"alignedGridChanged")})}processColumnEvent(e){let t=e.column,i=null;if(t&&(i=this.columnModel.getColDefCol(t.getColId())),t&&!i)return;let o=this.getMasterColumns(e),{columnApplyStateService:s,columnSizeService:r,ctrlsService:n}=this;switch(e.type){case"columnMoved":{let d=e.api.getColumnState().map(u=>({colId:u.colId}));s.applyColumnState({state:d,applyOrder:!0},"alignedGridChanged")}break;case"columnVisible":{let d=e.api.getColumnState().map(u=>({colId:u.colId,hide:u.hide}));s.applyColumnState({state:d},"alignedGridChanged")}break;case"columnPinned":{let d=e.api.getColumnState().map(u=>({colId:u.colId,pinned:u.pinned}));s.applyColumnState({state:d},"alignedGridChanged")}break;case"columnResized":{let c=e,d={};o.forEach(u=>{d[u.getId()]={key:u.getColId(),newWidth:u.getActualWidth()}}),c.flexColumns?.forEach(u=>{d[u.getId()]&&delete d[u.getId()]}),r.setColumnWidths(Object.values(d),!1,c.finished,"alignedGridChanged");break}}let l=n.getGridBodyCtrl().isVerticalScrollShowing();this.getAlignedGridApis().forEach(c=>{c.setGridOption("alwaysShowVerticalScroll",l)})}},Ap={version:B,moduleName:"@ag-grid-community/aligned-grid",beans:[Tp]};function kp(e,t){let i=e.columnModel.getColDefCol(t);return i?i.getColDef():null}function Ip(e){return e.columnModel.getColumnDefs()}function Lp(e,t){typeof t=="number"?e.columnSizeService.sizeColumnsToFit(t,"api"):e.ctrlsService.getGridBodyCtrl().sizeColumnsToFit(t)}function Op(e,t,i){e.columnModel.setColumnGroupOpened(t,i,"api")}function Gp(e,t,i){return e.visibleColsService.getColumnGroup(t,i)}function Np(e,t){return e.columnModel.getProvidedColGroup(t)}function Hp(e,t,i){return e.columnNameService.getDisplayNameForColumn(t,i)||""}function zp(e,t,i){return e.columnNameService.getDisplayNameForColumnGroup(t,i)||""}function Bp(e,t){return e.columnModel.getColDefCol(t)}function Vp(e){return e.columnModel.getColDefCols()}function Wp(e,t){return e.columnApplyStateService.applyColumnState(t,"api")}function Up(e){return e.columnGetStateService.getColumnState()}function _p(e){e.columnApplyStateService.resetColumnState("api")}function jp(e){return e.columnGroupStateService.getColumnGroupState()}function Kp(e,t){e.columnGroupStateService.setColumnGroupState(t,"api")}function Yp(e){e.columnGroupStateService.resetColumnGroupState("api")}function $p(e){return e.visibleColsService.isPinningLeft()||e.visibleColsService.isPinningRight()}function Qp(e){return e.visibleColsService.isPinningLeft()}function qp(e){return e.visibleColsService.isPinningRight()}function Jp(e,t){return e.visibleColsService.getColAfter(t)}function Xp(e,t){return e.visibleColsService.getColBefore(t)}function Zp(e,t,i){e.columnModel.setColsVisible([t],i,"api")}function ef(e,t,i){e.columnModel.setColsVisible(t,i,"api")}function tf(e,t,i){e.columnModel.setColsPinned([t],i,"api")}function of(e,t,i){e.columnModel.setColsPinned(t,i,"api")}function sf(e){return e.columnModel.getCols()}function rf(e){return e.visibleColsService.getLeftCols()}function nf(e){return e.visibleColsService.getCenterCols()}function af(e){return e.visibleColsService.getRightCols()}function lf(e){return e.visibleColsService.getAllCols()}function cf(e){return e.columnViewportService.getViewportColumns()}function df(e,t,i){e.columnMoveService.moveColumns([t],i,"api")}function uf(e,t,i){e.columnMoveService.moveColumnByIndex(t,i,"api")}function hf(e,t,i){e.columnMoveService.moveColumns(t,i,"api")}function gf(e,t,i,o=!0,s="api"){e.columnSizeService.setColumnWidths([{key:t,newWidth:i}],!1,o,s)}function pf(e,t,i=!0,o="api"){e.columnSizeService.setColumnWidths(t,!1,i,o)}function ff(e){return e.visibleColsService.getTreeLeft()}function mf(e){return e.visibleColsService.getTreeCenter()}function vf(e){return e.visibleColsService.getTreeRight()}function Cf(e){return e.visibleColsService.getAllTrees()}function wf(e,t,i){return e.columnAutosizeService.autoSizeCols({colKeys:[t],skipHeader:i,source:"api"})}function yf(e,t,i){e.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:i,source:"api"})}function bf(e,t){e.columnAutosizeService.autoSizeAllColumns("api",t)}var Sf=class extends b{constructor(){super(...arguments),this.beanName="dataTypeService",this.dataTypeDefinitions={},this.isWaitingForRowData=!1,this.isColumnTypeOverrideInDataTypeDefinitions=!1,this.columnStateUpdatesPendingInference={},this.columnStateUpdateListenerDestroyFuncs=[]}wireBeans(e){this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.valueService=e.valueService,this.columnApplyStateService=e.columnApplyStateService,this.filterManager=e.filterManager}postConstruct(){this.groupHideOpenParents=this.gos.get("groupHideOpenParents"),this.addManagedPropertyListener("groupHideOpenParents",()=>{this.groupHideOpenParents=this.gos.get("groupHideOpenParents")}),this.processDataTypeDefinitions(),this.addManagedPropertyListener("dataTypeDefinitions",e=>{this.processDataTypeDefinitions(),this.columnModel.recreateColumnDefs(It(e.source))})}processDataTypeDefinitions(){let e=this.getDefaultDataTypes();this.dataTypeDefinitions={},this.formatValueFuncs={};let t=o=>s=>{let{column:r,node:n,value:a}=s,l=r.getColDef().valueFormatter;return l===o.groupSafeValueFormatter&&(l=o.valueFormatter),this.valueService.formatValue(r,n,a,l)};Object.entries(e).forEach(([o,s])=>{let r={...s,groupSafeValueFormatter:this.createGroupSafeValueFormatter(s)};this.dataTypeDefinitions[o]=r,this.formatValueFuncs[o]=t(r)});let i=this.gos.get("dataTypeDefinitions")??{};this.dataTypeMatchers={},Object.entries(i).forEach(([o,s])=>{let r=this.processDataTypeDefinition(s,i,[o],e);r&&(this.dataTypeDefinitions[o]=r,s.dataTypeMatcher&&(this.dataTypeMatchers[o]=s.dataTypeMatcher),this.formatValueFuncs[o]=t(r))}),this.checkObjectValueHandlers(e),["dateString","text","number","boolean","date"].forEach(o=>{let s=this.dataTypeMatchers[o];s&&delete this.dataTypeMatchers[o],this.dataTypeMatchers[o]=s??e[o].dataTypeMatcher})}mergeDataTypeDefinitions(e,t){let i={...e,...t};return e.columnTypes&&t.columnTypes&&t.appendColumnTypes&&(i.columnTypes=[...eo(e.columnTypes),...eo(t.columnTypes)]),i}processDataTypeDefinition(e,t,i,o){let s,r=e.extendsDataType;if(e.columnTypes&&(this.isColumnTypeOverrideInDataTypeDefinitions=!0),e.extendsDataType===e.baseDataType){let n=o[r],a=t[r];if(n&&a&&(n=a),!this.validateDataTypeDefinition(e,n,r))return;s=this.mergeDataTypeDefinitions(n,e)}else{if(i.includes(r)){S('Data type definition hierarchies (via the "extendsDataType" property) cannot contain circular references.');return}let n=t[r];if(!this.validateDataTypeDefinition(e,n,r))return;let a=this.processDataTypeDefinition(n,t,[...i,r],o);if(!a)return;s=this.mergeDataTypeDefinitions(a,e)}return{...s,groupSafeValueFormatter:this.createGroupSafeValueFormatter(s)}}validateDataTypeDefinition(e,t,i){return t?t.baseDataType!==e.baseDataType?(S('The "baseDataType" property of a data type definition must match that of its parent.'),!1):!0:(S(`The data type definition ${i} does not exist.`),!1)}createGroupSafeValueFormatter(e){if(e.valueFormatter)return t=>{if(t.node?.group){let i=(t.colDef.pivotValueColumn??t.column).getAggFunc();if(i){if(i==="first"||i==="last")return e.valueFormatter(t);if(e.baseDataType==="number"&&i!=="count"){if(typeof t.value=="number")return e.valueFormatter(t);if(typeof t.value=="object"){if(!t.value)return;if("toNumber"in t.value)return e.valueFormatter({...t,value:t.value.toNumber()});if("value"in t.value)return e.valueFormatter({...t,value:t.value.value})}}return}if((this.gos.get("suppressGroupMaintainValueType")||this.gos.get("groupDisplayType")==="groupRows")&&!this.gos.get("treeData"))return}else if(this.groupHideOpenParents&&t.column.isRowGroupActive()&&typeof t.value=="string"&&!e.dataTypeMatcher?.(t.value))return;return e.valueFormatter(t)}}updateColDefAndGetColumnType(e,t,i){let{cellDataType:o}=t,{field:s}=t;if(o===void 0&&(o=e.cellDataType),(o==null||o===!0)&&(o=this.canInferCellDataType(e,t)?this.inferCellDataType(s,i):!1),!o){e.cellDataType=!1;return}let r=this.dataTypeDefinitions[o];if(!r){S(`Missing data type definition - "${o}"`);return}return e.cellDataType=o,r.groupSafeValueFormatter&&(e.valueFormatter=r.groupSafeValueFormatter),r.valueParser&&(e.valueParser=r.valueParser),r.suppressDefaultProperties||this.setColDefPropertiesForBaseDataType(e,o,r,i),r.columnTypes}addColumnListeners(e){if(!this.isWaitingForRowData)return;let t=this.columnStateUpdatesPendingInference[e.getColId()];if(!t)return;let i=o=>{t.add(o.key)};e.addEventListener("columnStateUpdated",i),this.columnStateUpdateListenerDestroyFuncs.push(()=>e.removeEventListener("columnStateUpdated",i))}canInferCellDataType(e,t){if(!de(this.gos))return!1;let i={cellRenderer:!0,valueGetter:!0,valueParser:!0,refData:!0};if(this.doColDefPropsPreventInference(t,i))return!1;let o=t.type===null?e.type:t.type;if(o){let s=this.gos.get("columnTypes")??{};if(eo(o).some(n=>{let a=s[n.trim()];return a&&this.doColDefPropsPreventInference(a,i)}))return!1}return!this.doColDefPropsPreventInference(e,i)}doColDefPropsPreventInference(e,t){return[["cellRenderer","agSparklineCellRenderer"],["valueGetter",void 0],["valueParser",void 0],["refData",void 0]].some(([i,o])=>this.doesColDefPropPreventInference(e,t,i,o))}doesColDefPropPreventInference(e,t,i,o){if(!t[i])return!1;let s=e[i];return s===null?(t[i]=!1,!1):o===void 0?!!s:s===o}inferCellDataType(e,t){if(!e)return;let i,o=this.getInitialData();if(o){let r=e.indexOf(".")>=0&&!this.gos.get("suppressFieldDotNotation");i=bi(o,e,r)}else this.initWaitForRowData(t);if(i==null)return;let[s]=Object.entries(this.dataTypeMatchers).find(([r,n])=>n(i))??["object"];return s}getInitialData(){let e=this.gos.get("rowData");if(e?.length)return e[0];if(this.initialData)return this.initialData;{let t=this.rowModel.getRootNode().allLeafChildren;if(t?.length)return t[0].data}return null}initWaitForRowData(e){if(this.columnStateUpdatesPendingInference[e]=new Set,this.isWaitingForRowData)return;this.isWaitingForRowData=!0;let t=this.isColumnTypeOverrideInDataTypeDefinitions;t&&this.columnModel.queueResizeOperations();let[i]=this.addManagedEventListeners({rowDataUpdateStarted:o=>{let{firstRowData:s}=o;s&&(i?.(),this.isWaitingForRowData=!1,this.processColumnsPendingInference(s,t),this.columnStateUpdatesPendingInference={},t&&this.columnModel.processResizeOperations(),this.eventService.dispatchEvent({type:"dataTypesInferred"}))}})}isPendingInference(){return this.isWaitingForRowData}processColumnsPendingInference(e,t){this.initialData=e;let i=[];this.destroyColumnStateUpdateListeners();let o={},s={};Object.entries(this.columnStateUpdatesPendingInference).forEach(([r,n])=>{let a=this.columnModel.getCol(r);if(!a)return;let l=a.getColDef();if(!this.columnModel.resetColDefIntoCol(a,"cellDataTypeInferred"))return;let c=a.getColDef();if(t&&c.type&&c.type!==l.type){let d=this.getUpdatedColumnState(a,n);d.rowGroup&&d.rowGroupIndex==null&&(o[r]=d),d.pivot&&d.pivotIndex==null&&(s[r]=d),i.push(d)}}),t&&i.push(...this.funcColsService.generateColumnStateForRowGroupAndPivotIndexes(o,s)),i.length&&this.columnApplyStateService.applyColumnState({state:i},"cellDataTypeInferred"),this.initialData=null}getUpdatedColumnState(e,t){let i=this.columnApplyStateService.getColumnStateFromColDef(e);return t.forEach(o=>{delete i[o],o==="rowGroup"?delete i.rowGroupIndex:o==="pivot"&&delete i.pivotIndex}),i}checkObjectValueHandlers(e){let t=this.dataTypeDefinitions.object,i=e.object;this.hasObjectValueParser=t.valueParser!==i.valueParser,this.hasObjectValueFormatter=t.valueFormatter!==i.valueFormatter}getDateStringTypeDefinition(e){return e?this.getDataTypeDefinition(e)??this.dataTypeDefinitions.dateString:this.dataTypeDefinitions.dateString}getDateParserFunction(e){return this.getDateStringTypeDefinition(e).dateParser}getDateFormatterFunction(e){return this.getDateStringTypeDefinition(e).dateFormatter}getDataTypeDefinition(e){let t=e.getColDef();if(t.cellDataType)return this.dataTypeDefinitions[t.cellDataType]}getBaseDataType(e){return this.getDataTypeDefinition(e)?.baseDataType}checkType(e,t){if(t==null)return!0;let i=this.getDataTypeDefinition(e)?.dataTypeMatcher;return i?i(t):!0}validateColDef(e){let t=i=>S(`Cell data type is "object" but no Value ${i} has been provided. Please either provide an object data type definition with a Value ${i}, or set "colDef.value${i}"`);e.cellDataType==="object"&&(e.valueFormatter===this.dataTypeDefinitions.object.groupSafeValueFormatter&&!this.hasObjectValueFormatter&&t("Formatter"),e.editable&&e.valueParser===this.dataTypeDefinitions.object.valueParser&&!this.hasObjectValueParser&&t("Parser"))}getFormatValue(e){return this.formatValueFuncs[e]}setColDefPropertiesForBaseDataType(e,t,i,o){let s=this.formatValueFuncs[t];switch(i.baseDataType){case"number":{e.cellEditor="agNumberCellEditor";break}case"boolean":{e.cellEditor="agCheckboxCellEditor",e.cellRenderer="agCheckboxCellRenderer",e.suppressKeyboardEvent=r=>!!r.colDef.editable&&r.event.key===y.SPACE;break}case"date":{e.cellEditor="agDateCellEditor",e.keyCreator=s;break}case"dateString":{e.cellEditor="agDateStringCellEditor",e.keyCreator=s;break}case"object":{e.cellEditorParams={useFormatter:!0},e.comparator=(r,n)=>{let a=this.columnModel.getColDefCol(o),l=a?.getColDef();if(!a||!l)return 0;let c=r==null?"":s({column:a,node:null,value:r}),d=n==null?"":s({column:a,node:null,value:n});return c===d?0:c>d?1:-1},e.keyCreator=s;break}}this.filterManager?.setColDefPropertiesForDataType(e,i,s)}getDefaultDataTypes(){let e=i=>!!i.match("^\\d{4}-\\d{2}-\\d{2}$"),t=this.localeService.getLocaleTextFunc();return{number:{baseDataType:"number",valueParser:i=>i.newValue?.trim?.()===""?null:Number(i.newValue),valueFormatter:i=>i.value==null?"":typeof i.value!="number"||isNaN(i.value)?t("invalidNumber","Invalid Number"):String(i.value),dataTypeMatcher:i=>typeof i=="number"},text:{baseDataType:"text",valueParser:i=>i.newValue===""?null:es(i.newValue),dataTypeMatcher:i=>typeof i=="string"},boolean:{baseDataType:"boolean",valueParser:i=>i.newValue==null?i.newValue:i.newValue?.trim?.()===""?null:String(i.newValue).toLowerCase()==="true",valueFormatter:i=>i.value==null?"":String(i.value),dataTypeMatcher:i=>typeof i=="boolean"},date:{baseDataType:"date",valueParser:i=>Ge(i.newValue==null?null:String(i.newValue)),valueFormatter:i=>i.value==null?"":!(i.value instanceof Date)||isNaN(i.value.getTime())?t("invalidDate","Invalid Date"):Ke(i.value,!1)??"",dataTypeMatcher:i=>i instanceof Date},dateString:{baseDataType:"dateString",dateParser:i=>Ge(i)??void 0,dateFormatter:i=>Ke(i??null,!1)??void 0,valueParser:i=>e(String(i.newValue))?i.newValue:null,valueFormatter:i=>e(String(i.value))?i.value:"",dataTypeMatcher:i=>typeof i=="string"&&e(i)},object:{baseDataType:"object",valueParser:()=>null,valueFormatter:i=>es(i.value)??""}}}destroyColumnStateUpdateListeners(){this.columnStateUpdateListenerDestroyFuncs.forEach(e=>e()),this.columnStateUpdateListenerDestroyFuncs=[]}destroy(){this.dataTypeDefinitions={},this.dataTypeMatchers={},this.formatValueFuncs={},this.columnStateUpdatesPendingInference={},this.destroyColumnStateUpdateListeners(),super.destroy()}},Rf={version:B,moduleName:"@ag-grid-community/data-type",beans:[Sf]},Ff={version:B,moduleName:"@ag-grid-community/column-api",apiFunctions:{getColumnDef:kp,getColumnDefs:Ip,sizeColumnsToFit:Lp,setColumnGroupOpened:Op,getColumnGroup:Gp,getProvidedColumnGroup:Np,getDisplayNameForColumn:Hp,getDisplayNameForColumnGroup:zp,getColumn:Bp,getColumns:Vp,applyColumnState:Wp,getColumnState:Up,resetColumnState:_p,getColumnGroupState:jp,setColumnGroupState:Kp,resetColumnGroupState:Yp,isPinning:$p,isPinningLeft:Qp,isPinningRight:qp,getDisplayedColAfter:Jp,getDisplayedColBefore:Xp,setColumnVisible:Zp,setColumnsVisible:ef,setColumnPinned:tf,setColumnsPinned:of,getAllGridColumns:sf,getDisplayedLeftColumns:rf,getDisplayedCenterColumns:nf,getDisplayedRightColumns:af,getAllDisplayedColumns:lf,getAllDisplayedVirtualColumns:cf,moveColumn:df,moveColumnByIndex:uf,moveColumns:hf,setColumnWidth:gf,setColumnWidths:pf,getLeftDisplayedColumnGroups:ff,getCenterDisplayedColumnGroups:mf,getRightDisplayedColumnGroups:vf,getAllDisplayedColumnGroups:Cf,autoSizeColumn:wf,autoSizeColumns:yf,autoSizeAllColumns:bf}};function xf(e,t){e.ctrlsService.getGridBodyCtrl().getRowDragFeature().addRowDropZone(t)}function Df(e,t){let i=e.dragAndDropService.findExternalZone(t);i&&e.dragAndDropService.removeDropTarget(i)}function Ef(e,t){return e.ctrlsService.getGridBodyCtrl().getRowDragFeature().getRowDropZone(t)}var Mf={version:B,moduleName:"@ag-grid-community/drag-api",apiFunctions:{addRowDropZone:xf,removeRowDropZone:Df,getRowDropZoneParams:Ef}};function Pf(e){return e.pinnedRowModel.getPinnedTopRowCount()}function Tf(e){return e.pinnedRowModel.getPinnedBottomRowCount()}function Af(e,t){return e.pinnedRowModel.getPinnedTopRow(t)}function kf(e,t){return e.pinnedRowModel.getPinnedBottomRow(t)}var If={version:B,moduleName:"@ag-grid-community/pinned-row-api",apiFunctions:{getPinnedTopRowCount:Pf,getPinnedBottomRowCount:Tf,getPinnedTopRow:Af,getPinnedBottomRow:kf}};function Lf(e){e.overlayService.showLoadingOverlay()}function Of(e){e.overlayService.showNoRowsOverlay()}function Gf(e){e.overlayService.hideOverlay()}var Nf={version:B,moduleName:"@ag-grid-community/overlay-api",apiFunctions:{showLoadingOverlay:Lf,showNoRowsOverlay:Of,hideOverlay:Gf}};function Hf(e,t,i){if(!t)return;let o=e.ctrlsService.getGridBodyCtrl().getGui(),s=`aria-${t}`;i===null?o.removeAttribute(s):o.setAttribute(s,i)}function zf(e,t={}){e.frameworkOverrides.wrapIncoming(()=>e.rowRenderer.refreshCells(t))}function Bf(e,t={}){let i=o=>S(`Since v31.1 api.flashCells parameter '${o}Delay' is deprecated. Please use '${o}Duration' instead.`);M(t.fadeDelay)&&i("fade"),M(t.flashDelay)&&i("flash"),e.frameworkOverrides.wrapIncoming(()=>e.rowRenderer.flashCells(t))}function Vf(e){e.frameworkOverrides.wrapIncoming(()=>e.ctrlsService.getHeaderRowContainerCtrls().forEach(t=>t.refresh()))}function Wf(e){return e.animationFrameService.isQueueEmpty()}function Uf(e){e.animationFrameService.flushAllFrames()}function _f(e){return{rowHeight:mo(e.gos),headerHeight:e.columnModel.getHeaderHeight()}}function jf(e,t={}){return e.rowRenderer.getCellRendererInstances(t).map(Ri)}var Kf={version:B,moduleName:"@ag-grid-community/render-api",apiFunctions:{setGridAriaProperty:Hf,refreshCells:zf,flashCells:Bf,refreshHeader:Vf,isAnimationFrameQueueEmpty:Wf,flushAllAnimationFrames:Uf,getSizesForCurrentTheme:_f,getCellRendererInstances:jf}};function Yf(e){e.valueCache.expire()}function $f(e,t,i){return qa(e,{colKey:t,rowNode:i})}function qa(e,t){let{colKey:i,rowNode:o,useFormatter:s}=t,r=e.columnModel.getColDefCol(i)??e.columnModel.getCol(i);if(K(r))return null;let n=e.valueService.getValueForDisplay(r,o);return s?e.valueService.formatValue(r,o,n)??qe(n,!0):n}function Qf(e){return e.context.getGridId()}function qf(e){e.gridDestroyService.destroy()}function Jf(e){return e.gridDestroyService.isDestroyCalled()}function Xf(e,t){return e.gos.get(t)}function Zf(e,t,i){Ja(e,{[t]:i})}function Ja(e,t){e.gos.updateGridOptions({options:t})}function em(e,t,i){e.apiEventService.addEventListener(t,i)}function tm(e,t,i){e.apiEventService.removeEventListener(t,i)}function im(e,t){e.apiEventService.addGlobalListener(t)}function om(e,t){e.apiEventService.removeGlobalListener(t)}function sm(e){return e.focusService.getFocusedCell()}function rm(e){return e.focusService.clearFocusedCell()}function nm(e,t,i,o){e.focusService.setFocusedCell({rowIndex:t,column:i,rowPinned:o,forceBrowserFocus:!0})}function am(e,t){return e.navigationService.tabToNextCell(!1,t)}function lm(e,t){return e.navigationService.tabToNextCell(!0,t)}function cm(e,t,i=!1){let o=e.headerNavigationService.getHeaderPositionForColumn(t,i);o&&e.focusService.focusHeaderPosition({headerPosition:o})}function dm(e,t,i){let o=e.columnModel.getCol(t);e.menuService.showColumnMenu({column:o,buttonElement:i,positionBy:"button"})}function um(e,t,i){let o=e.columnModel.getCol(t);if(o||(o=e.columnModel.getColDefCol(t)),!o){Q(`column '${t}' not found`);return}e.menuService.showColumnMenu({column:o,mouseEvent:i,positionBy:"mouse"})}function hm(e,t){let i=e.columnModel.getCol(t);if(!i){Q(`column '${t}' not found`);return}e.menuService.showColumnMenu({column:i,positionBy:"auto"})}function gm(e){e.menuService.hidePopupMenu()}function pm(e,t={}){let i=t?t.rowNodes:void 0;e.frameworkOverrides.wrapIncoming(()=>e.rowRenderer.redrawRows(i))}function fm(e,t,i,o,s){e.expansionService.setRowNodeExpanded(t,i,o,s)}function mm(e,t){return e.rowModel.getRowNode(t)}function vm(e,t,i,o){e.rowRenderer.addRenderedRowListener(t,i,o)}function Cm(e){return e.rowRenderer.getRenderedNodes()}function wm(e,t,i){e.rowModel.forEachNode(t,i)}function ym(e){return Xa(e)}function Xa(e){return e.rowRenderer.getFirstVirtualRenderedRow()}function bm(e){return Za(e)}function Za(e){return e.rowRenderer.getLastVirtualRenderedRow()}function Sm(e,t){return e.rowModel.getRow(t)}function Rm(e){return e.rowModel.getRowCount()}function Fm(e){return e.rowModel}function xm(e,t){if(!t.nodes.every(a=>a.rowPinned?(S("cannot select pinned rows"),!1):a.id===void 0?(S("cannot select node until id for node is known"),!1):!0))return;let{nodes:o,source:s,newValue:r}=t,n=o;e.selectionService.setNodesSelected({nodes:n,source:s??"api",newValue:r})}function Dm(e,t="apiSelectAll"){e.selectionService.selectAllRowNodes({source:t})}function Em(e,t="apiSelectAll"){e.selectionService.deselectAllRowNodes({source:t})}function Mm(e,t="apiSelectAllFiltered"){e.selectionService.selectAllRowNodes({source:t,justFiltered:!0})}function Pm(e,t="apiSelectAllFiltered"){e.selectionService.deselectAllRowNodes({source:t,justFiltered:!0})}function Tm(e,t="apiSelectAllCurrentPage"){e.selectionService.selectAllRowNodes({source:t,justCurrentPage:!0})}function Am(e,t="apiSelectAllCurrentPage"){e.selectionService.deselectAllRowNodes({source:t,justCurrentPage:!0})}function km(e){return e.selectionService.getSelectedNodes()}function Im(e){return e.selectionService.getSelectedRows()}function Lm(e){e.sortController.onSortChanged("api")}var Om={version:B,moduleName:"@ag-grid-community/core-api",apiFunctions:{getGridId:Qf,destroy:qf,isDestroyed:Jf,getGridOption:Xf,setGridOption:Zf,updateGridOptions:Ja}},Gm={version:B,moduleName:"@ag-grid-community/row-selection-api",apiFunctions:{setNodesSelected:xm,selectAll:Dm,deselectAll:Em,selectAllFiltered:Mm,deselectAllFiltered:Pm,selectAllOnCurrentPage:Tm,deselectAllOnCurrentPage:Am,getSelectedNodes:km,getSelectedRows:Im}},Nm={version:B,moduleName:"@ag-grid-community/row-api",apiFunctions:{redrawRows:pm,setRowNodeExpanded:fm,getRowNode:mm,addRenderedRowListener:vm,getRenderedNodes:Cm,forEachNode:wm,getFirstDisplayedRow:ym,getFirstDisplayedRowIndex:Xa,getLastDisplayedRow:bm,getLastDisplayedRowIndex:Za,getDisplayedRowAtIndex:Sm,getDisplayedRowCount:Rm,getModel:Fm}},Hm={version:B,moduleName:"@ag-grid-community/scroll-api",apiFunctions:{getVerticalPixelRange:xg,getHorizontalPixelRange:Dg,ensureColumnVisible:ja,ensureIndexVisible:Ka,ensureNodeVisible:Eg}},zm={version:B,moduleName:"@ag-grid-community/keyboard-navigation-api",apiFunctions:{getFocusedCell:sm,clearFocusedCell:rm,setFocusedCell:nm,setFocusedHeader:cm,tabToNextCell:am,tabToPreviousCell:lm}},Bm={version:B,moduleName:"@ag-grid-community/event-api",apiFunctions:{addEventListener:em,addGlobalListener:im,removeEventListener:tm,removeGlobalListener:om}},Vm={version:B,moduleName:"@ag-grid-community/cell-api",apiFunctions:{expireValueCache:Yf,getValue:$f,getCellValue:qa}},Wm={version:B,moduleName:"@ag-grid-community/menu-api",apiFunctions:{showColumnMenuAfterButtonClick:dm,showColumnMenuAfterMouseClick:um,showColumnMenu:hm,hidePopupMenu:gm}},Um={version:B,moduleName:"@ag-grid-community/sort-api",apiFunctions:{onSortChanged:Lm}},_m={version:B,moduleName:"@ag-grid-community/api",dependantModules:[Om,If,Gm,Ff,Nm,Mf,Hm,Nf,zm,Bm,Kf,Vm,Wm,Um]};function jm(e){return e.stateService?.getState()??{}}function Km(e){return e={...e},e.version||(e.version="32.1.0"),e.version==="32.1.0"&&(e=Ym(e)),e}function Ym(e){return e.cellSelection=$m(e,"rangeSelection"),e}function $m(e,t){if(e&&typeof e=="object")return e[t]}var Qm=class extends b{constructor(){super(...arguments),this.beanName="stateService",this.suppressEvents=!0,this.queuedUpdateSources=new Set,this.dispatchStateUpdateEventDebounced=xe(()=>this.dispatchQueuedStateUpdateEvents(),0),this.onRowGroupOpenedDebounced=xe(()=>this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState()),0),this.onRowSelectedDebounced=xe(()=>{this.staleStateKeys.delete("rowSelection"),this.updateCachedState("rowSelection",this.getRowSelectionState())},0),this.staleStateKeys=new Set}wireBeans(e){this.filterManager=e.filterManager,this.ctrlsService=e.ctrlsService,this.pivotResultColsService=e.pivotResultColsService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnGroupStateService=e.columnGroupStateService,this.columnGetStateService=e.columnGetStateService,this.paginationService=e.paginationService,this.selectionService=e.selectionService,this.expansionService=e.expansionService,this.columnAnimationService=e.columnAnimationService,this.columnApplyStateService=e.columnApplyStateService,this.sideBarService=e.sideBarService,this.rangeService=e.rangeService}postConstruct(){this.isClientSideRowModel=de(this.gos),this.cachedState=this.getInitialState(),this.setCachedStateValue("version",B),this.ctrlsService.whenReady(this,()=>this.suppressEventsAndDispatchInitEvent(()=>this.setupStateOnGridReady()));let[e,t,i]=this.addManagedEventListeners({newColumnsLoaded:({source:o})=>{o==="gridInitializing"&&(e(),this.suppressEventsAndDispatchInitEvent(()=>this.setupStateOnColumnsInitialised()))},rowCountReady:()=>{t?.(),this.suppressEventsAndDispatchInitEvent(()=>this.setupStateOnRowCountReady())},firstDataRendered:()=>{i?.(),this.suppressEventsAndDispatchInitEvent(()=>this.setupStateOnFirstDataRendered())}})}getInitialState(){return Km(this.gos.get("initialState")??{})}getState(){return this.staleStateKeys.size&&this.refreshStaleState(),this.cachedState}setupStateOnGridReady(){this.updateCachedState("sideBar",this.getSideBarState());let e=()=>this.updateCachedState("sideBar",this.getSideBarState());this.addManagedEventListeners({toolPanelVisibleChanged:e,sideBarUpdated:e})}setupStateOnColumnsInitialised(){let e=this.getInitialState();this.setColumnState(e),this.setColumnGroupState(e),this.updateColumnState(["aggregation","columnOrder","columnPinning","columnSizing","columnVisibility","pivot","pivot","rowGroup","sort"]),this.updateCachedState("columnGroup",this.getColumnGroupState());let t=i=>()=>this.updateColumnState([i]);this.addManagedEventListeners({columnValueChanged:t("aggregation"),columnMoved:t("columnOrder"),columnPinned:t("columnPinning"),columnResized:t("columnSizing"),columnVisible:t("columnVisibility"),columnPivotChanged:t("pivot"),columnPivotModeChanged:t("pivot"),columnRowGroupChanged:t("rowGroup"),sortChanged:t("sort"),newColumnsLoaded:()=>this.updateColumnState(["aggregation","columnOrder","columnPinning","columnSizing","columnVisibility","pivot","rowGroup","sort"]),columnGroupOpened:()=>this.updateCachedState("columnGroup",this.getColumnGroupState())})}setupStateOnRowCountReady(){let{filter:e,rowGroupExpansion:t,rowSelection:i,pagination:o}=this.getInitialState(),s=this.gos.get("advancedFilterModel");(e||s)&&this.setFilterState(e,s),t&&this.setRowGroupExpansionState(t),i&&this.setRowSelectionState(i),o&&this.setPaginationState(o),this.updateCachedState("filter",this.getFilterState()),this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState()),this.updateCachedState("rowSelection",this.getRowSelectionState()),this.updateCachedState("pagination",this.getPaginationState());let r=()=>this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState());this.addManagedEventListeners({filterChanged:()=>this.updateCachedState("filter",this.getFilterState()),rowGroupOpened:()=>this.onRowGroupOpenedDebounced(),expandOrCollapseAll:r,columnRowGroupChanged:r,rowDataUpdated:()=>{this.gos.get("groupDefaultExpanded")!==0&&setTimeout(()=>{r()})},selectionChanged:()=>{this.staleStateKeys.add("rowSelection"),this.onRowSelectedDebounced()},paginationChanged:n=>{(n.newPage||n.newPageSize)&&this.updateCachedState("pagination",this.getPaginationState())}})}setupStateOnFirstDataRendered(){let{scroll:e,cellSelection:t,focusedCell:i,columnOrder:o}=this.getInitialState();i&&this.setFocusedCellState(i),t&&this.setCellSelectionState(t),e&&this.setScrollState(e),this.setColumnPivotState(!!o?.orderedColIds),this.updateCachedState("sideBar",this.getSideBarState()),this.updateCachedState("focusedCell",this.getFocusedCellState());let s=this.getRangeSelectionState();this.updateCachedState("rangeSelection",s),this.updateCachedState("cellSelection",s),this.updateCachedState("scroll",this.getScrollState()),this.addManagedEventListeners({cellFocused:()=>this.updateCachedState("focusedCell",this.getFocusedCellState()),cellSelectionChanged:r=>{if(r.finished){let n=this.getRangeSelectionState();this.updateCachedState("rangeSelection",n),this.updateCachedState("cellSelection",n)}},bodyScrollEnd:()=>this.updateCachedState("scroll",this.getScrollState())})}getColumnState(){let e=this.columnModel.isPivotMode(),t=[],i=[],o=[],s=[],r=[],n=[],a=[],l=[],c=[],d=0,u=this.columnGetStateService.getColumnState();for(let h=0;h<u.length;h++){let{colId:g,sort:f,sortIndex:m,rowGroup:p,rowGroupIndex:v,aggFunc:w,pivot:C,pivotIndex:R,pinned:P,hide:T,width:x,flex:A}=u[h];c.push(g),f&&(t[m??d++]={colId:g,sort:f}),p&&(i[v??0]=g),typeof w=="string"&&o.push({colId:g,aggFunc:w}),C&&(s[R??0]=g),P&&(P==="right"?n:r).push(g),T&&a.push(g),(A||x)&&l.push({colId:g,flex:A??void 0,width:x})}return{sort:t.length?{sortModel:t}:void 0,rowGroup:i.length?{groupColIds:i}:void 0,aggregation:o.length?{aggregationModel:o}:void 0,pivot:s.length||e?{pivotMode:e,pivotColIds:s}:void 0,columnPinning:r.length||n.length?{leftColIds:r,rightColIds:n}:void 0,columnVisibility:a.length?{hiddenColIds:a}:void 0,columnSizing:l.length?{columnSizingModel:l}:void 0,columnOrder:c.length?{orderedColIds:c}:void 0}}setColumnState(e){let{sort:t,rowGroup:i,aggregation:o,pivot:s,columnPinning:r,columnVisibility:n,columnSizing:a,columnOrder:l,partialColumnState:c}=e,d={},u=p=>{let v=d[p];return v||(v={colId:p},d[p]=v,v)},h=c?{}:{sort:null,sortIndex:null,rowGroup:null,rowGroupIndex:null,aggFunc:null,pivot:null,pivotIndex:null,pinned:null,hide:null,flex:null};t&&(t.sortModel.forEach(({colId:p,sort:v},w)=>{let C=u(p);C.sort=v,C.sortIndex=w}),h.sort=null,h.sortIndex=null),i&&(i.groupColIds.forEach((p,v)=>{let w=u(p);w.rowGroup=!0,w.rowGroupIndex=v}),h.rowGroup=null,h.rowGroupIndex=null),o&&(o.aggregationModel.forEach(({colId:p,aggFunc:v})=>{u(p).aggFunc=v}),h.aggFunc=null),s&&(s.pivotColIds.forEach((p,v)=>{let w=u(p);w.pivot=!0,w.pivotIndex=v}),this.gos.updateGridOptions({options:{pivotMode:s.pivotMode},source:"gridInitializing"}),h.pivot=null,h.pivotIndex=null),r&&(r.leftColIds.forEach(p=>{u(p).pinned="left"}),r.rightColIds.forEach(p=>{u(p).pinned="right"}),h.pinned=null),n&&(n.hiddenColIds.forEach(p=>{u(p).hide=!0}),h.hide=null),a&&(a.columnSizingModel.forEach(({colId:p,flex:v,width:w})=>{let C=u(p);C.flex=v??null,C.width=w}),h.flex=null);let g=l?.orderedColIds,f=!!g?.length,m=f?g.map(p=>u(p)):Object.values(d);m.length&&(this.columnStates=m,this.columnApplyStateService.applyColumnState({state:m,applyOrder:f,defaultState:h},"gridInitializing"))}setColumnPivotState(e){let t=this.columnStates;this.columnStates=void 0;let i=this.columnGroupStates;if(this.columnGroupStates=void 0,!!this.pivotResultColsService.isPivotResultColsPresent()){if(t){let o=[];for(let s of t)this.pivotResultColsService.getPivotResultCol(s.colId)&&o.push(s);this.columnApplyStateService.applyColumnState({state:o,applyOrder:e},"gridInitializing")}i&&this.columnGroupStateService.setColumnGroupState(i,"gridInitializing")}}getColumnGroupState(){let e=this.columnGroupStateService.getColumnGroupState(),t=[];return e.forEach(({groupId:i,open:o})=>{o&&t.push(i)}),t.length?{openColumnGroupIds:t}:void 0}setColumnGroupState(e){if(!Object.prototype.hasOwnProperty.call(e,"columnGroup"))return;let t=new Set(e.columnGroup?.openColumnGroupIds),o=this.columnGroupStateService.getColumnGroupState().map(({groupId:s})=>{let r=t.has(s);return r&&t.delete(s),{groupId:s,open:r}});t.forEach(s=>{o.push({groupId:s,open:!0})}),o.length&&(this.columnGroupStates=o),this.columnGroupStateService.setColumnGroupState(o,"gridInitializing")}getFilterState(){let e=this.filterManager?.getFilterModel();e&&Object.keys(e).length===0&&(e=void 0);let t=this.filterManager?.getAdvancedFilterModel()??void 0;return e||t?{filterModel:e,advancedFilterModel:t}:void 0}setFilterState(e,t){let{filterModel:i,advancedFilterModel:o}=e??{advancedFilterModel:t};i&&this.filterManager?.setFilterModel(i,"columnFilter"),o&&this.filterManager?.setAdvancedFilterModel(o)}getRangeSelectionState(){let e=this.rangeService?.getCellRanges().map(t=>{let{id:i,type:o,startRow:s,endRow:r,columns:n,startColumn:a}=t;return{id:i,type:o,startRow:s,endRow:r,colIds:n.map(l=>l.getColId()),startColId:a.getColId()}});return e?.length?{cellRanges:e}:void 0}setCellSelectionState(e){let{gos:t,rangeService:i,columnModel:o,visibleColsService:s}=this;if(!gt(t)||!i)return;let r=[];if(e.cellRanges.forEach(n=>{let a=[];if(n.colIds.forEach(c=>{let d=o.getCol(c);d&&a.push(d)}),!a.length)return;let l=o.getCol(n.startColId);if(!l){let c=s.getAllCols(),d=new Set(a);l=c.find(u=>d.has(u))}r.push({...n,columns:a,startColumn:l})}),Hl(t)&&zl(t)&&r.length>1)return S("cannot add multiple ranges when `cellSelection.suppressMultiRanges = true`");i.setCellRanges(r)}getScrollState(){if(!this.isClientSideRowModel)return;let e=this.ctrlsService.getGridBodyCtrl()?.getScrollFeature(),{left:t}=e?.getHScrollPosition()??{left:0},{top:i}=e?.getVScrollPosition()??{top:0};return i||t?{top:i,left:t}:void 0}setScrollState(e){if(!this.isClientSideRowModel)return;let{top:t,left:i}=e;this.ctrlsService.getGridBodyCtrl()?.getScrollFeature().setScrollPosition(t,i)}getSideBarState(){return this.sideBarService?.getSideBarComp()?.getState()}getFocusedCellState(){if(!this.isClientSideRowModel)return;let e=this.focusService.getFocusedCell();if(e){let{column:t,rowIndex:i,rowPinned:o}=e;return{colId:t.getColId(),rowIndex:i,rowPinned:o}}}setFocusedCellState(e){if(!this.isClientSideRowModel)return;let{colId:t,rowIndex:i,rowPinned:o}=e;this.focusService.setFocusedCell({column:this.columnModel.getCol(t),rowIndex:i,rowPinned:o,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}getPaginationState(){if(!this.paginationService)return;let e=this.paginationService.getCurrentPage(),t=this.gos.get("paginationAutoPageSize")?void 0:this.paginationService.getPageSize();if(!(!e&&!t))return{page:e,pageSize:t}}setPaginationState(e){this.paginationService&&(e.pageSize&&!this.gos.get("paginationAutoPageSize")&&this.paginationService.setPageSize(e.pageSize,"initialState"),typeof e.page=="number"&&this.paginationService.setPage(e.page))}getRowSelectionState(){let e=this.selectionService.getSelectionState();return!e||!Array.isArray(e)&&(e.selectAll===!1||e.selectAllChildren===!1)&&!e?.toggledNodes?.length?void 0:e}setRowSelectionState(e){this.selectionService.setSelectionState(e,"gridInitializing")}getRowGroupExpansionState(){let e=this.expansionService.getExpandedRows();return e.length?{expandedRowGroupIds:e}:void 0}setRowGroupExpansionState(e){this.expansionService.expandRows(e.expandedRowGroupIds)}updateColumnState(e){let t=this.getColumnState(),i=!1;Object.entries(t).forEach(([o,s])=>{io(s,this.cachedState[o])||(i=!0)}),this.cachedState={...this.cachedState,...t},i&&this.dispatchStateUpdateEvent(e)}updateCachedState(e,t){let i=this.cachedState[e];this.setCachedStateValue(e,t),io(t,i)||this.dispatchStateUpdateEvent([e])}setCachedStateValue(e,t){this.cachedState={...this.cachedState,[e]:t}}refreshStaleState(){this.staleStateKeys.forEach(e=>{e==="rowSelection"&&this.setCachedStateValue(e,this.getRowSelectionState())}),this.staleStateKeys.clear()}dispatchStateUpdateEvent(e){this.suppressEvents||(e.forEach(t=>this.queuedUpdateSources.add(t)),this.dispatchStateUpdateEventDebounced())}dispatchQueuedStateUpdateEvents(){let e=Array.from(this.queuedUpdateSources);this.queuedUpdateSources.clear(),this.eventService.dispatchEvent({type:"stateUpdated",sources:e,state:this.cachedState})}suppressEventsAndDispatchInitEvent(e){this.suppressEvents=!0,this.columnAnimationService.setSuppressAnimation(!0),e(),setTimeout(()=>{this.suppressEvents=!1,this.queuedUpdateSources.clear(),this.isAlive()&&(this.columnAnimationService.setSuppressAnimation(!1),this.dispatchStateUpdateEvent(["gridInitializing"]))})}},el={version:B,moduleName:"@ag-grid-community/state-core",beans:[Qm]},qm={version:B,moduleName:"@ag-grid-community/state-api",apiFunctions:{getState:jm},dependantModules:[el]},Jm={version:B,moduleName:"@ag-grid-community/state",dependantModules:[el,qm]};function Xm(e){return e.rowModel.isLastRowIndexKnown()}function Zm(e){return e.paginationService?.getPageSize()??100}function ev(e){return e.paginationService?.getCurrentPage()??0}function tv(e){return e.paginationService?.getTotalPages()??1}function iv(e){return e.paginationService?e.paginationService.getMasterRowCount():e.rowModel.getRowCount()}function ov(e){e.paginationService?.goToNextPage()}function sv(e){e.paginationService?.goToPreviousPage()}function rv(e){e.paginationService?.goToFirstPage()}function nv(e){e.paginationService?.goToLastPage()}function av(e,t){e.paginationService?.goToPage(t)}var lv=class extends b{constructor(){super(...arguments),this.beanName="paginationAutoPageSizeService"}wireBeans(e){this.ctrlsService=e.ctrlsService,this.paginationService=e.paginationService}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.centerRowsCtrl=e.center;let t=this.checkPageSize.bind(this);this.addManagedEventListeners({bodyHeightChanged:t,scrollVisibilityChanged:t}),this.addManagedPropertyListener("paginationAutoPageSize",this.onPaginationAutoSizeChanged.bind(this)),this.checkPageSize()})}notActive(){return!this.gos.get("paginationAutoPageSize")||this.centerRowsCtrl==null}onPaginationAutoSizeChanged(){this.notActive()?this.paginationService.unsetAutoCalculatedPageSize():this.checkPageSize()}checkPageSize(){if(this.notActive())return;let e=this.centerRowsCtrl.getViewportSizeFeature().getBodyHeight();if(e>0){let t=()=>{let i=Math.max(mo(this.gos),1),o=Math.floor(e/i);this.paginationService.setPageSize(o,"autoCalculated")};this.isBodyRendered?xe(()=>t(),50)():(t(),this.isBodyRendered=!0)}else this.isBodyRendered=!1}};function cv(e,t,i){e.addManagedElementListeners(t,{keydown:o=>{if(!o.defaultPrevented&&o.key===y.TAB){let s=o.shiftKey;i.findNextFocusableElement(t,!1,s)||i.focusNextGridCoreContainer(s)&&o.preventDefault()}}})}var Ci="paginationPageSizeSelector",dv=class extends ce{constructor(){super('<span class="ag-paging-page-size"></span>'),this.hasEmptyOption=!1,this.handlePageSizeItemSelected=()=>{if(!this.selectPageSizeComp)return;let e=this.selectPageSizeComp.getValue();if(!e)return;let t=Number(e);isNaN(t)||t<1||t===this.paginationService.getPageSize()||(this.paginationService.setPageSize(t,"pageSizeSelector"),this.hasEmptyOption&&this.toggleSelectDisplay(!0),this.selectPageSizeComp.getFocusableElement().focus())}}wireBeans(e){this.paginationService=e.paginationService}postConstruct(){this.addManagedPropertyListener(Ci,()=>{this.onPageSizeSelectorValuesChange()}),this.addManagedEventListeners({paginationChanged:e=>this.handlePaginationChanged(e)})}handlePaginationChanged(e){if(!this.selectPageSizeComp||!e?.newPageSize)return;let t=this.paginationService.getPageSize();this.getPageSizeSelectorValues().includes(t)?this.selectPageSizeComp.setValue(t.toString()):this.hasEmptyOption?this.selectPageSizeComp.setValue(""):this.toggleSelectDisplay(!0)}toggleSelectDisplay(e){this.selectPageSizeComp&&!e&&this.reset(),e&&(this.reloadPageSizesSelector(),this.selectPageSizeComp)}reset(){Be(this.getGui()),this.selectPageSizeComp&&(this.selectPageSizeComp=this.destroyBean(this.selectPageSizeComp))}onPageSizeSelectorValuesChange(){this.selectPageSizeComp&&this.shouldShowPageSizeSelector()&&this.reloadPageSizesSelector()}shouldShowPageSizeSelector(){return this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel")&&!this.gos.get("paginationAutoPageSize")&&this.gos.get(Ci)!==!1}reloadPageSizesSelector(){let e=this.getPageSizeSelectorValues(),t=this.paginationService.getPageSize(),i=!t||!e.includes(t);if(i){let s=this.gos.exists("paginationPageSize"),r=this.gos.get(Ci)!==!0;S(`'paginationPageSize=${t}'${s?"":" (default value)"}, but ${t} is not included in${r?"":" the default"} paginationPageSizeSelector=[${e.join(", ")}].`),r||S(`Either set '${Ci}' to an array that includes ${t} or to 'false' to disable the page size selector.`),e.unshift("")}let o=String(i?"":t);this.selectPageSizeComp?(Pt(this.pageSizeOptions,e)||(this.selectPageSizeComp.clearOptions().addOptions(this.createPageSizeSelectOptions(e)),this.pageSizeOptions=e),this.selectPageSizeComp.setValue(o,!0)):this.createPageSizeSelectorComp(e,o),this.hasEmptyOption=i}createPageSizeSelectOptions(e){return e.map(t=>({value:String(t)}))}createPageSizeSelectorComp(e,t){let i=this.localeService.getLocaleTextFunc(),o=i("pageSizeSelectorLabel","Page Size:"),s=i("ariaPageSizeSelectorLabel","Page Size");this.selectPageSizeComp=this.createManagedBean(new Bs).addOptions(this.createPageSizeSelectOptions(e)).setValue(t).setAriaLabel(s).setLabel(o).onValueChange(()=>this.handlePageSizeItemSelected()),this.appendChild(this.selectPageSizeComp)}getPageSizeSelectorValues(){let e=[20,50,100],t=this.gos.get(Ci);return!Array.isArray(t)||Ee(t)?e:[...t].sort((i,o)=>i-o)}destroy(){this.toggleSelectDisplay(!1),super.destroy()}},uv={selector:"AG-PAGE-SIZE-SELECTOR",component:dv},hv=class extends tp{constructor(){super(),this.btFirst=z,this.btPrevious=z,this.btNext=z,this.btLast=z,this.lbRecordCount=z,this.lbFirstRowOnPage=z,this.lbLastRowOnPage=z,this.lbCurrent=z,this.lbTotal=z,this.pageSizeComp=z,this.previousAndFirstButtonsDisabled=!1,this.nextButtonDisabled=!1,this.lastButtonDisabled=!1,this.areListenersSetup=!1,this.allowFocusInnerElement=!1}wireBeans(e){this.rowModel=e.rowModel,this.paginationService=e.paginationService,this.focusService=e.focusService,this.ariaAnnouncementService=e.ariaAnnouncementService}postConstruct(){let e=this.gos.get("enableRtl");this.setTemplate(this.getTemplate(),[uv]);let{btFirst:t,btPrevious:i,btNext:o,btLast:s}=this;this.activateTabIndex([t,i,o,s]),t.insertAdjacentElement("afterbegin",ze(e?"last":"first",this.gos)),i.insertAdjacentElement("afterbegin",ze(e?"next":"previous",this.gos)),o.insertAdjacentElement("afterbegin",ze(e?"previous":"next",this.gos)),s.insertAdjacentElement("afterbegin",ze(e?"first":"last",this.gos)),this.addManagedPropertyListener("pagination",this.onPaginationChanged.bind(this)),this.addManagedPropertyListener("suppressPaginationPanel",this.onPaginationChanged.bind(this)),this.addManagedPropertyListeners(["paginationPageSizeSelector","paginationAutoPageSize","suppressPaginationPanel"],()=>this.onPageSizeRelatedOptionsChange()),this.pageSizeComp.toggleSelectDisplay(this.pageSizeComp.shouldShowPageSizeSelector()),this.initialiseTabGuard({onTabKeyDown:()=>{},focusInnerElement:r=>{this.allowFocusInnerElement?this.tabGuardFeature.getTabGuardCtrl().focusInnerElement(r):this.focusService.focusGridInnerElement(r)},forceFocusOutWhenTabGuardsAreEmpty:!0}),this.onPaginationChanged()}setAllowFocus(e){this.allowFocusInnerElement=e}onPaginationChanged(){let t=this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel");this.setDisplayed(t),t&&(this.setupListeners(),this.enableOrDisableButtons(),this.updateLabels(),this.onPageSizeRelatedOptionsChange())}onPageSizeRelatedOptionsChange(){this.pageSizeComp.toggleSelectDisplay(this.pageSizeComp.shouldShowPageSizeSelector())}setupListeners(){this.areListenersSetup||(this.addManagedEventListeners({paginationChanged:this.onPaginationChanged.bind(this)}),[{el:this.btFirst,fn:this.onBtFirst.bind(this)},{el:this.btPrevious,fn:this.onBtPrevious.bind(this)},{el:this.btNext,fn:this.onBtNext.bind(this)},{el:this.btLast,fn:this.onBtLast.bind(this)}].forEach(e=>{let{el:t,fn:i}=e;this.addManagedListeners(t,{click:i,keydown:o=>{(o.key===y.ENTER||o.key===y.SPACE)&&(o.preventDefault(),i())}})}),cv(this,this.getGui(),this.focusService),this.areListenersSetup=!0)}onBtFirst(){this.previousAndFirstButtonsDisabled||this.paginationService.goToFirstPage()}formatNumber(e){let t=this.gos.getCallback("paginationNumberFormatter");if(t)return t({value:e});let i=this.localeService.getLocaleTextFunc(),o=i("thousandSeparator",","),s=i("decimalSeparator",".");return au(e,o,s)}getTemplate(){let e=this.localeService.getLocaleTextFunc(),t=e("page","Page"),i=e("to","to"),o=e("of","of"),s=e("firstPage","First Page"),r=e("previousPage","Previous Page"),n=e("nextPage","Next Page"),a=e("lastPage","Last Page"),l=this.getCompId();return`<div class="ag-paging-panel ag-unselectable" id="ag-${l}">
|
|
140
140
|
<ag-page-size-selector data-ref="pageSizeComp"></ag-page-size-selector>
|
|
141
141
|
<span class="ag-paging-row-summary-panel">
|
|
142
142
|
<span id="ag-${l}-first-row" data-ref="lbFirstRowOnPage" class="ag-paging-row-summary-panel-number"></span>
|
|
@@ -157,6 +157,6 @@ To run logic when the grid is about to be destroyed use the gridPreDestroy event
|
|
|
157
157
|
<div data-ref="btNext" class="ag-button ag-paging-button" role="button" aria-label="${n}"></div>
|
|
158
158
|
<div data-ref="btLast" class="ag-button ag-paging-button" role="button" aria-label="${a}"></div>
|
|
159
159
|
</span>
|
|
160
|
-
</div>`}onBtNext(){this.nextButtonDisabled||this.paginationService.goToNextPage()}onBtPrevious(){this.previousAndFirstButtonsDisabled||this.paginationService.goToPreviousPage()}onBtLast(){this.lastButtonDisabled||this.paginationService.goToLastPage()}enableOrDisableButtons(){let e=this.paginationService.getCurrentPage(),t=this.rowModel.isLastRowIndexKnown(),i=this.paginationService.getTotalPages();this.previousAndFirstButtonsDisabled=e===0,this.toggleButtonDisabled(this.btFirst,this.previousAndFirstButtonsDisabled),this.toggleButtonDisabled(this.btPrevious,this.previousAndFirstButtonsDisabled);let o=this.isZeroPagesToDisplay(),s=e===i-1;this.nextButtonDisabled=s||o,this.lastButtonDisabled=!t||o||e===i-1,this.toggleButtonDisabled(this.btNext,this.nextButtonDisabled),this.toggleButtonDisabled(this.btLast,this.lastButtonDisabled)}toggleButtonDisabled(e,t){Sc(e,t),e.classList.toggle("ag-disabled",t)}isZeroPagesToDisplay(){let e=this.rowModel.isLastRowIndexKnown(),t=this.paginationService.getTotalPages();return e&&t===0}updateLabels(){let e=this.rowModel.isLastRowIndexKnown(),t=this.paginationService.getTotalPages(),i=this.paginationService.getMasterRowCount(),o=e?i:null;if(o===1){let w=this.rowModel.getRow(0);if(w&&w.group&&!(w.groupData||w.aggData)){this.setTotalLabelsToZero();return}}let s=this.paginationService.getCurrentPage(),r=this.paginationService.getPageSize(),n,a;this.isZeroPagesToDisplay()?n=a=0:(n=r*s+1,a=n+r-1,e&&a>o&&(a=o));let l=n+r-1,c=!e&&i<l,d=this.formatNumber(n);this.lbFirstRowOnPage.textContent=d;let u,h=this.localeService.getLocaleTextFunc();c?u=h("pageLastRowUnknown","?"):u=this.formatNumber(a),this.lbLastRowOnPage.textContent=u;let f=t>0?s+1:0,m=this.formatNumber(f);this.lbCurrent.textContent=m;let p,v;if(e)p=this.formatNumber(t),v=this.formatNumber(o);else{let w=h("more","more");p=w,v=w}this.lbTotal.textContent=p,this.lbRecordCount.textContent=v,this.announceAriaStatus(d,u,v,m,p)}announceAriaStatus(e,t,i,o,s){let r=this.localeService.getLocaleTextFunc(),n=r("page","Page"),a=r("to","to"),l=r("of","of"),c=`${e} ${a} ${t} ${l} ${i}`,d=`${n} ${o} ${l} ${s}`;c!==this.ariaRowStatus&&(this.ariaRowStatus=c,this.ariaAnnouncementService.announceValue(c,"paginationRow")),d!==this.ariaPageStatus&&(this.ariaPageStatus=d,this.ariaAnnouncementService.announceValue(d,"paginationPage"))}setTotalLabelsToZero(){let e=this.formatNumber(0);this.lbFirstRowOnPage.textContent=e,this.lbCurrent.textContent=e,this.lbLastRowOnPage.textContent=e,this.lbTotal.textContent=e,this.lbRecordCount.textContent=e,this.announceAriaStatus(e,e,e,e,e)}},uv={selector:"AG-PAGINATION",component:dv},hv=class extends b{constructor(){super(...arguments),this.beanName="paginationService",this.currentPage=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=0,this.masterRowCount=0}wireBeans(e){this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.active=this.gos.get("pagination"),this.pageSizeFromGridOptions=this.gos.get("paginationPageSize"),this.paginateChildRows=this.isPaginateChildRows(),this.addManagedPropertyListener("pagination",this.onPaginationGridOptionChanged.bind(this)),this.addManagedPropertyListener("paginationPageSize",this.onPageSizeGridOptionChanged.bind(this))}getPaginationSelector(){return uv}isPaginateChildRows(){return this.gos.get("groupRemoveSingleChildren")||this.gos.get("groupRemoveLowestSingleChildren")?!0:this.gos.get("paginateChildRows")}onPaginationGridOptionChanged(){this.active=this.gos.get("pagination"),this.calculatePages(),this.dispatchPaginationChangedEvent({keepRenderedRows:!0})}onPageSizeGridOptionChanged(){this.setPageSize(this.gos.get("paginationPageSize"),"gridOptions")}goToPage(e){!this.active||this.currentPage===e||typeof this.currentPage!="number"||(this.currentPage=e,this.calculatePages(),this.dispatchPaginationChangedEvent({newPage:!0}))}isRowPresent(e){return e.rowIndex>=this.topDisplayedRowIndex&&e.rowIndex<=this.bottomDisplayedRowIndex}getPageForIndex(e){return Math.floor(e/this.pageSize)}goToPageWithIndex(e){if(!this.active)return;let t=this.getPageForIndex(e);this.goToPage(t)}isRowInPage(e){return this.active?this.getPageForIndex(e.rowIndex)===this.currentPage:!0}getCurrentPage(){return this.currentPage}goToNextPage(){this.goToPage(this.currentPage+1)}goToPreviousPage(){this.goToPage(this.currentPage-1)}goToFirstPage(){this.goToPage(0)}goToLastPage(){let e=this.rowModel.getRowCount(),t=Math.floor(e/this.pageSize);this.goToPage(t)}getPageSize(){return this.pageSize}getTotalPages(){return this.totalPages}setPage(e){this.currentPage=e}get pageSize(){return M(this.pageSizeAutoCalculated)&&this.gos.get("paginationAutoPageSize")?this.pageSizeAutoCalculated:M(this.pageSizeFromPageSizeSelector)?this.pageSizeFromPageSizeSelector:M(this.pageSizeFromInitialState)?this.pageSizeFromInitialState:M(this.pageSizeFromGridOptions)?this.pageSizeFromGridOptions:this.defaultPageSize}calculatePages(){this.active?this.paginateChildRows?this.calculatePagesAllRows():this.calculatePagesMasterRowsOnly():this.calculatedPagesNotActive(),this.pageBoundsService.calculateBounds(this.topDisplayedRowIndex,this.bottomDisplayedRowIndex)}unsetAutoCalculatedPageSize(){if(this.pageSizeAutoCalculated===void 0)return;let e=this.pageSizeAutoCalculated;this.pageSizeAutoCalculated=void 0,this.pageSize!==e&&(this.calculatePages(),this.dispatchPaginationChangedEvent({newPageSize:!0}))}setPageSize(e,t){let i=this.pageSize;switch(t){case"autoCalculated":this.pageSizeAutoCalculated=e;break;case"pageSizeSelector":this.pageSizeFromPageSizeSelector=e,this.currentPage!==0&&this.goToFirstPage();break;case"initialState":this.pageSizeFromInitialState=e;break;case"gridOptions":this.pageSizeFromGridOptions=e,this.pageSizeFromInitialState=void 0,this.pageSizeFromPageSizeSelector=void 0,this.currentPage!==0&&this.goToFirstPage();break}i!==this.pageSize&&(this.calculatePages(),this.dispatchPaginationChangedEvent({newPageSize:!0,keepRenderedRows:!0}))}setZeroRows(){this.masterRowCount=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=-1,this.currentPage=0,this.totalPages=0}adjustCurrentPageIfInvalid(){this.currentPage>=this.totalPages&&(this.currentPage=this.totalPages-1),(!isFinite(this.currentPage)||isNaN(this.currentPage)||this.currentPage<0)&&(this.currentPage=0)}calculatePagesMasterRowsOnly(){if(this.masterRowCount=this.rowModel.getTopLevelRowCount(),this.masterRowCount<=0){this.setZeroRows();return}let e=this.masterRowCount-1;this.totalPages=Math.floor(e/this.pageSize)+1,this.adjustCurrentPageIfInvalid();let t=this.pageSize*this.currentPage,i=this.pageSize*(this.currentPage+1)-1;if(i>e&&(i=e),this.topDisplayedRowIndex=this.rowModel.getTopLevelRowDisplayedIndex(t),i===e)this.bottomDisplayedRowIndex=this.rowModel.getRowCount()-1;else{let o=this.rowModel.getTopLevelRowDisplayedIndex(i+1);this.bottomDisplayedRowIndex=o-1}}getMasterRowCount(){return this.masterRowCount}calculatePagesAllRows(){if(this.masterRowCount=this.rowModel.getRowCount(),this.masterRowCount===0){this.setZeroRows();return}let e=this.masterRowCount-1;this.totalPages=Math.floor(e/this.pageSize)+1,this.adjustCurrentPageIfInvalid(),this.topDisplayedRowIndex=this.pageSize*this.currentPage,this.bottomDisplayedRowIndex=this.pageSize*(this.currentPage+1)-1,this.bottomDisplayedRowIndex>e&&(this.bottomDisplayedRowIndex=e)}calculatedPagesNotActive(){this.setPageSize(void 0,"autoCalculated"),this.totalPages=1,this.currentPage=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=this.rowModel.getRowCount()-1}dispatchPaginationChangedEvent(e){let{keepRenderedRows:t=!1,newPage:i=!1,newPageSize:o=!1}=e;this.eventService.dispatchEvent({type:"paginationChanged",animate:!1,newData:!1,newPage:i,newPageSize:o,keepRenderedRows:t})}},Za={version:B,moduleName:"@ag-grid-community/pagination-core",beans:[hv,nv]},gv={version:B,moduleName:"@ag-grid-community/pagination-api",dependantModules:[Za],apiFunctions:{paginationIsLastPageFound:qm,paginationGetPageSize:Jm,paginationGetCurrentPage:Xm,paginationGetTotalPages:Zm,paginationGetRowCount:ev,paginationGoToNextPage:tv,paginationGoToPreviousPage:iv,paginationGoToFirstPage:ov,paginationGoToLastPage:sv,paginationGoToPage:rv}},pv={version:B,moduleName:"@ag-grid-community/pagination",dependantModules:[Za,gv]},Oe="clientSide",Ae="serverSide",Xt="infinite",fv={onGroupExpandedOrCollapsed:[Oe],refreshClientSideRowModel:[Oe],isRowDataEmpty:[Oe],forEachLeafNode:[Oe],forEachNodeAfterFilter:[Oe],forEachNodeAfterFilterAndSort:[Oe],resetRowHeights:[Oe],applyTransaction:[Oe],applyTransactionAsync:[Oe],flushAsyncTransactions:[Oe],getBestCostNodeSelection:[Oe],getServerSideSelectionState:[Ae],setServerSideSelectionState:[Ae],applyServerSideTransaction:[Ae],applyServerSideTransactionAsync:[Ae],applyServerSideRowData:[Ae],retryServerSideLoads:[Ae],flushServerSideAsyncTransactions:[Ae],refreshServerSide:[Ae],getServerSideGroupLevelState:[Ae],refreshInfiniteCache:[Xt],purgeInfiniteCache:[Xt],getInfiniteRowCount:[Xt],isLastRowIndexKnown:[Xt,Ae],expandAll:[Oe,Ae],collapseAll:[Oe,Ae],onRowHeightChanged:[Oe,Ae],setRowCount:[Xt,Ae],getCacheBlockState:[Xt,Ae]},mv={getValue:{version:"v31.3",new:"getCellValue"},getFirstDisplayedRow:{version:"v31.1",new:"getFirstDisplayedRowIndex"},getLastDisplayedRow:{version:"v31.1",new:"getLastDisplayedRowIndex"},getModel:{version:"v31.1",message:"Please use the appropriate grid API methods instead."},setColumnVisible:{version:"v31.1",old:"setColumnVisible(key,visible)",new:"setColumnsVisible([key],visible)"},setColumnPinned:{version:"v31.1",old:"setColumnPinned(key,pinned)",new:"setColumnsPinned([key],pinned)"},moveColumn:{version:"v31.1",old:"moveColumn(key, toIndex)",new:"moveColumns([key], toIndex)"},setColumnWidth:{version:"v31.1",old:"setColumnWidth(col, width)",new:"setColumnWidths([{key: col, newWidth: width}])"},autoSizeColumn:{version:"v31.1",old:"autoSizeColumn(key, skipHeader)",new:"autoSizeColumns([key], skipHeader)"},addAggFunc:{version:"v31.1",old:"addAggFunc(key, func)",new:"addAggFuncs({ key: func })"},removeValueColumn:{version:"v31.1",old:"removeValueColumn(colKey)",new:"removeValueColumns([colKey])"},addValueColumn:{version:"v31.1",old:"addValueColumn(colKey)",new:"addValueColumns([colKey])"},removeRowGroupColumn:{version:"v31.1",old:"removeRowGroupColumn(colKey)",new:"removeRowGroupColumns([colKey])"},addRowGroupColumn:{version:"v31.1",old:"addRowGroupColumn(colKey)",new:"addRowGroupColumns([colKey])"},removePivotColumn:{version:"v31.1",old:"removePivotColumn(colKey)",new:"removePivotColumns([colKey])"},addPivotColumn:{version:"v31.1",old:"addPivotColumn(colKey)",new:"addPivotColumns([colKey])"},showColumnMenuAfterButtonClick:{version:"v31.1",message:"Use 'IHeaderParams.showColumnMenu' within a header component, or 'api.showColumnMenu' elsewhere."},showColumnMenuAfterMouseClick:{version:"v31.1",message:"Use 'IHeaderParams.showColumnMenuAfterMouseClick' within a header component, or 'api.showColumnMenu' elsewhere."},getFilterInstance:{version:"v31.1",message:"'getFilterInstance' is deprecated. To get/set individual filter models, use 'getColumnFilterModel' or 'setColumnFilterModel' instead. To get hold of the filter instance, use 'getColumnFilterInstance' which returns the instance asynchronously."},showLoadingOverlay:{version:"v32",message:'`showLoadingOverlay` is deprecated. Use the grid option "loading"=true instead or setGridOption("loading", true).'},clearRangeSelection:{version:"v32.2",message:"Use `clearCellSelection` instead."},getInfiniteRowCount:{version:"v32.2",old:"getInfiniteRowCount()",new:"getDisplayedRowCount()"}};function vv(e,t,i){let o=mv[e];if(o){let{version:r,new:n,old:a,message:l}=o,c=a??e;return(...d)=>{let u=n?`Please use ${n} instead. `:"";return S(`Since ${r} api.${c} is deprecated. ${u}${l??""}`),t.apply(t,d)}}let s=fv[e];return s?(...r)=>{let n=i.rowModel.getType();if(!s.includes(n)){Q(`api.${e} can only be called when gridOptions.rowModelType is ${s.join(" or ")}`);return}return t.apply(t,r)}:t}var Cv={columnsMenuParams:{version:"31.1",message:"Use `columnChooserParams` instead."},suppressMenu:{version:"31.1",message:"Use `suppressHeaderMenuButton` instead."},suppressCellFlash:{version:"31.2",message:"Use `enableCellChangeFlash={false}` in the ColDef"},checkboxSelection:{version:"32.2",message:"Use `rowSelection.checkboxes` in `GridOptions` instead."},headerCheckboxSelection:{version:"32.2",message:"Use `rowSelection.headerCheckbox = true` in `GridOptions` instead."},headerCheckboxSelectionFilteredOnly:{version:"32.2",message:'Use `rowSelection.selectAll = "filtered"` in `GridOptions` instead.'},headerCheckboxSelectionCurrentPageOnly:{version:"32.2",message:'Use `rowSelection.selectAll = "currentPage"` in `GridOptions` instead.'},showDisabledCheckboxes:{version:"32.2",message:"Use `rowSelection.hideDisabledCheckboxes = true` in `GridOptions` instead."}},St=(e,t)=>{let i=t.rowModelType??"clientSide";return i==="clientSide"||i==="serverSide"?{module:"@ag-grid-enterprise/row-grouping"}:null},wv={enableRowGroup:St,rowGroup:St,rowGroupIndex:St,enablePivot:St,enableValue:St,pivot:St,pivotIndex:St,aggFunc:St,cellEditor:e=>e.cellEditor==="agRichSelect"||e.cellEditor==="agRichSelectCellEditor"?{module:"@ag-grid-enterprise/rich-select"}:null,menuTabs:e=>{let t=["columnsMenuTab","generalMenuTab"];return e.menuTabs?.some(i=>t.includes(i))?{module:"@ag-grid-enterprise/menu"}:null},columnsMenuParams:{module:["@ag-grid-enterprise/menu","@ag-grid-enterprise/column-tool-panel"]},columnChooserParams:{module:["@ag-grid-enterprise/menu","@ag-grid-enterprise/column-tool-panel"]},headerCheckboxSelection:{supportedRowModels:["clientSide","serverSide"],validate:(e,{rowSelection:t})=>t==="multiple"?null:"headerCheckboxSelection is only supported with rowSelection=multiple"},headerCheckboxSelectionFilteredOnly:{supportedRowModels:["clientSide"],validate:(e,{rowSelection:t})=>t==="multiple"?null:"headerCheckboxSelectionFilteredOnly is only supported with rowSelection=multiple"},headerCheckboxSelectionCurrentPageOnly:{supportedRowModels:["clientSide"],validate:(e,{rowSelection:t})=>t==="multiple"?null:"headerCheckboxSelectionCurrentPageOnly is only supported with rowSelection=multiple"},children:()=>Zt},yv={headerName:void 0,columnGroupShow:void 0,headerClass:void 0,toolPanelClass:void 0,headerValueGetter:void 0,pivotKeys:void 0,groupId:void 0,colId:void 0,sort:void 0,initialSort:void 0,field:void 0,type:void 0,cellDataType:void 0,tooltipComponent:void 0,tooltipField:void 0,headerTooltip:void 0,cellClass:void 0,showRowGroup:void 0,filter:void 0,initialAggFunc:void 0,defaultAggFunc:void 0,aggFunc:void 0,pinned:void 0,initialPinned:void 0,chartDataType:void 0,cellAriaRole:void 0,cellEditorPopupPosition:void 0,headerGroupComponent:void 0,headerGroupComponentParams:void 0,cellStyle:void 0,cellRenderer:void 0,cellRendererParams:void 0,cellEditor:void 0,cellEditorParams:void 0,filterParams:void 0,pivotValueColumn:void 0,headerComponent:void 0,headerComponentParams:void 0,floatingFilterComponent:void 0,floatingFilterComponentParams:void 0,tooltipComponentParams:void 0,refData:void 0,columnsMenuParams:void 0,columnChooserParams:void 0,children:void 0,sortingOrder:void 0,allowedAggFuncs:void 0,menuTabs:void 0,pivotTotalColumnIds:void 0,cellClassRules:void 0,icons:void 0,sortIndex:void 0,initialSortIndex:void 0,flex:void 0,initialFlex:void 0,width:void 0,initialWidth:void 0,minWidth:void 0,maxWidth:void 0,rowGroupIndex:void 0,initialRowGroupIndex:void 0,pivotIndex:void 0,initialPivotIndex:void 0,suppressCellFlash:void 0,suppressColumnsToolPanel:void 0,suppressFiltersToolPanel:void 0,openByDefault:void 0,marryChildren:void 0,suppressStickyLabel:void 0,hide:void 0,initialHide:void 0,rowGroup:void 0,initialRowGroup:void 0,pivot:void 0,initialPivot:void 0,checkboxSelection:void 0,showDisabledCheckboxes:void 0,headerCheckboxSelection:void 0,headerCheckboxSelectionFilteredOnly:void 0,headerCheckboxSelectionCurrentPageOnly:void 0,suppressMenu:void 0,suppressHeaderMenuButton:void 0,suppressMovable:void 0,lockPosition:void 0,lockVisible:void 0,lockPinned:void 0,unSortIcon:void 0,suppressSizeToFit:void 0,suppressAutoSize:void 0,enableRowGroup:void 0,enablePivot:void 0,enableValue:void 0,editable:void 0,suppressPaste:void 0,suppressNavigable:void 0,enableCellChangeFlash:void 0,rowDrag:void 0,dndSource:void 0,autoHeight:void 0,wrapText:void 0,sortable:void 0,resizable:void 0,singleClickEdit:void 0,floatingFilter:void 0,cellEditorPopup:void 0,suppressFillHandle:void 0,wrapHeaderText:void 0,autoHeaderHeight:void 0,dndSourceOnRowDrag:void 0,valueGetter:void 0,valueSetter:void 0,filterValueGetter:void 0,keyCreator:void 0,valueFormatter:void 0,valueParser:void 0,comparator:void 0,equals:void 0,pivotComparator:void 0,suppressKeyboardEvent:void 0,suppressHeaderKeyboardEvent:void 0,colSpan:void 0,rowSpan:void 0,getQuickFilterText:void 0,onCellValueChanged:void 0,onCellClicked:void 0,onCellDoubleClicked:void 0,onCellContextMenu:void 0,rowDragText:void 0,tooltipValueGetter:void 0,cellRendererSelector:void 0,cellEditorSelector:void 0,suppressSpanHeaderHeight:void 0,useValueFormatterForExport:void 0,useValueParserForImport:void 0,mainMenuItems:void 0,contextMenuItems:void 0,suppressFloatingFilterButton:void 0,suppressHeaderFilterButton:void 0,suppressHeaderContextMenu:void 0,loadingCellRenderer:void 0,loadingCellRendererParams:void 0,loadingCellRendererSelector:void 0,context:void 0},bv=Object.keys(yv),Zt={objectName:"colDef",allProperties:bv,docsUrl:"column-properties/",deprecations:Cv,validations:wv},Sv=()=>({advancedFilterModel:{version:"31",message:"Use `initialState.filter.advancedFilterModel` instead."},suppressAsyncEvents:{version:"31",message:"Events should be handled asynchronously."},cellFadeDelay:{version:"31.1",renamed:"cellFadeDuration"},cellFlashDelay:{version:"31.1",renamed:"cellFlashDuration"},suppressServerSideInfiniteScroll:{version:"31.1"},serverSideSortOnServer:{version:"31.1"},serverSideFilterOnServer:{version:"31.1"},enableCellChangeFlash:{version:"31.2",message:"Use `enableCellChangeFlash` in the `ColDef` or `defaultColDef` for all columns."},groupIncludeFooter:{version:"31.3",message:"Use `groupTotalRow` instead."},groupIncludeTotalFooter:{version:"31.3",message:"Use `grandTotalRow` instead."},suppressLoadingOverlay:{version:"32",message:"Use `loading`=false instead."},enableFillHandle:{version:"32.2",message:"Use `cellSelection.handle` instead."},enableRangeHandle:{version:"32.2",message:"Use `cellSelection.handle` instead."},enableRangeSelection:{version:"32.2",message:"Use `cellSelection = true` instead."},suppressMultiRangeSelection:{version:"32.2",message:"Use `cellSelection.suppressMultiRanges` instead."},suppressClearOnFillReduction:{version:"32.2",message:"Use `cellSelection.handle.suppressClearOnFillReduction` instead."},fillHandleDirection:{version:"32.2",message:"Use `cellSelection.handle.direction` instead."},fillOperation:{version:"32.2",message:"Use `cellSelection.handle.setFillValue` instead."},suppressRowClickSelection:{version:"32.2",message:"Use `rowSelection.enableClickSelection` instead."},suppressRowDeselection:{version:"32.2",message:"Use `rowSelection.enableClickSelection` instead."},rowMultiSelectWithClick:{version:"32.2",message:"Use `rowSelection.enableSelectionWithoutKeys` instead."},groupSelectsChildren:{version:"32.2",message:'Use `rowSelection.groupSelects = "descendants"` instead.'},groupSelectsFiltered:{version:"32.2",message:'Use `rowSelection.groupSelects = "filteredDescendants"` instead.'},isRowSelectable:{version:"32.2",message:"Use `selectionOptions.isRowSelectable` instead."},suppressCopySingleCellRanges:{version:"32.2",message:"Use `rowSelection.copySelectedRows` instead."},suppressCopyRowsToClipboard:{version:"32.2",message:"Use `rowSelection.copySelectedRows` instead."},onRangeSelectionChanged:{version:"32.2",message:"Use `onCellSelectionChanged` instead."},onRangeDeleteStart:{version:"32.2",message:"Use `onCellSelectionDeleteStart` instead."},onRangeDeleteEnd:{version:"32.2",message:"Use `onCellSelectionDeleteEnd` instead."},suppressBrowserResizeObserver:{version:"32.2",message:"The grid always uses the browser's ResizeObserver, this grid option has no effect."},onColumnEverythingChanged:{version:"32.2",message:"Either use `onDisplayedColumnsChanged` which is fired at the same time, or use one of the more specific column events."}}),Rv={suppressContextMenu:!1,preventDefaultOnContextMenu:!1,allowContextMenuWithControlKey:!1,suppressMenuHide:!0,enableBrowserTooltips:!1,tooltipTrigger:"hover",tooltipShowDelay:2e3,tooltipHideDelay:1e4,tooltipMouseTrack:!1,tooltipShowMode:"standard",tooltipInteraction:!1,copyHeadersToClipboard:!1,copyGroupHeadersToClipboard:!1,clipboardDelimiter:" ",suppressCopyRowsToClipboard:!1,suppressCopySingleCellRanges:!1,suppressLastEmptyLineOnPaste:!1,suppressClipboardPaste:!1,suppressClipboardApi:!1,suppressCutToClipboard:!1,maintainColumnOrder:!1,enableStrictPivotColumnOrder:!1,suppressFieldDotNotation:!1,allowDragFromColumnsToolPanel:!1,suppressMovableColumns:!1,suppressColumnMoveAnimation:!1,suppressMoveWhenColumnDragging:!1,suppressDragLeaveHidesColumns:!1,suppressRowGroupHidesColumns:!1,suppressAutoSize:!1,autoSizePadding:20,skipHeaderOnAutoSize:!1,singleClickEdit:!1,suppressClickEdit:!1,readOnlyEdit:!1,stopEditingWhenCellsLoseFocus:!1,enterNavigatesVertically:!1,enterNavigatesVerticallyAfterEdit:!1,enableCellEditingOnBackspace:!1,undoRedoCellEditing:!1,undoRedoCellEditingLimit:10,suppressCsvExport:!1,suppressExcelExport:!1,cacheQuickFilter:!1,includeHiddenColumnsInQuickFilter:!1,excludeChildrenWhenTreeDataFiltering:!1,enableAdvancedFilter:!1,includeHiddenColumnsInAdvancedFilter:!1,enableCharts:!1,masterDetail:!1,keepDetailRows:!1,keepDetailRowsCount:10,detailRowAutoHeight:!1,tabIndex:0,rowBuffer:10,valueCache:!1,valueCacheNeverExpires:!1,enableCellExpressions:!1,suppressTouch:!1,suppressFocusAfterRefresh:!1,suppressAsyncEvents:!1,suppressBrowserResizeObserver:!1,suppressPropertyNamesCheck:!1,suppressChangeDetection:!1,debug:!1,suppressLoadingOverlay:!1,suppressNoRowsOverlay:!1,pagination:!1,paginationPageSize:100,paginationPageSizeSelector:!0,paginationAutoPageSize:!1,paginateChildRows:!1,suppressPaginationPanel:!1,pivotMode:!1,pivotPanelShow:"never",pivotDefaultExpanded:0,pivotSuppressAutoColumn:!1,suppressExpandablePivotGroups:!1,functionsReadOnly:!1,suppressAggFuncInHeader:!1,alwaysAggregateAtRootLevel:!1,aggregateOnlyChangedColumns:!1,suppressAggFilteredOnly:!1,removePivotHeaderRowWhenSingleValueColumn:!1,animateRows:!0,enableCellChangeFlash:!1,cellFlashDelay:500,cellFlashDuration:500,cellFadeDelay:1e3,cellFadeDuration:1e3,allowShowChangeAfterFilter:!1,domLayout:"normal",ensureDomOrder:!1,enableRtl:!1,suppressColumnVirtualisation:!1,suppressMaxRenderedRowRestriction:!1,suppressRowVirtualisation:!1,rowDragManaged:!1,suppressRowDrag:!1,suppressMoveWhenRowDragging:!1,rowDragEntireRow:!1,rowDragMultiRow:!1,embedFullWidthRows:!1,groupDisplayType:"singleColumn",groupDefaultExpanded:0,groupMaintainOrder:!1,groupSelectsChildren:!1,groupIncludeTotalFooter:!1,groupSuppressBlankHeader:!1,groupSelectsFiltered:!1,showOpenedGroup:!1,groupRemoveSingleChildren:!1,groupRemoveLowestSingleChildren:!1,groupHideOpenParents:!1,groupAllowUnbalanced:!1,rowGroupPanelShow:"never",suppressMakeColumnVisibleAfterUnGroup:!1,treeData:!1,rowGroupPanelSuppressSort:!1,suppressGroupRowsSticky:!1,rowModelType:"clientSide",asyncTransactionWaitMillis:50,suppressModelUpdateAfterUpdateTransaction:!1,cacheOverflowSize:1,infiniteInitialRowCount:1,serverSideInitialRowCount:1,suppressServerSideInfiniteScroll:!1,cacheBlockSize:100,maxBlocksInCache:-1,maxConcurrentDatasourceRequests:2,blockLoadDebounceMillis:0,purgeClosedRowNodes:!1,serverSideSortAllLevels:!1,serverSideOnlyRefreshFilteredGroups:!1,serverSideSortOnServer:!1,serverSideFilterOnServer:!1,serverSidePivotResultFieldSeparator:"_",viewportRowModelPageSize:5,viewportRowModelBufferSize:5,alwaysShowHorizontalScroll:!1,alwaysShowVerticalScroll:!1,debounceVerticalScrollbar:!1,suppressHorizontalScroll:!1,suppressScrollOnNewData:!1,suppressScrollWhenPopupsAreOpen:!1,suppressAnimationFrame:!1,suppressMiddleClickScrolls:!1,suppressPreventDefaultOnMouseWheel:!1,rowMultiSelectWithClick:!1,suppressRowDeselection:!1,suppressRowClickSelection:!1,suppressCellFocus:!1,suppressHeaderFocus:!1,suppressMultiRangeSelection:!1,enableCellTextSelection:!1,enableRangeSelection:!1,enableRangeHandle:!1,enableFillHandle:!1,fillHandleDirection:"xy",suppressClearOnFillReduction:!1,accentedSort:!1,unSortIcon:!1,suppressMultiSort:!1,alwaysMultiSort:!1,suppressMaintainUnsortedOrder:!1,suppressRowHoverHighlight:!1,suppressRowTransform:!1,columnHoverHighlight:!1,deltaSort:!1,enableGroupEdit:!1,suppressGroupMaintainValueType:!1,groupLockGroupColumns:0,serverSideEnableClientSideSort:!1,suppressServerSideFullWidthLoadingRow:!1,pivotMaxGeneratedColumns:-1,columnMenu:"new",reactiveCustomComponents:!0,suppressSetFilterByDefault:!1},Fv=()=>({sideBar:{module:"@ag-grid-enterprise/side-bar"},statusBar:{module:"@ag-grid-enterprise/status-bar"},enableCharts:{module:"@ag-grid-enterprise/charts"},getMainMenuItems:{module:"@ag-grid-enterprise/menu"},getContextMenuItems:{module:"@ag-grid-enterprise/menu"},allowContextMenuWithControlKey:{module:"@ag-grid-enterprise/menu"},enableAdvancedFilter:{module:"@ag-grid-enterprise/advanced-filter"},treeData:{supportedRowModels:["clientSide","serverSide"],module:"@ag-grid-enterprise/row-grouping",validate:e=>{let t=e.rowModelType??"clientSide";switch(t){case"clientSide":{let i=`treeData requires 'getDataPath' in the ${t} row model.`;return e.getDataPath?null:i}case"serverSide":{let i=`treeData requires 'isServerSideGroup' and 'getServerSideGroupKey' in the ${t} row model.`;return e.isServerSideGroup&&e.getServerSideGroupKey?null:i}}return null}},masterDetail:{module:"@ag-grid-enterprise/master-detail"},enableRangeSelection:{module:"@ag-grid-enterprise/range-selection"},enableRangeHandle:{dependencies:{enableRangeSelection:[!0]}},enableFillHandle:{dependencies:{enableRangeSelection:[!0]}},groupDefaultExpanded:{supportedRowModels:["clientSide"]},groupIncludeFooter:{supportedRowModels:["clientSide","serverSide"],validate:e=>{switch(e.rowModelType??"clientSide"){case"clientSide":return null;case"serverSide":return e.suppressServerSideInfiniteScroll?"groupIncludeFooter is not supported alongside suppressServerSideInfiniteScroll":null}return null}},groupHideOpenParents:{supportedRowModels:["clientSide","serverSide"],dependencies:{groupTotalRow:[void 0,"bottom"]}},groupIncludeTotalFooter:{supportedRowModels:["clientSide"]},groupRemoveSingleChildren:{dependencies:{groupHideOpenParents:[void 0,!1],groupRemoveLowestSingleChildren:[void 0,!1]}},groupRemoveLowestSingleChildren:{dependencies:{groupHideOpenParents:[void 0,!1],groupRemoveSingleChildren:[void 0,!1]}},groupSelectsChildren:{dependencies:{rowSelection:["multiple"]}},viewportDatasource:{supportedRowModels:["viewport"],module:"@ag-grid-enterprise/viewport-row-model"},serverSideDatasource:{supportedRowModels:["serverSide"],module:"@ag-grid-enterprise/server-side-row-model"},cacheBlockSize:{supportedRowModels:["serverSide","infinite"]},datasource:{supportedRowModels:["infinite"],module:"@ag-grid-community/infinite-row-model"},rowData:{supportedRowModels:["clientSide"],module:"@ag-grid-community/client-side-row-model"},paginationPageSizeSelector:{validate:e=>{let t=e.paginationPageSizeSelector;return typeof t=="boolean"||t==null||t.length?null:`'paginationPageSizeSelector' cannot be an empty array.
|
|
161
|
-
If you want to hide the page size selector, set paginationPageSizeSelector to false.`}},rowSelection:{validate({rowSelection:e}){return e&&typeof e=="string"?'As of version 32.2.1, using `rowSelection` with the values "single" or "multiple" has been deprecated. Use the object value instead.':e&&typeof e!="object"?"Expected `RowSelectionOptions` object for the `rowSelection` property.":null}},cellSelection:{module:"@ag-grid-enterprise/range-selection"},columnDefs:()=>Zt,defaultColDef:()=>Zt,defaultColGroupDef:()=>Zt,autoGroupColumnDef:()=>Zt,selectionColumnDef:()=>Zt}),
|
|
162
|
-
If you are trying to annotate ${o} with application data, use the '${o}.context' property instead.`),S(c)}),Object.keys(n).length>0&&s){let a=this.getFrameworkOverrides().getDocLink(s);S(`to see all the valid ${o} properties please check: ${a}`)}}};function Ev(e,t,i){let o={},s=e.filter(r=>!t.some(n=>n===r));return s.length>0&&s.forEach(r=>o[r]=Qn({inputValue:r,allSuggestions:i}).values),o}var Mv={version:B,moduleName:"@ag-grid-community/core"},Pv={version:B,moduleName:"@ag-grid-community/core-validations",beans:[Dv]},Tv={version:B,moduleName:"@ag-grid-community/core-community-features",dependantModules:[Mv,Pv,Ug,Uu,Qm,bf,Pp,pv,Wm]},Av=class extends b{constructor(){super(...arguments),this.beanName="gridDestroyService",this.destroyCalled=!1}wireBeans(e){this.beans=e}destroy(){this.destroyCalled||(this.eventService.dispatchEvent({type:"gridPreDestroyed",state:this.beans.stateService?.getState()??{}}),this.destroyCalled=!0,this.beans.ctrlsService.get("gridCtrl")?.destroyGridUi(),this.beans.context.destroy(),super.destroy())}isDestroyCalled(){return this.destroyCalled}},eo=new Set(["gridPreDestroyed","fillStart","pasteStart"]),kv=e=>e==="checkboxSelected"||e==="rowClicked"||e==="spaceKey"||e==="uiSelectAll"||e==="uiSelectAllCurrentPage"||e==="uiSelectAllFiltered",Iv=new Map([...Ti.BOOLEAN_PROPERTIES.map(e=>[e,ts]),...Ti.NUMBER_PROPERTIES.map(e=>[e,ga]),["groupAggFiltering",e=>typeof e=="function"?e:ts(e)],["pageSize",it(1)],["autoSizePadding",it(0)],["keepDetailRowsCount",it(1)],["rowBuffer",it(0)],["infiniteInitialRowCount",it(1)],["cacheOverflowSize",it(1)],["cacheBlockSize",it(1)],["serverSideInitialRowCount",it(1)],["viewportRowModelPageSize",it(1)],["viewportRowModelBufferSize",it(0)]]);function el(e,t){let i=Iv.get(e);return i?i(t):t}function Lv(e){let t={};return Object.entries(e).forEach(([i,o])=>{let s=el(i,o);t[i]=s}),t}var tl=class il extends b{constructor(){super(...arguments),this.beanName="gos",this.gridReadyFired=!1,this.queueEvents=[],this.domDataKey="__AG_"+Math.random().toString(),this.propertyEventService=new ri,this.globalEventHandlerFactory=t=>(i,o)=>{if(!this.isAlive())return;let s=eo.has(i);if(s&&!t||!s&&t)return;let r=(n,a)=>{let l=this.gridOptions[Ai.getCallbackForEvent(n)];typeof l=="function"&&this.frameworkOverrides.wrapOutgoing(()=>l(a))};if(this.gridReadyFired)r(i,o);else if(i==="gridReady"){r(i,o),this.gridReadyFired=!0;for(let n of this.queueEvents)r(n.eventName,n.event);this.queueEvents=[]}else this.queueEvents.push({eventName:i,event:o})}}wireBeans(t){this.gridOptions=t.gridOptions,this.eGridDiv=t.eGridDiv,this.validationService=t.validationService,this.environment=t.environment,this.api=t.gridApi,this.gridId=t.context.getGridId()}get gridOptionsContext(){return this.gridOptions.context}postConstruct(){let t=!this.get("suppressAsyncEvents");this.eventService.addGlobalListener(this.globalEventHandlerFactory().bind(this),t),this.eventService.addGlobalListener(this.globalEventHandlerFactory(!0).bind(this),!1),this.propertyEventService.setFrameworkOverrides(this.frameworkOverrides),this.addManagedEventListeners({gridOptionsChanged:({options:i})=>{this.updateGridOptions({options:i,force:!0,source:"gridOptionsUpdated"})}})}destroy(){super.destroy(),this.queueEvents=[]}get(t){return this.gridOptions[t]??Rv[t]}getCallback(t){return this.mergeGridCommonParams(this.gridOptions[t])}exists(t){return M(this.gridOptions[t])}mergeGridCommonParams(t){return t&&(o=>{let s=o;return s.api=this.api,s.context=this.gridOptionsContext,t(s)})}updateGridOptions({options:t,force:i,source:o="api"}){let s={id:il.changeSetId++,properties:[]},r=[];Object.entries(t).forEach(([n,a])=>{o==="api"&&vc[n]&&S(`${n} is an initial property and cannot be updated.`);let l=el(n,a),c=i||typeof l=="object"&&o==="api",d=this.gridOptions[n];if(c||d!==l){this.gridOptions[n]=l;let u={type:n,currentValue:l,previousValue:d,changeSet:s,source:o};r.push(u)}}),this.validationService?.processGridOptions(this.gridOptions),s.properties=r.map(n=>n.type),r.forEach(n=>{this.gridOptions.debug&&ot(`Updated property ${n.type} from`,n.previousValue," to ",n.currentValue),this.propertyEventService.dispatchEvent(n)})}addPropertyEventListener(t,i){this.propertyEventService.addEventListener(t,i)}removePropertyEventListener(t,i){this.propertyEventService.removeEventListener(t,i)}getDomDataKey(){return this.domDataKey}getGridCommonParams(){return{api:this.api,context:this.gridOptionsContext}}addGridCommonParams(t){let i=t;return i.api=this.api,i.context=this.gridOptionsContext,i}assertModuleRegistered(t,i){return Ue.__assertRegistered(t,i,this.gridId)}isModuleRegistered(t){return Ue.__isRegistered(t,this.gridId)}};tl.changeSetId=0;var Ov=tl,Gv=class extends b{constructor(){super(...arguments),this.beanName="headerPositionUtils"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService}findHeader(e,t){let i,o;if(Se(e.column)?i=this.visibleColsService.getGroupAtDirection(e.column,t):(o=`getCol${t}`,i=this.visibleColsService[o](e.column)),!i)return;let{headerRowIndex:s}=e;if(this.getHeaderRowType(s)!=="filter"){let a=[i];for(;i.getParent();)i=i.getParent(),a.push(i);i=a[a.length-1-s]}let{column:r,headerRowIndex:n}=this.getHeaderIndexToFocus(i,s);return{column:r,headerRowIndex:n}}getHeaderIndexToFocus(e,t){let i;if(Se(e)&&this.isAnyChildSpanningHeaderHeight(e)&&e.isPadding()){let o=e;i=o.getLeafColumns()[0];let s=i;for(;s!==o;)t++,s=s.getParent()}return{column:i||e,headerRowIndex:t}}isAnyChildSpanningHeaderHeight(e){return e?e.getLeafColumns().some(t=>t.isSpanHeaderHeight()):!1}getColumnVisibleParent(e,t){let i=this.getHeaderRowType(t),o=i==="filter",s=i==="column",r=o?e:e.getParent(),n=t-1,a=n;if(s&&this.isAnyChildSpanningHeaderHeight(e.getParent())){for(;r&&r.isPadding();)r=r.getParent(),n--;a=n,n<0&&(r=e,n=t,a=void 0)}return{column:r,headerRowIndex:n,headerRowIndexWithoutSpan:a}}getColumnVisibleChild(e,t,i="After"){let o=this.getHeaderRowType(t),s=e,r=t+1,n=r;if(o==="group"){let a=e.getDisplayedLeafColumns(),l=i==="After"?a[0]:$(a),c=[],d=l;for(;d.getParent()!==e;)d=d.getParent(),c.push(d);if(s=l,l.isSpanHeaderHeight())for(let u=c.length-1;u>=0;u--){let h=c[u];if(!h.isPadding()){s=h;break}r++}else s=$(c),s||(s=l)}return{column:s,headerRowIndex:r,headerRowIndexWithoutSpan:n}}getHeaderRowType(e){let t=this.ctrlsService.getHeaderRowContainerCtrl();if(t)return t.getRowType(e)}findColAtEdgeForHeaderRow(e,t){let i=this.visibleColsService.getAllCols(),o=i[t==="start"?0:i.length-1];if(!o)return;let r=this.ctrlsService.getHeaderRowContainerCtrl(o.getPinned())?.getRowType(e);if(r=="group"){let n=this.visibleColsService.getColGroupAtLevel(o,e);return{headerRowIndex:e,column:n}}return{headerRowIndex:r==null?-1:e,column:o}}},Nv=class extends b{constructor(){super(...arguments),this.beanName="localeService"}getLocaleTextFunc(){let e=this.gos.getCallback("getLocaleText");if(e)return(i,o,s)=>e({key:i,defaultValue:o,variableValues:s});let t=this.gos.get("localeText");return(i,o,s)=>{let r=t&&t[i];if(r&&s&&s.length){let n=0;for(;!(n>=s.length||r.indexOf("${variable}")===-1);)r=r.replace("${variable}",s[n++])}return r??o}}},Hv=class extends b{constructor(){super(...arguments),this.beanName="apiEventService",this.syncEventListeners=new Map,this.asyncEventListeners=new Map,this.syncGlobalEventListeners=new Set,this.globalEventListenerPairs=new Map}postConstruct(){this.frameworkEventWrappingService=new Fs(this.getFrameworkOverrides())}addEventListener(e,t){let i=this.frameworkEventWrappingService.wrap(e,t),o=oo(this.gos)&&!eo.has(e),s=o?this.asyncEventListeners:this.syncEventListeners;s.has(e)||s.set(e,new Set),s.get(e).add(i),this.eventService.addEventListener(e,i,o)}removeEventListener(e,t){let i=this.frameworkEventWrappingService.unwrap(e,t),s=!!this.asyncEventListeners.get(e)?.delete(i);s||this.syncEventListeners.get(e)?.delete(i),this.eventService.removeEventListener(e,i,s)}addGlobalListener(e){let t=this.frameworkEventWrappingService.wrapGlobal(e);if(oo(this.gos)){let o=(r,n)=>{eo.has(r)&&t(r,n)},s=(r,n)=>{eo.has(r)||t(r,n)};this.globalEventListenerPairs.set(e,{syncListener:o,asyncListener:s}),this.eventService.addGlobalListener(o,!1),this.eventService.addGlobalListener(s,!0)}else this.syncGlobalEventListeners.add(t),this.eventService.addGlobalListener(t,!1)}removeGlobalListener(e){let t=this.frameworkEventWrappingService.unwrapGlobal(e);if(this.globalEventListenerPairs.has(t)){let{syncListener:o,asyncListener:s}=this.globalEventListenerPairs.get(t);this.eventService.removeGlobalListener(o,!1),this.eventService.removeGlobalListener(s,!0),this.globalEventListenerPairs.delete(e)}else this.syncGlobalEventListeners.delete(t),this.eventService.removeGlobalListener(t,!1)}destroyEventListeners(e,t){e.forEach((i,o)=>{i.forEach(s=>this.eventService.removeEventListener(o,s,t)),i.clear()}),e.clear()}destroyGlobalListeners(e,t){e.forEach(i=>this.eventService.removeGlobalListener(i,t)),e.clear()}destroy(){super.destroy(),this.destroyEventListeners(this.syncEventListeners,!1),this.destroyEventListeners(this.asyncEventListeners,!0),this.destroyGlobalListeners(this.syncGlobalEventListeners,!1),this.globalEventListenerPairs.forEach(({syncListener:e,asyncListener:t})=>{this.eventService.removeGlobalListener(e,!1),this.eventService.removeGlobalListener(t,!0)}),this.globalEventListenerPairs.clear()}},zv=class extends b{constructor(){super(...arguments),this.beanName="pageBoundsListener"}wireBeans(e){this.rowModel=e.rowModel,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.addManagedEventListeners({modelUpdated:this.onModelUpdated.bind(this),recalculateRowBounds:this.calculatePages.bind(this)}),this.onModelUpdated()}onModelUpdated(e){this.calculatePages(),this.eventService.dispatchEvent({type:"paginationChanged",animate:e?.animate??!1,newData:e?.newData??!1,newPage:e?.newPage??!1,newPageSize:e?.newPageSize??!1,keepRenderedRows:e?.keepRenderedRows??!1})}calculatePages(){this.paginationService?this.paginationService.calculatePages():this.pageBoundsService.calculateBounds(0,this.rowModel.getRowCount()-1)}},Bv=class extends b{constructor(){super(...arguments),this.beanName="pageBoundsService",this.pixelOffset=0}wireBeans(e){this.rowModel=e.rowModel}getFirstRow(){return this.topRowBounds?this.topRowBounds.rowIndex:-1}getLastRow(){return this.bottomRowBounds?this.bottomRowBounds.rowIndex:-1}getCurrentPageHeight(){return K(this.topRowBounds)||K(this.bottomRowBounds)?0:Math.max(this.bottomRowBounds.rowTop+this.bottomRowBounds.rowHeight-this.topRowBounds.rowTop,0)}getCurrentPagePixelRange(){let e=this.topRowBounds?this.topRowBounds.rowTop:0,t=this.bottomRowBounds?this.bottomRowBounds.rowTop+this.bottomRowBounds.rowHeight:0;return{pageFirstPixel:e,pageLastPixel:t}}calculateBounds(e,t){this.topRowBounds=this.rowModel.getRowBounds(e),this.topRowBounds&&(this.topRowBounds.rowIndex=e),this.bottomRowBounds=this.rowModel.getRowBounds(t),this.bottomRowBounds&&(this.bottomRowBounds.rowIndex=t),this.calculatePixelOffset()}getPixelOffset(){return this.pixelOffset}calculatePixelOffset(){let e=M(this.topRowBounds)?this.topRowBounds.rowTop:0;this.pixelOffset!==e&&(this.pixelOffset=e,this.eventService.dispatchEvent({type:"paginationPixelOffsetChanged"}))}},Vv=class extends b{constructor(){super(),this.beanName="ariaAnnouncementService",this.descriptionContainer=null,this.pendingAnnouncements=new Map,this.updateAnnouncement=xe(this.updateAnnouncement.bind(this),200)}wireBeans(e){this.eGridDiv=e.eGridDiv}postConstruct(){let e=ve(this.gos),t=this.descriptionContainer=e.createElement("div");t.classList.add("ag-aria-description-container"),En(t,"polite"),bc(t,"additions text"),yc(t,!0),this.eGridDiv.appendChild(t)}announceValue(e,t){this.pendingAnnouncements.set(t,e),this.updateAnnouncement()}updateAnnouncement(){if(!this.descriptionContainer)return;let e=Array.from(this.pendingAnnouncements.values()).join(". ");this.pendingAnnouncements.clear(),this.descriptionContainer.textContent="",setTimeout(()=>{this.isAlive()&&this.descriptionContainer&&(this.descriptionContainer.textContent=e)},50)}destroy(){super.destroy();let{descriptionContainer:e}=this;e&&(Be(e),e.parentElement&&e.parentElement.removeChild(e)),this.descriptionContainer=null,this.eGridDiv=null,this.pendingAnnouncements.clear()}},Wv=class extends b{constructor(){super(...arguments),this.beanName="columnAnimationService",this.executeNextFuncs=[],this.executeLaterFuncs=[],this.active=!1,this.activeNext=!1,this.suppressAnimation=!1,this.animationThreadCount=0}wireBeans(e){this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady(this,e=>this.gridBodyCtrl=e.gridBodyCtrl)}isActive(){return this.active&&!this.suppressAnimation}setSuppressAnimation(e){this.suppressAnimation=e}start(){this.active||this.gos.get("suppressColumnMoveAnimation")||this.gos.get("enableRtl")||(this.ensureAnimationCssClassPresent(),this.active=!0,this.activeNext=!0)}finish(){this.active&&this.flush(()=>this.activeNext=!1,()=>this.active=!1)}executeNextVMTurn(e){this.activeNext?this.executeNextFuncs.push(e):e()}executeLaterVMTurn(e){this.active?this.executeLaterFuncs.push(e):e()}ensureAnimationCssClassPresent(){this.animationThreadCount++;let e=this.animationThreadCount;this.gridBodyCtrl.setColumnMovingCss(!0),this.executeLaterFuncs.push(()=>{this.animationThreadCount===e&&this.gridBodyCtrl.setColumnMovingCss(!1)})}flush(e,t){if(this.executeNextFuncs.length===0&&this.executeLaterFuncs.length===0){e(),t();return}let i=o=>{for(;o.length;){let s=o.pop();s&&s()}};this.getFrameworkOverrides().wrapIncoming(()=>{window.setTimeout(()=>{e(),i(this.executeNextFuncs)},0),window.setTimeout(()=>{t(),i(this.executeLaterFuncs)},200)})}},Uv=class extends b{constructor(){super(...arguments),this.beanName="columnHoverService"}setMouseOver(e){this.updateState(e)}clearMouseOver(){this.updateState(null)}isHovered(e){return!!this.selectedColumns&&this.selectedColumns.indexOf(e)>=0}updateState(e){this.selectedColumns=e,this.eventService.dispatchEvent({type:"columnHoverChanged"})}},_v=class extends b{constructor(){super(...arguments),this.beanName="overlayService",this.state=0,this.showInitialOverlay=!0,this.wrapperPadding=0}wireBeans(e){this.userComponentFactory=e.userComponentFactory,this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.ctrlsService=e.ctrlsService}postConstruct(){this.isClientSide=de(this.gos);let e=()=>this.updateOverlayVisibility();this.addManagedEventListeners({newColumnsLoaded:e,rowDataUpdated:e,gridSizeChanged:this.onGridSizeChanged.bind(this),rowCountReady:()=>{this.showInitialOverlay=!1,this.updateOverlayVisibility()}}),this.addManagedPropertyListener("loading",e)}setOverlayWrapperComp(e){this.overlayWrapperComp=e,this.updateOverlayVisibility()}isVisible(){return this.state!==0&&!!this.overlayWrapperComp}isExclusive(){return this.state===1&&!!this.overlayWrapperComp}getOverlayWrapper(){return this.overlayWrapperComp}showLoadingOverlay(){this.showInitialOverlay=!1;let e=this.gos.get("loading");!e&&(e!==void 0||this.gos.get("suppressLoadingOverlay"))||this.doShowLoadingOverlay()}showNoRowsOverlay(){this.showInitialOverlay=!1,!(this.gos.get("loading")||this.gos.get("suppressNoRowsOverlay"))&&this.doShowNoRowsOverlay()}hideOverlay(){if(this.showInitialOverlay=!1,this.gos.get("loading")){S("Since v32, `api.hideOverlay()` does not hide the loading overlay when `loading=true`. Set `loading=false` instead.");return}this.doHideOverlay()}updateOverlayVisibility(){if(!this.overlayWrapperComp){this.state=0;return}let e=this.gos.get("loading");this.showInitialOverlay&&e===void 0&&!this.gos.get("suppressLoadingOverlay")&&(e=!this.gos.get("columnDefs")||!this.columnModel.isReady()||!this.gos.get("rowData")&&this.isClientSide),e?this.state!==1&&this.doShowLoadingOverlay():(this.showInitialOverlay=!1,this.rowModel.isEmpty()&&!this.gos.get("suppressNoRowsOverlay")&&this.isClientSide?this.state!==2&&this.doShowNoRowsOverlay():this.state!==0&&this.doHideOverlay())}doShowLoadingOverlay(){this.overlayWrapperComp&&(this.state=1,this.showOverlay(this.userComponentFactory.getLoadingOverlayCompDetails({}),"ag-overlay-loading-wrapper","loadingOverlayComponentParams"),this.updateExclusive())}doShowNoRowsOverlay(){this.overlayWrapperComp&&(this.state=2,this.showOverlay(this.userComponentFactory.getNoRowsOverlayCompDetails({}),"ag-overlay-no-rows-wrapper","noRowsOverlayComponentParams"),this.updateExclusive())}doHideOverlay(){this.overlayWrapperComp&&(this.state=0,this.overlayWrapperComp.hideOverlay(),this.updateExclusive())}showOverlay(e,t,i){let o=e.newAgStackInstance();this.overlayWrapperComp?.showOverlay(o,t,this.isExclusive(),i),this.refreshWrapperPadding()}updateExclusive(){let e=this.exclusive;this.exclusive=this.isExclusive(),this.exclusive!==e&&this.eventService.dispatchEvent({type:"overlayExclusiveChanged"})}onGridSizeChanged(){this.refreshWrapperPadding()}refreshWrapperPadding(){if(!this.overlayWrapperComp)return;let e=0;this.state===2?e=this.ctrlsService.get("gridHeaderCtrl")?.getHeaderHeight()||0:this.wrapperPadding!==0&&(e=0),this.wrapperPadding!==e&&(this.wrapperPadding=e,this.overlayWrapperComp.updateOverlayWrapperPaddingTop(e))}},jv=class extends b{constructor(){super(...arguments),this.beanName="rowCssClassCalculator"}wireBeans(e){this.stylingService=e.stylingService}getInitialRowClasses(e){let t=[];return M(e.extraCssClass)&&t.push(e.extraCssClass),t.push("ag-row"),t.push(e.rowFocused?"ag-row-focus":"ag-row-no-focus"),e.fadeRowIn&&t.push("ag-opacity-zero"),t.push(e.rowIsEven?"ag-row-even":"ag-row-odd"),e.rowNode.isRowPinned()&&t.push("ag-row-pinned"),e.rowNode.isSelected()&&t.push("ag-row-selected"),e.rowNode.footer&&t.push("ag-row-footer"),t.push("ag-row-level-"+e.rowLevel),e.rowNode.stub&&t.push("ag-row-loading"),e.fullWidthRow&&t.push("ag-full-width-row"),e.expandable&&(t.push("ag-row-group"),t.push(e.rowNode.expanded?"ag-row-group-expanded":"ag-row-group-contracted")),e.rowNode.dragging&&t.push("ag-row-dragging"),Lr(t,this.processClassesFromGridOptions(e.rowNode)),Lr(t,this.preProcessRowClassRules(e.rowNode)),t.push(e.printLayout?"ag-row-position-relative":"ag-row-position-absolute"),e.firstRowOnPage&&t.push("ag-row-first"),e.lastRowOnPage&&t.push("ag-row-last"),e.fullWidthRow&&(e.pinned==="left"&&t.push("ag-cell-last-left-pinned"),e.pinned==="right"&&t.push("ag-cell-first-right-pinned")),t}processClassesFromGridOptions(e){let t=[],i=r=>{typeof r=="string"?t.push(r):Array.isArray(r)&&r.forEach(n=>t.push(n))},o=this.gos.get("rowClass");if(o){if(typeof o=="function")return S("rowClass should not be a function, please use getRowClass instead"),[];i(o)}let s=this.gos.getCallback("getRowClass");if(s){let r={data:e.data,node:e,rowIndex:e.rowIndex},n=s(r);i(n)}return t}preProcessRowClassRules(e){let t=[];return this.processRowClassRules(e,i=>{t.push(i)},()=>{}),t}processRowClassRules(e,t,i){let o=this.gos.addGridCommonParams({data:e.data,node:e,rowIndex:e.rowIndex});this.stylingService.processClassRules(void 0,this.gos.get("rowClassRules"),o,t,i)}calculateRowLevel(e){return e.group?e.level:e.parent?e.parent.level+1:0}},Kv=class extends b{constructor(){super(...arguments),this.beanName="rowContainerHeightService",this.scrollY=0,this.uiBodyHeight=0}wireBeans(e){this.ctrlsService=e.ctrlsService}postConstruct(){this.addManagedEventListeners({bodyHeightChanged:this.updateOffset.bind(this)}),this.maxDivHeight=Oc(),this.gos.get("debug")&&ot("RowContainerHeightService - maxDivHeight = "+this.maxDivHeight)}isStretching(){return this.stretching}getDivStretchOffset(){return this.divStretchOffset}updateOffset(){if(!this.stretching)return;let t=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition().top,i=this.getUiBodyHeight();(t!==this.scrollY||i!==this.uiBodyHeight)&&(this.scrollY=t,this.uiBodyHeight=i,this.calculateOffset())}calculateOffset(){this.setUiContainerHeight(this.maxDivHeight),this.pixelsToShave=this.modelHeight-this.uiContainerHeight,this.maxScrollY=this.uiContainerHeight-this.uiBodyHeight;let e=this.scrollY/this.maxScrollY,t=e*this.pixelsToShave;this.gos.get("debug")&&ot(`RowContainerHeightService - Div Stretch Offset = ${t} (${this.pixelsToShave} * ${e})`),this.setDivStretchOffset(t)}setUiContainerHeight(e){e!==this.uiContainerHeight&&(this.uiContainerHeight=e,this.eventService.dispatchEvent({type:"rowContainerHeightChanged"}))}clearOffset(){this.setUiContainerHeight(this.modelHeight),this.pixelsToShave=0,this.setDivStretchOffset(0)}setDivStretchOffset(e){let t=typeof e=="number"?Math.floor(e):null;this.divStretchOffset!==t&&(this.divStretchOffset=t,this.eventService.dispatchEvent({type:"heightScaleChanged"}))}setModelHeight(e){this.modelHeight=e,this.stretching=e!=null&&this.maxDivHeight>0&&e>this.maxDivHeight,this.stretching?this.calculateOffset():this.clearOffset()}getUiContainerHeight(){return this.uiContainerHeight}getRealPixelPosition(e){return e-this.divStretchOffset}getUiBodyHeight(){let t=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition();return t.bottom-t.top}getScrollPositionForPixel(e){if(this.pixelsToShave<=0)return e;let t=this.modelHeight-this.getUiBodyHeight(),i=e/t;return this.maxScrollY*i}},Yv=class extends b{constructor(){super(...arguments),this.beanName="rowNodeSorter"}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.showRowGroupColsService=e.showRowGroupColsService}postConstruct(){this.isAccentedSort=this.gos.get("accentedSort"),this.primaryColumnsSortGroups=Qe(this.gos),this.addManagedPropertyListener("accentedSort",e=>this.isAccentedSort=e.currentValue),this.addManagedPropertyListener("autoGroupColumnDef",()=>this.primaryColumnsSortGroups=Qe(this.gos))}doFullSort(e,t){let i=(s,r)=>({currentPos:r,rowNode:s}),o=e.map(i);return o.sort(this.compareRowNodes.bind(this,t)),o.map(s=>s.rowNode)}compareRowNodes(e,t,i){let o=t.rowNode,s=i.rowNode;for(let r=0,n=e.length;r<n;r++){let a=e[r],l=a.sort==="desc",c=this.getValue(o,a.column),d=this.getValue(s,a.column),u,h=this.getComparator(a,o);if(h?u=h(c,d,o,s,l):u=Al(c,d,this.isAccentedSort),!isNaN(u)&&u!==0)return a.sort==="asc"?u:u*-1}return t.currentPos-i.currentPos}getComparator(e,t){let i=e.column,o=i.getColDef().comparator;if(o!=null)return o;if(!i.getColDef().showRowGroup)return;let s=!t.group&&i.getColDef().field;if(!s)return;let r=this.columnModel.getColDefCol(s);if(r)return r.getColDef().comparator}getValue(e,t){if(!this.primaryColumnsSortGroups)return this.valueService.getValue(t,e,!1,!1);if(e.rowGroupColumn===t){if(ys(this.gos,this.columnModel.isPivotActive())){let r=e.allLeafChildren?.[0];return r?this.valueService.getValue(t,r,!1,!1):void 0}let s=this.showRowGroupColsService?.getShowRowGroupCol(t.getId());return s?e.groupData?.[s.getId()]:void 0}if(!(e.group&&t.getColDef().showRowGroup))return this.valueService.getValue(t,e,!1,!1)}},zi=class{constructor(e,t){this.active=!0,this.nodeIdsToColumns={},this.mapToItems={},this.keepingColumns=e,this.pathRoot={rowNode:t,children:null},this.mapToItems[t.id]=this.pathRoot}setInactive(){this.active=!1}isActive(){return this.active}depthFirstSearchChangedPath(e,t){if(e.children)for(let i=0;i<e.children.length;i++)this.depthFirstSearchChangedPath(e.children[i],t);t(e.rowNode)}depthFirstSearchEverything(e,t,i){if(e.childrenAfterGroup)for(let o=0;o<e.childrenAfterGroup.length;o++){let s=e.childrenAfterGroup[o];s.childrenAfterGroup?this.depthFirstSearchEverything(e.childrenAfterGroup[o],t,i):i&&t(s)}t(e)}forEachChangedNodeDepthFirst(e,t=!1,i=!1){this.active&&!i?this.depthFirstSearchChangedPath(this.pathRoot,e):this.depthFirstSearchEverything(this.pathRoot.rowNode,e,t)}executeFromRootNode(e){e(this.pathRoot.rowNode)}createPathItems(e){let t=e,i=0;for(;!this.mapToItems[t.id];){let o={rowNode:t,children:null};this.mapToItems[t.id]=o,i++,t=t.parent}return i}populateColumnsMap(e,t){if(!this.keepingColumns||!t)return;let i=e;for(;i;)this.nodeIdsToColumns[i.id]||(this.nodeIdsToColumns[i.id]={}),t.forEach(o=>this.nodeIdsToColumns[i.id][o.getId()]=!0),i=i.parent}linkPathItems(e,t){let i=e;for(let o=0;o<t;o++){let s=this.mapToItems[i.id],r=this.mapToItems[i.parent.id];r.children||(r.children=[]),r.children.push(s),i=i.parent}}addParentNode(e,t){if(!e||e.isRowPinned())return;let i=this.createPathItems(e);this.linkPathItems(e,i),this.populateColumnsMap(e,t)}canSkip(e){return this.active&&!this.mapToItems[e.id]}getValueColumnsForNode(e,t){if(!this.keepingColumns)return t;let i=this.nodeIdsToColumns[e.id];return t.filter(s=>i[s.getId()])}getNotValueColumnsForNode(e,t){if(!this.keepingColumns)return null;let i=this.nodeIdsToColumns[e.id];return t.filter(s=>!i[s.getId()])}},ol=class extends b{constructor(){super(...arguments),this.beanName="selectionService",this.selectedNodes=new Map,this.selectionCtx=new qg,this.rowSelectionMode=void 0}wireBeans(e){this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService}postConstruct(){let{gos:e,rowModel:t,onRowSelected:i}=this;this.selectionCtx.init(t),this.rowSelectionMode=ro(e),this.groupSelectsChildren=Dt(e),this.addManagedPropertyListeners(["groupSelectsChildren","rowSelection"],()=>{let o=Dt(e),s=ro(e);(o!==this.groupSelectsChildren||s!==this.rowSelectionMode)&&(this.groupSelectsChildren=o,this.rowSelectionMode=s,this.deselectAllRowNodes({source:"api"}))}),this.addManagedEventListeners({rowSelected:i.bind(this)})}destroy(){super.destroy(),this.resetNodes(),this.selectionCtx.reset()}isMultiSelect(){return this.rowSelectionMode==="multiRow"}overrideSelectionValue(e,t){if(!kv(t))return e;let i=this.selectionCtx.getRoot();return i?i.isSelected()??!1:!0}setNodesSelected(e){let{newValue:t,clearSelection:i,suppressFinishActions:o,rangeSelect:s,nodes:r,event:n,source:a}=e;if(r.length===0)return 0;if(r.length>1&&!this.isMultiSelect())return S("cannot multi select unless selection mode is 'multiRow'"),0;let l=this.groupSelectsChildren&&e.groupSelectsFiltered===!0,c=r.map(u=>u.footer?u.sibling:u);if(s){if(c.length>1)return S("cannot range select while selecting multiple rows"),0;let u=c[0],h=this.overrideSelectionValue(t,a);if(this.isMultiSelect()){if(this.selectionCtx.isInRange(u)){let g=this.selectionCtx.truncate(u);return h&&this.selectRange(g.discard,!1,a),this.selectRange(g.keep,h,a)}else if(this.selectionCtx.getRoot()!==u){let m=this.selectionCtx.extend(u,this.groupSelectsChildren);return h&&this.selectRange(m.discard,!1,a),this.selectRange(m.keep,h,a)}}}o||this.selectionCtx.setRoot(c[0]);let d=0;for(let u=0;u<c.length;u++){let h=c[u];l&&h.group||h.selectThisNode(t,n,a)&&d++,this.groupSelectsChildren&&h.childrenAfterGroup?.length&&(d+=this.selectChildren(h,t,l,a))}return o||(t&&(i||!this.isMultiSelect())&&(d+=this.clearOtherNodes(c[0],a)),d>0&&(this.updateGroupsFromChildrenSelections(a),this.dispatchSelectionChanged(a))),d}selectRange(e,t,i){let o=0;return e.forEach(s=>{if(s.group&&this.groupSelectsChildren)return;s.selectThisNode(t,void 0,i)&&o++}),o>0&&(this.updateGroupsFromChildrenSelections(i),this.dispatchSelectionChanged(i)),o}selectChildren(e,t,i,o){let s=i?e.childrenAfterAggFilter:e.childrenAfterGroup;return K(s)?0:this.setNodesSelected({newValue:t,clearSelection:!1,suppressFinishActions:!0,groupSelectsFiltered:i,source:o,nodes:s})}getSelectedNodes(){let e=[];return this.selectedNodes.forEach(t=>{t&&e.push(t)}),e}getSelectedRows(){let e=[];return this.selectedNodes.forEach(t=>{t&&t.data&&e.push(t.data)}),e}getSelectionCount(){return this.selectedNodes.size}filterFromSelection(e){let t=new Map;this.selectedNodes.forEach((i,o)=>{i&&e(i)&&t.set(o,i)}),this.selectedNodes=t}updateGroupsFromChildrenSelections(e,t){if(!this.groupSelectsChildren||!de(this.gos))return!1;let o=this.rowModel.getRootNode();t||(t=new zi(!0,o),t.setInactive());let s=!1;return t.forEachChangedNodeDepthFirst(r=>{if(r!==o){let n=r.calculateSelectedFromChildren();s=r.selectThisNode(n===null?!1:n,void 0,e)||s}}),s}clearOtherNodes(e,t){let i=new Map,o=0;return this.selectedNodes.forEach(s=>{if(s&&s.id!==e.id){let r=this.selectedNodes.get(s.id);o+=r.setSelectedParams({newValue:!1,clearSelection:!1,suppressFinishActions:!0,source:t}),this.groupSelectsChildren&&s.parent&&i.set(s.parent.id,s.parent)}}),i.forEach(s=>{let r=s.calculateSelectedFromChildren();s.selectThisNode(r===null?!1:r,void 0,t)}),o}onRowSelected(e){let t=e.node;this.groupSelectsChildren&&t.group||(t.isSelected()?this.selectedNodes.set(t.id,t):this.selectedNodes.delete(t.id))}syncInRowNode(e,t){this.syncInOldRowNode(e,t),this.syncInNewRowNode(e)}syncInOldRowNode(e,t){if(M(t)&&e.id!==t.id&&t){let o=t.id;this.selectedNodes.get(o)==e&&this.selectedNodes.set(t.id,t)}}syncInNewRowNode(e){this.selectedNodes.has(e.id)?(e.setSelectedInitialValue(!0),this.selectedNodes.set(e.id,e)):e.setSelectedInitialValue(!1)}reset(e){let t=this.getSelectionCount();this.resetNodes(),t&&this.dispatchSelectionChanged(e)}resetNodes(){this.selectedNodes?.clear()}getBestCostNodeSelection(){if(!de(this.gos))return;let t=this.rowModel.getTopLevelNodes();if(t===null)return;let i=[];function o(s){for(let r=0,n=s.length;r<n;r++){let a=s[r];if(a.isSelected())i.push(a);else{let l=a;l.group&&l.children&&o(l.children)}}}return o(t),i}isEmpty(){let e=0;return this.selectedNodes.forEach(t=>{t&&e++}),e===0}deselectAllRowNodes(e){let t=n=>n.selectThisNode(!1,void 0,o),i=de(this.gos),{source:o,justFiltered:s,justCurrentPage:r}=e;if(r||s){if(!i){Q("selecting just filtered only works when gridOptions.rowModelType='clientSide'");return}this.getNodesToSelect(s,r).forEach(t)}else this.selectedNodes.forEach(n=>{n&&t(n)}),this.reset(o);this.selectionCtx.reset(),i&&this.groupSelectsChildren&&this.updateGroupsFromChildrenSelections(o),this.dispatchSelectionChanged(o)}getSelectedCounts(e,t){let i=0,o=0,s=r=>{this.groupSelectsChildren&&r.group||(r.isSelected()?i++:r.selectable&&o++)};return this.getNodesToSelect(e,t).forEach(s),{selectedCount:i,notSelectedCount:o}}getSelectAllState(e,t){let{selectedCount:i,notSelectedCount:o}=this.getSelectedCounts(e,t);return i===0&&o===0?!1:i>0&&o>0?null:i>0}hasNodesToSelect(e=!1,t=!1){return this.getNodesToSelect(e,t).filter(i=>i.selectable).length>0}getNodesToSelect(e=!1,t=!1){this.validateSelectAllType();let i=[];if(t)return this.forEachNodeOnPage(s=>{if(!s.group){i.push(s);return}if(!s.expanded){let r=n=>{i.push(n),n.childrenAfterFilter?.length&&n.childrenAfterFilter.forEach(r)};r(s);return}this.groupSelectsChildren||i.push(s)}),i;let o=this.rowModel;return e?(o.forEachNodeAfterFilter(s=>{i.push(s)}),i):(o.forEachNode(s=>{i.push(s)}),i)}forEachNodeOnPage(e){let t=this.pageBoundsService.getFirstRow(),i=this.pageBoundsService.getLastRow();for(let o=t;o<=i;o++){let s=this.rowModel.getRow(o);s&&e(s)}}selectAllRowNodes(e){if(Ol(this.gos)&&!gn(this.gos))return S("cannot multi select unless selection mode is 'multiRow'");this.validateSelectAllType();let{source:t,justFiltered:i,justCurrentPage:o}=e,s=this.getNodesToSelect(i,o);s.forEach(r=>r.selectThisNode(!0,void 0,t)),this.selectionCtx.setRoot(s[0]??null),this.selectionCtx.setEndRange($(s)??null),de(this.gos)&&this.groupSelectsChildren&&this.updateGroupsFromChildrenSelections(t),this.dispatchSelectionChanged(t)}getSelectionState(){let e=[];return this.selectedNodes.forEach(t=>{t?.id&&e.push(t.id)}),e.length?e:null}setSelectionState(e,t){if(!Array.isArray(e))return Q("Invalid selection state. When using client-side row model, the state must conform to `string[]`.");let i=new Set(e),o=[];this.rowModel.forEachNode(s=>{i.has(s.id)&&o.push(s)}),this.setNodesSelected({newValue:!0,nodes:o,source:t})}dispatchSelectionChanged(e){this.eventService.dispatchEvent({type:"selectionChanged",source:e})}validateSelectAllType(){if(!de(this.gos))throw new Error(`selectAll only available when rowModelType='clientSide', ie not ${this.rowModel.getType()}`)}},$v=class extends b{constructor(){super(...arguments),this.beanName="selectableService"}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){this.addManagedPropertyListeners(["isRowSelectable","rowSelection"],()=>this.updateSelectable())}updateSelectableAfterGrouping(){this.updateSelectable(!0)}updateSelectable(e=!1){let{gos:t}=this,i=io(t),o=bs(t);if(!i||!o)return;let s=Dt(t),r=de(t)&&s,n=[],a=l=>{if(e&&!l.group)return;if(r&&l.group){let d=l.childrenAfterGroup.some(u=>u.selectable===!0);l.setRowSelectable(d,!0);return}let c=o?.(l)??!0;l.setRowSelectable(c,!0),!c&&l.isSelected()&&n.push(l)};if(r){let l=this.rowModel;new zi(!1,l.getRootNode()).forEachChangedNodeDepthFirst(a,!0,!0)}else this.rowModel.forEachNode(a);n.length&&this.selectionService.setNodesSelected({nodes:n,newValue:!1,source:"selectableChanged"}),r&&this.selectionService instanceof ol&&this.selectionService.updateGroupsFromChildrenSelections("selectableChanged")}},nn=["asc","desc",null],Qv=class extends b{constructor(){super(...arguments),this.beanName="sortController"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.showRowGroupColsService=e.showRowGroupColsService}progressSort(e,t,i){let o=this.getNextSortDirection(e);this.setSortForColumn(e,o,t,i)}setSortForColumn(e,t,i,o){t!=="asc"&&t!=="desc"&&(t=null);let s=Qe(this.gos),r=[e];if(s&&e.getColDef().showRowGroup){let c=this.funcColsService.getSourceColumnsForGroupColumn(e)?.filter(d=>d.isSortable());c&&(r=[e,...c])}r.forEach(l=>l.setSort(t,o));let n=(i||this.gos.get("alwaysMultiSort"))&&!this.gos.get("suppressMultiSort"),a=[];if(!n){let l=this.clearSortBarTheseColumns(r,o);a.push(...l)}this.updateSortIndex(e),a.push(...r),this.dispatchSortChangedEvents(o,a)}updateSortIndex(e){let t=Qe(this.gos),i=this.showRowGroupColsService?.getShowRowGroupCol(e.getId()),o=t&&i||e,s=this.getColumnsWithSortingOrdered();this.columnModel.getAllCols().forEach(a=>a.setSortIndex(null));let r=s.filter(a=>t&&a.getColDef().showRowGroup?!1:a!==o);(o.getSort()?[...r,o]:r).forEach((a,l)=>{a.setSortIndex(l)})}onSortChanged(e,t){this.dispatchSortChangedEvents(e,t)}isSortActive(){let t=this.columnModel.getAllCols().filter(i=>!!i.getSort());return t&&t.length>0}dispatchSortChangedEvents(e,t){let i={type:"sortChanged",source:e};t&&(i.columns=t),this.eventService.dispatchEvent(i)}clearSortBarTheseColumns(e,t){let i=[];return this.columnModel.getAllCols().forEach(o=>{e.includes(o)||(o.getSort()&&i.push(o),o.setSort(void 0,t))}),i}getNextSortDirection(e){let t;if(e.getColDef().sortingOrder?t=e.getColDef().sortingOrder:this.gos.get("sortingOrder")?t=this.gos.get("sortingOrder"):t=nn,!Array.isArray(t)||t.length<=0)return S(`sortingOrder must be an array with at least one element, currently it's ${t}`),null;let i=t.indexOf(e.getSort()),o=i<0,s=i==t.length-1,r;return o||s?r=t[0]:r=t[i+1],nn.indexOf(r)<0?(S("invalid sort type ",r),null):r}getIndexedSortMap(){let e=this.columnModel.getAllCols().filter(r=>!!r.getSort());if(this.columnModel.isPivotMode()){let r=Qe(this.gos);e=e.filter(n=>{let a=!!n.getAggFunc(),l=!n.isPrimary(),c=r?this.showRowGroupColsService?.getShowRowGroupCol(n.getId()):n.getColDef().showRowGroup;return a||l||c})}let t=this.funcColsService.getRowGroupColumns().filter(r=>!!r.getSort()),i={};e.forEach((r,n)=>i[r.getId()]=n),e.sort((r,n)=>{let a=r.getSortIndex(),l=n.getSortIndex();if(a!=null&&l!=null)return a-l;if(a==null&&l==null){let c=i[r.getId()],d=i[n.getId()];return c>d?1:-1}else return l==null?-1:1});let o=Qe(this.gos)&&!!t.length;o&&(e=[...new Set(e.map(r=>this.showRowGroupColsService?.getShowRowGroupCol(r.getId())??r))]);let s=new Map;return e.forEach((r,n)=>s.set(r,n)),o&&t.forEach(r=>{let n=this.showRowGroupColsService.getShowRowGroupCol(r.getId());s.set(r,s.get(n))}),s}getColumnsWithSortingOrdered(){return[...this.getIndexedSortMap().entries()].sort(([e,t],[i,o])=>t-o).map(([e])=>e)}getSortModel(){return this.getColumnsWithSortingOrdered().filter(e=>e.getSort()).map(e=>({sort:e.getSort(),colId:e.getId()}))}getSortOptions(){return this.getColumnsWithSortingOrdered().filter(e=>e.getSort()).map(e=>({sort:e.getSort(),column:e}))}canColumnDisplayMixedSort(e){let t=Qe(this.gos),i=!!e.getColDef().showRowGroup;return t&&i}getDisplaySortForColumn(e){let t=this.funcColsService.getSourceColumnsForGroupColumn(e);if(!this.canColumnDisplayMixedSort(e)||!t?.length)return e.getSort();let o=e.getColDef().field!=null||!!e.getColDef().valueGetter?[e,...t]:t,s=o[0].getSort();return o.every(n=>n.getSort()==s)?s:"mixed"}getDisplaySortIndexForColumn(e){return this.getIndexedSortMap().get(e)}},qv=class extends b{constructor(){super(...arguments),this.beanName="syncService",this.waitingForColumns=!1}wireBeans(e){this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.rowModel=e.rowModel}postConstruct(){this.addManagedPropertyListener("columnDefs",e=>this.setColumnDefs(e))}start(){this.ctrlsService.whenReady(this,()=>{let e=this.gos.get("columnDefs");e?this.setColumnsAndData(e):this.waitingForColumns=!0,this.gridReady()})}setColumnsAndData(e){this.columnModel.setColumnDefs(e??[],"gridInitializing"),this.rowModel.start()}gridReady(){this.eventService.dispatchEvent({type:"gridReady"});let e=this.gos.isModuleRegistered("@ag-grid-enterprise/core");this.gos.get("debug")&&ot(`initialised successfully, enterprise = ${e}`)}setColumnDefs(e){let t=this.gos.get("columnDefs");if(t){if(this.waitingForColumns){this.waitingForColumns=!1,this.setColumnsAndData(t);return}this.columnModel.setColumnDefs(t,It(e.source))}}},Jv="paste",Xv=class extends b{constructor(){super(...arguments),this.beanName="changeDetectionService"}wireBeans(e){this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer}postConstruct(){de(this.gos)&&(this.clientSideRowModel=this.rowModel),this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this)})}onCellValueChanged(e){e.source!==Jv&&this.doChangeDetection(e.node,e.column)}doChangeDetection(e,t){if(this.gos.get("suppressChangeDetection"))return;let i=[e];if(this.clientSideRowModel&&!e.isRowPinned()){let o=this.gos.get("aggregateOnlyChangedColumns"),s=new zi(o,this.clientSideRowModel.getRootNode());s.addParentNode(e.parent,[t]),this.clientSideRowModel.doAggregate(s),s.forEachChangedNodeDepthFirst(r=>{i.push(r)})}this.rowRenderer.refreshCells({rowNodes:i})}},Zv=class extends b{constructor(){super(...arguments),this.beanName="expressionService",this.expressionToFunctionCache={}}evaluate(e,t){if(typeof e=="string")return this.evaluateExpression(e,t);Q("value should be either a string or a function",e)}evaluateExpression(e,t){try{return this.createExpressionFunction(e)(t.value,t.context,t.oldValue,t.newValue,t.value,t.node,t.data,t.colDef,t.rowIndex,t.api,t.getValue,t.column,t.columnGroup)}catch(i){return ot("Processing of the expression failed"),ot("Expression = ",e),ot("Params = ",t),ot("Exception = ",i),null}}createExpressionFunction(e){if(this.expressionToFunctionCache[e])return this.expressionToFunctionCache[e];let t=this.createFunctionBody(e),i=new Function("x, ctx, oldValue, newValue, value, node, data, colDef, rowIndex, api, getValue, column, columnGroup",t);return this.expressionToFunctionCache[e]=i,i}createFunctionBody(e){return e.indexOf("return")>=0?e:"return "+e+";"}},eC=class extends b{constructor(){super(...arguments),this.beanName="valueCache",this.cacheVersion=0}postConstruct(){this.active=this.gos.get("valueCache"),this.neverExpires=this.gos.get("valueCacheNeverExpires")}onDataChanged(){this.neverExpires||this.expire()}expire(){this.cacheVersion++}setValue(e,t,i){this.active&&(e.__cacheVersion!==this.cacheVersion&&(e.__cacheVersion=this.cacheVersion,e.__cacheData={}),e.__cacheData[t]=i)}getValue(e,t){if(!(!this.active||e.__cacheVersion!==this.cacheVersion))return e.__cacheData[t]}},tC=class extends b{constructor(){super(...arguments),this.beanName="valueService",this.initialised=!1,this.isSsrm=!1}wireBeans(e){this.expressionService=e.expressionService,this.columnModel=e.columnModel,this.valueCache=e.valueCache,this.dataTypeService=e.dataTypeService}postConstruct(){this.initialised||this.init()}init(){this.isSsrm=mt(this.gos),this.cellExpressions=this.gos.get("enableCellExpressions"),this.isTreeData=this.gos.get("treeData"),this.initialised=!0;let e=i=>this.callColumnCellValueChangedHandler(i),t=oo(this.gos);this.eventService.addEventListener("cellValueChanged",e,t),this.addDestroyFunc(()=>this.eventService.removeEventListener("cellValueChanged",e,t)),this.addManagedPropertyListener("treeData",i=>this.isTreeData=i.currentValue)}getValueForDisplay(e,t){let i=t.leafGroup&&this.columnModel.isPivotMode(),o=t.group&&t.expanded&&!t.footer&&!i,s=this.gos.get("groupSuppressBlankHeader");if(!o||s)return this.getValue(e,t);let r=!1,n=this.gos.get("groupTotalRow")??this.gos.get("groupIncludeFooter");typeof n!="function"?r=!!n:r=!!(this.gos.getCallback("groupTotalRow")??this.gos.getCallback("groupIncludeFooter"))({node:this});let a=o&&r;return this.getValue(e,t,!1,a)}getValue(e,t,i=!1,o=!1){if(this.initialised||this.init(),!t)return;let s=e.getColDef(),r=s.field,n=e.getColId(),a=t.data,l,c=t.groupData&&t.groupData[n]!==void 0,d=!o&&t.aggData&&t.aggData[n]!==void 0,u=this.isSsrm&&o&&!!e.getColDef().aggFunc,h=this.isSsrm&&t.footer&&t.field&&(e.getColDef().showRowGroup===!0||e.getColDef().showRowGroup===t.field);if(i&&s.filterValueGetter?l=this.executeFilterValueGetter(s.filterValueGetter,a,e,t):this.isTreeData&&d?l=t.aggData[n]:this.isTreeData&&s.valueGetter?l=this.executeValueGetter(s.valueGetter,a,e,t):this.isTreeData&&r&&a?l=bi(a,r,e.isFieldContainsDots()):c?l=t.groupData[n]:d?l=t.aggData[n]:s.valueGetter?l=this.executeValueGetter(s.valueGetter,a,e,t):h?l=bi(a,t.field,e.isFieldContainsDots()):r&&a&&!u&&(l=bi(a,r,e.isFieldContainsDots())),this.cellExpressions&&typeof l=="string"&&l.indexOf("=")===0){let g=l.substring(1);l=this.executeValueGetter(g,a,e,t)}if(l==null){let g=this.getOpenedGroup(t,e);if(g!=null)return g}return l}parseValue(e,t,i,o){let s=e.getColDef(),r=s.valueParser;if(M(r)){let n=this.gos.addGridCommonParams({node:t,data:t?.data,oldValue:o,newValue:i,colDef:s,column:e});return typeof r=="function"?r(n):this.expressionService.evaluate(r,n)}return i}getDeleteValue(e,t){return M(e.getColDef().valueParser)?this.parseValue(e,t,"",this.getValueForDisplay(e,t))??null:null}formatValue(e,t,i,o,s=!0){let r=null,n,a=e.getColDef();if(o?n=o:s&&(n=a.valueFormatter),n){let l=this.gos.addGridCommonParams({value:i,node:t,data:t?t.data:null,colDef:a,column:e});typeof n=="function"?r=n(l):r=this.expressionService.evaluate(n,l)}else if(a.refData)return a.refData[i]||"";return r==null&&Array.isArray(i)&&(r=i.join(", ")),r}getOpenedGroup(e,t){if(!this.gos.get("showOpenedGroup")||!t.getColDef().showRowGroup)return;let o=t.getColDef().showRowGroup,s=e.parent;for(;s!=null;){if(s.rowGroupColumn&&(o===!0||o===s.rowGroupColumn.getColId()))return s.key;s=s.parent}}setValue(e,t,i,o){let s=this.columnModel.getColDefCol(t);if(!e||!s)return!1;K(e.data)&&(e.data={});let{field:r,valueSetter:n}=s.getColDef();if(K(r)&&K(n))return S("you need either field or valueSetter set on colDef for editing to work"),!1;if(this.dataTypeService&&!this.dataTypeService.checkType(s,i))return S("Data type of the new value does not match the cell data type of the column"),!1;let a=this.gos.addGridCommonParams({node:e,data:e.data,oldValue:this.getValue(s,e),newValue:i,colDef:s.getColDef(),column:s});a.newValue=i;let l;if(M(n)?typeof n=="function"?l=n(a):l=this.expressionService.evaluate(n,a):l=this.setValueUsingField(e.data,r,i,s.isFieldContainsDots()),l===void 0&&(l=!0),!l)return!1;e.resetQuickFilterAggregateText(),this.valueCache.onDataChanged();let c=this.getValue(s,e);return this.eventService.dispatchEvent({type:"cellValueChanged",event:null,rowIndex:e.rowIndex,rowPinned:e.rowPinned,column:a.column,colDef:a.colDef,data:e.data,node:e,oldValue:a.oldValue,newValue:c,value:c,source:o}),!0}callColumnCellValueChangedHandler(e){let t=e.colDef.onCellValueChanged;typeof t=="function"&&this.getFrameworkOverrides().wrapOutgoing(()=>{t({node:e.node,data:e.data,oldValue:e.oldValue,newValue:e.newValue,colDef:e.colDef,column:e.column,api:e.api,context:e.context})})}setValueUsingField(e,t,i,o){if(!t)return!1;let s=!1;if(!o)s=e[t]===i,s||(e[t]=i);else{let r=t.split("."),n=e;for(;r.length>0&&n;){let a=r.shift();r.length===0?(s=n[a]===i,s||(n[a]=i)):n=n[a]}}return!s}executeFilterValueGetter(e,t,i,o){let s=this.gos.addGridCommonParams({data:t,node:o,column:i,colDef:i.getColDef(),getValue:this.getValueCallback.bind(this,o)});return typeof e=="function"?e(s):this.expressionService.evaluate(e,s)}executeValueGetter(e,t,i,o){let s=i.getColId(),r=this.valueCache.getValue(o,s);if(r!==void 0)return r;let n=this.gos.addGridCommonParams({data:t,node:o,column:i,colDef:i.getColDef(),getValue:this.getValueCallback.bind(this,o)}),a;return typeof e=="function"?a=e(n):a=this.expressionService.evaluate(e,n),this.valueCache.setValue(o,s,a),a}getValueCallback(e,t){let i=this.columnModel.getColDefCol(t);return i?this.getValue(i,e):null}getKeyForNode(e,t){let i=this.getValue(e,t),o=e.getColDef().keyCreator,s=i;if(o){let r=this.gos.addGridCommonParams({value:i,colDef:e.getColDef(),column:e,node:t,data:t.data});s=o(r)}return typeof s=="string"||s==null||(s=String(s),s==="[object Object]"&&S("a column you are grouping or pivoting by has objects as values. If you want to group by complex objects then either a) use a colDef.keyCreator (se AG Grid docs) or b) to toString() on the object to return a key")),s}},Xs=class kt{static applyGlobalGridOptions(t){if(!kt.gridOptions)return t;let i={};return Ie(i,kt.gridOptions,!0,!0),kt.mergeStrategy==="deep"?Ie(i,t,!0,!0):i={...i,...t},kt.gridOptions.context&&(i.context=kt.gridOptions.context),t.context&&(kt.mergeStrategy==="deep"&&i.context&&Ie(t.context,i.context,!0,!0),i.context=t.context),i}};Xs.gridOptions=void 0;Xs.mergeStrategy="shallow";var sl=Xs;function rl(e){return sl.gridOptions?.[e]}var iC=1,nl=class{create(e,t,i,o,s){let r=sl.applyGlobalGridOptions(t),n=Lv(r),a=n.gridId??String(iC++),l=this.getRegisteredModules(s,a),c=this.createBeansList(n.rowModelType,l,a),d=this.createProvidedBeans(e,n,s);if(!c){Q("Failed to create grid.");return}let u={providedBeanInstances:d,beanClasses:c,gridId:a,beanInitComparator:mp,beanDestroyComparator:vp,derivedBeans:[ap]},h=new Pd(u);return this.registerModuleUserComponents(h,l),this.registerControllers(h,l),this.registerModuleApiFunctions(h,l),i(h),h.getBean("syncService").start(),o&&o(h),h.getBean("gridApi")}registerControllers(e,t){let i=e.getBean("ctrlsFactory");t.forEach(o=>{o.controllers&&o.controllers.forEach(s=>i.register(s))})}getRegisteredModules(e,t){let i=e?e.modules:null,o=Ue.__getRegisteredModules(t),s=[],r={},n=(a,l,c)=>{(u=>{r[u.moduleName]||(r[u.moduleName]=!0,s.push(u),Ue.__register(u,a,c))})(l),l.dependantModules&&l.dependantModules.forEach(u=>n(a,u,c))};return n(!!i?.length||!Ue.__isPackageBased(),Tv,void 0),i&&i.forEach(a=>n(!0,a,t)),o&&o.forEach(a=>n(!Ue.__isPackageBased(),a,void 0)),s}registerModuleUserComponents(e,t){let i=this.extractModuleEntity(t,s=>s.userComponents?s.userComponents:[]),o=e.getBean("userComponentRegistry");i.forEach(({name:s,classImp:r,params:n})=>{o.registerDefaultComponent(s,r,n)})}registerModuleApiFunctions(e,t){let i=e.getBean("apiFunctionService");t.forEach(o=>{let s=o.apiFunctions;s&&Object.keys(s).forEach(n=>{i?.addFunction(n,s[n])})})}createProvidedBeans(e,t,i){let o=i?i.frameworkOverrides:null;K(o)&&(o=new qs);let s={gridOptions:t,eGridDiv:e,globalEventListener:i?i.globalEventListener:null,globalSyncEventListener:i?i.globalSyncEventListener:null,frameworkOverrides:o};return i&&i.providedBeanInstances&&Object.assign(s,i.providedBeanInstances),s}createBeansList(e="clientSide",t,i){let o=t.filter(l=>!l.rowModel||l.rowModel===e),s={clientSide:"@ag-grid-community/client-side-row-model",infinite:"@ag-grid-community/infinite-row-model",serverSide:"@ag-grid-enterprise/server-side-row-model",viewport:"@ag-grid-enterprise/viewport-row-model"};if(!s[e]){Q("Could not find row model for rowModelType = ",e);return}if(!Ue.__assertRegistered(s[e],`rowModelType = '${e}'`,i))return;let r=[Sp,yp,Gv,Av,np,cd,gp,pp,og,qn,Kv,tg,Nv,$g,Id,pc,xp,Ov,ip,ol,ic,_u,Bv,zv,Kg,Zv,tc,eg,eC,tC,_g,ig,Td,Dp,Zh,Rp,sp,Jg,Xh,Qv,Uv,Wv,$v,Xv,sg,lp,jv,Yv,wp,Ep,bp,Cp,qv,_v,rg,Hv,Vv,ng,rc,cp,nc,oc,dp,up,hc,sc,dc,hp,uc,ql],n=this.extractModuleEntity(o,l=>l.beans?l.beans:[]);r.push(...n);let a=[];return r.forEach(l=>{a.indexOf(l)<0&&a.push(l)}),a}extractModuleEntity(e,t){return[].concat(...e.map(t))}},al=class extends b{constructor(){super(...arguments),this.beanName="rowModelHelperService"}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){let e=this.rowModel;switch(e.getType()){case"clientSide":this.clientSideRowModel=e;break;case"infinite":this.infiniteRowModel=e;break;case"serverSide":this.serverSideRowModel=e;break}}getClientSideRowModel(){return this.clientSideRowModel}getInfiniteRowModel(){return this.infiniteRowModel}getServerSideRowModel(){return this.serverSideRowModel}};function oC(e){e.expansionService.expandAll(!0)}function sC(e){e.expansionService.expandAll(!1)}function rC(e){let t=e.rowModelHelperService?.getClientSideRowModel(),i=e.rowModelHelperService?.getServerSideRowModel();t?t.onRowHeightChanged():i&&i.onRowHeightChanged()}function nC(e,t,i){let o=e.rowModelHelperService?.getServerSideRowModel();if(o){if(e.funcColsService.isRowGroupEmpty()){o.setRowCount(t,i);return}Q("setRowCount cannot be used while using row grouping.");return}let s=e.rowModelHelperService?.getInfiniteRowModel();if(s){s.setRowCount(t,i);return}}function aC(e){return e.rowNodeBlockLoader?.getBlockState()??{}}function lC(e){return e.rowModel.isLastRowIndexKnown()}var ll={version:B,moduleName:"@ag-grid-community/csrm-ssrm-shared-api",apiFunctions:{expandAll:oC,collapseAll:sC,onRowHeightChanged:rC}},Ww={version:B,moduleName:"@ag-grid-community/ssrm-infinite-shared-api",apiFunctions:{setRowCount:nC,getCacheBlockState:aC,isLastRowIndexKnown:lC}},cl=class{wrap(e,t,i=[],o){let s=this.createWrapper(e,o);return t.forEach(r=>{this.createMethod(s,r,!0)}),i.forEach(r=>{this.createMethod(s,r,!1)}),s}createMethod(e,t,i){e.addMethod(t,this.createMethodProxy(e,t,i))}createMethodProxy(e,t,i){return function(){return e.hasMethod(t)?e.callMethod(t,arguments):(i&&S("Framework component is missing the method "+t+"()"),null)}}},Zs=class{};Zs.CHART_TYPE_TO_SERIES_TYPE={column:"bar",groupedColumn:"bar",stackedColumn:"bar",normalizedColumn:"bar",bar:"bar",groupedBar:"bar",stackedBar:"bar",normalizedBar:"bar",line:"line",scatter:"scatter",bubble:"bubble",pie:"pie",donut:"donut",doughnut:"donut",area:"area",stackedArea:"area",normalizedArea:"area",histogram:"histogram",radarLine:"radar-line",radarArea:"radar-area",nightingale:"nightingale",radialColumn:"radial-column",radialBar:"radial-bar",sunburst:"sunburst",rangeBar:"range-bar",rangeArea:"range-area",boxPlot:"box-plot",treemap:"treemap",heatmap:"heatmap",waterfall:"waterfall"};Zs.COMBO_CHART_TYPES=["columnLineCombo","areaColumnCombo","customCombo"];Zs.SERIES_GROUP_TYPES=["grouped","stacked","normalized"];var di=typeof global>"u"?{}:global;di.HTMLElement=typeof HTMLElement>"u"?{}:HTMLElement;di.HTMLButtonElement=typeof HTMLButtonElement>"u"?{}:HTMLButtonElement;di.HTMLSelectElement=typeof HTMLSelectElement>"u"?{}:HTMLSelectElement;di.HTMLInputElement=typeof HTMLInputElement>"u"?{}:HTMLInputElement;di.Node=typeof Node>"u"?{}:Node;di.MouseEvent=typeof MouseEvent>"u"?{}:MouseEvent;var cC="ROOT_NODE_ID",er=0,dC=class{constructor(e,t,i,o,s,r){this.nextId=0,this.rowCountReady=!1,this.allNodesMap={},this.rootNode=e,this.gos=t,this.eventService=i,this.funcColsService=o,this.beans=r,this.selectionService=s,this.rootNode.group=!0,this.rootNode.level=-1,this.rootNode.id=cC,this.rootNode.allLeafChildren=[],this.rootNode.childrenAfterGroup=[],this.rootNode.childrenAfterSort=[],this.rootNode.childrenAfterAggFilter=[],this.rootNode.childrenAfterFilter=[]}getCopyOfNodesMap(){return xs(this.allNodesMap)}getRowNode(e){return this.allNodesMap[e]}setRowData(e){if(typeof e=="string"){S("rowData must be an array.");return}this.rowCountReady=!0,this.dispatchRowDataUpdateStartedEvent(e);let 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((o,s)=>this.createNode(o,this.rootNode,er,s)):(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);let 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){let t=this.rootNode.allLeafChildren,i=t?.length??0,o=new Map,s=-1,r=-1;for(let n=0;n<i;++n){let a=t[n],l=a.data;l!==e[n]&&(r<0&&(s=n),r=n,o.set(l,a))}if(s<0)return!1;for(let n=s;n<=r;++n){let a=o.get(e[n]);a!==void 0&&(t[n]=a,a.sourceRowIndex=n)}return!0}isRowCountReady(){return this.rowCountReady}dispatchRowDataUpdateStartedEvent(e){this.eventService.dispatchEvent({type:"rowDataUpdateStarted",firstRowData:e?.length?e[0]:null})}updateSelection(e,t){let 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){let i=e.add;if(Ee(i))return;let o=this.rootNode.allLeafChildren,s=o.length;if(typeof e.addIndex=="number"&&(s=this.sanitizeAddIndex(e.addIndex),s>0&&this.gos.get("treeData"))){for(let l=0;l<o.length;l++)if(o[l]?.rowIndex==s-1){s=l+1;break}}let r=i.map((a,l)=>this.createNode(a,this.rootNode,er,s+l));if(s<o.length){let a=o.slice(0,s),l=o.slice(s,o.length),c=a.length+r.length;for(let d=0,u=l.length;d<u;++d)l[d].sourceRowIndex=c+d;this.rootNode.allLeafChildren=[...a,...r,...l],t.rowsInserted=!0}else this.rootNode.allLeafChildren=o.concat(r);let n=this.rootNode.sibling;n&&(n.allLeafChildren=o),t.rowNodeTransaction.add=r}sanitizeAddIndex(e){let t=this.rootNode.allLeafChildren?.length??0;return e<0||e>=t||Number.isNaN(e)?t:Math.ceil(e)}executeRemove(e,{rowNodeTransaction:t},i){let{remove:o}=e;if(Ee(o))return;let s={};o.forEach(n=>{let a=this.lookupRowNode(n);a&&(a.isSelected()&&i.push(a),a.clearRowTopAndRowIndex(),s[a.id]=!0,delete this.allNodesMap[a.id],t.remove.push(a))}),this.rootNode.allLeafChildren=this.rootNode.allLeafChildren?.filter(n=>!s[n.id])??null,this.rootNode.allLeafChildren?.forEach((n,a)=>{n.sourceRowIndex=a});let r=this.rootNode.sibling;r&&(r.allLeafChildren=this.rootNode.allLeafChildren)}executeUpdate(e,{rowNodeTransaction:t},i){let{update:o}=e;Ee(o)||o.forEach(s=>{let r=this.lookupRowNode(s);r&&(r.updateData(s),!r.selectable&&r.isSelected()&&i.push(r),this.setMasterForRow(r,s,er,!1),t.update.push(r))})}lookupRowNode(e){let t=Ut(this.gos),i;if(t){let o=t({data:e,level:0});if(i=this.allNodesMap[o],!i)return Q(`could not find row id=${o}, data item was not found for this id`),null}else if(i=this.rootNode.allLeafChildren?.find(o=>o.data===e),!i)return Q("could not find data item as object was not found",e),Q("Consider using getRowId to help the Grid find matching row data"),null;return i||null}createNode(e,t,i,o){let s=new st(this.beans);return s.sourceRowIndex=o,s.group=!1,this.setMasterForRow(s,e,i,!0),t&&(s.parent=t),s.level=i,s.setDataAndId(e,this.nextId.toString()),this.allNodesMap[s.id]&&S(`duplicate node id '${s.id}' detected from getRowId callback, this could cause issues in your grid.`),this.allNodesMap[s.id]=s,this.nextId++,s}setMasterForRow(e,t,i,o){if(this.gos.get("treeData"))e.setMaster(!1),o&&(e.expanded=!1);else{if(this.gos.get("masterDetail")){let n=this.gos.get("isRowMaster");n?e.setMaster(n(t)):e.setMaster(!0)}else e.setMaster(!1);if(o){let n=this.funcColsService.getRowGroupColumns(),a=n?n.length:0,l=i+a;e.expanded=e.master?this.isExpanded(l):!1}}}isExpanded(e){let t=this.gos.get("groupDefaultExpanded");return t===-1?!0:e<t}},uC=class extends b{constructor(){super(...arguments),this.beanName="rowModel",this.onRowHeightChanged_debounced=xe(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(){let e=this.refreshModel.bind(this,{step:_.EVERYTHING}),t=!this.gos.get("suppressAnimationFrame"),i=this.refreshModel.bind(this,{step:_.EVERYTHING,afterColumnsChanged:!0,keepRenderedRows:!0,animate:t});this.addManagedEventListeners({newColumnsLoaded:i,columnRowGroupChanged:e,columnValueChanged:this.onValueChanged.bind(this),columnPivotChanged:this.refreshModel.bind(this,{step:_.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 st(this.beans),this.nodeManager=new dC(this.rootNode,this.gos,this.eventService,this.funcColsService,this.selectionService,this.beans)}addPropertyListeners(){let e=new Set(["treeData","masterDetail"]),t=new Set(["groupDefaultExpanded","groupAllowUnbalanced","initialGroupOrderComparator","groupHideOpenParents","groupDisplayType"]),i=new Set(["excludeChildrenWhenTreeDataFiltering"]),o=new Set(["removePivotHeaderRowWhenSingleValueColumn","pivotRowTotals","pivotColumnGroupTotals","suppressExpandablePivotGroups"]),s=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,...o,...o,...s,...r,...n,...a];this.addManagedPropertyListeners(l,c=>{let d=c.changeSet?.properties;if(!d)return;let u=h=>d.some(g=>h.has(g));if(u(e)){this.setRowData(this.rootNode.allLeafChildren.map(h=>h.data));return}if(u(t)){this.refreshModel({step:_.EVERYTHING});return}if(u(i)){this.refreshModel({step:_.FILTER});return}if(u(o)){this.refreshModel({step:_.PIVOT});return}if(u(s)){this.refreshModel({step:_.AGGREGATE});return}if(u(r)){this.refreshModel({step:_.SORT});return}if(u(n)){this.refreshModel({step:_.FILTER_AGGREGATES});return}u(a)&&this.refreshModel({step:_.MAP})}),this.addManagedPropertyListener("rowHeight",()=>this.resetRowHeights())}start(){this.hasStarted=!0,this.shouldSkipSettingDataOnStart?this.dispatchUpdateEventsAndRefresh():this.setInitialData()}setInitialData(){let e=this.gos.get("rowData");e&&(this.shouldSkipSettingDataOnStart=!0,this.setRowData(e))}ensureRowHeightsValid(e,t,i,o){let s,r=!1;do{s=!1;let n=this.getRowIndexAtPixel(e),a=this.getRowIndexAtPixel(t),l=Math.max(n,i),c=Math.min(a,o);for(let d=l;d<=c;d++){let u=this.getRow(d);if(u.rowHeightEstimated){let h=ht(this.gos,u);u.setRowHeight(h.height),s=!0,r=!0}}s&&this.setRowTopAndRowIndex()}while(s);return r}setRowTopAndRowIndex(){let e=this.environment.getDefaultRowHeight(),t=0,i=new Set,o=Re(this.gos,"normal");for(let s=0;s<this.rowsToDisplay.length;s++){let r=this.rowsToDisplay[s];if(r.id!=null&&i.add(r.id),r.rowHeight==null){let n=ht(this.gos,r,o,e);r.setRowHeight(n.height,n.estimated)}r.setRowTop(t),r.setRowIndex(s),t+=r.rowHeight}return i}clearRowTopAndRowIndex(e,t){let i=e.isActive(),o=r=>{r&&r.id!=null&&!t.has(r.id)&&r.clearRowTopAndRowIndex()},s=r=>{if(o(r),o(r.detailNode),o(r.sibling),r.hasChildren()&&r.childrenAfterGroup){let n=r.level==-1;i&&!n&&!r.expanded||r.childrenAfterGroup.forEach(s)}};s(this.rootNode)}ensureRowsAtPixel(e,t,i=0){let o=this.getRowIndexAtPixel(t),s=this.getRow(o),r=!this.gos.get("suppressAnimationFrame");if(s===e[0])return!1;let n=this.rootNode.allLeafChildren;return e.forEach(a=>{De(n,a)}),e.forEach((a,l)=>{Mi(n,a,Math.max(o+i,0)+l)}),e.forEach((a,l)=>{a.sourceRowIndex=l}),this.refreshModel({step:_.EVERYTHING,keepRenderedRows:!0,keepEditingRows:!0,animate:r,rowNodesOrderChanged:!0}),!0}highlightRowAtPixel(e,t){let i=t!=null?this.getRowIndexAtPixel(t):null,o=i!=null?this.getRow(i):null;if(!o||!e||t==null){this.clearHighlightedRow();return}let s=this.getHighlightPosition(t,o),r=this.isHighlightingCurrentPosition(e,o,s),n=this.lastHighlightedRow!=null&&this.lastHighlightedRow!==o;(r||n)&&(this.clearHighlightedRow(),r)||(o.setHighlighted(s),this.lastHighlightedRow=o)}getHighlightPosition(e,t){if(!t){let s=this.getRowIndexAtPixel(e);if(t=this.getRow(s||0),!t)return ci.Below}let{rowTop:i,rowHeight:o}=t;return e-i<o/2?ci.Above:ci.Below}getLastHighlightedRowNode(){return this.lastHighlightedRow}isHighlightingCurrentPosition(e,t,i){if(e===t)return!0;let o=i===ci.Above?-1:1;return this.getRow(t.rowIndex+o)===e}clearHighlightedRow(){this.lastHighlightedRow&&(this.lastHighlightedRow.setHighlighted(null),this.lastHighlightedRow=null)}isLastRowIndexKnown(){return!0}getRowCount(){return this.rowsToDisplay?this.rowsToDisplay.length:0}getTopLevelRowCount(){if(this.rowsToDisplay.length===0)return 0;if(this.rowsToDisplay&&this.rowsToDisplay[0]===this.rootNode)return 1;let t=this.rootNode.childrenAfterAggFilter,i=this.rootNode.sibling?1:0;return(t?t.length:0)+i}getTopLevelRowDisplayedIndex(e){if(this.rowsToDisplay&&this.rowsToDisplay[0]===this.rootNode)return e;let i=e;if(this.rowsToDisplay[0].footer){if(e===0)return 0;i-=1}let o=this.rowsToDisplay[this.rowsToDisplay.length-1],s=i>=this.rootNode.childrenAfterSort.length;if(o.footer&&s)return o.rowIndex;let r=this.rootNode.childrenAfterSort[i];if(this.gos.get("groupHideOpenParents"))for(;r.expanded&&r.childrenAfterSort&&r.childrenAfterSort.length>0;)r=r.childrenAfterSort[0];return r.rowIndex}getRowBounds(e){if(K(this.rowsToDisplay))return null;let t=this.rowsToDisplay[e];return t?{rowTop:t.rowTop,rowHeight:t.rowHeight}:null}onRowGroupOpened(){let e=Wt(this.gos);this.refreshModel({step:_.MAP,keepRenderedRows:!0,animate:e})}onFilterChanged(e){if(e.afterDataChange)return;let t=Wt(this.gos),o=e.columns.length===0||e.columns.some(s=>s.isPrimary())?_.FILTER:_.FILTER_AGGREGATES;this.refreshModel({step:o,keepRenderedRows:!0,animate:t})}onSortChanged(){let e=Wt(this.gos);this.refreshModel({step:_.SORT,keepRenderedRows:!0,animate:e,keepEditingRows:!0})}getType(){return"clientSide"}onValueChanged(){this.columnModel.isPivotActive()?this.refreshModel({step:_.PIVOT}):this.refreshModel({step:_.AGGREGATE})}createChangePath(e){let t=Ee(e),i=new zi(!1,this.rootNode);return t&&i.setInactive(),i}isSuppressModelUpdateAfterUpdateTransaction(e){if(!this.gos.get("suppressModelUpdateAfterUpdateTransaction")||e.rowNodeTransactions==null)return!1;let t=e.rowNodeTransactions.filter(o=>o.add!=null&&o.add.length>0||o.remove!=null&&o.remove.length>0);return t==null||t.length==0}buildRefreshModelParams(e){let t=_.EVERYTHING,i={everything:_.EVERYTHING,group:_.EVERYTHING,filter:_.FILTER,map:_.MAP,aggregate:_.AGGREGATE,filter_aggregates:_.FILTER_AGGREGATES,sort:_.SORT,pivot:_.PIVOT,nothing:_.NOTHING};if(M(e)&&(t=i[e]),K(t)){Q(`invalid step ${e}, available steps are ${Object.keys(i).join(", ")}`);return}let o=!this.gos.get("suppressAnimationFrame");return{step:t,keepRenderedRows:!0,keepEditingRows:!0,animate:o}}refreshModel(e){if(!this.hasStarted||this.isRefreshingModel||this.columnModel.isChangeEventsDispatching())return;let t=typeof e=="object"&&"step"in e?e:this.buildRefreshModelParams(e);if(!t||this.isSuppressModelUpdateAfterUpdateTransaction(t))return;let i=this.createChangePath(t.rowNodeTransactions);switch(this.isRefreshingModel=!0,t.step){case _.EVERYTHING:this.doRowGrouping(t.rowNodeTransactions,i,!!t.rowNodesOrderChanged,!!t.afterColumnsChanged);case _.FILTER:this.doFilter(i);case _.PIVOT:this.doPivot(i);case _.AGGREGATE:this.doAggregate(i);case _.FILTER_AGGREGATES:this.doFilterAggregates(i);case _.SORT:this.doSort(t.rowNodeTransactions,i);case _.MAP:this.doRowsToDisplay()}let o=this.setRowTopAndRowIndex();this.clearRowTopAndRowIndex(i,o),this.isRefreshingModel=!1,this.eventService.dispatchEvent({type:"modelUpdated",animate:t.animate,keepRenderedRows:t.keepRenderedRows,newData:t.newData,newPage:!1,keepUndoRedoStack:t.keepUndoRedoStack})}isEmpty(){let e=K(this.rootNode.allLeafChildren)||this.rootNode.allLeafChildren.length===0;return K(this.rootNode)||e||!this.columnModel.isReady()}isRowsToRender(){return M(this.rowsToDisplay)&&this.rowsToDisplay.length>0}getNodesInRangeForSelection(e,t){let i=!1,o=!1,s=[],r=Dt(this.gos);return this.forEachNodeAfterFilterAndSort(n=>{if(o)return;if(i&&(n===t||n===e)&&(o=!0,n.group&&r)){s.push(...n.allLeafChildren);return}if(!i){if(n!==t&&n!==e)return;i=!0}if(!n.group||!r){s.push(n);return}}),s}setDatasource(e){Q("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()||this.rowsToDisplay.length===0)return-1;let t=0,i=this.rowsToDisplay.length-1;if(e<=0)return 0;if($(this.rowsToDisplay).rowTop<=e)return this.rowsToDisplay.length-1;let s=-1,r=-1;for(;;){let n=Math.floor((t+i)/2),a=this.rowsToDisplay[n];if(this.isRowInPixel(a,e)||(a.rowTop<e?t=n+1:a.rowTop>e&&(i=n-1),s===t&&r===i))return n;s=t,r=i}}isRowInPixel(e,t){let i=e.rowTop,o=e.rowTop+e.rowHeight;return i<=t&&o>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){let{nodes:t,callback:i,recursionType:o,includeFooterNodes:s}=e,{index:r}=e,n=a=>{let l=t[0]?.parent;if(!l)return;let c=s&&vo(this.gos),d=Co(this.gos),u=s&&d({node:l});if(l===this.rootNode){c===a&&(l.createFooter(),i(l.sibling,r++));return}u===a&&(l.createFooter(),i(l.sibling,r++))};n("top");for(let a=0;a<t.length;a++){let l=t[a];if(i(l,r++),l.hasChildren()&&!l.footer){let c=null;switch(o){case 0:c=l.childrenAfterGroup;break;case 1:c=l.childrenAfterAggFilter;break;case 2:c=l.childrenAfterSort;break;case 3:c=l.leafGroup?null:l.childrenAfterSort;break}c&&(r=this.recursivelyWalkNodesAndCallback({nodes:[...c],callback:i,recursionType:o,index:r,includeFooterNodes:s}))}}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){let t=this.gos.get("treeData"),i=this.columnModel.isPivotActive(),o=s=>{s&&s.forEach(r=>{let n=()=>{r.expanded=e,o(r.childrenAfterGroup)};if(t){M(r.childrenAfterGroup)&&n();return}if(i){!r.leafGroup&&n();return}r.group&&n()})};this.rootNode&&o(this.rootNode.childrenAfterGroup),this.refreshModel({step:_.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,o){if(this.groupStage)e?this.groupStage.execute({rowNode:this.rootNode,rowNodeTransactions:e,rowNodesOrderChanged:i,changedPath:t}):this.groupStage.execute({rowNode:this.rootNode,changedPath:t,afterColumnsChanged:o}),Dt(this.gos)&&this.selectionService.updateGroupsFromChildrenSelections("rowGroupChanged",t)&&this.eventService.dispatchEvent({type:"selectionChanged",source:"rowGroupChanged"});else{let s=this.rootNode,r=s.sibling;s.childrenAfterGroup=s.allLeafChildren,r&&(r.childrenAfterGroup=s.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(typeof e=="string"&&e.indexOf(st.ID_PREFIX_ROW_GROUP)==0){let i;return this.forEachNode(o=>{o.id===e&&(i=o)}),i}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:_.EVERYTHING,newData:!0})}batchUpdateRowData(e,t){if(this.applyAsyncTransactionsTimeout==null){this.rowDataTransactionBatch=[];let i=this.gos.get("asyncTransactionWaitMillis");this.applyAsyncTransactionsTimeout=window.setTimeout(()=>{this.isAlive()&&this.executeBatchUpdateRowData()},i)}this.rowDataTransactionBatch.push({rowDataTransaction:e,callback:t})}flushAsyncTransactions(){this.applyAsyncTransactionsTimeout!=null&&(clearTimeout(this.applyAsyncTransactionsTimeout),this.executeBatchUpdateRowData())}executeBatchUpdateRowData(){this.valueCache.onDataChanged();let e=[],t=[],i=!1;this.rowDataTransactionBatch?.forEach(o=>{let{rowNodeTransaction:s,rowsInserted:r}=this.nodeManager.updateRowData(o.rowDataTransaction);r&&(i=!0),t.push(s),o.callback&&e.push(o.callback.bind(null,s))}),this.commonUpdateRowData(t,i),e.length>0&&window.setTimeout(()=>{e.forEach(o=>o())},0),t.length>0&&this.eventService.dispatchEvent({type:"asyncTransactionsFlushed",results:t}),this.rowDataTransactionBatch=null,this.applyAsyncTransactionsTimeout=void 0}updateRowData(e){this.valueCache.onDataChanged();let{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;let i=!this.gos.get("suppressAnimationFrame");this.eventService.dispatchEvent({type:"rowDataUpdated"}),this.refreshModel({step:_.EVERYTHING,rowNodeTransactions:e,rowNodesOrderChanged:t,keepRenderedRows:!0,keepEditingRows:!0,animate:i})}doRowsToDisplay(){this.rowsToDisplay=this.flattenStage.execute({rowNode:this.rootNode})}onRowHeightChanged(){this.refreshModel({step:_.MAP,keepRenderedRows:!0,keepEditingRows:!0,keepUndoRedoStack:!0})}onRowHeightChangedDebounced(){this.onRowHeightChanged_debounced()}resetRowHeights(){let 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);let 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}destroy(){super.destroy(),this.clearHighlightedRow()}};function hC(e){e.expansionService.onGroupExpandedOrCollapsed()}function gC(e,t){e.rowModelHelperService?.getClientSideRowModel()?.refreshModel(t)}function pC(e){return e.rowModelHelperService?.getClientSideRowModel()?.isEmpty()??!0}function fC(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachLeafNode(t)}function mC(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachNodeAfterFilter(t)}function vC(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachNodeAfterFilterAndSort(t)}function CC(e){if(e.columnModel.isAutoRowHeightActive()){S("calling gridApi.resetRowHeights() makes no sense when using Auto Row Height.");return}e.rowModelHelperService?.getClientSideRowModel()?.resetRowHeights()}function wC(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.rowModelHelperService?.getClientSideRowModel()?.updateRowData(t))}function yC(e,t,i){e.frameworkOverrides.wrapIncoming(()=>e.rowModelHelperService?.getClientSideRowModel()?.batchUpdateRowData(t,i))}function bC(e){e.frameworkOverrides.wrapIncoming(()=>e.rowModelHelperService?.getClientSideRowModel()?.flushAsyncTransactions())}function SC(e){return e.selectionService.getBestCostNodeSelection()}var RC=class extends b{constructor(){super(...arguments),this.beanName="filterStage"}wireBeans(e){this.filterManager=e.filterManager}execute(e){let{changedPath:t}=e;this.filter(t)}filter(e){let t=!!this.filterManager?.isChildFilterPresent();this.filterNodes(t,e)}filterNodes(e,t){let i=(o,s)=>{o.hasChildren()&&e&&!s?o.childrenAfterFilter=o.childrenAfterGroup.filter(r=>{let n=r.childrenAfterFilter&&r.childrenAfterFilter.length>0,a=r.data&&this.filterManager.doesRowPassFilter({rowNode:r});return n||a}):o.childrenAfterFilter=o.childrenAfterGroup,o.sibling&&(o.sibling.childrenAfterFilter=o.childrenAfterFilter)};if(this.doingTreeDataFiltering()){let o=(r,n)=>{if(r.childrenAfterGroup)for(let a=0;a<r.childrenAfterGroup.length;a++){let l=r.childrenAfterGroup[a],c=n||this.filterManager.doesRowPassFilter({rowNode:l});l.childrenAfterGroup?o(r.childrenAfterGroup[a],c):i(l,c)}i(r,n)},s=r=>o(r,!1);t.executeFromRootNode(s)}else{let o=s=>i(s,!1);t.forEachChangedNodeDepthFirst(o,!0)}}doingTreeDataFiltering(){return this.gos.get("treeData")&&!this.gos.get("excludeChildrenWhenTreeDataFiltering")}},FC=class extends b{constructor(){super(...arguments),this.beanName="flattenStage"}wireBeans(e){this.beans=e,this.columnModel=e.columnModel}execute(e){let t=e.rowNode,i=[],o=this.columnModel.isPivotMode(),s=o&&t.leafGroup,r=s?[t]:t.childrenAfterSort,n=this.getFlattenDetails();this.recursivelyAddToRowsToDisplay(n,r,i,o,0);let a=i.length>0;if(!s&&a&&n.grandTotalRow){t.createFooter();let c=n.grandTotalRow==="top";this.addRowNodeToRowsToDisplay(n,t.sibling,i,0,c)}return i}getFlattenDetails(){let e=this.gos.get("groupRemoveSingleChildren");return{groupRemoveLowestSingleChildren:!e&&this.gos.get("groupRemoveLowestSingleChildren"),groupRemoveSingleChildren:e,isGroupMultiAutoColumn:un(this.gos),hideOpenParents:this.gos.get("groupHideOpenParents"),grandTotalRow:vo(this.gos),groupTotalRow:Co(this.gos)}}recursivelyAddToRowsToDisplay(e,t,i,o,s){if(!Ee(t))for(let r=0;r<t.length;r++){let n=t[r],a=n.hasChildren(),l=o&&!a,c=e.groupRemoveSingleChildren&&a&&n.childrenAfterGroup.length===1,d=e.groupRemoveLowestSingleChildren&&a&&n.leafGroup&&n.childrenAfterGroup.length===1,u=o&&n.leafGroup,h=e.hideOpenParents&&n.expanded&&!n.master&&!u;if(!l&&!h&&!c&&!d&&this.addRowNodeToRowsToDisplay(e,n,i,s),!(o&&n.leafGroup)){if(a){let f=c||d;if(n.expanded||f){let m=e.groupTotalRow({node:n});m||n.destroyFooter();let p=f?s:s+1;m==="top"&&(n.createFooter(),this.addRowNodeToRowsToDisplay(e,n.sibling,i,p)),this.recursivelyAddToRowsToDisplay(e,n.childrenAfterSort,i,o,p),m==="bottom"&&(n.createFooter(),this.addRowNodeToRowsToDisplay(e,n.sibling,i,p))}}else if(n.master&&n.expanded){let f=this.createDetailNode(n);this.addRowNodeToRowsToDisplay(e,f,i,s)}}}}addRowNodeToRowsToDisplay(e,t,i,o,s){s?i.unshift(t):i.push(t),t.setUiLevel(e.isGroupMultiAutoColumn?0:o)}createDetailNode(e){if(M(e.detailNode))return e.detailNode;let t=new st(this.beans);return t.detail=!0,t.selectable=!1,t.parent=e,M(e.id)&&(t.id="detail_"+e.id),t.data=e.data,t.level=e.level+1,e.detailNode=t,t}},xC=class extends b{constructor(){super(...arguments),this.beanName="immutableService"}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){de(this.gos)&&(this.clientSideRowModel=this.rowModel,this.addManagedPropertyListener("rowData",()=>this.onRowDataUpdated()))}isActive(){let e=this.gos.exists("getRowId");return this.gos.get("resetRowDataOnUpdate")?!1:e}setRowData(e){let t=this.createTransactionForRowData(e);if(!t)return;let i=this.clientSideRowModel.getNodeManager(),{rowNodeTransaction:o,rowsInserted:s}=i.updateRowData(t),r=!1;this.gos.get("suppressMaintainUnsortedOrder")||(r=i.updateRowOrderFromRowData(e)),this.clientSideRowModel.afterImmutableDataChange(o,r||s)}createTransactionForRowData(e){if(!de(this.gos))return Q("ImmutableService only works with ClientSideRowModel"),null;let t=Ut(this.gos);if(t==null)return Q("ImmutableService requires getRowId() callback to be implemented, your row data needs IDs!"),null;let i=this.clientSideRowModel.getNodeManager().getCopyOfNodesMap(),o=[],s=[],r=[];return M(e)&&e.forEach(n=>{let a=t({data:n,level:0}),l=i[a];l?(l.data!==n&&s.push(n),i[a]=void 0):r.push(n)}),We(i,(n,a)=>{a&&o.push(a.data)}),{remove:o,update:s,add:r}}onRowDataUpdated(){let e=this.gos.get("rowData");e&&(this.isActive()?this.setRowData(e):(this.selectionService.reset("rowDataChanged"),this.clientSideRowModel.setRowData(e)))}},DC=class extends b{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,o,s,r){let n=this.gos.get("groupMaintainOrder"),a=this.columnModel.getCols().some(h=>h.isRowGroupActive()),l={};i&&o&&(l=this.calculateDirtyNodes(o));let c=this.columnModel.isPivotMode(),d=this.gos.getCallback("postSortRows"),u=h=>{this.pullDownGroupDataForHideOpenParents(h.childrenAfterAggFilter,!0);let g=c&&h.leafGroup;if(n&&a&&!h.leafGroup&&!r){let p=this.funcColsService.getRowGroupColumns()?.[h.level+1]?.getSort()===null,v=h.childrenAfterAggFilter.slice(0);if(h.childrenAfterSort&&!p){let w={};h.childrenAfterSort.forEach((C,R)=>{w[C.id]=R}),v.sort((C,R)=>(w[C.id]??0)-(w[R.id]??0))}h.childrenAfterSort=v}else!t||g?h.childrenAfterSort=h.childrenAfterAggFilter.slice(0):i?h.childrenAfterSort=this.doDeltaSort(h,l,s,e):h.childrenAfterSort=this.rowNodeSorter.doFullSort(h.childrenAfterAggFilter,e);if(h.sibling&&(h.sibling.childrenAfterSort=h.childrenAfterSort),this.updateChildIndexes(h),d){let m={nodes:h.childrenAfterSort};d(m)}};s&&s.forEachChangedNodeDepthFirst(u),this.updateGroupDataForHideOpenParents(s)}calculateDirtyNodes(e){let t={},i=o=>{o&&o.forEach(s=>t[s.id]=!0)};return e&&e.forEach(o=>{i(o.add),i(o.update),i(o.remove)}),t}doDeltaSort(e,t,i,o){let s=e.childrenAfterAggFilter,r=e.childrenAfterSort;if(!r)return this.rowNodeSorter.doFullSort(s,o);let n={},a=[];s.forEach(u=>{t[u.id]||!i.canSkip(u)?a.push(u):n[u.id]=!0});let l=r.filter(u=>n[u.id]),c=(u,h)=>({currentPos:h,rowNode:u}),d=a.map(c).sort((u,h)=>this.rowNodeSorter.compareRowNodes(o,u,h));return this.mergeSortedArrays(o,d,l.map(c)).map(({rowNode:u})=>u)}mergeSortedArrays(e,t,i){let o=[],s=0,r=0;for(;s<t.length&&r<i.length;)this.rowNodeSorter.compareRowNodes(e,t[s],i[r])<0?o.push(t[s++]):o.push(i[r++]);for(;s<t.length;)o.push(t[s++]);for(;r<i.length;)o.push(i[r++]);return o}updateChildIndexes(e){if(K(e.childrenAfterSort))return;let t=e.childrenAfterSort;for(let i=0;i<t.length;i++){let o=t[i],s=i===0,r=i===e.childrenAfterSort.length-1;o.setFirstChild(s),o.setLastChild(r),o.setChildIndex(i)}}updateGroupDataForHideOpenParents(e){if(!this.gos.get("groupHideOpenParents"))return;if(this.gos.get("treeData"))return S("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;let t=i=>{this.pullDownGroupDataForHideOpenParents(i.childrenAfterSort,!1),i.childrenAfterSort.forEach(o=>{o.hasChildren()&&t(o)})};e&&e.executeFromRootNode(i=>t(i))}pullDownGroupDataForHideOpenParents(e,t){!this.gos.get("groupHideOpenParents")||K(e)||e.forEach(i=>{(this.showRowGroupColsService?.getShowRowGroupCols()??[]).forEach(s=>{let r=s.getColDef().showRowGroup;if(typeof r!="string"){Q("groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup");return}let n=r,a=this.columnModel.getColDefCol(n);if(a!==i.rowGroupColumn)if(t)i.setGroupValue(s.getId(),void 0);else{let c=this.getFirstChildOfFirstChild(i,a);c&&i.setGroupValue(s.getId(),c.key)}})})}getFirstChildOfFirstChild(e,t){let i=e;for(;i;){let o=i.parent;if(o&&i.firstChild){if(o.rowGroupColumn===t)return o}else return null;i=o}return null}},EC=class extends b{constructor(){super(...arguments),this.beanName="sortStage"}wireBeans(e){this.sortService=e.sortService,this.sortController=e.sortController}execute(e){let t=this.sortController.getSortOptions(),i=M(t)&&t.length>0,o=i&&M(e.rowNodeTransactions)&&this.gos.get("deltaSort"),s=t.some(r=>Qe(this.gos)?r.column.isPrimary()&&r.column.isRowGroupActive():!!r.column.getColDef().showRowGroup);this.sortService.sort(t,i,o,e.rowNodeTransactions,e.changedPath,s)}},tr="32.3.9",dl={version:tr,moduleName:`${ni.ClientSideRowModelModule}-core`,rowModel:"clientSide",beans:[uC,RC,EC,FC,DC,xC]},MC={version:tr,moduleName:`${ni.ClientSideRowModelModule}-api`,beans:[al],apiFunctions:{onGroupExpandedOrCollapsed:hC,refreshClientSideRowModel:gC,isRowDataEmpty:pC,forEachLeafNode:fC,forEachNodeAfterFilter:mC,forEachNodeAfterFilterAndSort:vC,resetRowHeights:CC,applyTransaction:wC,applyTransactionAsync:yC,flushAsyncTransactions:bC,getBestCostNodeSelection:SC},dependantModules:[dl,ll]},ul={version:tr,moduleName:ni.ClientSideRowModelModule,dependantModules:[dl,MC]};ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();var Me=F.createContext({}),Bi=(e,t,i,o)=>{if(!e||e.componentFromFramework||t.isDestroyed())return;let r=e.newAgStackInstance();if(r==null)return;let n,a,l=!1;return r.then(c=>{if(l){t.destroyBean(c);return}n=c,a=n.getGui(),i.appendChild(a),hl(o,n)}),()=>{l=!0,n&&(a?.parentElement?.removeChild(a),t.destroyBean(n),o&&hl(o,void 0))}},hl=(e,t)=>{if(e)if(e instanceof Function)e(t);else{let i=e;i.current=t}},Ze=(...e)=>e.filter(i=>i!=null&&i!=="").join(" "),$e=class vl{constructor(...t){this.classesMap={},t.forEach(i=>{this.classesMap[i]=!0})}setClass(t,i){if(!!this.classesMap[t]==i)return this;let s=new vl;return s.classesMap={...this.classesMap},s.classesMap[t]=i,s}toString(){return Object.keys(this.classesMap).filter(i=>this.classesMap[i]).join(" ")}},ui=e=>{let t=()=>typeof Symbol=="function"&&Symbol.for,i=()=>t()?Symbol.for("react.memo"):60115;return typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===i()},or=F.version?.split(".")[0],PC=or==="16"||or==="17";function TC(){return or==="19"}var Eo=!1;function AC(e){return Eo||setTimeout(()=>Eo=!1,0),Eo=!0,e()}var sr=(e,t)=>{!PC&&e&&!Eo?F.flushSync(t):t()};function rr(e,t,i){if(t==null||e==null)return t;if(e===t||t.length===0&&e.length===0)return e;if(i||e.length===0&&t.length>0||e.length>0&&t.length===0)return t;let o=[],s=[],r=new Map,n=new Map;for(let a=0;a<t.length;a++){let l=t[a];n.set(l.instanceId,l)}for(let a=0;a<e.length;a++){let l=e[a];r.set(l.instanceId,l),n.has(l.instanceId)&&o.push(l)}for(let a=0;a<t.length;a++){let l=t[a],c=l.instanceId;r.has(c)||s.push(l)}return o.length===e.length&&s.length===0?e:o.length===0&&s.length===t.length?t:o.length===0?s:s.length===0?o:[...o,...s]}var Cl=Jt((e,t)=>{let{ctrlsFactory:i,context:o}=se(Me),s=D(null),r=D(null),n=D(null),a=D(null),l=D(null),c=D(),[d,u]=E(),[h,g]=E(),[f,m]=E(),[p,v]=E(()=>new $e),[w,C]=E(()=>new $e("ag-hidden")),[R,P]=E(()=>new $e("ag-hidden")),[T,x]=E(()=>new $e("ag-invisible"));qt(t,()=>({refresh(){return!1}})),Le(()=>Bi(d,o,r.current),[d]);let A=W(X=>{if(s.current=X,!X){c.current=o.destroyBean(c.current);return}let Z={setInnerRenderer:(ee,N)=>{u(ee),m(N)},setChildCount:ee=>g(ee),addOrRemoveCssClass:(ee,N)=>v(G=>G.setClass(ee,N)),setContractedDisplayed:ee=>P(N=>N.setClass("ag-hidden",!ee)),setExpandedDisplayed:ee=>C(N=>N.setClass("ag-hidden",!ee)),setCheckboxVisible:ee=>x(N=>N.setClass("ag-invisible",!ee))},ge=i.getInstance("groupCellRendererCtrl");ge&&(c.current=o.createBean(ge),c.current.init(Z,X,n.current,a.current,l.current,Cl,e))},[]),L=H(()=>`ag-cell-wrapper ${p.toString()}`,[p]),k=H(()=>`ag-group-expanded ${w.toString()}`,[w]),O=H(()=>`ag-group-contracted ${R.toString()}`,[R]),q=H(()=>`ag-group-checkbox ${T.toString()}`,[T]),Ce=d&&d.componentFromFramework,oe=Ce?d.componentClass:void 0,he=d==null&&f!=null,J=qe(f,!0);return F.createElement("span",{className:L,ref:A,...e.colDef?{}:{role:c.current?.getCellAriaRole()}},F.createElement("span",{className:k,ref:a}),F.createElement("span",{className:O,ref:l}),F.createElement("span",{className:q,ref:n}),F.createElement("span",{className:"ag-group-value",ref:r},he&&F.createElement(F.Fragment,null,J),Ce&&F.createElement(oe,{...d.params})),F.createElement("span",{className:"ag-group-child-count"},h))}),gl=Cl,nr=hr({setMethods:()=>{}}),kC=e=>{let{initialProps:t,addUpdateCallback:i,CustomComponentClass:o,setMethods:s}=e,[{key:r,...n},a]=E(t);return ue(()=>{i(l=>a(l))},[]),F.createElement(nr.Provider,{value:{setMethods:s}},F.createElement(o,{key:r,...n}))},IC=re(kC),LC=0;function pl(){return`agPortalKey_${++LC}`}var wl=class{constructor(e,t,i,o){this.portal=null,this.oldPortal=null,this.reactComponent=e,this.portalManager=t,this.componentType=i,this.suppressFallbackMethods=!!o,this.statelessComponent=this.isStateless(this.reactComponent),this.key=pl(),this.portalKey=pl(),this.instanceCreated=this.isStatelessComponent()?ae.resolve(!1):new ae(s=>{this.resolveInstanceCreated=s})}getGui(){return this.eParentElement}getRootElement(){return this.eParentElement.firstChild}destroy(){this.componentInstance&&typeof this.componentInstance.destroy=="function"&&this.componentInstance.destroy();let e=this.portal;e&&this.portalManager.destroyPortal(e)}createParentElement(e){let t=this.portalManager.getComponentWrappingElement(),i=document.createElement(t||"div");return i.classList.add("ag-react-container"),e.reactContainer=i,i}addParentContainerStyleAndClasses(){this.componentInstance&&(this.componentInstance.getReactContainerStyle&&this.componentInstance.getReactContainerStyle()&&(S('Since v31.1 "getReactContainerStyle" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),Object.assign(this.eParentElement.style,this.componentInstance.getReactContainerStyle())),this.componentInstance.getReactContainerClasses&&this.componentInstance.getReactContainerClasses()&&(S('Since v31.1 "getReactContainerClasses" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),this.componentInstance.getReactContainerClasses().forEach(t=>this.eParentElement.classList.add(t))))}statelessComponentRendered(){return this.eParentElement.childElementCount>0||this.eParentElement.childNodes.length>0}getFrameworkComponentInstance(){return this.componentInstance}isStatelessComponent(){return this.statelessComponent}getReactComponentName(){return this.reactComponent.name}getMemoType(){return this.hasSymbol()?Symbol.for("react.memo"):60115}hasSymbol(){return typeof Symbol=="function"&&Symbol.for}isStateless(e){return typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===this.getMemoType()}hasMethod(e){let t=this.getFrameworkComponentInstance();return!!t&&t[e]!=null||this.fallbackMethodAvailable(e)}callMethod(e,t){let i=this.getFrameworkComponentInstance();if(this.isStatelessComponent())return this.fallbackMethod(e,t&&t[0]?t[0]:{});if(!i){setTimeout(()=>this.callMethod(e,t));return}let o=i[e];if(o)return o.apply(i,t);if(this.fallbackMethodAvailable(e))return this.fallbackMethod(e,t&&t[0]?t[0]:{})}addMethod(e,t){this[e]=t}init(e){return this.eParentElement=this.createParentElement(e),this.createOrUpdatePortal(e),new ae(t=>this.createReactComponent(t))}createOrUpdatePortal(e){this.isStatelessComponent()||(this.ref=t=>{this.componentInstance=t,this.addParentContainerStyleAndClasses(),this.resolveInstanceCreated?.(!0),this.resolveInstanceCreated=void 0},e.ref=this.ref),this.reactElement=this.createElement(this.reactComponent,{...e,key:this.key}),this.portal=Wi(this.reactElement,this.eParentElement,this.portalKey)}createElement(e,t){return dr(e,t)}createReactComponent(e){this.portalManager.mountReactPortal(this.portal,this,e)}rendered(){return this.isStatelessComponent()&&this.statelessComponentRendered()||!!(!this.isStatelessComponent()&&this.getFrameworkComponentInstance())}refreshComponent(e){this.oldPortal=this.portal,this.createOrUpdatePortal(e),this.portalManager.updateReactPortal(this.oldPortal,this.portal)}fallbackMethod(e,t){let i=this[`${e}Component`];if(!this.suppressFallbackMethods&&i)return i.bind(this)(t)}fallbackMethodAvailable(e){return this.suppressFallbackMethods?!1:!!this[`${e}Component`]}};function ar(e,t,i){e.forEach(o=>{let s=t[o];s&&(i[o]=s)})}var at=class extends wl{constructor(){super(...arguments),this.awaitUpdateCallback=new ae(e=>{this.resolveUpdateCallback=e}),this.wrapperComponent=IC}init(e){return this.sourceParams=e,super.init(this.getProps())}addMethod(){}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}getFrameworkComponentInstance(){return this}createElement(e,t){return super.createElement(this.wrapperComponent,{initialProps:t,CustomComponentClass:e,setMethods:i=>this.setMethods(i),addUpdateCallback:i=>{this.updateCallback=()=>(i(this.getProps()),new ae(o=>{setTimeout(()=>{o()})})),this.resolveUpdateCallback()}})}setMethods(e){this.providedMethods=e,ar(this.getOptionalMethods(),this.providedMethods,this)}getOptionalMethods(){return[]}getProps(){return{...this.sourceParams,key:this.key,ref:this.ref}}refreshProps(){return this.updateCallback?this.updateCallback():new ae(e=>this.awaitUpdateCallback.then(()=>{this.updateCallback().then(()=>e())}))}},OC=class extends at{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},GC=class extends at{constructor(){super(...arguments),this.date=null,this.onDateChange=e=>this.updateDate(e)}getDate(){return this.date}setDate(e){this.date=e,this.refreshProps()}refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled"]}updateDate(e){this.setDate(e),this.sourceParams.onDateChanged()}getProps(){let e=super.getProps();return e.date=this.date,e.onDateChange=this.onDateChange,delete e.onDateChanged,e}},NC=class extends at{constructor(){super(...arguments),this.label="",this.icon=null,this.shake=!1}setIcon(e,t){this.icon=e,this.shake=t,this.refreshProps()}setLabel(e){this.label=e,this.refreshProps()}getProps(){let e=super.getProps(),{label:t,icon:i,shake:o}=this;return e.label=t,e.icon=i,e.shake=o,e}},HC=class extends at{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e),this.onUiChange=()=>this.sourceParams.filterChangedCallback(),this.expectingNewMethods=!0,this.hasBeenActive=!1}isFilterActive(){return this.model!=null}doesFilterPass(e){return this.providedMethods.doesFilterPass(e)}getModel(){return this.model}setModel(e){return this.expectingNewMethods=!0,this.model=e,this.hasBeenActive||(this.hasBeenActive=this.isFilterActive()),this.refreshProps()}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getOptionalMethods(){return["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onAnyFilterChanged"]}setMethods(e){this.expectingNewMethods===!1&&this.hasBeenActive&&this.providedMethods?.doesFilterPass!==e?.doesFilterPass&&setTimeout(()=>{this.sourceParams.filterChangedCallback()}),this.expectingNewMethods=!1,super.setMethods(e)}updateModel(e){this.setModel(e).then(()=>this.sourceParams.filterChangedCallback())}getProps(){let e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e.onUiChange=this.onUiChange,delete e.filterChangedCallback,delete e.filterModifiedCallback,delete e.valueGetter,e}};function yl(e,t){e.parentFilterInstance(i=>{(i.setModel(t)||ae.resolve()).then(()=>{e.filterParams.filterChangedCallback()})})}var zC=class{constructor(e,t){this.floatingFilterParams=e,this.refreshProps=t,this.model=null,this.onModelChange=i=>this.updateModel(i)}getProps(){return{...this.floatingFilterParams,model:this.model,onModelChange:this.onModelChange}}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.floatingFilterParams=e,this.refreshProps()}setMethods(e){ar(this.getOptionalMethods(),e,this)}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),yl(this.floatingFilterParams,e)}},BC=class extends at{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e)}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),yl(this.sourceParams,e)}getProps(){let e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e}},VC=class extends at{refresh(e){this.sourceParams=e,this.refreshProps()}},WC=class extends at{constructor(){super(...arguments),this.active=!1,this.expanded=!1,this.onActiveChange=e=>this.updateActive(e)}setActive(e){this.awaitSetActive(e)}setExpanded(e){this.expanded=e,this.refreshProps()}getOptionalMethods(){return["select","configureDefaults"]}awaitSetActive(e){return this.active=e,this.refreshProps()}updateActive(e){let t=this.awaitSetActive(e);e&&t.then(()=>this.sourceParams.onItemActivated())}getProps(){let e=super.getProps();return e.active=this.active,e.expanded=this.expanded,e.onActiveChange=this.onActiveChange,delete e.onItemActivated,e}},UC=class extends at{refresh(e){this.sourceParams=e,this.refreshProps()}},_C=class extends at{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},jC=class extends at{constructor(){super(...arguments),this.onStateChange=e=>this.updateState(e)}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getState(){return this.state}updateState(e){this.state=e,this.refreshProps(),this.sourceParams.onStateUpdated()}getProps(){let e=super.getProps();return e.state=this.state,e.onStateChange=this.onStateChange,e}};function lr(){S("As of v32, using custom components with `reactiveCustomComponents = false` is deprecated.")}var KC=1e3,YC=class{constructor(e,t,i){this.destroyed=!1,this.portals=[],this.hasPendingPortalUpdate=!1,this.wrappingElement=t||"div",this.refresher=e,this.maxComponentCreationTimeMs=i||KC}getPortals(){return this.portals}destroy(){this.destroyed=!0}destroyPortal(e){this.portals=this.portals.filter(t=>t!==e),this.batchUpdate()}getComponentWrappingElement(){return this.wrappingElement}mountReactPortal(e,t,i){this.portals=[...this.portals,e],this.waitForInstance(t,i),this.batchUpdate()}updateReactPortal(e,t){this.portals[this.portals.indexOf(e)]=t,this.batchUpdate()}batchUpdate(){this.hasPendingPortalUpdate||(setTimeout(()=>{this.destroyed||(this.refresher(),this.hasPendingPortalUpdate=!1)}),this.hasPendingPortalUpdate=!0)}waitForInstance(e,t,i=Date.now()){if(this.destroyed){t(null);return}if(e.rendered())t(e);else{if(Date.now()-i>=this.maxComponentCreationTimeMs&&!this.hasPendingPortalUpdate)return;window.setTimeout(()=>{this.waitForInstance(e,t,i)})}}},$C=({ctrl:e})=>{let t=e.isAlive(),{context:i}=se(Me),o=t?e.getColId():void 0,[s,r]=E(),n=D(),a=D(null),l=D(null),c=D(null),d=D(),u=D();t&&!u.current&&(u.current=new vt(()=>a.current));let h=W(p=>{if(a.current=p,n.current=p?i.createBean(new Ye):i.destroyBean(n.current),!p||!t)return;let v={setWidth:C=>{a.current&&(a.current.style.width=C)},addOrRemoveCssClass:(C,R)=>u.current.addOrRemoveCssClass(C,R),setAriaSort:C=>{a.current&&(C?kn(a.current,C):In(a.current))},setUserCompDetails:C=>r(C),getUserCompInstance:()=>d.current||void 0};e.setComp(v,p,l.current,c.current,n.current);let w=e.getSelectAllGui();l.current?.insertAdjacentElement("afterend",w),n.current.addDestroyFunc(()=>w.remove())},[]);Le(()=>Bi(s,i,c.current,d),[s]),ue(()=>{e.setDragSource(a.current)},[s]);let g=H(()=>!!(s?.componentFromFramework&&ui(s.componentClass)),[s]),f=s&&s.componentFromFramework,m=s&&s.componentClass;return F.createElement("div",{ref:h,className:"ag-header-cell","col-id":o,role:"columnheader"},F.createElement("div",{ref:l,className:"ag-header-cell-resize",role:"presentation"}),F.createElement("div",{ref:c,className:"ag-header-cell-comp-wrapper",role:"presentation"},f&&g&&F.createElement(m,{...s.params}),f&&!g&&F.createElement(m,{...s.params,ref:d})))},QC=re($C),qC=({ctrl:e})=>{let{context:t,gos:i}=se(Me),[o,s]=E(()=>new $e("ag-header-cell","ag-floating-filter")),[r,n]=E(()=>new $e),[a,l]=E(()=>new $e("ag-floating-filter-button","ag-hidden")),[c,d]=E("false"),[u,h]=E(),[,g]=E(1),f=D(),m=D(null),p=D(null),v=D(null),w=D(null),C=D(),R=D(),P=J=>{J!=null&&C.current&&C.current(J)},T=W(J=>{if(m.current=J,f.current=J?t.createBean(new Ye):t.destroyBean(f.current),!J)return;R.current=new ae(Z=>{C.current=Z});let X={addOrRemoveCssClass:(Z,ge)=>s(ee=>ee.setClass(Z,ge)),addOrRemoveBodyCssClass:(Z,ge)=>n(ee=>ee.setClass(Z,ge)),setButtonWrapperDisplayed:Z=>{l(ge=>ge.setClass("ag-hidden",!Z)),d(Z?"false":"true")},setWidth:Z=>{m.current&&(m.current.style.width=Z)},setCompDetails:Z=>h(Z),getFloatingFilterComp:()=>R.current?R.current:null,setMenuIcon:Z=>w.current?.appendChild(Z)};e.setComp(X,J,w.current,p.current,f.current)},[]);Le(()=>Bi(u,t,p.current,P),[u]);let x=H(()=>o.toString(),[o]),A=H(()=>r.toString(),[r]),L=H(()=>a.toString(),[a]),k=H(()=>!!(u&&u.componentFromFramework&&ui(u.componentClass)),[u]),O=H(()=>i.get("reactiveCustomComponents"),[]),q=H(()=>{if(u)if(O){let J=new zC(u.params,()=>g(X=>X+1));return P(J),J}else u.componentFromFramework&&lr()},[u]),Ce=q?.getProps(),oe=u&&u.componentFromFramework,he=u&&u.componentClass;return F.createElement("div",{ref:T,className:x,role:"gridcell"},F.createElement("div",{ref:p,className:A,role:"presentation"},oe&&!O&&F.createElement(he,{...u.params,ref:k?()=>{}:P}),oe&&O&&F.createElement(nr.Provider,{value:{setMethods:J=>q.setMethods(J)}},F.createElement(he,{...Ce}))),F.createElement("div",{ref:v,"aria-hidden":c,className:L,role:"presentation"},F.createElement("button",{ref:w,type:"button",className:"ag-button ag-floating-filter-button-button",tabIndex:-1})))},JC=re(qC),XC=({ctrl:e})=>{let{context:t}=se(Me),[i,o]=E(()=>new $e),[s,r]=E(()=>new $e),[n,a]=E("false"),[l,c]=E(),[d,u]=E(),h=H(()=>e.getColId(),[]),g=D(),f=D(null),m=D(null),p=D(null),v=D(),w=W(A=>{if(f.current=A,g.current=A?t.createBean(new Ye):t.destroyBean(g.current),!A)return;let L={setWidth:k=>{f.current&&(f.current.style.width=k)},addOrRemoveCssClass:(k,O)=>o(q=>q.setClass(k,O)),setHeaderWrapperHidden:k=>{let O=p.current;O&&(k?O.style.setProperty("display","none"):O.style.removeProperty("display"))},setHeaderWrapperMaxHeight:k=>{let O=p.current;O&&(k!=null?O.style.setProperty("max-height",`${k}px`):O.style.removeProperty("max-height"),O.classList.toggle("ag-header-cell-comp-wrapper-limited-height",k!=null))},setUserCompDetails:k=>u(k),setResizableDisplayed:k=>{r(O=>O.setClass("ag-hidden",!k)),a(k?"false":"true")},setAriaExpanded:k=>c(k),getUserCompInstance:()=>v.current||void 0};e.setComp(L,A,m.current,p.current,g.current)},[]);Le(()=>Bi(d,t,p.current),[d]),ue(()=>{f.current&&e.setDragSource(f.current)},[d]);let C=H(()=>!!(d?.componentFromFramework&&ui(d.componentClass)),[d]),R=H(()=>"ag-header-group-cell "+i.toString(),[i]),P=H(()=>"ag-header-cell-resize "+s.toString(),[s]),T=d&&d.componentFromFramework,x=d&&d.componentClass;return F.createElement("div",{ref:w,className:R,"col-id":h,role:"columnheader","aria-expanded":l},F.createElement("div",{ref:p,className:"ag-header-cell-comp-wrapper",role:"presentation"},T&&C&&F.createElement(x,{...d.params}),T&&!C&&F.createElement(x,{...d.params,ref:v})),F.createElement("div",{ref:m,"aria-hidden":n,className:P}))},ZC=re(XC),ew=({ctrl:e})=>{let{context:t}=se(Me),{topOffset:i,rowHeight:o}=H(()=>e.getTopAndHeight(),[]),s=e.getAriaRowIndex(),r=e.getHeaderRowClass(),[n,a]=E(()=>o+"px"),[l,c]=E(()=>i+"px"),d=D(null),u=D(null),[h,g]=E(()=>e.getHeaderCtrls()),f=D(),m=D(null),p=W(C=>{if(m.current=C,f.current=C?t.createBean(new Ye):t.destroyBean(f.current),!C)return;let R={setHeight:P=>a(P),setTop:P=>c(P),setHeaderCtrls:(P,T,x)=>{u.current=d.current,d.current=P;let A=rr(u.current,P,T);A!==u.current&&sr(x,()=>g(A))},setWidth:P=>{m.current&&(m.current.style.width=P)}};e.setComp(R,f.current,!1)},[]),v=H(()=>({height:n,top:l}),[n,l]),w=W(C=>{switch(e.getType()){case xo.COLUMN_GROUP:return F.createElement(ZC,{ctrl:C,key:C.instanceId});case xo.FLOATING_FILTER:return F.createElement(JC,{ctrl:C,key:C.instanceId});default:return F.createElement(QC,{ctrl:C,key:C.instanceId})}},[]);return F.createElement("div",{ref:p,className:r,role:"row",style:v,"aria-rowindex":s},h.map(w))},tw=re(ew),iw=({pinned:e})=>{let[t,i]=E(!0),[o,s]=E([]),{context:r}=se(Me),n=D(null),a=D(null),l=D(),c=e==="left",d=e==="right",u=!c&&!d,h=W(m=>{if(n.current=m,l.current=m?r.createBean(new Ea(e)):r.destroyBean(l.current),!m)return;let p={setDisplayed:i,setCtrls:v=>s(v),setCenterWidth:v=>{a.current&&(a.current.style.width=v)},setViewportScrollLeft:v=>{n.current&&(n.current.scrollLeft=v)},setPinnedContainerWidth:v=>{n.current&&(n.current.style.width=v,n.current.style.minWidth=v,n.current.style.maxWidth=v)}};l.current.setComp(p,n.current)},[]),g=t?"":"ag-hidden",f=()=>o.map(m=>F.createElement(tw,{ctrl:m,key:m.instanceId}));return F.createElement(F.Fragment,null,c&&F.createElement("div",{ref:h,className:"ag-pinned-left-header "+g,"aria-hidden":!t,role:"rowgroup"},f()),d&&F.createElement("div",{ref:h,className:"ag-pinned-right-header "+g,"aria-hidden":!t,role:"rowgroup"},f()),u&&F.createElement("div",{ref:h,className:"ag-header-viewport "+g,role:"presentation"},F.createElement("div",{ref:a,className:"ag-header-container",role:"rowgroup"},f())))},ir=re(iw),ow=()=>{let[e,t]=E(()=>new $e),[i,o]=E(),{context:s}=se(Me),r=D(null),n=D(),a=W(d=>{if(r.current=d,n.current=d?s.createBean(new xa):s.destroyBean(n.current),!d)return;let u={addOrRemoveCssClass:(h,g)=>t(f=>f.setClass(h,g)),setHeightAndMinHeight:h=>o(h)};n.current.setComp(u,d,d)},[]),l=H(()=>"ag-header "+e.toString(),[e]),c=H(()=>({height:i,minHeight:i}),[i]);return F.createElement("div",{ref:a,className:l,style:c,role:"presentation"},F.createElement(ir,{pinned:"left"}),F.createElement(ir,{pinned:null}),F.createElement(ir,{pinned:"right"}))},sw=re(ow),rw=(e,t)=>{ue(()=>{let i=t.current;if(i){let o=i.parentElement;if(o){let s=document.createComment(e);return o.insertBefore(s,i),()=>{o.removeChild(s)}}}},[e])},$t=rw,nw=class{constructor(e,t){this.cellEditorParams=e,this.refreshProps=t,this.instanceCreated=new ae(i=>{this.resolveInstanceCreated=i}),this.onValueChange=i=>this.updateValue(i),this.value=e.value}getProps(){return{...this.cellEditorParams,initialValue:this.cellEditorParams.value,value:this.value,onValueChange:this.onValueChange}}getValue(){return this.value}refresh(e){this.cellEditorParams=e,this.refreshProps()}setMethods(e){ar(this.getOptionalMethods(),e,this)}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}setRef(e){this.componentInstance=e,this.resolveInstanceCreated?.(),this.resolveInstanceCreated=void 0}getOptionalMethods(){return["isCancelBeforeStart","isCancelAfterEnd","focusIn","focusOut","afterGuiAttached"]}updateValue(e){this.value=e,this.refreshProps()}},aw=e=>{let t=D(e),i=D(),o=D(!1),s=D(!1),[,r]=E(0);o.current&&(s.current=!0),ue(()=>(o.current||(i.current=t.current(),o.current=!0),r(n=>n+1),()=>{s.current&&i.current?.()}),[])},lw=e=>{let[t,i]=E(),{context:o,popupService:s,localeService:r,gos:n,editService:a}=se(Me);return aw(()=>{let{editDetails:l,cellCtrl:c,eParentCell:d}=e,{compDetails:u}=l,h=n.get("stopEditingWhenCellsLoseFocus"),g=o.createBean(a.createPopupEditorWrapper(u.params)),f=g.getGui();if(e.jsChildComp){let R=e.jsChildComp.getGui();R&&f.appendChild(R)}let m={column:c.getColumn(),rowNode:c.getRowNode(),type:"popupCellEditor",eventSource:d,ePopup:f,position:l.popupPosition,keepWithinBounds:!0},p=s.positionPopupByComponent.bind(s,m),v=r.getLocaleTextFunc(),w=s.addPopup({modal:h,eChild:f,closeOnEsc:!0,closedCallback:()=>{c.onPopupEditorClosed()},anchorToElement:d,positionCallback:p,ariaLabel:v("ariaLabelCellEditor","Cell Editor")}),C=w?w.hideFunc:void 0;return i(g),e.jsChildComp?.afterGuiAttached?.(),()=>{C?.(),o.destroyBean(g)}}),F.createElement(F.Fragment,null,t&&e.wrappedContent&&Wi(e.wrappedContent,t.getGui()))},fl=re(lw),cw=(e,t,i,o,s,r)=>{let{context:n}=se(Me),a=W(()=>{let l=s.current;if(!l)return;let c=l.getGui();c&&c.parentElement&&c.parentElement.removeChild(c),n.destroyBean(l),s.current=void 0},[]);ue(()=>{let l=e!=null,c=e?.compDetails&&!e.compDetails.componentFromFramework,d=t&&i==null;if(!(l&&c&&!d)){a();return}let h=e.compDetails;if(s.current){let f=s.current,p=f.refresh!=null&&e.force==!1?f.refresh(h.params):!1;if(p===!0||p===void 0)return;a()}let g=h.newAgStackInstance();g?.then(f=>{if(!f)return;let m=f.getGui();if(!m)return;(t?i:r.current).appendChild(m),s.current=f})},[e,t,o]),ue(()=>a,[])},dw=cw,uw=(e,t,i)=>{let{compProxy:o}=e;i(o);let s=o.getProps(),r=ui(t);return F.createElement(nr.Provider,{value:{setMethods:n=>o.setMethods(n)}},r?F.createElement(t,{...s}):F.createElement(t,{...s,ref:n=>o.setRef(n)}))},ml=(e,t,i)=>{let o=e.compProxy;return F.createElement(F.Fragment,null,o?uw(e,t,i):F.createElement(t,{...e.compDetails.params,ref:i}))},hw=(e,t,i,o,s)=>{let r=e.compDetails,n=r.componentClass,a=r.componentFromFramework&&!e.popup,l=r.componentFromFramework&&e.popup,c=!r.componentFromFramework&&e.popup;return F.createElement(F.Fragment,null,a&&ml(e,n,t),l&&F.createElement(fl,{editDetails:e,cellCtrl:o,eParentCell:i,wrappedContent:ml(e,n,t)}),c&&s&&F.createElement(fl,{editDetails:e,cellCtrl:o,eParentCell:i,jsChildComp:s}))},gw=(e,t,i,o,s,r,n)=>{let{compDetails:a,value:l}=e,c=!a,d=a&&a.componentFromFramework,u=a&&a.componentClass,h=l?.toString?l.toString():l,g=()=>F.createElement(F.Fragment,null,c&&F.createElement(F.Fragment,null,h),d&&!r&&F.createElement(u,{...a.params,key:t,ref:o}),d&&r&&F.createElement(u,{...a.params,key:t}));return F.createElement(F.Fragment,null,s?F.createElement("span",{role:"presentation",id:`cell-${i}`,className:"ag-cell-value",ref:n},g()):g())},pw=({cellCtrl:e,printLayout:t,editingRow:i})=>{let{context:o}=se(Me),{colIdSanitised:s,instanceId:r}=e,n=D(),[a,l]=E(()=>e.isCellRenderer()?void 0:{compDetails:void 0,value:e.getValueToDisplay(),force:!1}),[c,d]=E(),[u,h]=E(1),[g,f]=E(),[m,p]=E(!1),[v,w]=E(!1),[C,R]=E(!1),[P,T]=E(),x=H(()=>e.isForceWrapper(),[e]),A=H(()=>e.getCellAriaRole(),[e]),L=D(null),k=D(null),O=D(),q=D(),Ce=D(),oe=D([]),he=D(),[J,X]=E(0),Z=W(le=>{he.current=le,X(we=>we+1)},[]),ge=a!=null&&(m||C||v),ee=x||ge,N=W(le=>{if(q.current=le,le){let we=le.isCancelBeforeStart&&le.isCancelBeforeStart();setTimeout(()=>{we?(e.stopEditing(!0),e.focusCell(!0)):e.cellEditorAttached()})}},[e]),G=D();G.current||(G.current=new vt(()=>L.current)),dw(a,ee,he.current,J,O,L);let j=D();Le(()=>{let le=j.current,we=a;if(j.current=a,le==null||le.compDetails==null||we==null||we.compDetails==null)return;let be=le.compDetails,te=we.compDetails;if(be.componentClass!=te.componentClass||k.current?.refresh==null)return;k.current.refresh(te.params)!=!0&&h(Ne=>Ne+1)},[a]),Le(()=>{if(!(c&&!c.compDetails.componentFromFramework))return;let we=c.compDetails,be=c.popup===!0,te=we.newAgStackInstance();return te.then(me=>{if(!me)return;let Ne=me.getGui();N(me),be||((x?Ce:L).current?.appendChild(Ne),me.afterGuiAttached&&me.afterGuiAttached()),T(me)}),()=>{te.then(me=>{let Ne=me.getGui();o.destroyBean(me),N(void 0),T(void 0),Ne?.parentElement?.removeChild(Ne)})}},[c]);let V=W(le=>{if(Ce.current=le,!le){oe.current.forEach(be=>be()),oe.current=[];return}let we=be=>{if(be){let te=be.getGui();le.insertAdjacentElement("afterbegin",te),oe.current.push(()=>{o.destroyBean(be),Mt(te)})}return be};if(m){let be=e.createSelectionCheckbox();we(be)}C&&we(e.createDndSource()),v&&we(e.createRowDragComp())},[e,o,C,v,m]),U=W(le=>{if(L.current=le,n.current=le?o.createBean(new Ye):o.destroyBean(n.current),!le||!e)return;let we={addOrRemoveCssClass:(te,me)=>G.current.addOrRemoveCssClass(te,me),setUserStyles:te=>f(te),getFocusableElement:()=>L.current,setIncludeSelection:te=>p(te),setIncludeRowDrag:te=>w(te),setIncludeDndSource:te=>R(te),getCellEditor:()=>q.current||null,getCellRenderer:()=>k.current??O.current,getParentOfValue:()=>he.current??Ce.current??L.current,setRenderDetails:(te,me,Ne)=>{l(lt=>lt?.compDetails!==te||lt?.value!==me||lt?.force!==Ne?{value:me,compDetails:te,force:Ne}:lt)},setEditDetails:(te,me,Ne,lt)=>{if(te){let Qt;lt?Qt=new nw(te.params,()=>h(Mo=>Mo+1)):te.componentFromFramework&&lr(),d({compDetails:te,popup:me,popupPosition:Ne,compProxy:Qt}),me||l(void 0)}else d(Qt=>{Qt?.compProxy&&(q.current=void 0)})}},be=Ce.current||void 0;e.setComp(we,le,be,t,i,n.current)},[]),Y=H(()=>!!(a?.compDetails?.componentFromFramework&&ui(a.compDetails.componentClass)),[a]);Le(()=>{L.current&&(G.current.addOrRemoveCssClass("ag-cell-value",!ee),G.current.addOrRemoveCssClass("ag-cell-inline-editing",!!c&&!c.popup),G.current.addOrRemoveCssClass("ag-cell-popup-editing",!!c&&!!c.popup),G.current.addOrRemoveCssClass("ag-cell-not-inline-editing",!c||!!c.popup),e.getRowCtrl()?.setInlineEditingCss(),e.shouldRestoreFocus()&&!e.isEditing()&&L.current.focus({preventScroll:!0}))});let Pe=()=>F.createElement(F.Fragment,null,a!=null&&gw(a,u,r,k,ee,Y,Z),c!=null&&hw(c,N,L.current,e,P)),et=W(()=>e.onFocusOut(),[]);return F.createElement("div",{ref:U,style:g,role:A,"col-id":s,onBlur:et},ee?F.createElement("div",{className:"ag-cell-wrapper",role:"presentation",ref:V},Pe()):Pe())},fw=re(pw),mw=({rowCtrl:e,containerType:t})=>{let{context:i,gos:o}=se(Me),s=D(),r=D(e.getDomOrder()),n=e.isFullWidth(),a=e.getRowNode().displayed,[l,c]=E(()=>a?e.getRowIndex():null),[d,u]=E(()=>e.getRowId()),[h,g]=E(()=>e.getBusinessKey()),[f,m]=E(()=>e.getRowStyles()),p=D(null),v=D(null),[w,C]=E(()=>null),[R,P]=E(),[T,x]=E(()=>a?e.getInitialRowTop(t):void 0),[A,L]=E(()=>a?e.getInitialTransform(t):void 0),k=D(null),O=D(),q=D(!1),[Ce,oe]=E(0);ue(()=>{if(q.current||!R||Ce>10)return;let V=k.current?.firstChild;V?(e.setupDetailRowAutoHeight(V),q.current=!0):oe(U=>U+1)},[R,Ce]);let he=D();he.current||(he.current=new vt(()=>k.current));let J=W(V=>{if(k.current=V,s.current=V?i.createBean(new Ye):i.destroyBean(s.current),!V){e.unsetComp(t);return}if(!e.isAlive())return;let U={setTop:x,setTransform:L,addOrRemoveCssClass:(Y,Pe)=>he.current.addOrRemoveCssClass(Y,Pe),setDomOrder:Y=>r.current=Y,setRowIndex:c,setRowId:u,setRowBusinessKey:g,setUserStyles:m,setCellCtrls:(Y,Pe)=>{v.current=p.current;let et=rr(v.current,Y,r.current);et!==v.current&&(p.current=et,sr(Pe,()=>C(et)))},showFullWidth:Y=>P(Y),getFullWidthCellRenderer:()=>O.current,refreshFullWidth:Y=>N.current?(P(Pe=>({...Pe,params:Y()})),!0):!O.current||!O.current.refresh?!1:O.current.refresh(Y())};e.setComp(U,V,t,s.current)},[]);Le(()=>Bi(R,i,k.current,O),[R]);let X=H(()=>{let V={top:T,transform:A};return Object.assign(V,f),V},[T,A,f]),Z=n&&R?.componentFromFramework,ge=!n&&w!=null,ee=H(()=>!!(R?.componentFromFramework&&ui(R.componentClass)),[R]),N=D(!1);ue(()=>{N.current=ee&&!!R&&!!o.get("reactiveCustomComponents")},[ee,R]);let G=()=>w?.map(V=>F.createElement(fw,{cellCtrl:V,editingRow:e.isEditing(),printLayout:e.isPrintLayout(),key:V.instanceId})),j=()=>{let V=R.componentClass;return F.createElement(F.Fragment,null,ee?F.createElement(V,{...R.params}):F.createElement(V,{...R.params,ref:O}))};return F.createElement("div",{ref:J,role:"row",style:X,"row-index":l,"row-id":d,"row-business-key":h},ge&&G(),Z&&j())},vw=re(mw),Cw=({name:e})=>{let{context:t}=se(Me),i=H(()=>Gt(e),[e]),o=D(null),s=D(null),r=D([]),n=D([]),[a,l]=E(()=>[]),c=D(!1),d=D(),u=H(()=>Ze(i.viewport),[i]),h=H(()=>Ze(i.container),[i]),g=i.type==="center",f=g?o:s;$t(" AG Row Container "+e+" ",f);let m=W(()=>g?o.current!=null&&s.current!=null:s.current!=null,[]),p=W(()=>g?o.current==null&&s.current==null:s.current==null,[]),v=W(()=>{if(p()&&(d.current=t.destroyBean(d.current)),m()){let P=x=>{let A=rr(n.current,r.current,c.current);A!==n.current&&(n.current=A,sr(x,()=>l(A)))},T={setHorizontalScroll:x=>{o.current&&(o.current.scrollLeft=x)},setViewportHeight:x=>{o.current&&(o.current.style.height=x)},setRowCtrls:({rowCtrls:x,useFlushSync:A})=>{let L=!!A&&r.current.length>0&&x.length>0;r.current=x,P(L)},setDomOrder:x=>{c.current!=x&&(c.current=x,P(!1))},setContainerWidth:x=>{s.current&&(s.current.style.width=x)},setOffsetTop:x=>{s.current&&(s.current.style.transform=`translateY(${x})`)}};d.current=t.createBean(new Na(e)),d.current.setComp(T,s.current,o.current)}},[m,p]),w=W(P=>{s.current=P,v()},[v]),C=W(P=>{o.current=P,v()},[v]),R=()=>F.createElement("div",{className:h,ref:w,role:"rowgroup"},a.map(P=>F.createElement(vw,{rowCtrl:P,containerType:i.type,key:P.instanceId})));return F.createElement(F.Fragment,null,g?F.createElement("div",{className:u,ref:C,role:"presentation"},R()):R())},ww=re(Cw),yw=()=>{let{context:e,resizeObserverService:t}=se(Me),[i,o]=E(""),[s,r]=E(0),[n,a]=E(0),[l,c]=E("0px"),[d,u]=E("0px"),[h,g]=E("100%"),[f,m]=E("0px"),[p,v]=E("0px"),[w,C]=E("100%"),[R,P]=E(""),[T,x]=E(""),[A,L]=E(null),[k,O]=E(""),[q,Ce]=E(null),[oe,he]=E("ag-layout-normal"),J=D();J.current||(J.current=new vt(()=>X.current));let X=D(null),Z=D(null),ge=D(null),ee=D(null),N=D(null),G=D(null),j=D(null),V=D([]),U=D([]);$t(" AG Grid Body ",X),$t(" AG Pinned Top ",Z),$t(" AG Sticky Top ",ge),$t(" AG Middle ",G),$t(" AG Pinned Bottom ",j);let Y=W(tt=>{if(X.current=tt,!tt){V.current=e.destroyBeans(V.current),U.current.forEach(ye=>ye()),U.current=[];return}if(!e)return;let Vi=(ye,He)=>{ye.appendChild(He),U.current.push(()=>ye.removeChild(He))},Po=ye=>{let He=e.createBean(new ye);return V.current.push(He),He},gi=(ye,He,Dl)=>{Vi(ye,document.createComment(Dl)),Vi(ye,Po(He).getGui())};gi(tt,Ta," AG Fake Horizontal Scroll "),gi(tt,Ma," AG Overlay Wrapper "),N.current&&gi(N.current,ka," AG Fake Vertical Scroll ");let xl={setRowAnimationCssOnBodyViewport:o,setColumnCount:ye=>{X.current&&Tn(X.current,ye)},setRowCount:ye=>{X.current&&Pn(X.current,ye)},setTopHeight:r,setBottomHeight:a,setStickyTopHeight:c,setStickyTopTop:u,setStickyTopWidth:g,setTopDisplay:P,setBottomDisplay:x,setColumnMovingCss:(ye,He)=>J.current.addOrRemoveCssClass(ye,He),updateLayoutClasses:he,setAlwaysVerticalScrollClass:L,setPinnedTopBottomOverflowY:O,setCellSelectableCss:(ye,He)=>Ce(He?ye:null),setBodyViewportWidth:ye=>{G.current&&(G.current.style.width=ye)},registerBodyViewportResizeListener:ye=>{if(G.current){let He=t.observeResize(G.current,ye);U.current.push(()=>He())}},setStickyBottomHeight:m,setStickyBottomBottom:v,setStickyBottomWidth:C},cr=e.createBean(new Ha);V.current.push(cr),cr.setComp(xl,tt,G.current,Z.current,j.current,ge.current,ee.current)},[]),Pe=H(()=>Ze("ag-root","ag-unselectable",oe),[oe]),et=H(()=>Ze("ag-body-viewport",i,oe,A,q),[i,oe,A,q]),le=H(()=>Ze("ag-body",oe),[oe]),we=H(()=>Ze("ag-floating-top",q),[q]),be=H(()=>Ze("ag-sticky-top",q),[q]),te=H(()=>Ze("ag-sticky-bottom",f==="0px"?"ag-hidden":null,q),[q,f]),me=H(()=>Ze("ag-floating-bottom",q),[q]),Ne=H(()=>({height:s,minHeight:s,display:R,overflowY:k}),[s,R,k]),lt=H(()=>({height:l,top:d,width:h}),[l,d,h]),Qt=H(()=>({height:f,bottom:p,width:w}),[f,p,w]),Mo=H(()=>({height:n,minHeight:n,display:T,overflowY:k}),[n,T,k]),Fl=tt=>F.createElement(ww,{name:tt,key:`${tt}-container`}),hi=({section:tt,children:Vi,className:Po,style:gi})=>F.createElement("div",{ref:tt,className:Po,role:"presentation",style:gi},Vi.map(Fl));return F.createElement("div",{ref:Y,className:Pe,role:"treegrid"},F.createElement(sw,null),hi({section:Z,className:we,style:Ne,children:["topLeft","topCenter","topRight","topFullWidth"]}),F.createElement("div",{className:le,ref:N,role:"presentation"},hi({section:G,className:et,children:["left","center","right","fullWidth"]})),hi({section:ge,className:be,style:lt,children:["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"]}),hi({section:ee,className:te,style:Qt,children:["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"]}),hi({section:j,className:me,style:Mo,children:["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"]}))},bw=re(yw),Sw=(e,t)=>{let{children:i,eFocusableElement:o,onTabKeyDown:s,gridCtrl:r,forceFocusOutWhenTabGuardsAreEmpty:n}=e,{context:a}=se(Me),l=D(null),c=D(null),d=D(),u=p=>{let v=p==null?void 0:parseInt(p,10).toString();[l,c].forEach(w=>{v===void 0?w.current?.removeAttribute("tabindex"):w.current?.setAttribute("tabindex",v)})};qt(t,()=>({forceFocusOutOfContainer(p){d.current?.forceFocusOutOfContainer(p)}}));let h=W(()=>{let p=l.current,v=c.current;if(!p&&!v){d.current=a.destroyBean(d.current);return}if(p&&v){let w={setTabIndex:u};d.current=a.createBean(new Qs({comp:w,eTopGuard:p,eBottomGuard:v,eFocusableElement:o,onTabKeyDown:s,forceFocusOutWhenTabGuardsAreEmpty:n,focusInnerElement:C=>r.focusInnerElement(C)}))}},[]),g=W(p=>{l.current=p,h()},[h]),f=W(p=>{c.current=p,h()},[h]),m=p=>{let v=p==="top"?Hi.TAB_GUARD_TOP:Hi.TAB_GUARD_BOTTOM;return F.createElement("div",{className:`${Hi.TAB_GUARD} ${v}`,role:"presentation",ref:p==="top"?g:f})};return F.createElement(F.Fragment,null,m("top"),i,m("bottom"))},Rw=Jt(Sw),Fw=re(Rw),xw=({context:e})=>{let[t,i]=E(""),[o,s]=E(""),[r,n]=E(""),[a,l]=E(null),[c,d]=E(null),[u,h]=E(!1),[g,f]=E(),m=D(),p=D(null),v=D(),[w,C]=E(null),R=D(()=>{}),P=D(),T=D([]),x=W(()=>{},[]),A=H(()=>e.isDestroyed()?null:e.getBeans(),[e]);$t(" AG Grid ",p);let L=W(oe=>{if(p.current=oe,m.current=oe?e.createBean(new Ya):e.destroyBean(m.current),!oe||e.isDestroyed())return;let he=m.current;R.current=he.focusInnerElement.bind(he);let J={destroyGridUi:()=>{},setRtlClass:i,setGridThemeClass:s,forceFocusOutOfContainer:X=>{if(!X&&P.current?.isDisplayed()){P.current.forceFocusOutOfContainer(X);return}v.current?.forceFocusOutOfContainer(X)},updateLayoutClasses:n,getFocusableContainers:()=>{let X=[],Z=p.current?.querySelector(".ag-root");return Z&&X.push({getGui:()=>Z}),T.current.forEach(ge=>{ge.isDisplayed()&&X.push(ge)}),X},setCursor:l,setUserSelect:d};he.setComp(J,oe,oe),h(!0)},[]);ue(()=>{let oe=m.current,he=p.current;if(!g||!A||!oe||!w||!he)return;let J=[],{watermarkSelector:X,paginationSelector:Z,sideBarSelector:ge,statusBarSelector:ee,gridHeaderDropZonesSelector:N}=oe.getOptionalSelectors(),G=[];if(N){let V=e.createBean(new N.component),U=V.getGui();he.insertAdjacentElement("afterbegin",U),G.push(U),J.push(V)}if(ge){let V=e.createBean(new ge.component),U=V.getGui(),Y=w.querySelector(".ag-tab-guard-bottom");Y&&(Y.insertAdjacentElement("beforebegin",U),G.push(U)),J.push(V),T.current.push(V)}let j=V=>{let U=e.createBean(new V),Y=U.getGui();return he.insertAdjacentElement("beforeend",Y),G.push(Y),J.push(U),U};if(ee&&j(ee.component),Z){let V=j(Z.component);P.current=V,T.current.push(V)}return X&&j(X.component),()=>{e.destroyBeans(J),G.forEach(V=>{V.parentElement?.removeChild(V)})}},[g,w,A]);let k=H(()=>Ze("ag-root-wrapper",t,o,r),[t,o,r]),O=H(()=>Ze("ag-root-wrapper-body","ag-focus-managed",r),[r]),q=H(()=>({userSelect:c??"",WebkitUserSelect:c??"",cursor:a??""}),[c,a]),Ce=W(oe=>{v.current=oe,f(oe!==null)},[]);return F.createElement("div",{ref:L,className:k,style:q,role:"presentation"},F.createElement("div",{className:O,ref:C,role:"presentation"},u&&w&&A&&F.createElement(Me.Provider,{value:A},F.createElement(Fw,{ref:Ce,eFocusableElement:w,onTabKeyDown:x,gridCtrl:m.current,forceFocusOutWhenTabGuardsAreEmpty:!0},F.createElement(bw,null)))))},Dw=re(xw),Ew=class extends b{wireBeans(e){this.ctrlsService=e.ctrlsService}areHeaderCellsRendered(){return this.ctrlsService.getHeaderRowContainerCtrls().every(e=>e.getAllCtrls().every(t=>t.areCellsRendered()))}},bl=e=>{let t=D(),i=D(null),o=D(null),s=D([]),r=D([]),n=D(e),a=D(),l=D(),c=D(!1),[d,u]=E(void 0),[,h]=E(0),g=W(p=>{if(i.current=p,!p){s.current.forEach(k=>k()),s.current.length=0;return}let v=e.modules||[];o.current||(o.current=new YC(()=>h(k=>k+1),e.componentWrappingElement,e.maxComponentCreationTimeMs),s.current.push(()=>{o.current?.destroy(),o.current=null}));let w=Rn(e.gridOptions,e),C=()=>{if(c.current){let k=()=>a.current?.shouldQueueUpdates()?void 0:r.current.shift(),O=k();for(;O;)O(),O=k()}},R=new Aw(C);a.current=R;let P=new Ew,T={providedBeanInstances:{frameworkComponentWrapper:new Pw(o.current,w.reactiveCustomComponents??rl("reactiveCustomComponents")??!0),renderStatusService:P},modules:v,frameworkOverrides:R},x=k=>{u(k),k.createBean(P),s.current.push(()=>{k.destroy()}),k.getBean("ctrlsService").whenReady({addDestroyFunc:O=>{s.current.push(O)}},()=>{if(k.isDestroyed())return;let O=t.current;O&&e.setGridApi?.(O)})},A=k=>{k.getBean("ctrlsService").whenReady({addDestroyFunc:O=>{s.current.push(O)}},()=>{r.current.forEach(O=>O()),r.current.length=0,c.current=!0})},L=new nl;w.gridId??(w.gridId=l.current),t.current=L.create(p,w,x,A,T),s.current.push(()=>{t.current=void 0}),t.current&&(l.current=t.current.getGridId())},[]),f=H(()=>({height:"100%",...e.containerStyle||{}}),[e.containerStyle]),m=W(p=>{c.current&&!a.current?.shouldQueueUpdates()?p():r.current.push(p)},[]);return ue(()=>{let p=Mw(n.current,e);n.current=e,m(()=>{t.current&&Fn(p,t.current)})},[e]),F.createElement("div",{style:f,className:e.className,ref:g},d&&!d.isDestroyed()?F.createElement(Dw,{context:d}):null,o.current?.getPortals()??null)};function Mw(e,t){let i={};return Object.keys(t).forEach(o=>{let s=t[o];e[o]!==s&&(i[o]=s)}),i}var Pw=class extends cl{constructor(e,t){super(),this.parent=e,this.reactiveCustomComponents=t}createWrapper(e,t){if(this.reactiveCustomComponents){let s=(r=>{switch(r){case"filter":return HC;case"floatingFilterComponent":return BC;case"dateComponent":return GC;case"dragAndDropImageComponent":return NC;case"loadingOverlayComponent":return VC;case"noRowsOverlayComponent":return UC;case"statusPanel":return _C;case"toolPanel":return jC;case"menuItem":return WC;case"cellRenderer":return OC}})(t.propertyName);if(s)return new s(e,this.parent,t)}else switch(t.propertyName){case"filter":case"floatingFilterComponent":case"dateComponent":case"dragAndDropImageComponent":case"loadingOverlayComponent":case"noRowsOverlayComponent":case"statusPanel":case"toolPanel":case"menuItem":case"cellRenderer":lr();break}let i=!t.cellRenderer&&t.propertyName!=="toolPanel";return new wl(e,this.parent,t,i)}},Tw=Jt((e,t)=>{let{ctrlsFactory:i,context:o,gos:s,resizeObserverService:r,rowModel:n}=se(Me),[a,l]=E(()=>new $e),[c,d]=E(()=>new $e),[u,h]=E(),[g,f]=E(),m=D(),p=D(null),v=D(),w=H(()=>Ue.__getGridRegisteredModules(e.api.getGridId()),[e]),C=H(()=>a.toString()+" ag-details-row",[a]),R=H(()=>c.toString()+" ag-details-grid",[c]);t&&qt(t,()=>({refresh(){return m.current?.refresh()??!1}})),e.template&&S("detailCellRendererParams.template is not supported by AG Grid React. To change the template, provide a Custom Detail Cell Renderer. See https://ag-grid.com/react-data-grid/master-detail-custom-detail/");let P=W(x=>{if(p.current=x,!x){m.current=o.destroyBean(m.current),v.current?.();return}let A={addOrRemoveCssClass:(k,O)=>l(q=>q.setClass(k,O)),addOrRemoveDetailGridCssClass:(k,O)=>d(q=>q.setClass(k,O)),setDetailGrid:k=>h(k),setRowData:k=>f(k),getGui:()=>p.current},L=i.getInstance("detailCellRenderer");if(L&&(o.createBean(L),L.init(A,e),m.current=L,s.get("detailRowAutoHeight"))){let k=()=>{if(p.current==null)return;let O=p.current.clientHeight;O!=null&&O>0&&setTimeout(()=>{e.node.setRowHeight(O),(de(s)||mt(s))&&n.onRowHeightChanged()},0)};v.current=r.observeResize(x,k),k()}},[]),T=W(x=>{m.current?.registerDetailWithMaster(x)},[]);return F.createElement("div",{className:C,ref:P},u&&F.createElement(bl,{className:R,...u,modules:w,rowData:g,setGridApi:T}))}),Aw=class extends qs{constructor(e){super("react"),this.processQueuedUpdates=e,this.queueUpdates=!1,this.frameworkComponents={agGroupCellRenderer:gl,agGroupRowRenderer:gl,agDetailCellRenderer:Tw},this.wrapIncoming=(t,i)=>i==="ensureVisible"?AC(t):t(),this.renderingEngine="react"}frameworkComponent(e){return this.frameworkComponents[e]}isFrameworkComponent(e){if(!e)return!1;let t=e.prototype;return!(t&&"getGui"in t)}getLockOnRefresh(){this.queueUpdates=!0}releaseLockOnRefresh(){this.queueUpdates=!1,this.processQueuedUpdates()}shouldQueueUpdates(){return this.queueUpdates}runWhenReadyAsync(){return TC()}},Sl=class extends ur{constructor(){super(...arguments),this.apiListeners=[],this.setGridApi=e=>{this.api=e,this.apiListeners.forEach(t=>t(e))}}registerApiListener(e){this.apiListeners.push(e)}componentWillUnmount(){this.apiListeners.length=0}render(){return F.createElement(bl,{...this.props,setGridApi:this.setGridApi})}};El();Ue.registerModules([ul]);function Rl(){let[e,t]=E([]),[i,o]=E({}),r=["en",...(window.__ROOT_CTX.rootConfig.i18n?.locales||[]).filter(N=>N!=="en"&&!Cr(N)).sort()],[n,a]=Er("q",""),[l,c]=E(n),[d,u]=No("locales",[]),[h,g]=No("tags",[]),[f,m]=E(!1),[p,v]=E(!0),[w,C]=E(!1),[R,P]=E(!1),[T,x]=E(!1),[A,L]=E([]),[k,O]=E([]),[q,Ce]=E(!1),oe=async()=>{Ce(!0);try{let N=e.map(G=>{let j=G.tags||[],V=Array.from(new Set([...j,...A])).sort();return{hash:G.hash,tags:V}});await Io(N),await X(),P(!1),L([])}catch(N){console.error(N),Ui(async()=>{throw N})}finally{Ce(!1)}},he=async()=>{Ce(!0);try{let N=e.map(G=>{let V=(G.tags||[]).filter(U=>!k.includes(U));return{hash:G.hash,tags:V}});await Io(N),await X(),x(!1),O([])}catch(N){console.error(N),Ui(async()=>{throw N})}finally{Ce(!1)}};ue(()=>{c(n)},[n]),ue(()=>{let N=setTimeout(()=>{l!==n&&a(l)},300);return()=>clearTimeout(N)},[l,n]);let J=H(()=>{let N=new Set;Object.values(i).forEach(U=>{U.tags&&(Array.isArray(U.tags)?U.tags.forEach(Y=>N.add(Y)):N.add(U.tags))});let G=[],j=Array.from(N).sort(),V=new Set;return j.forEach(U=>{U.includes("/")&&V.add(U.split("/")[0])}),j.forEach(U=>{let Y="Other";U.includes("/")?Y=U.split("/")[0]:V.has(U)&&(Y=U),G.push({value:U,label:U,group:Y})}),G},[i]);async function X(){v(!0),await Ui(async()=>{let N=await vr();console.log("Loaded translations:",Object.keys(N).length),o(N),v(!1)})}ue(()=>{X()},[]),ue(()=>{let N=[];Object.entries(i).forEach(([G,j])=>{let V=kw(j.tags);if(h.length>0&&!h.some(Pe=>V.includes(Pe)))return;if(n){let Y=(n||"").toLowerCase();if(!j)return;let Pe=j.source||"",et=G||"",le,we,be;if(w?(le=Pe.toLowerCase()===Y,we=et.toLowerCase()===Y,be=r.some(te=>(j[te]||"").toLowerCase()===Y)):(le=Pe.toLowerCase().includes(Y),we=et.toLowerCase().includes(Y),be=r.some(te=>(j[te]||"").toLowerCase().includes(Y))),!le&&!we&&!be)return}let U={hash:G,source:j.source||"",tags:V};r.forEach(Y=>{U[Y]=j[Y]||""}),N.push(U)}),t(N)},[i,n,h,d,w]);let Z=d.length>0?d:r,ge=H(()=>{let N=[{field:"source",headerName:"Source",headerClass:"no-border-header",pinned:"left",lockPinned:!0,lockPosition:!0,suppressMovable:!0,width:310,sortable:!0,resizable:!0,wrapText:!0,autoHeight:!0,cellRenderer:G=>I("div",{style:{whiteSpace:"normal",lineHeight:"1.5",padding:"8px 0",fontSize:"12px"},children:[I("div",{style:{display:"flex",alignItems:"center",gap:4},children:I("span",{children:G.value})}),f&&I("div",{style:{fontSize:"0.8em",color:"#888",marginTop:4},children:I("a",{href:`/cms/translations/${G.data.hash}`,style:{textDecoration:"none",color:"inherit"},children:G.data.hash})})]})}];return Z.forEach(G=>{N.push({field:G,headerName:G,width:300,editable:!1,resizable:!0,wrapText:!0,autoHeight:!0,cellRenderer:j=>I("div",{style:{whiteSpace:"normal",lineHeight:"1.5",padding:"8px 0",fontSize:"12px"},children:j.value})})}),N.push({headerName:"Actions",field:"actions",headerClass:"no-border-header",pinned:"right",lockPinned:!0,lockPosition:!0,suppressMovable:!0,width:90,sortable:!1,cellRenderer:G=>I(wt,{component:"a",href:`/cms/translations/${G.data.hash}`,size:"xs",variant:"outline",color:"dark",compact:!0,children:"Edit"})}),N.push({field:"tags",headerName:"Tags",headerComponent:G=>I("div",{className:"ag-header-cell-label",role:"presentation",style:{gap:10,cursor:"pointer"},onClick:j=>G.progressSort&&G.progressSort(j.shiftKey),children:[I(Go,{size:18}),I("span",{children:G.displayName}),G.enableSorting&&I("div",{className:"ag-sort-indicator-container",children:[I("span",{className:Lo("ag-sort-indicator-icon","ag-sort-ascending-icon",G.column.getSort()!=="asc"&&"ag-hidden"),"aria-hidden":"true",children:I("span",{className:"ag-icon ag-icon-asc",role:"presentation"})}),I("span",{className:Lo("ag-sort-indicator-icon","ag-sort-descending-icon",G.column.getSort()!=="desc"&&"ag-hidden"),"aria-hidden":"true",children:I("span",{className:"ag-icon ag-icon-desc",role:"presentation"})})]})]}),pinned:"right",lockPinned:!0,lockPosition:!0,width:150,sortable:!0,autoHeight:!0,valueFormatter:G=>Array.isArray(G.value)?G.value.join(", "):"",cellRenderer:G=>!G.value||!Array.isArray(G.value)||G.value.length===0?null:I("div",{style:{display:"flex",flexDirection:"column",gap:2,padding:"8px 0"},children:G.value.map(j=>I("div",{style:{fontSize:"12px",lineHeight:"1.2",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:I("span",{title:j,style:{cursor:"pointer",textDecoration:"underline",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",display:"block"},onClick:()=>{h.includes(j)?g(h.filter(V=>V!==j)):g([...h,j])},children:j})},j))})}),N},[Z,f,h]),ee={headerHeight:40,animateRows:!0,enableCellTextSelection:!0,suppressMovableColumns:!0};return I("div",{className:"TranslationsTable",children:[I("div",{style:{marginBottom:16,display:"flex",gap:16},children:[I(mr,{placeholder:"Search translations",icon:I(yr,{size:18}),value:l,onChange:N=>c(N.currentTarget.value),style:{flex:1}}),I(pi,{data:r,value:d,onChange:u,placeholder:d.length===0?"All locales":"Filter locales",searchable:!0,clearable:!0,icon:I(Rr,{size:18}),maxDropdownHeight:600,style:{width:300}}),I(pi,{data:J,value:h,onChange:g,placeholder:h.length===0?"All tags":"Filter tags",searchable:!0,clearable:!0,icon:I(Go,{size:18}),maxDropdownHeight:600,style:{width:300}}),I(yt,{shadow:"md",control:I(pr,{variant:"outline",size:"lg",style:{height:36},children:I(wr,{size:18})}),children:[I(yt.Label,{children:"View Options"}),I(yt.Item,{icon:f?I(Oo,{size:14}):null,onClick:()=>m(!f),children:"Show Hashes"}),I(yt.Item,{icon:w?I(Oo,{size:14}):null,onClick:()=>C(!w),children:"Exact Matches Only"}),I(fr,{}),I(yt.Label,{children:"Bulk Edit Tags"}),I(yt.Item,{icon:I(Sr,{size:14}),onClick:()=>P(!0),children:"Add tags..."}),I(yt.Item,{icon:I(br,{size:14}),onClick:()=>x(!0),children:"Remove tags..."})]})]}),p?I("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"calc(100vh - 250px)",gap:16},children:I(gr,{size:"lg"})}):I("div",{className:"ag-theme-alpine",style:{height:"calc(100vh - 250px)",width:"100%",fontSize:"13px"},children:I(Sl,{rowData:e,columnDefs:ge,gridOptions:ee})}),I(ko,{opened:R,onClose:()=>P(!1),title:"Bulk Add Tags",children:[I(To,{size:"sm",mb:"md",children:["The following tags will be added to the ",e.length," strings currently visible in the table."]}),I(pi,{data:J,value:A,onChange:L,placeholder:"Select or create tags",searchable:!0,creatable:!0,getCreateLabel:N=>`+ Create ${N}`,onCreate:N=>{let G={value:N,label:N,group:"Other"};return L(j=>[...j,N]),G},mb:"md"}),I(Ao,{position:"right",children:[I(wt,{variant:"default",onClick:()=>P(!1),children:"Cancel"}),I(wt,{loading:q,onClick:oe,children:"Add Tags"})]})]}),I(ko,{opened:T,onClose:()=>x(!1),title:"Bulk Remove Tags",children:[I(To,{size:"sm",mb:"md",children:["The following tags will be removed from the ",e.length," strings currently visible in the table."]}),I(pi,{data:J,value:k,onChange:O,placeholder:"Select tags to remove",searchable:!0,mb:"md"}),I(Ao,{position:"right",children:[I(wt,{variant:"default",onClick:()=>x(!1),children:"Cancel"}),I(wt,{color:"red",loading:q,onClick:he,children:"Remove Tags"})]})]})]})}function kw(e){return e?Array.isArray(e)?Array.from(new Set(e)).sort():[e]:[]}function iD(){return xr("Translations"),I(Dr,{children:I("div",{className:"TranslationsPage",children:[I("div",{className:"TranslationsPage__header",children:[I(Fr,{size:"h1",children:"Translations"}),I("div",{className:"TranslationsPage__header__buttons",children:I(wt,{component:"a",color:"blue",size:"xs",href:"/cms/translations/arb",children:"Download ARB"})})]}),I(Mr,{className:"TranslationsPage__content",children:I(Rl,{})})]})})}export{iD as TranslationsPage};
|
|
160
|
+
</div>`}onBtNext(){this.nextButtonDisabled||this.paginationService.goToNextPage()}onBtPrevious(){this.previousAndFirstButtonsDisabled||this.paginationService.goToPreviousPage()}onBtLast(){this.lastButtonDisabled||this.paginationService.goToLastPage()}enableOrDisableButtons(){let e=this.paginationService.getCurrentPage(),t=this.rowModel.isLastRowIndexKnown(),i=this.paginationService.getTotalPages();this.previousAndFirstButtonsDisabled=e===0,this.toggleButtonDisabled(this.btFirst,this.previousAndFirstButtonsDisabled),this.toggleButtonDisabled(this.btPrevious,this.previousAndFirstButtonsDisabled);let o=this.isZeroPagesToDisplay(),s=e===i-1;this.nextButtonDisabled=s||o,this.lastButtonDisabled=!t||o||e===i-1,this.toggleButtonDisabled(this.btNext,this.nextButtonDisabled),this.toggleButtonDisabled(this.btLast,this.lastButtonDisabled)}toggleButtonDisabled(e,t){Fc(e,t),e.classList.toggle("ag-disabled",t)}isZeroPagesToDisplay(){let e=this.rowModel.isLastRowIndexKnown(),t=this.paginationService.getTotalPages();return e&&t===0}updateLabels(){let e=this.rowModel.isLastRowIndexKnown(),t=this.paginationService.getTotalPages(),i=this.paginationService.getMasterRowCount(),o=e?i:null;if(o===1){let w=this.rowModel.getRow(0);if(w&&w.group&&!(w.groupData||w.aggData)){this.setTotalLabelsToZero();return}}let s=this.paginationService.getCurrentPage(),r=this.paginationService.getPageSize(),n,a;this.isZeroPagesToDisplay()?n=a=0:(n=r*s+1,a=n+r-1,e&&a>o&&(a=o));let l=n+r-1,c=!e&&i<l,d=this.formatNumber(n);this.lbFirstRowOnPage.textContent=d;let u,h=this.localeService.getLocaleTextFunc();c?u=h("pageLastRowUnknown","?"):u=this.formatNumber(a),this.lbLastRowOnPage.textContent=u;let f=t>0?s+1:0,m=this.formatNumber(f);this.lbCurrent.textContent=m;let p,v;if(e)p=this.formatNumber(t),v=this.formatNumber(o);else{let w=h("more","more");p=w,v=w}this.lbTotal.textContent=p,this.lbRecordCount.textContent=v,this.announceAriaStatus(d,u,v,m,p)}announceAriaStatus(e,t,i,o,s){let r=this.localeService.getLocaleTextFunc(),n=r("page","Page"),a=r("to","to"),l=r("of","of"),c=`${e} ${a} ${t} ${l} ${i}`,d=`${n} ${o} ${l} ${s}`;c!==this.ariaRowStatus&&(this.ariaRowStatus=c,this.ariaAnnouncementService.announceValue(c,"paginationRow")),d!==this.ariaPageStatus&&(this.ariaPageStatus=d,this.ariaAnnouncementService.announceValue(d,"paginationPage"))}setTotalLabelsToZero(){let e=this.formatNumber(0);this.lbFirstRowOnPage.textContent=e,this.lbCurrent.textContent=e,this.lbLastRowOnPage.textContent=e,this.lbTotal.textContent=e,this.lbRecordCount.textContent=e,this.announceAriaStatus(e,e,e,e,e)}},gv={selector:"AG-PAGINATION",component:hv},pv=class extends b{constructor(){super(...arguments),this.beanName="paginationService",this.currentPage=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=0,this.masterRowCount=0}wireBeans(e){this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.active=this.gos.get("pagination"),this.pageSizeFromGridOptions=this.gos.get("paginationPageSize"),this.paginateChildRows=this.isPaginateChildRows(),this.addManagedPropertyListener("pagination",this.onPaginationGridOptionChanged.bind(this)),this.addManagedPropertyListener("paginationPageSize",this.onPageSizeGridOptionChanged.bind(this))}getPaginationSelector(){return gv}isPaginateChildRows(){return this.gos.get("groupRemoveSingleChildren")||this.gos.get("groupRemoveLowestSingleChildren")?!0:this.gos.get("paginateChildRows")}onPaginationGridOptionChanged(){this.active=this.gos.get("pagination"),this.calculatePages(),this.dispatchPaginationChangedEvent({keepRenderedRows:!0})}onPageSizeGridOptionChanged(){this.setPageSize(this.gos.get("paginationPageSize"),"gridOptions")}goToPage(e){!this.active||this.currentPage===e||typeof this.currentPage!="number"||(this.currentPage=e,this.calculatePages(),this.dispatchPaginationChangedEvent({newPage:!0}))}isRowPresent(e){return e.rowIndex>=this.topDisplayedRowIndex&&e.rowIndex<=this.bottomDisplayedRowIndex}getPageForIndex(e){return Math.floor(e/this.pageSize)}goToPageWithIndex(e){if(!this.active)return;let t=this.getPageForIndex(e);this.goToPage(t)}isRowInPage(e){return this.active?this.getPageForIndex(e.rowIndex)===this.currentPage:!0}getCurrentPage(){return this.currentPage}goToNextPage(){this.goToPage(this.currentPage+1)}goToPreviousPage(){this.goToPage(this.currentPage-1)}goToFirstPage(){this.goToPage(0)}goToLastPage(){let e=this.rowModel.getRowCount(),t=Math.floor(e/this.pageSize);this.goToPage(t)}getPageSize(){return this.pageSize}getTotalPages(){return this.totalPages}setPage(e){this.currentPage=e}get pageSize(){return M(this.pageSizeAutoCalculated)&&this.gos.get("paginationAutoPageSize")?this.pageSizeAutoCalculated:M(this.pageSizeFromPageSizeSelector)?this.pageSizeFromPageSizeSelector:M(this.pageSizeFromInitialState)?this.pageSizeFromInitialState:M(this.pageSizeFromGridOptions)?this.pageSizeFromGridOptions:this.defaultPageSize}calculatePages(){this.active?this.paginateChildRows?this.calculatePagesAllRows():this.calculatePagesMasterRowsOnly():this.calculatedPagesNotActive(),this.pageBoundsService.calculateBounds(this.topDisplayedRowIndex,this.bottomDisplayedRowIndex)}unsetAutoCalculatedPageSize(){if(this.pageSizeAutoCalculated===void 0)return;let e=this.pageSizeAutoCalculated;this.pageSizeAutoCalculated=void 0,this.pageSize!==e&&(this.calculatePages(),this.dispatchPaginationChangedEvent({newPageSize:!0}))}setPageSize(e,t){let i=this.pageSize;switch(t){case"autoCalculated":this.pageSizeAutoCalculated=e;break;case"pageSizeSelector":this.pageSizeFromPageSizeSelector=e,this.currentPage!==0&&this.goToFirstPage();break;case"initialState":this.pageSizeFromInitialState=e;break;case"gridOptions":this.pageSizeFromGridOptions=e,this.pageSizeFromInitialState=void 0,this.pageSizeFromPageSizeSelector=void 0,this.currentPage!==0&&this.goToFirstPage();break}i!==this.pageSize&&(this.calculatePages(),this.dispatchPaginationChangedEvent({newPageSize:!0,keepRenderedRows:!0}))}setZeroRows(){this.masterRowCount=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=-1,this.currentPage=0,this.totalPages=0}adjustCurrentPageIfInvalid(){this.currentPage>=this.totalPages&&(this.currentPage=this.totalPages-1),(!isFinite(this.currentPage)||isNaN(this.currentPage)||this.currentPage<0)&&(this.currentPage=0)}calculatePagesMasterRowsOnly(){if(this.masterRowCount=this.rowModel.getTopLevelRowCount(),this.masterRowCount<=0){this.setZeroRows();return}let e=this.masterRowCount-1;this.totalPages=Math.floor(e/this.pageSize)+1,this.adjustCurrentPageIfInvalid();let t=this.pageSize*this.currentPage,i=this.pageSize*(this.currentPage+1)-1;if(i>e&&(i=e),this.topDisplayedRowIndex=this.rowModel.getTopLevelRowDisplayedIndex(t),i===e)this.bottomDisplayedRowIndex=this.rowModel.getRowCount()-1;else{let o=this.rowModel.getTopLevelRowDisplayedIndex(i+1);this.bottomDisplayedRowIndex=o-1}}getMasterRowCount(){return this.masterRowCount}calculatePagesAllRows(){if(this.masterRowCount=this.rowModel.getRowCount(),this.masterRowCount===0){this.setZeroRows();return}let e=this.masterRowCount-1;this.totalPages=Math.floor(e/this.pageSize)+1,this.adjustCurrentPageIfInvalid(),this.topDisplayedRowIndex=this.pageSize*this.currentPage,this.bottomDisplayedRowIndex=this.pageSize*(this.currentPage+1)-1,this.bottomDisplayedRowIndex>e&&(this.bottomDisplayedRowIndex=e)}calculatedPagesNotActive(){this.setPageSize(void 0,"autoCalculated"),this.totalPages=1,this.currentPage=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=this.rowModel.getRowCount()-1}dispatchPaginationChangedEvent(e){let{keepRenderedRows:t=!1,newPage:i=!1,newPageSize:o=!1}=e;this.eventService.dispatchEvent({type:"paginationChanged",animate:!1,newData:!1,newPage:i,newPageSize:o,keepRenderedRows:t})}},tl={version:B,moduleName:"@ag-grid-community/pagination-core",beans:[pv,lv]},fv={version:B,moduleName:"@ag-grid-community/pagination-api",dependantModules:[tl],apiFunctions:{paginationIsLastPageFound:Xm,paginationGetPageSize:Zm,paginationGetCurrentPage:ev,paginationGetTotalPages:tv,paginationGetRowCount:iv,paginationGoToNextPage:ov,paginationGoToPreviousPage:sv,paginationGoToFirstPage:rv,paginationGoToLastPage:nv,paginationGoToPage:av}},mv={version:B,moduleName:"@ag-grid-community/pagination",dependantModules:[tl,fv]},Oe="clientSide",Ae="serverSide",Xt="infinite",vv={onGroupExpandedOrCollapsed:[Oe],refreshClientSideRowModel:[Oe],isRowDataEmpty:[Oe],forEachLeafNode:[Oe],forEachNodeAfterFilter:[Oe],forEachNodeAfterFilterAndSort:[Oe],resetRowHeights:[Oe],applyTransaction:[Oe],applyTransactionAsync:[Oe],flushAsyncTransactions:[Oe],getBestCostNodeSelection:[Oe],getServerSideSelectionState:[Ae],setServerSideSelectionState:[Ae],applyServerSideTransaction:[Ae],applyServerSideTransactionAsync:[Ae],applyServerSideRowData:[Ae],retryServerSideLoads:[Ae],flushServerSideAsyncTransactions:[Ae],refreshServerSide:[Ae],getServerSideGroupLevelState:[Ae],refreshInfiniteCache:[Xt],purgeInfiniteCache:[Xt],getInfiniteRowCount:[Xt],isLastRowIndexKnown:[Xt,Ae],expandAll:[Oe,Ae],collapseAll:[Oe,Ae],onRowHeightChanged:[Oe,Ae],setRowCount:[Xt,Ae],getCacheBlockState:[Xt,Ae]},Cv={getValue:{version:"v31.3",new:"getCellValue"},getFirstDisplayedRow:{version:"v31.1",new:"getFirstDisplayedRowIndex"},getLastDisplayedRow:{version:"v31.1",new:"getLastDisplayedRowIndex"},getModel:{version:"v31.1",message:"Please use the appropriate grid API methods instead."},setColumnVisible:{version:"v31.1",old:"setColumnVisible(key,visible)",new:"setColumnsVisible([key],visible)"},setColumnPinned:{version:"v31.1",old:"setColumnPinned(key,pinned)",new:"setColumnsPinned([key],pinned)"},moveColumn:{version:"v31.1",old:"moveColumn(key, toIndex)",new:"moveColumns([key], toIndex)"},setColumnWidth:{version:"v31.1",old:"setColumnWidth(col, width)",new:"setColumnWidths([{key: col, newWidth: width}])"},autoSizeColumn:{version:"v31.1",old:"autoSizeColumn(key, skipHeader)",new:"autoSizeColumns([key], skipHeader)"},addAggFunc:{version:"v31.1",old:"addAggFunc(key, func)",new:"addAggFuncs({ key: func })"},removeValueColumn:{version:"v31.1",old:"removeValueColumn(colKey)",new:"removeValueColumns([colKey])"},addValueColumn:{version:"v31.1",old:"addValueColumn(colKey)",new:"addValueColumns([colKey])"},removeRowGroupColumn:{version:"v31.1",old:"removeRowGroupColumn(colKey)",new:"removeRowGroupColumns([colKey])"},addRowGroupColumn:{version:"v31.1",old:"addRowGroupColumn(colKey)",new:"addRowGroupColumns([colKey])"},removePivotColumn:{version:"v31.1",old:"removePivotColumn(colKey)",new:"removePivotColumns([colKey])"},addPivotColumn:{version:"v31.1",old:"addPivotColumn(colKey)",new:"addPivotColumns([colKey])"},showColumnMenuAfterButtonClick:{version:"v31.1",message:"Use 'IHeaderParams.showColumnMenu' within a header component, or 'api.showColumnMenu' elsewhere."},showColumnMenuAfterMouseClick:{version:"v31.1",message:"Use 'IHeaderParams.showColumnMenuAfterMouseClick' within a header component, or 'api.showColumnMenu' elsewhere."},getFilterInstance:{version:"v31.1",message:"'getFilterInstance' is deprecated. To get/set individual filter models, use 'getColumnFilterModel' or 'setColumnFilterModel' instead. To get hold of the filter instance, use 'getColumnFilterInstance' which returns the instance asynchronously."},showLoadingOverlay:{version:"v32",message:'`showLoadingOverlay` is deprecated. Use the grid option "loading"=true instead or setGridOption("loading", true).'},clearRangeSelection:{version:"v32.2",message:"Use `clearCellSelection` instead."},getInfiniteRowCount:{version:"v32.2",old:"getInfiniteRowCount()",new:"getDisplayedRowCount()"}};function wv(e,t,i){let o=Cv[e];if(o){let{version:r,new:n,old:a,message:l}=o,c=a??e;return(...d)=>{let u=n?`Please use ${n} instead. `:"";return S(`Since ${r} api.${c} is deprecated. ${u}${l??""}`),t.apply(t,d)}}let s=vv[e];return s?(...r)=>{let n=i.rowModel.getType();if(!s.includes(n)){Q(`api.${e} can only be called when gridOptions.rowModelType is ${s.join(" or ")}`);return}return t.apply(t,r)}:t}var yv={columnsMenuParams:{version:"31.1",message:"Use `columnChooserParams` instead."},suppressMenu:{version:"31.1",message:"Use `suppressHeaderMenuButton` instead."},suppressCellFlash:{version:"31.2",message:"Use `enableCellChangeFlash={false}` in the ColDef"},checkboxSelection:{version:"32.2",message:"Use `rowSelection.checkboxes` in `GridOptions` instead."},headerCheckboxSelection:{version:"32.2",message:"Use `rowSelection.headerCheckbox = true` in `GridOptions` instead."},headerCheckboxSelectionFilteredOnly:{version:"32.2",message:'Use `rowSelection.selectAll = "filtered"` in `GridOptions` instead.'},headerCheckboxSelectionCurrentPageOnly:{version:"32.2",message:'Use `rowSelection.selectAll = "currentPage"` in `GridOptions` instead.'},showDisabledCheckboxes:{version:"32.2",message:"Use `rowSelection.hideDisabledCheckboxes = true` in `GridOptions` instead."}},St=(e,t)=>{let i=t.rowModelType??"clientSide";return i==="clientSide"||i==="serverSide"?{module:"@ag-grid-enterprise/row-grouping"}:null},bv={enableRowGroup:St,rowGroup:St,rowGroupIndex:St,enablePivot:St,enableValue:St,pivot:St,pivotIndex:St,aggFunc:St,cellEditor:e=>e.cellEditor==="agRichSelect"||e.cellEditor==="agRichSelectCellEditor"?{module:"@ag-grid-enterprise/rich-select"}:null,menuTabs:e=>{let t=["columnsMenuTab","generalMenuTab"];return e.menuTabs?.some(i=>t.includes(i))?{module:"@ag-grid-enterprise/menu"}:null},columnsMenuParams:{module:["@ag-grid-enterprise/menu","@ag-grid-enterprise/column-tool-panel"]},columnChooserParams:{module:["@ag-grid-enterprise/menu","@ag-grid-enterprise/column-tool-panel"]},headerCheckboxSelection:{supportedRowModels:["clientSide","serverSide"],validate:(e,{rowSelection:t})=>t==="multiple"?null:"headerCheckboxSelection is only supported with rowSelection=multiple"},headerCheckboxSelectionFilteredOnly:{supportedRowModels:["clientSide"],validate:(e,{rowSelection:t})=>t==="multiple"?null:"headerCheckboxSelectionFilteredOnly is only supported with rowSelection=multiple"},headerCheckboxSelectionCurrentPageOnly:{supportedRowModels:["clientSide"],validate:(e,{rowSelection:t})=>t==="multiple"?null:"headerCheckboxSelectionCurrentPageOnly is only supported with rowSelection=multiple"},children:()=>Zt},Sv={headerName:void 0,columnGroupShow:void 0,headerClass:void 0,toolPanelClass:void 0,headerValueGetter:void 0,pivotKeys:void 0,groupId:void 0,colId:void 0,sort:void 0,initialSort:void 0,field:void 0,type:void 0,cellDataType:void 0,tooltipComponent:void 0,tooltipField:void 0,headerTooltip:void 0,cellClass:void 0,showRowGroup:void 0,filter:void 0,initialAggFunc:void 0,defaultAggFunc:void 0,aggFunc:void 0,pinned:void 0,initialPinned:void 0,chartDataType:void 0,cellAriaRole:void 0,cellEditorPopupPosition:void 0,headerGroupComponent:void 0,headerGroupComponentParams:void 0,cellStyle:void 0,cellRenderer:void 0,cellRendererParams:void 0,cellEditor:void 0,cellEditorParams:void 0,filterParams:void 0,pivotValueColumn:void 0,headerComponent:void 0,headerComponentParams:void 0,floatingFilterComponent:void 0,floatingFilterComponentParams:void 0,tooltipComponentParams:void 0,refData:void 0,columnsMenuParams:void 0,columnChooserParams:void 0,children:void 0,sortingOrder:void 0,allowedAggFuncs:void 0,menuTabs:void 0,pivotTotalColumnIds:void 0,cellClassRules:void 0,icons:void 0,sortIndex:void 0,initialSortIndex:void 0,flex:void 0,initialFlex:void 0,width:void 0,initialWidth:void 0,minWidth:void 0,maxWidth:void 0,rowGroupIndex:void 0,initialRowGroupIndex:void 0,pivotIndex:void 0,initialPivotIndex:void 0,suppressCellFlash:void 0,suppressColumnsToolPanel:void 0,suppressFiltersToolPanel:void 0,openByDefault:void 0,marryChildren:void 0,suppressStickyLabel:void 0,hide:void 0,initialHide:void 0,rowGroup:void 0,initialRowGroup:void 0,pivot:void 0,initialPivot:void 0,checkboxSelection:void 0,showDisabledCheckboxes:void 0,headerCheckboxSelection:void 0,headerCheckboxSelectionFilteredOnly:void 0,headerCheckboxSelectionCurrentPageOnly:void 0,suppressMenu:void 0,suppressHeaderMenuButton:void 0,suppressMovable:void 0,lockPosition:void 0,lockVisible:void 0,lockPinned:void 0,unSortIcon:void 0,suppressSizeToFit:void 0,suppressAutoSize:void 0,enableRowGroup:void 0,enablePivot:void 0,enableValue:void 0,editable:void 0,suppressPaste:void 0,suppressNavigable:void 0,enableCellChangeFlash:void 0,rowDrag:void 0,dndSource:void 0,autoHeight:void 0,wrapText:void 0,sortable:void 0,resizable:void 0,singleClickEdit:void 0,floatingFilter:void 0,cellEditorPopup:void 0,suppressFillHandle:void 0,wrapHeaderText:void 0,autoHeaderHeight:void 0,dndSourceOnRowDrag:void 0,valueGetter:void 0,valueSetter:void 0,filterValueGetter:void 0,keyCreator:void 0,valueFormatter:void 0,valueParser:void 0,comparator:void 0,equals:void 0,pivotComparator:void 0,suppressKeyboardEvent:void 0,suppressHeaderKeyboardEvent:void 0,colSpan:void 0,rowSpan:void 0,getQuickFilterText:void 0,onCellValueChanged:void 0,onCellClicked:void 0,onCellDoubleClicked:void 0,onCellContextMenu:void 0,rowDragText:void 0,tooltipValueGetter:void 0,cellRendererSelector:void 0,cellEditorSelector:void 0,suppressSpanHeaderHeight:void 0,useValueFormatterForExport:void 0,useValueParserForImport:void 0,mainMenuItems:void 0,contextMenuItems:void 0,suppressFloatingFilterButton:void 0,suppressHeaderFilterButton:void 0,suppressHeaderContextMenu:void 0,loadingCellRenderer:void 0,loadingCellRendererParams:void 0,loadingCellRendererSelector:void 0,context:void 0},Rv=Object.keys(Sv),Zt={objectName:"colDef",allProperties:Rv,docsUrl:"column-properties/",deprecations:yv,validations:bv},Fv=()=>({advancedFilterModel:{version:"31",message:"Use `initialState.filter.advancedFilterModel` instead."},suppressAsyncEvents:{version:"31",message:"Events should be handled asynchronously."},cellFadeDelay:{version:"31.1",renamed:"cellFadeDuration"},cellFlashDelay:{version:"31.1",renamed:"cellFlashDuration"},suppressServerSideInfiniteScroll:{version:"31.1"},serverSideSortOnServer:{version:"31.1"},serverSideFilterOnServer:{version:"31.1"},enableCellChangeFlash:{version:"31.2",message:"Use `enableCellChangeFlash` in the `ColDef` or `defaultColDef` for all columns."},groupIncludeFooter:{version:"31.3",message:"Use `groupTotalRow` instead."},groupIncludeTotalFooter:{version:"31.3",message:"Use `grandTotalRow` instead."},suppressLoadingOverlay:{version:"32",message:"Use `loading`=false instead."},enableFillHandle:{version:"32.2",message:"Use `cellSelection.handle` instead."},enableRangeHandle:{version:"32.2",message:"Use `cellSelection.handle` instead."},enableRangeSelection:{version:"32.2",message:"Use `cellSelection = true` instead."},suppressMultiRangeSelection:{version:"32.2",message:"Use `cellSelection.suppressMultiRanges` instead."},suppressClearOnFillReduction:{version:"32.2",message:"Use `cellSelection.handle.suppressClearOnFillReduction` instead."},fillHandleDirection:{version:"32.2",message:"Use `cellSelection.handle.direction` instead."},fillOperation:{version:"32.2",message:"Use `cellSelection.handle.setFillValue` instead."},suppressRowClickSelection:{version:"32.2",message:"Use `rowSelection.enableClickSelection` instead."},suppressRowDeselection:{version:"32.2",message:"Use `rowSelection.enableClickSelection` instead."},rowMultiSelectWithClick:{version:"32.2",message:"Use `rowSelection.enableSelectionWithoutKeys` instead."},groupSelectsChildren:{version:"32.2",message:'Use `rowSelection.groupSelects = "descendants"` instead.'},groupSelectsFiltered:{version:"32.2",message:'Use `rowSelection.groupSelects = "filteredDescendants"` instead.'},isRowSelectable:{version:"32.2",message:"Use `selectionOptions.isRowSelectable` instead."},suppressCopySingleCellRanges:{version:"32.2",message:"Use `rowSelection.copySelectedRows` instead."},suppressCopyRowsToClipboard:{version:"32.2",message:"Use `rowSelection.copySelectedRows` instead."},onRangeSelectionChanged:{version:"32.2",message:"Use `onCellSelectionChanged` instead."},onRangeDeleteStart:{version:"32.2",message:"Use `onCellSelectionDeleteStart` instead."},onRangeDeleteEnd:{version:"32.2",message:"Use `onCellSelectionDeleteEnd` instead."},suppressBrowserResizeObserver:{version:"32.2",message:"The grid always uses the browser's ResizeObserver, this grid option has no effect."},onColumnEverythingChanged:{version:"32.2",message:"Either use `onDisplayedColumnsChanged` which is fired at the same time, or use one of the more specific column events."}}),xv={suppressContextMenu:!1,preventDefaultOnContextMenu:!1,allowContextMenuWithControlKey:!1,suppressMenuHide:!0,enableBrowserTooltips:!1,tooltipTrigger:"hover",tooltipShowDelay:2e3,tooltipHideDelay:1e4,tooltipMouseTrack:!1,tooltipShowMode:"standard",tooltipInteraction:!1,copyHeadersToClipboard:!1,copyGroupHeadersToClipboard:!1,clipboardDelimiter:" ",suppressCopyRowsToClipboard:!1,suppressCopySingleCellRanges:!1,suppressLastEmptyLineOnPaste:!1,suppressClipboardPaste:!1,suppressClipboardApi:!1,suppressCutToClipboard:!1,maintainColumnOrder:!1,enableStrictPivotColumnOrder:!1,suppressFieldDotNotation:!1,allowDragFromColumnsToolPanel:!1,suppressMovableColumns:!1,suppressColumnMoveAnimation:!1,suppressMoveWhenColumnDragging:!1,suppressDragLeaveHidesColumns:!1,suppressRowGroupHidesColumns:!1,suppressAutoSize:!1,autoSizePadding:20,skipHeaderOnAutoSize:!1,singleClickEdit:!1,suppressClickEdit:!1,readOnlyEdit:!1,stopEditingWhenCellsLoseFocus:!1,enterNavigatesVertically:!1,enterNavigatesVerticallyAfterEdit:!1,enableCellEditingOnBackspace:!1,undoRedoCellEditing:!1,undoRedoCellEditingLimit:10,suppressCsvExport:!1,suppressExcelExport:!1,cacheQuickFilter:!1,includeHiddenColumnsInQuickFilter:!1,excludeChildrenWhenTreeDataFiltering:!1,enableAdvancedFilter:!1,includeHiddenColumnsInAdvancedFilter:!1,enableCharts:!1,masterDetail:!1,keepDetailRows:!1,keepDetailRowsCount:10,detailRowAutoHeight:!1,tabIndex:0,rowBuffer:10,valueCache:!1,valueCacheNeverExpires:!1,enableCellExpressions:!1,suppressTouch:!1,suppressFocusAfterRefresh:!1,suppressAsyncEvents:!1,suppressBrowserResizeObserver:!1,suppressPropertyNamesCheck:!1,suppressChangeDetection:!1,debug:!1,suppressLoadingOverlay:!1,suppressNoRowsOverlay:!1,pagination:!1,paginationPageSize:100,paginationPageSizeSelector:!0,paginationAutoPageSize:!1,paginateChildRows:!1,suppressPaginationPanel:!1,pivotMode:!1,pivotPanelShow:"never",pivotDefaultExpanded:0,pivotSuppressAutoColumn:!1,suppressExpandablePivotGroups:!1,functionsReadOnly:!1,suppressAggFuncInHeader:!1,alwaysAggregateAtRootLevel:!1,aggregateOnlyChangedColumns:!1,suppressAggFilteredOnly:!1,removePivotHeaderRowWhenSingleValueColumn:!1,animateRows:!0,enableCellChangeFlash:!1,cellFlashDelay:500,cellFlashDuration:500,cellFadeDelay:1e3,cellFadeDuration:1e3,allowShowChangeAfterFilter:!1,domLayout:"normal",ensureDomOrder:!1,enableRtl:!1,suppressColumnVirtualisation:!1,suppressMaxRenderedRowRestriction:!1,suppressRowVirtualisation:!1,rowDragManaged:!1,suppressRowDrag:!1,suppressMoveWhenRowDragging:!1,rowDragEntireRow:!1,rowDragMultiRow:!1,embedFullWidthRows:!1,groupDisplayType:"singleColumn",groupDefaultExpanded:0,groupMaintainOrder:!1,groupSelectsChildren:!1,groupIncludeTotalFooter:!1,groupSuppressBlankHeader:!1,groupSelectsFiltered:!1,showOpenedGroup:!1,groupRemoveSingleChildren:!1,groupRemoveLowestSingleChildren:!1,groupHideOpenParents:!1,groupAllowUnbalanced:!1,rowGroupPanelShow:"never",suppressMakeColumnVisibleAfterUnGroup:!1,treeData:!1,rowGroupPanelSuppressSort:!1,suppressGroupRowsSticky:!1,rowModelType:"clientSide",asyncTransactionWaitMillis:50,suppressModelUpdateAfterUpdateTransaction:!1,cacheOverflowSize:1,infiniteInitialRowCount:1,serverSideInitialRowCount:1,suppressServerSideInfiniteScroll:!1,cacheBlockSize:100,maxBlocksInCache:-1,maxConcurrentDatasourceRequests:2,blockLoadDebounceMillis:0,purgeClosedRowNodes:!1,serverSideSortAllLevels:!1,serverSideOnlyRefreshFilteredGroups:!1,serverSideSortOnServer:!1,serverSideFilterOnServer:!1,serverSidePivotResultFieldSeparator:"_",viewportRowModelPageSize:5,viewportRowModelBufferSize:5,alwaysShowHorizontalScroll:!1,alwaysShowVerticalScroll:!1,debounceVerticalScrollbar:!1,suppressHorizontalScroll:!1,suppressScrollOnNewData:!1,suppressScrollWhenPopupsAreOpen:!1,suppressAnimationFrame:!1,suppressMiddleClickScrolls:!1,suppressPreventDefaultOnMouseWheel:!1,rowMultiSelectWithClick:!1,suppressRowDeselection:!1,suppressRowClickSelection:!1,suppressCellFocus:!1,suppressHeaderFocus:!1,suppressMultiRangeSelection:!1,enableCellTextSelection:!1,enableRangeSelection:!1,enableRangeHandle:!1,enableFillHandle:!1,fillHandleDirection:"xy",suppressClearOnFillReduction:!1,accentedSort:!1,unSortIcon:!1,suppressMultiSort:!1,alwaysMultiSort:!1,suppressMaintainUnsortedOrder:!1,suppressRowHoverHighlight:!1,suppressRowTransform:!1,columnHoverHighlight:!1,deltaSort:!1,enableGroupEdit:!1,suppressGroupMaintainValueType:!1,groupLockGroupColumns:0,serverSideEnableClientSideSort:!1,suppressServerSideFullWidthLoadingRow:!1,pivotMaxGeneratedColumns:-1,columnMenu:"new",reactiveCustomComponents:!0,suppressSetFilterByDefault:!1},Dv=()=>({sideBar:{module:"@ag-grid-enterprise/side-bar"},statusBar:{module:"@ag-grid-enterprise/status-bar"},enableCharts:{module:"@ag-grid-enterprise/charts"},getMainMenuItems:{module:"@ag-grid-enterprise/menu"},getContextMenuItems:{module:"@ag-grid-enterprise/menu"},allowContextMenuWithControlKey:{module:"@ag-grid-enterprise/menu"},enableAdvancedFilter:{module:"@ag-grid-enterprise/advanced-filter"},treeData:{supportedRowModels:["clientSide","serverSide"],module:"@ag-grid-enterprise/row-grouping",validate:e=>{let t=e.rowModelType??"clientSide";switch(t){case"clientSide":{let i=`treeData requires 'getDataPath' in the ${t} row model.`;return e.getDataPath?null:i}case"serverSide":{let i=`treeData requires 'isServerSideGroup' and 'getServerSideGroupKey' in the ${t} row model.`;return e.isServerSideGroup&&e.getServerSideGroupKey?null:i}}return null}},masterDetail:{module:"@ag-grid-enterprise/master-detail"},enableRangeSelection:{module:"@ag-grid-enterprise/range-selection"},enableRangeHandle:{dependencies:{enableRangeSelection:[!0]}},enableFillHandle:{dependencies:{enableRangeSelection:[!0]}},groupDefaultExpanded:{supportedRowModels:["clientSide"]},groupIncludeFooter:{supportedRowModels:["clientSide","serverSide"],validate:e=>{switch(e.rowModelType??"clientSide"){case"clientSide":return null;case"serverSide":return e.suppressServerSideInfiniteScroll?"groupIncludeFooter is not supported alongside suppressServerSideInfiniteScroll":null}return null}},groupHideOpenParents:{supportedRowModels:["clientSide","serverSide"],dependencies:{groupTotalRow:[void 0,"bottom"]}},groupIncludeTotalFooter:{supportedRowModels:["clientSide"]},groupRemoveSingleChildren:{dependencies:{groupHideOpenParents:[void 0,!1],groupRemoveLowestSingleChildren:[void 0,!1]}},groupRemoveLowestSingleChildren:{dependencies:{groupHideOpenParents:[void 0,!1],groupRemoveSingleChildren:[void 0,!1]}},groupSelectsChildren:{dependencies:{rowSelection:["multiple"]}},viewportDatasource:{supportedRowModels:["viewport"],module:"@ag-grid-enterprise/viewport-row-model"},serverSideDatasource:{supportedRowModels:["serverSide"],module:"@ag-grid-enterprise/server-side-row-model"},cacheBlockSize:{supportedRowModels:["serverSide","infinite"]},datasource:{supportedRowModels:["infinite"],module:"@ag-grid-community/infinite-row-model"},rowData:{supportedRowModels:["clientSide"],module:"@ag-grid-community/client-side-row-model"},paginationPageSizeSelector:{validate:e=>{let t=e.paginationPageSizeSelector;return typeof t=="boolean"||t==null||t.length?null:`'paginationPageSizeSelector' cannot be an empty array.
|
|
161
|
+
If you want to hide the page size selector, set paginationPageSizeSelector to false.`}},rowSelection:{validate({rowSelection:e}){return e&&typeof e=="string"?'As of version 32.2.1, using `rowSelection` with the values "single" or "multiple" has been deprecated. Use the object value instead.':e&&typeof e!="object"?"Expected `RowSelectionOptions` object for the `rowSelection` property.":null}},cellSelection:{module:"@ag-grid-enterprise/range-selection"},columnDefs:()=>Zt,defaultColDef:()=>Zt,defaultColGroupDef:()=>Zt,autoGroupColumnDef:()=>Zt,selectionColumnDef:()=>Zt}),Ev=()=>({objectName:"gridOptions",allProperties:[...Ti.ALL_PROPERTIES,...Ai.EVENT_CALLBACKS],propertyExceptions:["api"],docsUrl:"grid-options/",deprecations:Fv(),validations:Dv()}),Mv=class extends b{constructor(){super(...arguments),this.beanName="validationService"}wireBeans(e){this.beans=e,this.gridOptions=e.gridOptions}postConstruct(){this.processGridOptions(this.gridOptions)}processGridOptions(e){this.processOptions(e,Ev())}validateApiFunction(e,t){return wv(e,t,this.beans)}processOptions(e,t){let{validations:i,deprecations:o,allProperties:s,propertyExceptions:r,objectName:n,docsUrl:a}=t;s&&this.gridOptions.suppressPropertyNamesCheck!==!0&&this.checkProperties(e,[...r??[],...Object.keys(o)],s,n,a);let l=new Set;Object.keys(e).forEach(d=>{let u=o[d];if(u)if("renamed"in u){let{renamed:C,version:R}=u;l.add(`As of v${R}, ${String(d)} is deprecated. Please use ${String(C)} instead.`),e[C]=e[d]}else{let{message:C,version:R}=u;l.add(`As of v${R}, ${String(d)} is deprecated. ${C??""}`)}let h=e[d];if(h==null||h===!1)return;let g=i[d],f;if(g)if(typeof g=="function"){let C=g(e,this.gridOptions);if(!C)return;if("objectName"in C){let R=e[d];if(Array.isArray(R)){R.forEach(P=>{this.processOptions(P,C)});return}this.processOptions(e[d],C);return}f=C}else f=g;else return;let{module:m,dependencies:p,validate:v,supportedRowModels:w}=f;if(w){let C=this.gridOptions.rowModelType??"clientSide";if(!w.includes(C)){l.add(`${String(d)} is not supported with the '${C}' row model.`);return}}if(m){let C=Array.isArray(m)?m:[m],R=!0;if(C.forEach(P=>{this.gos.assertModuleRegistered(P,String(d))||(R=!1,l.add(`${String(d)} is only available when ${P} is loaded.`))}),!R)return}if(p){let C=this.checkForRequiredDependencies(d,p,e);if(C){l.add(C);return}}if(v){let C=v(e,this.gridOptions);if(C){l.add(C);return}}}),l.size>0&&l.forEach(d=>{S(d)})}checkForRequiredDependencies(e,t,i){let s=Object.entries(t).find(([a,l])=>{let c=i[a];return!l.includes(c)});if(!s)return null;let[r,n]=s;return n.length>1?`'${String(e)}' requires '${r}' to be one of [${n.join(", ")}].`:`'${String(e)}' requires '${r}' to be ${n[0]}.`}checkProperties(e,t,i,o,s){let r=["__ob__","__v_skip","__metadata__"],n=Pv(Object.getOwnPropertyNames(e),[...r,...t,...i],i);if(We(n,(a,l)=>{let c=`invalid ${o} property '${a}' did you mean any of these: ${l.slice(0,8).join(", ")}.`;i.includes("context")&&(c+=`
|
|
162
|
+
If you are trying to annotate ${o} with application data, use the '${o}.context' property instead.`),S(c)}),Object.keys(n).length>0&&s){let a=this.getFrameworkOverrides().getDocLink(s);S(`to see all the valid ${o} properties please check: ${a}`)}}};function Pv(e,t,i){let o={},s=e.filter(r=>!t.some(n=>n===r));return s.length>0&&s.forEach(r=>o[r]=Jn({inputValue:r,allSuggestions:i}).values),o}var Tv={version:B,moduleName:"@ag-grid-community/core"},Av={version:B,moduleName:"@ag-grid-community/core-validations",beans:[Mv]},kv={version:B,moduleName:"@ag-grid-community/core-community-features",dependantModules:[Tv,Av,jg,ju,Jm,Rf,Ap,mv,_m]},Iv=class extends b{constructor(){super(...arguments),this.beanName="gridDestroyService",this.destroyCalled=!1}wireBeans(e){this.beans=e}destroy(){this.destroyCalled||(this.eventService.dispatchEvent({type:"gridPreDestroyed",state:this.beans.stateService?.getState()??{}}),this.destroyCalled=!0,this.beans.ctrlsService.get("gridCtrl")?.destroyGridUi(),this.beans.context.destroy(),super.destroy())}isDestroyCalled(){return this.destroyCalled}},to=new Set(["gridPreDestroyed","fillStart","pasteStart"]),Lv=e=>e==="checkboxSelected"||e==="rowClicked"||e==="spaceKey"||e==="uiSelectAll"||e==="uiSelectAllCurrentPage"||e==="uiSelectAllFiltered",Ov=new Map([...Ti.BOOLEAN_PROPERTIES.map(e=>[e,is]),...Ti.NUMBER_PROPERTIES.map(e=>[e,fa]),["groupAggFiltering",e=>typeof e=="function"?e:is(e)],["pageSize",it(1)],["autoSizePadding",it(0)],["keepDetailRowsCount",it(1)],["rowBuffer",it(0)],["infiniteInitialRowCount",it(1)],["cacheOverflowSize",it(1)],["cacheBlockSize",it(1)],["serverSideInitialRowCount",it(1)],["viewportRowModelPageSize",it(1)],["viewportRowModelBufferSize",it(0)]]);function il(e,t){let i=Ov.get(e);return i?i(t):t}function Gv(e){let t={};return Object.entries(e).forEach(([i,o])=>{let s=il(i,o);t[i]=s}),t}var ol=class sl extends b{constructor(){super(...arguments),this.beanName="gos",this.gridReadyFired=!1,this.queueEvents=[],this.domDataKey="__AG_"+Math.random().toString(),this.propertyEventService=new ri,this.globalEventHandlerFactory=t=>(i,o)=>{if(!this.isAlive())return;let s=to.has(i);if(s&&!t||!s&&t)return;let r=(n,a)=>{let l=this.gridOptions[Ai.getCallbackForEvent(n)];typeof l=="function"&&this.frameworkOverrides.wrapOutgoing(()=>l(a))};if(this.gridReadyFired)r(i,o);else if(i==="gridReady"){r(i,o),this.gridReadyFired=!0;for(let n of this.queueEvents)r(n.eventName,n.event);this.queueEvents=[]}else this.queueEvents.push({eventName:i,event:o})}}wireBeans(t){this.gridOptions=t.gridOptions,this.eGridDiv=t.eGridDiv,this.validationService=t.validationService,this.environment=t.environment,this.api=t.gridApi,this.gridId=t.context.getGridId()}get gridOptionsContext(){return this.gridOptions.context}postConstruct(){let t=!this.get("suppressAsyncEvents");this.eventService.addGlobalListener(this.globalEventHandlerFactory().bind(this),t),this.eventService.addGlobalListener(this.globalEventHandlerFactory(!0).bind(this),!1),this.propertyEventService.setFrameworkOverrides(this.frameworkOverrides),this.addManagedEventListeners({gridOptionsChanged:({options:i})=>{this.updateGridOptions({options:i,force:!0,source:"gridOptionsUpdated"})}})}destroy(){super.destroy(),this.queueEvents=[]}get(t){return this.gridOptions[t]??xv[t]}getCallback(t){return this.mergeGridCommonParams(this.gridOptions[t])}exists(t){return M(this.gridOptions[t])}mergeGridCommonParams(t){return t&&(o=>{let s=o;return s.api=this.api,s.context=this.gridOptionsContext,t(s)})}updateGridOptions({options:t,force:i,source:o="api"}){let s={id:sl.changeSetId++,properties:[]},r=[];Object.entries(t).forEach(([n,a])=>{o==="api"&&wc[n]&&S(`${n} is an initial property and cannot be updated.`);let l=il(n,a),c=i||typeof l=="object"&&o==="api",d=this.gridOptions[n];if(c||d!==l){this.gridOptions[n]=l;let u={type:n,currentValue:l,previousValue:d,changeSet:s,source:o};r.push(u)}}),this.validationService?.processGridOptions(this.gridOptions),s.properties=r.map(n=>n.type),r.forEach(n=>{this.gridOptions.debug&&ot(`Updated property ${n.type} from`,n.previousValue," to ",n.currentValue),this.propertyEventService.dispatchEvent(n)})}addPropertyEventListener(t,i){this.propertyEventService.addEventListener(t,i)}removePropertyEventListener(t,i){this.propertyEventService.removeEventListener(t,i)}getDomDataKey(){return this.domDataKey}getGridCommonParams(){return{api:this.api,context:this.gridOptionsContext}}addGridCommonParams(t){let i=t;return i.api=this.api,i.context=this.gridOptionsContext,i}assertModuleRegistered(t,i){return Ue.__assertRegistered(t,i,this.gridId)}isModuleRegistered(t){return Ue.__isRegistered(t,this.gridId)}};ol.changeSetId=0;var Nv=ol,Hv=class extends b{constructor(){super(...arguments),this.beanName="headerPositionUtils"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService}findHeader(e,t){let i,o;if(Se(e.column)?i=this.visibleColsService.getGroupAtDirection(e.column,t):(o=`getCol${t}`,i=this.visibleColsService[o](e.column)),!i)return;let{headerRowIndex:s}=e;if(this.getHeaderRowType(s)!=="filter"){let a=[i];for(;i.getParent();)i=i.getParent(),a.push(i);i=a[a.length-1-s]}let{column:r,headerRowIndex:n}=this.getHeaderIndexToFocus(i,s);return{column:r,headerRowIndex:n}}getHeaderIndexToFocus(e,t){let i;if(Se(e)&&this.isAnyChildSpanningHeaderHeight(e)&&e.isPadding()){let o=e;i=o.getLeafColumns()[0];let s=i;for(;s!==o;)t++,s=s.getParent()}return{column:i||e,headerRowIndex:t}}isAnyChildSpanningHeaderHeight(e){return e?e.getLeafColumns().some(t=>t.isSpanHeaderHeight()):!1}getColumnVisibleParent(e,t){let i=this.getHeaderRowType(t),o=i==="filter",s=i==="column",r=o?e:e.getParent(),n=t-1,a=n;if(s&&this.isAnyChildSpanningHeaderHeight(e.getParent())){for(;r&&r.isPadding();)r=r.getParent(),n--;a=n,n<0&&(r=e,n=t,a=void 0)}return{column:r,headerRowIndex:n,headerRowIndexWithoutSpan:a}}getColumnVisibleChild(e,t,i="After"){let o=this.getHeaderRowType(t),s=e,r=t+1,n=r;if(o==="group"){let a=e.getDisplayedLeafColumns(),l=i==="After"?a[0]:$(a),c=[],d=l;for(;d.getParent()!==e;)d=d.getParent(),c.push(d);if(s=l,l.isSpanHeaderHeight())for(let u=c.length-1;u>=0;u--){let h=c[u];if(!h.isPadding()){s=h;break}r++}else s=$(c),s||(s=l)}return{column:s,headerRowIndex:r,headerRowIndexWithoutSpan:n}}getHeaderRowType(e){let t=this.ctrlsService.getHeaderRowContainerCtrl();if(t)return t.getRowType(e)}findColAtEdgeForHeaderRow(e,t){let i=this.visibleColsService.getAllCols(),o=i[t==="start"?0:i.length-1];if(!o)return;let r=this.ctrlsService.getHeaderRowContainerCtrl(o.getPinned())?.getRowType(e);if(r=="group"){let n=this.visibleColsService.getColGroupAtLevel(o,e);return{headerRowIndex:e,column:n}}return{headerRowIndex:r==null?-1:e,column:o}}},zv=class extends b{constructor(){super(...arguments),this.beanName="localeService"}getLocaleTextFunc(){let e=this.gos.getCallback("getLocaleText");if(e)return(i,o,s)=>e({key:i,defaultValue:o,variableValues:s});let t=this.gos.get("localeText");return(i,o,s)=>{let r=t&&t[i];if(r&&s&&s.length){let n=0;for(;!(n>=s.length||r.indexOf("${variable}")===-1);)r=r.replace("${variable}",s[n++])}return r??o}}},Bv=class extends b{constructor(){super(...arguments),this.beanName="apiEventService",this.syncEventListeners=new Map,this.asyncEventListeners=new Map,this.syncGlobalEventListeners=new Set,this.globalEventListenerPairs=new Map}postConstruct(){this.frameworkEventWrappingService=new xs(this.getFrameworkOverrides())}addEventListener(e,t){let i=this.frameworkEventWrappingService.wrap(e,t),o=so(this.gos)&&!to.has(e),s=o?this.asyncEventListeners:this.syncEventListeners;s.has(e)||s.set(e,new Set),s.get(e).add(i),this.eventService.addEventListener(e,i,o)}removeEventListener(e,t){let i=this.frameworkEventWrappingService.unwrap(e,t),s=!!this.asyncEventListeners.get(e)?.delete(i);s||this.syncEventListeners.get(e)?.delete(i),this.eventService.removeEventListener(e,i,s)}addGlobalListener(e){let t=this.frameworkEventWrappingService.wrapGlobal(e);if(so(this.gos)){let o=(r,n)=>{to.has(r)&&t(r,n)},s=(r,n)=>{to.has(r)||t(r,n)};this.globalEventListenerPairs.set(e,{syncListener:o,asyncListener:s}),this.eventService.addGlobalListener(o,!1),this.eventService.addGlobalListener(s,!0)}else this.syncGlobalEventListeners.add(t),this.eventService.addGlobalListener(t,!1)}removeGlobalListener(e){let t=this.frameworkEventWrappingService.unwrapGlobal(e);if(this.globalEventListenerPairs.has(t)){let{syncListener:o,asyncListener:s}=this.globalEventListenerPairs.get(t);this.eventService.removeGlobalListener(o,!1),this.eventService.removeGlobalListener(s,!0),this.globalEventListenerPairs.delete(e)}else this.syncGlobalEventListeners.delete(t),this.eventService.removeGlobalListener(t,!1)}destroyEventListeners(e,t){e.forEach((i,o)=>{i.forEach(s=>this.eventService.removeEventListener(o,s,t)),i.clear()}),e.clear()}destroyGlobalListeners(e,t){e.forEach(i=>this.eventService.removeGlobalListener(i,t)),e.clear()}destroy(){super.destroy(),this.destroyEventListeners(this.syncEventListeners,!1),this.destroyEventListeners(this.asyncEventListeners,!0),this.destroyGlobalListeners(this.syncGlobalEventListeners,!1),this.globalEventListenerPairs.forEach(({syncListener:e,asyncListener:t})=>{this.eventService.removeGlobalListener(e,!1),this.eventService.removeGlobalListener(t,!0)}),this.globalEventListenerPairs.clear()}},Vv=class extends b{constructor(){super(...arguments),this.beanName="pageBoundsListener"}wireBeans(e){this.rowModel=e.rowModel,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.addManagedEventListeners({modelUpdated:this.onModelUpdated.bind(this),recalculateRowBounds:this.calculatePages.bind(this)}),this.onModelUpdated()}onModelUpdated(e){this.calculatePages(),this.eventService.dispatchEvent({type:"paginationChanged",animate:e?.animate??!1,newData:e?.newData??!1,newPage:e?.newPage??!1,newPageSize:e?.newPageSize??!1,keepRenderedRows:e?.keepRenderedRows??!1})}calculatePages(){this.paginationService?this.paginationService.calculatePages():this.pageBoundsService.calculateBounds(0,this.rowModel.getRowCount()-1)}},Wv=class extends b{constructor(){super(...arguments),this.beanName="pageBoundsService",this.pixelOffset=0}wireBeans(e){this.rowModel=e.rowModel}getFirstRow(){return this.topRowBounds?this.topRowBounds.rowIndex:-1}getLastRow(){return this.bottomRowBounds?this.bottomRowBounds.rowIndex:-1}getCurrentPageHeight(){return K(this.topRowBounds)||K(this.bottomRowBounds)?0:Math.max(this.bottomRowBounds.rowTop+this.bottomRowBounds.rowHeight-this.topRowBounds.rowTop,0)}getCurrentPagePixelRange(){let e=this.topRowBounds?this.topRowBounds.rowTop:0,t=this.bottomRowBounds?this.bottomRowBounds.rowTop+this.bottomRowBounds.rowHeight:0;return{pageFirstPixel:e,pageLastPixel:t}}calculateBounds(e,t){this.topRowBounds=this.rowModel.getRowBounds(e),this.topRowBounds&&(this.topRowBounds.rowIndex=e),this.bottomRowBounds=this.rowModel.getRowBounds(t),this.bottomRowBounds&&(this.bottomRowBounds.rowIndex=t),this.calculatePixelOffset()}getPixelOffset(){return this.pixelOffset}calculatePixelOffset(){let e=M(this.topRowBounds)?this.topRowBounds.rowTop:0;this.pixelOffset!==e&&(this.pixelOffset=e,this.eventService.dispatchEvent({type:"paginationPixelOffsetChanged"}))}},Uv=class extends b{constructor(){super(),this.beanName="ariaAnnouncementService",this.descriptionContainer=null,this.pendingAnnouncements=new Map,this.updateAnnouncement=xe(this.updateAnnouncement.bind(this),200)}wireBeans(e){this.eGridDiv=e.eGridDiv}postConstruct(){let e=ve(this.gos),t=this.descriptionContainer=e.createElement("div");t.classList.add("ag-aria-description-container"),Pn(t,"polite"),Rc(t,"additions text"),Sc(t,!0),this.eGridDiv.appendChild(t)}announceValue(e,t){this.pendingAnnouncements.set(t,e),this.updateAnnouncement()}updateAnnouncement(){if(!this.descriptionContainer)return;let e=Array.from(this.pendingAnnouncements.values()).join(". ");this.pendingAnnouncements.clear(),this.descriptionContainer.textContent="",setTimeout(()=>{this.isAlive()&&this.descriptionContainer&&(this.descriptionContainer.textContent=e)},50)}destroy(){super.destroy();let{descriptionContainer:e}=this;e&&(Be(e),e.parentElement&&e.parentElement.removeChild(e)),this.descriptionContainer=null,this.eGridDiv=null,this.pendingAnnouncements.clear()}},_v=class extends b{constructor(){super(...arguments),this.beanName="columnAnimationService",this.executeNextFuncs=[],this.executeLaterFuncs=[],this.active=!1,this.activeNext=!1,this.suppressAnimation=!1,this.animationThreadCount=0}wireBeans(e){this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady(this,e=>this.gridBodyCtrl=e.gridBodyCtrl)}isActive(){return this.active&&!this.suppressAnimation}setSuppressAnimation(e){this.suppressAnimation=e}start(){this.active||this.gos.get("suppressColumnMoveAnimation")||this.gos.get("enableRtl")||(this.ensureAnimationCssClassPresent(),this.active=!0,this.activeNext=!0)}finish(){this.active&&this.flush(()=>this.activeNext=!1,()=>this.active=!1)}executeNextVMTurn(e){this.activeNext?this.executeNextFuncs.push(e):e()}executeLaterVMTurn(e){this.active?this.executeLaterFuncs.push(e):e()}ensureAnimationCssClassPresent(){this.animationThreadCount++;let e=this.animationThreadCount;this.gridBodyCtrl.setColumnMovingCss(!0),this.executeLaterFuncs.push(()=>{this.animationThreadCount===e&&this.gridBodyCtrl.setColumnMovingCss(!1)})}flush(e,t){if(this.executeNextFuncs.length===0&&this.executeLaterFuncs.length===0){e(),t();return}let i=o=>{for(;o.length;){let s=o.pop();s&&s()}};this.getFrameworkOverrides().wrapIncoming(()=>{window.setTimeout(()=>{e(),i(this.executeNextFuncs)},0),window.setTimeout(()=>{t(),i(this.executeLaterFuncs)},200)})}},jv=class extends b{constructor(){super(...arguments),this.beanName="columnHoverService"}setMouseOver(e){this.updateState(e)}clearMouseOver(){this.updateState(null)}isHovered(e){return!!this.selectedColumns&&this.selectedColumns.indexOf(e)>=0}updateState(e){this.selectedColumns=e,this.eventService.dispatchEvent({type:"columnHoverChanged"})}},Kv=class extends b{constructor(){super(...arguments),this.beanName="overlayService",this.state=0,this.showInitialOverlay=!0,this.wrapperPadding=0}wireBeans(e){this.userComponentFactory=e.userComponentFactory,this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.ctrlsService=e.ctrlsService}postConstruct(){this.isClientSide=de(this.gos);let e=()=>this.updateOverlayVisibility();this.addManagedEventListeners({newColumnsLoaded:e,rowDataUpdated:e,gridSizeChanged:this.onGridSizeChanged.bind(this),rowCountReady:()=>{this.showInitialOverlay=!1,this.updateOverlayVisibility()}}),this.addManagedPropertyListener("loading",e)}setOverlayWrapperComp(e){this.overlayWrapperComp=e,this.updateOverlayVisibility()}isVisible(){return this.state!==0&&!!this.overlayWrapperComp}isExclusive(){return this.state===1&&!!this.overlayWrapperComp}getOverlayWrapper(){return this.overlayWrapperComp}showLoadingOverlay(){this.showInitialOverlay=!1;let e=this.gos.get("loading");!e&&(e!==void 0||this.gos.get("suppressLoadingOverlay"))||this.doShowLoadingOverlay()}showNoRowsOverlay(){this.showInitialOverlay=!1,!(this.gos.get("loading")||this.gos.get("suppressNoRowsOverlay"))&&this.doShowNoRowsOverlay()}hideOverlay(){if(this.showInitialOverlay=!1,this.gos.get("loading")){S("Since v32, `api.hideOverlay()` does not hide the loading overlay when `loading=true`. Set `loading=false` instead.");return}this.doHideOverlay()}updateOverlayVisibility(){if(!this.overlayWrapperComp){this.state=0;return}let e=this.gos.get("loading");this.showInitialOverlay&&e===void 0&&!this.gos.get("suppressLoadingOverlay")&&(e=!this.gos.get("columnDefs")||!this.columnModel.isReady()||!this.gos.get("rowData")&&this.isClientSide),e?this.state!==1&&this.doShowLoadingOverlay():(this.showInitialOverlay=!1,this.rowModel.isEmpty()&&!this.gos.get("suppressNoRowsOverlay")&&this.isClientSide?this.state!==2&&this.doShowNoRowsOverlay():this.state!==0&&this.doHideOverlay())}doShowLoadingOverlay(){this.overlayWrapperComp&&(this.state=1,this.showOverlay(this.userComponentFactory.getLoadingOverlayCompDetails({}),"ag-overlay-loading-wrapper","loadingOverlayComponentParams"),this.updateExclusive())}doShowNoRowsOverlay(){this.overlayWrapperComp&&(this.state=2,this.showOverlay(this.userComponentFactory.getNoRowsOverlayCompDetails({}),"ag-overlay-no-rows-wrapper","noRowsOverlayComponentParams"),this.updateExclusive())}doHideOverlay(){this.overlayWrapperComp&&(this.state=0,this.overlayWrapperComp.hideOverlay(),this.updateExclusive())}showOverlay(e,t,i){let o=e.newAgStackInstance();this.overlayWrapperComp?.showOverlay(o,t,this.isExclusive(),i),this.refreshWrapperPadding()}updateExclusive(){let e=this.exclusive;this.exclusive=this.isExclusive(),this.exclusive!==e&&this.eventService.dispatchEvent({type:"overlayExclusiveChanged"})}onGridSizeChanged(){this.refreshWrapperPadding()}refreshWrapperPadding(){if(!this.overlayWrapperComp)return;let e=0;this.state===2?e=this.ctrlsService.get("gridHeaderCtrl")?.getHeaderHeight()||0:this.wrapperPadding!==0&&(e=0),this.wrapperPadding!==e&&(this.wrapperPadding=e,this.overlayWrapperComp.updateOverlayWrapperPaddingTop(e))}},Yv=class extends b{constructor(){super(...arguments),this.beanName="rowCssClassCalculator"}wireBeans(e){this.stylingService=e.stylingService}getInitialRowClasses(e){let t=[];return M(e.extraCssClass)&&t.push(e.extraCssClass),t.push("ag-row"),t.push(e.rowFocused?"ag-row-focus":"ag-row-no-focus"),e.fadeRowIn&&t.push("ag-opacity-zero"),t.push(e.rowIsEven?"ag-row-even":"ag-row-odd"),e.rowNode.isRowPinned()&&t.push("ag-row-pinned"),e.rowNode.isSelected()&&t.push("ag-row-selected"),e.rowNode.footer&&t.push("ag-row-footer"),t.push("ag-row-level-"+e.rowLevel),e.rowNode.stub&&t.push("ag-row-loading"),e.fullWidthRow&&t.push("ag-full-width-row"),e.expandable&&(t.push("ag-row-group"),t.push(e.rowNode.expanded?"ag-row-group-expanded":"ag-row-group-contracted")),e.rowNode.dragging&&t.push("ag-row-dragging"),Gr(t,this.processClassesFromGridOptions(e.rowNode)),Gr(t,this.preProcessRowClassRules(e.rowNode)),t.push(e.printLayout?"ag-row-position-relative":"ag-row-position-absolute"),e.firstRowOnPage&&t.push("ag-row-first"),e.lastRowOnPage&&t.push("ag-row-last"),e.fullWidthRow&&(e.pinned==="left"&&t.push("ag-cell-last-left-pinned"),e.pinned==="right"&&t.push("ag-cell-first-right-pinned")),t}processClassesFromGridOptions(e){let t=[],i=r=>{typeof r=="string"?t.push(r):Array.isArray(r)&&r.forEach(n=>t.push(n))},o=this.gos.get("rowClass");if(o){if(typeof o=="function")return S("rowClass should not be a function, please use getRowClass instead"),[];i(o)}let s=this.gos.getCallback("getRowClass");if(s){let r={data:e.data,node:e,rowIndex:e.rowIndex},n=s(r);i(n)}return t}preProcessRowClassRules(e){let t=[];return this.processRowClassRules(e,i=>{t.push(i)},()=>{}),t}processRowClassRules(e,t,i){let o=this.gos.addGridCommonParams({data:e.data,node:e,rowIndex:e.rowIndex});this.stylingService.processClassRules(void 0,this.gos.get("rowClassRules"),o,t,i)}calculateRowLevel(e){return e.group?e.level:e.parent?e.parent.level+1:0}},$v=class extends b{constructor(){super(...arguments),this.beanName="rowContainerHeightService",this.scrollY=0,this.uiBodyHeight=0}wireBeans(e){this.ctrlsService=e.ctrlsService}postConstruct(){this.addManagedEventListeners({bodyHeightChanged:this.updateOffset.bind(this)}),this.maxDivHeight=Nc(),this.gos.get("debug")&&ot("RowContainerHeightService - maxDivHeight = "+this.maxDivHeight)}isStretching(){return this.stretching}getDivStretchOffset(){return this.divStretchOffset}updateOffset(){if(!this.stretching)return;let t=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition().top,i=this.getUiBodyHeight();(t!==this.scrollY||i!==this.uiBodyHeight)&&(this.scrollY=t,this.uiBodyHeight=i,this.calculateOffset())}calculateOffset(){this.setUiContainerHeight(this.maxDivHeight),this.pixelsToShave=this.modelHeight-this.uiContainerHeight,this.maxScrollY=this.uiContainerHeight-this.uiBodyHeight;let e=this.scrollY/this.maxScrollY,t=e*this.pixelsToShave;this.gos.get("debug")&&ot(`RowContainerHeightService - Div Stretch Offset = ${t} (${this.pixelsToShave} * ${e})`),this.setDivStretchOffset(t)}setUiContainerHeight(e){e!==this.uiContainerHeight&&(this.uiContainerHeight=e,this.eventService.dispatchEvent({type:"rowContainerHeightChanged"}))}clearOffset(){this.setUiContainerHeight(this.modelHeight),this.pixelsToShave=0,this.setDivStretchOffset(0)}setDivStretchOffset(e){let t=typeof e=="number"?Math.floor(e):null;this.divStretchOffset!==t&&(this.divStretchOffset=t,this.eventService.dispatchEvent({type:"heightScaleChanged"}))}setModelHeight(e){this.modelHeight=e,this.stretching=e!=null&&this.maxDivHeight>0&&e>this.maxDivHeight,this.stretching?this.calculateOffset():this.clearOffset()}getUiContainerHeight(){return this.uiContainerHeight}getRealPixelPosition(e){return e-this.divStretchOffset}getUiBodyHeight(){let t=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition();return t.bottom-t.top}getScrollPositionForPixel(e){if(this.pixelsToShave<=0)return e;let t=this.modelHeight-this.getUiBodyHeight(),i=e/t;return this.maxScrollY*i}},Qv=class extends b{constructor(){super(...arguments),this.beanName="rowNodeSorter"}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.showRowGroupColsService=e.showRowGroupColsService}postConstruct(){this.isAccentedSort=this.gos.get("accentedSort"),this.primaryColumnsSortGroups=Qe(this.gos),this.addManagedPropertyListener("accentedSort",e=>this.isAccentedSort=e.currentValue),this.addManagedPropertyListener("autoGroupColumnDef",()=>this.primaryColumnsSortGroups=Qe(this.gos))}doFullSort(e,t){let i=(s,r)=>({currentPos:r,rowNode:s}),o=e.map(i);return o.sort(this.compareRowNodes.bind(this,t)),o.map(s=>s.rowNode)}compareRowNodes(e,t,i){let o=t.rowNode,s=i.rowNode;for(let r=0,n=e.length;r<n;r++){let a=e[r],l=a.sort==="desc",c=this.getValue(o,a.column),d=this.getValue(s,a.column),u,h=this.getComparator(a,o);if(h?u=h(c,d,o,s,l):u=Il(c,d,this.isAccentedSort),!isNaN(u)&&u!==0)return a.sort==="asc"?u:u*-1}return t.currentPos-i.currentPos}getComparator(e,t){let i=e.column,o=i.getColDef().comparator;if(o!=null)return o;if(!i.getColDef().showRowGroup)return;let s=!t.group&&i.getColDef().field;if(!s)return;let r=this.columnModel.getColDefCol(s);if(r)return r.getColDef().comparator}getValue(e,t){if(!this.primaryColumnsSortGroups)return this.valueService.getValue(t,e,!1,!1);if(e.rowGroupColumn===t){if(bs(this.gos,this.columnModel.isPivotActive())){let r=e.allLeafChildren?.[0];return r?this.valueService.getValue(t,r,!1,!1):void 0}let s=this.showRowGroupColsService?.getShowRowGroupCol(t.getId());return s?e.groupData?.[s.getId()]:void 0}if(!(e.group&&t.getColDef().showRowGroup))return this.valueService.getValue(t,e,!1,!1)}},zi=class{constructor(e,t){this.active=!0,this.nodeIdsToColumns={},this.mapToItems={},this.keepingColumns=e,this.pathRoot={rowNode:t,children:null},this.mapToItems[t.id]=this.pathRoot}setInactive(){this.active=!1}isActive(){return this.active}depthFirstSearchChangedPath(e,t){if(e.children)for(let i=0;i<e.children.length;i++)this.depthFirstSearchChangedPath(e.children[i],t);t(e.rowNode)}depthFirstSearchEverything(e,t,i){if(e.childrenAfterGroup)for(let o=0;o<e.childrenAfterGroup.length;o++){let s=e.childrenAfterGroup[o];s.childrenAfterGroup?this.depthFirstSearchEverything(e.childrenAfterGroup[o],t,i):i&&t(s)}t(e)}forEachChangedNodeDepthFirst(e,t=!1,i=!1){this.active&&!i?this.depthFirstSearchChangedPath(this.pathRoot,e):this.depthFirstSearchEverything(this.pathRoot.rowNode,e,t)}executeFromRootNode(e){e(this.pathRoot.rowNode)}createPathItems(e){let t=e,i=0;for(;!this.mapToItems[t.id];){let o={rowNode:t,children:null};this.mapToItems[t.id]=o,i++,t=t.parent}return i}populateColumnsMap(e,t){if(!this.keepingColumns||!t)return;let i=e;for(;i;)this.nodeIdsToColumns[i.id]||(this.nodeIdsToColumns[i.id]={}),t.forEach(o=>this.nodeIdsToColumns[i.id][o.getId()]=!0),i=i.parent}linkPathItems(e,t){let i=e;for(let o=0;o<t;o++){let s=this.mapToItems[i.id],r=this.mapToItems[i.parent.id];r.children||(r.children=[]),r.children.push(s),i=i.parent}}addParentNode(e,t){if(!e||e.isRowPinned())return;let i=this.createPathItems(e);this.linkPathItems(e,i),this.populateColumnsMap(e,t)}canSkip(e){return this.active&&!this.mapToItems[e.id]}getValueColumnsForNode(e,t){if(!this.keepingColumns)return t;let i=this.nodeIdsToColumns[e.id];return t.filter(s=>i[s.getId()])}getNotValueColumnsForNode(e,t){if(!this.keepingColumns)return null;let i=this.nodeIdsToColumns[e.id];return t.filter(s=>!i[s.getId()])}},rl=class extends b{constructor(){super(...arguments),this.beanName="selectionService",this.selectedNodes=new Map,this.selectionCtx=new Xg,this.rowSelectionMode=void 0}wireBeans(e){this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService}postConstruct(){let{gos:e,rowModel:t,onRowSelected:i}=this;this.selectionCtx.init(t),this.rowSelectionMode=no(e),this.groupSelectsChildren=Dt(e),this.addManagedPropertyListeners(["groupSelectsChildren","rowSelection"],()=>{let o=Dt(e),s=no(e);(o!==this.groupSelectsChildren||s!==this.rowSelectionMode)&&(this.groupSelectsChildren=o,this.rowSelectionMode=s,this.deselectAllRowNodes({source:"api"}))}),this.addManagedEventListeners({rowSelected:i.bind(this)})}destroy(){super.destroy(),this.resetNodes(),this.selectionCtx.reset()}isMultiSelect(){return this.rowSelectionMode==="multiRow"}overrideSelectionValue(e,t){if(!Lv(t))return e;let i=this.selectionCtx.getRoot();return i?i.isSelected()??!1:!0}setNodesSelected(e){let{newValue:t,clearSelection:i,suppressFinishActions:o,rangeSelect:s,nodes:r,event:n,source:a}=e;if(r.length===0)return 0;if(r.length>1&&!this.isMultiSelect())return S("cannot multi select unless selection mode is 'multiRow'"),0;let l=this.groupSelectsChildren&&e.groupSelectsFiltered===!0,c=r.map(u=>u.footer?u.sibling:u);if(s){if(c.length>1)return S("cannot range select while selecting multiple rows"),0;let u=c[0],h=this.overrideSelectionValue(t,a);if(this.isMultiSelect()){if(this.selectionCtx.isInRange(u)){let g=this.selectionCtx.truncate(u);return h&&this.selectRange(g.discard,!1,a),this.selectRange(g.keep,h,a)}else if(this.selectionCtx.getRoot()!==u){let m=this.selectionCtx.extend(u,this.groupSelectsChildren);return h&&this.selectRange(m.discard,!1,a),this.selectRange(m.keep,h,a)}}}o||this.selectionCtx.setRoot(c[0]);let d=0;for(let u=0;u<c.length;u++){let h=c[u];l&&h.group||h.selectThisNode(t,n,a)&&d++,this.groupSelectsChildren&&h.childrenAfterGroup?.length&&(d+=this.selectChildren(h,t,l,a))}return o||(t&&(i||!this.isMultiSelect())&&(d+=this.clearOtherNodes(c[0],a)),d>0&&(this.updateGroupsFromChildrenSelections(a),this.dispatchSelectionChanged(a))),d}selectRange(e,t,i){let o=0;return e.forEach(s=>{if(s.group&&this.groupSelectsChildren)return;s.selectThisNode(t,void 0,i)&&o++}),o>0&&(this.updateGroupsFromChildrenSelections(i),this.dispatchSelectionChanged(i)),o}selectChildren(e,t,i,o){let s=i?e.childrenAfterAggFilter:e.childrenAfterGroup;return K(s)?0:this.setNodesSelected({newValue:t,clearSelection:!1,suppressFinishActions:!0,groupSelectsFiltered:i,source:o,nodes:s})}getSelectedNodes(){let e=[];return this.selectedNodes.forEach(t=>{t&&e.push(t)}),e}getSelectedRows(){let e=[];return this.selectedNodes.forEach(t=>{t&&t.data&&e.push(t.data)}),e}getSelectionCount(){return this.selectedNodes.size}filterFromSelection(e){let t=new Map;this.selectedNodes.forEach((i,o)=>{i&&e(i)&&t.set(o,i)}),this.selectedNodes=t}updateGroupsFromChildrenSelections(e,t){if(!this.groupSelectsChildren||!de(this.gos))return!1;let o=this.rowModel.getRootNode();t||(t=new zi(!0,o),t.setInactive());let s=!1;return t.forEachChangedNodeDepthFirst(r=>{if(r!==o){let n=r.calculateSelectedFromChildren();s=r.selectThisNode(n===null?!1:n,void 0,e)||s}}),s}clearOtherNodes(e,t){let i=new Map,o=0;return this.selectedNodes.forEach(s=>{if(s&&s.id!==e.id){let r=this.selectedNodes.get(s.id);o+=r.setSelectedParams({newValue:!1,clearSelection:!1,suppressFinishActions:!0,source:t}),this.groupSelectsChildren&&s.parent&&i.set(s.parent.id,s.parent)}}),i.forEach(s=>{let r=s.calculateSelectedFromChildren();s.selectThisNode(r===null?!1:r,void 0,t)}),o}onRowSelected(e){let t=e.node;this.groupSelectsChildren&&t.group||(t.isSelected()?this.selectedNodes.set(t.id,t):this.selectedNodes.delete(t.id))}syncInRowNode(e,t){this.syncInOldRowNode(e,t),this.syncInNewRowNode(e)}syncInOldRowNode(e,t){if(M(t)&&e.id!==t.id&&t){let o=t.id;this.selectedNodes.get(o)==e&&this.selectedNodes.set(t.id,t)}}syncInNewRowNode(e){this.selectedNodes.has(e.id)?(e.setSelectedInitialValue(!0),this.selectedNodes.set(e.id,e)):e.setSelectedInitialValue(!1)}reset(e){let t=this.getSelectionCount();this.resetNodes(),t&&this.dispatchSelectionChanged(e)}resetNodes(){this.selectedNodes?.clear()}getBestCostNodeSelection(){if(!de(this.gos))return;let t=this.rowModel.getTopLevelNodes();if(t===null)return;let i=[];function o(s){for(let r=0,n=s.length;r<n;r++){let a=s[r];if(a.isSelected())i.push(a);else{let l=a;l.group&&l.children&&o(l.children)}}}return o(t),i}isEmpty(){let e=0;return this.selectedNodes.forEach(t=>{t&&e++}),e===0}deselectAllRowNodes(e){let t=n=>n.selectThisNode(!1,void 0,o),i=de(this.gos),{source:o,justFiltered:s,justCurrentPage:r}=e;if(r||s){if(!i){Q("selecting just filtered only works when gridOptions.rowModelType='clientSide'");return}this.getNodesToSelect(s,r).forEach(t)}else this.selectedNodes.forEach(n=>{n&&t(n)}),this.reset(o);this.selectionCtx.reset(),i&&this.groupSelectsChildren&&this.updateGroupsFromChildrenSelections(o),this.dispatchSelectionChanged(o)}getSelectedCounts(e,t){let i=0,o=0,s=r=>{this.groupSelectsChildren&&r.group||(r.isSelected()?i++:r.selectable&&o++)};return this.getNodesToSelect(e,t).forEach(s),{selectedCount:i,notSelectedCount:o}}getSelectAllState(e,t){let{selectedCount:i,notSelectedCount:o}=this.getSelectedCounts(e,t);return i===0&&o===0?!1:i>0&&o>0?null:i>0}hasNodesToSelect(e=!1,t=!1){return this.getNodesToSelect(e,t).filter(i=>i.selectable).length>0}getNodesToSelect(e=!1,t=!1){this.validateSelectAllType();let i=[];if(t)return this.forEachNodeOnPage(s=>{if(!s.group){i.push(s);return}if(!s.expanded){let r=n=>{i.push(n),n.childrenAfterFilter?.length&&n.childrenAfterFilter.forEach(r)};r(s);return}this.groupSelectsChildren||i.push(s)}),i;let o=this.rowModel;return e?(o.forEachNodeAfterFilter(s=>{i.push(s)}),i):(o.forEachNode(s=>{i.push(s)}),i)}forEachNodeOnPage(e){let t=this.pageBoundsService.getFirstRow(),i=this.pageBoundsService.getLastRow();for(let o=t;o<=i;o++){let s=this.rowModel.getRow(o);s&&e(s)}}selectAllRowNodes(e){if(Nl(this.gos)&&!fn(this.gos))return S("cannot multi select unless selection mode is 'multiRow'");this.validateSelectAllType();let{source:t,justFiltered:i,justCurrentPage:o}=e,s=this.getNodesToSelect(i,o);s.forEach(r=>r.selectThisNode(!0,void 0,t)),this.selectionCtx.setRoot(s[0]??null),this.selectionCtx.setEndRange($(s)??null),de(this.gos)&&this.groupSelectsChildren&&this.updateGroupsFromChildrenSelections(t),this.dispatchSelectionChanged(t)}getSelectionState(){let e=[];return this.selectedNodes.forEach(t=>{t?.id&&e.push(t.id)}),e.length?e:null}setSelectionState(e,t){if(!Array.isArray(e))return Q("Invalid selection state. When using client-side row model, the state must conform to `string[]`.");let i=new Set(e),o=[];this.rowModel.forEachNode(s=>{i.has(s.id)&&o.push(s)}),this.setNodesSelected({newValue:!0,nodes:o,source:t})}dispatchSelectionChanged(e){this.eventService.dispatchEvent({type:"selectionChanged",source:e})}validateSelectAllType(){if(!de(this.gos))throw new Error(`selectAll only available when rowModelType='clientSide', ie not ${this.rowModel.getType()}`)}},qv=class extends b{constructor(){super(...arguments),this.beanName="selectableService"}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){this.addManagedPropertyListeners(["isRowSelectable","rowSelection"],()=>this.updateSelectable())}updateSelectableAfterGrouping(){this.updateSelectable(!0)}updateSelectable(e=!1){let{gos:t}=this,i=oo(t),o=Ss(t);if(!i||!o)return;let s=Dt(t),r=de(t)&&s,n=[],a=l=>{if(e&&!l.group)return;if(r&&l.group){let d=l.childrenAfterGroup.some(u=>u.selectable===!0);l.setRowSelectable(d,!0);return}let c=o?.(l)??!0;l.setRowSelectable(c,!0),!c&&l.isSelected()&&n.push(l)};if(r){let l=this.rowModel;new zi(!1,l.getRootNode()).forEachChangedNodeDepthFirst(a,!0,!0)}else this.rowModel.forEachNode(a);n.length&&this.selectionService.setNodesSelected({nodes:n,newValue:!1,source:"selectableChanged"}),r&&this.selectionService instanceof rl&&this.selectionService.updateGroupsFromChildrenSelections("selectableChanged")}},ln=["asc","desc",null],Jv=class extends b{constructor(){super(...arguments),this.beanName="sortController"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.showRowGroupColsService=e.showRowGroupColsService}progressSort(e,t,i){let o=this.getNextSortDirection(e);this.setSortForColumn(e,o,t,i)}setSortForColumn(e,t,i,o){t!=="asc"&&t!=="desc"&&(t=null);let s=Qe(this.gos),r=[e];if(s&&e.getColDef().showRowGroup){let c=this.funcColsService.getSourceColumnsForGroupColumn(e)?.filter(d=>d.isSortable());c&&(r=[e,...c])}r.forEach(l=>l.setSort(t,o));let n=(i||this.gos.get("alwaysMultiSort"))&&!this.gos.get("suppressMultiSort"),a=[];if(!n){let l=this.clearSortBarTheseColumns(r,o);a.push(...l)}this.updateSortIndex(e),a.push(...r),this.dispatchSortChangedEvents(o,a)}updateSortIndex(e){let t=Qe(this.gos),i=this.showRowGroupColsService?.getShowRowGroupCol(e.getId()),o=t&&i||e,s=this.getColumnsWithSortingOrdered();this.columnModel.getAllCols().forEach(a=>a.setSortIndex(null));let r=s.filter(a=>t&&a.getColDef().showRowGroup?!1:a!==o);(o.getSort()?[...r,o]:r).forEach((a,l)=>{a.setSortIndex(l)})}onSortChanged(e,t){this.dispatchSortChangedEvents(e,t)}isSortActive(){let t=this.columnModel.getAllCols().filter(i=>!!i.getSort());return t&&t.length>0}dispatchSortChangedEvents(e,t){let i={type:"sortChanged",source:e};t&&(i.columns=t),this.eventService.dispatchEvent(i)}clearSortBarTheseColumns(e,t){let i=[];return this.columnModel.getAllCols().forEach(o=>{e.includes(o)||(o.getSort()&&i.push(o),o.setSort(void 0,t))}),i}getNextSortDirection(e){let t;if(e.getColDef().sortingOrder?t=e.getColDef().sortingOrder:this.gos.get("sortingOrder")?t=this.gos.get("sortingOrder"):t=ln,!Array.isArray(t)||t.length<=0)return S(`sortingOrder must be an array with at least one element, currently it's ${t}`),null;let i=t.indexOf(e.getSort()),o=i<0,s=i==t.length-1,r;return o||s?r=t[0]:r=t[i+1],ln.indexOf(r)<0?(S("invalid sort type ",r),null):r}getIndexedSortMap(){let e=this.columnModel.getAllCols().filter(r=>!!r.getSort());if(this.columnModel.isPivotMode()){let r=Qe(this.gos);e=e.filter(n=>{let a=!!n.getAggFunc(),l=!n.isPrimary(),c=r?this.showRowGroupColsService?.getShowRowGroupCol(n.getId()):n.getColDef().showRowGroup;return a||l||c})}let t=this.funcColsService.getRowGroupColumns().filter(r=>!!r.getSort()),i={};e.forEach((r,n)=>i[r.getId()]=n),e.sort((r,n)=>{let a=r.getSortIndex(),l=n.getSortIndex();if(a!=null&&l!=null)return a-l;if(a==null&&l==null){let c=i[r.getId()],d=i[n.getId()];return c>d?1:-1}else return l==null?-1:1});let o=Qe(this.gos)&&!!t.length;o&&(e=[...new Set(e.map(r=>this.showRowGroupColsService?.getShowRowGroupCol(r.getId())??r))]);let s=new Map;return e.forEach((r,n)=>s.set(r,n)),o&&t.forEach(r=>{let n=this.showRowGroupColsService.getShowRowGroupCol(r.getId());s.set(r,s.get(n))}),s}getColumnsWithSortingOrdered(){return[...this.getIndexedSortMap().entries()].sort(([e,t],[i,o])=>t-o).map(([e])=>e)}getSortModel(){return this.getColumnsWithSortingOrdered().filter(e=>e.getSort()).map(e=>({sort:e.getSort(),colId:e.getId()}))}getSortOptions(){return this.getColumnsWithSortingOrdered().filter(e=>e.getSort()).map(e=>({sort:e.getSort(),column:e}))}canColumnDisplayMixedSort(e){let t=Qe(this.gos),i=!!e.getColDef().showRowGroup;return t&&i}getDisplaySortForColumn(e){let t=this.funcColsService.getSourceColumnsForGroupColumn(e);if(!this.canColumnDisplayMixedSort(e)||!t?.length)return e.getSort();let o=e.getColDef().field!=null||!!e.getColDef().valueGetter?[e,...t]:t,s=o[0].getSort();return o.every(n=>n.getSort()==s)?s:"mixed"}getDisplaySortIndexForColumn(e){return this.getIndexedSortMap().get(e)}},Xv=class extends b{constructor(){super(...arguments),this.beanName="syncService",this.waitingForColumns=!1}wireBeans(e){this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.rowModel=e.rowModel}postConstruct(){this.addManagedPropertyListener("columnDefs",e=>this.setColumnDefs(e))}start(){this.ctrlsService.whenReady(this,()=>{let e=this.gos.get("columnDefs");e?this.setColumnsAndData(e):this.waitingForColumns=!0,this.gridReady()})}setColumnsAndData(e){this.columnModel.setColumnDefs(e??[],"gridInitializing"),this.rowModel.start()}gridReady(){this.eventService.dispatchEvent({type:"gridReady"});let e=this.gos.isModuleRegistered("@ag-grid-enterprise/core");this.gos.get("debug")&&ot(`initialised successfully, enterprise = ${e}`)}setColumnDefs(e){let t=this.gos.get("columnDefs");if(t){if(this.waitingForColumns){this.waitingForColumns=!1,this.setColumnsAndData(t);return}this.columnModel.setColumnDefs(t,It(e.source))}}},Zv="paste",eC=class extends b{constructor(){super(...arguments),this.beanName="changeDetectionService"}wireBeans(e){this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer}postConstruct(){de(this.gos)&&(this.clientSideRowModel=this.rowModel),this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this)})}onCellValueChanged(e){e.source!==Zv&&this.doChangeDetection(e.node,e.column)}doChangeDetection(e,t){if(this.gos.get("suppressChangeDetection"))return;let i=[e];if(this.clientSideRowModel&&!e.isRowPinned()){let o=this.gos.get("aggregateOnlyChangedColumns"),s=new zi(o,this.clientSideRowModel.getRootNode());s.addParentNode(e.parent,[t]),this.clientSideRowModel.doAggregate(s),s.forEachChangedNodeDepthFirst(r=>{i.push(r)})}this.rowRenderer.refreshCells({rowNodes:i})}},tC=class extends b{constructor(){super(...arguments),this.beanName="expressionService",this.expressionToFunctionCache={}}evaluate(e,t){if(typeof e=="string")return this.evaluateExpression(e,t);Q("value should be either a string or a function",e)}evaluateExpression(e,t){try{return this.createExpressionFunction(e)(t.value,t.context,t.oldValue,t.newValue,t.value,t.node,t.data,t.colDef,t.rowIndex,t.api,t.getValue,t.column,t.columnGroup)}catch(i){return ot("Processing of the expression failed"),ot("Expression = ",e),ot("Params = ",t),ot("Exception = ",i),null}}createExpressionFunction(e){if(this.expressionToFunctionCache[e])return this.expressionToFunctionCache[e];let t=this.createFunctionBody(e),i=new Function("x, ctx, oldValue, newValue, value, node, data, colDef, rowIndex, api, getValue, column, columnGroup",t);return this.expressionToFunctionCache[e]=i,i}createFunctionBody(e){return e.indexOf("return")>=0?e:"return "+e+";"}},iC=class extends b{constructor(){super(...arguments),this.beanName="valueCache",this.cacheVersion=0}postConstruct(){this.active=this.gos.get("valueCache"),this.neverExpires=this.gos.get("valueCacheNeverExpires")}onDataChanged(){this.neverExpires||this.expire()}expire(){this.cacheVersion++}setValue(e,t,i){this.active&&(e.__cacheVersion!==this.cacheVersion&&(e.__cacheVersion=this.cacheVersion,e.__cacheData={}),e.__cacheData[t]=i)}getValue(e,t){if(!(!this.active||e.__cacheVersion!==this.cacheVersion))return e.__cacheData[t]}},oC=class extends b{constructor(){super(...arguments),this.beanName="valueService",this.initialised=!1,this.isSsrm=!1}wireBeans(e){this.expressionService=e.expressionService,this.columnModel=e.columnModel,this.valueCache=e.valueCache,this.dataTypeService=e.dataTypeService}postConstruct(){this.initialised||this.init()}init(){this.isSsrm=mt(this.gos),this.cellExpressions=this.gos.get("enableCellExpressions"),this.isTreeData=this.gos.get("treeData"),this.initialised=!0;let e=i=>this.callColumnCellValueChangedHandler(i),t=so(this.gos);this.eventService.addEventListener("cellValueChanged",e,t),this.addDestroyFunc(()=>this.eventService.removeEventListener("cellValueChanged",e,t)),this.addManagedPropertyListener("treeData",i=>this.isTreeData=i.currentValue)}getValueForDisplay(e,t){let i=t.leafGroup&&this.columnModel.isPivotMode(),o=t.group&&t.expanded&&!t.footer&&!i,s=this.gos.get("groupSuppressBlankHeader");if(!o||s)return this.getValue(e,t);let r=!1,n=this.gos.get("groupTotalRow")??this.gos.get("groupIncludeFooter");typeof n!="function"?r=!!n:r=!!(this.gos.getCallback("groupTotalRow")??this.gos.getCallback("groupIncludeFooter"))({node:this});let a=o&&r;return this.getValue(e,t,!1,a)}getValue(e,t,i=!1,o=!1){if(this.initialised||this.init(),!t)return;let s=e.getColDef(),r=s.field,n=e.getColId(),a=t.data,l,c=t.groupData&&t.groupData[n]!==void 0,d=!o&&t.aggData&&t.aggData[n]!==void 0,u=this.isSsrm&&o&&!!e.getColDef().aggFunc,h=this.isSsrm&&t.footer&&t.field&&(e.getColDef().showRowGroup===!0||e.getColDef().showRowGroup===t.field);if(i&&s.filterValueGetter?l=this.executeFilterValueGetter(s.filterValueGetter,a,e,t):this.isTreeData&&d?l=t.aggData[n]:this.isTreeData&&s.valueGetter?l=this.executeValueGetter(s.valueGetter,a,e,t):this.isTreeData&&r&&a?l=bi(a,r,e.isFieldContainsDots()):c?l=t.groupData[n]:d?l=t.aggData[n]:s.valueGetter?l=this.executeValueGetter(s.valueGetter,a,e,t):h?l=bi(a,t.field,e.isFieldContainsDots()):r&&a&&!u&&(l=bi(a,r,e.isFieldContainsDots())),this.cellExpressions&&typeof l=="string"&&l.indexOf("=")===0){let g=l.substring(1);l=this.executeValueGetter(g,a,e,t)}if(l==null){let g=this.getOpenedGroup(t,e);if(g!=null)return g}return l}parseValue(e,t,i,o){let s=e.getColDef(),r=s.valueParser;if(M(r)){let n=this.gos.addGridCommonParams({node:t,data:t?.data,oldValue:o,newValue:i,colDef:s,column:e});return typeof r=="function"?r(n):this.expressionService.evaluate(r,n)}return i}getDeleteValue(e,t){return M(e.getColDef().valueParser)?this.parseValue(e,t,"",this.getValueForDisplay(e,t))??null:null}formatValue(e,t,i,o,s=!0){let r=null,n,a=e.getColDef();if(o?n=o:s&&(n=a.valueFormatter),n){let l=this.gos.addGridCommonParams({value:i,node:t,data:t?t.data:null,colDef:a,column:e});typeof n=="function"?r=n(l):r=this.expressionService.evaluate(n,l)}else if(a.refData)return a.refData[i]||"";return r==null&&Array.isArray(i)&&(r=i.join(", ")),r}getOpenedGroup(e,t){if(!this.gos.get("showOpenedGroup")||!t.getColDef().showRowGroup)return;let o=t.getColDef().showRowGroup,s=e.parent;for(;s!=null;){if(s.rowGroupColumn&&(o===!0||o===s.rowGroupColumn.getColId()))return s.key;s=s.parent}}setValue(e,t,i,o){let s=this.columnModel.getColDefCol(t);if(!e||!s)return!1;K(e.data)&&(e.data={});let{field:r,valueSetter:n}=s.getColDef();if(K(r)&&K(n))return S("you need either field or valueSetter set on colDef for editing to work"),!1;if(this.dataTypeService&&!this.dataTypeService.checkType(s,i))return S("Data type of the new value does not match the cell data type of the column"),!1;let a=this.gos.addGridCommonParams({node:e,data:e.data,oldValue:this.getValue(s,e),newValue:i,colDef:s.getColDef(),column:s});a.newValue=i;let l;if(M(n)?typeof n=="function"?l=n(a):l=this.expressionService.evaluate(n,a):l=this.setValueUsingField(e.data,r,i,s.isFieldContainsDots()),l===void 0&&(l=!0),!l)return!1;e.resetQuickFilterAggregateText(),this.valueCache.onDataChanged();let c=this.getValue(s,e);return this.eventService.dispatchEvent({type:"cellValueChanged",event:null,rowIndex:e.rowIndex,rowPinned:e.rowPinned,column:a.column,colDef:a.colDef,data:e.data,node:e,oldValue:a.oldValue,newValue:c,value:c,source:o}),!0}callColumnCellValueChangedHandler(e){let t=e.colDef.onCellValueChanged;typeof t=="function"&&this.getFrameworkOverrides().wrapOutgoing(()=>{t({node:e.node,data:e.data,oldValue:e.oldValue,newValue:e.newValue,colDef:e.colDef,column:e.column,api:e.api,context:e.context})})}setValueUsingField(e,t,i,o){if(!t)return!1;let s=!1;if(!o)s=e[t]===i,s||(e[t]=i);else{let r=t.split("."),n=e;for(;r.length>0&&n;){let a=r.shift();r.length===0?(s=n[a]===i,s||(n[a]=i)):n=n[a]}}return!s}executeFilterValueGetter(e,t,i,o){let s=this.gos.addGridCommonParams({data:t,node:o,column:i,colDef:i.getColDef(),getValue:this.getValueCallback.bind(this,o)});return typeof e=="function"?e(s):this.expressionService.evaluate(e,s)}executeValueGetter(e,t,i,o){let s=i.getColId(),r=this.valueCache.getValue(o,s);if(r!==void 0)return r;let n=this.gos.addGridCommonParams({data:t,node:o,column:i,colDef:i.getColDef(),getValue:this.getValueCallback.bind(this,o)}),a;return typeof e=="function"?a=e(n):a=this.expressionService.evaluate(e,n),this.valueCache.setValue(o,s,a),a}getValueCallback(e,t){let i=this.columnModel.getColDefCol(t);return i?this.getValue(i,e):null}getKeyForNode(e,t){let i=this.getValue(e,t),o=e.getColDef().keyCreator,s=i;if(o){let r=this.gos.addGridCommonParams({value:i,colDef:e.getColDef(),column:e,node:t,data:t.data});s=o(r)}return typeof s=="string"||s==null||(s=String(s),s==="[object Object]"&&S("a column you are grouping or pivoting by has objects as values. If you want to group by complex objects then either a) use a colDef.keyCreator (se AG Grid docs) or b) to toString() on the object to return a key")),s}},Zs=class kt{static applyGlobalGridOptions(t){if(!kt.gridOptions)return t;let i={};return Ie(i,kt.gridOptions,!0,!0),kt.mergeStrategy==="deep"?Ie(i,t,!0,!0):i={...i,...t},kt.gridOptions.context&&(i.context=kt.gridOptions.context),t.context&&(kt.mergeStrategy==="deep"&&i.context&&Ie(t.context,i.context,!0,!0),i.context=t.context),i}};Zs.gridOptions=void 0;Zs.mergeStrategy="shallow";var nl=Zs;function al(e){return nl.gridOptions?.[e]}var sC=1,ll=class{create(e,t,i,o,s){let r=nl.applyGlobalGridOptions(t),n=Gv(r),a=n.gridId??String(sC++),l=this.getRegisteredModules(s,a),c=this.createBeansList(n.rowModelType,l,a),d=this.createProvidedBeans(e,n,s);if(!c){Q("Failed to create grid.");return}let u={providedBeanInstances:d,beanClasses:c,gridId:a,beanInitComparator:Cp,beanDestroyComparator:wp,derivedBeans:[cp]},h=new Ad(u);return this.registerModuleUserComponents(h,l),this.registerControllers(h,l),this.registerModuleApiFunctions(h,l),i(h),h.getBean("syncService").start(),o&&o(h),h.getBean("gridApi")}registerControllers(e,t){let i=e.getBean("ctrlsFactory");t.forEach(o=>{o.controllers&&o.controllers.forEach(s=>i.register(s))})}getRegisteredModules(e,t){let i=e?e.modules:null,o=Ue.__getRegisteredModules(t),s=[],r={},n=(a,l,c)=>{(u=>{r[u.moduleName]||(r[u.moduleName]=!0,s.push(u),Ue.__register(u,a,c))})(l),l.dependantModules&&l.dependantModules.forEach(u=>n(a,u,c))};return n(!!i?.length||!Ue.__isPackageBased(),kv,void 0),i&&i.forEach(a=>n(!0,a,t)),o&&o.forEach(a=>n(!Ue.__isPackageBased(),a,void 0)),s}registerModuleUserComponents(e,t){let i=this.extractModuleEntity(t,s=>s.userComponents?s.userComponents:[]),o=e.getBean("userComponentRegistry");i.forEach(({name:s,classImp:r,params:n})=>{o.registerDefaultComponent(s,r,n)})}registerModuleApiFunctions(e,t){let i=e.getBean("apiFunctionService");t.forEach(o=>{let s=o.apiFunctions;s&&Object.keys(s).forEach(n=>{i?.addFunction(n,s[n])})})}createProvidedBeans(e,t,i){let o=i?i.frameworkOverrides:null;K(o)&&(o=new Js);let s={gridOptions:t,eGridDiv:e,globalEventListener:i?i.globalEventListener:null,globalSyncEventListener:i?i.globalSyncEventListener:null,frameworkOverrides:o};return i&&i.providedBeanInstances&&Object.assign(s,i.providedBeanInstances),s}createBeansList(e="clientSide",t,i){let o=t.filter(l=>!l.rowModel||l.rowModel===e),s={clientSide:"@ag-grid-community/client-side-row-model",infinite:"@ag-grid-community/infinite-row-model",serverSide:"@ag-grid-enterprise/server-side-row-model",viewport:"@ag-grid-enterprise/viewport-row-model"};if(!s[e]){Q("Could not find row model for rowModelType = ",e);return}if(!Ue.__assertRegistered(s[e],`rowModelType = '${e}'`,i))return;let r=[Fp,Sp,Hv,Iv,lp,ud,fp,mp,rg,Xn,$v,og,zv,qg,Od,mc,Ep,Nv,sp,rl,sc,Ku,Wv,Vv,$g,tC,oc,ig,iC,oC,Kg,sg,kd,Mp,tg,xp,np,Zg,eg,Jv,jv,_v,qv,eC,ng,dp,Yv,Qv,bp,Pp,Rp,yp,Xv,Kv,ag,Bv,Uv,lg,ac,up,lc,rc,hp,gp,pc,nc,hc,pp,gc,Xl],n=this.extractModuleEntity(o,l=>l.beans?l.beans:[]);r.push(...n);let a=[];return r.forEach(l=>{a.indexOf(l)<0&&a.push(l)}),a}extractModuleEntity(e,t){return[].concat(...e.map(t))}},cl=class extends b{constructor(){super(...arguments),this.beanName="rowModelHelperService"}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){let e=this.rowModel;switch(e.getType()){case"clientSide":this.clientSideRowModel=e;break;case"infinite":this.infiniteRowModel=e;break;case"serverSide":this.serverSideRowModel=e;break}}getClientSideRowModel(){return this.clientSideRowModel}getInfiniteRowModel(){return this.infiniteRowModel}getServerSideRowModel(){return this.serverSideRowModel}};function rC(e){e.expansionService.expandAll(!0)}function nC(e){e.expansionService.expandAll(!1)}function aC(e){let t=e.rowModelHelperService?.getClientSideRowModel(),i=e.rowModelHelperService?.getServerSideRowModel();t?t.onRowHeightChanged():i&&i.onRowHeightChanged()}function lC(e,t,i){let o=e.rowModelHelperService?.getServerSideRowModel();if(o){if(e.funcColsService.isRowGroupEmpty()){o.setRowCount(t,i);return}Q("setRowCount cannot be used while using row grouping.");return}let s=e.rowModelHelperService?.getInfiniteRowModel();if(s){s.setRowCount(t,i);return}}function cC(e){return e.rowNodeBlockLoader?.getBlockState()??{}}function dC(e){return e.rowModel.isLastRowIndexKnown()}var dl={version:B,moduleName:"@ag-grid-community/csrm-ssrm-shared-api",apiFunctions:{expandAll:rC,collapseAll:nC,onRowHeightChanged:aC}},_w={version:B,moduleName:"@ag-grid-community/ssrm-infinite-shared-api",apiFunctions:{setRowCount:lC,getCacheBlockState:cC,isLastRowIndexKnown:dC}},ul=class{wrap(e,t,i=[],o){let s=this.createWrapper(e,o);return t.forEach(r=>{this.createMethod(s,r,!0)}),i.forEach(r=>{this.createMethod(s,r,!1)}),s}createMethod(e,t,i){e.addMethod(t,this.createMethodProxy(e,t,i))}createMethodProxy(e,t,i){return function(){return e.hasMethod(t)?e.callMethod(t,arguments):(i&&S("Framework component is missing the method "+t+"()"),null)}}},er=class{};er.CHART_TYPE_TO_SERIES_TYPE={column:"bar",groupedColumn:"bar",stackedColumn:"bar",normalizedColumn:"bar",bar:"bar",groupedBar:"bar",stackedBar:"bar",normalizedBar:"bar",line:"line",scatter:"scatter",bubble:"bubble",pie:"pie",donut:"donut",doughnut:"donut",area:"area",stackedArea:"area",normalizedArea:"area",histogram:"histogram",radarLine:"radar-line",radarArea:"radar-area",nightingale:"nightingale",radialColumn:"radial-column",radialBar:"radial-bar",sunburst:"sunburst",rangeBar:"range-bar",rangeArea:"range-area",boxPlot:"box-plot",treemap:"treemap",heatmap:"heatmap",waterfall:"waterfall"};er.COMBO_CHART_TYPES=["columnLineCombo","areaColumnCombo","customCombo"];er.SERIES_GROUP_TYPES=["grouped","stacked","normalized"];var di=typeof global>"u"?{}:global;di.HTMLElement=typeof HTMLElement>"u"?{}:HTMLElement;di.HTMLButtonElement=typeof HTMLButtonElement>"u"?{}:HTMLButtonElement;di.HTMLSelectElement=typeof HTMLSelectElement>"u"?{}:HTMLSelectElement;di.HTMLInputElement=typeof HTMLInputElement>"u"?{}:HTMLInputElement;di.Node=typeof Node>"u"?{}:Node;di.MouseEvent=typeof MouseEvent>"u"?{}:MouseEvent;var uC="ROOT_NODE_ID",tr=0,hC=class{constructor(e,t,i,o,s,r){this.nextId=0,this.rowCountReady=!1,this.allNodesMap={},this.rootNode=e,this.gos=t,this.eventService=i,this.funcColsService=o,this.beans=r,this.selectionService=s,this.rootNode.group=!0,this.rootNode.level=-1,this.rootNode.id=uC,this.rootNode.allLeafChildren=[],this.rootNode.childrenAfterGroup=[],this.rootNode.childrenAfterSort=[],this.rootNode.childrenAfterAggFilter=[],this.rootNode.childrenAfterFilter=[]}getCopyOfNodesMap(){return Ds(this.allNodesMap)}getRowNode(e){return this.allNodesMap[e]}setRowData(e){if(typeof e=="string"){S("rowData must be an array.");return}this.rowCountReady=!0,this.dispatchRowDataUpdateStartedEvent(e);let 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((o,s)=>this.createNode(o,this.rootNode,tr,s)):(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);let 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){let t=this.rootNode.allLeafChildren,i=t?.length??0,o=new Map,s=-1,r=-1;for(let n=0;n<i;++n){let a=t[n],l=a.data;l!==e[n]&&(r<0&&(s=n),r=n,o.set(l,a))}if(s<0)return!1;for(let n=s;n<=r;++n){let a=o.get(e[n]);a!==void 0&&(t[n]=a,a.sourceRowIndex=n)}return!0}isRowCountReady(){return this.rowCountReady}dispatchRowDataUpdateStartedEvent(e){this.eventService.dispatchEvent({type:"rowDataUpdateStarted",firstRowData:e?.length?e[0]:null})}updateSelection(e,t){let 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){let i=e.add;if(Ee(i))return;let o=this.rootNode.allLeafChildren,s=o.length;if(typeof e.addIndex=="number"&&(s=this.sanitizeAddIndex(e.addIndex),s>0&&this.gos.get("treeData"))){for(let l=0;l<o.length;l++)if(o[l]?.rowIndex==s-1){s=l+1;break}}let r=i.map((a,l)=>this.createNode(a,this.rootNode,tr,s+l));if(s<o.length){let a=o.slice(0,s),l=o.slice(s,o.length),c=a.length+r.length;for(let d=0,u=l.length;d<u;++d)l[d].sourceRowIndex=c+d;this.rootNode.allLeafChildren=[...a,...r,...l],t.rowsInserted=!0}else this.rootNode.allLeafChildren=o.concat(r);let n=this.rootNode.sibling;n&&(n.allLeafChildren=o),t.rowNodeTransaction.add=r}sanitizeAddIndex(e){let t=this.rootNode.allLeafChildren?.length??0;return e<0||e>=t||Number.isNaN(e)?t:Math.ceil(e)}executeRemove(e,{rowNodeTransaction:t},i){let{remove:o}=e;if(Ee(o))return;let s={};o.forEach(n=>{let a=this.lookupRowNode(n);a&&(a.isSelected()&&i.push(a),a.clearRowTopAndRowIndex(),s[a.id]=!0,delete this.allNodesMap[a.id],t.remove.push(a))}),this.rootNode.allLeafChildren=this.rootNode.allLeafChildren?.filter(n=>!s[n.id])??null,this.rootNode.allLeafChildren?.forEach((n,a)=>{n.sourceRowIndex=a});let r=this.rootNode.sibling;r&&(r.allLeafChildren=this.rootNode.allLeafChildren)}executeUpdate(e,{rowNodeTransaction:t},i){let{update:o}=e;Ee(o)||o.forEach(s=>{let r=this.lookupRowNode(s);r&&(r.updateData(s),!r.selectable&&r.isSelected()&&i.push(r),this.setMasterForRow(r,s,tr,!1),t.update.push(r))})}lookupRowNode(e){let t=Ut(this.gos),i;if(t){let o=t({data:e,level:0});if(i=this.allNodesMap[o],!i)return Q(`could not find row id=${o}, data item was not found for this id`),null}else if(i=this.rootNode.allLeafChildren?.find(o=>o.data===e),!i)return Q("could not find data item as object was not found",e),Q("Consider using getRowId to help the Grid find matching row data"),null;return i||null}createNode(e,t,i,o){let s=new st(this.beans);return s.sourceRowIndex=o,s.group=!1,this.setMasterForRow(s,e,i,!0),t&&(s.parent=t),s.level=i,s.setDataAndId(e,this.nextId.toString()),this.allNodesMap[s.id]&&S(`duplicate node id '${s.id}' detected from getRowId callback, this could cause issues in your grid.`),this.allNodesMap[s.id]=s,this.nextId++,s}setMasterForRow(e,t,i,o){if(this.gos.get("treeData"))e.setMaster(!1),o&&(e.expanded=!1);else{if(this.gos.get("masterDetail")){let n=this.gos.get("isRowMaster");n?e.setMaster(n(t)):e.setMaster(!0)}else e.setMaster(!1);if(o){let n=this.funcColsService.getRowGroupColumns(),a=n?n.length:0,l=i+a;e.expanded=e.master?this.isExpanded(l):!1}}}isExpanded(e){let t=this.gos.get("groupDefaultExpanded");return t===-1?!0:e<t}},gC=class extends b{constructor(){super(...arguments),this.beanName="rowModel",this.onRowHeightChanged_debounced=xe(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(){let e=this.refreshModel.bind(this,{step:_.EVERYTHING}),t=!this.gos.get("suppressAnimationFrame"),i=this.refreshModel.bind(this,{step:_.EVERYTHING,afterColumnsChanged:!0,keepRenderedRows:!0,animate:t});this.addManagedEventListeners({newColumnsLoaded:i,columnRowGroupChanged:e,columnValueChanged:this.onValueChanged.bind(this),columnPivotChanged:this.refreshModel.bind(this,{step:_.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 st(this.beans),this.nodeManager=new hC(this.rootNode,this.gos,this.eventService,this.funcColsService,this.selectionService,this.beans)}addPropertyListeners(){let e=new Set(["treeData","masterDetail"]),t=new Set(["groupDefaultExpanded","groupAllowUnbalanced","initialGroupOrderComparator","groupHideOpenParents","groupDisplayType"]),i=new Set(["excludeChildrenWhenTreeDataFiltering"]),o=new Set(["removePivotHeaderRowWhenSingleValueColumn","pivotRowTotals","pivotColumnGroupTotals","suppressExpandablePivotGroups"]),s=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,...o,...o,...s,...r,...n,...a];this.addManagedPropertyListeners(l,c=>{let d=c.changeSet?.properties;if(!d)return;let u=h=>d.some(g=>h.has(g));if(u(e)){this.setRowData(this.rootNode.allLeafChildren.map(h=>h.data));return}if(u(t)){this.refreshModel({step:_.EVERYTHING});return}if(u(i)){this.refreshModel({step:_.FILTER});return}if(u(o)){this.refreshModel({step:_.PIVOT});return}if(u(s)){this.refreshModel({step:_.AGGREGATE});return}if(u(r)){this.refreshModel({step:_.SORT});return}if(u(n)){this.refreshModel({step:_.FILTER_AGGREGATES});return}u(a)&&this.refreshModel({step:_.MAP})}),this.addManagedPropertyListener("rowHeight",()=>this.resetRowHeights())}start(){this.hasStarted=!0,this.shouldSkipSettingDataOnStart?this.dispatchUpdateEventsAndRefresh():this.setInitialData()}setInitialData(){let e=this.gos.get("rowData");e&&(this.shouldSkipSettingDataOnStart=!0,this.setRowData(e))}ensureRowHeightsValid(e,t,i,o){let s,r=!1;do{s=!1;let n=this.getRowIndexAtPixel(e),a=this.getRowIndexAtPixel(t),l=Math.max(n,i),c=Math.min(a,o);for(let d=l;d<=c;d++){let u=this.getRow(d);if(u.rowHeightEstimated){let h=ht(this.gos,u);u.setRowHeight(h.height),s=!0,r=!0}}s&&this.setRowTopAndRowIndex()}while(s);return r}setRowTopAndRowIndex(){let e=this.environment.getDefaultRowHeight(),t=0,i=new Set,o=Re(this.gos,"normal");for(let s=0;s<this.rowsToDisplay.length;s++){let r=this.rowsToDisplay[s];if(r.id!=null&&i.add(r.id),r.rowHeight==null){let n=ht(this.gos,r,o,e);r.setRowHeight(n.height,n.estimated)}r.setRowTop(t),r.setRowIndex(s),t+=r.rowHeight}return i}clearRowTopAndRowIndex(e,t){let i=e.isActive(),o=r=>{r&&r.id!=null&&!t.has(r.id)&&r.clearRowTopAndRowIndex()},s=r=>{if(o(r),o(r.detailNode),o(r.sibling),r.hasChildren()&&r.childrenAfterGroup){let n=r.level==-1;i&&!n&&!r.expanded||r.childrenAfterGroup.forEach(s)}};s(this.rootNode)}ensureRowsAtPixel(e,t,i=0){let o=this.getRowIndexAtPixel(t),s=this.getRow(o),r=!this.gos.get("suppressAnimationFrame");if(s===e[0])return!1;let n=this.rootNode.allLeafChildren;return e.forEach(a=>{De(n,a)}),e.forEach((a,l)=>{Mi(n,a,Math.max(o+i,0)+l)}),e.forEach((a,l)=>{a.sourceRowIndex=l}),this.refreshModel({step:_.EVERYTHING,keepRenderedRows:!0,keepEditingRows:!0,animate:r,rowNodesOrderChanged:!0}),!0}highlightRowAtPixel(e,t){let i=t!=null?this.getRowIndexAtPixel(t):null,o=i!=null?this.getRow(i):null;if(!o||!e||t==null){this.clearHighlightedRow();return}let s=this.getHighlightPosition(t,o),r=this.isHighlightingCurrentPosition(e,o,s),n=this.lastHighlightedRow!=null&&this.lastHighlightedRow!==o;(r||n)&&(this.clearHighlightedRow(),r)||(o.setHighlighted(s),this.lastHighlightedRow=o)}getHighlightPosition(e,t){if(!t){let s=this.getRowIndexAtPixel(e);if(t=this.getRow(s||0),!t)return ci.Below}let{rowTop:i,rowHeight:o}=t;return e-i<o/2?ci.Above:ci.Below}getLastHighlightedRowNode(){return this.lastHighlightedRow}isHighlightingCurrentPosition(e,t,i){if(e===t)return!0;let o=i===ci.Above?-1:1;return this.getRow(t.rowIndex+o)===e}clearHighlightedRow(){this.lastHighlightedRow&&(this.lastHighlightedRow.setHighlighted(null),this.lastHighlightedRow=null)}isLastRowIndexKnown(){return!0}getRowCount(){return this.rowsToDisplay?this.rowsToDisplay.length:0}getTopLevelRowCount(){if(this.rowsToDisplay.length===0)return 0;if(this.rowsToDisplay&&this.rowsToDisplay[0]===this.rootNode)return 1;let t=this.rootNode.childrenAfterAggFilter,i=this.rootNode.sibling?1:0;return(t?t.length:0)+i}getTopLevelRowDisplayedIndex(e){if(this.rowsToDisplay&&this.rowsToDisplay[0]===this.rootNode)return e;let i=e;if(this.rowsToDisplay[0].footer){if(e===0)return 0;i-=1}let o=this.rowsToDisplay[this.rowsToDisplay.length-1],s=i>=this.rootNode.childrenAfterSort.length;if(o.footer&&s)return o.rowIndex;let r=this.rootNode.childrenAfterSort[i];if(this.gos.get("groupHideOpenParents"))for(;r.expanded&&r.childrenAfterSort&&r.childrenAfterSort.length>0;)r=r.childrenAfterSort[0];return r.rowIndex}getRowBounds(e){if(K(this.rowsToDisplay))return null;let t=this.rowsToDisplay[e];return t?{rowTop:t.rowTop,rowHeight:t.rowHeight}:null}onRowGroupOpened(){let e=Wt(this.gos);this.refreshModel({step:_.MAP,keepRenderedRows:!0,animate:e})}onFilterChanged(e){if(e.afterDataChange)return;let t=Wt(this.gos),o=e.columns.length===0||e.columns.some(s=>s.isPrimary())?_.FILTER:_.FILTER_AGGREGATES;this.refreshModel({step:o,keepRenderedRows:!0,animate:t})}onSortChanged(){let e=Wt(this.gos);this.refreshModel({step:_.SORT,keepRenderedRows:!0,animate:e,keepEditingRows:!0})}getType(){return"clientSide"}onValueChanged(){this.columnModel.isPivotActive()?this.refreshModel({step:_.PIVOT}):this.refreshModel({step:_.AGGREGATE})}createChangePath(e){let t=Ee(e),i=new zi(!1,this.rootNode);return t&&i.setInactive(),i}isSuppressModelUpdateAfterUpdateTransaction(e){if(!this.gos.get("suppressModelUpdateAfterUpdateTransaction")||e.rowNodeTransactions==null)return!1;let t=e.rowNodeTransactions.filter(o=>o.add!=null&&o.add.length>0||o.remove!=null&&o.remove.length>0);return t==null||t.length==0}buildRefreshModelParams(e){let t=_.EVERYTHING,i={everything:_.EVERYTHING,group:_.EVERYTHING,filter:_.FILTER,map:_.MAP,aggregate:_.AGGREGATE,filter_aggregates:_.FILTER_AGGREGATES,sort:_.SORT,pivot:_.PIVOT,nothing:_.NOTHING};if(M(e)&&(t=i[e]),K(t)){Q(`invalid step ${e}, available steps are ${Object.keys(i).join(", ")}`);return}let o=!this.gos.get("suppressAnimationFrame");return{step:t,keepRenderedRows:!0,keepEditingRows:!0,animate:o}}refreshModel(e){if(!this.hasStarted||this.isRefreshingModel||this.columnModel.isChangeEventsDispatching())return;let t=typeof e=="object"&&"step"in e?e:this.buildRefreshModelParams(e);if(!t||this.isSuppressModelUpdateAfterUpdateTransaction(t))return;let i=this.createChangePath(t.rowNodeTransactions);switch(this.isRefreshingModel=!0,t.step){case _.EVERYTHING:this.doRowGrouping(t.rowNodeTransactions,i,!!t.rowNodesOrderChanged,!!t.afterColumnsChanged);case _.FILTER:this.doFilter(i);case _.PIVOT:this.doPivot(i);case _.AGGREGATE:this.doAggregate(i);case _.FILTER_AGGREGATES:this.doFilterAggregates(i);case _.SORT:this.doSort(t.rowNodeTransactions,i);case _.MAP:this.doRowsToDisplay()}let o=this.setRowTopAndRowIndex();this.clearRowTopAndRowIndex(i,o),this.isRefreshingModel=!1,this.eventService.dispatchEvent({type:"modelUpdated",animate:t.animate,keepRenderedRows:t.keepRenderedRows,newData:t.newData,newPage:!1,keepUndoRedoStack:t.keepUndoRedoStack})}isEmpty(){let e=K(this.rootNode.allLeafChildren)||this.rootNode.allLeafChildren.length===0;return K(this.rootNode)||e||!this.columnModel.isReady()}isRowsToRender(){return M(this.rowsToDisplay)&&this.rowsToDisplay.length>0}getNodesInRangeForSelection(e,t){let i=!1,o=!1,s=[],r=Dt(this.gos);return this.forEachNodeAfterFilterAndSort(n=>{if(o)return;if(i&&(n===t||n===e)&&(o=!0,n.group&&r)){s.push(...n.allLeafChildren);return}if(!i){if(n!==t&&n!==e)return;i=!0}if(!n.group||!r){s.push(n);return}}),s}setDatasource(e){Q("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()||this.rowsToDisplay.length===0)return-1;let t=0,i=this.rowsToDisplay.length-1;if(e<=0)return 0;if($(this.rowsToDisplay).rowTop<=e)return this.rowsToDisplay.length-1;let s=-1,r=-1;for(;;){let n=Math.floor((t+i)/2),a=this.rowsToDisplay[n];if(this.isRowInPixel(a,e)||(a.rowTop<e?t=n+1:a.rowTop>e&&(i=n-1),s===t&&r===i))return n;s=t,r=i}}isRowInPixel(e,t){let i=e.rowTop,o=e.rowTop+e.rowHeight;return i<=t&&o>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){let{nodes:t,callback:i,recursionType:o,includeFooterNodes:s}=e,{index:r}=e,n=a=>{let l=t[0]?.parent;if(!l)return;let c=s&&Co(this.gos),d=wo(this.gos),u=s&&d({node:l});if(l===this.rootNode){c===a&&(l.createFooter(),i(l.sibling,r++));return}u===a&&(l.createFooter(),i(l.sibling,r++))};n("top");for(let a=0;a<t.length;a++){let l=t[a];if(i(l,r++),l.hasChildren()&&!l.footer){let c=null;switch(o){case 0:c=l.childrenAfterGroup;break;case 1:c=l.childrenAfterAggFilter;break;case 2:c=l.childrenAfterSort;break;case 3:c=l.leafGroup?null:l.childrenAfterSort;break}c&&(r=this.recursivelyWalkNodesAndCallback({nodes:[...c],callback:i,recursionType:o,index:r,includeFooterNodes:s}))}}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){let t=this.gos.get("treeData"),i=this.columnModel.isPivotActive(),o=s=>{s&&s.forEach(r=>{let n=()=>{r.expanded=e,o(r.childrenAfterGroup)};if(t){M(r.childrenAfterGroup)&&n();return}if(i){!r.leafGroup&&n();return}r.group&&n()})};this.rootNode&&o(this.rootNode.childrenAfterGroup),this.refreshModel({step:_.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,o){if(this.groupStage)e?this.groupStage.execute({rowNode:this.rootNode,rowNodeTransactions:e,rowNodesOrderChanged:i,changedPath:t}):this.groupStage.execute({rowNode:this.rootNode,changedPath:t,afterColumnsChanged:o}),Dt(this.gos)&&this.selectionService.updateGroupsFromChildrenSelections("rowGroupChanged",t)&&this.eventService.dispatchEvent({type:"selectionChanged",source:"rowGroupChanged"});else{let s=this.rootNode,r=s.sibling;s.childrenAfterGroup=s.allLeafChildren,r&&(r.childrenAfterGroup=s.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(typeof e=="string"&&e.indexOf(st.ID_PREFIX_ROW_GROUP)==0){let i;return this.forEachNode(o=>{o.id===e&&(i=o)}),i}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:_.EVERYTHING,newData:!0})}batchUpdateRowData(e,t){if(this.applyAsyncTransactionsTimeout==null){this.rowDataTransactionBatch=[];let i=this.gos.get("asyncTransactionWaitMillis");this.applyAsyncTransactionsTimeout=window.setTimeout(()=>{this.isAlive()&&this.executeBatchUpdateRowData()},i)}this.rowDataTransactionBatch.push({rowDataTransaction:e,callback:t})}flushAsyncTransactions(){this.applyAsyncTransactionsTimeout!=null&&(clearTimeout(this.applyAsyncTransactionsTimeout),this.executeBatchUpdateRowData())}executeBatchUpdateRowData(){this.valueCache.onDataChanged();let e=[],t=[],i=!1;this.rowDataTransactionBatch?.forEach(o=>{let{rowNodeTransaction:s,rowsInserted:r}=this.nodeManager.updateRowData(o.rowDataTransaction);r&&(i=!0),t.push(s),o.callback&&e.push(o.callback.bind(null,s))}),this.commonUpdateRowData(t,i),e.length>0&&window.setTimeout(()=>{e.forEach(o=>o())},0),t.length>0&&this.eventService.dispatchEvent({type:"asyncTransactionsFlushed",results:t}),this.rowDataTransactionBatch=null,this.applyAsyncTransactionsTimeout=void 0}updateRowData(e){this.valueCache.onDataChanged();let{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;let i=!this.gos.get("suppressAnimationFrame");this.eventService.dispatchEvent({type:"rowDataUpdated"}),this.refreshModel({step:_.EVERYTHING,rowNodeTransactions:e,rowNodesOrderChanged:t,keepRenderedRows:!0,keepEditingRows:!0,animate:i})}doRowsToDisplay(){this.rowsToDisplay=this.flattenStage.execute({rowNode:this.rootNode})}onRowHeightChanged(){this.refreshModel({step:_.MAP,keepRenderedRows:!0,keepEditingRows:!0,keepUndoRedoStack:!0})}onRowHeightChangedDebounced(){this.onRowHeightChanged_debounced()}resetRowHeights(){let 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);let 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}destroy(){super.destroy(),this.clearHighlightedRow()}};function pC(e){e.expansionService.onGroupExpandedOrCollapsed()}function fC(e,t){e.rowModelHelperService?.getClientSideRowModel()?.refreshModel(t)}function mC(e){return e.rowModelHelperService?.getClientSideRowModel()?.isEmpty()??!0}function vC(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachLeafNode(t)}function CC(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachNodeAfterFilter(t)}function wC(e,t){e.rowModelHelperService?.getClientSideRowModel()?.forEachNodeAfterFilterAndSort(t)}function yC(e){if(e.columnModel.isAutoRowHeightActive()){S("calling gridApi.resetRowHeights() makes no sense when using Auto Row Height.");return}e.rowModelHelperService?.getClientSideRowModel()?.resetRowHeights()}function bC(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.rowModelHelperService?.getClientSideRowModel()?.updateRowData(t))}function SC(e,t,i){e.frameworkOverrides.wrapIncoming(()=>e.rowModelHelperService?.getClientSideRowModel()?.batchUpdateRowData(t,i))}function RC(e){e.frameworkOverrides.wrapIncoming(()=>e.rowModelHelperService?.getClientSideRowModel()?.flushAsyncTransactions())}function FC(e){return e.selectionService.getBestCostNodeSelection()}var xC=class extends b{constructor(){super(...arguments),this.beanName="filterStage"}wireBeans(e){this.filterManager=e.filterManager}execute(e){let{changedPath:t}=e;this.filter(t)}filter(e){let t=!!this.filterManager?.isChildFilterPresent();this.filterNodes(t,e)}filterNodes(e,t){let i=(o,s)=>{o.hasChildren()&&e&&!s?o.childrenAfterFilter=o.childrenAfterGroup.filter(r=>{let n=r.childrenAfterFilter&&r.childrenAfterFilter.length>0,a=r.data&&this.filterManager.doesRowPassFilter({rowNode:r});return n||a}):o.childrenAfterFilter=o.childrenAfterGroup,o.sibling&&(o.sibling.childrenAfterFilter=o.childrenAfterFilter)};if(this.doingTreeDataFiltering()){let o=(r,n)=>{if(r.childrenAfterGroup)for(let a=0;a<r.childrenAfterGroup.length;a++){let l=r.childrenAfterGroup[a],c=n||this.filterManager.doesRowPassFilter({rowNode:l});l.childrenAfterGroup?o(r.childrenAfterGroup[a],c):i(l,c)}i(r,n)},s=r=>o(r,!1);t.executeFromRootNode(s)}else{let o=s=>i(s,!1);t.forEachChangedNodeDepthFirst(o,!0)}}doingTreeDataFiltering(){return this.gos.get("treeData")&&!this.gos.get("excludeChildrenWhenTreeDataFiltering")}},DC=class extends b{constructor(){super(...arguments),this.beanName="flattenStage"}wireBeans(e){this.beans=e,this.columnModel=e.columnModel}execute(e){let t=e.rowNode,i=[],o=this.columnModel.isPivotMode(),s=o&&t.leafGroup,r=s?[t]:t.childrenAfterSort,n=this.getFlattenDetails();this.recursivelyAddToRowsToDisplay(n,r,i,o,0);let a=i.length>0;if(!s&&a&&n.grandTotalRow){t.createFooter();let c=n.grandTotalRow==="top";this.addRowNodeToRowsToDisplay(n,t.sibling,i,0,c)}return i}getFlattenDetails(){let e=this.gos.get("groupRemoveSingleChildren");return{groupRemoveLowestSingleChildren:!e&&this.gos.get("groupRemoveLowestSingleChildren"),groupRemoveSingleChildren:e,isGroupMultiAutoColumn:gn(this.gos),hideOpenParents:this.gos.get("groupHideOpenParents"),grandTotalRow:Co(this.gos),groupTotalRow:wo(this.gos)}}recursivelyAddToRowsToDisplay(e,t,i,o,s){if(!Ee(t))for(let r=0;r<t.length;r++){let n=t[r],a=n.hasChildren(),l=o&&!a,c=e.groupRemoveSingleChildren&&a&&n.childrenAfterGroup.length===1,d=e.groupRemoveLowestSingleChildren&&a&&n.leafGroup&&n.childrenAfterGroup.length===1,u=o&&n.leafGroup,h=e.hideOpenParents&&n.expanded&&!n.master&&!u;if(!l&&!h&&!c&&!d&&this.addRowNodeToRowsToDisplay(e,n,i,s),!(o&&n.leafGroup)){if(a){let f=c||d;if(n.expanded||f){let m=e.groupTotalRow({node:n});m||n.destroyFooter();let p=f?s:s+1;m==="top"&&(n.createFooter(),this.addRowNodeToRowsToDisplay(e,n.sibling,i,p)),this.recursivelyAddToRowsToDisplay(e,n.childrenAfterSort,i,o,p),m==="bottom"&&(n.createFooter(),this.addRowNodeToRowsToDisplay(e,n.sibling,i,p))}}else if(n.master&&n.expanded){let f=this.createDetailNode(n);this.addRowNodeToRowsToDisplay(e,f,i,s)}}}}addRowNodeToRowsToDisplay(e,t,i,o,s){s?i.unshift(t):i.push(t),t.setUiLevel(e.isGroupMultiAutoColumn?0:o)}createDetailNode(e){if(M(e.detailNode))return e.detailNode;let t=new st(this.beans);return t.detail=!0,t.selectable=!1,t.parent=e,M(e.id)&&(t.id="detail_"+e.id),t.data=e.data,t.level=e.level+1,e.detailNode=t,t}},EC=class extends b{constructor(){super(...arguments),this.beanName="immutableService"}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){de(this.gos)&&(this.clientSideRowModel=this.rowModel,this.addManagedPropertyListener("rowData",()=>this.onRowDataUpdated()))}isActive(){let e=this.gos.exists("getRowId");return this.gos.get("resetRowDataOnUpdate")?!1:e}setRowData(e){let t=this.createTransactionForRowData(e);if(!t)return;let i=this.clientSideRowModel.getNodeManager(),{rowNodeTransaction:o,rowsInserted:s}=i.updateRowData(t),r=!1;this.gos.get("suppressMaintainUnsortedOrder")||(r=i.updateRowOrderFromRowData(e)),this.clientSideRowModel.afterImmutableDataChange(o,r||s)}createTransactionForRowData(e){if(!de(this.gos))return Q("ImmutableService only works with ClientSideRowModel"),null;let t=Ut(this.gos);if(t==null)return Q("ImmutableService requires getRowId() callback to be implemented, your row data needs IDs!"),null;let i=this.clientSideRowModel.getNodeManager().getCopyOfNodesMap(),o=[],s=[],r=[];return M(e)&&e.forEach(n=>{let a=t({data:n,level:0}),l=i[a];l?(l.data!==n&&s.push(n),i[a]=void 0):r.push(n)}),We(i,(n,a)=>{a&&o.push(a.data)}),{remove:o,update:s,add:r}}onRowDataUpdated(){let e=this.gos.get("rowData");e&&(this.isActive()?this.setRowData(e):(this.selectionService.reset("rowDataChanged"),this.clientSideRowModel.setRowData(e)))}},MC=class extends b{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,o,s,r){let n=this.gos.get("groupMaintainOrder"),a=this.columnModel.getCols().some(h=>h.isRowGroupActive()),l={};i&&o&&(l=this.calculateDirtyNodes(o));let c=this.columnModel.isPivotMode(),d=this.gos.getCallback("postSortRows"),u=h=>{this.pullDownGroupDataForHideOpenParents(h.childrenAfterAggFilter,!0);let g=c&&h.leafGroup;if(n&&a&&!h.leafGroup&&!r){let p=this.funcColsService.getRowGroupColumns()?.[h.level+1]?.getSort()===null,v=h.childrenAfterAggFilter.slice(0);if(h.childrenAfterSort&&!p){let w={};h.childrenAfterSort.forEach((C,R)=>{w[C.id]=R}),v.sort((C,R)=>(w[C.id]??0)-(w[R.id]??0))}h.childrenAfterSort=v}else!t||g?h.childrenAfterSort=h.childrenAfterAggFilter.slice(0):i?h.childrenAfterSort=this.doDeltaSort(h,l,s,e):h.childrenAfterSort=this.rowNodeSorter.doFullSort(h.childrenAfterAggFilter,e);if(h.sibling&&(h.sibling.childrenAfterSort=h.childrenAfterSort),this.updateChildIndexes(h),d){let m={nodes:h.childrenAfterSort};d(m)}};s&&s.forEachChangedNodeDepthFirst(u),this.updateGroupDataForHideOpenParents(s)}calculateDirtyNodes(e){let t={},i=o=>{o&&o.forEach(s=>t[s.id]=!0)};return e&&e.forEach(o=>{i(o.add),i(o.update),i(o.remove)}),t}doDeltaSort(e,t,i,o){let s=e.childrenAfterAggFilter,r=e.childrenAfterSort;if(!r)return this.rowNodeSorter.doFullSort(s,o);let n={},a=[];s.forEach(u=>{t[u.id]||!i.canSkip(u)?a.push(u):n[u.id]=!0});let l=r.filter(u=>n[u.id]),c=(u,h)=>({currentPos:h,rowNode:u}),d=a.map(c).sort((u,h)=>this.rowNodeSorter.compareRowNodes(o,u,h));return this.mergeSortedArrays(o,d,l.map(c)).map(({rowNode:u})=>u)}mergeSortedArrays(e,t,i){let o=[],s=0,r=0;for(;s<t.length&&r<i.length;)this.rowNodeSorter.compareRowNodes(e,t[s],i[r])<0?o.push(t[s++]):o.push(i[r++]);for(;s<t.length;)o.push(t[s++]);for(;r<i.length;)o.push(i[r++]);return o}updateChildIndexes(e){if(K(e.childrenAfterSort))return;let t=e.childrenAfterSort;for(let i=0;i<t.length;i++){let o=t[i],s=i===0,r=i===e.childrenAfterSort.length-1;o.setFirstChild(s),o.setLastChild(r),o.setChildIndex(i)}}updateGroupDataForHideOpenParents(e){if(!this.gos.get("groupHideOpenParents"))return;if(this.gos.get("treeData"))return S("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;let t=i=>{this.pullDownGroupDataForHideOpenParents(i.childrenAfterSort,!1),i.childrenAfterSort.forEach(o=>{o.hasChildren()&&t(o)})};e&&e.executeFromRootNode(i=>t(i))}pullDownGroupDataForHideOpenParents(e,t){!this.gos.get("groupHideOpenParents")||K(e)||e.forEach(i=>{(this.showRowGroupColsService?.getShowRowGroupCols()??[]).forEach(s=>{let r=s.getColDef().showRowGroup;if(typeof r!="string"){Q("groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup");return}let n=r,a=this.columnModel.getColDefCol(n);if(a!==i.rowGroupColumn)if(t)i.setGroupValue(s.getId(),void 0);else{let c=this.getFirstChildOfFirstChild(i,a);c&&i.setGroupValue(s.getId(),c.key)}})})}getFirstChildOfFirstChild(e,t){let i=e;for(;i;){let o=i.parent;if(o&&i.firstChild){if(o.rowGroupColumn===t)return o}else return null;i=o}return null}},PC=class extends b{constructor(){super(...arguments),this.beanName="sortStage"}wireBeans(e){this.sortService=e.sortService,this.sortController=e.sortController}execute(e){let t=this.sortController.getSortOptions(),i=M(t)&&t.length>0,o=i&&M(e.rowNodeTransactions)&&this.gos.get("deltaSort"),s=t.some(r=>Qe(this.gos)?r.column.isPrimary()&&r.column.isRowGroupActive():!!r.column.getColDef().showRowGroup);this.sortService.sort(t,i,o,e.rowNodeTransactions,e.changedPath,s)}},ir="32.3.9",hl={version:ir,moduleName:`${ni.ClientSideRowModelModule}-core`,rowModel:"clientSide",beans:[gC,xC,PC,DC,MC,EC]},TC={version:ir,moduleName:`${ni.ClientSideRowModelModule}-api`,beans:[cl],apiFunctions:{onGroupExpandedOrCollapsed:pC,refreshClientSideRowModel:fC,isRowDataEmpty:mC,forEachLeafNode:vC,forEachNodeAfterFilter:CC,forEachNodeAfterFilterAndSort:wC,resetRowHeights:yC,applyTransaction:bC,applyTransactionAsync:SC,flushAsyncTransactions:RC,getBestCostNodeSelection:FC},dependantModules:[hl,dl]},gl={version:ir,moduleName:ni.ClientSideRowModelModule,dependantModules:[hl,TC]};ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();ne();var Me=F.createContext({}),Bi=(e,t,i,o)=>{if(!e||e.componentFromFramework||t.isDestroyed())return;let r=e.newAgStackInstance();if(r==null)return;let n,a,l=!1;return r.then(c=>{if(l){t.destroyBean(c);return}n=c,a=n.getGui(),i.appendChild(a),pl(o,n)}),()=>{l=!0,n&&(a?.parentElement?.removeChild(a),t.destroyBean(n),o&&pl(o,void 0))}},pl=(e,t)=>{if(e)if(e instanceof Function)e(t);else{let i=e;i.current=t}},Ze=(...e)=>e.filter(i=>i!=null&&i!=="").join(" "),$e=class wl{constructor(...t){this.classesMap={},t.forEach(i=>{this.classesMap[i]=!0})}setClass(t,i){if(!!this.classesMap[t]==i)return this;let s=new wl;return s.classesMap={...this.classesMap},s.classesMap[t]=i,s}toString(){return Object.keys(this.classesMap).filter(i=>this.classesMap[i]).join(" ")}},ui=e=>{let t=()=>typeof Symbol=="function"&&Symbol.for,i=()=>t()?Symbol.for("react.memo"):60115;return typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===i()},sr=F.version?.split(".")[0],AC=sr==="16"||sr==="17";function kC(){return sr==="19"}var Mo=!1;function IC(e){return Mo||setTimeout(()=>Mo=!1,0),Mo=!0,e()}var rr=(e,t)=>{!AC&&e&&!Mo?F.flushSync(t):t()};function nr(e,t,i){if(t==null||e==null)return t;if(e===t||t.length===0&&e.length===0)return e;if(i||e.length===0&&t.length>0||e.length>0&&t.length===0)return t;let o=[],s=[],r=new Map,n=new Map;for(let a=0;a<t.length;a++){let l=t[a];n.set(l.instanceId,l)}for(let a=0;a<e.length;a++){let l=e[a];r.set(l.instanceId,l),n.has(l.instanceId)&&o.push(l)}for(let a=0;a<t.length;a++){let l=t[a],c=l.instanceId;r.has(c)||s.push(l)}return o.length===e.length&&s.length===0?e:o.length===0&&s.length===t.length?t:o.length===0?s:s.length===0?o:[...o,...s]}var yl=Jt((e,t)=>{let{ctrlsFactory:i,context:o}=se(Me),s=D(null),r=D(null),n=D(null),a=D(null),l=D(null),c=D(),[d,u]=E(),[h,g]=E(),[f,m]=E(),[p,v]=E(()=>new $e),[w,C]=E(()=>new $e("ag-hidden")),[R,P]=E(()=>new $e("ag-hidden")),[T,x]=E(()=>new $e("ag-invisible"));qt(t,()=>({refresh(){return!1}})),Le(()=>Bi(d,o,r.current),[d]);let A=W(X=>{if(s.current=X,!X){c.current=o.destroyBean(c.current);return}let Z={setInnerRenderer:(ee,G)=>{u(ee),m(G)},setChildCount:ee=>g(ee),addOrRemoveCssClass:(ee,G)=>v(N=>N.setClass(ee,G)),setContractedDisplayed:ee=>P(G=>G.setClass("ag-hidden",!ee)),setExpandedDisplayed:ee=>C(G=>G.setClass("ag-hidden",!ee)),setCheckboxVisible:ee=>x(G=>G.setClass("ag-invisible",!ee))},ge=i.getInstance("groupCellRendererCtrl");ge&&(c.current=o.createBean(ge),c.current.init(Z,X,n.current,a.current,l.current,yl,e))},[]),L=H(()=>`ag-cell-wrapper ${p.toString()}`,[p]),k=H(()=>`ag-group-expanded ${w.toString()}`,[w]),O=H(()=>`ag-group-contracted ${R.toString()}`,[R]),q=H(()=>`ag-group-checkbox ${T.toString()}`,[T]),Ce=d&&d.componentFromFramework,oe=Ce?d.componentClass:void 0,he=d==null&&f!=null,J=qe(f,!0);return F.createElement("span",{className:L,ref:A,...e.colDef?{}:{role:c.current?.getCellAriaRole()}},F.createElement("span",{className:k,ref:a}),F.createElement("span",{className:O,ref:l}),F.createElement("span",{className:q,ref:n}),F.createElement("span",{className:"ag-group-value",ref:r},he&&F.createElement(F.Fragment,null,J),Ce&&F.createElement(oe,{...d.params})),F.createElement("span",{className:"ag-group-child-count"},h))}),fl=yl,ar=gr({setMethods:()=>{}}),LC=e=>{let{initialProps:t,addUpdateCallback:i,CustomComponentClass:o,setMethods:s}=e,[{key:r,...n},a]=E(t);return ue(()=>{i(l=>a(l))},[]),F.createElement(ar.Provider,{value:{setMethods:s}},F.createElement(o,{key:r,...n}))},OC=re(LC),GC=0;function ml(){return`agPortalKey_${++GC}`}var bl=class{constructor(e,t,i,o){this.portal=null,this.oldPortal=null,this.reactComponent=e,this.portalManager=t,this.componentType=i,this.suppressFallbackMethods=!!o,this.statelessComponent=this.isStateless(this.reactComponent),this.key=ml(),this.portalKey=ml(),this.instanceCreated=this.isStatelessComponent()?ae.resolve(!1):new ae(s=>{this.resolveInstanceCreated=s})}getGui(){return this.eParentElement}getRootElement(){return this.eParentElement.firstChild}destroy(){this.componentInstance&&typeof this.componentInstance.destroy=="function"&&this.componentInstance.destroy();let e=this.portal;e&&this.portalManager.destroyPortal(e)}createParentElement(e){let t=this.portalManager.getComponentWrappingElement(),i=document.createElement(t||"div");return i.classList.add("ag-react-container"),e.reactContainer=i,i}addParentContainerStyleAndClasses(){this.componentInstance&&(this.componentInstance.getReactContainerStyle&&this.componentInstance.getReactContainerStyle()&&(S('Since v31.1 "getReactContainerStyle" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),Object.assign(this.eParentElement.style,this.componentInstance.getReactContainerStyle())),this.componentInstance.getReactContainerClasses&&this.componentInstance.getReactContainerClasses()&&(S('Since v31.1 "getReactContainerClasses" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),this.componentInstance.getReactContainerClasses().forEach(t=>this.eParentElement.classList.add(t))))}statelessComponentRendered(){return this.eParentElement.childElementCount>0||this.eParentElement.childNodes.length>0}getFrameworkComponentInstance(){return this.componentInstance}isStatelessComponent(){return this.statelessComponent}getReactComponentName(){return this.reactComponent.name}getMemoType(){return this.hasSymbol()?Symbol.for("react.memo"):60115}hasSymbol(){return typeof Symbol=="function"&&Symbol.for}isStateless(e){return typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===this.getMemoType()}hasMethod(e){let t=this.getFrameworkComponentInstance();return!!t&&t[e]!=null||this.fallbackMethodAvailable(e)}callMethod(e,t){let i=this.getFrameworkComponentInstance();if(this.isStatelessComponent())return this.fallbackMethod(e,t&&t[0]?t[0]:{});if(!i){setTimeout(()=>this.callMethod(e,t));return}let o=i[e];if(o)return o.apply(i,t);if(this.fallbackMethodAvailable(e))return this.fallbackMethod(e,t&&t[0]?t[0]:{})}addMethod(e,t){this[e]=t}init(e){return this.eParentElement=this.createParentElement(e),this.createOrUpdatePortal(e),new ae(t=>this.createReactComponent(t))}createOrUpdatePortal(e){this.isStatelessComponent()||(this.ref=t=>{this.componentInstance=t,this.addParentContainerStyleAndClasses(),this.resolveInstanceCreated?.(!0),this.resolveInstanceCreated=void 0},e.ref=this.ref),this.reactElement=this.createElement(this.reactComponent,{...e,key:this.key}),this.portal=Wi(this.reactElement,this.eParentElement,this.portalKey)}createElement(e,t){return ur(e,t)}createReactComponent(e){this.portalManager.mountReactPortal(this.portal,this,e)}rendered(){return this.isStatelessComponent()&&this.statelessComponentRendered()||!!(!this.isStatelessComponent()&&this.getFrameworkComponentInstance())}refreshComponent(e){this.oldPortal=this.portal,this.createOrUpdatePortal(e),this.portalManager.updateReactPortal(this.oldPortal,this.portal)}fallbackMethod(e,t){let i=this[`${e}Component`];if(!this.suppressFallbackMethods&&i)return i.bind(this)(t)}fallbackMethodAvailable(e){return this.suppressFallbackMethods?!1:!!this[`${e}Component`]}};function lr(e,t,i){e.forEach(o=>{let s=t[o];s&&(i[o]=s)})}var at=class extends bl{constructor(){super(...arguments),this.awaitUpdateCallback=new ae(e=>{this.resolveUpdateCallback=e}),this.wrapperComponent=OC}init(e){return this.sourceParams=e,super.init(this.getProps())}addMethod(){}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}getFrameworkComponentInstance(){return this}createElement(e,t){return super.createElement(this.wrapperComponent,{initialProps:t,CustomComponentClass:e,setMethods:i=>this.setMethods(i),addUpdateCallback:i=>{this.updateCallback=()=>(i(this.getProps()),new ae(o=>{setTimeout(()=>{o()})})),this.resolveUpdateCallback()}})}setMethods(e){this.providedMethods=e,lr(this.getOptionalMethods(),this.providedMethods,this)}getOptionalMethods(){return[]}getProps(){return{...this.sourceParams,key:this.key,ref:this.ref}}refreshProps(){return this.updateCallback?this.updateCallback():new ae(e=>this.awaitUpdateCallback.then(()=>{this.updateCallback().then(()=>e())}))}},NC=class extends at{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},HC=class extends at{constructor(){super(...arguments),this.date=null,this.onDateChange=e=>this.updateDate(e)}getDate(){return this.date}setDate(e){this.date=e,this.refreshProps()}refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled"]}updateDate(e){this.setDate(e),this.sourceParams.onDateChanged()}getProps(){let e=super.getProps();return e.date=this.date,e.onDateChange=this.onDateChange,delete e.onDateChanged,e}},zC=class extends at{constructor(){super(...arguments),this.label="",this.icon=null,this.shake=!1}setIcon(e,t){this.icon=e,this.shake=t,this.refreshProps()}setLabel(e){this.label=e,this.refreshProps()}getProps(){let e=super.getProps(),{label:t,icon:i,shake:o}=this;return e.label=t,e.icon=i,e.shake=o,e}},BC=class extends at{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e),this.onUiChange=()=>this.sourceParams.filterChangedCallback(),this.expectingNewMethods=!0,this.hasBeenActive=!1}isFilterActive(){return this.model!=null}doesFilterPass(e){return this.providedMethods.doesFilterPass(e)}getModel(){return this.model}setModel(e){return this.expectingNewMethods=!0,this.model=e,this.hasBeenActive||(this.hasBeenActive=this.isFilterActive()),this.refreshProps()}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getOptionalMethods(){return["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onAnyFilterChanged"]}setMethods(e){this.expectingNewMethods===!1&&this.hasBeenActive&&this.providedMethods?.doesFilterPass!==e?.doesFilterPass&&setTimeout(()=>{this.sourceParams.filterChangedCallback()}),this.expectingNewMethods=!1,super.setMethods(e)}updateModel(e){this.setModel(e).then(()=>this.sourceParams.filterChangedCallback())}getProps(){let e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e.onUiChange=this.onUiChange,delete e.filterChangedCallback,delete e.filterModifiedCallback,delete e.valueGetter,e}};function Sl(e,t){e.parentFilterInstance(i=>{(i.setModel(t)||ae.resolve()).then(()=>{e.filterParams.filterChangedCallback()})})}var VC=class{constructor(e,t){this.floatingFilterParams=e,this.refreshProps=t,this.model=null,this.onModelChange=i=>this.updateModel(i)}getProps(){return{...this.floatingFilterParams,model:this.model,onModelChange:this.onModelChange}}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.floatingFilterParams=e,this.refreshProps()}setMethods(e){lr(this.getOptionalMethods(),e,this)}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),Sl(this.floatingFilterParams,e)}},WC=class extends at{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e)}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),Sl(this.sourceParams,e)}getProps(){let e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e}},UC=class extends at{refresh(e){this.sourceParams=e,this.refreshProps()}},_C=class extends at{constructor(){super(...arguments),this.active=!1,this.expanded=!1,this.onActiveChange=e=>this.updateActive(e)}setActive(e){this.awaitSetActive(e)}setExpanded(e){this.expanded=e,this.refreshProps()}getOptionalMethods(){return["select","configureDefaults"]}awaitSetActive(e){return this.active=e,this.refreshProps()}updateActive(e){let t=this.awaitSetActive(e);e&&t.then(()=>this.sourceParams.onItemActivated())}getProps(){let e=super.getProps();return e.active=this.active,e.expanded=this.expanded,e.onActiveChange=this.onActiveChange,delete e.onItemActivated,e}},jC=class extends at{refresh(e){this.sourceParams=e,this.refreshProps()}},KC=class extends at{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},YC=class extends at{constructor(){super(...arguments),this.onStateChange=e=>this.updateState(e)}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getState(){return this.state}updateState(e){this.state=e,this.refreshProps(),this.sourceParams.onStateUpdated()}getProps(){let e=super.getProps();return e.state=this.state,e.onStateChange=this.onStateChange,e}};function cr(){S("As of v32, using custom components with `reactiveCustomComponents = false` is deprecated.")}var $C=1e3,QC=class{constructor(e,t,i){this.destroyed=!1,this.portals=[],this.hasPendingPortalUpdate=!1,this.wrappingElement=t||"div",this.refresher=e,this.maxComponentCreationTimeMs=i||$C}getPortals(){return this.portals}destroy(){this.destroyed=!0}destroyPortal(e){this.portals=this.portals.filter(t=>t!==e),this.batchUpdate()}getComponentWrappingElement(){return this.wrappingElement}mountReactPortal(e,t,i){this.portals=[...this.portals,e],this.waitForInstance(t,i),this.batchUpdate()}updateReactPortal(e,t){this.portals[this.portals.indexOf(e)]=t,this.batchUpdate()}batchUpdate(){this.hasPendingPortalUpdate||(setTimeout(()=>{this.destroyed||(this.refresher(),this.hasPendingPortalUpdate=!1)}),this.hasPendingPortalUpdate=!0)}waitForInstance(e,t,i=Date.now()){if(this.destroyed){t(null);return}if(e.rendered())t(e);else{if(Date.now()-i>=this.maxComponentCreationTimeMs&&!this.hasPendingPortalUpdate)return;window.setTimeout(()=>{this.waitForInstance(e,t,i)})}}},qC=({ctrl:e})=>{let t=e.isAlive(),{context:i}=se(Me),o=t?e.getColId():void 0,[s,r]=E(),n=D(),a=D(null),l=D(null),c=D(null),d=D(),u=D();t&&!u.current&&(u.current=new vt(()=>a.current));let h=W(p=>{if(a.current=p,n.current=p?i.createBean(new Ye):i.destroyBean(n.current),!p||!t)return;let v={setWidth:C=>{a.current&&(a.current.style.width=C)},addOrRemoveCssClass:(C,R)=>u.current.addOrRemoveCssClass(C,R),setAriaSort:C=>{a.current&&(C?Ln(a.current,C):On(a.current))},setUserCompDetails:C=>r(C),getUserCompInstance:()=>d.current||void 0};e.setComp(v,p,l.current,c.current,n.current);let w=e.getSelectAllGui();l.current?.insertAdjacentElement("afterend",w),n.current.addDestroyFunc(()=>w.remove())},[]);Le(()=>Bi(s,i,c.current,d),[s]),ue(()=>{e.setDragSource(a.current)},[s]);let g=H(()=>!!(s?.componentFromFramework&&ui(s.componentClass)),[s]),f=s&&s.componentFromFramework,m=s&&s.componentClass;return F.createElement("div",{ref:h,className:"ag-header-cell","col-id":o,role:"columnheader"},F.createElement("div",{ref:l,className:"ag-header-cell-resize",role:"presentation"}),F.createElement("div",{ref:c,className:"ag-header-cell-comp-wrapper",role:"presentation"},f&&g&&F.createElement(m,{...s.params}),f&&!g&&F.createElement(m,{...s.params,ref:d})))},JC=re(qC),XC=({ctrl:e})=>{let{context:t,gos:i}=se(Me),[o,s]=E(()=>new $e("ag-header-cell","ag-floating-filter")),[r,n]=E(()=>new $e),[a,l]=E(()=>new $e("ag-floating-filter-button","ag-hidden")),[c,d]=E("false"),[u,h]=E(),[,g]=E(1),f=D(),m=D(null),p=D(null),v=D(null),w=D(null),C=D(),R=D(),P=J=>{J!=null&&C.current&&C.current(J)},T=W(J=>{if(m.current=J,f.current=J?t.createBean(new Ye):t.destroyBean(f.current),!J)return;R.current=new ae(Z=>{C.current=Z});let X={addOrRemoveCssClass:(Z,ge)=>s(ee=>ee.setClass(Z,ge)),addOrRemoveBodyCssClass:(Z,ge)=>n(ee=>ee.setClass(Z,ge)),setButtonWrapperDisplayed:Z=>{l(ge=>ge.setClass("ag-hidden",!Z)),d(Z?"false":"true")},setWidth:Z=>{m.current&&(m.current.style.width=Z)},setCompDetails:Z=>h(Z),getFloatingFilterComp:()=>R.current?R.current:null,setMenuIcon:Z=>w.current?.appendChild(Z)};e.setComp(X,J,w.current,p.current,f.current)},[]);Le(()=>Bi(u,t,p.current,P),[u]);let x=H(()=>o.toString(),[o]),A=H(()=>r.toString(),[r]),L=H(()=>a.toString(),[a]),k=H(()=>!!(u&&u.componentFromFramework&&ui(u.componentClass)),[u]),O=H(()=>i.get("reactiveCustomComponents"),[]),q=H(()=>{if(u)if(O){let J=new VC(u.params,()=>g(X=>X+1));return P(J),J}else u.componentFromFramework&&cr()},[u]),Ce=q?.getProps(),oe=u&&u.componentFromFramework,he=u&&u.componentClass;return F.createElement("div",{ref:T,className:x,role:"gridcell"},F.createElement("div",{ref:p,className:A,role:"presentation"},oe&&!O&&F.createElement(he,{...u.params,ref:k?()=>{}:P}),oe&&O&&F.createElement(ar.Provider,{value:{setMethods:J=>q.setMethods(J)}},F.createElement(he,{...Ce}))),F.createElement("div",{ref:v,"aria-hidden":c,className:L,role:"presentation"},F.createElement("button",{ref:w,type:"button",className:"ag-button ag-floating-filter-button-button",tabIndex:-1})))},ZC=re(XC),ew=({ctrl:e})=>{let{context:t}=se(Me),[i,o]=E(()=>new $e),[s,r]=E(()=>new $e),[n,a]=E("false"),[l,c]=E(),[d,u]=E(),h=H(()=>e.getColId(),[]),g=D(),f=D(null),m=D(null),p=D(null),v=D(),w=W(A=>{if(f.current=A,g.current=A?t.createBean(new Ye):t.destroyBean(g.current),!A)return;let L={setWidth:k=>{f.current&&(f.current.style.width=k)},addOrRemoveCssClass:(k,O)=>o(q=>q.setClass(k,O)),setHeaderWrapperHidden:k=>{let O=p.current;O&&(k?O.style.setProperty("display","none"):O.style.removeProperty("display"))},setHeaderWrapperMaxHeight:k=>{let O=p.current;O&&(k!=null?O.style.setProperty("max-height",`${k}px`):O.style.removeProperty("max-height"),O.classList.toggle("ag-header-cell-comp-wrapper-limited-height",k!=null))},setUserCompDetails:k=>u(k),setResizableDisplayed:k=>{r(O=>O.setClass("ag-hidden",!k)),a(k?"false":"true")},setAriaExpanded:k=>c(k),getUserCompInstance:()=>v.current||void 0};e.setComp(L,A,m.current,p.current,g.current)},[]);Le(()=>Bi(d,t,p.current),[d]),ue(()=>{f.current&&e.setDragSource(f.current)},[d]);let C=H(()=>!!(d?.componentFromFramework&&ui(d.componentClass)),[d]),R=H(()=>"ag-header-group-cell "+i.toString(),[i]),P=H(()=>"ag-header-cell-resize "+s.toString(),[s]),T=d&&d.componentFromFramework,x=d&&d.componentClass;return F.createElement("div",{ref:w,className:R,"col-id":h,role:"columnheader","aria-expanded":l},F.createElement("div",{ref:p,className:"ag-header-cell-comp-wrapper",role:"presentation"},T&&C&&F.createElement(x,{...d.params}),T&&!C&&F.createElement(x,{...d.params,ref:v})),F.createElement("div",{ref:m,"aria-hidden":n,className:P}))},tw=re(ew),iw=({ctrl:e})=>{let{context:t}=se(Me),{topOffset:i,rowHeight:o}=H(()=>e.getTopAndHeight(),[]),s=e.getAriaRowIndex(),r=e.getHeaderRowClass(),[n,a]=E(()=>o+"px"),[l,c]=E(()=>i+"px"),d=D(null),u=D(null),[h,g]=E(()=>e.getHeaderCtrls()),f=D(),m=D(null),p=W(C=>{if(m.current=C,f.current=C?t.createBean(new Ye):t.destroyBean(f.current),!C)return;let R={setHeight:P=>a(P),setTop:P=>c(P),setHeaderCtrls:(P,T,x)=>{u.current=d.current,d.current=P;let A=nr(u.current,P,T);A!==u.current&&rr(x,()=>g(A))},setWidth:P=>{m.current&&(m.current.style.width=P)}};e.setComp(R,f.current,!1)},[]),v=H(()=>({height:n,top:l}),[n,l]),w=W(C=>{switch(e.getType()){case Do.COLUMN_GROUP:return F.createElement(tw,{ctrl:C,key:C.instanceId});case Do.FLOATING_FILTER:return F.createElement(ZC,{ctrl:C,key:C.instanceId});default:return F.createElement(JC,{ctrl:C,key:C.instanceId})}},[]);return F.createElement("div",{ref:p,className:r,role:"row",style:v,"aria-rowindex":s},h.map(w))},ow=re(iw),sw=({pinned:e})=>{let[t,i]=E(!0),[o,s]=E([]),{context:r}=se(Me),n=D(null),a=D(null),l=D(),c=e==="left",d=e==="right",u=!c&&!d,h=W(m=>{if(n.current=m,l.current=m?r.createBean(new Pa(e)):r.destroyBean(l.current),!m)return;let p={setDisplayed:i,setCtrls:v=>s(v),setCenterWidth:v=>{a.current&&(a.current.style.width=v)},setViewportScrollLeft:v=>{n.current&&(n.current.scrollLeft=v)},setPinnedContainerWidth:v=>{n.current&&(n.current.style.width=v,n.current.style.minWidth=v,n.current.style.maxWidth=v)}};l.current.setComp(p,n.current)},[]),g=t?"":"ag-hidden",f=()=>o.map(m=>F.createElement(ow,{ctrl:m,key:m.instanceId}));return F.createElement(F.Fragment,null,c&&F.createElement("div",{ref:h,className:"ag-pinned-left-header "+g,"aria-hidden":!t,role:"rowgroup"},f()),d&&F.createElement("div",{ref:h,className:"ag-pinned-right-header "+g,"aria-hidden":!t,role:"rowgroup"},f()),u&&F.createElement("div",{ref:h,className:"ag-header-viewport "+g,role:"presentation"},F.createElement("div",{ref:a,className:"ag-header-container",role:"rowgroup"},f())))},or=re(sw),rw=()=>{let[e,t]=E(()=>new $e),[i,o]=E(),{context:s}=se(Me),r=D(null),n=D(),a=W(d=>{if(r.current=d,n.current=d?s.createBean(new Ea):s.destroyBean(n.current),!d)return;let u={addOrRemoveCssClass:(h,g)=>t(f=>f.setClass(h,g)),setHeightAndMinHeight:h=>o(h)};n.current.setComp(u,d,d)},[]),l=H(()=>"ag-header "+e.toString(),[e]),c=H(()=>({height:i,minHeight:i}),[i]);return F.createElement("div",{ref:a,className:l,style:c,role:"presentation"},F.createElement(or,{pinned:"left"}),F.createElement(or,{pinned:null}),F.createElement(or,{pinned:"right"}))},nw=re(rw),aw=(e,t)=>{ue(()=>{let i=t.current;if(i){let o=i.parentElement;if(o){let s=document.createComment(e);return o.insertBefore(s,i),()=>{o.removeChild(s)}}}},[e])},$t=aw,lw=class{constructor(e,t){this.cellEditorParams=e,this.refreshProps=t,this.instanceCreated=new ae(i=>{this.resolveInstanceCreated=i}),this.onValueChange=i=>this.updateValue(i),this.value=e.value}getProps(){return{...this.cellEditorParams,initialValue:this.cellEditorParams.value,value:this.value,onValueChange:this.onValueChange}}getValue(){return this.value}refresh(e){this.cellEditorParams=e,this.refreshProps()}setMethods(e){lr(this.getOptionalMethods(),e,this)}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}setRef(e){this.componentInstance=e,this.resolveInstanceCreated?.(),this.resolveInstanceCreated=void 0}getOptionalMethods(){return["isCancelBeforeStart","isCancelAfterEnd","focusIn","focusOut","afterGuiAttached"]}updateValue(e){this.value=e,this.refreshProps()}},cw=e=>{let t=D(e),i=D(),o=D(!1),s=D(!1),[,r]=E(0);o.current&&(s.current=!0),ue(()=>(o.current||(i.current=t.current(),o.current=!0),r(n=>n+1),()=>{s.current&&i.current?.()}),[])},dw=e=>{let[t,i]=E(),{context:o,popupService:s,localeService:r,gos:n,editService:a}=se(Me);return cw(()=>{let{editDetails:l,cellCtrl:c,eParentCell:d}=e,{compDetails:u}=l,h=n.get("stopEditingWhenCellsLoseFocus"),g=o.createBean(a.createPopupEditorWrapper(u.params)),f=g.getGui();if(e.jsChildComp){let R=e.jsChildComp.getGui();R&&f.appendChild(R)}let m={column:c.getColumn(),rowNode:c.getRowNode(),type:"popupCellEditor",eventSource:d,ePopup:f,position:l.popupPosition,keepWithinBounds:!0},p=s.positionPopupByComponent.bind(s,m),v=r.getLocaleTextFunc(),w=s.addPopup({modal:h,eChild:f,closeOnEsc:!0,closedCallback:()=>{c.onPopupEditorClosed()},anchorToElement:d,positionCallback:p,ariaLabel:v("ariaLabelCellEditor","Cell Editor")}),C=w?w.hideFunc:void 0;return i(g),e.jsChildComp?.afterGuiAttached?.(),()=>{C?.(),o.destroyBean(g)}}),F.createElement(F.Fragment,null,t&&e.wrappedContent&&Wi(e.wrappedContent,t.getGui()))},vl=re(dw),uw=(e,t,i,o,s,r)=>{let{context:n}=se(Me),a=W(()=>{let l=s.current;if(!l)return;let c=l.getGui();c&&c.parentElement&&c.parentElement.removeChild(c),n.destroyBean(l),s.current=void 0},[]);ue(()=>{let l=e!=null,c=e?.compDetails&&!e.compDetails.componentFromFramework,d=t&&i==null;if(!(l&&c&&!d)){a();return}let h=e.compDetails;if(s.current){let f=s.current,p=f.refresh!=null&&e.force==!1?f.refresh(h.params):!1;if(p===!0||p===void 0)return;a()}let g=h.newAgStackInstance();g?.then(f=>{if(!f)return;let m=f.getGui();if(!m)return;(t?i:r.current).appendChild(m),s.current=f})},[e,t,o]),ue(()=>a,[])},hw=uw,gw=(e,t,i)=>{let{compProxy:o}=e;i(o);let s=o.getProps(),r=ui(t);return F.createElement(ar.Provider,{value:{setMethods:n=>o.setMethods(n)}},r?F.createElement(t,{...s}):F.createElement(t,{...s,ref:n=>o.setRef(n)}))},Cl=(e,t,i)=>{let o=e.compProxy;return F.createElement(F.Fragment,null,o?gw(e,t,i):F.createElement(t,{...e.compDetails.params,ref:i}))},pw=(e,t,i,o,s)=>{let r=e.compDetails,n=r.componentClass,a=r.componentFromFramework&&!e.popup,l=r.componentFromFramework&&e.popup,c=!r.componentFromFramework&&e.popup;return F.createElement(F.Fragment,null,a&&Cl(e,n,t),l&&F.createElement(vl,{editDetails:e,cellCtrl:o,eParentCell:i,wrappedContent:Cl(e,n,t)}),c&&s&&F.createElement(vl,{editDetails:e,cellCtrl:o,eParentCell:i,jsChildComp:s}))},fw=(e,t,i,o,s,r,n)=>{let{compDetails:a,value:l}=e,c=!a,d=a&&a.componentFromFramework,u=a&&a.componentClass,h=l?.toString?l.toString():l,g=()=>F.createElement(F.Fragment,null,c&&F.createElement(F.Fragment,null,h),d&&!r&&F.createElement(u,{...a.params,key:t,ref:o}),d&&r&&F.createElement(u,{...a.params,key:t}));return F.createElement(F.Fragment,null,s?F.createElement("span",{role:"presentation",id:`cell-${i}`,className:"ag-cell-value",ref:n},g()):g())},mw=({cellCtrl:e,printLayout:t,editingRow:i})=>{let{context:o}=se(Me),{colIdSanitised:s,instanceId:r}=e,n=D(),[a,l]=E(()=>e.isCellRenderer()?void 0:{compDetails:void 0,value:e.getValueToDisplay(),force:!1}),[c,d]=E(),[u,h]=E(1),[g,f]=E(),[m,p]=E(!1),[v,w]=E(!1),[C,R]=E(!1),[P,T]=E(),x=H(()=>e.isForceWrapper(),[e]),A=H(()=>e.getCellAriaRole(),[e]),L=D(null),k=D(null),O=D(),q=D(),Ce=D(),oe=D([]),he=D(),[J,X]=E(0),Z=W(le=>{he.current=le,X(we=>we+1)},[]),ge=a!=null&&(m||C||v),ee=x||ge,G=W(le=>{if(q.current=le,le){let we=le.isCancelBeforeStart&&le.isCancelBeforeStart();setTimeout(()=>{we?(e.stopEditing(!0),e.focusCell(!0)):e.cellEditorAttached()})}},[e]),N=D();N.current||(N.current=new vt(()=>L.current)),hw(a,ee,he.current,J,O,L);let j=D();Le(()=>{let le=j.current,we=a;if(j.current=a,le==null||le.compDetails==null||we==null||we.compDetails==null)return;let be=le.compDetails,te=we.compDetails;if(be.componentClass!=te.componentClass||k.current?.refresh==null)return;k.current.refresh(te.params)!=!0&&h(Ne=>Ne+1)},[a]),Le(()=>{if(!(c&&!c.compDetails.componentFromFramework))return;let we=c.compDetails,be=c.popup===!0,te=we.newAgStackInstance();return te.then(me=>{if(!me)return;let Ne=me.getGui();G(me),be||((x?Ce:L).current?.appendChild(Ne),me.afterGuiAttached&&me.afterGuiAttached()),T(me)}),()=>{te.then(me=>{let Ne=me.getGui();o.destroyBean(me),G(void 0),T(void 0),Ne?.parentElement?.removeChild(Ne)})}},[c]);let V=W(le=>{if(Ce.current=le,!le){oe.current.forEach(be=>be()),oe.current=[];return}let we=be=>{if(be){let te=be.getGui();le.insertAdjacentElement("afterbegin",te),oe.current.push(()=>{o.destroyBean(be),Mt(te)})}return be};if(m){let be=e.createSelectionCheckbox();we(be)}C&&we(e.createDndSource()),v&&we(e.createRowDragComp())},[e,o,C,v,m]),U=W(le=>{if(L.current=le,n.current=le?o.createBean(new Ye):o.destroyBean(n.current),!le||!e)return;let we={addOrRemoveCssClass:(te,me)=>N.current.addOrRemoveCssClass(te,me),setUserStyles:te=>f(te),getFocusableElement:()=>L.current,setIncludeSelection:te=>p(te),setIncludeRowDrag:te=>w(te),setIncludeDndSource:te=>R(te),getCellEditor:()=>q.current||null,getCellRenderer:()=>k.current??O.current,getParentOfValue:()=>he.current??Ce.current??L.current,setRenderDetails:(te,me,Ne)=>{l(lt=>lt?.compDetails!==te||lt?.value!==me||lt?.force!==Ne?{value:me,compDetails:te,force:Ne}:lt)},setEditDetails:(te,me,Ne,lt)=>{if(te){let Qt;lt?Qt=new lw(te.params,()=>h(Po=>Po+1)):te.componentFromFramework&&cr(),d({compDetails:te,popup:me,popupPosition:Ne,compProxy:Qt}),me||l(void 0)}else d(Qt=>{Qt?.compProxy&&(q.current=void 0)})}},be=Ce.current||void 0;e.setComp(we,le,be,t,i,n.current)},[]),Y=H(()=>!!(a?.compDetails?.componentFromFramework&&ui(a.compDetails.componentClass)),[a]);Le(()=>{L.current&&(N.current.addOrRemoveCssClass("ag-cell-value",!ee),N.current.addOrRemoveCssClass("ag-cell-inline-editing",!!c&&!c.popup),N.current.addOrRemoveCssClass("ag-cell-popup-editing",!!c&&!!c.popup),N.current.addOrRemoveCssClass("ag-cell-not-inline-editing",!c||!!c.popup),e.getRowCtrl()?.setInlineEditingCss(),e.shouldRestoreFocus()&&!e.isEditing()&&L.current.focus({preventScroll:!0}))});let Pe=()=>F.createElement(F.Fragment,null,a!=null&&fw(a,u,r,k,ee,Y,Z),c!=null&&pw(c,G,L.current,e,P)),et=W(()=>e.onFocusOut(),[]);return F.createElement("div",{ref:U,style:g,role:A,"col-id":s,onBlur:et},ee?F.createElement("div",{className:"ag-cell-wrapper",role:"presentation",ref:V},Pe()):Pe())},vw=re(mw),Cw=({rowCtrl:e,containerType:t})=>{let{context:i,gos:o}=se(Me),s=D(),r=D(e.getDomOrder()),n=e.isFullWidth(),a=e.getRowNode().displayed,[l,c]=E(()=>a?e.getRowIndex():null),[d,u]=E(()=>e.getRowId()),[h,g]=E(()=>e.getBusinessKey()),[f,m]=E(()=>e.getRowStyles()),p=D(null),v=D(null),[w,C]=E(()=>null),[R,P]=E(),[T,x]=E(()=>a?e.getInitialRowTop(t):void 0),[A,L]=E(()=>a?e.getInitialTransform(t):void 0),k=D(null),O=D(),q=D(!1),[Ce,oe]=E(0);ue(()=>{if(q.current||!R||Ce>10)return;let V=k.current?.firstChild;V?(e.setupDetailRowAutoHeight(V),q.current=!0):oe(U=>U+1)},[R,Ce]);let he=D();he.current||(he.current=new vt(()=>k.current));let J=W(V=>{if(k.current=V,s.current=V?i.createBean(new Ye):i.destroyBean(s.current),!V){e.unsetComp(t);return}if(!e.isAlive())return;let U={setTop:x,setTransform:L,addOrRemoveCssClass:(Y,Pe)=>he.current.addOrRemoveCssClass(Y,Pe),setDomOrder:Y=>r.current=Y,setRowIndex:c,setRowId:u,setRowBusinessKey:g,setUserStyles:m,setCellCtrls:(Y,Pe)=>{v.current=p.current;let et=nr(v.current,Y,r.current);et!==v.current&&(p.current=et,rr(Pe,()=>C(et)))},showFullWidth:Y=>P(Y),getFullWidthCellRenderer:()=>O.current,refreshFullWidth:Y=>G.current?(P(Pe=>({...Pe,params:Y()})),!0):!O.current||!O.current.refresh?!1:O.current.refresh(Y())};e.setComp(U,V,t,s.current)},[]);Le(()=>Bi(R,i,k.current,O),[R]);let X=H(()=>{let V={top:T,transform:A};return Object.assign(V,f),V},[T,A,f]),Z=n&&R?.componentFromFramework,ge=!n&&w!=null,ee=H(()=>!!(R?.componentFromFramework&&ui(R.componentClass)),[R]),G=D(!1);ue(()=>{G.current=ee&&!!R&&!!o.get("reactiveCustomComponents")},[ee,R]);let N=()=>w?.map(V=>F.createElement(vw,{cellCtrl:V,editingRow:e.isEditing(),printLayout:e.isPrintLayout(),key:V.instanceId})),j=()=>{let V=R.componentClass;return F.createElement(F.Fragment,null,ee?F.createElement(V,{...R.params}):F.createElement(V,{...R.params,ref:O}))};return F.createElement("div",{ref:J,role:"row",style:X,"row-index":l,"row-id":d,"row-business-key":h},ge&&N(),Z&&j())},ww=re(Cw),yw=({name:e})=>{let{context:t}=se(Me),i=H(()=>Gt(e),[e]),o=D(null),s=D(null),r=D([]),n=D([]),[a,l]=E(()=>[]),c=D(!1),d=D(),u=H(()=>Ze(i.viewport),[i]),h=H(()=>Ze(i.container),[i]),g=i.type==="center",f=g?o:s;$t(" AG Row Container "+e+" ",f);let m=W(()=>g?o.current!=null&&s.current!=null:s.current!=null,[]),p=W(()=>g?o.current==null&&s.current==null:s.current==null,[]),v=W(()=>{if(p()&&(d.current=t.destroyBean(d.current)),m()){let P=x=>{let A=nr(n.current,r.current,c.current);A!==n.current&&(n.current=A,rr(x,()=>l(A)))},T={setHorizontalScroll:x=>{o.current&&(o.current.scrollLeft=x)},setViewportHeight:x=>{o.current&&(o.current.style.height=x)},setRowCtrls:({rowCtrls:x,useFlushSync:A})=>{let L=!!A&&r.current.length>0&&x.length>0;r.current=x,P(L)},setDomOrder:x=>{c.current!=x&&(c.current=x,P(!1))},setContainerWidth:x=>{s.current&&(s.current.style.width=x)},setOffsetTop:x=>{s.current&&(s.current.style.transform=`translateY(${x})`)}};d.current=t.createBean(new za(e)),d.current.setComp(T,s.current,o.current)}},[m,p]),w=W(P=>{s.current=P,v()},[v]),C=W(P=>{o.current=P,v()},[v]),R=()=>F.createElement("div",{className:h,ref:w,role:"rowgroup"},a.map(P=>F.createElement(ww,{rowCtrl:P,containerType:i.type,key:P.instanceId})));return F.createElement(F.Fragment,null,g?F.createElement("div",{className:u,ref:C,role:"presentation"},R()):R())},bw=re(yw),Sw=()=>{let{context:e,resizeObserverService:t}=se(Me),[i,o]=E(""),[s,r]=E(0),[n,a]=E(0),[l,c]=E("0px"),[d,u]=E("0px"),[h,g]=E("100%"),[f,m]=E("0px"),[p,v]=E("0px"),[w,C]=E("100%"),[R,P]=E(""),[T,x]=E(""),[A,L]=E(null),[k,O]=E(""),[q,Ce]=E(null),[oe,he]=E("ag-layout-normal"),J=D();J.current||(J.current=new vt(()=>X.current));let X=D(null),Z=D(null),ge=D(null),ee=D(null),G=D(null),N=D(null),j=D(null),V=D([]),U=D([]);$t(" AG Grid Body ",X),$t(" AG Pinned Top ",Z),$t(" AG Sticky Top ",ge),$t(" AG Middle ",N),$t(" AG Pinned Bottom ",j);let Y=W(tt=>{if(X.current=tt,!tt){V.current=e.destroyBeans(V.current),U.current.forEach(ye=>ye()),U.current=[];return}if(!e)return;let Vi=(ye,He)=>{ye.appendChild(He),U.current.push(()=>ye.removeChild(He))},To=ye=>{let He=e.createBean(new ye);return V.current.push(He),He},gi=(ye,He,Ml)=>{Vi(ye,document.createComment(Ml)),Vi(ye,To(He).getGui())};gi(tt,ka," AG Fake Horizontal Scroll "),gi(tt,Ta," AG Overlay Wrapper "),G.current&&gi(G.current,La," AG Fake Vertical Scroll ");let El={setRowAnimationCssOnBodyViewport:o,setColumnCount:ye=>{X.current&&kn(X.current,ye)},setRowCount:ye=>{X.current&&An(X.current,ye)},setTopHeight:r,setBottomHeight:a,setStickyTopHeight:c,setStickyTopTop:u,setStickyTopWidth:g,setTopDisplay:P,setBottomDisplay:x,setColumnMovingCss:(ye,He)=>J.current.addOrRemoveCssClass(ye,He),updateLayoutClasses:he,setAlwaysVerticalScrollClass:L,setPinnedTopBottomOverflowY:O,setCellSelectableCss:(ye,He)=>Ce(He?ye:null),setBodyViewportWidth:ye=>{N.current&&(N.current.style.width=ye)},registerBodyViewportResizeListener:ye=>{if(N.current){let He=t.observeResize(N.current,ye);U.current.push(()=>He())}},setStickyBottomHeight:m,setStickyBottomBottom:v,setStickyBottomWidth:C},dr=e.createBean(new Ba);V.current.push(dr),dr.setComp(El,tt,N.current,Z.current,j.current,ge.current,ee.current)},[]),Pe=H(()=>Ze("ag-root","ag-unselectable",oe),[oe]),et=H(()=>Ze("ag-body-viewport",i,oe,A,q),[i,oe,A,q]),le=H(()=>Ze("ag-body",oe),[oe]),we=H(()=>Ze("ag-floating-top",q),[q]),be=H(()=>Ze("ag-sticky-top",q),[q]),te=H(()=>Ze("ag-sticky-bottom",f==="0px"?"ag-hidden":null,q),[q,f]),me=H(()=>Ze("ag-floating-bottom",q),[q]),Ne=H(()=>({height:s,minHeight:s,display:R,overflowY:k}),[s,R,k]),lt=H(()=>({height:l,top:d,width:h}),[l,d,h]),Qt=H(()=>({height:f,bottom:p,width:w}),[f,p,w]),Po=H(()=>({height:n,minHeight:n,display:T,overflowY:k}),[n,T,k]),Dl=tt=>F.createElement(bw,{name:tt,key:`${tt}-container`}),hi=({section:tt,children:Vi,className:To,style:gi})=>F.createElement("div",{ref:tt,className:To,role:"presentation",style:gi},Vi.map(Dl));return F.createElement("div",{ref:Y,className:Pe,role:"treegrid"},F.createElement(nw,null),hi({section:Z,className:we,style:Ne,children:["topLeft","topCenter","topRight","topFullWidth"]}),F.createElement("div",{className:le,ref:G,role:"presentation"},hi({section:N,className:et,children:["left","center","right","fullWidth"]})),hi({section:ge,className:be,style:lt,children:["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"]}),hi({section:ee,className:te,style:Qt,children:["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"]}),hi({section:j,className:me,style:Po,children:["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"]}))},Rw=re(Sw),Fw=(e,t)=>{let{children:i,eFocusableElement:o,onTabKeyDown:s,gridCtrl:r,forceFocusOutWhenTabGuardsAreEmpty:n}=e,{context:a}=se(Me),l=D(null),c=D(null),d=D(),u=p=>{let v=p==null?void 0:parseInt(p,10).toString();[l,c].forEach(w=>{v===void 0?w.current?.removeAttribute("tabindex"):w.current?.setAttribute("tabindex",v)})};qt(t,()=>({forceFocusOutOfContainer(p){d.current?.forceFocusOutOfContainer(p)}}));let h=W(()=>{let p=l.current,v=c.current;if(!p&&!v){d.current=a.destroyBean(d.current);return}if(p&&v){let w={setTabIndex:u};d.current=a.createBean(new qs({comp:w,eTopGuard:p,eBottomGuard:v,eFocusableElement:o,onTabKeyDown:s,forceFocusOutWhenTabGuardsAreEmpty:n,focusInnerElement:C=>r.focusInnerElement(C)}))}},[]),g=W(p=>{l.current=p,h()},[h]),f=W(p=>{c.current=p,h()},[h]),m=p=>{let v=p==="top"?Hi.TAB_GUARD_TOP:Hi.TAB_GUARD_BOTTOM;return F.createElement("div",{className:`${Hi.TAB_GUARD} ${v}`,role:"presentation",ref:p==="top"?g:f})};return F.createElement(F.Fragment,null,m("top"),i,m("bottom"))},xw=Jt(Fw),Dw=re(xw),Ew=({context:e})=>{let[t,i]=E(""),[o,s]=E(""),[r,n]=E(""),[a,l]=E(null),[c,d]=E(null),[u,h]=E(!1),[g,f]=E(),m=D(),p=D(null),v=D(),[w,C]=E(null),R=D(()=>{}),P=D(),T=D([]),x=W(()=>{},[]),A=H(()=>e.isDestroyed()?null:e.getBeans(),[e]);$t(" AG Grid ",p);let L=W(oe=>{if(p.current=oe,m.current=oe?e.createBean(new Qa):e.destroyBean(m.current),!oe||e.isDestroyed())return;let he=m.current;R.current=he.focusInnerElement.bind(he);let J={destroyGridUi:()=>{},setRtlClass:i,setGridThemeClass:s,forceFocusOutOfContainer:X=>{if(!X&&P.current?.isDisplayed()){P.current.forceFocusOutOfContainer(X);return}v.current?.forceFocusOutOfContainer(X)},updateLayoutClasses:n,getFocusableContainers:()=>{let X=[],Z=p.current?.querySelector(".ag-root");return Z&&X.push({getGui:()=>Z}),T.current.forEach(ge=>{ge.isDisplayed()&&X.push(ge)}),X},setCursor:l,setUserSelect:d};he.setComp(J,oe,oe),h(!0)},[]);ue(()=>{let oe=m.current,he=p.current;if(!g||!A||!oe||!w||!he)return;let J=[],{watermarkSelector:X,paginationSelector:Z,sideBarSelector:ge,statusBarSelector:ee,gridHeaderDropZonesSelector:G}=oe.getOptionalSelectors(),N=[];if(G){let V=e.createBean(new G.component),U=V.getGui();he.insertAdjacentElement("afterbegin",U),N.push(U),J.push(V)}if(ge){let V=e.createBean(new ge.component),U=V.getGui(),Y=w.querySelector(".ag-tab-guard-bottom");Y&&(Y.insertAdjacentElement("beforebegin",U),N.push(U)),J.push(V),T.current.push(V)}let j=V=>{let U=e.createBean(new V),Y=U.getGui();return he.insertAdjacentElement("beforeend",Y),N.push(Y),J.push(U),U};if(ee&&j(ee.component),Z){let V=j(Z.component);P.current=V,T.current.push(V)}return X&&j(X.component),()=>{e.destroyBeans(J),N.forEach(V=>{V.parentElement?.removeChild(V)})}},[g,w,A]);let k=H(()=>Ze("ag-root-wrapper",t,o,r),[t,o,r]),O=H(()=>Ze("ag-root-wrapper-body","ag-focus-managed",r),[r]),q=H(()=>({userSelect:c??"",WebkitUserSelect:c??"",cursor:a??""}),[c,a]),Ce=W(oe=>{v.current=oe,f(oe!==null)},[]);return F.createElement("div",{ref:L,className:k,style:q,role:"presentation"},F.createElement("div",{className:O,ref:C,role:"presentation"},u&&w&&A&&F.createElement(Me.Provider,{value:A},F.createElement(Dw,{ref:Ce,eFocusableElement:w,onTabKeyDown:x,gridCtrl:m.current,forceFocusOutWhenTabGuardsAreEmpty:!0},F.createElement(Rw,null)))))},Mw=re(Ew),Pw=class extends b{wireBeans(e){this.ctrlsService=e.ctrlsService}areHeaderCellsRendered(){return this.ctrlsService.getHeaderRowContainerCtrls().every(e=>e.getAllCtrls().every(t=>t.areCellsRendered()))}},Rl=e=>{let t=D(),i=D(null),o=D(null),s=D([]),r=D([]),n=D(e),a=D(),l=D(),c=D(!1),[d,u]=E(void 0),[,h]=E(0),g=W(p=>{if(i.current=p,!p){s.current.forEach(k=>k()),s.current.length=0;return}let v=e.modules||[];o.current||(o.current=new QC(()=>h(k=>k+1),e.componentWrappingElement,e.maxComponentCreationTimeMs),s.current.push(()=>{o.current?.destroy(),o.current=null}));let w=xn(e.gridOptions,e),C=()=>{if(c.current){let k=()=>a.current?.shouldQueueUpdates()?void 0:r.current.shift(),O=k();for(;O;)O(),O=k()}},R=new Iw(C);a.current=R;let P=new Pw,T={providedBeanInstances:{frameworkComponentWrapper:new Aw(o.current,w.reactiveCustomComponents??al("reactiveCustomComponents")??!0),renderStatusService:P},modules:v,frameworkOverrides:R},x=k=>{u(k),k.createBean(P),s.current.push(()=>{k.destroy()}),k.getBean("ctrlsService").whenReady({addDestroyFunc:O=>{s.current.push(O)}},()=>{if(k.isDestroyed())return;let O=t.current;O&&e.setGridApi?.(O)})},A=k=>{k.getBean("ctrlsService").whenReady({addDestroyFunc:O=>{s.current.push(O)}},()=>{r.current.forEach(O=>O()),r.current.length=0,c.current=!0})},L=new ll;w.gridId??(w.gridId=l.current),t.current=L.create(p,w,x,A,T),s.current.push(()=>{t.current=void 0}),t.current&&(l.current=t.current.getGridId())},[]),f=H(()=>({height:"100%",...e.containerStyle||{}}),[e.containerStyle]),m=W(p=>{c.current&&!a.current?.shouldQueueUpdates()?p():r.current.push(p)},[]);return ue(()=>{let p=Tw(n.current,e);n.current=e,m(()=>{t.current&&Dn(p,t.current)})},[e]),F.createElement("div",{style:f,className:e.className,ref:g},d&&!d.isDestroyed()?F.createElement(Mw,{context:d}):null,o.current?.getPortals()??null)};function Tw(e,t){let i={};return Object.keys(t).forEach(o=>{let s=t[o];e[o]!==s&&(i[o]=s)}),i}var Aw=class extends ul{constructor(e,t){super(),this.parent=e,this.reactiveCustomComponents=t}createWrapper(e,t){if(this.reactiveCustomComponents){let s=(r=>{switch(r){case"filter":return BC;case"floatingFilterComponent":return WC;case"dateComponent":return HC;case"dragAndDropImageComponent":return zC;case"loadingOverlayComponent":return UC;case"noRowsOverlayComponent":return jC;case"statusPanel":return KC;case"toolPanel":return YC;case"menuItem":return _C;case"cellRenderer":return NC}})(t.propertyName);if(s)return new s(e,this.parent,t)}else switch(t.propertyName){case"filter":case"floatingFilterComponent":case"dateComponent":case"dragAndDropImageComponent":case"loadingOverlayComponent":case"noRowsOverlayComponent":case"statusPanel":case"toolPanel":case"menuItem":case"cellRenderer":cr();break}let i=!t.cellRenderer&&t.propertyName!=="toolPanel";return new bl(e,this.parent,t,i)}},kw=Jt((e,t)=>{let{ctrlsFactory:i,context:o,gos:s,resizeObserverService:r,rowModel:n}=se(Me),[a,l]=E(()=>new $e),[c,d]=E(()=>new $e),[u,h]=E(),[g,f]=E(),m=D(),p=D(null),v=D(),w=H(()=>Ue.__getGridRegisteredModules(e.api.getGridId()),[e]),C=H(()=>a.toString()+" ag-details-row",[a]),R=H(()=>c.toString()+" ag-details-grid",[c]);t&&qt(t,()=>({refresh(){return m.current?.refresh()??!1}})),e.template&&S("detailCellRendererParams.template is not supported by AG Grid React. To change the template, provide a Custom Detail Cell Renderer. See https://ag-grid.com/react-data-grid/master-detail-custom-detail/");let P=W(x=>{if(p.current=x,!x){m.current=o.destroyBean(m.current),v.current?.();return}let A={addOrRemoveCssClass:(k,O)=>l(q=>q.setClass(k,O)),addOrRemoveDetailGridCssClass:(k,O)=>d(q=>q.setClass(k,O)),setDetailGrid:k=>h(k),setRowData:k=>f(k),getGui:()=>p.current},L=i.getInstance("detailCellRenderer");if(L&&(o.createBean(L),L.init(A,e),m.current=L,s.get("detailRowAutoHeight"))){let k=()=>{if(p.current==null)return;let O=p.current.clientHeight;O!=null&&O>0&&setTimeout(()=>{e.node.setRowHeight(O),(de(s)||mt(s))&&n.onRowHeightChanged()},0)};v.current=r.observeResize(x,k),k()}},[]),T=W(x=>{m.current?.registerDetailWithMaster(x)},[]);return F.createElement("div",{className:C,ref:P},u&&F.createElement(Rl,{className:R,...u,modules:w,rowData:g,setGridApi:T}))}),Iw=class extends Js{constructor(e){super("react"),this.processQueuedUpdates=e,this.queueUpdates=!1,this.frameworkComponents={agGroupCellRenderer:fl,agGroupRowRenderer:fl,agDetailCellRenderer:kw},this.wrapIncoming=(t,i)=>i==="ensureVisible"?IC(t):t(),this.renderingEngine="react"}frameworkComponent(e){return this.frameworkComponents[e]}isFrameworkComponent(e){if(!e)return!1;let t=e.prototype;return!(t&&"getGui"in t)}getLockOnRefresh(){this.queueUpdates=!0}releaseLockOnRefresh(){this.queueUpdates=!1,this.processQueuedUpdates()}shouldQueueUpdates(){return this.queueUpdates}runWhenReadyAsync(){return kC()}},Fl=class extends hr{constructor(){super(...arguments),this.apiListeners=[],this.setGridApi=e=>{this.api=e,this.apiListeners.forEach(t=>t(e))}}registerApiListener(e){this.apiListeners.push(e)}componentWillUnmount(){this.apiListeners.length=0}render(){return F.createElement(Rl,{...this.props,setGridApi:this.setGridApi})}};Pl();Ue.registerModules([gl]);function xl(){let[e,t]=E([]),[i,o]=E({}),s=window.__ROOT_CTX.rootConfig.i18n?.locales||[],r=["en",...yr(s.filter(G=>G!=="en"&&!wr(G))).filter(G=>G!=="en").sort()],[n,a]=Pr("q",""),[l,c]=E(n),[d,u]=Ho("locales",[]),[h,g]=Ho("tags",[]),[f,m]=E(!1),[p,v]=E(!0),[w,C]=E(!1),[R,P]=E(!1),[T,x]=E(!1),[A,L]=E([]),[k,O]=E([]),[q,Ce]=E(!1),oe=async()=>{Ce(!0);try{let G=e.map(N=>{let j=N.tags||[],V=Array.from(new Set([...j,...A])).sort();return{hash:N.hash,tags:V}});await Lo(G),await X(),P(!1),L([])}catch(G){console.error(G),Ui(async()=>{throw G})}finally{Ce(!1)}},he=async()=>{Ce(!0);try{let G=e.map(N=>{let V=(N.tags||[]).filter(U=>!k.includes(U));return{hash:N.hash,tags:V}});await Lo(G),await X(),x(!1),O([])}catch(G){console.error(G),Ui(async()=>{throw G})}finally{Ce(!1)}};ue(()=>{c(n)},[n]),ue(()=>{let G=setTimeout(()=>{l!==n&&a(l)},300);return()=>clearTimeout(G)},[l,n]);let J=H(()=>{let G=new Set;Object.values(i).forEach(U=>{U.tags&&(Array.isArray(U.tags)?U.tags.forEach(Y=>G.add(Y)):G.add(U.tags))});let N=[],j=Array.from(G).sort(),V=new Set;return j.forEach(U=>{U.includes("/")&&V.add(U.split("/")[0])}),j.forEach(U=>{let Y="Other";U.includes("/")?Y=U.split("/")[0]:V.has(U)&&(Y=U),N.push({value:U,label:U,group:Y})}),N},[i]);async function X(){v(!0),await Ui(async()=>{let G=await Cr();console.log("Loaded translations:",Object.keys(G).length),o(G),v(!1)})}ue(()=>{X()},[]),ue(()=>{let G=[];Object.entries(i).forEach(([N,j])=>{let V=Lw(j.tags);if(h.length>0&&!h.some(Pe=>V.includes(Pe)))return;if(n){let Y=(n||"").toLowerCase();if(!j)return;let Pe=j.source||"",et=N||"",le,we,be;if(w?(le=Pe.toLowerCase()===Y,we=et.toLowerCase()===Y,be=r.some(te=>_i(j,te).toLowerCase()===Y)):(le=Pe.toLowerCase().includes(Y),we=et.toLowerCase().includes(Y),be=r.some(te=>_i(j,te).toLowerCase().includes(Y))),!le&&!we&&!be)return}let U={hash:N,source:j.source||"",tags:V};r.forEach(Y=>{U[Y]=_i(j,Y)}),G.push(U)}),t(G)},[i,n,h,d,w]);let Z=d.length>0?d:r,ge=H(()=>{let G=[{field:"source",headerName:"Source",headerClass:"no-border-header",pinned:"left",lockPinned:!0,lockPosition:!0,suppressMovable:!0,width:310,sortable:!0,resizable:!0,wrapText:!0,autoHeight:!0,cellRenderer:N=>I("div",{style:{whiteSpace:"normal",lineHeight:"1.5",padding:"8px 0",fontSize:"12px"},children:[I("div",{style:{display:"flex",alignItems:"center",gap:4},children:I("span",{children:N.value})}),f&&I("div",{style:{fontSize:"0.8em",color:"#888",marginTop:4},children:I("a",{href:`/cms/translations/${N.data.hash}`,style:{textDecoration:"none",color:"inherit"},children:N.data.hash})})]})}];return Z.forEach(N=>{G.push({field:N,headerName:N,width:300,editable:!1,resizable:!0,wrapText:!0,autoHeight:!0,cellRenderer:j=>I("div",{style:{whiteSpace:"normal",lineHeight:"1.5",padding:"8px 0",fontSize:"12px"},children:j.value})})}),G.push({headerName:"Actions",field:"actions",headerClass:"no-border-header",pinned:"right",lockPinned:!0,lockPosition:!0,suppressMovable:!0,width:90,sortable:!1,cellRenderer:N=>I(wt,{component:"a",href:`/cms/translations/${N.data.hash}`,size:"xs",variant:"outline",color:"dark",compact:!0,children:"Edit"})}),G.push({field:"tags",headerName:"Tags",headerComponent:N=>I("div",{className:"ag-header-cell-label",role:"presentation",style:{gap:10,cursor:"pointer"},onClick:j=>N.progressSort&&N.progressSort(j.shiftKey),children:[I(No,{size:18}),I("span",{children:N.displayName}),N.enableSorting&&I("div",{className:"ag-sort-indicator-container",children:[I("span",{className:Oo("ag-sort-indicator-icon","ag-sort-ascending-icon",N.column.getSort()!=="asc"&&"ag-hidden"),"aria-hidden":"true",children:I("span",{className:"ag-icon ag-icon-asc",role:"presentation"})}),I("span",{className:Oo("ag-sort-indicator-icon","ag-sort-descending-icon",N.column.getSort()!=="desc"&&"ag-hidden"),"aria-hidden":"true",children:I("span",{className:"ag-icon ag-icon-desc",role:"presentation"})})]})]}),pinned:"right",lockPinned:!0,lockPosition:!0,width:150,sortable:!0,autoHeight:!0,valueFormatter:N=>Array.isArray(N.value)?N.value.join(", "):"",cellRenderer:N=>!N.value||!Array.isArray(N.value)||N.value.length===0?null:I("div",{style:{display:"flex",flexDirection:"column",gap:2,padding:"8px 0"},children:N.value.map(j=>I("div",{style:{fontSize:"12px",lineHeight:"1.2",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:I("span",{title:j,style:{cursor:"pointer",textDecoration:"underline",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",display:"block"},onClick:()=>{h.includes(j)?g(h.filter(V=>V!==j)):g([...h,j])},children:j})},j))})}),G},[Z,f,h]),ee={headerHeight:40,animateRows:!0,enableCellTextSelection:!0,suppressMovableColumns:!0};return I("div",{className:"TranslationsTable",children:[I("div",{style:{marginBottom:16,display:"flex",gap:16},children:[I(vr,{placeholder:"Search translations",icon:I(Sr,{size:18}),value:l,onChange:G=>c(G.currentTarget.value),style:{flex:1}}),I(pi,{data:r,value:d,onChange:u,placeholder:d.length===0?"All locales":"Filter locales",searchable:!0,clearable:!0,icon:I(xr,{size:18}),maxDropdownHeight:600,style:{width:300}}),I(pi,{data:J,value:h,onChange:g,placeholder:h.length===0?"All tags":"Filter tags",searchable:!0,clearable:!0,icon:I(No,{size:18}),maxDropdownHeight:600,style:{width:300}}),I(yt,{shadow:"md",control:I(fr,{variant:"outline",size:"lg",style:{height:36},children:I(br,{size:18})}),children:[I(yt.Label,{children:"View Options"}),I(yt.Item,{icon:f?I(Go,{size:14}):null,onClick:()=>m(!f),children:"Show Hashes"}),I(yt.Item,{icon:w?I(Go,{size:14}):null,onClick:()=>C(!w),children:"Exact Matches Only"}),I(mr,{}),I(yt.Label,{children:"Bulk Edit Tags"}),I(yt.Item,{icon:I(Fr,{size:14}),onClick:()=>P(!0),children:"Add tags..."}),I(yt.Item,{icon:I(Rr,{size:14}),onClick:()=>x(!0),children:"Remove tags..."})]})]}),p?I("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"calc(100vh - 250px)",gap:16},children:I(pr,{size:"lg"})}):I("div",{className:"ag-theme-alpine",style:{height:"calc(100vh - 250px)",width:"100%",fontSize:"13px"},children:I(Fl,{rowData:e,columnDefs:ge,gridOptions:ee})}),I(Io,{opened:R,onClose:()=>P(!1),title:"Bulk Add Tags",children:[I(Ao,{size:"sm",mb:"md",children:["The following tags will be added to the ",e.length," strings currently visible in the table."]}),I(pi,{data:J,value:A,onChange:L,placeholder:"Select or create tags",searchable:!0,creatable:!0,getCreateLabel:G=>`+ Create ${G}`,onCreate:G=>{let N={value:G,label:G,group:"Other"};return L(j=>[...j,G]),N},mb:"md"}),I(ko,{position:"right",children:[I(wt,{variant:"default",onClick:()=>P(!1),children:"Cancel"}),I(wt,{loading:q,onClick:oe,children:"Add Tags"})]})]}),I(Io,{opened:T,onClose:()=>x(!1),title:"Bulk Remove Tags",children:[I(Ao,{size:"sm",mb:"md",children:["The following tags will be removed from the ",e.length," strings currently visible in the table."]}),I(pi,{data:J,value:k,onChange:O,placeholder:"Select tags to remove",searchable:!0,mb:"md"}),I(ko,{position:"right",children:[I(wt,{variant:"default",onClick:()=>x(!1),children:"Cancel"}),I(wt,{color:"red",loading:q,onClick:he,children:"Remove Tags"})]})]})]})}function Lw(e){return e?Array.isArray(e)?Array.from(new Set(e)).sort():[e]:[]}function sD(){return Mr("Translations"),I(Er,{children:I("div",{className:"TranslationsPage",children:[I("div",{className:"TranslationsPage__header",children:[I(Dr,{size:"h1",children:"Translations"}),I("div",{className:"TranslationsPage__header__buttons",children:I(wt,{component:"a",color:"blue",size:"xs",href:"/cms/translations/arb",children:"Download ARB"})})]}),I(Tr,{className:"TranslationsPage__content",children:I(xl,{})})]})})}export{sD as TranslationsPage};
|