+`,this._columnHeaders=[],this._hasGroupedItems=!1,this.className="TextExportService"}get _datasetIdPropName(){return this._gridOptions&&this._gridOptions.datasetIdPropertyName||"id"}get _dataView(){var u;return(u=this._grid)==null?void 0:u.getData()}get _gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}dispose(){var u;(u=this._pubSubService)==null||u.unsubscribeAll()}init(u,e){var a;if(this._grid=u,this._pubSubService=e.get("PubSubService"),this._locales=this._gridOptions&&this._gridOptions.locales||_.locales,this._translaterService=(a=this._gridOptions)==null?void 0:a.translater,this._gridOptions.enableTranslate&&(!this._translaterService||!this._translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be passed in the "translater" Grid Options when "enableTranslate" is enabled. (example: this.gridOptions = { enableTranslate: true, translater: this.translaterService })')}exportToFile(u){if(!this._grid||!this._dataView||!this._pubSubService)throw new Error('[Slickgrid-Universal] it seems that the SlickGrid & DataView objects and/or PubSubService are not initialized did you forget to enable the grid option flag "enableTextExport"?');return new Promise(e=>{var i;(i=this._pubSubService)==null||i.publish("onBeforeExportToTextFile",!0),this._exportOptions=Mu(!0,{},{...DC,...this._gridOptions.textExportOptions,...u}),this._delimiter=this._exportOptions.delimiterOverride||this._exportOptions.delimiter||"",this._fileFormat=this._exportOptions.format||Hu.csv;const a=this.getDataOutput();setTimeout(()=>{var r;const t={filename:`${this._exportOptions.filename}.${this._fileFormat}`,format:this._fileFormat||Hu.csv,mimeType:this._exportOptions.mimeType||"text/plain",useUtf8WithBom:this._exportOptions&&this._exportOptions.hasOwnProperty("useUtf8WithBom")?this._exportOptions.useUtf8WithBom:!0};this.startDownloadFile({...t,content:a}),(r=this._pubSubService)==null||r.publish("onAfterExportToTextFile",t),e(!0)},0)})}startDownloadFile(u){const e=Wl(u.content);let a;u.format===Hu.csv?a=new Kt("utf-8").encode(e):a=e;const i=new Blob([u.useUtf8WithBom?"\uFEFF":"",a],{type:u.mimeType});if(typeof navigator.msSaveOrOpenBlob=="function")navigator.msSaveOrOpenBlob(i,u.filename);else{const t=document.createElement("a"),r=URL.createObjectURL(i);t.textContent="download",t.href=r,t.setAttribute("download",u.filename),t.style.visibility="hidden",document.body.appendChild(t),t.click(),document.body.removeChild(t)}}getDataOutput(){var t,r,o;const u=this._grid.getColumns()||[];let e=this._exportOptions.groupingColumnHeaderTitle;!e&&this._gridOptions.enableTranslate&&((t=this._translaterService)!=null&&t.translate)&&((o=(r=this._translaterService)==null?void 0:r.getCurrentLanguage)!=null&&o.call(r))?e=this._translaterService.translate(`${Q0(this._gridOptions)}GROUP_BY`):e||(e=this._locales&&this._locales.TEXT_GROUP_BY),this._exportQuoteWrapper=this._fileFormat===Hu.csv?'"':"";let a="";const i=this._dataView.getGrouping();if(i&&Array.isArray(i)&&i.length>0?(this._hasGroupedItems=!0,a+=this._fileFormat===Hu.csv?`"${e}"${this._delimiter}`:`${e}${this._delimiter}`):this._hasGroupedItems=!1,this._gridOptions.createPreHeaderPanel&&this._gridOptions.showPreHeaderPanel&&!this._gridOptions.enableDraggableGrouping&&(this._groupedColumnHeaders=this.getColumnGroupedHeaderTitles(u)||[],this._groupedColumnHeaders&&Array.isArray(this._groupedColumnHeaders)&&this._groupedColumnHeaders.length>0)){const s=this._groupedColumnHeaders.map(l=>`${this._exportQuoteWrapper}${l.title}${this._exportQuoteWrapper}`);a+=s.join(this._delimiter)+this._lineCarriageReturn}if(this._columnHeaders=this.getColumnHeaders(u)||[],this._columnHeaders&&Array.isArray(this._columnHeaders)&&this._columnHeaders.length>0){const s=this._columnHeaders.map(l=>Vu(`${this._exportQuoteWrapper}${l.title}${this._exportQuoteWrapper}`));a+=s.join(this._delimiter)+this._lineCarriageReturn}return a+=this.getAllGridRowData(u,this._lineCarriageReturn),a}getAllGridRowData(u,e){const a=[],i=this._dataView.getLength();for(let t=0;t
{var r,o,s;let i="";a.columnGroupKey&&this._gridOptions.enableTranslate&&((r=this._translaterService)!=null&&r.translate)&&((s=(o=this._translaterService)==null?void 0:o.getCurrentLanguage)!=null&&s.call(o))?i=this._translaterService.translate(a.columnGroupKey):i=a.columnGroup||"";const t=a.excludeFromExport||!1;(a.width===void 0||a.width>0)&&!t&&e.push({key:a.field||a.id,title:i||""})}),e}getColumnHeaders(u){const e=[];return u&&Array.isArray(u)&&u.forEach(a=>{var r,o,s;let i="";(a.nameKey||a.nameKey)&&this._gridOptions.enableTranslate&&((r=this._translaterService)!=null&&r.translate)&&((s=(o=this._translaterService)==null?void 0:o.getCurrentLanguage)!=null&&s.call(o))?i=this._translaterService.translate(a.nameKey||a.nameKey):i=i0(a.name||"","innerHTML")||R0(a.field);const t=a.excludeFromExport||!1;(a.width===void 0||a.width>0)&&!t&&e.push({key:a.field||a.id,title:i||""})}),e}readRegularRowData(u,e,a){let i=0;const t=[],r=this._exportQuoteWrapper;let o=1;const s=this._dataView.getItemMetadata(e);for(let l=0,E=u.length;l1||o==="*"&&l>0||(o=(m==null?void 0:m.colspan)??1),o!=="*"&&d.id in D&&(c=d.id)}if(o==="*"&&l>0||!isNaN(o)&&+o>1&&d.id!==c)t.push(""),!isNaN(o)&&+o>1&&o--;else{let D=Xr(e,l,d,a,this._grid,this._exportOptions);(d.sanitizeDataExport||this._exportOptions.sanitizeDataExport)&&(D=Vu(D)),this._fileFormat===Hu.csv&&D&&(D=D.toString().replace(/"/gi,'""'));const m=d!=null&&d.exportCsvForceToKeepAsString?"=":"";t.push(m+r+D+r)}i++}return t.join(this._delimiter)}readGroupedTitleRow(u){let e=Vu(u.title);const a=this._exportQuoteWrapper;return e=Ra(5*u.level)+e,this._fileFormat===Hu.csv&&(e=e.toString().replace(/"/gi,'""')),a+e+a}readGroupedTotalRow(u,e){const a=this._exportOptions.delimiter,i=this._exportOptions.format,t=this._exportOptions.groupingAggregatorRowText||"",r=this._exportQuoteWrapper,o=[`${r}${t}${r}`];return u.forEach(s=>{let l="";const E=s.excludeFromExport||!1;if(s.groupTotalsFormatter){const d=s.groupTotalsFormatter(e,s,this._grid);l=d instanceof HTMLElement?d.textContent||"":d}(s.sanitizeDataExport||this._exportOptions.sanitizeDataExport)&&(l=Vu(l)),i===Hu.csv&&(l=l.toString().replace(/"/gi,'""')),(s.width===void 0||s.width>0)&&!E&&o.push(r+l+r)}),o.join(a)}}const mC=500;class hC{constructor(){k(this,"_bindingEventService");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset");k(this,"commandQueue",[]);k(this,"sgb");k(this,"excelExportService");k(this,"loadingClass","");this.excelExportService=new y0,this._bindingEventService=new pu}attached(){this.initializeGrid(),this.dataset=this.loadData(mC);const u=document.querySelector(".grid2");this._bindingEventService.bind(u,"onbeforeexporttoexcel",()=>this.loadingClass="mdi mdi-load mdi-spin-1s mdi-22px"),this._bindingEventService.bind(u,"onafterexporttoexcel",()=>this.loadingClass=""),this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},this.dataset),document.body.classList.add("material-theme")}dispose(){var u;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll(),document.body.classList.remove("material-theme")}initializeGrid(){const u=document.createElement("div"),e=document.createElement("button"),a=document.createElement("span");a.className="mdi mdi-help-circle no-padding",e.dataset.test="col1-hello-btn",e.className="button is-small ml-5",e.textContent="Click me",e.title="simple column header test with a button click listener",e.addEventListener("click",()=>alert("Hello World")),e.appendChild(a),u.appendChild(document.createTextNode("Id ")),u.appendChild(e),this.columnDefinitions=[{id:"sel",name:u,field:"num",type:C.number,columnPickerLabel:"Custom Label",width:160,maxWidth:200,excludeFromExport:!0,resizable:!0,filterable:!0,selectable:!1,focusable:!1},{id:"title",name:"Title",field:"title",width:50,minWidth:50,cssClass:"cell-title",filterable:!0,sortable:!0},{id:"duration",name:"Duration",field:"duration",minWidth:50,width:60,filterable:!0,filter:{model:H.slider,operator:">=",filterOptions:{hideSliderNumber:!0,enableSliderTrackColoring:!0,sliderTrackFilledColor:"#9ac49c"}},sortable:!0,type:C.number,groupTotalsFormatter:su.sumTotals,params:{groupFormatterPrefix:"Total: "}},{id:"percentComplete",name:"% Complete",field:"percentComplete",minWidth:70,width:90,formatter:P.percentCompleteBar,filterable:!0,filter:{model:H.compoundSlider},sortable:!0,type:C.number,groupTotalsFormatter:su.avgTotalsPercentage,params:{groupFormatterPrefix:"Avg: "}},{id:"start",name:"Start",field:"start",minWidth:60,maxWidth:130,filterable:!0,filter:{model:H.compoundDate},sortable:!0,type:C.dateIso,formatter:P.dateIso,exportWithFormatter:!0},{id:"finish",name:"Finish",field:"finish",minWidth:60,maxWidth:130,filterable:!0,filter:{model:H.compoundDate},sortable:!0,type:C.dateIso,outputType:C.dateIso,formatter:P.dateIso},{id:"cost",name:"Cost",field:"cost",minWidth:70,width:80,sortable:!0,filterable:!0,filter:{model:H.compoundInputNumber},type:C.number,formatter:P.currency,groupTotalsFormatter:su.sumTotalsCurrency,params:{displayNegativeNumberWithParentheses:!0,currencyPrefix:"€",groupFormatterCurrencyPrefix:"€",minDecimal:2,maxDecimal:4,groupFormatterPrefix:"Total: "},excelExportOptions:{style:{font:{outline:!0,italic:!0},format:"€0.00##;[Red](€0.00##)"},width:18},groupTotalsExcelExportOptions:{style:{alignment:{horizontal:"center"},font:{bold:!0,color:"FF005289",underline:"single",fontName:"Consolas",size:10},fill:{type:"pattern",patternType:"solid",fgColor:"FFE6F2F6"},border:{top:{color:"FFa500ff",style:"thick"},left:{color:"FFa500ff",style:"medium"},right:{color:"FFa500ff",style:"dotted"},bottom:{color:"FFa500ff",style:"double"}},format:'"Total: "€0.00##;[Red]"Total: "(€0.00##)'}}},{id:"effortDriven",name:"Effort Driven",minWidth:30,width:80,maxWidth:90,cssClass:"cell-effort-driven",field:"effortDriven",formatter:P.checkmarkMaterial,sortable:!0,filterable:!0,filter:{model:H.singleSelect,collection:[{value:"",label:""},{value:!0,label:"True"},{value:!1,label:"False"}]},excelExportOptions:{width:11}}],this.gridOptions={autoResize:{bottomPadding:30,rightPadding:30},enableTextExport:!0,enableFiltering:!0,enableGrouping:!0,columnPicker:{onColumnsChanged:(i,t)=>console.log(i,t)},enableExcelExport:!0,excelExportOptions:{filename:"my-export",sanitizeDataExport:!0,columnHeaderStyle:{font:{color:"FFFFFFFF"},fill:{type:"pattern",patternType:"solid",fgColor:"FF4a6c91"}},customExcelHeader:(i,t)=>{const r=i.getStyleSheet().createFormat({font:{size:18,fontName:"Calibri",bold:!0,color:"FFFFFFFF"},alignment:{wrapText:!0,horizontal:"center"},fill:{type:"pattern",patternType:"solid",fgColor:"FF203764"}});t.setRowInstructions(0,{height:50});const o="Grouping and Aggregator - My header is too long enough, so it will wrap";t.mergeCells("A1","H1"),t.data.push([{value:o,metadata:{style:r.id}}])}},textExportOptions:{filename:"my-export",sanitizeDataExport:!0},externalResources:[this.excelExportService,new $a],showCustomFooter:!0,customFooterOptions:{leftFooterText:'Grid created with Slickgrid-Universal',hideMetrics:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!1}}}loadData(u){const e=[];for(let a=0;a`Duration: ${o.value} (${o.count} items)`,comparer:(o,s)=>T0.numeric(o.value,s.value,Pu.asc),aggregators:[new vu.Avg("percentComplete"),new vu.Sum("cost")],aggregateCollapsed:!1,lazyTotalsCalculation:!0}),(i=(a=this.sgb)==null?void 0:a.slickGrid)==null||i.setSortColumns([{columnId:"duration",sortAsc:!0}]),(r=(t=this.sgb)==null?void 0:t.slickGrid)==null||r.invalidate()}groupByDurationOrderByCount(u){var e,a,i,t,r,o;(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.setSortColumns([]),(t=(i=this.sgb)==null?void 0:i.dataView)==null||t.setGrouping({getter:"duration",formatter:s=>`Duration: ${s.value} (${s.count} items)`,comparer:(s,l)=>s.count-l.count,aggregators:[new vu.Avg("percentComplete"),new vu.Sum("cost")],aggregateCollapsed:u,lazyTotalsCalculation:!0}),(o=(r=this.sgb)==null?void 0:r.slickGrid)==null||o.invalidate()}groupByDurationEffortDriven(){var e,a,i,t,r,o,s,l;(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.setSortColumns([]),(t=(i=this.sgb)==null?void 0:i.dataView)==null||t.setGrouping([{getter:"duration",formatter:E=>`Duration: ${E.value} (${E.count} items)`,aggregators:[new vu.Sum("duration"),new vu.Sum("cost")],aggregateCollapsed:!0,lazyTotalsCalculation:!0},{getter:"effortDriven",formatter:E=>`Effort-Driven: ${E.value?"True":"False"} (${E.count} items)`,aggregators:[new vu.Avg("percentComplete"),new vu.Sum("cost")],collapsed:!0,lazyTotalsCalculation:!0}]);const u=[{columnId:"duration",sortAsc:!0},{columnId:"effortDriven",sortAsc:!0}];(o=(r=this.sgb)==null?void 0:r.slickGrid)==null||o.setSortColumns(u),(l=(s=this.sgb)==null?void 0:s.slickGrid)==null||l.invalidate()}groupByDurationEffortDrivenPercent(){var e,a,i,t,r,o,s,l;(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.setSortColumns([]),(t=(i=this.sgb)==null?void 0:i.dataView)==null||t.setGrouping([{getter:"duration",formatter:E=>`Duration: ${E.value} (${E.count} items)`,aggregators:[new vu.Sum("duration"),new vu.Sum("cost")],aggregateCollapsed:!0,lazyTotalsCalculation:!0},{getter:"effortDriven",formatter:E=>`Effort-Driven: ${E.value?"True":"False"} (${E.count} items)`,aggregators:[new vu.Sum("duration"),new vu.Sum("cost")],lazyTotalsCalculation:!0},{getter:"percentComplete",formatter:E=>`% Complete: ${E.value} (${E.count} items)`,aggregators:[new vu.Avg("percentComplete")],aggregateCollapsed:!0,collapsed:!0,lazyTotalsCalculation:!0}]);const u=[{columnId:"duration",sortAsc:!0},{columnId:"effortDriven",sortAsc:!0},{columnId:"percentComplete",sortAsc:!0}];(o=(r=this.sgb)==null?void 0:r.slickGrid)==null||o.setSortColumns(u),(l=(s=this.sgb)==null?void 0:s.slickGrid)==null||l.invalidate()}}class xC{constructor(){k(this,"_bindingEventService");k(this,"_darkMode",!1);k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset");k(this,"editCommandQueue",[]);k(this,"excelExportService");k(this,"sgb");k(this,"durationOrderByCount",!1);k(this,"draggableGroupingPlugin");k(this,"loadingClass","");k(this,"selectedGroupingFields",["","",""]);this._bindingEventService=new pu,this.excelExportService=new y0}attached(){this.initializeGrid(),this.dataset=this.loadData(500);const u=document.querySelector(".grid3");this._bindingEventService.bind(u,"onclick",this.handleOnClick.bind(this)),this._bindingEventService.bind(u,"oncellchange",this.handleOnCellChange.bind(this)),this._bindingEventService.bind(u,"onvalidationerror",this.handleValidationError.bind(this)),this._bindingEventService.bind(u,"onitemdeleted",this.handleItemDeleted.bind(this)),this._bindingEventService.bind(u,"onbeforeexporttoexcel",()=>this.loadingClass="mdi mdi-load mdi-spin-1s mdi-22px"),this._bindingEventService.bind(u,"onafterexporttoexcel",()=>this.loadingClass=""),this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},this.dataset)}dispose(){var u,e;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll(),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode"),document.body.setAttribute("data-theme","light")}initializeGrid(){this.columnDefinitions=[{id:"title",name:"Title",field:"title",columnGroup:"Common Factor",sortable:!0,type:C.string,editor:{model:$.longText,required:!0,alwaysSaveOnEnterKey:!0,minLength:5,maxLength:255},filterable:!0,grouping:{getter:"title",formatter:u=>`Title: ${u.value} (${u.count} items)`,aggregators:[new vu.Sum("cost")],aggregateCollapsed:!1,collapsed:!1}},{id:"duration",name:"Duration",field:"duration",columnGroup:"Common Factor",sortable:!0,filterable:!0,editor:{model:$.float,decimal:2,valueStep:1,maxValue:1e4,alwaysSaveOnEnterKey:!0},type:C.number,groupTotalsFormatter:su.sumTotals,grouping:{getter:"duration",formatter:u=>`Duration: ${u.value} (${u.count} items)`,comparer:(u,e)=>this.durationOrderByCount?u.count-e.count:T0.numeric(u.value,e.value,Pu.asc),aggregators:[new vu.Sum("duration"),new vu.Sum("cost")],aggregateCollapsed:!1,collapsed:!1}},{id:"start",name:"Start",field:"start",sortable:!0,columnGroup:"Period",type:C.date,outputType:C.dateIso,filterable:!0,filter:{model:H.compoundDate},formatter:P.dateIso,editor:{model:$.date},grouping:{getter:"start",formatter:u=>`Start: ${u.value} (${u.count} items)`,aggregators:[new vu.Sum("cost")],aggregateCollapsed:!1,collapsed:!1}},{id:"finish",name:"Finish",field:"finish",columnGroup:"Period",sortable:!0,editor:{model:$.date,editorOptions:{range:{min:"today"}}},type:C.date,outputType:C.dateIso,formatter:P.dateIso,filterable:!0,filter:{model:H.dateRange},grouping:{getter:"finish",formatter:u=>`Finish: ${u.value} (${u.count} items)`,aggregators:[new vu.Sum("cost")],aggregateCollapsed:!1,collapsed:!1}},{id:"cost",name:"Cost",field:"cost",columnGroup:"Analysis",width:90,sortable:!0,filterable:!0,formatter:P.dollar,exportWithFormatter:!0,groupTotalsFormatter:su.sumTotalsDollar,type:C.number,grouping:{getter:"cost",formatter:u=>`Cost: ${u.value} (${u.count} items)`,aggregators:[new vu.Sum("cost")],aggregateCollapsed:!0,collapsed:!0}},{id:"percentComplete",name:"% Complete",field:"percentComplete",columnGroup:"Analysis",type:C.number,editor:{model:$.slider,minValue:0,maxValue:100},sortable:!0,filterable:!0,filter:{model:H.slider,operator:">="},groupTotalsFormatter:su.avgTotalsPercentage,grouping:{getter:"percentComplete",formatter:u=>`% Complete: ${u.value} (${u.count} items)`,aggregators:[new vu.Sum("cost")],aggregateCollapsed:!1,collapsed:!1},params:{groupFormatterPrefix:"Avg: "}},{id:"effortDriven",name:"Effort-Driven",field:"effortDriven",columnGroup:"Analysis",width:80,minWidth:20,maxWidth:100,cssClass:"cell-effort-driven",sortable:!0,filterable:!0,filter:{collection:[{value:"",label:""},{value:!0,label:"True"},{value:!1,label:"False"}],model:H.singleSelect},exportWithFormatter:!1,formatter:P.checkmarkMaterial,grouping:{getter:"effortDriven",formatter:u=>`Effort-Driven: ${u.value?"True":"False"} (${u.count} items)`,aggregators:[new vu.Sum("duration"),new vu.Sum("cost")],collapsed:!1}},{id:"action",name:"Action",field:"action",width:90,maxWidth:90,excludeFromExport:!0,formatter:()=>'Action
',cellMenu:{hideCloseButton:!1,commandTitle:"Commands",commandItems:[{command:"command2",title:"Command 2",positionOrder:62,action:(u,e)=>{console.log(e.dataContext,e.column)},itemUsabilityOverride:u=>!u.dataContext.completed},{command:"command1",title:"Command 1",cssClass:"orange",positionOrder:61},{command:"delete-row",title:"Delete Row",positionOrder:64,iconCssClass:"mdi mdi-close",cssClass:"red",textCssClass:"bold",itemVisibilityOverride:u=>!u.dataContext.completed},{divider:!0,command:"",positionOrder:63},{command:"help",title:"Help",iconCssClass:"mdi mdi-help-circle-outline",positionOrder:66},{command:"something",title:"Disabled Command",disabled:!0,positionOrder:67}],optionTitle:"Change Effort-Driven Flag",optionItems:[{option:!0,title:"True",iconCssClass:"mdi mdi-check-box-outline"},{option:!1,title:"False",iconCssClass:"mdi mdi-checkbox-blank-outline"}]}}],this.gridOptions={autoEdit:!0,autoCommitEdit:!0,editable:!0,autoResize:{container:".demo-container"},dataView:{useCSPSafeFilter:!0},headerMenu:{hideFreezeColumnsCommand:!1},gridMenu:{hideClearFrozenColumnsCommand:!1},enableAutoSizeColumns:!0,enableAutoResize:!0,enableCellNavigation:!0,enableTextExport:!0,enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0},externalResources:[new $a,this.excelExportService],enableFiltering:!0,rowSelectionOptions:{selectActiveRow:!1},showCustomFooter:!0,createPreHeaderPanel:!0,showPreHeaderPanel:!0,preHeaderPanelHeight:26,createTopHeaderPanel:!0,showTopHeaderPanel:!0,topHeaderPanelHeight:35,rowHeight:33,headerRowHeight:35,enableDraggableGrouping:!0,draggableGrouping:{dropPlaceHolderText:"Drop a column header here to group by the column",deleteIconCssClass:"mdi mdi-close text-color-danger",sortAscIconCssClass:"mdi mdi-arrow-up",sortDescIconCssClass:"mdi mdi-arrow-down",onGroupChanged:(u,e)=>this.onGroupChanged(e),onExtensionRegistered:u=>this.draggableGroupingPlugin=u},enableCheckboxSelector:!0,enableRowSelection:!0,checkboxSelector:{hideInFilterHeaderRow:!1,hideInColumnTitleRow:!0},editCommandHandler:(u,e,a)=>{this.editCommandQueue.push(a),a.execute()},enableCellMenu:!0,cellMenu:{onCommand:(u,e)=>this.executeCommand(u,e),onOptionSelected:(u,e)=>{const a=e&&e.dataContext;a&&a.hasOwnProperty("effortDriven")&&(a.effortDriven=e.item.option,this.sgb.gridService.updateItem(a))}}}}loadData(u){const e=[],a=new Date().getFullYear();for(let i=0;ithis.selectedGroupingFields[e]=""),this.selectedGroupingFields=[...this.selectedGroupingFields]}clearGrouping(){var u,e,a;(u=this.draggableGroupingPlugin)==null||u.clearDroppedGroups(),(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.invalidate()}collapseAllGroups(){var u,e;(e=(u=this.sgb)==null?void 0:u.dataView)==null||e.collapseAllGroups()}expandAllGroups(){var u,e;(e=(u=this.sgb)==null?void 0:u.dataView)==null||e.expandAllGroups()}exportToExcel(){this.excelExportService.exportToExcel({filename:"Export",format:Hu.xlsx})}groupByDuration(){var u,e,a;this.clearGrouping(),(u=this.draggableGroupingPlugin)!=null&&u.setDroppedGroups&&(this.showTopHeader(),this.draggableGroupingPlugin.setDroppedGroups("duration"),(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.invalidate())}groupByDurationOrderByCount(u=!1){var a,i,t,r;this.durationOrderByCount=u,this.clearGrouping(),this.groupByDuration();const e=u?[]:[{columnId:"duration",sortAsc:!0}];(i=(a=this.sgb)==null?void 0:a.slickGrid)==null||i.setSortColumns(e),(r=(t=this.sgb)==null?void 0:t.slickGrid)==null||r.invalidate()}groupByDurationEffortDriven(){var u,e,a;this.clearGrouping(),(u=this.draggableGroupingPlugin)!=null&&u.setDroppedGroups&&(this.showTopHeader(),this.draggableGroupingPlugin.setDroppedGroups(["duration","effortDriven"]),(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.invalidate())}showTopHeader(){var u,e;(e=(u=this.sgb)==null?void 0:u.slickGrid)==null||e.setTopHeaderPanelVisibility(!0)}toggleDarkMode(){var u,e,a;this._darkMode=!this._darkMode,this._darkMode?(document.body.setAttribute("data-theme","dark"),(u=document.querySelector(".demo-container"))==null||u.classList.add("dark-mode")):(document.body.setAttribute("data-theme","light"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode")),(a=this.sgb.slickGrid)==null||a.setOptions({darkMode:this._darkMode})}toggleDraggableGroupingRow(){var u,e,a,i;this.clearGroupsAndSelects(),(i=(u=this.sgb)==null?void 0:u.slickGrid)==null||i.setTopHeaderPanelVisibility(!((a=(e=this.sgb)==null?void 0:e.slickGrid)!=null&&a.getOptions().showTopHeaderPanel))}onGroupChanged(u){const e=u&&u.caller||[],a=u&&u.groupColumns||[];Array.isArray(this.selectedGroupingFields)&&Array.isArray(a)&&a.length>0?(this.selectedGroupingFields.forEach((i,t)=>this.selectedGroupingFields[t]=a[t]&&a[t].getter||""),this.selectedGroupingFields=[...this.selectedGroupingFields]):a.length===0&&e==="remove-group"&&this.clearGroupingSelects()}handleOnClick(u){console.log("onClick",u.detail)}handleOnCellChange(u){var e;(e=this.sgb.dataView)==null||e.refresh(),console.log("onCellChanged",u.detail)}handleValidationError(u){console.log("handleValidationError",u.detail);const e=u.detail&&u.detail.args;e.validationResults&&alert(e.validationResults.msg)}handleItemDeleted(u){const e=u&&u.detail;console.log("item deleted with id:",e)}executeCommand(u,e){var t;const a=e.command,i=e.dataContext;switch(a){case"command1":alert("Command 1");break;case"command2":alert("Command 2");break;case"help":alert("Please help!");break;case"delete-row":confirm(`Do you really want to delete row (${e.row+1}) with "${i.title}"`)&&((t=this.sgb)==null||t.gridService.deleteItemById(i.id));break}}undo(){var e,a;const u=this.editCommandQueue.pop();u&&Z0.cancelCurrentEdit()&&(u.undo(),(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.gotoCell(u.row,u.cell,!1))}}var gC=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function K4(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Ar={exports:{}};(function(n,u){(function(e,a){a(u,n)})(gC,function(e,a){var i={timeout:5e3,jsonpCallback:"callback",jsonpCallbackFunction:null};function t(){return"jsonp_"+Date.now()+"_"+Math.ceil(Math.random()*1e5)}function r(l){try{delete window[l]}catch{window[l]=void 0}}function o(l){var E=document.getElementById(l);E&&document.getElementsByTagName("head")[0].removeChild(E)}function s(l){var E=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],d=l,c=E.timeout||i.timeout,D=E.jsonpCallback||i.jsonpCallback,m=void 0;return new Promise(function(h,g){var x=E.jsonpCallbackFunction||t(),p=D+"_"+x;window[x]=function(v){h({ok:!0,json:function(){return Promise.resolve(v)}}),m&&clearTimeout(m),o(p),r(x)},d+=d.indexOf("?")===-1?"?":"&";var F=document.createElement("script");F.setAttribute("src",""+d+D+"="+x),E.charset&&F.setAttribute("charset",E.charset),E.nonce&&F.setAttribute("nonce",E.nonce),E.referrerPolicy&&F.setAttribute("referrerPolicy",E.referrerPolicy),E.crossorigin&&F.setAttribute("crossorigin","true"),F.id=p,document.getElementsByTagName("head")[0].appendChild(F),m=setTimeout(function(){g(new Error("JSONP request to "+l+" timed out")),r(x),o(p),window[x]=function(){r(x)}},c),F.onerror=function(){g(new Error("JSONP request to "+l+" failed")),r(x),o(p),m&&clearTimeout(m)}})}a.exports=s})})(Ar,Ar.exports);var CC=Ar.exports;const gl=K4(CC),pC=n=>n==null||!n.length?{valid:!1,msg:"This is a required field"}:/^Task\s\d+$/.test(n)?{valid:!0,msg:""}:{valid:!1,msg:'Your title is invalid, it must start with "Task" followed by a number'},FC=(n,u,e,a,i)=>i.title;class kC{constructor(){k(this,"_bindingEventService");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset");k(this,"dataViewObj");k(this,"commandQueue",[]);k(this,"frozenColumnCount",2);k(this,"frozenRowCount",3);k(this,"isFrozenBottom",!1);k(this,"sgb");k(this,"checkboxSelectorInstance");k(this,"isSelectAllShownAsColumnTitle",!1);this._bindingEventService=new pu}attached(){const u=this.initializeGrid(),e=document.querySelector(".grid4");this._bindingEventService.bind(e,"onvalidationerror",this.handleOnValidationError.bind(this)),this._bindingEventService.bind(e,"onitemdeleted",this.handleOnItemDeleted.bind(this)),this.sgb=new Bu.GridBundle(e,this.columnDefinitions,{...Lu,...this.gridOptions},u)}dispose(){var u;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll()}initializeGrid(){this.columnDefinitions=[{id:"title",name:"Title",field:"title",sortable:!0,type:C.string,editor:{model:$.longText,required:!0,alwaysSaveOnEnterKey:!0,validator:pC},formatter:FC,filterable:!0},{id:"percentComplete",name:"% Complete",field:"percentComplete",sortable:!0,filterable:!0,type:C.number,editor:{enableRenderHtml:!0,collection:Array.from(Array(101).keys()).map(u=>({value:u,label:u,symbol:''})),customStructure:{value:"value",label:"label",labelSuffix:"symbol"},collectionSortBy:{property:"label",sortDesc:!0},collectionFilterBy:{property:"value",value:0,operator:T.notEqual},editorOptions:{filter:!0},model:$.singleSelect}},{id:"start",name:"Start",field:"start",minWidth:60,type:C.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},formatter:P.dateIso},{id:"finish",name:"Finish",field:"finish",minWidth:60,type:C.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},formatter:P.dateIso},{id:"completed",name:"Completed",field:"completed",sortable:!0,formatter:Bu.Formatters.checkmarkMaterial,exportWithFormatter:!1,filterable:!0,editor:{model:$.checkbox},filter:{model:H.singleSelect,collection:[{value:"",label:""},{value:!0,label:"True"},{value:!1,label:"False"}]}},{id:"cost",name:"Cost | Duration",field:"cost",formatter:this.costDurationFormatter.bind(this),sortable:!0,filter:{model:H.compoundSlider},editor:{model:$.dualInput,params:{leftInput:{field:"cost",type:"float",decimal:2,minValue:0,maxValue:5e4,placeholder:"< 50K",errorMessage:"Cost must be positive and below $50K."},rightInput:{field:"duration",type:"float",minValue:0,maxValue:100,title:"make sure Duration is withing its range of 0 to 100",errorMessage:"Duration must be between 0 and 100."}}}},{id:"cityOfOrigin",name:"City of Origin",field:"cityOfOrigin",filterable:!0,sortable:!0,minWidth:100,editor:{model:$.autocompleter,placeholder:"🔎︎ search city",editorOptions:{minLength:3,fetch:(u,e)=>{gl(`http://gd.geobytes.com/AutoCompleteCity?q=${u}`).then(a=>a.json()).then(a=>e(a)).catch(a=>console.log("invalid JSONP response",a))}}},filter:{model:H.autocompleter,filterOptions:{minLength:3,fetch:(u,e)=>{gl(`http://gd.geobytes.com/AutoCompleteCity?q=${u}`).then(a=>a.json()).then(a=>e(a)).catch(a=>console.log("invalid JSONP response",a))}}}},{id:"action",name:"Action",field:"action",width:100,maxWidth:100,excludeFromExport:!0,formatter:()=>'',cellMenu:{hideCloseButton:!1,commandTitle:"Commands",commandItems:[{command:"command2",title:"Command 2",positionOrder:62,action:(u,e)=>{console.log(e.dataContext,e.column)},itemUsabilityOverride:u=>!u.dataContext.completed},{command:"command1",title:"Command 1",cssClass:"orange",positionOrder:61},{command:"delete-row",title:"Delete Row",positionOrder:64,iconCssClass:"mdi mdi-close",cssClass:"red",textCssClass:"bold",itemVisibilityOverride:u=>!u.dataContext.completed},{divider:!0,command:"",positionOrder:63},{command:"help",title:"Help",iconCssClass:"mdi mdi-help-circle",positionOrder:66},{command:"something",title:"Disabled Command",disabled:!0,positionOrder:67}],optionTitle:"Change Complete Flag",optionItems:[{option:!0,title:"True",iconCssClass:"mdi mdi-check-box-outline"},{option:!1,title:"False",iconCssClass:"mdi mdi-checkbox-blank-outline"}]}}],this.gridOptions={autoEdit:!0,autoCommitEdit:!0,editable:!0,autoResize:{container:".demo-container"},enableAutoTooltip:!0,autoTooltipOptions:{enableForHeaderCells:!0},enableAutoSizeColumns:!0,enableAutoResize:!0,enableCellNavigation:!0,enableFiltering:!0,enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},externalResources:[new y0],rowSelectionOptions:{selectActiveRow:!1},enableCheckboxSelector:!0,checkboxSelector:{hideInColumnTitleRow:!this.isSelectAllShownAsColumnTitle,hideInFilterHeaderRow:this.isSelectAllShownAsColumnTitle,name:"Sel",onExtensionRegistered:u=>this.checkboxSelectorInstance=u},enableRowSelection:!0,frozenColumn:this.frozenColumnCount,frozenRow:this.frozenRowCount,editCommandHandler:(u,e,a)=>{this.commandQueue.push(a),a.execute()},enableCellMenu:!0,cellMenu:{subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",onCommand:(u,e)=>this.executeCommand(u,e),onOptionSelected:(u,e)=>{var i;const a=e==null?void 0:e.dataContext;a&&a.hasOwnProperty("completed")&&(a.completed=e.item.option,(i=this.sgb)==null||i.gridService.updateItem(a))}},gridMenu:{hideClearFrozenColumnsCommand:!1},headerMenu:{hideFreezeColumnsCommand:!1},enableContextMenu:!0,contextMenu:{optionShownOverColumnIds:["percentComplete"],subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",hideCloseButton:!0,optionTitle:"Change Percent Complete",onOptionSelected:(u,e)=>{var i;const a=e==null?void 0:e.dataContext;a!=null&&a.hasOwnProperty("percentComplete")&&(a.percentComplete=e.item.option,(i=this.sgb.slickGrid)==null||i.updateRow(e.row||0))},optionItems:[{option:0,iconCssClass:"mdi mdi-checkbox-blank-outline text-color-secondary",title:"Not Started (0%)"},{option:50,iconCssClass:"mdi mdi-flip-vertical",title:"Half Completed (50%)"},{option:100,iconCssClass:"mdi mdi-checkbox-marked text-color-success",title:"Completed (100%)"},"divider",{option:null,title:"Sub-Options (demo)",subMenuTitle:"Set Percent Complete",optionItems:[{option:0,iconCssClass:"mdi mdi-checkbox-blank-outline text-color-secondary",title:"Not Started (0%)"},{option:50,iconCssClass:"mdi mdi-flip-vertical",title:"Half Completed (50%)"},{option:100,iconCssClass:"mdi mdi-checkbox-marked text-color-success",title:"Completed (100%)"}]}],commandItems:[{command:"",divider:!0,positionOrder:98},{command:"export",title:"Exports",iconCssClass:"mdi mdi-download",positionOrder:99,commandItems:[{command:"exports-txt",title:"Text (tab delimited)"},{command:"sub-menu",title:"Excel",cssClass:"green",subMenuTitle:"available formats",subMenuTitleCssClass:"text-italic orange",commandItems:[{command:"exports-csv",title:"Excel (csv)"},{command:"exports-xlsx",title:"Excel (xlsx)"}]}]},{command:"feedback",title:"Feedback",iconCssClass:"mdi mdi-information-outline",positionOrder:100,commandItems:[{command:"request-update",title:"Request update from supplier",iconCssClass:"mdi mdi-star",tooltip:"this will automatically send an alert to the shipping team to contact the user for an update"},"divider",{command:"sub-menu",title:"Contact Us",iconCssClass:"mdi mdi-account",subMenuTitle:"contact us...",subMenuTitleCssClass:"italic",commandItems:[{command:"contact-email",title:"Email us",iconCssClass:"mdi mdi-pencil-outline"},{command:"contact-chat",title:"Chat with us",iconCssClass:"mdi mdi-message-text-outline"},{command:"contact-meeting",title:"Book an appointment",iconCssClass:"mdi mdi-coffee"}]}]}],onCommand:(u,e)=>this.executeCommand(u,e)}},this.dataset=[];for(let u=0;u<500;u++)this.dataset[u]={id:u,title:"Task "+u,duration:u%8?Math.round(Math.random()*100)+"":null,percentComplete:Math.round(Math.random()*100),start:new Date(2009,0,1),finish:new Date(2009,4,5),cost:u%33===0?null:Math.random()*1e4,completed:u%5===0,cityOfOrigin:u%2?"Vancouver, BC, Canada":"Boston, MA, United States"};return this.dataset}costDurationFormatter(u,e,a,i,t){const r=this.isNullUndefinedOrEmpty(t.cost)?"n/a":Bu.Utilities.formatNumber(t.cost,0,2,!1,"$","",".",",");let o="n/a";return!this.isNullUndefinedOrEmpty(t.duration)&&t.duration>=0&&(o=`${t.duration} ${t.duration>1?"days":"day"}`),`${r} | ${o}`}isNullUndefinedOrEmpty(u){return u===""||u===null||u===void 0}handleOnClick(u){console.log("onClick",u.detail)}handleOnValidationError(u){console.log("handleOnValidationError",u.detail);const e=u.detail&&u.detail.args;if(e.validationResults)return alert(e.validationResults.msg),!1}handleOnItemDeleted(u){const e=u&&u.detail;console.log("item deleted with id:",e)}changeFrozenColumnCount(){var u,e,a;(u=this.sgb)!=null&&u.slickGrid&&((e=this.sgb)!=null&&e.slickGrid.setOptions)&&((a=this.sgb)==null||a.slickGrid.setOptions({frozenColumn:+this.frozenColumnCount}))}changeFrozenRowCount(){var u,e,a;(u=this.sgb)!=null&&u.slickGrid&&((e=this.sgb)!=null&&e.slickGrid.setOptions)&&((a=this.sgb)==null||a.slickGrid.setOptions({frozenRow:+this.frozenRowCount}))}setFrozenColumns(u){var e,a,i,t;(a=(e=this.sgb)==null?void 0:e.slickGrid)==null||a.setOptions({frozenColumn:u,alwaysShowVerticalScroll:!1}),this.gridOptions=((t=(i=this.sgb)==null?void 0:i.slickGrid)==null?void 0:t.getOptions())??{}}toggleFrozenBottomRows(){var u,e,a;(u=this.sgb)!=null&&u.slickGrid&&((e=this.sgb)!=null&&e.slickGrid.setOptions)&&((a=this.sgb)==null||a.slickGrid.setOptions({frozenBottom:!this.isFrozenBottom}),this.isFrozenBottom=!this.isFrozenBottom)}toggleWhichRowToShowSelectAll(){this.isSelectAllShownAsColumnTitle=!this.isSelectAllShownAsColumnTitle,this.checkboxSelectorInstance.setOptions({hideInColumnTitleRow:!this.isSelectAllShownAsColumnTitle,hideInFilterHeaderRow:this.isSelectAllShownAsColumnTitle})}executeCommand(u,e){var t;const a=e.command,i=e.dataContext;switch(a){case"command1":case"command2":alert(e.item.title);break;case"exports-csv":case"exports-txt":case"exports-xlsx":alert(`Exporting as ${e.item.title}`);break;case"help":alert("Please help!");break;case"delete-row":confirm(`Do you really want to delete row (${e.row+1}) with "${i.title}"?`)&&((t=this.sgb)==null||t.gridService.deleteItemById(i.id));break;default:alert("Command: "+e.command);break}}}const vC=500;class AC{constructor(){k(this,"_bindingEventService");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset");k(this,"sgb");k(this,"loadingClass","");k(this,"isLargeDataset",!1);k(this,"hasNoExpandCollapseChanged",!0);k(this,"treeToggleItems",[]);this._bindingEventService=new pu}attached(){this.initializeGrid(),this.dataset=[];const u=document.querySelector(".grid5");this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions}),this.dataset=this.loadData(vC),this._bindingEventService.bind(u,"onbeforefilterchange",this.showSpinner.bind(this)),this._bindingEventService.bind(u,"onfilterchanged",this.hideSpinner.bind(this)),this._bindingEventService.bind(u,"onbeforefilterclear",this.showSpinner.bind(this)),this._bindingEventService.bind(u,"onfiltercleared",this.hideSpinner.bind(this)),this._bindingEventService.bind(u,"onbeforesortchange",this.showSpinner.bind(this)),this._bindingEventService.bind(u,"onsortchanged",this.hideSpinner.bind(this)),this._bindingEventService.bind(u,"ontreefulltogglestart",this.showSpinner.bind(this)),this._bindingEventService.bind(u,"ontreefulltoggleend",this.handleOnTreeFullToggleEnd.bind(this)),this._bindingEventService.bind(u,"ontreeitemtoggled",this.handleOnTreeItemToggled.bind(this)),document.body.classList.add("material-theme")}dispose(){var u;(u=this.sgb)==null||u.dispose(),document.body.classList.remove("material-theme")}hideSpinner(){setTimeout(()=>this.loadingClass="",200)}showSpinner(){this.isLargeDataset&&(this.loadingClass="mdi mdi-load mdi-spin-1s mdi-24px text-color-alt-success")}getTreeIds(u){let e=[];return u.__hasChildren&&u.treeLevel===0&&(e=this.sgb.dataset.filter(a=>a.parentId===u.id).map(a=>a.id),e.push(u.id)),e}getTreeSelectedCount(u,e){var t;let a=[];const i=(t=this.sgb.dataView)==null?void 0:t.mapRowsToIds(e);return u.__hasChildren&&u.treeLevel===0&&(a=this.sgb.dataset.filter(r=>r.parentId===u.id).filter(r=>i==null?void 0:i.some(o=>o===r.id)).map(r=>r.id)),a.length}handleOnSelectedRowsChanged(u){var a,i,t,r,o,s,l,E,d;const e=u.detail.args;if(e.caller==="click.toggle"){let c=[];const D=[],m=e.changedSelectedRows.concat(e.changedUnselectedRows);let h=m.length>0?m[0]:null;if(h!==null){const g=e.changedUnselectedRows.length&&h===e.changedUnselectedRows[0];let x=(a=this.sgb.dataView)==null?void 0:a.getItem(h);if(x.__hasChildren&&x.treeLevel===0)this.sgb.treeDataService.dynamicallyToggleItemState([{itemId:x.id,isCollapsed:!1}]),c=this.getTreeIds(x);else if(x.__hasChildren&&x.treeLevel===1||!x.__hasChildren&&x.parentId&&!this.getTreeSelectedCount((i=this.sgb.dataView)==null?void 0:i.getItemById(x.parentId),e.previousSelectedRows)){const p=(t=this.sgb.dataView)==null?void 0:t.getItem(h);x=(r=this.sgb.dataView)==null?void 0:r.getItemById(p.parentId),h=(s=(o=this.sgb.dataView)==null?void 0:o.mapIdsToRows([p.parentId]))==null?void 0:s[0],c=this.getTreeIds(x)}if(c.length>0){const p=(l=this.sgb.slickGrid)==null?void 0:l.getSelectedRows();for(const B of c){const S=(E=this.sgb.dataView)==null?void 0:E.mapIdsToRows([B]);Array.isArray(S)&&S.length>0&&D.push({itemId:B,rowIdx:S[0]})}const F=D.map(B=>B.rowIdx),v=Array.from(new Set(p==null?void 0:p.concat(F))),b=g?v.filter(B=>!F.includes(B)):v;(d=this.sgb.slickGrid)==null||d.setSelectedRows(b)}}}}initializeGrid(){this.columnDefinitions=[{id:"title",name:"Title",field:"title",width:220,cssClass:"cell-title",filterable:!0,sortable:!0,exportWithFormatter:!1,queryFieldSorter:"id",type:C.string,formatter:P.tree,exportCustomFormatter:P.treeExport},{id:"duration",name:"Duration",field:"duration",minWidth:90,filterable:!0},{id:"percentComplete",name:"% Complete",field:"percentComplete",minWidth:120,maxWidth:200,exportWithFormatter:!1,sortable:!0,filterable:!0,filter:{model:H.compoundSlider,operator:">="},formatter:P.percentCompleteBarWithText,type:C.number},{id:"start",name:"Start",field:"start",minWidth:60,type:C.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},formatter:P.dateIso},{id:"finish",name:"Finish",field:"finish",minWidth:60,type:C.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},formatter:P.dateIso},{id:"effortDriven",name:"Effort Driven",width:80,minWidth:20,maxWidth:120,cssClass:"cell-effort-driven",field:"effortDriven",exportWithFormatter:!1,formatter:P.checkmarkMaterial,cannotTriggerInsert:!0,filterable:!0,filter:{collection:[{value:"",label:""},{value:!0,label:"True"},{value:!1,label:"False"}],model:H.singleSelect}}],this.gridOptions={autoResize:{container:".demo-container"},enableAutoSizeColumns:!0,enableAutoResize:!0,enableExcelExport:!0,textExportOptions:{exportWithFormatter:!0},excelExportOptions:{exportWithFormatter:!0},externalResources:[new y0],enableFiltering:!0,showCustomFooter:!0,customFooterOptions:{leftFooterText:'Grid created with Slickgrid-Universal '},enableTreeData:!0,treeDataOptions:{columnId:"title",parentPropName:"parentId",levelPropName:"treeLevel",indentMarginLeft:15,initiallyCollapsed:!0,initialSort:{columnId:"title",direction:"ASC"},titleFormatter:(u,e,a,i,t)=>{let r="";return t.treeLevel>0&&(r=''),r+=`${a}`,t.parentId&&(r+=` (parentId: ${t.parentId})`),r}},multiColumnSort:!1,presets:{filters:[{columnId:"percentComplete",searchTerms:[25],operator:">="}]},filterTypingDebounce:250}}addNewRow(){var a;const u=this.sgb.dataset.length,e=(a=this.sgb.dataView)==null?void 0:a.getItemById(1);if(e!=null&&e.__hasChildren){const i={id:u,parentId:e.id,title:`Task ${u}`,duration:"1 day",percentComplete:99,start:new Date,finish:new Date,effortDriven:!1};this.sgb.gridService.addItem(i)}}updateFirstRow(){var e;const u=(e=this.sgb.dataView)==null?void 0:e.getItemById(0);this.sgb.gridService.updateItem({...u,duration:"11 days",percentComplete:77,start:new Date,finish:new Date,effortDriven:!1})}collapseAll(){this.sgb.treeDataService.toggleTreeDataCollapse(!0)}collapseAllWithoutEvent(){this.sgb.treeDataService.toggleTreeDataCollapse(!0,!1)}expandAll(){this.sgb.treeDataService.toggleTreeDataCollapse(!1)}dynamicallyChangeFilter(){this.sgb.filterService.updateFilters([{columnId:"percentComplete",operator:"<",searchTerms:[40]}])}logHierarchicalStructure(){console.log("hierarchical array",this.sgb.treeDataService.datasetHierarchical)}logFlatStructure(){console.log("flat array",this.sgb.treeDataService.dataset)}loadData(u){this.isLargeDataset=u>5e3;let e=0;const a=[],i=[];for(let t=0;t.8&&t>0&&e<3&&t-1!==0&&t-1!==2?(e++,a.push(t-1)):Math.random()<.3&&e>0&&(e--,a.pop()),a.length>0?E=a[a.length-1]:E=null,l.id=t,l.parentId=E,l.title=`Task ${t}`,l.duration="5 days",l.percentComplete=Math.round(Math.random()*100),l.start=new Date(r,o,s),l.finish=new Date(r,o+1,s),l.effortDriven=t%5===0}return this.sgb&&(this.sgb.dataset=i),i}handleOnTreeFullToggleEnd(u){const e=u.detail;console.log("Tree Data changes",e),this.hideSpinner()}handleOnTreeItemToggled(u){this.hasNoExpandCollapseChanged=!1;const e=u.detail;this.treeToggleItems=e.toggledItems,console.log("Tree Data changes",e)}handleOnGridStateChanged(u){var a,i,t,r;this.hasNoExpandCollapseChanged=!1;const e=u.detail;((a=e.change)==null?void 0:a.type)===F0.treeData&&(console.log("Tree Data gridStateChange",(i=e.gridState)==null?void 0:i.treeData),this.treeToggleItems=(r=(t=e.gridState)==null?void 0:t.treeData)==null?void 0:r.toggledItems)}logTreeDataToggledItems(){console.log(this.sgb.treeDataService.getToggledItems())}dynamicallyToggledFirstParent(){var r;const u="parentId",e="treeLevel",i=this.sgb.dataset.find(o=>o[e]===1),t=(r=this.sgb.dataView)==null?void 0:r.getItemByIdx(i[u]);i&&t&&this.sgb.treeDataService.dynamicallyToggleItemState([{itemId:t.id,isCollapsed:!t.__collapsed}])}reapplyToggledItems(){this.sgb.treeDataService.applyToggledItemStateChanges(this.treeToggleItems)}}class bC{constructor(){k(this,"columnDefinitions");k(this,"gridOptions");k(this,"datasetFlat");k(this,"datasetHierarchical",[]);k(this,"sgb");k(this,"durationOrderByCount",!1);k(this,"isExcludingChildWhenFiltering",!1);k(this,"isAutoApproveParentItemWhenTreeColumnIsValid",!0);k(this,"isAutoRecalcTotalsOnFilterChange",!1);k(this,"isRemoveLastInsertedPopSongDisabled",!0);k(this,"lastInsertedPopSongId");k(this,"searchString","");k(this,"treeFormatter",(u,e,a,i,t,r)=>{var p,F;const o=r.getOptions(),s=((p=o==null?void 0:o.treeDataOptions)==null?void 0:p.levelPropName)||"__treeLevel";if(a==null||t===void 0)return"";const l=r.getData(),E=l.getItems(),d=l.getIdPropertyName()||"id",c=l.getIdxById(t[d]),D=this.getFileIcon(a),m=t[s],h=".";a=a.replace(/&/g,"&").replace(//g,">");const g=``,x=Ra(5*m);if(((F=E[c+1])==null?void 0:F[s])>E[c][s]||E[c].__hasChildren){const v=``;return t.__collapsed?`${h}${g}${x} ${v} ${D} ${a}`:`${h}${g}${x} ${v} ${D} ${a}`}else return`${h}${g}${x} ${D} ${a}`})}attached(){this.initializeGrid(),this.datasetFlat=[],this.datasetHierarchical=this.mockDataset();const u=document.querySelector(".grid6");this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},void 0,this.datasetHierarchical),document.body.classList.add("salesforce-theme")}dispose(){var u;(u=this.sgb)==null||u.dispose(),document.body.classList.remove("salesforce-theme")}initializeGrid(){this.columnDefinitions=[{id:"file",name:"Files",field:"file",type:C.string,width:150,formatter:this.treeFormatter,filterable:!0,sortable:!0},{id:"dateModified",name:"Date Modified",field:"dateModified",formatter:P.dateIso,type:C.dateUtc,outputType:C.dateIso,minWidth:90,exportWithFormatter:!0,filterable:!0,filter:{model:H.compoundDate}},{id:"description",name:"Description",field:"description",minWidth:90,filterable:!0,sortable:!0},{id:"size",name:"Size",field:"size",minWidth:90,type:C.number,exportWithFormatter:!0,excelExportOptions:{autoDetectCellFormat:!1},filterable:!0,filter:{model:H.compoundInputNumber},formatter:(u,e,a,i,t)=>{var o,s,l,E;const r=i.field;if((t==null?void 0:t.__treeTotals)!==void 0){const d=t[((s=(o=this.gridOptions)==null?void 0:o.treeDataOptions)==null?void 0:s.levelPropName)||"__treeLevel"],c=(l=t==null?void 0:t.__treeTotals)==null?void 0:l.sum[r],D=(E=t==null?void 0:t.__treeTotals)==null?void 0:E.avg[r];if(D!==void 0&&c!==void 0)return isNaN(c)?"":`sum: ${te(c,0,2)} MB / avg: ${te(D,0,2)} MB (${d===0?"total":"sub-total"})`;if(c!==void 0)return isNaN(c)?"":`sum: ${te(c,0,2)} MB (${d===0?"total":"sub-total"})`}return lu(a)?`${a} MB`:""}}],this.gridOptions={autoResize:{container:".demo-container"},enableAutoSizeColumns:!0,enableAutoResize:!0,enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},enableTextExport:!0,textExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},gridMenu:{iconCssClass:"mdi mdi-dots-grid"},externalResources:[new y0,new $a],enableFiltering:!0,enableTreeData:!0,multiColumnSort:!1,rowHeight:35,treeDataOptions:{columnId:"file",childrenPropName:"files",excludeChildrenWhenFilteringTree:this.isExcludingChildWhenFiltering,autoApproveParentItemWhenTreeColumnIsValid:this.isAutoApproveParentItemWhenTreeColumnIsValid,aggregators:[new vu.Avg("size"),new vu.Sum("size")],autoRecalcTotalsOnFilterChange:this.isAutoRecalcTotalsOnFilterChange},showCustomFooter:!0,presets:{treeData:{toggledItems:[{itemId:4,isCollapsed:!0}]}}}}changeAutoApproveParentItem(){var u;return this.isAutoApproveParentItemWhenTreeColumnIsValid=!this.isAutoApproveParentItemWhenTreeColumnIsValid,this.gridOptions.treeDataOptions.autoApproveParentItemWhenTreeColumnIsValid=this.isAutoApproveParentItemWhenTreeColumnIsValid,(u=this.sgb.slickGrid)==null||u.setOptions(this.gridOptions),this.sgb.filterService.refreshTreeDataFilters(),!0}changeAutoRecalcTotalsOnFilterChange(){var u;return this.isAutoRecalcTotalsOnFilterChange=!this.isAutoRecalcTotalsOnFilterChange,this.gridOptions.treeDataOptions.autoRecalcTotalsOnFilterChange=this.isAutoRecalcTotalsOnFilterChange,(u=this.sgb.slickGrid)==null||u.setOptions(this.gridOptions),this.sgb.filterService.clearFilters(),this.sgb.treeDataService.enableAutoRecalcTotalsFeature(),!0}changeExcludeChildWhenFiltering(){var u;return this.isExcludingChildWhenFiltering=!this.isExcludingChildWhenFiltering,this.gridOptions.treeDataOptions.excludeChildrenWhenFilteringTree=this.isExcludingChildWhenFiltering,(u=this.sgb.slickGrid)==null||u.setOptions(this.gridOptions),this.sgb.filterService.refreshTreeDataFilters(),!0}clearSearch(){this.searchFile(new KeyboardEvent("keyup",{code:"",bubbles:!0,cancelable:!0})),document.querySelector("input.search").value=""}executeCommand(u,e){switch(e.command){case"exports-csv":case"exports-txt":case"exports-xlsx":alert(`Exporting as ${e.item.title}`);break;default:alert("Command: "+e.command);break}}searchFile(u){var e;this.searchString=((e=u.target)==null?void 0:e.value)||"",this.updateFilter()}updateFilter(){this.sgb.filterService.updateFilters([{columnId:"file",searchTerms:[this.searchString]}],!0,!1,!0)}getFileIcon(u){let e="";return u.includes(".pdf")?e='':u.includes(".txt")?e='':u.includes(".csv")||u.includes(".xls")?e='':u.includes(".mp3")?e='':u.includes(".")&&(e=''),e}addNewFile(){const u=this.sgb.dataView.getItemCount()+50,e=$e(this.datasetHierarchical,a=>a.file==="pop","files");e&&Array.isArray(e.files)&&(e.files.push({id:u,file:`pop-${u}.mp3`,dateModified:new Date,size:u+3}),this.lastInsertedPopSongId=u,this.isRemoveLastInsertedPopSongDisabled=!1,this.sgb.datasetHierarchical=this.datasetHierarchical,setTimeout(()=>{var i,t;const a=(i=this.sgb.dataView)==null?void 0:i.getRowById(u);(t=this.sgb.slickGrid)==null||t.scrollRowIntoView(a+3)},0))}deleteFile(){const u=$e(this.datasetHierarchical,a=>a.file==="pop","files"),e=$e(this.datasetHierarchical,a=>a.id===this.lastInsertedPopSongId,"files");if(u&&e){const a=u.files.findIndex(i=>i.id===e.id);a>=0&&(u.files.splice(a,1),this.lastInsertedPopSongId=void 0,this.isRemoveLastInsertedPopSongDisabled=!0,this.sgb.datasetHierarchical=this.datasetHierarchical)}}clearFilters(){this.sgb.filterService.clearFilters()}collapseAll(){this.sgb.treeDataService.toggleTreeDataCollapse(!0)}expandAll(){this.sgb.treeDataService.toggleTreeDataCollapse(!1)}logHierarchicalStructure(){console.log("hierarchical array",this.sgb.treeDataService.datasetHierarchical)}logFlatStructure(){console.log("flat array",this.sgb.treeDataService.dataset)}mockDataset(){return[{id:24,file:"bucket-list.txt",dateModified:"2012-03-05T12:44:00.123Z",size:.5},{id:18,file:"something.txt",dateModified:"2015-03-03T03:50:00.123Z",size:90},{id:21,file:"documents",files:[{id:2,file:"txt",files:[{id:3,file:"todo.txt",description:"things to do someday maybe",dateModified:"2015-05-12T14:50:00.123Z",size:.7}]},{id:4,file:"pdf",files:[{id:22,file:"map2.pdf",dateModified:"2015-07-21T08:22:00.123Z",size:2.9},{id:5,file:"map.pdf",dateModified:"2015-05-21T10:22:00.123Z",size:3.1},{id:6,file:"internet-bill.pdf",dateModified:"2015-05-12T14:50:00.123Z",size:1.3},{id:23,file:"phone-bill.pdf",dateModified:"2015-05-01T07:50:00.123Z",size:1.5}]},{id:9,file:"misc",files:[{id:10,file:"warranties.txt",dateModified:"2015-02-26T16:50:00.123Z",size:.4}]},{id:7,file:"xls",files:[{id:8,file:"compilation.xls",dateModified:"2014-10-02T14:50:00.123Z",size:2.3}]},{id:55,file:"unclassified.csv",dateModified:"2015-04-08T03:44:12.333Z",size:.25},{id:56,file:"unresolved.csv",dateModified:"2015-04-03T03:21:12.000Z",size:.79},{id:57,file:"zebra.dll",dateModified:"2016-12-08T13:22:12.432",size:1.22}]},{id:11,file:"music",files:[{id:12,file:"mp3",files:[{id:16,file:"rock",files:[{id:17,file:"soft.mp3",dateModified:"2015-05-13T13:50:00Z",size:98}]},{id:14,file:"pop",files:[{id:15,file:"theme.mp3",description:"Movie Theme Song",dateModified:"2015-03-01T17:05:00Z",size:47},{id:25,file:"song.mp3",description:"it is a song...",dateModified:"2016-10-04T06:33:44Z",size:6.3}]},{id:33,file:"other",files:[]}]}]},{id:26,file:"recipes",description:"Cake Recipes",dateModified:"2012-03-05T12:44:00.123Z",files:[{id:29,file:"cheesecake",description:"strawberry cheesecake",dateModified:"2012-04-04T13:52:00.123Z",size:.2},{id:30,file:"chocolate-cake",description:"tasty sweet chocolate cake",dateModified:"2012-05-05T09:22:00.123Z",size:.2},{id:31,file:"coffee-cake",description:"chocolate coffee cake",dateModified:"2012-01-01T08:08:48.123Z",size:.2}]}]}displaySumAggregatorOnly(){this.sgb.slickGrid.setOptions({treeDataOptions:{columnId:"file",childrenPropName:"files",excludeChildrenWhenFilteringTree:this.isExcludingChildWhenFiltering,autoApproveParentItemWhenTreeColumnIsValid:this.isAutoApproveParentItemWhenTreeColumnIsValid,aggregators:[new vu.Sum("size")]}}),this.sgb.datasetHierarchical=this.mockDataset()}}class fC{constructor(){k(this,"_bindingEventService");k(this,"_darkMode",!1);k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset");k(this,"sgb");k(this,"duplicateTitleHeaderCount",1);k(this,"filteringEnabledClass","");k(this,"sortingEnabledClass","");k(this,"selectedLanguage");k(this,"selectedLanguageFile");k(this,"translateService");this._bindingEventService=new pu,this.translateService=window.TranslateService,this.selectedLanguage=this.translateService.getCurrentLanguage(),this.selectedLanguageFile=`${this.selectedLanguage}.json`,this.isFilteringEnabled=!0,this.isSortingEnabled=!0}set isFilteringEnabled(u){this.filteringEnabledClass=u?"mdi mdi-toggle-switch":"mdi mdi-toggle-switch-off-outline"}set isSortingEnabled(u){this.sortingEnabledClass=u?"mdi mdi-toggle-switch":"mdi mdi-toggle-switch-off-outline"}async attached(){this.initializeGrid(),this.dataset=this.loadData(500);const u=document.querySelector(".grid7");this._bindingEventService.bind(u,"oncellchange",this.handleOnCellChange.bind(this)),this._bindingEventService.bind(u,"onvalidationerror",this.handleValidationError.bind(this)),this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},this.dataset),document.body.classList.add("material-theme")}dispose(){var u,e;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll(),document.body.classList.remove("material-theme"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode"),document.body.setAttribute("data-theme","light")}initializeGrid(){this.columnDefinitions=[{id:"title",nameKey:"TITLE",field:"title",filterable:!0,editor:{model:$.longText,required:!0,alwaysSaveOnEnterKey:!0}},{id:"action",name:"Action",field:"action",minWidth:55,maxWidth:55,excludeFromExport:!0,excludeFromHeaderMenu:!0,cssClass:"justify-center",formatter:()=>'
',cellMenu:{hideCloseButton:!1,subItemChevronClass:"mdi mdi-chevron-down mdi-rotate-270",commandTitleKey:"COMMANDS",commandItems:[{command:"command1",titleKey:"DELETE_ROW",iconCssClass:"mdi mdi-close",cssClass:"has-text-danger",textCssClass:"bold",action:(u,e)=>{var a;confirm(`Do you really want to delete row (${e.row+1}) with "${e.dataContext.title}"?`)&&((a=this.sgb)==null||a.gridService.deleteItemById(e.dataContext.id))}},"divider",{command:"help",titleKey:"HELP",iconCssClass:"mdi mdi-help-circle",action:()=>alert("Please help!")},{command:"",divider:!0,positionOrder:98},{command:"export",title:"Exports",iconCssClass:"mdi mdi-download",positionOrder:99,commandItems:[{command:"exports-txt",title:"Text (tab delimited)"},{command:"sub-menu",title:"Excel",cssClass:"green",subMenuTitle:"available formats",subMenuTitleCssClass:"text-italic orange",commandItems:[{command:"exports-csv",title:"Excel (csv)"},{command:"exports-xlsx",title:"Excel (xlsx)"}]}]},{command:"feedback",title:"Feedback",positionOrder:100,commandItems:[{command:"request-update",title:"Request update from supplier",iconCssClass:"mdi mdi-star",tooltip:"this will automatically send an alert to the shipping team to contact the user for an update"},"divider",{command:"sub-menu",title:"Contact Us",iconCssClass:"mdi mdi-account",subMenuTitle:"contact us...",subMenuTitleCssClass:"italic",commandItems:[{command:"contact-email",title:"Email us",iconCssClass:"mdi mdi-pencil-outline"},{command:"contact-chat",title:"Chat with us",iconCssClass:"mdi mdi-message-text-outline"},{command:"contact-meeting",title:"Book an appointment",iconCssClass:"mdi mdi-coffee"}]}]}],onCommand:(u,e)=>{var a;if(!((a=e.item)!=null&&a.action))switch(e.command){case"exports-csv":case"exports-txt":case"exports-xlsx":alert(`Exporting as ${e.item.title}`);break;default:alert("Command: "+e.command);break}},optionTitleKey:"CHANGE_COMPLETED_FLAG",optionItems:[{option:!0,titleKey:"TRUE",iconCssClass:"mdi mdi-check-box-outline"},{option:!1,titleKey:"FALSE",iconCssClass:"mdi mdi-checkbox-blank-outline"},{option:null,title:"Sub-Options (demo)",subMenuTitleKey:"CHANGE_COMPLETED_FLAG",optionItems:[{option:!0,titleKey:"TRUE",iconCssClass:"mdi mdi-check-box-outline"},{option:!1,titleKey:"FALSE",iconCssClass:"mdi mdi-checkbox-blank-outline"}]}],onOptionSelected:(u,e)=>{this.changeCompletedOption(e.dataContext,e.item.option)}}},{id:"duration",nameKey:"DURATION",field:"duration",sortable:!0,filterable:!0,type:"number",editor:{model:$.text,alwaysSaveOnEnterKey:!0},formatter:this.dayDurationTranslateFormatter.bind(this)},{id:"percentComplete",nameKey:"PERCENT_COMPLETE",field:"percentComplete",type:"number",filterable:!0,sortable:!0,editor:{model:$.slider,minValue:0,maxValue:100}},{id:"start",nameKey:"START",field:"start",formatter:P.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},editor:{model:$.date},type:C.date,saveOutputType:C.dateUtc},{id:"finish",nameKey:"FINISH",field:"finish",formatter:P.dateIso,filterable:!0,sortable:!0,filter:{model:H.compoundDate},editor:{model:$.date},type:C.dateIso,saveOutputType:C.dateUtc},{id:"completed",nameKey:"COMPLETED",field:"completed",formatter:P.checkmarkMaterial,filterable:!0,sortable:!0,filter:{enableRenderHtml:!0,collection:[{value:"",label:""},{value:!0,label:"True",labelSuffix:' '},{value:!1,label:"False",labelSuffix:' '}],model:H.singleSelect},editor:{model:$.singleSelect,enableRenderHtml:!0,collectionAsync:new Promise(u=>setTimeout(()=>{u([{value:!0,label:"True",labelSuffix:' '},{value:!1,label:"False",labelSuffix:' '}])},250))}},{id:"prerequisites",name:"Prerequisites",field:"prerequisites",filterable:!0,formatter:(u,e,a)=>{if(a&&Array.isArray(a)){const i=a.map(t=>`Task ${t}`).join(", ");return`${i}`}return""},exportWithFormatter:!0,sanitizeDataExport:!0,minWidth:100,sortable:!0,type:C.string,editor:{collectionAsync:new Promise(u=>{setTimeout(()=>{u(Array.from(Array((this.dataset||[]).length).keys()).map(e=>({value:e,label:e,prefix:"Task",suffix:"days"})))},500)}),collectionSortBy:{property:"value",sortDesc:!0,fieldType:C.number},customStructure:{label:"label",value:"value",labelPrefix:"prefix"},collectionOptions:{separatorBetweenTextLabels:" "},model:$.multipleSelect},filter:{collectionAsync:new Promise(u=>{setTimeout(()=>{u(Array.from(Array((this.dataset||[]).length).keys()).map(e=>({value:e,label:`Task ${e}`})))})}),collectionSortBy:{property:"value",sortDesc:!0,fieldType:C.number},customStructure:{label:"label",value:"value",labelPrefix:"prefix"},collectionOptions:{separatorBetweenTextLabels:" "},model:H.multipleSelect,operator:T.inContains}}],this.gridOptions={enableAutoResize:!0,autoResize:{container:".demo-container",rightPadding:10},darkMode:this._darkMode,gridMenu:{commandTitleKey:"CUSTOM_COMMANDS"},autoEdit:!0,autoCommitEdit:!0,editable:!0,showCustomFooter:!0,enableExcelExport:!0,excelExportOptions:{sanitizeDataExport:!0},enableCellMenu:!0,enableFiltering:!0,enableTranslate:!0,translater:this.translateService,externalResources:[new y0],enableCellNavigation:!0,enableCheckboxSelector:!0,enableRowSelection:!0,rowSelectionOptions:{selectActiveRow:!1},checkboxSelector:{hideSelectAllCheckbox:!1,columnIndexPosition:1},dataView:{syncGridSelection:!0},enableRowMoveManager:!0,rowMoveManager:{columnIndexPosition:0,singleRowMove:!0,disableRowSelection:!0,cancelEditOnDrag:!0,hideRowMoveShadow:!1,onBeforeMoveRows:this.onBeforeMoveRow.bind(this),onMoveRows:this.onMoveRows.bind(this)},presets:{filters:[{columnId:"prerequisites",searchTerms:[1,3,5,7,9,12,15,18,21,25,28]}],rowSelection:{dataContextIds:[2,3,6,7]}}}}addItem(){const u=this.dataset.length,e=this.loadData(1,u);setTimeout(()=>{const a=this.columnDefinitions.find(i=>i.id==="prerequisites");if(a){const i=a.editor.collection,t=a.filter.collection;Array.isArray(i)&&Array.isArray(t)&&(this.sgb.gridService.addItem(e[0],{position:"bottom",highlightRow:!1}),i.push({value:u,label:u,prefix:"Task",suffix:"days"}),t.push({value:u,label:u,prefix:"Task",suffix:"days"}))}},50)}clearFilters(){this.sgb.filterService.clearFilters()}allFilters(){const u=this.sgb,e=`
@@ -2006,7 +2006,7 @@ ${i}`}}generateFiles(){return new Promise(u=>{const e={};this._generateCorePaths
`,a=document.createElement("div");a.innerHTML=v4.sanitize(e),document.body.appendChild(a.querySelector("div")),this._bindingEventService.bind(document.querySelectorAll("#modal-allFilter .btn-close"),"click",()=>{var i,t;(i=u==null?void 0:u.slickGrid)!=null&&i.getOptions().showHeaderRow&&(u==null||u.showHeaderRow(!0)),(t=document.getElementById("modal-allFilter"))==null||t.remove()}),this._bindingEventService.bind(document.querySelector("#btn-clear-all"),"click",()=>{var i;(i=document.getElementById("modal-allFilter"))==null||i.remove(),u==null||u.filterService.clearFilters()});for(const i of(u==null?void 0:u.columnDefinitions)??[])if(i.filterable){const t=`modal-allfilter-${i.id}`,r=document.querySelector("#modal-allFilter-table").innerHTML;document.querySelector("#modal-allFilter-table").innerHTML=r+`
`,u==null||u.filterService.drawFilterTemplate(i,`#${t}`)}}changeCompletedOption(u,e){var a;u!=null&&u.hasOwnProperty("completed")&&(u.completed=e,(a=this.sgb)==null||a.gridService.updateItem(u))}deleteItem(){const u=this.columnDefinitions.find(e=>e.id==="prerequisites");if(u){const e=u.editor.collection,a=u.filter.collection;if(Array.isArray(e)&&Array.isArray(a)){const i=this.sortCollectionDescending(e).pop();this.sortCollectionDescending(a).pop(),this.sgb.gridService.deleteItemById(i.value)}}}loadData(u,e=0){const a=[];for(let i=e;i
e.value-a.value)}onBeforeMoveRow(u,e){var a;for(const i of e.rows)if(i===e.insertBefore||i===e.insertBefore-1&&e.insertBefore-1!==((a=this.sgb.dataView)==null?void 0:a.getItemCount()))return u.stopPropagation(),!1;return!0}onMoveRows(u,e){var h,g,x,p,F,v;const a=e.rows,i=e.insertBefore,t=[];(h=this.sgb.dataView)==null||h.sort(void 0,!0);const r=(g=this.sgb.dataView)==null?void 0:g.getItems(),o=(x=this.sgb.dataView)==null?void 0:x.getFilteredItems(),s=(p=this.sgb.dataView)==null?void 0:p.getItem(i),l=s?(F=this.sgb.dataView)==null?void 0:F.getIdxById(s.id):(v=this.sgb.dataView)==null?void 0:v.getItemCount(),E=[];a.forEach(b=>E.push(o[b]));const d=E.map(b=>{var B;return(B=this.sgb.dataView)==null?void 0:B.getIdxById(b.id)}),c=r.slice(0,l),D=r.slice(l,r.length);a.sort((b,B)=>b-B);for(const b of d)t.push(r[b]);d.reverse();for(const b of d)b1?"s":""})??""}taskTranslateFormatter(u,e,a){return this.translateService.translate("TASK_X",{x:a})??""}dynamicallyAddTitleHeader(){const u={id:`title${this.duplicateTitleHeaderCount++}`,nameKey:"TITLE",field:"title",editor:{model:$.text,required:!0},sortable:!0,minWidth:100,filterable:!0};this.sgb.columnDefinitions.push(u),this.sgb.columnDefinitions=this.sgb.columnDefinitions.slice()}dynamicallyRemoveLastColumn(){this.sgb.columnDefinitions.pop(),this.sgb.columnDefinitions=this.sgb.columnDefinitions.slice()}hideFinishColumnDynamically(){this.sgb.gridService.hideColumnById("finish")}disableFilters(){this.isFilteringEnabled=!1,this.sgb.filterService.disableFilterFunctionality(!0)}disableSorting(){this.isSortingEnabled=!1,this.sgb.sortService.disableSortFunctionality(!0)}toggleDarkMode(){var u,e,a;this._darkMode=!this._darkMode,this._darkMode?(document.body.setAttribute("data-theme","dark"),(u=document.querySelector(".demo-container"))==null||u.classList.add("dark-mode")):(document.body.setAttribute("data-theme","light"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode")),(a=this.sgb.slickGrid)==null||a.setOptions({darkMode:this._darkMode})}toggleFilter(){var u;this.sgb.filterService.toggleFilterFunctionality(),this.isFilteringEnabled=((u=this.sgb.slickGrid)==null?void 0:u.getOptions().enableFiltering)??!1}toggleSorting(){var u;this.sgb.sortService.toggleSortFunctionality(),this.isSortingEnabled=((u=this.sgb.slickGrid)==null?void 0:u.getOptions().enableSorting)??!1}}class BC{constructor(){k(this,"columnDefinitions1");k(this,"columnDefinitions2");k(this,"gridOptions1");k(this,"gridOptions2");k(this,"dataset1",[]);k(this,"dataset2",[]);k(this,"sgb1");k(this,"sgb2");k(this,"grid2SearchSelectedColumn");k(this,"grid2SelectedOperator");k(this,"grid2SearchValue");k(this,"operatorList",["=","<","<=",">",">=","<>","StartsWith","EndsWith"]);this.definedGrid1(),this.definedGrid2()}attached(){this.dataset1=this.loadData(500),this.dataset2=this.loadData(500);const u=document.querySelector(".grid1"),e=document.querySelector(".grid2");this.sgb1=new Bu.GridBundle(u,this.columnDefinitions1,{...Lu,...this.gridOptions1},this.dataset1),this.sgb2=new Bu.GridBundle(e,this.columnDefinitions2,{...Lu,...this.gridOptions2},this.dataset2),this.populategrid2SearchColumnsDropdown(),this.populategrid2SearchOperatorDropdown()}dispose(){var u,e;(u=this.sgb1)==null||u.dispose(),(e=this.sgb2)==null||e.dispose()}definedGrid1(){this.columnDefinitions1=[{id:"title",name:"Title",field:"title",sortable:!0,columnGroup:"Common Factor"},{id:"duration",name:"Duration",field:"duration",columnGroup:"Common Factor"},{id:"start",name:"Start",field:"start",columnGroup:"Period"},{id:"finish",name:"Finish",field:"finish",columnGroup:"Period"},{id:"%",name:"% Complete",type:C.number,field:"percentComplete",selectable:!1,columnGroup:"Analysis"},{id:"effort-driven",name:"Effort Driven",field:"effortDriven",type:C.boolean,columnGroup:"Analysis"}],this.gridOptions1={enableAutoResize:!1,gridHeight:275,gridWidth:800,enableTextExport:!0,enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},gridMenu:{iconButtonContainer:"preheader"},externalResources:[new $a,new y0],enableCellNavigation:!0,enableColumnReorder:!1,enableSorting:!0,createPreHeaderPanel:!0,showPreHeaderPanel:!0,preHeaderPanelHeight:26,rowHeight:33,explicitInitialization:!0,colspanCallback:this.renderDifferentColspan}}definedGrid2(){this.columnDefinitions2=[{id:"sel",name:"#",field:"num",behavior:"select",cssClass:"cell-selection",width:40,resizable:!1,selectable:!1},{id:"title",name:"Title",field:"title",minWidth:120,sortable:!0,columnGroup:"Common Factor"},{id:"duration",name:"Duration",field:"duration",type:C.number,minWidth:120,columnGroup:"Common Factor"},{id:"start",name:"Start",field:"start",minWidth:145,columnGroup:"Period"},{id:"finish",name:"Finish",field:"finish",minWidth:145,columnGroup:"Period"},{id:"percentComplete",name:"% Complete",field:"percentComplete",type:C.number,minWidth:145,selectable:!1,columnGroup:"Analysis"},{id:"effort-driven",name:"Effort Driven",field:"effortDriven",minWidth:145,type:C.boolean,columnGroup:"Analysis"}],this.gridOptions2={gridHeight:275,gridWidth:800,alwaysShowVerticalScroll:!1,enableCellNavigation:!0,enableColumnReorder:!1,createPreHeaderPanel:!0,showPreHeaderPanel:!0,preHeaderPanelHeight:35,explicitInitialization:!0,frozenColumn:2,rowHeight:33,showCustomFooter:!0,gridMenu:{hideClearFrozenColumnsCommand:!1},headerMenu:{hideFreezeColumnsCommand:!1},enableFiltering:!0,showHeaderRow:!1}}loadData(u){const e=[];for(let a=0;ae.id==="title")}populategrid2SearchOperatorDropdown(){const u=document.querySelector(".selected-operator");for(const e of this.operatorList){const a=document.createElement("option");a.value=e,a.label=e,u.appendChild(a)}this.grid2SelectedOperator=this.operatorList[0]}selectedOperatorChanged(u){this.grid2SelectedOperator=u,this.updateFilter()}selectedColumnChanged(u){this.grid2SearchSelectedColumn=this.columnDefinitions2.find(e=>e.id===u),this.updateFilter()}searchValueChanged(u){this.grid2SearchValue=u,this.updateFilter()}updateFilter(){var u;this.sgb2.filterService.updateSingleFilter({columnId:`${((u=this.grid2SearchSelectedColumn)==null?void 0:u.id)??""}`,operator:this.grid2SelectedOperator,searchTerms:[this.grid2SearchValue||""]})}}class yC{set columnDefinitions(u){this._columnDefinitions=u}set datasetIdPropName(u){this._datasetIdPropName=u}constructor(){this._filterCount=0,this._columnDefinitions=[],this._datasetIdPropName="id",this._odataOptions={filterQueue:[],orderBy:""},this._defaultSortBy="",this._columnFilters={}}buildQuery(){if(!this._odataOptions)throw new Error('Odata Service requires certain options like "top" for it to work');this._odataOptions.filterQueue=[];const u=[];if(this._odataOptions&&this._odataOptions.enableCount===!0){const e=this._odataOptions.version&&this._odataOptions.version>=4?"$count=true":"$inlinecount=allpages";u.push(e)}if(this._odataOptions.top&&u.push(`$top=${this._odataOptions.top}`),this._odataOptions.skip&&u.push(`$skip=${this._odataOptions.skip}`),this._odataOptions.orderBy){let e="";Array.isArray(this._odataOptions.orderBy)?e=this._odataOptions.orderBy.join(","):e=this._odataOptions.orderBy,u.push(`$orderby=${e}`)}if(this._odataOptions.filterBy||this._odataOptions.filter){const e=this._odataOptions.filter||this._odataOptions.filterBy;if(e){this._filterCount=1,this._odataOptions.filterQueue=[];let a=e;Array.isArray(e)&&(this._filterCount=e.length,a=e.join(` ${this._odataOptions.filterBySeparator||"and"} `)),typeof a=="string"&&(a[0]==="("&&a.slice(-1)===")"?this.addToFilterQueueWhenNotExists(a):this.addToFilterQueueWhenNotExists(`(${a})`))}}if(this._odataOptions.filterQueue.length>0){const e=this._odataOptions.filterQueue.join(` ${this._odataOptions.filterBySeparator||"and"} `);this._odataOptions.filter=e,u.push(`$filter=${e}`)}if(this._odataOptions.enableSelect||this._odataOptions.enableExpand){const e=this._columnDefinitions.flatMap(i=>i.fields??[i.field]);e.unshift(this._datasetIdPropName);const a=this.buildSelectExpand([...new Set(e)]);if(this._odataOptions.enableSelect){const i=a.selectParts.join(",");u.push(`$select=${i}`)}if(this._odataOptions.enableExpand){const i=a.expandParts.join(",");u.push(`$expand=${i}`)}}return u.join("&")}getFilterCount(){return this._filterCount}get columnFilters(){return this._columnFilters}get options(){return this._odataOptions}set options(u){this._odataOptions=u}removeColumnFilter(u){this._columnFilters&&this._columnFilters.hasOwnProperty(u)&&delete this._columnFilters[u]}saveColumnFilter(u,e,a){this._columnFilters[u]={search:a,value:e}}updateOptions(u){for(const e of Object.keys(u))if(u.hasOwnProperty(e)&&(this._odataOptions[e]=u[e]),e==="orderBy"||e==="sortBy"){let a=u[e];this._odataOptions.caseType===Ie.pascalCase&&(Array.isArray(a)?a.forEach((i,t,r)=>{r[t]=R0(i)}):a=R0(u[e])),this._odataOptions.orderBy=a,this._defaultSortBy=a}}addToFilterQueueWhenNotExists(u){this._odataOptions.filterQueue&&this._odataOptions.filterQueue.indexOf(u)===-1&&this._odataOptions.filterQueue.push(u)}buildSelectExpand(u){const e={},a=new Set;for(const i of u){const t=i.split("/");if(t.length===1)a.add(i);else{const r=t[0],o=t.splice(1).join("/");e[r]||(e[r]=[]),e[r].push(o),this._odataOptions.enableExpand&&!(this._odataOptions.version&&this._odataOptions.version>=4)&&a.add(r)}}return{selectParts:[...a],expandParts:this._odataOptions.enableExpand?this.buildExpand(e):[]}}buildExpand(u){const e=[];for(const a of Object.keys(u))if(this._odataOptions.enableSelect&&this._odataOptions.version&&this._odataOptions.version>=4){const i=this.buildSelectExpand(u[a]);let t=i.selectParts.join(",");t.length>0&&(t="$select="+t),this._odataOptions.enableExpand&&i.expandParts.length>0&&(t+=(t.length>0?";":"")+"$expand="+i.expandParts.join(",")),t.length>0&&(t="("+t+")"),e.push(a+t)}else e.push(a);return e}}const zC=25,Cl=20;class H4{get columnDefinitions(){return this._columnDefinitions}get odataService(){return this._odataService}get _gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}constructor(){this._currentFilters=[],this._currentPagination=null,this._currentSorters=[],this._columnDefinitions=[],this.defaultOptions={top:zC,orderBy:"",caseType:Ie.pascalCase},this._odataService=new yC}init(u,e,a,i){this._grid=a;const t={...this.defaultOptions,...u};if(this._gridOptions&&!this._gridOptions.enablePagination)this._odataService.options={...t,top:void 0},this._currentPagination=null;else{const r=e&&e.pageSize?e.pageSize:this.defaultOptions.top;this._odataService.options={...t,top:r},this._currentPagination={pageNumber:1,pageSize:this._odataService.options.top||this.defaultOptions.top||Cl}}if(this.options=this._odataService.options,this.pagination=e,a!=null&&a.getColumns){const r=(i==null?void 0:i.allColumns)??a.getColumns()??[];this._columnDefinitions=r.filter(o=>!o.excludeFromQuery)}this._odataService.columnDefinitions=this._columnDefinitions,this._odataService.datasetIdPropName=this._gridOptions.datasetIdPropertyName||"id"}buildQuery(){return this._odataService.buildQuery()}postProcess(u){const e=this._odataService.options.version??2;if(this.pagination&&this._odataService.options.enableCount){const i=(this._odataService.options.countExtractor??e>=4?t=>t==null?void 0:t["@odata.count"]:e===3?t=>t==null?void 0:t.__count:t=>{var r;return(r=t==null?void 0:t.d)==null?void 0:r.__count})(u);typeof i=="number"&&(this.pagination.totalItems=i)}if(this._odataService.options.enableExpand){const i=(this._odataService.options.datasetExtractor??e>=4?t=>t==null?void 0:t.value:e===3?t=>t==null?void 0:t.results:t=>{var r;return(r=t==null?void 0:t.d)==null?void 0:r.results})(u);if(Array.isArray(i)){const t=new Set(this._columnDefinitions.flatMap(r=>r.fields??[r.field]).filter(r=>r.includes("/")));if(t.size>0){const r=new Set;for(const o of i){for(const s of t){const l=s.split("/"),E=l[0];r.add(E);let d=o[E];for(let c=1;c":e="gt";break;case">=":e="ge";break;case"<>":case"!=":e="ne";break;case"=":case"==":default:e="eq";break}return e}resetPaginationOptions(){this._odataService.updateOptions({skip:0})}saveColumnFilter(u,e,a){this._odataService.saveColumnFilter(u,e,a)}processOnFilterChanged(u,e){if(this._gridOptions.backendServiceApi===void 0)throw new Error('Something went wrong in the GridOdataService, "backendServiceApi" is not initialized');if(this._currentFilters=this.castFilterToColumnFilters(e.columnFilters),!e||!e.grid)throw new Error('Something went wrong when trying create the GridOdataService, it seems that "args" is not populated correctly');return this.updateFilters(e.columnFilters),this.resetPaginationOptions(),this._odataService.buildQuery()}processOnPaginationChanged(u,e){const a=+(e.pageSize||(this.pagination?this.pagination.pageSize:Cl));return this.updatePagination(e.newPage,a),this._odataService.buildQuery()}processOnSortChanged(u,e){var i;const a=e.multiColumnSort?e.sortCols:new Array({columnId:((i=e.sortCol)==null?void 0:i.id)??"",sortCol:e.sortCol,sortAsc:e.sortAsc});return this.updateSorters(a),this._odataService.buildQuery()}updateFilters(u,e){var r;let a="";const i=[],t=this._odataService.options.version??2;e&&(this._currentFilters=this.castFilterToColumnFilters(u));for(const o in u)if(u.hasOwnProperty(o)){const s=u[o];let l;if(e&&Array.isArray(this._columnDefinitions)?l=this._columnDefinitions.find(B=>B.id===s.columnId):l=s.columnDef,!l)throw new Error("[GridOData Service]: Something went wrong in trying to get the column definition of the specified filter (or preset filters). Did you make a typo on the filter columnId?");let E=((r=l.filter)==null?void 0:r.queryField)||l.queryFieldFilter||l.queryField||l.field||l.name||"";E instanceof HTMLElement&&(E=Vu(E.innerHTML));const d=l.type||C.string;let c=(s!=null&&s.searchTerms?[...s.searchTerms]:null)||[],D=Array.isArray(c)&&c.length===1?c[0]:"";if(typeof D>"u"&&(D=""),!E)throw new Error('GridOData filter could not find the field name to query the search, your column definition must include a valid "field" or "name" (optionally you can also use the "queryfield").');if(this._odataService.options.useVerbatimSearchTerms||s.verbatimSearchTerms){i.push(`${E} ${s.operator} ${JSON.stringify(s.searchTerms)}`.trim());continue}D=D==null?"":`${D}`;const h=(l.autoParseInputFilterOperator??this._gridOptions.autoParseInputFilterOperator)!==!1?D.match(/^((.*[^\\*\r\n])[*]{1}(.*[^*\r\n]))|^([<>!=*]{0,2})(.*[^<>!=*])([*]?)$/)||[]:[D,"","","","",D,""],g=(h==null?void 0:h[2])||"",x=(h==null?void 0:h[3])||"";let p=s.operator||(h==null?void 0:h[4]),F=(h==null?void 0:h[1])||(h==null?void 0:h[5])||"";const v=h!=null&&h[6]||p==="*z"||p===T.endsWith?"*":"",b=s.bypassBackendQuery||!1;if(E&&F===""&&c.length<=1){this.removeColumnFilter(i0(E));continue}if(g&&x?(c=[g,x],p=T.startsWithEndsWith):Array.isArray(c)&&c.length===1&&typeof c[0]=="string"&&c[0].indexOf("..")>=0&&(p!==T.rangeInclusive&&p!==T.rangeExclusive&&(p=this._gridOptions.defaultFilterRangeOperator??T.rangeInclusive),c=c[0].split("..",2),c[0]===""?(p=p===T.rangeInclusive?"<=":p===T.rangeExclusive?"<":p,c=c.slice(1),F=c[0]):c[1]===""&&(p=p===T.rangeInclusive?">=":p===T.rangeExclusive?">":p,c=c.slice(0,1),F=c[0])),!p&&l.filter&&(p=l.filter.operator),!p&&Array.isArray(c)&&c.length===2&&c[0]&&c[1]&&(p=this._gridOptions.defaultFilterRangeOperator),(p===T.rangeInclusive||p===T.rangeExclusive)&&Array.isArray(c)&&c.length===1&&d===C.date&&(p=T.equal),p||(p=vi(d)),b)E&&this.saveColumnFilter(i0(E),D,c);else{F=this.normalizeSearchValue(d,F,t),Array.isArray(c)&&c.forEach((S,y)=>{c[y]=this.normalizeSearchValue(d,c[y],t)}),a="",this._odataService.options.caseType===Ie.pascalCase&&(E=R0(i0(E||"")));let B;if(typeof this._odataService.options.filterQueryOverride=="function"&&(B=this._odataService.options.filterQueryOverride({fieldName:i0(E),columnDef:l,operator:p,columnFilterOperator:s.operator,searchValue:F,grid:this._grid})),B!==void 0)a=B;else if(p===T.startsWithEndsWith&&Array.isArray(c)&&c.length===2){const S=[],[y,w]=c;S.push(`startswith(${E}, ${y})`),S.push(`endswith(${E}, ${w})`),a=S.join(" and ")}else if((c==null?void 0:c.length)>1&&(p==="IN"||p==="NIN"||p==="NOTIN"||p==="NOT IN"||p==="NOT_IN")){const S=[];if(p==="IN"){for(let y=0,w=c.length;y=4?`contains(${E}, ${F})`:`substringof(${F}, ${E})`,p===T.notContains&&(a=`not ${a}`)):a=`${E} ${this.mapOdataOperator(p)} ${F}`;a!==""&&(i.push(a.trim()),this.saveColumnFilter(i0(E||""),D,F))}}this._odataService.updateOptions({filter:i.length>0?i.join(" and "):"",skip:void 0})}updatePagination(u,e){this._currentPagination={pageNumber:u,pageSize:e},this._gridOptions&&(this._gridOptions.enablePagination||!this._gridOptions.hasOwnProperty("enablePagination"))&&this._odataService.updateOptions({top:e,skip:(u-1)*e})}updateSorters(u,e){let a=[];const i=[];if(!u&&e){a=e,a.forEach(o=>o.direction=o.direction.toLowerCase());const r=a.map(o=>{const s=this._columnDefinitions.find(l=>l.id===o.columnId);return i.push({field:s?(s.queryFieldSorter||s.queryField||s.field)+"":o.columnId+"",direction:o.direction}),s?{columnId:o.columnId,sortAsc:o.direction.toUpperCase()===a0.ASC}:null});Array.isArray(r)&&this._grid&&this._grid.setSortColumns(r)}else if(u&&!e&&(u==null?void 0:u.length)!==0){if(u){for(const r of u)if(r.sortCol){let o=(r.sortCol.queryFieldSorter||r.sortCol.queryField||r.sortCol.field)+"",s=(r.sortCol.field||r.sortCol.id)+"",l=(r.sortCol.queryFieldSorter||r.sortCol.queryField||r.sortCol.field||"")+"";this._odataService.options.caseType===Ie.pascalCase&&(o=R0(o),s=R0(s),l=R0(l)),a.push({columnId:r.sortCol.id,direction:r.sortAsc?a0.asc:a0.desc}),l!==""&&i.push({field:l,direction:r.sortAsc?a0.ASC:a0.DESC})}}}a=a||[];const t=i.map(r=>{let o="";return r&&r.field&&(o=`${this._odataService.options.caseType===Ie.pascalCase?R0(r.field):r.field} ${r&&r.direction&&r.direction.toLowerCase()||""}`),o}).join(",");return this._odataService.updateOptions({orderBy:t}),this._currentSorters=a,this._odataService.buildQuery()}castFilterToColumnFilters(u){const e=typeof u=="object"?Object.keys(u).map(a=>u[a]):u;return Array.isArray(e)?e.map(a=>{const i={columnId:a.columnId||""};return a.operator&&(i.operator=a.operator),a.targetSelector&&(i.targetSelector=a.targetSelector),Array.isArray(a.searchTerms)&&(i.searchTerms=a.searchTerms),i}):[]}filterBySearchTermRange(u,e,a){let i="";return Array.isArray(a)&&a.length===2&&(e===T.rangeInclusive?(i=`(${u} ge ${a[0]}`,a[1]!==""&&(i+=` and ${u} le ${a[1]}`),i+=")"):e===T.rangeExclusive&&(i=`(${u} gt ${a[0]}`,a[1]!==""&&(i+=` and ${u} lt ${a[1]}`),i+=")")),i}normalizeSearchValue(u,e,a){switch(u){case C.date:e=DD(e),e=a>=4?e:`DateTime'${e}'`;break;case C.string:case C.text:case C.readonly:typeof e=="string"&&(e=e.replace(/'/g,"''"),e=encodeURIComponent(e),e=`'${e}'`);break;case C.integer:case C.number:case C.float:typeof e=="string"&&(e=e.replace(/\.\./g,"."),e=e.replace(/\.+$/g,""),e=e.replace(/^\.+/g,"0."),e=e.replace(/^-+\.+/g,"-0."),e=e.replace(/(?!^-)[^\d.]/g,""),(e===""||e==="-")&&(e="0"));break}return e}}const O4=[{name:"Ethel Price",gender:"female",company:"Enersol",id:1,category:{id:1,name:"Gold"}},{name:"Claudine Neal",gender:"female",company:"Sealoud",id:2,category:{id:1,name:"Gold"}},{name:"Beryl Rice",gender:"female",company:"Velity",id:3,category:{id:1,name:"Gold"}},{name:"Wilder Gonzales",gender:"male",company:"Geekko",id:4,category:{id:1,name:"Gold"}},{name:"Georgina Schultz",gender:"female",company:"Suretech",id:5,category:{id:1,name:"Gold"}},{name:"Carroll Buchanan",gender:"male",company:"Ecosys",id:6,category:{id:1,name:"Gold"}},{name:"Valarie Atkinson",gender:"female",company:"Hopeli",id:7,category:{id:1,name:"Gold"}},{name:"Schroeder Mathews",gender:"male",company:"Polarium",id:8,category:{id:1,name:"Gold"}},{name:"Lynda Mendoza",gender:"female",company:"Dogspa",id:9,category:{id:1,name:"Gold"}},{name:"Sarah Massey",gender:"female",company:"Bisba",id:10,category:{id:1,name:"Gold"}},{name:"Robles Boyle",gender:"male",company:"Comtract",id:11,category:{id:1,name:"Gold"}},{name:"Evans Hickman",gender:"male",company:"Parleynet",id:12,category:{id:1,name:"Gold"}},{name:"Dawson Barber",gender:"male",company:"Dymi",id:13,category:{id:1,name:"Gold"}},{name:"Bruce Strong",gender:"male",company:"Xyqag",id:14,category:{id:1,name:"Gold"}},{name:"Nellie Whitfield",gender:"female",company:"Exospace",id:15,category:{id:1,name:"Gold"}},{name:"Jackson Macias",gender:"male",company:"Aquamate",id:16,category:{id:1,name:"Gold"}},{name:"Pena Pena",gender:"male",company:"Quarx",id:17,category:{id:1,name:"Gold"}},{name:"Lelia Gates",gender:"female",company:"Proxsoft",id:18,category:{id:1,name:"Gold"}},{name:"Letitia Vasquez",gender:"female",company:"Slumberia",id:19,category:{id:1,name:"Gold"}},{name:"Trevino Moreno",gender:"male",company:"Conjurica",id:20,category:{id:1,name:"Gold"}},{name:"Barr Page",gender:"male",company:"Apex",id:21,category:{id:1,name:"Gold"}},{name:"Kirkland Merrill",gender:"male",company:"Utara",id:22,category:{id:1,name:"Gold"}},{name:"Blanche Conley",gender:"female",company:"Imkan",id:23,category:{id:1,name:"Gold"}},{name:"Atkins Dunlap",gender:"male",company:"Comveyor",id:24,category:{id:1,name:"Gold"}},{name:"Everett Foreman",gender:"male",company:"Maineland",id:25,category:{id:1,name:"Gold"}},{name:"Gould Randolph",gender:"male",company:"Intergeek",id:26,category:{id:1,name:"Gold"}},{name:"Kelli Leon",gender:"female",company:"Verbus",id:27,category:{id:1,name:"Gold"}},{name:"Freda Mason",gender:"female",company:"Accidency",id:28,category:{id:1,name:"Gold"}},{name:"Tucker Maxwell",gender:"male",company:"Lumbrex",id:29,category:{id:1,name:"Gold"}},{name:"Yvonne Parsons",gender:"female",company:"Zolar",id:30,category:{id:1,name:"Gold"}},{name:"Woods Key",gender:"male",company:"Bedder",id:31,category:{id:1,name:"Gold"}},{name:"Stephens Reilly",gender:"male",company:"Acusage",id:32,category:{id:1,name:"Gold"}},{name:"Mcfarland Sparks",gender:"male",company:"Comvey",id:33,category:{id:2,name:"Silver"}},{name:"Jocelyn Sawyer",gender:"female",company:"Fortean",id:34,category:{id:2,name:"Silver"}},{name:"Renee Barr",gender:"female",company:"Kiggle",id:35,category:{id:2,name:"Silver"}},{name:"Gaines Beck",gender:"male",company:"Sequitur",id:36,category:{id:2,name:"Silver"}},{name:"Luisa Farrell",gender:"female",company:"Cinesanct",id:37,category:{id:2,name:"Silver"}},{name:"Robyn Strickland",gender:"female",company:"Obones",id:38,category:{id:2,name:"Silver"}},{name:"Roseann Jarvis",gender:"female",company:"Aquazure",id:39,category:{id:2,name:"Silver"}},{name:"Johnston Park",gender:"male",company:"Netur",id:40,category:{id:2,name:"Silver"}},{name:"Wong Craft",gender:"male",company:"Opticall",id:41,category:{id:2,name:"Silver"}},{name:"Merritt Cole",gender:"male",company:"Techtrix",id:42,category:{id:2,name:"Silver"}},{name:"Dale Byrd",gender:"female",company:"Kneedles",id:43,category:{id:2,name:"Silver"}},{name:"Sara Delgado",gender:"female",company:"Netagy",id:44,category:{id:2,name:"Silver"}},{name:"Alisha Myers",gender:"female",company:"Intradisk",id:45,category:{id:2,name:"Silver"}},{name:"Felecia Smith",gender:"female",company:"Futurity",id:46,category:{id:2,name:"Silver"}},{name:"Neal Harvey",gender:"male",company:"Pyramax",id:47,category:{id:2,name:"Silver"}},{name:"Nola Miles",gender:"female",company:"Sonique",id:48,category:{id:2,name:"Silver"}},{name:"Herring Pierce",gender:"male",company:"Geeketron",id:49,category:{id:2,name:"Silver"}},{name:"Shelley Rodriquez",gender:"female",company:"Bostonic",id:50,category:{id:2,name:"Silver"}},{name:"Cora Chase",gender:"female",company:"Isonus",id:51,category:{id:2,name:"Silver"}},{name:"Mckay Santos",gender:"male",company:"Amtas",id:52,category:{id:2,name:"Silver"}},{name:"Hilda Crane",gender:"female",company:"Jumpstack",id:53,category:{id:2,name:"Silver"}},{name:"Jeanne Lindsay",gender:"female",company:"Genesynk",id:54,category:{id:2,name:"Silver"}},{name:"Frye Sharpe",gender:"male",company:"Eplode",id:55,category:{id:2,name:"Silver"}},{name:"Velma Fry",gender:"female",company:"Ronelon",id:56,category:{id:2,name:"Silver"}},{name:"Reyna Espinoza",gender:"female",company:"Prismatic",id:57,category:{id:2,name:"Silver"}},{name:"Spencer Sloan",gender:"male",company:"Comverges",id:58,category:{id:2,name:"Silver"}},{name:"Graham Marsh",gender:"male",company:"Medifax",id:59,category:{id:2,name:"Silver"}},{name:"Hale Boone",gender:"male",company:"Digial",id:60,category:{id:2,name:"Silver"}},{name:"Wiley Hubbard",gender:"male",company:"Zensus",id:61,category:{id:2,name:"Silver"}},{name:"Blackburn Drake",gender:"male",company:"Frenex",id:62,category:{id:2,name:"Silver"}},{name:"Franco Hunter",gender:"male",company:"Rockabye",id:63,category:{id:2,name:"Silver"}},{name:"Barnett Case",gender:"male",company:"Norali",id:64,category:{id:2,name:"Silver"}},{name:"Alexander Foley",gender:"male",company:"Geekosis",id:65,category:{id:3,name:"Bronze"}},{name:"Lynette Stein",gender:"female",company:"Macronaut",id:66,category:{id:3,name:"Bronze"}},{name:"Anthony Joyner",gender:"male",company:"Senmei",id:67,category:{id:3,name:"Bronze"}},{name:"Garrett Brennan",gender:"male",company:"Bluegrain",id:68,category:{id:3,name:"Bronze"}},{name:"Betsy Horton",gender:"female",company:"Zilla",id:69,category:{id:3,name:"Bronze"}},{name:"Patton Small",gender:"male",company:"Genmex",id:70,category:{id:3,name:"Bronze"}},{name:"Lakisha Huber",gender:"female",company:"Insource",id:71,category:{id:3,name:"Bronze"}},{name:"Lindsay Avery",gender:"female",company:"Unq",id:72,category:{id:3,name:"Bronze"}},{name:"Ayers Hood",gender:"male",company:"Accuprint",id:73,category:{id:3,name:"Bronze"}},{name:"Torres Durham",gender:"male",company:"Uplinx",id:74,category:{id:3,name:"Bronze"}},{name:"Vincent Hernandez",gender:"male",company:"Talendula",id:75,category:{id:3,name:"Bronze"}},{name:"Baird Ryan",gender:"male",company:"Aquasseur",id:76,category:{id:3,name:"Bronze"}},{name:"Georgia Mercer",gender:"female",company:"Skyplex",id:77,category:{id:3,name:"Bronze"}},{name:"Francesca Elliott",gender:"female",company:"Nspire",id:78,category:{id:3,name:"Bronze"}},{name:"Lyons Peters",gender:"male",company:"Quinex",id:79,category:{id:3,name:"Bronze"}},{name:"Kristi Brewer",gender:"female",company:"Oronoko",id:80,category:{id:3,name:"Bronze"}},{name:"Tonya Bray",gender:"female",company:"Insuron",id:81,category:{id:3,name:"Bronze"}},{name:"Valenzuela Huff",gender:"male",company:"Applideck",id:82,category:{id:3,name:"Bronze"}},{name:"Tiffany Anderson",gender:"female",company:"Zanymax",id:83,category:{id:3,name:"Bronze"}},{name:"Jerri King",gender:"female",company:"Eventex",id:84,category:{id:3,name:"Bronze"}},{name:"Rocha Meadows",gender:"male",company:"Goko",id:85,category:{id:3,name:"Bronze"}},{name:"Marcy Green",gender:"female",company:"Pharmex",id:86,category:{id:3,name:"Bronze"}},{name:"Kirk Cross",gender:"male",company:"Portico",id:87,category:{id:3,name:"Bronze"}},{name:"Hattie Mullen",gender:"female",company:"Zilencio",id:88,category:{id:3,name:"Bronze"}},{name:"Deann Bridges",gender:"female",company:"Equitox",id:89,category:{id:3,name:"Bronze"}},{name:"Chaney Roach",gender:"male",company:"Qualitern",id:90,category:{id:3,name:"Bronze"}},{name:"Consuelo Dickson",gender:"female",company:"Poshome",id:91,category:{id:3,name:"Bronze"}},{name:"Billie Rowe",gender:"female",company:"Cemention",id:92,category:{id:3,name:"Bronze"}},{name:"Bean Donovan",gender:"male",company:"Mantro",id:93,category:{id:3,name:"Bronze"}},{name:"Lancaster Patel",gender:"male",company:"Krog",id:94,category:{id:3,name:"Bronze"}},{name:"Rosa Dyer",gender:"female",company:"Netility",id:95,category:{id:3,name:"Bronze"}},{name:"Christine Compton",gender:"female",company:"Bleeko",id:96,category:{id:3,name:"Bronze"}},{name:"Milagros Finch",gender:"female",company:"Handshake",id:97,category:{id:3,name:"Bronze"}},{name:"Ericka Alvarado",gender:"female",company:"Lyrichord",id:98,category:{id:3,name:"Bronze"}},{name:"Sylvia Sosa",gender:"female",company:"Circum",id:99,category:{id:3,name:"Bronze"}},{name:"Humphrey Curtis",gender:"male",company:"Corepan",id:100,category:{id:3,name:"Bronze"}}],ut="slickgrid-universal-example09-gridstate",SC=20,pl="%5E",wC="%25";class MC{constructor(){k(this,"_bindingEventService");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"metrics");k(this,"sgb");k(this,"isCountEnabled",!0);k(this,"isSelectEnabled",!1);k(this,"isExpandEnabled",!1);k(this,"odataVersion",2);k(this,"odataQuery","");k(this,"processing",!1);k(this,"errorStatus","");k(this,"errorStatusClass","hidden");k(this,"status","");k(this,"statusClass","is-success");k(this,"isPageErrorTest",!1);this._bindingEventService=new pu,this.resetAllStatus()}attached(){this.initializeGrid();const u=document.querySelector(".grid9");this._bindingEventService.bind(u,"ongridstatechanged",this.gridStateChanged.bind(this)),this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},[])}dispose(){var u;this.sgb&&((u=this.sgb)==null||u.dispose()),this._bindingEventService.unbindAll(),this.resetAllStatus()}resetAllStatus(){this.status="",this.errorStatus="",this.statusClass="is-success",this.errorStatusClass="hidden"}initializeGrid(){this.columnDefinitions=[{id:"name",name:"Name",field:"name",sortable:!0,type:C.string,filterable:!0,filter:{model:H.compoundInput,compoundOperatorList:[{operator:"",desc:"Contains"},{operator:"<>",desc:"Not Contains"},{operator:"=",desc:"Equals"},{operator:"!=",desc:"Not equal to"},{operator:"a*",desc:"Starts With"},{operator:"Custom",desc:"SQL Like"}]}},{id:"gender",name:"Gender",field:"gender",filterable:!0,sortable:!0,filter:{model:H.singleSelect,collection:[{value:"",label:""},{value:"male",label:"male"},{value:"female",label:"female"}]}},{id:"company",name:"Company",field:"company",filterable:!0,sortable:!0},{id:"category_name",name:"Category",field:"category/name",filterable:!0,sortable:!0}],this.gridOptions={enableAutoResize:!0,autoResize:{container:".demo-container",rightPadding:10},checkboxSelector:{hideInFilterHeaderRow:!1,hideInColumnTitleRow:!0},compoundOperatorAltTexts:{text:{Custom:{operatorAlt:"%%",descAlt:"SQL Like"}}},enableCellNavigation:!0,enableFiltering:!0,enableCheckboxSelector:!0,enableRowSelection:!0,enablePagination:!0,pagination:{pageSizes:[10,20,50,100,500,5e4],pageSize:SC},presets:localStorage.getItem(ut)?JSON.parse(localStorage.getItem(ut)||"{}"):{filters:[{columnId:"gender",searchTerms:["male"],operator:T.equal}],sorters:[{columnId:"name",direction:"asc"}],pagination:{pageNumber:2,pageSize:20}},backendServiceApi:{service:new H4,options:{enableCount:this.isCountEnabled,enableSelect:this.isSelectEnabled,enableExpand:this.isExpandEnabled,filterQueryOverride:({fieldName:u,columnDef:e,columnFilterOperator:a,searchValue:i})=>{if(a===T.custom&&(e==null?void 0:e.id)==="name"){let t=i.replace(/\*/g,".*");return t=t.slice(0,1)+pl+t.slice(1),t=t.slice(0,-1)+"$'",`matchesPattern(${u}, ${t})`}},version:this.odataVersion},onError:u=>{this.errorStatus=u.message,this.errorStatusClass="visible notification is-light is-danger is-small is-narrow",this.displaySpinner(!1,!0)},preProcess:()=>{this.errorStatus="",this.errorStatusClass="hidden",this.displaySpinner(!0)},process:u=>this.getCustomerApiCall(u),postProcess:u=>{this.metrics=u.metrics,this.displaySpinner(!1),this.getCustomerCallback(u)}}}}displaySpinner(u,e){this.processing=u,e?(this.status="ERROR!!!",this.statusClass="notification is-light is-danger"):(this.status=u?"loading...":"finished!!",this.statusClass=u?"notification is-light is-warning":"notification is-light is-success")}getCustomerCallback(u){let e=u.totalRecordCount;this.isCountEnabled&&(e=this.odataVersion===4?u["@odata.count"]:u.d.__count),this.metrics&&(this.metrics.totalItemCount=e),this.sgb.paginationOptions.totalItems=e,this.sgb.dataset=this.odataVersion===4?u.value:u.d.results,this.odataQuery=u.query}getCustomerApiCall(u){return this.getCustomerDataApiMock(u)}getCustomerDataApiMock(u){return this.errorStatusClass="hidden",new Promise(e=>{const a=u.toLowerCase().split("&");let i=0,t=0,r="",o=100;const s={};if(this.isPageErrorTest)throw this.isPageErrorTest=!1,new Error("Server timed out trying to retrieve data for the last page");for(const D of a){if(D.includes("$top=")&&(i=+D.substring(5),i===5e4))throw new Error("Server timed out retrieving 50,000 rows");if(D.includes("$skip=")&&(t=+D.substring(6)),D.includes("$orderby=")&&(r=D.substring(9)),D.includes("$filter=")){const m=D.substring(8).replace("%20"," ");if(m.includes("matchespattern")){const h=new RegExp(`matchespattern\\(([a-zA-Z]+),\\s'${pl}(.*?)'\\)`,"i"),g=m.match(h),x=g[1].trim();s[x]={type:"matchespattern",term:"^"+g[2].trim()}}if(m.includes("contains")){const h=m.match(/contains\(([a-zA-Z/]+),\s?'(.*?)'/),g=h[1].trim();s[g]={type:"substring",term:h[2].trim()}}if(m.includes("substringof")){const h=m.match(/substringof\('(.*?)',\s([a-zA-Z/]+)/),g=h[2].trim();s[g]={type:"substring",term:h[1].trim()}}for(const h of["eq","ne","le","lt","gt","ge"])if(m.includes(h)){const x=new RegExp(`([a-zA-Z ]*) ${h} '(.*?)'`).exec(m);if(Array.isArray(x)){const p=x[1].trim();s[p]={type:h,term:x[2].trim()}}}if(m.includes("startswith")&&m.includes("endswith")){const h=m.match(/startswith\(([a-zA-Z ]*),\s?'(.*?)'/),g=m.match(/endswith\(([a-zA-Z ]*),\s?'(.*?)'/),x=h[1].trim();s[x]={type:"starts+ends",term:[h[2].trim(),g[2].trim()]}}else if(m.includes("startswith")){const h=m.match(/startswith\(([a-zA-Z ]*),\s?'(.*?)'/),g=h[1].trim();s[g]={type:"starts",term:h[2].trim()}}else if(m.includes("endswith")){const h=m.match(/endswith\(([a-zA-Z ]*),\s?'(.*?)'/),g=h[1].trim();s[g]={type:"ends",term:h[2].trim()}}if(m.includes("company"))throw new Error('Server could not filter using the field "Company"')}}if(r.includes("company"))throw new Error('Server could not sort using the field "Company"');let l=O4;if(l=JSON.parse(JSON.stringify(l)),(r==null?void 0:r.length)>0){const D=r.split(",");for(const m of D){const h=m.split(" "),g=h[0];let x=F=>F;for(const F of g.split("/")){const v=x;x=b=>v(b)[F]}switch((h[1]??"asc").toLocaleLowerCase()){case"asc":l=l.sort((F,v)=>x(F).localeCompare(x(v)));break;case"desc":l=l.sort((F,v)=>x(v).localeCompare(x(F)));break}}}let E=t,d=l;if(s){for(const D in s)s.hasOwnProperty(D)&&(d=d.filter(m=>{const h=s[D].type,g=s[D].term;let x=D;if((D==null?void 0:D.indexOf(" "))!==-1){const v=D.split(" ");x=v[v.length-1]}let p,F=m;for(const v of x.split("/"))p=F[v],F=p;if(p){const[v,b]=Array.isArray(g)?g:[g];switch(h){case"eq":return p.toLowerCase()===v;case"ne":return p.toLowerCase()!==v;case"le":return p.toLowerCase()<=v;case"lt":return p.toLowerCase()v;case"ge":return p.toLowerCase()>=v;case"ends":return p.toLowerCase().endsWith(v);case"starts":return p.toLowerCase().startsWith(v);case"starts+ends":return p.toLowerCase().startsWith(v)&&p.toLowerCase().endsWith(b);case"substring":return p.toLowerCase().includes(v);case"matchespattern":return new RegExp(v.replaceAll(wC,".*"),"i").test(p)}}}));o=d.length}E>d.length&&(u=u.replace(`$skip=${E}`,""),E=0);const c=d.slice(E,E+i);setTimeout(()=>{const D={query:u};this.isCountEnabled||(D.totalRecordCount=o),this.odataVersion===4?(D.value=c,this.isCountEnabled&&(D["@odata.count"]=o)):(D.d={results:c},this.isCountEnabled&&(D.d.__count=o)),e(D)},150)})}clearAllFiltersAndSorts(){var u;(u=this.sgb)!=null&&u.gridService&&this.sgb.gridService.clearAllFiltersAndSorts()}goToFirstPage(){var u,e;(e=(u=this.sgb)==null?void 0:u.paginationService)==null||e.goToFirstPage()}goToLastPage(){var u,e;(e=(u=this.sgb)==null?void 0:u.paginationService)==null||e.goToLastPage()}gridStateChanged(u){if(u!=null&&u.detail){const e=u.detail;console.log("Client sample, Grid State changed:: ",e.change),localStorage.setItem(ut,JSON.stringify(e.gridState))}}setFiltersDynamically(){var u;(u=this.sgb)==null||u.filterService.updateFilters([{columnId:"name",searchTerms:["A"],operator:"a*"}])}setSortingDynamically(){var u;(u=this.sgb)==null||u.sortService.updateSorting([{columnId:"name",direction:"DESC"}])}clearLocalStorage(){localStorage.removeItem(ut)}throwPageChangeError(){this.isPageErrorTest=!0,this.sgb.paginationService.goToLastPage()}changeCountEnableFlag(){return this.isCountEnabled=!this.isCountEnabled,this.resetOptions({enableCount:this.isCountEnabled}),!0}changeEnableSelectFlag(){return this.isSelectEnabled=!this.isSelectEnabled,this.resetOptions({enableSelect:this.isSelectEnabled}),!0}changeEnableExpandFlag(){return this.isExpandEnabled=!this.isExpandEnabled,this.resetOptions({enableExpand:this.isExpandEnabled}),!0}setOdataVersion(u){return this.odataVersion=u,this.resetOptions({version:this.odataVersion}),!0}resetOptions(u){var a,i;this.displaySpinner(!0);const e=this.gridOptions.backendServiceApi.service;e.updateOptions(u),(a=e.clearFilters)==null||a.call(e),(i=this.sgb)==null||i.filterService.clearFilters()}}class Oe{constructor(u,e){if(this.queryFnName=u,this.head=[],typeof e=="string")this.alias=e;else if(typeof e=="object")this.filter(e);else{if(e===void 0&&arguments.length===2)throw new TypeError('You have passed undefined as Second argument to "Query"');if(e!==void 0)throw new TypeError(`Second argument to "Query" should be an alias name(String) or filter arguments(Object). What was passed is: ${e}`)}}filter(u){for(const e of Object.keys(u)){if(typeof u[e]=="function")continue;const a=this.getGraphQLValue(u[e]);a!=="{}"&&this.head.push(`${e}:${a}`)}return this}find(...u){if(!u||!Array.isArray(u)||u.length===0)throw new TypeError("find value can not be >>falsy<<");const e=u.length===1&&Array.isArray(u[0])?u[0]:u;return this.body=this.parceFind(e),this}setAlias(u){this.alias=u}toString(){if(this.body===void 0)throw new ReferenceError("return properties are not defined. use the 'find' function to defined them");return`${this.alias?this.alias+":":""} ${this.queryFnName} ${this.head.length>0?"("+this.head.join(",")+")":""} { ${this.body} }`}parceFind(u){return u.map((a,i)=>{const t=u[i];if(t instanceof Oe)return t.toString();if(!Array.isArray(t)&&typeof t=="object"){const r=Object.keys(t);if(r.length!==1)throw new RangeError(`Alias objects should only have one value. was passed: ${JSON.stringify(t)}`);const o=r[0],s=t[o];return Array.isArray(s)?new Oe(o).find(s):`${o} : ${s} `}else{if(typeof t=="string")return t;throw new RangeError(`cannot handle Find value of ${t}`)}}).join(",")}getGraphQLValue(u){return typeof u=="string"?u=JSON.stringify(u):Array.isArray(u)?(u=u.map(e=>this.getGraphQLValue(e)).join(),u=`[${u}]`):u instanceof Date?u=JSON.stringify(u):u!==null&&typeof u=="object"&&(u=this.objectToString(u)),u}objectToString(u){const e=[];for(const a of Object.keys(u))typeof u[a]!="function"&&e.push(`${a}:${this.getGraphQLValue(u[a])}`);return`{${e.join()}}`}}const Fl=25,kl=20;class TC{constructor(){this._currentFilters=[],this._currentPagination=null,this._currentSorters=[],this._datasetIdPropName="id",this.defaultPaginationOptions={first:Fl,offset:0}}get columnDefinitions(){return this._columnDefinitions}get _gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}init(u,e,a,i){this._grid=a,this.options=u||{datasetName:""},this.pagination=e,this._datasetIdPropName=this._gridOptions.datasetIdPropertyName||"id",a!=null&&a.getColumns&&(this._columnDefinitions=(i==null?void 0:i.allColumns)??a.getColumns()??[])}buildQuery(){var E,d,c,D,m;if(!this.options||!this.options.datasetName||!Array.isArray(this._columnDefinitions))throw new Error('GraphQL Service requires the "datasetName" property to properly build the GraphQL query');let u=this._columnDefinitions||[];u=u.filter(h=>!h.excludeFromQuery);const e=new Oe(`query ${this.options.operationName??""}`),a=new Oe(this.options.datasetName),i=new Oe("nodes"),t=[];if(u&&Array.isArray(u))for(const h of u)h.excludeFieldFromQuery||t.push(h.field),h.fields&&t.push(...h.fields);t.indexOf(this._datasetIdPropName)===-1&&t.unshift(this._datasetIdPropName);const r=this.buildFilterQuery(t);let o=[];if(this._gridOptions.enablePagination!==!1){if(this.options.useCursor){const h=new Oe("edges"),g=new Oe("pageInfo");g.find("hasNextPage","hasPreviousPage","endCursor","startCursor"),i.find(r),h.find(["cursor"]),o=["totalCount",i,g,h]}else i.find(r),o=["totalCount",i];a.find(o)}else a.find(r);let s={};if(this._gridOptions.enablePagination!==!1)if(s={},this.options.useCursor&&this.options.paginationOptions)s={...this.options.paginationOptions};else{const h=(E=this.options)==null?void 0:E.paginationOptions;s.first=((c=(d=this.options)==null?void 0:d.paginationOptions)==null?void 0:c.first)??((D=this.pagination)==null?void 0:D.pageSize)??this.defaultPaginationOptions.first,s.offset=h!=null&&h.hasOwnProperty("offset")?+h.offset:0}if(this.options.sortingOptions&&Array.isArray(this.options.sortingOptions)&&this.options.sortingOptions.length>0&&(s.orderBy=this.options.sortingOptions),this.options.filteringOptions&&Array.isArray(this.options.filteringOptions)&&this.options.filteringOptions.length>0&&(s.filterBy=this.options.filteringOptions),this.options.addLocaleIntoQuery&&(s.locale=((m=this._gridOptions.translater)==null?void 0:m.getCurrentLanguage())||this._gridOptions.locale||"en"),this.options.extraQueryArguments)for(const h of this.options.extraQueryArguments)s[h.field]=h.value;a.filter(s),e.find(a);const l=["direction:","field:","operator:"];return this.trimDoubleQuotesOnEnumField(e.toString(),l,this.options.keepArgumentFieldDoubleQuotes||!1)}buildFilterQuery(u){const e=(i={},t)=>{const r=t.shift();return i[r]=t.length?e(i[r]??{},t):null,i},a=u.reduce((i,t)=>e(i,t.split(".")),{});return JSON.stringify(a).replace(/"|:|null/g,"").replace(/^\{/,"").replace(/\}$/,"")}clearFilters(){this._currentFilters=[],this.updateOptions({filteringOptions:[]})}clearSorters(){this._currentSorters=[],this.updateOptions({sortingOptions:[]})}getInitPaginationOptions(){var e;const u=this.pagination?this.pagination.pageSize:Fl;return(e=this.options)!=null&&e.useCursor?{first:u}:{first:u,offset:0}}getDatasetName(){var u;return((u=this.options)==null?void 0:u.datasetName)||""}getCurrentFilters(){return this._currentFilters}getCurrentPagination(){return this._currentPagination}getCurrentSorters(){return this._currentSorters}resetPaginationOptions(){var e;let u;(e=this.options)!=null&&e.useCursor?u=this.getInitPaginationOptions():(u=this.options&&this.options.paginationOptions||this.getInitPaginationOptions(),u.offset=0),this._currentPagination={pageNumber:1,pageSize:u.first||kl},this._gridOptions&&(this._gridOptions.enablePagination||!this._gridOptions.hasOwnProperty("enablePagination"))&&this.updateOptions({paginationOptions:u})}updateOptions(u){this.options={...this.options,...u}}processOnFilterChanged(u,e){if(this._gridOptions.backendServiceApi===void 0)throw new Error('Something went wrong in the GraphqlService, "backendServiceApi" is not initialized');if(this._currentFilters=this.castFilterToColumnFilters(e.columnFilters),!e||!e.grid)throw new Error('Something went wrong when trying create the GraphQL Backend Service, it seems that "args" is not populated correctly');return this.updateFilters(e.columnFilters,!1),this.resetPaginationOptions(),this.buildQuery()}processOnPaginationChanged(u,e){const a=+(e.pageSize||(this.pagination?this.pagination.pageSize:kl));return"first"in e||"last"in e?this.updatePagination(e.newPage,a,e):this.updatePagination(e.newPage,a),this.buildQuery()}processOnSortChanged(u,e){var i;const a=e.multiColumnSort?e.sortCols:new Array({columnId:((i=e.sortCol)==null?void 0:i.id)??"",sortCol:e.sortCol,sortAsc:e.sortAsc});return this.updateSorters(a),this.buildQuery()}updateFilters(u,e){var t,r,o,s;const a=[];let i;e&&(this._currentFilters=this.castFilterToColumnFilters(u));for(const l in u)if(u.hasOwnProperty(l)){const E=u[l];let d;if(e&&Array.isArray(this._columnDefinitions)?d=this._columnDefinitions.find(S=>S.id===E.columnId):d=E.columnDef,!d)throw new Error("[GraphQL Service]: Something went wrong in trying to get the column definition of the specified filter (or preset filters). Did you make a typo on the filter columnId?");let c=((t=d.filter)==null?void 0:t.queryField)||d.queryFieldFilter||d.queryField||d.field||d.name||"";c instanceof HTMLElement&&(c=Vu(c.innerHTML));const D=d.type||C.string;let m=(E==null?void 0:E.searchTerms)??[],h=Array.isArray(m)&&m.length===1?m[0]:"";if(typeof h>"u"&&(h=""),!c)throw new Error('GraphQL filter could not find the field name to query the search, your column definition must include a valid "field" or "name" (optionally you can also use the "queryfield").');if((r=this.options)!=null&&r.useVerbatimSearchTerms||E.verbatimSearchTerms){a.push({field:i0(c),operator:E.operator,value:JSON.stringify(E.searchTerms)});continue}h=h==null?"":`${h}`;const x=(d.autoParseInputFilterOperator??this._gridOptions.autoParseInputFilterOperator)!==!1?h.match(/^((.*[^\\*\r\n])[*]{1}(.*[^*\r\n]))|^([<>!=*]{0,2})(.*[^<>!=*])([*]?)$/)||[]:[h,"","","","",h,""],p=(x==null?void 0:x[2])||"",F=(x==null?void 0:x[3])||"";let v=E.operator||(x==null?void 0:x[4]);i=(x==null?void 0:x[1])||(x==null?void 0:x[5])||"";const b=x!=null&&x[6]||v==="*z"||v===T.endsWith?"*":"";if(c&&i===""&&m.length===0)continue;let B;if(typeof((o=this.options)==null?void 0:o.filterQueryOverride)=="function"&&(B=(s=this.options)==null?void 0:s.filterQueryOverride({fieldName:i0(c),columnDef:d,operator:v,columnFilterOperator:E.operator,searchValue:i,grid:this._grid})),B!==void 0)a.push(B);else{if(p&&F?(m=[p,F],v=T.startsWithEndsWith):Array.isArray(m)&&m.length===1&&typeof m[0]=="string"&&m[0].indexOf("..")>=0&&(v!==T.rangeInclusive&&v!==T.rangeExclusive&&(v=this._gridOptions.defaultFilterRangeOperator??T.rangeInclusive),m=m[0].split("..",2),m[0]===""?(v=v===T.rangeInclusive?"<=":v===T.rangeExclusive?"<":v,m=m.slice(1),i=m[0]):m[1]===""&&(v=v===T.rangeInclusive?">=":v===T.rangeExclusive?">":v,m=m.slice(0,1),i=m[0])),typeof i=="string"&&(v==="*"||v==="a*"||v==="*z"||b==="*")&&(v=v==="*"||v==="*z"?"EndsWith":"StartsWith"),!v&&d.filter&&d.filter.operator&&(v=d.filter.operator),!v&&Array.isArray(m)&&m.length===2&&m[0]&&m[1]&&(v=this._gridOptions.defaultFilterRangeOperator),(v===T.rangeInclusive||v===T.rangeExclusive)&&Array.isArray(m)&&m.length===1&&D===C.date&&(v=T.equal),i=this.normalizeSearchValue(D,i),Array.isArray(m)&&m.forEach((S,y)=>{m[y]=this.normalizeSearchValue(D,m[y])}),v===T.startsWithEndsWith&&Array.isArray(m)&&m.length===2){a.push({field:i0(c),operator:T.startsWith,value:p}),a.push({field:i0(c),operator:T.endsWith,value:F});continue}if((m==null?void 0:m.length)>1&&(v==="IN"||v==="NIN"||v==="NOT_IN"))i=m.join(",");else if((m==null?void 0:m.length)===2&&(v===T.rangeExclusive||v===T.rangeInclusive)){a.push({field:i0(c),operator:v===T.rangeInclusive?"GE":"GT",value:m[0]}),a.push({field:i0(c),operator:v===T.rangeInclusive?"LE":"LT",value:m[1]});continue}v||(v=vi(D)),a.push({field:i0(c),operator:Il(v),value:i})}}this.updateOptions({filteringOptions:a})}updatePagination(u,e,a){var t;this._currentPagination={pageNumber:u,pageSize:e};let i={};if((t=this.options)!=null&&t.useCursor)if(a&&a instanceof Object){const{pageSize:r,newPage:o,...s}=a;i=s}else i={first:e};else i={first:e,offset:u>1?(u-1)*e:0};this.updateOptions({paginationOptions:i})}updateSorters(u,e){let a=[];const i=[];if(!u&&e){a=e,a.forEach(r=>r.direction=r.direction.toUpperCase());const t=a.map(r=>{var s;const o=(s=this._columnDefinitions)==null?void 0:s.find(l=>l.id===r.columnId);return i.push({field:o?(o.queryFieldSorter||o.queryField||o.field)+"":r.columnId+"",direction:r.direction}),o?{columnId:r.columnId,sortAsc:r.direction.toUpperCase()===a0.ASC}:null});Array.isArray(t)&&this._grid&&this._grid.setSortColumns(t.filter(r=>r)||[])}else if(u&&!e&&Array.isArray(u)&&u.length>0){for(const t of u)if(t&&t.sortCol){a.push({columnId:t.sortCol.id+"",direction:t.sortAsc?a0.ASC:a0.DESC});const r=(t.sortCol.queryFieldSorter||t.sortCol.queryField||t.sortCol.field||"")+"";r&&i.push({field:r,direction:t.sortAsc?a0.ASC:a0.DESC})}}this._currentSorters=a,this.updateOptions({sortingOptions:i})}trimDoubleQuotesOnEnumField(u,e,a){const i='s?((field:s*)?".*?")';let t=e.join(i+"|");t+=i;const r=new RegExp(t,"g");return u.replace(r,o=>{let s=!0;return o.startsWith("field:")&&a&&(s=!1),s?o.replace(/"/g,""):o})}castFilterToColumnFilters(u){const e=typeof u=="object"?Object.keys(u).map(a=>u[a]):u;return Array.isArray(e)?e.map(a=>{const i={columnId:a.columnId||""};return a.operator&&(i.operator=a.operator),a.targetSelector&&(i.targetSelector=a.targetSelector),Array.isArray(a.searchTerms)&&(i.searchTerms=a.searchTerms),i}):[]}normalizeSearchValue(u,e){switch(u){case C.date:case C.string:case C.text:case C.readonly:typeof e=="string"&&(e=e.replace(/'/g,"''"));break;case C.integer:case C.number:case C.float:typeof e=="string"&&(e=e.replace(/\.\./g,"."),e=e.replace(/\.+$/g,""),e=e.replace(/^\.+/g,"0."),e=e.replace(/^-+\.+/g,"-0."),e=e.replace(/(?!^-)[^\d.]/g,""),(e===""||e==="-")&&(e="0"));break}return e}}const PC=20,$n="users",_C=250;class jC{constructor(){k(this,"_bindingEventService");k(this,"_darkMode",!1);k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset",[]);k(this,"metrics");k(this,"sgb");k(this,"isWithCursor",!1);k(this,"graphqlQuery","...");k(this,"processing",!1);k(this,"selectedLanguage");k(this,"selectedLanguageFile");k(this,"status","");k(this,"statusClass","is-success");k(this,"translateService");k(this,"serverWaitDelay",_C);this._bindingEventService=new pu,this.translateService=window.TranslateService,this.selectedLanguage=this.translateService.getCurrentLanguage(),this.selectedLanguageFile=`${this.selectedLanguage}.json`}async attached(){this.initializeGrid();const u=document.querySelector(".grid10");this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},this.dataset),this._bindingEventService.bind(u,"ongridstatechanged",this.handleOnGridStateChanged.bind(this)),document.body.classList.add("material-theme")}dispose(){var u,e;this.sgb&&((u=this.sgb)==null||u.dispose()),this._bindingEventService.unbindAll(),document.body.classList.remove("material-theme"),document.body.setAttribute("data-theme","light"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode")}initializeGrid(){this.columnDefinitions=[{id:"name",field:"name",nameKey:"NAME",width:60,columnGroupKey:"CUSTOMER_INFORMATION",type:C.string,sortable:!0,filterable:!0,filter:{model:H.compoundInput,compoundOperatorList:[{operator:"",desc:"Contains"},{operator:"<>",desc:"Not Contains"},{operator:"=",desc:"Equals"},{operator:"!=",desc:"Not equal to"},{operator:"a*",desc:"Starts With"},{operator:"Custom",desc:"SQL Like"}]}},{id:"gender",field:"gender",nameKey:"GENDER",filterable:!0,sortable:!0,width:60,columnGroupKey:"CUSTOMER_INFORMATION",filter:{model:H.singleSelect,collection:[{value:"",label:""},{value:"male",labelKey:"MALE"},{value:"female",labelKey:"FEMALE"}]}},{id:"company",field:"company",nameKey:"COMPANY",width:60,columnGroupKey:"CUSTOMER_INFORMATION",sortable:!0,filterable:!0,filter:{model:H.multipleSelect,collection:[{value:"acme",label:"Acme"},{value:"abc",label:"Company ABC"},{value:"xyz",label:"Company XYZ"}],filterOptions:{filter:!0}}},{id:"billingAddressStreet",field:"billing.address.street",nameKey:"BILLING.ADDRESS.STREET",formatter:P.complexObject,width:60,filterable:!0,sortable:!0,columnGroupKey:"BILLING.INFORMATION"},{id:"billingAddressZip",field:"billing.address.zip",nameKey:"BILLING.ADDRESS.ZIP",width:60,type:C.number,columnGroupKey:"BILLING.INFORMATION",filterable:!0,sortable:!0,filter:{model:H.compoundInput},formatter:P.multiple,params:{formatters:[P.complexObject,P.translate]}},{id:"finish",field:"finish",name:"Date",formatter:P.dateIso,sortable:!0,minWidth:90,width:120,exportWithFormatter:!0,columnGroupKey:"BILLING.INFORMATION",type:C.date,filterable:!0,filter:{model:H.dateRange,filterShortcuts:[{titleKey:"NEXT_20_DAYS",iconCssClass:"mdi mdi-calendar",searchTerms:[Yu(new Date,"YYYY-MM-DD"),Yu(ya(new Date,20),"YYYY-MM-DD")]}]}}];const u=new Date().getFullYear(),e=`${u}-01-01`,a=`${u}-02-15`;this.gridOptions={enableAutoTooltip:!0,autoTooltipOptions:{enableForHeaderCells:!0},enableTranslate:!0,translater:this.translateService,enableAutoResize:!1,gridHeight:275,gridWidth:900,compoundOperatorAltTexts:{text:{Custom:{operatorAlt:"%%",descAlt:"SQL Like"}}},enableFiltering:!0,enableCellNavigation:!0,createPreHeaderPanel:!0,showPreHeaderPanel:!0,preHeaderPanelHeight:28,gridMenu:{resizeOnShowHeaderRow:!0},enablePagination:!0,pagination:{pageSizes:[10,15,20,25,30,40,50,75,100],pageSize:PC,totalItems:0},presets:{columns:[{columnId:"name",width:100},{columnId:"gender",width:55},{columnId:"company"},{columnId:"billingAddressZip"},{columnId:"billingAddressStreet",width:120},{columnId:"finish",width:130}],filters:[{columnId:"gender",searchTerms:["male"],operator:T.equal},{columnId:"name",searchTerms:["Joh*oe"],operator:T.startsWithEndsWith},{columnId:"company",searchTerms:["xyz"],operator:"IN"},{columnId:"finish",searchTerms:[e,a],operator:T.rangeInclusive}],sorters:[{columnId:"name",direction:"asc"},{columnId:"company",direction:a0.DESC}],pagination:{pageNumber:this.isWithCursor?1:2,pageSize:20}},backendServiceApi:{service:new TC,options:{datasetName:$n,addLocaleIntoQuery:!0,extraQueryArguments:[{field:"userId",value:123}],filterQueryOverride:({fieldName:i,columnDef:t,columnFilterOperator:r,searchValue:o})=>{if(r===T.custom&&(t==null?void 0:t.id)==="name")return{field:i,operator:"Like",value:o}},useCursor:this.isWithCursor,keepArgumentFieldDoubleQuotes:!0},preProcess:()=>this.displaySpinner(!0),process:i=>this.getCustomerApiCall(i),postProcess:i=>{this.metrics=i.metrics,this.displaySpinner(!1)}}}}clearAllFiltersAndSorts(){var u;(u=this.sgb)!=null&&u.gridService&&this.sgb.gridService.clearAllFiltersAndSorts()}displaySpinner(u){this.processing=u,this.status=u?"loading...":"finished!!",this.statusClass=u?"notification is-light is-warning":"notification is-light is-success"}getCustomerApiCall(u){let e;if(this.sgb){const{paginationService:i}=this.sgb,t=i._initialized?i.getCurrentPageNumber():1,r=String.fromCharCode(65+t-1),o=String.fromCharCode(r.charCodeAt(0)+1);e={hasPreviousPage:i.dataFrom===0,hasNextPage:i.dataTo===100,startCursor:r,endCursor:o}}else e={hasPreviousPage:!1,hasNextPage:!0,startCursor:"A",endCursor:"B"};const a={data:{[$n]:{nodes:[],totalCount:100,pageInfo:e}}};return new Promise(i=>{setTimeout(()=>{var t;this.graphqlQuery=this.gridOptions.backendServiceApi.service.buildQuery(),this.isWithCursor&&((t=this.sgb)==null||t.paginationService.setCursorPageInfo(a.data[$n].pageInfo)),i(a)},this.serverWaitDelay)})}goToFirstPage(){var u,e;(e=(u=this.sgb)==null?void 0:u.paginationService)==null||e.goToFirstPage()}goToLastPage(){var u,e;(e=(u=this.sgb)==null?void 0:u.paginationService)==null||e.goToLastPage()}handleOnGridStateChanged(u){if(u!=null&&u.detail){const e=u.detail;console.log("Grid State changed:: ",e.change)}}saveCurrentGridState(){var u;console.log("GraphQL current grid state",(u=this.sgb)==null?void 0:u.gridStateService.getCurrentGridState())}setFiltersDynamically(){const u=new Date().getFullYear(),e=`${u}-01-01`,a=`${u}-02-15`;this.sgb.filterService.updateFilters([{columnId:"gender",searchTerms:["female"],operator:T.equal},{columnId:"name",searchTerms:["Jane"],operator:T.startsWith},{columnId:"company",searchTerms:["acme"],operator:"IN"},{columnId:"billingAddressZip",searchTerms:["11"],operator:T.greaterThanOrEqual},{columnId:"finish",searchTerms:[e,a],operator:T.rangeInclusive}])}setSortingDynamically(){this.sgb.sortService.updateSorting([{columnId:"billingAddressZip",direction:"DESC"},{columnId:"company",direction:"ASC"}])}resetToOriginalPresets(){var i,t;const u=new Date().getFullYear(),e=`${u}-01-01`,a=`${u}-02-15`;(i=this.sgb)==null||i.filterService.updateFilters([{columnId:"gender",searchTerms:["male"],operator:T.equal},{columnId:"name",searchTerms:["Joh*oe"],operator:T.startsWithEndsWith},{columnId:"company",searchTerms:["xyz"],operator:"IN"},{columnId:"finish",searchTerms:[e,a],operator:T.rangeInclusive}]),(t=this.sgb)==null||t.sortService.updateSorting([{columnId:"name",direction:"asc"},{columnId:"company",direction:a0.DESC}]),setTimeout(()=>{var r,o,s,l;(o=(r=this.sgb)==null?void 0:r.paginationService)==null||o.changeItemPerPage(20),(l=(s=this.sgb)==null?void 0:s.paginationService)==null||l.goToPageNumber(2)})}setIsWithCursor(u){this.isWithCursor=u,this.resetOptions({useCursor:this.isWithCursor})}async switchLanguage(){const u=this.selectedLanguage==="en"?"fr":"en";await this.translateService.use(u),this.selectedLanguage=u,this.selectedLanguageFile=`${this.selectedLanguage}.json`}toggleDarkMode(){var u;this._darkMode=!this._darkMode,this.toggleBodyBackground(),this.sgb.gridOptions={...this.sgb.gridOptions,darkMode:this._darkMode},(u=this.sgb.slickGrid)==null||u.setOptions({darkMode:this._darkMode})}toggleBodyBackground(){var u,e;this._darkMode?(document.body.setAttribute("data-theme","dark"),(u=document.querySelector(".demo-container"))==null||u.classList.add("dark-mode")):(document.body.setAttribute("data-theme","light"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode"))}resetOptions(u){var a,i,t;this.displaySpinner(!0);const e=this.gridOptions.backendServiceApi.service;(a=this.sgb)==null||a.paginationService.setCursorBased(u.useCursor),e.updateOptions(u),this.gridOptions={...this.gridOptions},(t=(i=this.sgb)==null?void 0:i.paginationService)==null||t.goToFirstPage()}}const et=["title","data-slick-tooltip"],ea="[title], [data-slick-tooltip]",LC="slick-custom-tooltip";class ma{constructor(){this.name="CustomTooltip",this._cellType="slick-cell",this._rxjs=null,this._sharedService=null,this._mousePosition={x:0,y:0},this._hasMultipleTooltips=!1,this._defaultOptions={bodyClassName:"tooltip-body",className:"",offsetArrow:3,offsetLeft:0,offsetRight:0,offsetTopBottom:4,hideArrow:!1,regularTooltipWhiteSpace:"pre-line",whiteSpace:"normal"},this._eventHandler=new Su}get addonOptions(){return this._addonOptions}get cancellablePromise(){return this._cancellablePromise}get cellAddonOptions(){return this._cellAddonOptions}get bodyClassName(){var u;return((u=this._cellAddonOptions)==null?void 0:u.bodyClassName)??"tooltip-body"}get className(){var e;let u=LC;return(e=this._addonOptions)!=null&&e.className&&(u+=` ${this._addonOptions.className}`),u}get dataView(){return this._grid.getData()||{}}get gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())||{}}get gridUid(){var u;return((u=this._grid)==null?void 0:u.getUID())||""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get tooltipElm(){return this._tooltipElm}addRxJsResource(u){this._rxjs=u}init(u,e){var a,i;this._grid=u,this._rxjs=e.get("RxJsFacade"),this._sharedService=e.get("SharedService"),this._addonOptions={...this._defaultOptions,...(i=(a=this._sharedService)==null?void 0:a.gridOptions)==null?void 0:i.customTooltip},this._eventHandler.subscribe(u.onMouseEnter,this.handleOnMouseOver.bind(this)).subscribe(u.onHeaderMouseOver,(t,r)=>this.handleOnHeaderMouseOverByType(t,r,"slick-header-column")).subscribe(u.onHeaderRowMouseEnter,(t,r)=>this.handleOnHeaderMouseOverByType(t,r,"slick-headerrow-column")).subscribe(u.onHeaderRowMouseOver,(t,r)=>this.handleOnHeaderMouseOverByType(t,r,"slick-headerrow-column")).subscribe(u.onMouseLeave,this.hideTooltip.bind(this)).subscribe(u.onHeaderMouseOut,this.hideTooltip.bind(this)).subscribe(u.onHeaderRowMouseLeave,this.hideTooltip.bind(this)).subscribe(u.onHeaderRowMouseOut,this.hideTooltip.bind(this))}dispose(){this.hideTooltip(),this._cancellablePromise=void 0,this._eventHandler.unsubscribeAll()}hideTooltip(){var a,i;(a=this._cancellablePromise)==null||a.cancel(),(i=this._observable$)==null||i.unsubscribe();const u=_u(this.className).join("."),e=document.body.querySelector(`.${u}${this.gridUidSelector}`);e==null||e.remove()}getOptions(){return this._addonOptions}setOptions(u){this._addonOptions={...this._addonOptions,...u}}asyncProcessCallback(u,e,a,i,t){var o,s;this.hideTooltip();const r={...t,[((o=this.addonOptions)==null?void 0:o.asyncParamsPropName)??"__params"]:u};(s=this._cellAddonOptions)!=null&&s.useRegularTooltip?this.renderRegularTooltip(this._cellAddonOptions.asyncPostFormatter,e,a,i,r):this.renderTooltipFormatter(this._cellAddonOptions.asyncPostFormatter,e,a,i,r)}handleOnHeaderMouseOverByType(u,e,a){var s,l,E,d;this._cellType=a,this._mousePosition={x:u.clientX||0,y:u.clientY||0},this._mouseTarget=(s=document.elementFromPoint(u.clientX||0,u.clientY||0))==null?void 0:s.closest(ea),this.hideTooltip();const i={row:-1,cell:this._grid.getColumns().findIndex(c=>{var D;return(((D=e==null?void 0:e.column)==null?void 0:D.id)??"")===c.id})},t=e.column,r={},o=a==="slick-headerrow-column";if(e||(e={}),e.cell=i.cell,e.row=i.row,e.columnDef=t,e.dataContext=r,e.grid=this._grid,e.type=o?"header-row":"header",this._cellAddonOptions={...this._addonOptions,...t==null?void 0:t.customTooltip},!(t!=null&&t.disableTooltip||typeof((l=this._cellAddonOptions)==null?void 0:l.usabilityOverride)=="function"&&!this._cellAddonOptions.usabilityOverride(e))&&t&&u.target){this._cellNodeElm=u.target.closest(`.${a}`);const c=o?this._cellAddonOptions.headerRowFormatter:this._cellAddonOptions.headerFormatter;if((E=this._cellAddonOptions)!=null&&E.useRegularTooltip||!c){const D=o?(d=this._cellAddonOptions)!=null&&d.useRegularTooltip?null:c:t.name;this.renderRegularTooltip(D,i,null,t,r)}else this._cellNodeElm&&typeof c=="function"&&this.renderTooltipFormatter(c,i,null,t,r)}}async handleOnMouseOver(u){var e,a,i,t,r,o,s,l,E;if(this._cellType="slick-cell",this._mousePosition={x:u.clientX||0,y:u.clientY||0},this._mouseTarget=(e=document.elementFromPoint(u.clientX||0,u.clientY||0))==null?void 0:e.closest(ea),this.hideTooltip(),u&&this._grid){const d=(i=(a=u==null?void 0:u.target)==null?void 0:a.closest(".slick-cell"))==null?void 0:i.className,c=d&&/l\d+/.exec(d||"")?this._grid.getCellFromEvent(u):null;if(c){const D=this.dataView?this.dataView.getItem(c.row):this._grid.getDataItem(c.row),m=this._grid.getColumns()[c.cell];if(this._cellNodeElm=this._grid.getCellNode(c.row,c.cell),D&&m){if(this._cellAddonOptions={...this._addonOptions,...m==null?void 0:m.customTooltip},m!=null&&m.disableTooltip||typeof((t=this._cellAddonOptions)==null?void 0:t.usabilityOverride)=="function"&&!this._cellAddonOptions.usabilityOverride({cell:c.cell,row:c.row,dataContext:D,column:m,grid:this._grid,type:"cell"}))return;const h=D.hasOwnProperty(m.field)?D[m.field]:null,g=this._grid.getEditorLock().isActive()?null:h;if(this._cellAddonOptions.useRegularTooltip&&!((r=this._cellAddonOptions)!=null&&r.asyncProcess)||!((o=this._cellAddonOptions)!=null&&o.formatter))this.renderRegularTooltip(m.formatter,c,g,m,D);else if(typeof((s=this._cellAddonOptions)==null?void 0:s.formatter)=="function"&&this.renderTooltipFormatter(this._cellAddonOptions.formatter,c,g,m,D),typeof((l=this._cellAddonOptions)==null?void 0:l.asyncProcess)=="function"){const x=this._cellAddonOptions.asyncProcess(c.row,c.cell,h,m,D,this._grid);if(this._cellAddonOptions.asyncPostFormatter||console.error('[Slickgrid-Universal] when using "asyncProcess" with Custom Tooltip, you must also provide an "asyncPostFormatter" formatter.'),x instanceof Promise)this._cancellablePromise=Nl(x),this._cancellablePromise.promise.then(p=>this.asyncProcessCallback(p,c,h,m,D)).catch(p=>{p instanceof Bi||console.error(p)});else if((E=this._rxjs)!=null&&E.isObservable(x)){const p=this._rxjs;this._observable$=x.pipe(p.switchMap(F=>p.of(F))).subscribe(F=>this.asyncProcessCallback(F,c,h,m,D),F=>console.error(F))}}}}}}parseFormatterAndSanitize(u,e,a,i,t){if(typeof u=="function"){const r=u(e.row,e.cell,a,i,t,this._grid),o=ca(r)?r:r.html||r.text;return this._grid.sanitizeHtmlString((o instanceof HTMLElement?o.textContent:o)||"")}else if(typeof u=="string")return this._grid.sanitizeHtmlString(u);return""}renderRegularTooltip(u,e,a,i,t){var E,d,c,D,m,h,g,x;const r=document.createElement("div");this._grid.applyHtmlCode(r,this.parseFormatterAndSanitize(u,e,a,i,t)),this._hasMultipleTooltips=(((E=this._cellNodeElm)==null?void 0:E.querySelectorAll(ea).length)||0)>1;let o;const s=(d=this._cellAddonOptions)!=null&&d.useRegularTooltipFromCellTextOnly||!this._mouseTarget?this._cellNodeElm:this._mouseTarget;let l=(i==null?void 0:i.toolTip)??"";l||(this._cellType==="slick-cell"&&s&&s.clientWidth((h=this._cellAddonOptions)==null?void 0:h.tooltipTextMaxLength)&&(l=l.substring(0,this._cellAddonOptions.tooltipTextMaxLength-3)+"..."),o=s):((g=this._cellAddonOptions)!=null&&g.useRegularTooltipFromFormatterOnly?o=r.querySelector(ea):(o=li(s,et)?s:r.querySelector(ea),(!o||!li(o,et))&&s&&(o=s.querySelector(ea))),(o==null?void 0:o.style.display)==="none"||this._hasMultipleTooltips&&(!s||s===this._cellNodeElm)?l="":(!l||typeof u=="function"&&((x=this._cellAddonOptions)!=null&&x.useRegularTooltipFromFormatterOnly))&&(l=li(o,et)||""))),l!==""&&this.renderTooltipFormatter(u,e,a,i,t,l,o),this.swapAndClearTitleAttribute(o,l)}renderTooltipFormatter(u,e,a,i,t,r,o){var E,d,c,D,m,h,g,x,p;if(this._tooltipElm=A("div",{className:this.className}),this._tooltipBodyElm=A("div",{className:this.bodyClassName}),this._tooltipElm.classList.add(this.gridUid),this._tooltipElm.classList.add("l"+e.cell),this._tooltipElm.classList.add("r"+e.cell),(E=this.tooltipElm)==null||E.appendChild(this._tooltipBodyElm),a==null){const F=(d=this._cellNodeElm)==null?void 0:d.querySelector(ea);a=li(F,et)||a}let s=r||this.parseFormatterAndSanitize(u,e,a,i,t)||"";s=(c=this._cellAddonOptions)!=null&&c.tooltipTextMaxLength&&s.length>this._cellAddonOptions.tooltipTextMaxLength?s.substring(0,this._cellAddonOptions.tooltipTextMaxLength-3)+"...":s;let l="";!r||(D=this._cellAddonOptions)!=null&&D.renderRegularTooltipAsHtml?(l=this._grid.sanitizeHtmlString(s),this._grid.applyHtmlCode(this._tooltipBodyElm,l),this._tooltipBodyElm.style.whiteSpace=((m=this._cellAddonOptions)==null?void 0:m.whiteSpace)??this._defaultOptions.whiteSpace):(l=s||"",this._tooltipBodyElm.textContent=l,this._tooltipBodyElm.style.whiteSpace=((h=this._cellAddonOptions)==null?void 0:h.regularTooltipWhiteSpace)??this._defaultOptions.regularTooltipWhiteSpace),(g=this._cellAddonOptions)!=null&&g.maxHeight&&(this._tooltipElm.style.maxHeight=`${this._cellAddonOptions.maxHeight}px`),(x=this._cellAddonOptions)!=null&&x.maxWidth&&(this._tooltipElm.style.maxWidth=`${this._cellAddonOptions.maxWidth}px`),l.toString()&&(document.body.appendChild(this._tooltipElm),this.reposition(e),(p=this._cellAddonOptions)!=null&&p.hideArrow||this._tooltipElm.classList.add("tooltip-arrow"),this.swapAndClearTitleAttribute(o,s))}reposition(u){var e,a,i,t,r,o,s,l,E,d;if(this._tooltipElm){this._cellNodeElm=this._cellNodeElm||this._grid.getCellNode(u.row,u.cell);const c=Ou(this._cellNodeElm)||{top:0,left:0},D=this._cellNodeElm.offsetWidth,m=this._tooltipElm.getBoundingClientRect().height,h=this._tooltipElm.getBoundingClientRect().width,g=document.body.offsetWidth||window.innerWidth;let x=(c.top||0)-this._tooltipElm.offsetHeight-(((e=this._cellAddonOptions)==null?void 0:e.offsetTopBottom)??0),p=(c.left||0)-(((a=this._cellAddonOptions)==null?void 0:a.offsetRight)??0);const F=((i=this._cellAddonOptions)==null?void 0:i.position)??"auto";let v="";if(F==="center"?(p+=D/2-h/2+(((t=this._cellAddonOptions)==null?void 0:t.offsetRight)??0),v="top-center",this._tooltipElm.classList.remove("arrow-left-align","arrow-right-align"),this._tooltipElm.classList.add("arrow-center-align")):F==="right-align"||(F==="auto"||F!=="left-align")&&p+h>g?(v="right",p-=h-D-(((r=this._cellAddonOptions)==null?void 0:r.offsetLeft)??0),this._tooltipElm.classList.remove("arrow-center-align","arrow-left-align"),this._tooltipElm.classList.add("arrow-right-align")):(v="left",this._tooltipElm.classList.remove("arrow-center-align","arrow-right-align"),this._tooltipElm.classList.add("arrow-left-align")),F==="bottom"||(F==="auto"||F!=="top")&&m>zi(this._cellNodeElm).top?(x=(c.top||0)+(this.gridOptions.rowHeight??0)+(((o=this._cellAddonOptions)==null?void 0:o.offsetTopBottom)??0),v=`bottom-${v}`,this._tooltipElm.classList.remove("arrow-down"),this._tooltipElm.classList.add("arrow-up")):(v=`top-${v}`,this._tooltipElm.classList.remove("arrow-up"),this._tooltipElm.classList.add("arrow-down")),this._tooltipElm&&(this._hasMultipleTooltips||(s=this.cellAddonOptions)!=null&&s.repositionByMouseOverTarget)){const b=Ou(this._mouseTarget);v.includes("left")||v==="top-center"?p=b.left-(((l=this._addonOptions)==null?void 0:l.offsetArrow)??3):v.includes("right")&&(p=b.left-h+(((E=this._mouseTarget)==null?void 0:E.offsetWidth)??0)+(((d=this._addonOptions)==null?void 0:d.offsetArrow)??3))}this._tooltipElm.style.top=`${x}px`,this._tooltipElm.style.left=`${p}px`}}swapAndClearTitleAttribute(u,e){var t,r;let a;u&&(a=this._cellNodeElm&&(this._cellNodeElm.hasAttribute("title")&&this._cellNodeElm.getAttribute("title")?this._cellNodeElm:(t=this._cellNodeElm)==null?void 0:t.querySelector("[title]")));const i=u||this._cellNodeElm&&(this._cellNodeElm.hasAttribute("title")&&this._cellNodeElm.getAttribute("title")?this._cellNodeElm:(r=this._cellNodeElm)==null?void 0:r.querySelector("[title]"));i&&(i.setAttribute("data-slick-tooltip",e||""),i.hasAttribute("title")&&i.setAttribute("title",""),a!=null&&a.hasAttribute("title")&&a.setAttribute("title",""))}}class RC{constructor(){k(this,"_bindingEventService");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"sgb");k(this,"gridContainerElm");k(this,"remoteCallbackFn");k(this,"selectedIds",[]);this._bindingEventService=new pu}attached(){this.openBulmaModal(this.handleOnModalClose.bind(this)),this.initializeGrid()}bind(u){if(u){if(u.columnDefinitions){this.columnDefinitions=u.columnDefinitions,this.gridContainerElm=document.querySelector(".modal-grid"),this._bindingEventService.bind(this.gridContainerElm,"onvalidationerror",this.handleValidationError.bind(this));const e=[this.createEmptyItem(u.columnDefinitions)];this.sgb=new Bu.GridBundle(this.gridContainerElm,this.columnDefinitions,{...Lu,...this.gridOptions},e),setTimeout(()=>{var a;return(a=this.sgb.slickGrid)==null?void 0:a.gotoCell(0,0,!0)},50)}this.remoteCallbackFn=u.remoteCallback,this.selectedIds=u.selectedIds||[]}}dispose(){var u;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll(),this.gridContainerElm=null}initializeGrid(){this.gridOptions={autoEdit:!0,autoCommitEdit:!0,editable:!0,enableCellNavigation:!0,enableGridMenu:!1,gridHeight:200,gridWidth:1160,rowHeight:33}}createEmptyItem(u){const e={id:0};return u.forEach(a=>{e[a.id]=void 0}),e}handleValidationError(u){console.log("handleValidationError",u.detail);const e=u.detail&&u.detail.args;return e.validationResults&&alert(e.validationResults.msg),!1}handleOnModalClose(){var u;(u=this.sgb)==null||u.dispose(),this.gridContainerElm&&(this.gridContainerElm.textContent=""),this.closeBulmaModal()}autoAddCustomEditorFormatter(u,e){if(Array.isArray(u)){for(const a of u)if(a.editor)if(a.formatter&&a.formatter!==P.multiple){const i=a.formatter;a.formatter=P.multiple,a.params={...a.params,formatters:[i,e]}}else a.formatter&&a.formatter===P.multiple?(a.params||(a.params={}),a.params.formatters=[...a.params.formatters,e]):a.formatter=e}}saveMassUpdate(u){var a;this.handleOnModalClose();const e=(a=this.sgb.dataView)==null?void 0:a.getItemByIdx(0);if(typeof this.remoteCallbackFn=="function"){for(const i in e)(e[i]===void 0||i==="id")&&delete e[i];this.remoteCallbackFn({item:e,selectedIds:this.selectedIds,updateType:u})}}openBulmaModal(u){document.querySelector(".modal").classList.add("is-active"),this.bindCloseBulmaModal(u)}bindCloseBulmaModal(u){const e=document.querySelectorAll(".close, .delete, .modal-close");window.addEventListener("click",a=>{a.target.className==="modal-background"&&this.closeBulmaModal(u)}),e&&e.forEach(a=>a.addEventListener("click",()=>this.closeBulmaModal(u)))}closeBulmaModal(u){document.querySelector(".modal").classList.remove("is-active"),typeof u=="function"&&u()}}const co=`[
+ `,u==null||u.filterService.drawFilterTemplate(i,`#${t}`)}}changeCompletedOption(u,e){var a;u!=null&&u.hasOwnProperty("completed")&&(u.completed=e,(a=this.sgb)==null||a.gridService.updateItem(u))}deleteItem(){const u=this.columnDefinitions.find(e=>e.id==="prerequisites");if(u){const e=u.editor.collection,a=u.filter.collection;if(Array.isArray(e)&&Array.isArray(a)){const i=this.sortCollectionDescending(e).pop();this.sortCollectionDescending(a).pop(),this.sgb.gridService.deleteItemById(i.value)}}}loadData(u,e=0){const a=[];for(let i=e;ie.value-a.value)}onBeforeMoveRow(u,e){var a;for(const i of e.rows)if(i===e.insertBefore||i===e.insertBefore-1&&e.insertBefore-1!==((a=this.sgb.dataView)==null?void 0:a.getItemCount()))return u.stopPropagation(),!1;return!0}onMoveRows(u,e){var h,g,x,p,F,v;const a=e.rows,i=e.insertBefore,t=[];(h=this.sgb.dataView)==null||h.sort(void 0,!0);const r=(g=this.sgb.dataView)==null?void 0:g.getItems(),o=(x=this.sgb.dataView)==null?void 0:x.getFilteredItems(),s=(p=this.sgb.dataView)==null?void 0:p.getItem(i),l=s?(F=this.sgb.dataView)==null?void 0:F.getIdxById(s.id):(v=this.sgb.dataView)==null?void 0:v.getItemCount(),E=[];a.forEach(b=>E.push(o[b]));const d=E.map(b=>{var B;return(B=this.sgb.dataView)==null?void 0:B.getIdxById(b.id)}),c=r.slice(0,l),D=r.slice(l,r.length);a.sort((b,B)=>b-B);for(const b of d)t.push(r[b]);d.reverse();for(const b of d)b1?"s":""})??""}taskTranslateFormatter(u,e,a){return this.translateService.translate("TASK_X",{x:a})??""}dynamicallyAddTitleHeader(){const u={id:`title${this.duplicateTitleHeaderCount++}`,nameKey:"TITLE",field:"title",editor:{model:$.text,required:!0},sortable:!0,minWidth:100,filterable:!0};this.sgb.columnDefinitions.push(u),this.sgb.columnDefinitions=this.sgb.columnDefinitions.slice()}dynamicallyRemoveLastColumn(){this.sgb.columnDefinitions.pop(),this.sgb.columnDefinitions=this.sgb.columnDefinitions.slice()}hideFinishColumnDynamically(){this.sgb.gridService.hideColumnById("finish")}disableFilters(){this.isFilteringEnabled=!1,this.sgb.filterService.disableFilterFunctionality(!0)}disableSorting(){this.isSortingEnabled=!1,this.sgb.sortService.disableSortFunctionality(!0)}toggleDarkMode(){var u,e,a;this._darkMode=!this._darkMode,this._darkMode?(document.body.setAttribute("data-theme","dark"),(u=document.querySelector(".demo-container"))==null||u.classList.add("dark-mode")):(document.body.setAttribute("data-theme","light"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode")),(a=this.sgb.slickGrid)==null||a.setOptions({darkMode:this._darkMode})}toggleFilter(){var u;this.sgb.filterService.toggleFilterFunctionality(),this.isFilteringEnabled=((u=this.sgb.slickGrid)==null?void 0:u.getOptions().enableFiltering)??!1}toggleSorting(){var u;this.sgb.sortService.toggleSortFunctionality(),this.isSortingEnabled=((u=this.sgb.slickGrid)==null?void 0:u.getOptions().enableSorting)??!1}}class BC{constructor(){k(this,"columnDefinitions1");k(this,"columnDefinitions2");k(this,"gridOptions1");k(this,"gridOptions2");k(this,"dataset1",[]);k(this,"dataset2",[]);k(this,"sgb1");k(this,"sgb2");k(this,"grid2SearchSelectedColumn");k(this,"grid2SelectedOperator");k(this,"grid2SearchValue");k(this,"operatorList",["=","<","<=",">",">=","<>","StartsWith","EndsWith"]);this.definedGrid1(),this.definedGrid2()}attached(){this.dataset1=this.loadData(500),this.dataset2=this.loadData(500);const u=document.querySelector(".grid1"),e=document.querySelector(".grid2");this.sgb1=new Bu.GridBundle(u,this.columnDefinitions1,{...Lu,...this.gridOptions1},this.dataset1),this.sgb2=new Bu.GridBundle(e,this.columnDefinitions2,{...Lu,...this.gridOptions2},this.dataset2),this.populategrid2SearchColumnsDropdown(),this.populategrid2SearchOperatorDropdown()}dispose(){var u,e;(u=this.sgb1)==null||u.dispose(),(e=this.sgb2)==null||e.dispose()}definedGrid1(){this.columnDefinitions1=[{id:"title",name:"Title",field:"title",sortable:!0,columnGroup:"Common Factor"},{id:"duration",name:"Duration",field:"duration",columnGroup:"Common Factor"},{id:"start",name:"Start",field:"start",columnGroup:"Period"},{id:"finish",name:"Finish",field:"finish",columnGroup:"Period"},{id:"%",name:"% Complete",type:C.number,field:"percentComplete",selectable:!1,columnGroup:"Analysis"},{id:"effort-driven",name:"Effort Driven",field:"effortDriven",type:C.boolean,columnGroup:"Analysis"}],this.gridOptions1={enableAutoResize:!1,gridHeight:275,gridWidth:800,enableTextExport:!0,enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},gridMenu:{iconButtonContainer:"preheader"},externalResources:[new $a,new y0],enableCellNavigation:!0,enableColumnReorder:!1,enableSorting:!0,createPreHeaderPanel:!0,showPreHeaderPanel:!0,preHeaderPanelHeight:26,rowHeight:33,explicitInitialization:!0,colspanCallback:this.renderDifferentColspan}}definedGrid2(){this.columnDefinitions2=[{id:"sel",name:"#",field:"num",behavior:"select",cssClass:"cell-selection",width:40,resizable:!1,selectable:!1},{id:"title",name:"Title",field:"title",minWidth:120,sortable:!0,columnGroup:"Common Factor"},{id:"duration",name:"Duration",field:"duration",type:C.number,minWidth:120,columnGroup:"Common Factor"},{id:"start",name:"Start",field:"start",minWidth:145,columnGroup:"Period"},{id:"finish",name:"Finish",field:"finish",minWidth:145,columnGroup:"Period"},{id:"percentComplete",name:"% Complete",field:"percentComplete",type:C.number,minWidth:145,selectable:!1,columnGroup:"Analysis"},{id:"effort-driven",name:"Effort Driven",field:"effortDriven",minWidth:145,type:C.boolean,columnGroup:"Analysis"}],this.gridOptions2={gridHeight:275,gridWidth:800,alwaysShowVerticalScroll:!1,enableCellNavigation:!0,enableColumnReorder:!1,createPreHeaderPanel:!0,showPreHeaderPanel:!0,preHeaderPanelHeight:35,explicitInitialization:!0,frozenColumn:2,rowHeight:33,showCustomFooter:!0,gridMenu:{hideClearFrozenColumnsCommand:!1},headerMenu:{hideFreezeColumnsCommand:!1},enableFiltering:!0,showHeaderRow:!1}}loadData(u){const e=[];for(let a=0;ae.id==="title")}populategrid2SearchOperatorDropdown(){const u=document.querySelector(".selected-operator");for(const e of this.operatorList){const a=document.createElement("option");a.value=e,a.label=e,u.appendChild(a)}this.grid2SelectedOperator=this.operatorList[0]}selectedOperatorChanged(u){this.grid2SelectedOperator=u,this.updateFilter()}selectedColumnChanged(u){this.grid2SearchSelectedColumn=this.columnDefinitions2.find(e=>e.id===u),this.updateFilter()}searchValueChanged(u){this.grid2SearchValue=u,this.updateFilter()}updateFilter(){var u;this.sgb2.filterService.updateSingleFilter({columnId:`${((u=this.grid2SearchSelectedColumn)==null?void 0:u.id)??""}`,operator:this.grid2SelectedOperator,searchTerms:[this.grid2SearchValue||""]})}}class yC{set columnDefinitions(u){this._columnDefinitions=u}set datasetIdPropName(u){this._datasetIdPropName=u}constructor(){this._filterCount=0,this._columnDefinitions=[],this._datasetIdPropName="id",this._odataOptions={filterQueue:[],orderBy:""},this._defaultSortBy="",this._columnFilters={}}buildQuery(){if(!this._odataOptions)throw new Error('Odata Service requires certain options like "top" for it to work');this._odataOptions.filterQueue=[];const u=[];if(this._odataOptions&&this._odataOptions.enableCount===!0){const e=this._odataOptions.version&&this._odataOptions.version>=4?"$count=true":"$inlinecount=allpages";u.push(e)}if(this._odataOptions.top&&u.push(`$top=${this._odataOptions.top}`),this._odataOptions.skip&&u.push(`$skip=${this._odataOptions.skip}`),this._odataOptions.orderBy){let e="";Array.isArray(this._odataOptions.orderBy)?e=this._odataOptions.orderBy.join(","):e=this._odataOptions.orderBy,u.push(`$orderby=${e}`)}if(this._odataOptions.filterBy||this._odataOptions.filter){const e=this._odataOptions.filter||this._odataOptions.filterBy;if(e){this._filterCount=1,this._odataOptions.filterQueue=[];let a=e;Array.isArray(e)&&(this._filterCount=e.length,a=e.join(` ${this._odataOptions.filterBySeparator||"and"} `)),typeof a=="string"&&(a[0]==="("&&a.slice(-1)===")"?this.addToFilterQueueWhenNotExists(a):this.addToFilterQueueWhenNotExists(`(${a})`))}}if(this._odataOptions.filterQueue.length>0){const e=this._odataOptions.filterQueue.join(` ${this._odataOptions.filterBySeparator||"and"} `);this._odataOptions.filter=e,u.push(`$filter=${e}`)}if(this._odataOptions.enableSelect||this._odataOptions.enableExpand){const e=this._columnDefinitions.flatMap(i=>i.fields??[i.field]);e.unshift(this._datasetIdPropName);const a=this.buildSelectExpand([...new Set(e)]);if(this._odataOptions.enableSelect){const i=a.selectParts.join(",");u.push(`$select=${i}`)}if(this._odataOptions.enableExpand){const i=a.expandParts.join(",");u.push(`$expand=${i}`)}}return u.join("&")}getFilterCount(){return this._filterCount}get columnFilters(){return this._columnFilters}get options(){return this._odataOptions}set options(u){this._odataOptions=u}removeColumnFilter(u){this._columnFilters&&this._columnFilters.hasOwnProperty(u)&&delete this._columnFilters[u]}saveColumnFilter(u,e,a){this._columnFilters[u]={search:a,value:e}}updateOptions(u){for(const e of Object.keys(u))if(u.hasOwnProperty(e)&&(this._odataOptions[e]=u[e]),e==="orderBy"||e==="sortBy"){let a=u[e];this._odataOptions.caseType===Ie.pascalCase&&(Array.isArray(a)?a.forEach((i,t,r)=>{r[t]=R0(i)}):a=R0(u[e])),this._odataOptions.orderBy=a,this._defaultSortBy=a}}addToFilterQueueWhenNotExists(u){this._odataOptions.filterQueue&&this._odataOptions.filterQueue.indexOf(u)===-1&&this._odataOptions.filterQueue.push(u)}buildSelectExpand(u){const e={},a=new Set;for(const i of u){const t=i.split("/");if(t.length===1)a.add(i);else{const r=t[0],o=t.splice(1).join("/");e[r]||(e[r]=[]),e[r].push(o),this._odataOptions.enableExpand&&!(this._odataOptions.version&&this._odataOptions.version>=4)&&a.add(r)}}return{selectParts:[...a],expandParts:this._odataOptions.enableExpand?this.buildExpand(e):[]}}buildExpand(u){const e=[];for(const a of Object.keys(u))if(this._odataOptions.enableSelect&&this._odataOptions.version&&this._odataOptions.version>=4){const i=this.buildSelectExpand(u[a]);let t=i.selectParts.join(",");t.length>0&&(t="$select="+t),this._odataOptions.enableExpand&&i.expandParts.length>0&&(t+=(t.length>0?";":"")+"$expand="+i.expandParts.join(",")),t.length>0&&(t="("+t+")"),e.push(a+t)}else e.push(a);return e}}const zC=25,Cl=20;class H4{get columnDefinitions(){return this._columnDefinitions}get odataService(){return this._odataService}get _gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}constructor(){this._currentFilters=[],this._currentPagination=null,this._currentSorters=[],this._columnDefinitions=[],this.defaultOptions={top:zC,orderBy:"",caseType:Ie.pascalCase},this._odataService=new yC}init(u,e,a,i){this._grid=a;const t={...this.defaultOptions,...u};if(this._gridOptions&&!this._gridOptions.enablePagination)this._odataService.options={...t,top:void 0},this._currentPagination=null;else{const r=e&&e.pageSize?e.pageSize:this.defaultOptions.top;this._odataService.options={...t,top:r},this._currentPagination={pageNumber:1,pageSize:this._odataService.options.top||this.defaultOptions.top||Cl}}if(this.options=this._odataService.options,this.pagination=e,a!=null&&a.getColumns){const r=(i==null?void 0:i.allColumns)??a.getColumns()??[];this._columnDefinitions=r.filter(o=>!o.excludeFromQuery)}this._odataService.columnDefinitions=this._columnDefinitions,this._odataService.datasetIdPropName=this._gridOptions.datasetIdPropertyName||"id"}buildQuery(){return this._odataService.buildQuery()}postProcess(u){const e=this._odataService.options.version??2;if(this.pagination&&this._odataService.options.enableCount){const i=(this._odataService.options.countExtractor??e>=4?t=>t==null?void 0:t["@odata.count"]:e===3?t=>t==null?void 0:t.__count:t=>{var r;return(r=t==null?void 0:t.d)==null?void 0:r.__count})(u);typeof i=="number"&&(this.pagination.totalItems=i)}if(this._odataService.options.enableExpand){const i=(this._odataService.options.datasetExtractor??e>=4?t=>t==null?void 0:t.value:e===3?t=>t==null?void 0:t.results:t=>{var r;return(r=t==null?void 0:t.d)==null?void 0:r.results})(u);if(Array.isArray(i)){const t=new Set(this._columnDefinitions.flatMap(r=>r.fields??[r.field]).filter(r=>r.includes("/")));if(t.size>0){const r=new Set;for(const o of i){for(const s of t){const l=s.split("/"),E=l[0];r.add(E);let d=o[E];for(let c=1;c":e="gt";break;case">=":e="ge";break;case"<>":case"!=":e="ne";break;case"=":case"==":default:e="eq";break}return e}resetPaginationOptions(){this._odataService.updateOptions({skip:0})}saveColumnFilter(u,e,a){this._odataService.saveColumnFilter(u,e,a)}processOnFilterChanged(u,e){if(this._gridOptions.backendServiceApi===void 0)throw new Error('Something went wrong in the GridOdataService, "backendServiceApi" is not initialized');if(this._currentFilters=this.castFilterToColumnFilters(e.columnFilters),!e||!e.grid)throw new Error('Something went wrong when trying create the GridOdataService, it seems that "args" is not populated correctly');return this.updateFilters(e.columnFilters),this.resetPaginationOptions(),this._odataService.buildQuery()}processOnPaginationChanged(u,e){const a=+(e.pageSize||(this.pagination?this.pagination.pageSize:Cl));return this.updatePagination(e.newPage,a),this._odataService.buildQuery()}processOnSortChanged(u,e){var i;const a=e.multiColumnSort?e.sortCols:new Array({columnId:((i=e.sortCol)==null?void 0:i.id)??"",sortCol:e.sortCol,sortAsc:e.sortAsc});return this.updateSorters(a),this._odataService.buildQuery()}updateFilters(u,e){var r;let a="";const i=[],t=this._odataService.options.version??2;e&&(this._currentFilters=this.castFilterToColumnFilters(u));for(const o in u)if(u.hasOwnProperty(o)){const s=u[o];let l;if(e&&Array.isArray(this._columnDefinitions)?l=this._columnDefinitions.find(B=>B.id===s.columnId):l=s.columnDef,!l)throw new Error("[GridOData Service]: Something went wrong in trying to get the column definition of the specified filter (or preset filters). Did you make a typo on the filter columnId?");let E=((r=l.filter)==null?void 0:r.queryField)||l.queryFieldFilter||l.queryField||l.field||l.name||"";E instanceof HTMLElement&&(E=Vu(E.innerHTML));const d=l.type||C.string;let c=(s!=null&&s.searchTerms?[...s.searchTerms]:null)||[],D=Array.isArray(c)&&c.length===1?c[0]:"";if(typeof D>"u"&&(D=""),!E)throw new Error('GridOData filter could not find the field name to query the search, your column definition must include a valid "field" or "name" (optionally you can also use the "queryfield").');if(this._odataService.options.useVerbatimSearchTerms||s.verbatimSearchTerms){i.push(`${E} ${s.operator} ${JSON.stringify(s.searchTerms)}`.trim());continue}D=D==null?"":`${D}`;const h=(l.autoParseInputFilterOperator??this._gridOptions.autoParseInputFilterOperator)!==!1?D.match(/^((.*[^\\*\r\n])[*]{1}(.*[^*\r\n]))|^([<>!=*]{0,2})(.*[^<>!=*])([*]?)$/)||[]:[D,"","","","",D,""],g=(h==null?void 0:h[2])||"",x=(h==null?void 0:h[3])||"";let p=s.operator||(h==null?void 0:h[4]),F=(h==null?void 0:h[1])||(h==null?void 0:h[5])||"";const v=h!=null&&h[6]||p==="*z"||p===T.endsWith?"*":"",b=s.bypassBackendQuery||!1;if(E&&F===""&&c.length<=1){this.removeColumnFilter(i0(E));continue}if(g&&x?(c=[g,x],p=T.startsWithEndsWith):Array.isArray(c)&&c.length===1&&typeof c[0]=="string"&&c[0].indexOf("..")>=0&&(p!==T.rangeInclusive&&p!==T.rangeExclusive&&(p=this._gridOptions.defaultFilterRangeOperator??T.rangeInclusive),c=c[0].split("..",2),c[0]===""?(p=p===T.rangeInclusive?"<=":p===T.rangeExclusive?"<":p,c=c.slice(1),F=c[0]):c[1]===""&&(p=p===T.rangeInclusive?">=":p===T.rangeExclusive?">":p,c=c.slice(0,1),F=c[0])),!p&&l.filter&&(p=l.filter.operator),!p&&Array.isArray(c)&&c.length===2&&c[0]&&c[1]&&(p=this._gridOptions.defaultFilterRangeOperator),(p===T.rangeInclusive||p===T.rangeExclusive)&&Array.isArray(c)&&c.length===1&&d===C.date&&(p=T.equal),p||(p=vi(d)),b)E&&this.saveColumnFilter(i0(E),D,c);else{F=this.normalizeSearchValue(d,F,t),Array.isArray(c)&&c.forEach((S,y)=>{c[y]=this.normalizeSearchValue(d,c[y],t)}),a="",this._odataService.options.caseType===Ie.pascalCase&&(E=R0(i0(E||"")));let B;if(typeof this._odataService.options.filterQueryOverride=="function"&&(B=this._odataService.options.filterQueryOverride({fieldName:i0(E),columnDef:l,operator:p,columnFilterOperator:s.operator,searchValues:c,grid:this._grid})),B!==void 0)a=B;else if(p===T.startsWithEndsWith&&Array.isArray(c)&&c.length===2){const S=[],[y,w]=c;S.push(`startswith(${E}, ${y})`),S.push(`endswith(${E}, ${w})`),a=S.join(" and ")}else if((c==null?void 0:c.length)>1&&(p==="IN"||p==="NIN"||p==="NOTIN"||p==="NOT IN"||p==="NOT_IN")){const S=[];if(p==="IN"){for(let y=0,w=c.length;y=4?`contains(${E}, ${F})`:`substringof(${F}, ${E})`,p===T.notContains&&(a=`not ${a}`)):a=`${E} ${this.mapOdataOperator(p)} ${F}`;a!==""&&(i.push(a.trim()),this.saveColumnFilter(i0(E||""),D,F))}}this._odataService.updateOptions({filter:i.length>0?i.join(" and "):"",skip:void 0})}updatePagination(u,e){this._currentPagination={pageNumber:u,pageSize:e},this._gridOptions&&(this._gridOptions.enablePagination||!this._gridOptions.hasOwnProperty("enablePagination"))&&this._odataService.updateOptions({top:e,skip:(u-1)*e})}updateSorters(u,e){let a=[];const i=[];if(!u&&e){a=e,a.forEach(o=>o.direction=o.direction.toLowerCase());const r=a.map(o=>{const s=this._columnDefinitions.find(l=>l.id===o.columnId);return i.push({field:s?(s.queryFieldSorter||s.queryField||s.field)+"":o.columnId+"",direction:o.direction}),s?{columnId:o.columnId,sortAsc:o.direction.toUpperCase()===a0.ASC}:null});Array.isArray(r)&&this._grid&&this._grid.setSortColumns(r)}else if(u&&!e&&(u==null?void 0:u.length)!==0){if(u){for(const r of u)if(r.sortCol){let o=(r.sortCol.queryFieldSorter||r.sortCol.queryField||r.sortCol.field)+"",s=(r.sortCol.field||r.sortCol.id)+"",l=(r.sortCol.queryFieldSorter||r.sortCol.queryField||r.sortCol.field||"")+"";this._odataService.options.caseType===Ie.pascalCase&&(o=R0(o),s=R0(s),l=R0(l)),a.push({columnId:r.sortCol.id,direction:r.sortAsc?a0.asc:a0.desc}),l!==""&&i.push({field:l,direction:r.sortAsc?a0.ASC:a0.DESC})}}}a=a||[];const t=i.map(r=>{let o="";return r&&r.field&&(o=`${this._odataService.options.caseType===Ie.pascalCase?R0(r.field):r.field} ${r&&r.direction&&r.direction.toLowerCase()||""}`),o}).join(",");return this._odataService.updateOptions({orderBy:t}),this._currentSorters=a,this._odataService.buildQuery()}castFilterToColumnFilters(u){const e=typeof u=="object"?Object.keys(u).map(a=>u[a]):u;return Array.isArray(e)?e.map(a=>{const i={columnId:a.columnId||""};return a.operator&&(i.operator=a.operator),a.targetSelector&&(i.targetSelector=a.targetSelector),Array.isArray(a.searchTerms)&&(i.searchTerms=a.searchTerms),i}):[]}filterBySearchTermRange(u,e,a){let i="";return Array.isArray(a)&&a.length===2&&(e===T.rangeInclusive?(i=`(${u} ge ${a[0]}`,a[1]!==""&&(i+=` and ${u} le ${a[1]}`),i+=")"):e===T.rangeExclusive&&(i=`(${u} gt ${a[0]}`,a[1]!==""&&(i+=` and ${u} lt ${a[1]}`),i+=")")),i}normalizeSearchValue(u,e,a){switch(u){case C.date:e=DD(e),e=a>=4?e:`DateTime'${e}'`;break;case C.string:case C.text:case C.readonly:typeof e=="string"&&(e=e.replace(/'/g,"''"),e=encodeURIComponent(e),e=`'${e}'`);break;case C.integer:case C.number:case C.float:typeof e=="string"&&(e=e.replace(/\.\./g,"."),e=e.replace(/\.+$/g,""),e=e.replace(/^\.+/g,"0."),e=e.replace(/^-+\.+/g,"-0."),e=e.replace(/(?!^-)[^\d.]/g,""),(e===""||e==="-")&&(e="0"));break}return e}}const O4=[{name:"Ethel Price",gender:"female",company:"Enersol",id:1,category:{id:1,name:"Gold"}},{name:"Claudine Neal",gender:"female",company:"Sealoud",id:2,category:{id:1,name:"Gold"}},{name:"Beryl Rice",gender:"female",company:"Velity",id:3,category:{id:1,name:"Gold"}},{name:"Wilder Gonzales",gender:"male",company:"Geekko",id:4,category:{id:1,name:"Gold"}},{name:"Georgina Schultz",gender:"female",company:"Suretech",id:5,category:{id:1,name:"Gold"}},{name:"Carroll Buchanan",gender:"male",company:"Ecosys",id:6,category:{id:1,name:"Gold"}},{name:"Valarie Atkinson",gender:"female",company:"Hopeli",id:7,category:{id:1,name:"Gold"}},{name:"Schroeder Mathews",gender:"male",company:"Polarium",id:8,category:{id:1,name:"Gold"}},{name:"Lynda Mendoza",gender:"female",company:"Dogspa",id:9,category:{id:1,name:"Gold"}},{name:"Sarah Massey",gender:"female",company:"Bisba",id:10,category:{id:1,name:"Gold"}},{name:"Robles Boyle",gender:"male",company:"Comtract",id:11,category:{id:1,name:"Gold"}},{name:"Evans Hickman",gender:"male",company:"Parleynet",id:12,category:{id:1,name:"Gold"}},{name:"Dawson Barber",gender:"male",company:"Dymi",id:13,category:{id:1,name:"Gold"}},{name:"Bruce Strong",gender:"male",company:"Xyqag",id:14,category:{id:1,name:"Gold"}},{name:"Nellie Whitfield",gender:"female",company:"Exospace",id:15,category:{id:1,name:"Gold"}},{name:"Jackson Macias",gender:"male",company:"Aquamate",id:16,category:{id:1,name:"Gold"}},{name:"Pena Pena",gender:"male",company:"Quarx",id:17,category:{id:1,name:"Gold"}},{name:"Lelia Gates",gender:"female",company:"Proxsoft",id:18,category:{id:1,name:"Gold"}},{name:"Letitia Vasquez",gender:"female",company:"Slumberia",id:19,category:{id:1,name:"Gold"}},{name:"Trevino Moreno",gender:"male",company:"Conjurica",id:20,category:{id:1,name:"Gold"}},{name:"Barr Page",gender:"male",company:"Apex",id:21,category:{id:1,name:"Gold"}},{name:"Kirkland Merrill",gender:"male",company:"Utara",id:22,category:{id:1,name:"Gold"}},{name:"Blanche Conley",gender:"female",company:"Imkan",id:23,category:{id:1,name:"Gold"}},{name:"Atkins Dunlap",gender:"male",company:"Comveyor",id:24,category:{id:1,name:"Gold"}},{name:"Everett Foreman",gender:"male",company:"Maineland",id:25,category:{id:1,name:"Gold"}},{name:"Gould Randolph",gender:"male",company:"Intergeek",id:26,category:{id:1,name:"Gold"}},{name:"Kelli Leon",gender:"female",company:"Verbus",id:27,category:{id:1,name:"Gold"}},{name:"Freda Mason",gender:"female",company:"Accidency",id:28,category:{id:1,name:"Gold"}},{name:"Tucker Maxwell",gender:"male",company:"Lumbrex",id:29,category:{id:1,name:"Gold"}},{name:"Yvonne Parsons",gender:"female",company:"Zolar",id:30,category:{id:1,name:"Gold"}},{name:"Woods Key",gender:"male",company:"Bedder",id:31,category:{id:1,name:"Gold"}},{name:"Stephens Reilly",gender:"male",company:"Acusage",id:32,category:{id:1,name:"Gold"}},{name:"Mcfarland Sparks",gender:"male",company:"Comvey",id:33,category:{id:2,name:"Silver"}},{name:"Jocelyn Sawyer",gender:"female",company:"Fortean",id:34,category:{id:2,name:"Silver"}},{name:"Renee Barr",gender:"female",company:"Kiggle",id:35,category:{id:2,name:"Silver"}},{name:"Gaines Beck",gender:"male",company:"Sequitur",id:36,category:{id:2,name:"Silver"}},{name:"Luisa Farrell",gender:"female",company:"Cinesanct",id:37,category:{id:2,name:"Silver"}},{name:"Robyn Strickland",gender:"female",company:"Obones",id:38,category:{id:2,name:"Silver"}},{name:"Roseann Jarvis",gender:"female",company:"Aquazure",id:39,category:{id:2,name:"Silver"}},{name:"Johnston Park",gender:"male",company:"Netur",id:40,category:{id:2,name:"Silver"}},{name:"Wong Craft",gender:"male",company:"Opticall",id:41,category:{id:2,name:"Silver"}},{name:"Merritt Cole",gender:"male",company:"Techtrix",id:42,category:{id:2,name:"Silver"}},{name:"Dale Byrd",gender:"female",company:"Kneedles",id:43,category:{id:2,name:"Silver"}},{name:"Sara Delgado",gender:"female",company:"Netagy",id:44,category:{id:2,name:"Silver"}},{name:"Alisha Myers",gender:"female",company:"Intradisk",id:45,category:{id:2,name:"Silver"}},{name:"Felecia Smith",gender:"female",company:"Futurity",id:46,category:{id:2,name:"Silver"}},{name:"Neal Harvey",gender:"male",company:"Pyramax",id:47,category:{id:2,name:"Silver"}},{name:"Nola Miles",gender:"female",company:"Sonique",id:48,category:{id:2,name:"Silver"}},{name:"Herring Pierce",gender:"male",company:"Geeketron",id:49,category:{id:2,name:"Silver"}},{name:"Shelley Rodriquez",gender:"female",company:"Bostonic",id:50,category:{id:2,name:"Silver"}},{name:"Cora Chase",gender:"female",company:"Isonus",id:51,category:{id:2,name:"Silver"}},{name:"Mckay Santos",gender:"male",company:"Amtas",id:52,category:{id:2,name:"Silver"}},{name:"Hilda Crane",gender:"female",company:"Jumpstack",id:53,category:{id:2,name:"Silver"}},{name:"Jeanne Lindsay",gender:"female",company:"Genesynk",id:54,category:{id:2,name:"Silver"}},{name:"Frye Sharpe",gender:"male",company:"Eplode",id:55,category:{id:2,name:"Silver"}},{name:"Velma Fry",gender:"female",company:"Ronelon",id:56,category:{id:2,name:"Silver"}},{name:"Reyna Espinoza",gender:"female",company:"Prismatic",id:57,category:{id:2,name:"Silver"}},{name:"Spencer Sloan",gender:"male",company:"Comverges",id:58,category:{id:2,name:"Silver"}},{name:"Graham Marsh",gender:"male",company:"Medifax",id:59,category:{id:2,name:"Silver"}},{name:"Hale Boone",gender:"male",company:"Digial",id:60,category:{id:2,name:"Silver"}},{name:"Wiley Hubbard",gender:"male",company:"Zensus",id:61,category:{id:2,name:"Silver"}},{name:"Blackburn Drake",gender:"male",company:"Frenex",id:62,category:{id:2,name:"Silver"}},{name:"Franco Hunter",gender:"male",company:"Rockabye",id:63,category:{id:2,name:"Silver"}},{name:"Barnett Case",gender:"male",company:"Norali",id:64,category:{id:2,name:"Silver"}},{name:"Alexander Foley",gender:"male",company:"Geekosis",id:65,category:{id:3,name:"Bronze"}},{name:"Lynette Stein",gender:"female",company:"Macronaut",id:66,category:{id:3,name:"Bronze"}},{name:"Anthony Joyner",gender:"male",company:"Senmei",id:67,category:{id:3,name:"Bronze"}},{name:"Garrett Brennan",gender:"male",company:"Bluegrain",id:68,category:{id:3,name:"Bronze"}},{name:"Betsy Horton",gender:"female",company:"Zilla",id:69,category:{id:3,name:"Bronze"}},{name:"Patton Small",gender:"male",company:"Genmex",id:70,category:{id:3,name:"Bronze"}},{name:"Lakisha Huber",gender:"female",company:"Insource",id:71,category:{id:3,name:"Bronze"}},{name:"Lindsay Avery",gender:"female",company:"Unq",id:72,category:{id:3,name:"Bronze"}},{name:"Ayers Hood",gender:"male",company:"Accuprint",id:73,category:{id:3,name:"Bronze"}},{name:"Torres Durham",gender:"male",company:"Uplinx",id:74,category:{id:3,name:"Bronze"}},{name:"Vincent Hernandez",gender:"male",company:"Talendula",id:75,category:{id:3,name:"Bronze"}},{name:"Baird Ryan",gender:"male",company:"Aquasseur",id:76,category:{id:3,name:"Bronze"}},{name:"Georgia Mercer",gender:"female",company:"Skyplex",id:77,category:{id:3,name:"Bronze"}},{name:"Francesca Elliott",gender:"female",company:"Nspire",id:78,category:{id:3,name:"Bronze"}},{name:"Lyons Peters",gender:"male",company:"Quinex",id:79,category:{id:3,name:"Bronze"}},{name:"Kristi Brewer",gender:"female",company:"Oronoko",id:80,category:{id:3,name:"Bronze"}},{name:"Tonya Bray",gender:"female",company:"Insuron",id:81,category:{id:3,name:"Bronze"}},{name:"Valenzuela Huff",gender:"male",company:"Applideck",id:82,category:{id:3,name:"Bronze"}},{name:"Tiffany Anderson",gender:"female",company:"Zanymax",id:83,category:{id:3,name:"Bronze"}},{name:"Jerri King",gender:"female",company:"Eventex",id:84,category:{id:3,name:"Bronze"}},{name:"Rocha Meadows",gender:"male",company:"Goko",id:85,category:{id:3,name:"Bronze"}},{name:"Marcy Green",gender:"female",company:"Pharmex",id:86,category:{id:3,name:"Bronze"}},{name:"Kirk Cross",gender:"male",company:"Portico",id:87,category:{id:3,name:"Bronze"}},{name:"Hattie Mullen",gender:"female",company:"Zilencio",id:88,category:{id:3,name:"Bronze"}},{name:"Deann Bridges",gender:"female",company:"Equitox",id:89,category:{id:3,name:"Bronze"}},{name:"Chaney Roach",gender:"male",company:"Qualitern",id:90,category:{id:3,name:"Bronze"}},{name:"Consuelo Dickson",gender:"female",company:"Poshome",id:91,category:{id:3,name:"Bronze"}},{name:"Billie Rowe",gender:"female",company:"Cemention",id:92,category:{id:3,name:"Bronze"}},{name:"Bean Donovan",gender:"male",company:"Mantro",id:93,category:{id:3,name:"Bronze"}},{name:"Lancaster Patel",gender:"male",company:"Krog",id:94,category:{id:3,name:"Bronze"}},{name:"Rosa Dyer",gender:"female",company:"Netility",id:95,category:{id:3,name:"Bronze"}},{name:"Christine Compton",gender:"female",company:"Bleeko",id:96,category:{id:3,name:"Bronze"}},{name:"Milagros Finch",gender:"female",company:"Handshake",id:97,category:{id:3,name:"Bronze"}},{name:"Ericka Alvarado",gender:"female",company:"Lyrichord",id:98,category:{id:3,name:"Bronze"}},{name:"Sylvia Sosa",gender:"female",company:"Circum",id:99,category:{id:3,name:"Bronze"}},{name:"Humphrey Curtis",gender:"male",company:"Corepan",id:100,category:{id:3,name:"Bronze"}}],ut="slickgrid-universal-example09-gridstate",SC=20,pl="%5E",wC="%25";class MC{constructor(){k(this,"_bindingEventService");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"metrics");k(this,"sgb");k(this,"isCountEnabled",!0);k(this,"isSelectEnabled",!1);k(this,"isExpandEnabled",!1);k(this,"odataVersion",2);k(this,"odataQuery","");k(this,"processing",!1);k(this,"errorStatus","");k(this,"errorStatusClass","hidden");k(this,"status","");k(this,"statusClass","is-success");k(this,"isPageErrorTest",!1);this._bindingEventService=new pu,this.resetAllStatus()}attached(){this.initializeGrid();const u=document.querySelector(".grid9");this._bindingEventService.bind(u,"ongridstatechanged",this.gridStateChanged.bind(this)),this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},[])}dispose(){var u;this.sgb&&((u=this.sgb)==null||u.dispose()),this._bindingEventService.unbindAll(),this.resetAllStatus()}resetAllStatus(){this.status="",this.errorStatus="",this.statusClass="is-success",this.errorStatusClass="hidden"}initializeGrid(){this.columnDefinitions=[{id:"name",name:"Name",field:"name",sortable:!0,type:C.string,filterable:!0,filter:{model:H.compoundInput,compoundOperatorList:[{operator:"",desc:"Contains"},{operator:"<>",desc:"Not Contains"},{operator:"=",desc:"Equals"},{operator:"!=",desc:"Not equal to"},{operator:"a*",desc:"Starts With"},{operator:"Custom",desc:"SQL Like"}]}},{id:"gender",name:"Gender",field:"gender",filterable:!0,sortable:!0,filter:{model:H.singleSelect,collection:[{value:"",label:""},{value:"male",label:"male"},{value:"female",label:"female"}]}},{id:"company",name:"Company",field:"company",filterable:!0,sortable:!0},{id:"category_name",name:"Category",field:"category/name",filterable:!0,sortable:!0}],this.gridOptions={enableAutoResize:!0,autoResize:{container:".demo-container",rightPadding:10},checkboxSelector:{hideInFilterHeaderRow:!1,hideInColumnTitleRow:!0},compoundOperatorAltTexts:{text:{Custom:{operatorAlt:"%%",descAlt:"SQL Like"}}},enableCellNavigation:!0,enableFiltering:!0,enableCheckboxSelector:!0,enableRowSelection:!0,enablePagination:!0,pagination:{pageSizes:[10,20,50,100,500,5e4],pageSize:SC},presets:localStorage.getItem(ut)?JSON.parse(localStorage.getItem(ut)||"{}"):{filters:[{columnId:"gender",searchTerms:["male"],operator:T.equal}],sorters:[{columnId:"name",direction:"asc"}],pagination:{pageNumber:2,pageSize:20}},backendServiceApi:{service:new H4,options:{enableCount:this.isCountEnabled,enableSelect:this.isSelectEnabled,enableExpand:this.isExpandEnabled,filterQueryOverride:({fieldName:u,columnDef:e,columnFilterOperator:a,searchValues:i})=>{if(a===T.custom&&(e==null?void 0:e.id)==="name"){let t=i[0].replace(/\*/g,".*");return t=t.slice(0,1)+pl+t.slice(1),t=t.slice(0,-1)+"$'",`matchesPattern(${u}, ${t})`}},version:this.odataVersion},onError:u=>{this.errorStatus=u.message,this.errorStatusClass="visible notification is-light is-danger is-small is-narrow",this.displaySpinner(!1,!0)},preProcess:()=>{this.errorStatus="",this.errorStatusClass="hidden",this.displaySpinner(!0)},process:u=>this.getCustomerApiCall(u),postProcess:u=>{this.metrics=u.metrics,this.displaySpinner(!1),this.getCustomerCallback(u)}}}}displaySpinner(u,e){this.processing=u,e?(this.status="ERROR!!!",this.statusClass="notification is-light is-danger"):(this.status=u?"loading...":"finished!!",this.statusClass=u?"notification is-light is-warning":"notification is-light is-success")}getCustomerCallback(u){let e=u.totalRecordCount;this.isCountEnabled&&(e=this.odataVersion===4?u["@odata.count"]:u.d.__count),this.metrics&&(this.metrics.totalItemCount=e),this.sgb.paginationOptions.totalItems=e,this.sgb.dataset=this.odataVersion===4?u.value:u.d.results,this.odataQuery=u.query}getCustomerApiCall(u){return this.getCustomerDataApiMock(u)}getCustomerDataApiMock(u){return this.errorStatusClass="hidden",new Promise(e=>{const a=u.toLowerCase().split("&");let i=0,t=0,r="",o=100;const s={};if(this.isPageErrorTest)throw this.isPageErrorTest=!1,new Error("Server timed out trying to retrieve data for the last page");for(const D of a){if(D.includes("$top=")&&(i=+D.substring(5),i===5e4))throw new Error("Server timed out retrieving 50,000 rows");if(D.includes("$skip=")&&(t=+D.substring(6)),D.includes("$orderby=")&&(r=D.substring(9)),D.includes("$filter=")){const m=D.substring(8).replace("%20"," ");if(m.includes("matchespattern")){const h=new RegExp(`matchespattern\\(([a-zA-Z]+),\\s'${pl}(.*?)'\\)`,"i"),g=m.match(h),x=g[1].trim();s[x]={type:"matchespattern",term:"^"+g[2].trim()}}if(m.includes("contains")){const h=m.match(/contains\(([a-zA-Z/]+),\s?'(.*?)'/),g=h[1].trim();s[g]={type:"substring",term:h[2].trim()}}if(m.includes("substringof")){const h=m.match(/substringof\('(.*?)',\s([a-zA-Z/]+)/),g=h[2].trim();s[g]={type:"substring",term:h[1].trim()}}for(const h of["eq","ne","le","lt","gt","ge"])if(m.includes(h)){const x=new RegExp(`([a-zA-Z ]*) ${h} '(.*?)'`).exec(m);if(Array.isArray(x)){const p=x[1].trim();s[p]={type:h,term:x[2].trim()}}}if(m.includes("startswith")&&m.includes("endswith")){const h=m.match(/startswith\(([a-zA-Z ]*),\s?'(.*?)'/),g=m.match(/endswith\(([a-zA-Z ]*),\s?'(.*?)'/),x=h[1].trim();s[x]={type:"starts+ends",term:[h[2].trim(),g[2].trim()]}}else if(m.includes("startswith")){const h=m.match(/startswith\(([a-zA-Z ]*),\s?'(.*?)'/),g=h[1].trim();s[g]={type:"starts",term:h[2].trim()}}else if(m.includes("endswith")){const h=m.match(/endswith\(([a-zA-Z ]*),\s?'(.*?)'/),g=h[1].trim();s[g]={type:"ends",term:h[2].trim()}}if(m.includes("company"))throw new Error('Server could not filter using the field "Company"')}}if(r.includes("company"))throw new Error('Server could not sort using the field "Company"');let l=O4;if(l=JSON.parse(JSON.stringify(l)),(r==null?void 0:r.length)>0){const D=r.split(",");for(const m of D){const h=m.split(" "),g=h[0];let x=F=>F;for(const F of g.split("/")){const v=x;x=b=>v(b)[F]}switch((h[1]??"asc").toLocaleLowerCase()){case"asc":l=l.sort((F,v)=>x(F).localeCompare(x(v)));break;case"desc":l=l.sort((F,v)=>x(v).localeCompare(x(F)));break}}}let E=t,d=l;if(s){for(const D in s)s.hasOwnProperty(D)&&(d=d.filter(m=>{const h=s[D].type,g=s[D].term;let x=D;if((D==null?void 0:D.indexOf(" "))!==-1){const v=D.split(" ");x=v[v.length-1]}let p,F=m;for(const v of x.split("/"))p=F[v],F=p;if(p){const[v,b]=Array.isArray(g)?g:[g];switch(h){case"eq":return p.toLowerCase()===v;case"ne":return p.toLowerCase()!==v;case"le":return p.toLowerCase()<=v;case"lt":return p.toLowerCase()v;case"ge":return p.toLowerCase()>=v;case"ends":return p.toLowerCase().endsWith(v);case"starts":return p.toLowerCase().startsWith(v);case"starts+ends":return p.toLowerCase().startsWith(v)&&p.toLowerCase().endsWith(b);case"substring":return p.toLowerCase().includes(v);case"matchespattern":return new RegExp(v.replaceAll(wC,".*"),"i").test(p)}}}));o=d.length}E>d.length&&(u=u.replace(`$skip=${E}`,""),E=0);const c=d.slice(E,E+i);setTimeout(()=>{const D={query:u};this.isCountEnabled||(D.totalRecordCount=o),this.odataVersion===4?(D.value=c,this.isCountEnabled&&(D["@odata.count"]=o)):(D.d={results:c},this.isCountEnabled&&(D.d.__count=o)),e(D)},150)})}clearAllFiltersAndSorts(){var u;(u=this.sgb)!=null&&u.gridService&&this.sgb.gridService.clearAllFiltersAndSorts()}goToFirstPage(){var u,e;(e=(u=this.sgb)==null?void 0:u.paginationService)==null||e.goToFirstPage()}goToLastPage(){var u,e;(e=(u=this.sgb)==null?void 0:u.paginationService)==null||e.goToLastPage()}gridStateChanged(u){if(u!=null&&u.detail){const e=u.detail;console.log("Client sample, Grid State changed:: ",e.change),localStorage.setItem(ut,JSON.stringify(e.gridState))}}setFiltersDynamically(){var u;(u=this.sgb)==null||u.filterService.updateFilters([{columnId:"name",searchTerms:["A"],operator:"a*"}])}setSortingDynamically(){var u;(u=this.sgb)==null||u.sortService.updateSorting([{columnId:"name",direction:"DESC"}])}clearLocalStorage(){localStorage.removeItem(ut)}throwPageChangeError(){this.isPageErrorTest=!0,this.sgb.paginationService.goToLastPage()}changeCountEnableFlag(){return this.isCountEnabled=!this.isCountEnabled,this.resetOptions({enableCount:this.isCountEnabled}),!0}changeEnableSelectFlag(){return this.isSelectEnabled=!this.isSelectEnabled,this.resetOptions({enableSelect:this.isSelectEnabled}),!0}changeEnableExpandFlag(){return this.isExpandEnabled=!this.isExpandEnabled,this.resetOptions({enableExpand:this.isExpandEnabled}),!0}setOdataVersion(u){return this.odataVersion=u,this.resetOptions({version:this.odataVersion}),!0}resetOptions(u){var a,i;this.displaySpinner(!0);const e=this.gridOptions.backendServiceApi.service;e.updateOptions(u),(a=e.clearFilters)==null||a.call(e),(i=this.sgb)==null||i.filterService.clearFilters()}}class Oe{constructor(u,e){if(this.queryFnName=u,this.head=[],typeof e=="string")this.alias=e;else if(typeof e=="object")this.filter(e);else{if(e===void 0&&arguments.length===2)throw new TypeError('You have passed undefined as Second argument to "Query"');if(e!==void 0)throw new TypeError(`Second argument to "Query" should be an alias name(String) or filter arguments(Object). What was passed is: ${e}`)}}filter(u){for(const e of Object.keys(u)){if(typeof u[e]=="function")continue;const a=this.getGraphQLValue(u[e]);a!=="{}"&&this.head.push(`${e}:${a}`)}return this}find(...u){if(!u||!Array.isArray(u)||u.length===0)throw new TypeError("find value can not be >>falsy<<");const e=u.length===1&&Array.isArray(u[0])?u[0]:u;return this.body=this.parceFind(e),this}setAlias(u){this.alias=u}toString(){if(this.body===void 0)throw new ReferenceError("return properties are not defined. use the 'find' function to defined them");return`${this.alias?this.alias+":":""} ${this.queryFnName} ${this.head.length>0?"("+this.head.join(",")+")":""} { ${this.body} }`}parceFind(u){return u.map((a,i)=>{const t=u[i];if(t instanceof Oe)return t.toString();if(!Array.isArray(t)&&typeof t=="object"){const r=Object.keys(t);if(r.length!==1)throw new RangeError(`Alias objects should only have one value. was passed: ${JSON.stringify(t)}`);const o=r[0],s=t[o];return Array.isArray(s)?new Oe(o).find(s):`${o} : ${s} `}else{if(typeof t=="string")return t;throw new RangeError(`cannot handle Find value of ${t}`)}}).join(",")}getGraphQLValue(u){return typeof u=="string"?u=JSON.stringify(u):Array.isArray(u)?(u=u.map(e=>this.getGraphQLValue(e)).join(),u=`[${u}]`):u instanceof Date?u=JSON.stringify(u):u!==null&&typeof u=="object"&&(u=this.objectToString(u)),u}objectToString(u){const e=[];for(const a of Object.keys(u))typeof u[a]!="function"&&e.push(`${a}:${this.getGraphQLValue(u[a])}`);return`{${e.join()}}`}}const Fl=25,kl=20;class TC{constructor(){this._currentFilters=[],this._currentPagination=null,this._currentSorters=[],this._datasetIdPropName="id",this.defaultPaginationOptions={first:Fl,offset:0}}get columnDefinitions(){return this._columnDefinitions}get _gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())??{}}init(u,e,a,i){this._grid=a,this.options=u||{datasetName:""},this.pagination=e,this._datasetIdPropName=this._gridOptions.datasetIdPropertyName||"id",a!=null&&a.getColumns&&(this._columnDefinitions=(i==null?void 0:i.allColumns)??a.getColumns()??[])}buildQuery(){var E,d,c,D,m;if(!this.options||!this.options.datasetName||!Array.isArray(this._columnDefinitions))throw new Error('GraphQL Service requires the "datasetName" property to properly build the GraphQL query');let u=this._columnDefinitions||[];u=u.filter(h=>!h.excludeFromQuery);const e=new Oe(`query ${this.options.operationName??""}`),a=new Oe(this.options.datasetName),i=new Oe("nodes"),t=[];if(u&&Array.isArray(u))for(const h of u)h.excludeFieldFromQuery||t.push(h.field),h.fields&&t.push(...h.fields);t.indexOf(this._datasetIdPropName)===-1&&t.unshift(this._datasetIdPropName);const r=this.buildFilterQuery(t);let o=[];if(this._gridOptions.enablePagination!==!1){if(this.options.useCursor){const h=new Oe("edges"),g=new Oe("pageInfo");g.find("hasNextPage","hasPreviousPage","endCursor","startCursor"),i.find(r),h.find(["cursor"]),o=["totalCount",i,g,h]}else i.find(r),o=["totalCount",i];a.find(o)}else a.find(r);let s={};if(this._gridOptions.enablePagination!==!1)if(s={},this.options.useCursor&&this.options.paginationOptions)s={...this.options.paginationOptions};else{const h=(E=this.options)==null?void 0:E.paginationOptions;s.first=((c=(d=this.options)==null?void 0:d.paginationOptions)==null?void 0:c.first)??((D=this.pagination)==null?void 0:D.pageSize)??this.defaultPaginationOptions.first,s.offset=h!=null&&h.hasOwnProperty("offset")?+h.offset:0}if(this.options.sortingOptions&&Array.isArray(this.options.sortingOptions)&&this.options.sortingOptions.length>0&&(s.orderBy=this.options.sortingOptions),this.options.filteringOptions&&Array.isArray(this.options.filteringOptions)&&this.options.filteringOptions.length>0&&(s.filterBy=this.options.filteringOptions),this.options.addLocaleIntoQuery&&(s.locale=((m=this._gridOptions.translater)==null?void 0:m.getCurrentLanguage())||this._gridOptions.locale||"en"),this.options.extraQueryArguments)for(const h of this.options.extraQueryArguments)s[h.field]=h.value;a.filter(s),e.find(a);const l=["direction:","field:","operator:"];return this.trimDoubleQuotesOnEnumField(e.toString(),l,this.options.keepArgumentFieldDoubleQuotes||!1)}buildFilterQuery(u){const e=(i={},t)=>{const r=t.shift();return i[r]=t.length?e(i[r]??{},t):null,i},a=u.reduce((i,t)=>e(i,t.split(".")),{});return JSON.stringify(a).replace(/"|:|null/g,"").replace(/^\{/,"").replace(/\}$/,"")}clearFilters(){this._currentFilters=[],this.updateOptions({filteringOptions:[]})}clearSorters(){this._currentSorters=[],this.updateOptions({sortingOptions:[]})}getInitPaginationOptions(){var e;const u=this.pagination?this.pagination.pageSize:Fl;return(e=this.options)!=null&&e.useCursor?{first:u}:{first:u,offset:0}}getDatasetName(){var u;return((u=this.options)==null?void 0:u.datasetName)||""}getCurrentFilters(){return this._currentFilters}getCurrentPagination(){return this._currentPagination}getCurrentSorters(){return this._currentSorters}resetPaginationOptions(){var e;let u;(e=this.options)!=null&&e.useCursor?u=this.getInitPaginationOptions():(u=this.options&&this.options.paginationOptions||this.getInitPaginationOptions(),u.offset=0),this._currentPagination={pageNumber:1,pageSize:u.first||kl},this._gridOptions&&(this._gridOptions.enablePagination||!this._gridOptions.hasOwnProperty("enablePagination"))&&this.updateOptions({paginationOptions:u})}updateOptions(u){this.options={...this.options,...u}}processOnFilterChanged(u,e){if(this._gridOptions.backendServiceApi===void 0)throw new Error('Something went wrong in the GraphqlService, "backendServiceApi" is not initialized');if(this._currentFilters=this.castFilterToColumnFilters(e.columnFilters),!e||!e.grid)throw new Error('Something went wrong when trying create the GraphQL Backend Service, it seems that "args" is not populated correctly');return this.updateFilters(e.columnFilters,!1),this.resetPaginationOptions(),this.buildQuery()}processOnPaginationChanged(u,e){const a=+(e.pageSize||(this.pagination?this.pagination.pageSize:kl));return"first"in e||"last"in e?this.updatePagination(e.newPage,a,e):this.updatePagination(e.newPage,a),this.buildQuery()}processOnSortChanged(u,e){var i;const a=e.multiColumnSort?e.sortCols:new Array({columnId:((i=e.sortCol)==null?void 0:i.id)??"",sortCol:e.sortCol,sortAsc:e.sortAsc});return this.updateSorters(a),this.buildQuery()}updateFilters(u,e){var t,r,o,s;const a=[];let i;e&&(this._currentFilters=this.castFilterToColumnFilters(u));for(const l in u)if(u.hasOwnProperty(l)){const E=u[l];let d;if(e&&Array.isArray(this._columnDefinitions)?d=this._columnDefinitions.find(S=>S.id===E.columnId):d=E.columnDef,!d)throw new Error("[GraphQL Service]: Something went wrong in trying to get the column definition of the specified filter (or preset filters). Did you make a typo on the filter columnId?");let c=((t=d.filter)==null?void 0:t.queryField)||d.queryFieldFilter||d.queryField||d.field||d.name||"";c instanceof HTMLElement&&(c=Vu(c.innerHTML));const D=d.type||C.string;let m=(E==null?void 0:E.searchTerms)??[],h=Array.isArray(m)&&m.length===1?m[0]:"";if(typeof h>"u"&&(h=""),!c)throw new Error('GraphQL filter could not find the field name to query the search, your column definition must include a valid "field" or "name" (optionally you can also use the "queryfield").');if((r=this.options)!=null&&r.useVerbatimSearchTerms||E.verbatimSearchTerms){a.push({field:i0(c),operator:E.operator,value:JSON.stringify(E.searchTerms)});continue}h=h==null?"":`${h}`;const x=(d.autoParseInputFilterOperator??this._gridOptions.autoParseInputFilterOperator)!==!1?h.match(/^((.*[^\\*\r\n])[*]{1}(.*[^*\r\n]))|^([<>!=*]{0,2})(.*[^<>!=*])([*]?)$/)||[]:[h,"","","","",h,""],p=(x==null?void 0:x[2])||"",F=(x==null?void 0:x[3])||"";let v=E.operator||(x==null?void 0:x[4]);i=(x==null?void 0:x[1])||(x==null?void 0:x[5])||"";const b=x!=null&&x[6]||v==="*z"||v===T.endsWith?"*":"";if(c&&i===""&&m.length===0)continue;let B;if(typeof((o=this.options)==null?void 0:o.filterQueryOverride)=="function"&&(B=(s=this.options)==null?void 0:s.filterQueryOverride({fieldName:i0(c),columnDef:d,operator:v,columnFilterOperator:E.operator,searchValues:m,grid:this._grid})),B!==void 0)a.push(B);else{if(p&&F?(m=[p,F],v=T.startsWithEndsWith):Array.isArray(m)&&m.length===1&&typeof m[0]=="string"&&m[0].indexOf("..")>=0&&(v!==T.rangeInclusive&&v!==T.rangeExclusive&&(v=this._gridOptions.defaultFilterRangeOperator??T.rangeInclusive),m=m[0].split("..",2),m[0]===""?(v=v===T.rangeInclusive?"<=":v===T.rangeExclusive?"<":v,m=m.slice(1),i=m[0]):m[1]===""&&(v=v===T.rangeInclusive?">=":v===T.rangeExclusive?">":v,m=m.slice(0,1),i=m[0])),typeof i=="string"&&(v==="*"||v==="a*"||v==="*z"||b==="*")&&(v=v==="*"||v==="*z"?"EndsWith":"StartsWith"),!v&&d.filter&&d.filter.operator&&(v=d.filter.operator),!v&&Array.isArray(m)&&m.length===2&&m[0]&&m[1]&&(v=this._gridOptions.defaultFilterRangeOperator),(v===T.rangeInclusive||v===T.rangeExclusive)&&Array.isArray(m)&&m.length===1&&D===C.date&&(v=T.equal),i=this.normalizeSearchValue(D,i),Array.isArray(m)&&m.forEach((S,y)=>{m[y]=this.normalizeSearchValue(D,m[y])}),v===T.startsWithEndsWith&&Array.isArray(m)&&m.length===2){a.push({field:i0(c),operator:T.startsWith,value:p}),a.push({field:i0(c),operator:T.endsWith,value:F});continue}if((m==null?void 0:m.length)>1&&(v==="IN"||v==="NIN"||v==="NOT_IN"))i=m.join(",");else if((m==null?void 0:m.length)===2&&(v===T.rangeExclusive||v===T.rangeInclusive)){a.push({field:i0(c),operator:v===T.rangeInclusive?"GE":"GT",value:m[0]}),a.push({field:i0(c),operator:v===T.rangeInclusive?"LE":"LT",value:m[1]});continue}v||(v=vi(D)),a.push({field:i0(c),operator:Il(v),value:i})}}this.updateOptions({filteringOptions:a})}updatePagination(u,e,a){var t;this._currentPagination={pageNumber:u,pageSize:e};let i={};if((t=this.options)!=null&&t.useCursor)if(a&&a instanceof Object){const{pageSize:r,newPage:o,...s}=a;i=s}else i={first:e};else i={first:e,offset:u>1?(u-1)*e:0};this.updateOptions({paginationOptions:i})}updateSorters(u,e){let a=[];const i=[];if(!u&&e){a=e,a.forEach(r=>r.direction=r.direction.toUpperCase());const t=a.map(r=>{var s;const o=(s=this._columnDefinitions)==null?void 0:s.find(l=>l.id===r.columnId);return i.push({field:o?(o.queryFieldSorter||o.queryField||o.field)+"":r.columnId+"",direction:r.direction}),o?{columnId:r.columnId,sortAsc:r.direction.toUpperCase()===a0.ASC}:null});Array.isArray(t)&&this._grid&&this._grid.setSortColumns(t.filter(r=>r)||[])}else if(u&&!e&&Array.isArray(u)&&u.length>0){for(const t of u)if(t&&t.sortCol){a.push({columnId:t.sortCol.id+"",direction:t.sortAsc?a0.ASC:a0.DESC});const r=(t.sortCol.queryFieldSorter||t.sortCol.queryField||t.sortCol.field||"")+"";r&&i.push({field:r,direction:t.sortAsc?a0.ASC:a0.DESC})}}this._currentSorters=a,this.updateOptions({sortingOptions:i})}trimDoubleQuotesOnEnumField(u,e,a){const i='s?((field:s*)?".*?")';let t=e.join(i+"|");t+=i;const r=new RegExp(t,"g");return u.replace(r,o=>{let s=!0;return o.startsWith("field:")&&a&&(s=!1),s?o.replace(/"/g,""):o})}castFilterToColumnFilters(u){const e=typeof u=="object"?Object.keys(u).map(a=>u[a]):u;return Array.isArray(e)?e.map(a=>{const i={columnId:a.columnId||""};return a.operator&&(i.operator=a.operator),a.targetSelector&&(i.targetSelector=a.targetSelector),Array.isArray(a.searchTerms)&&(i.searchTerms=a.searchTerms),i}):[]}normalizeSearchValue(u,e){switch(u){case C.date:case C.string:case C.text:case C.readonly:typeof e=="string"&&(e=e.replace(/'/g,"''"));break;case C.integer:case C.number:case C.float:typeof e=="string"&&(e=e.replace(/\.\./g,"."),e=e.replace(/\.+$/g,""),e=e.replace(/^\.+/g,"0."),e=e.replace(/^-+\.+/g,"-0."),e=e.replace(/(?!^-)[^\d.]/g,""),(e===""||e==="-")&&(e="0"));break}return e}}const PC=20,$n="users",_C=250;class jC{constructor(){k(this,"_bindingEventService");k(this,"_darkMode",!1);k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset",[]);k(this,"metrics");k(this,"sgb");k(this,"isWithCursor",!1);k(this,"graphqlQuery","...");k(this,"processing",!1);k(this,"selectedLanguage");k(this,"selectedLanguageFile");k(this,"status","");k(this,"statusClass","is-success");k(this,"translateService");k(this,"serverWaitDelay",_C);this._bindingEventService=new pu,this.translateService=window.TranslateService,this.selectedLanguage=this.translateService.getCurrentLanguage(),this.selectedLanguageFile=`${this.selectedLanguage}.json`}async attached(){this.initializeGrid();const u=document.querySelector(".grid10");this.sgb=new Bu.GridBundle(u,this.columnDefinitions,{...Lu,...this.gridOptions},this.dataset),this._bindingEventService.bind(u,"ongridstatechanged",this.handleOnGridStateChanged.bind(this)),document.body.classList.add("material-theme")}dispose(){var u,e;this.sgb&&((u=this.sgb)==null||u.dispose()),this._bindingEventService.unbindAll(),document.body.classList.remove("material-theme"),document.body.setAttribute("data-theme","light"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode")}initializeGrid(){this.columnDefinitions=[{id:"name",field:"name",nameKey:"NAME",width:60,columnGroupKey:"CUSTOMER_INFORMATION",type:C.string,sortable:!0,filterable:!0,filter:{model:H.compoundInput,compoundOperatorList:[{operator:"",desc:"Contains"},{operator:"<>",desc:"Not Contains"},{operator:"=",desc:"Equals"},{operator:"!=",desc:"Not equal to"},{operator:"a*",desc:"Starts With"},{operator:"Custom",desc:"SQL Like"}]}},{id:"gender",field:"gender",nameKey:"GENDER",filterable:!0,sortable:!0,width:60,columnGroupKey:"CUSTOMER_INFORMATION",filter:{model:H.singleSelect,collection:[{value:"",label:""},{value:"male",labelKey:"MALE"},{value:"female",labelKey:"FEMALE"}]}},{id:"company",field:"company",nameKey:"COMPANY",width:60,columnGroupKey:"CUSTOMER_INFORMATION",sortable:!0,filterable:!0,filter:{model:H.multipleSelect,collection:[{value:"acme",label:"Acme"},{value:"abc",label:"Company ABC"},{value:"xyz",label:"Company XYZ"}],filterOptions:{filter:!0}}},{id:"billingAddressStreet",field:"billing.address.street",nameKey:"BILLING.ADDRESS.STREET",formatter:P.complexObject,width:60,filterable:!0,sortable:!0,columnGroupKey:"BILLING.INFORMATION"},{id:"billingAddressZip",field:"billing.address.zip",nameKey:"BILLING.ADDRESS.ZIP",width:60,type:C.number,columnGroupKey:"BILLING.INFORMATION",filterable:!0,sortable:!0,filter:{model:H.compoundInput},formatter:P.multiple,params:{formatters:[P.complexObject,P.translate]}},{id:"finish",field:"finish",name:"Date",formatter:P.dateIso,sortable:!0,minWidth:90,width:120,exportWithFormatter:!0,columnGroupKey:"BILLING.INFORMATION",type:C.date,filterable:!0,filter:{model:H.dateRange,filterShortcuts:[{titleKey:"NEXT_20_DAYS",iconCssClass:"mdi mdi-calendar",searchTerms:[Yu(new Date,"YYYY-MM-DD"),Yu(ya(new Date,20),"YYYY-MM-DD")]}]}}];const u=new Date().getFullYear(),e=`${u}-01-01`,a=`${u}-02-15`;this.gridOptions={enableAutoTooltip:!0,autoTooltipOptions:{enableForHeaderCells:!0},enableTranslate:!0,translater:this.translateService,enableAutoResize:!1,gridHeight:275,gridWidth:900,compoundOperatorAltTexts:{text:{Custom:{operatorAlt:"%%",descAlt:"SQL Like"}}},enableFiltering:!0,enableCellNavigation:!0,createPreHeaderPanel:!0,showPreHeaderPanel:!0,preHeaderPanelHeight:28,gridMenu:{resizeOnShowHeaderRow:!0},enablePagination:!0,pagination:{pageSizes:[10,15,20,25,30,40,50,75,100],pageSize:PC,totalItems:0},presets:{columns:[{columnId:"name",width:100},{columnId:"gender",width:55},{columnId:"company"},{columnId:"billingAddressZip"},{columnId:"billingAddressStreet",width:120},{columnId:"finish",width:130}],filters:[{columnId:"gender",searchTerms:["male"],operator:T.equal},{columnId:"name",searchTerms:["Joh*oe"],operator:T.startsWithEndsWith},{columnId:"company",searchTerms:["xyz"],operator:"IN"},{columnId:"finish",searchTerms:[e,a],operator:T.rangeInclusive}],sorters:[{columnId:"name",direction:"asc"},{columnId:"company",direction:a0.DESC}],pagination:{pageNumber:this.isWithCursor?1:2,pageSize:20}},backendServiceApi:{service:new TC,options:{datasetName:$n,addLocaleIntoQuery:!0,extraQueryArguments:[{field:"userId",value:123}],filterQueryOverride:({fieldName:i,columnDef:t,columnFilterOperator:r,searchValues:o})=>{if(r===T.custom&&(t==null?void 0:t.id)==="name")return{field:i,operator:"Like",value:o[0]}},useCursor:this.isWithCursor,keepArgumentFieldDoubleQuotes:!0},preProcess:()=>this.displaySpinner(!0),process:i=>this.getCustomerApiCall(i),postProcess:i=>{this.metrics=i.metrics,this.displaySpinner(!1)}}}}clearAllFiltersAndSorts(){var u;(u=this.sgb)!=null&&u.gridService&&this.sgb.gridService.clearAllFiltersAndSorts()}displaySpinner(u){this.processing=u,this.status=u?"loading...":"finished!!",this.statusClass=u?"notification is-light is-warning":"notification is-light is-success"}getCustomerApiCall(u){let e;if(this.sgb){const{paginationService:i}=this.sgb,t=i._initialized?i.getCurrentPageNumber():1,r=String.fromCharCode(65+t-1),o=String.fromCharCode(r.charCodeAt(0)+1);e={hasPreviousPage:i.dataFrom===0,hasNextPage:i.dataTo===100,startCursor:r,endCursor:o}}else e={hasPreviousPage:!1,hasNextPage:!0,startCursor:"A",endCursor:"B"};const a={data:{[$n]:{nodes:[],totalCount:100,pageInfo:e}}};return new Promise(i=>{setTimeout(()=>{var t;this.graphqlQuery=this.gridOptions.backendServiceApi.service.buildQuery(),this.isWithCursor&&((t=this.sgb)==null||t.paginationService.setCursorPageInfo(a.data[$n].pageInfo)),i(a)},this.serverWaitDelay)})}goToFirstPage(){var u,e;(e=(u=this.sgb)==null?void 0:u.paginationService)==null||e.goToFirstPage()}goToLastPage(){var u,e;(e=(u=this.sgb)==null?void 0:u.paginationService)==null||e.goToLastPage()}handleOnGridStateChanged(u){if(u!=null&&u.detail){const e=u.detail;console.log("Grid State changed:: ",e.change)}}saveCurrentGridState(){var u;console.log("GraphQL current grid state",(u=this.sgb)==null?void 0:u.gridStateService.getCurrentGridState())}setFiltersDynamically(){const u=new Date().getFullYear(),e=`${u}-01-01`,a=`${u}-02-15`;this.sgb.filterService.updateFilters([{columnId:"gender",searchTerms:["female"],operator:T.equal},{columnId:"name",searchTerms:["Jane"],operator:T.startsWith},{columnId:"company",searchTerms:["acme"],operator:"IN"},{columnId:"billingAddressZip",searchTerms:["11"],operator:T.greaterThanOrEqual},{columnId:"finish",searchTerms:[e,a],operator:T.rangeInclusive}])}setSortingDynamically(){this.sgb.sortService.updateSorting([{columnId:"billingAddressZip",direction:"DESC"},{columnId:"company",direction:"ASC"}])}resetToOriginalPresets(){var i,t;const u=new Date().getFullYear(),e=`${u}-01-01`,a=`${u}-02-15`;(i=this.sgb)==null||i.filterService.updateFilters([{columnId:"gender",searchTerms:["male"],operator:T.equal},{columnId:"name",searchTerms:["Joh*oe"],operator:T.startsWithEndsWith},{columnId:"company",searchTerms:["xyz"],operator:"IN"},{columnId:"finish",searchTerms:[e,a],operator:T.rangeInclusive}]),(t=this.sgb)==null||t.sortService.updateSorting([{columnId:"name",direction:"asc"},{columnId:"company",direction:a0.DESC}]),setTimeout(()=>{var r,o,s,l;(o=(r=this.sgb)==null?void 0:r.paginationService)==null||o.changeItemPerPage(20),(l=(s=this.sgb)==null?void 0:s.paginationService)==null||l.goToPageNumber(2)})}setIsWithCursor(u){this.isWithCursor=u,this.resetOptions({useCursor:this.isWithCursor})}async switchLanguage(){const u=this.selectedLanguage==="en"?"fr":"en";await this.translateService.use(u),this.selectedLanguage=u,this.selectedLanguageFile=`${this.selectedLanguage}.json`}toggleDarkMode(){var u;this._darkMode=!this._darkMode,this.toggleBodyBackground(),this.sgb.gridOptions={...this.sgb.gridOptions,darkMode:this._darkMode},(u=this.sgb.slickGrid)==null||u.setOptions({darkMode:this._darkMode})}toggleBodyBackground(){var u,e;this._darkMode?(document.body.setAttribute("data-theme","dark"),(u=document.querySelector(".demo-container"))==null||u.classList.add("dark-mode")):(document.body.setAttribute("data-theme","light"),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode"))}resetOptions(u){var a,i,t;this.displaySpinner(!0);const e=this.gridOptions.backendServiceApi.service;(a=this.sgb)==null||a.paginationService.setCursorBased(u.useCursor),e.updateOptions(u),this.gridOptions={...this.gridOptions},(t=(i=this.sgb)==null?void 0:i.paginationService)==null||t.goToFirstPage()}}const et=["title","data-slick-tooltip"],ea="[title], [data-slick-tooltip]",LC="slick-custom-tooltip";class ma{constructor(){this.name="CustomTooltip",this._cellType="slick-cell",this._rxjs=null,this._sharedService=null,this._mousePosition={x:0,y:0},this._hasMultipleTooltips=!1,this._defaultOptions={bodyClassName:"tooltip-body",className:"",offsetArrow:3,offsetLeft:0,offsetRight:0,offsetTopBottom:4,hideArrow:!1,regularTooltipWhiteSpace:"pre-line",whiteSpace:"normal"},this._eventHandler=new Su}get addonOptions(){return this._addonOptions}get cancellablePromise(){return this._cancellablePromise}get cellAddonOptions(){return this._cellAddonOptions}get bodyClassName(){var u;return((u=this._cellAddonOptions)==null?void 0:u.bodyClassName)??"tooltip-body"}get className(){var e;let u=LC;return(e=this._addonOptions)!=null&&e.className&&(u+=` ${this._addonOptions.className}`),u}get dataView(){return this._grid.getData()||{}}get gridOptions(){var u;return((u=this._grid)==null?void 0:u.getOptions())||{}}get gridUid(){var u;return((u=this._grid)==null?void 0:u.getUID())||""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get tooltipElm(){return this._tooltipElm}addRxJsResource(u){this._rxjs=u}init(u,e){var a,i;this._grid=u,this._rxjs=e.get("RxJsFacade"),this._sharedService=e.get("SharedService"),this._addonOptions={...this._defaultOptions,...(i=(a=this._sharedService)==null?void 0:a.gridOptions)==null?void 0:i.customTooltip},this._eventHandler.subscribe(u.onMouseEnter,this.handleOnMouseOver.bind(this)).subscribe(u.onHeaderMouseOver,(t,r)=>this.handleOnHeaderMouseOverByType(t,r,"slick-header-column")).subscribe(u.onHeaderRowMouseEnter,(t,r)=>this.handleOnHeaderMouseOverByType(t,r,"slick-headerrow-column")).subscribe(u.onHeaderRowMouseOver,(t,r)=>this.handleOnHeaderMouseOverByType(t,r,"slick-headerrow-column")).subscribe(u.onMouseLeave,this.hideTooltip.bind(this)).subscribe(u.onHeaderMouseOut,this.hideTooltip.bind(this)).subscribe(u.onHeaderRowMouseLeave,this.hideTooltip.bind(this)).subscribe(u.onHeaderRowMouseOut,this.hideTooltip.bind(this))}dispose(){this.hideTooltip(),this._cancellablePromise=void 0,this._eventHandler.unsubscribeAll()}hideTooltip(){var a,i;(a=this._cancellablePromise)==null||a.cancel(),(i=this._observable$)==null||i.unsubscribe();const u=_u(this.className).join("."),e=document.body.querySelector(`.${u}${this.gridUidSelector}`);e==null||e.remove()}getOptions(){return this._addonOptions}setOptions(u){this._addonOptions={...this._addonOptions,...u}}asyncProcessCallback(u,e,a,i,t){var o,s;this.hideTooltip();const r={...t,[((o=this.addonOptions)==null?void 0:o.asyncParamsPropName)??"__params"]:u};(s=this._cellAddonOptions)!=null&&s.useRegularTooltip?this.renderRegularTooltip(this._cellAddonOptions.asyncPostFormatter,e,a,i,r):this.renderTooltipFormatter(this._cellAddonOptions.asyncPostFormatter,e,a,i,r)}handleOnHeaderMouseOverByType(u,e,a){var s,l,E,d;this._cellType=a,this._mousePosition={x:u.clientX||0,y:u.clientY||0},this._mouseTarget=(s=document.elementFromPoint(u.clientX||0,u.clientY||0))==null?void 0:s.closest(ea),this.hideTooltip();const i={row:-1,cell:this._grid.getColumns().findIndex(c=>{var D;return(((D=e==null?void 0:e.column)==null?void 0:D.id)??"")===c.id})},t=e.column,r={},o=a==="slick-headerrow-column";if(e||(e={}),e.cell=i.cell,e.row=i.row,e.columnDef=t,e.dataContext=r,e.grid=this._grid,e.type=o?"header-row":"header",this._cellAddonOptions={...this._addonOptions,...t==null?void 0:t.customTooltip},!(t!=null&&t.disableTooltip||typeof((l=this._cellAddonOptions)==null?void 0:l.usabilityOverride)=="function"&&!this._cellAddonOptions.usabilityOverride(e))&&t&&u.target){this._cellNodeElm=u.target.closest(`.${a}`);const c=o?this._cellAddonOptions.headerRowFormatter:this._cellAddonOptions.headerFormatter;if((E=this._cellAddonOptions)!=null&&E.useRegularTooltip||!c){const D=o?(d=this._cellAddonOptions)!=null&&d.useRegularTooltip?null:c:t.name;this.renderRegularTooltip(D,i,null,t,r)}else this._cellNodeElm&&typeof c=="function"&&this.renderTooltipFormatter(c,i,null,t,r)}}async handleOnMouseOver(u){var e,a,i,t,r,o,s,l,E;if(this._cellType="slick-cell",this._mousePosition={x:u.clientX||0,y:u.clientY||0},this._mouseTarget=(e=document.elementFromPoint(u.clientX||0,u.clientY||0))==null?void 0:e.closest(ea),this.hideTooltip(),u&&this._grid){const d=(i=(a=u==null?void 0:u.target)==null?void 0:a.closest(".slick-cell"))==null?void 0:i.className,c=d&&/l\d+/.exec(d||"")?this._grid.getCellFromEvent(u):null;if(c){const D=this.dataView?this.dataView.getItem(c.row):this._grid.getDataItem(c.row),m=this._grid.getColumns()[c.cell];if(this._cellNodeElm=this._grid.getCellNode(c.row,c.cell),D&&m){if(this._cellAddonOptions={...this._addonOptions,...m==null?void 0:m.customTooltip},m!=null&&m.disableTooltip||typeof((t=this._cellAddonOptions)==null?void 0:t.usabilityOverride)=="function"&&!this._cellAddonOptions.usabilityOverride({cell:c.cell,row:c.row,dataContext:D,column:m,grid:this._grid,type:"cell"}))return;const h=D.hasOwnProperty(m.field)?D[m.field]:null,g=this._grid.getEditorLock().isActive()?null:h;if(this._cellAddonOptions.useRegularTooltip&&!((r=this._cellAddonOptions)!=null&&r.asyncProcess)||!((o=this._cellAddonOptions)!=null&&o.formatter))this.renderRegularTooltip(m.formatter,c,g,m,D);else if(typeof((s=this._cellAddonOptions)==null?void 0:s.formatter)=="function"&&this.renderTooltipFormatter(this._cellAddonOptions.formatter,c,g,m,D),typeof((l=this._cellAddonOptions)==null?void 0:l.asyncProcess)=="function"){const x=this._cellAddonOptions.asyncProcess(c.row,c.cell,h,m,D,this._grid);if(this._cellAddonOptions.asyncPostFormatter||console.error('[Slickgrid-Universal] when using "asyncProcess" with Custom Tooltip, you must also provide an "asyncPostFormatter" formatter.'),x instanceof Promise)this._cancellablePromise=Nl(x),this._cancellablePromise.promise.then(p=>this.asyncProcessCallback(p,c,h,m,D)).catch(p=>{p instanceof Bi||console.error(p)});else if((E=this._rxjs)!=null&&E.isObservable(x)){const p=this._rxjs;this._observable$=x.pipe(p.switchMap(F=>p.of(F))).subscribe(F=>this.asyncProcessCallback(F,c,h,m,D),F=>console.error(F))}}}}}}parseFormatterAndSanitize(u,e,a,i,t){if(typeof u=="function"){const r=u(e.row,e.cell,a,i,t,this._grid),o=ca(r)?r:r.html||r.text;return this._grid.sanitizeHtmlString((o instanceof HTMLElement?o.textContent:o)||"")}else if(typeof u=="string")return this._grid.sanitizeHtmlString(u);return""}renderRegularTooltip(u,e,a,i,t){var E,d,c,D,m,h,g,x;const r=document.createElement("div");this._grid.applyHtmlCode(r,this.parseFormatterAndSanitize(u,e,a,i,t)),this._hasMultipleTooltips=(((E=this._cellNodeElm)==null?void 0:E.querySelectorAll(ea).length)||0)>1;let o;const s=(d=this._cellAddonOptions)!=null&&d.useRegularTooltipFromCellTextOnly||!this._mouseTarget?this._cellNodeElm:this._mouseTarget;let l=(i==null?void 0:i.toolTip)??"";l||(this._cellType==="slick-cell"&&s&&s.clientWidth((h=this._cellAddonOptions)==null?void 0:h.tooltipTextMaxLength)&&(l=l.substring(0,this._cellAddonOptions.tooltipTextMaxLength-3)+"..."),o=s):((g=this._cellAddonOptions)!=null&&g.useRegularTooltipFromFormatterOnly?o=r.querySelector(ea):(o=li(s,et)?s:r.querySelector(ea),(!o||!li(o,et))&&s&&(o=s.querySelector(ea))),(o==null?void 0:o.style.display)==="none"||this._hasMultipleTooltips&&(!s||s===this._cellNodeElm)?l="":(!l||typeof u=="function"&&((x=this._cellAddonOptions)!=null&&x.useRegularTooltipFromFormatterOnly))&&(l=li(o,et)||""))),l!==""&&this.renderTooltipFormatter(u,e,a,i,t,l,o),this.swapAndClearTitleAttribute(o,l)}renderTooltipFormatter(u,e,a,i,t,r,o){var E,d,c,D,m,h,g,x,p;if(this._tooltipElm=A("div",{className:this.className}),this._tooltipBodyElm=A("div",{className:this.bodyClassName}),this._tooltipElm.classList.add(this.gridUid),this._tooltipElm.classList.add("l"+e.cell),this._tooltipElm.classList.add("r"+e.cell),(E=this.tooltipElm)==null||E.appendChild(this._tooltipBodyElm),a==null){const F=(d=this._cellNodeElm)==null?void 0:d.querySelector(ea);a=li(F,et)||a}let s=r||this.parseFormatterAndSanitize(u,e,a,i,t)||"";s=(c=this._cellAddonOptions)!=null&&c.tooltipTextMaxLength&&s.length>this._cellAddonOptions.tooltipTextMaxLength?s.substring(0,this._cellAddonOptions.tooltipTextMaxLength-3)+"...":s;let l="";!r||(D=this._cellAddonOptions)!=null&&D.renderRegularTooltipAsHtml?(l=this._grid.sanitizeHtmlString(s),this._grid.applyHtmlCode(this._tooltipBodyElm,l),this._tooltipBodyElm.style.whiteSpace=((m=this._cellAddonOptions)==null?void 0:m.whiteSpace)??this._defaultOptions.whiteSpace):(l=s||"",this._tooltipBodyElm.textContent=l,this._tooltipBodyElm.style.whiteSpace=((h=this._cellAddonOptions)==null?void 0:h.regularTooltipWhiteSpace)??this._defaultOptions.regularTooltipWhiteSpace),(g=this._cellAddonOptions)!=null&&g.maxHeight&&(this._tooltipElm.style.maxHeight=`${this._cellAddonOptions.maxHeight}px`),(x=this._cellAddonOptions)!=null&&x.maxWidth&&(this._tooltipElm.style.maxWidth=`${this._cellAddonOptions.maxWidth}px`),l.toString()&&(document.body.appendChild(this._tooltipElm),this.reposition(e),(p=this._cellAddonOptions)!=null&&p.hideArrow||this._tooltipElm.classList.add("tooltip-arrow"),this.swapAndClearTitleAttribute(o,s))}reposition(u){var e,a,i,t,r,o,s,l,E,d;if(this._tooltipElm){this._cellNodeElm=this._cellNodeElm||this._grid.getCellNode(u.row,u.cell);const c=Ou(this._cellNodeElm)||{top:0,left:0},D=this._cellNodeElm.offsetWidth,m=this._tooltipElm.getBoundingClientRect().height,h=this._tooltipElm.getBoundingClientRect().width,g=document.body.offsetWidth||window.innerWidth;let x=(c.top||0)-this._tooltipElm.offsetHeight-(((e=this._cellAddonOptions)==null?void 0:e.offsetTopBottom)??0),p=(c.left||0)-(((a=this._cellAddonOptions)==null?void 0:a.offsetRight)??0);const F=((i=this._cellAddonOptions)==null?void 0:i.position)??"auto";let v="";if(F==="center"?(p+=D/2-h/2+(((t=this._cellAddonOptions)==null?void 0:t.offsetRight)??0),v="top-center",this._tooltipElm.classList.remove("arrow-left-align","arrow-right-align"),this._tooltipElm.classList.add("arrow-center-align")):F==="right-align"||(F==="auto"||F!=="left-align")&&p+h>g?(v="right",p-=h-D-(((r=this._cellAddonOptions)==null?void 0:r.offsetLeft)??0),this._tooltipElm.classList.remove("arrow-center-align","arrow-left-align"),this._tooltipElm.classList.add("arrow-right-align")):(v="left",this._tooltipElm.classList.remove("arrow-center-align","arrow-right-align"),this._tooltipElm.classList.add("arrow-left-align")),F==="bottom"||(F==="auto"||F!=="top")&&m>zi(this._cellNodeElm).top?(x=(c.top||0)+(this.gridOptions.rowHeight??0)+(((o=this._cellAddonOptions)==null?void 0:o.offsetTopBottom)??0),v=`bottom-${v}`,this._tooltipElm.classList.remove("arrow-down"),this._tooltipElm.classList.add("arrow-up")):(v=`top-${v}`,this._tooltipElm.classList.remove("arrow-up"),this._tooltipElm.classList.add("arrow-down")),this._tooltipElm&&(this._hasMultipleTooltips||(s=this.cellAddonOptions)!=null&&s.repositionByMouseOverTarget)){const b=Ou(this._mouseTarget);v.includes("left")||v==="top-center"?p=b.left-(((l=this._addonOptions)==null?void 0:l.offsetArrow)??3):v.includes("right")&&(p=b.left-h+(((E=this._mouseTarget)==null?void 0:E.offsetWidth)??0)+(((d=this._addonOptions)==null?void 0:d.offsetArrow)??3))}this._tooltipElm.style.top=`${x}px`,this._tooltipElm.style.left=`${p}px`}}swapAndClearTitleAttribute(u,e){var t,r;let a;u&&(a=this._cellNodeElm&&(this._cellNodeElm.hasAttribute("title")&&this._cellNodeElm.getAttribute("title")?this._cellNodeElm:(t=this._cellNodeElm)==null?void 0:t.querySelector("[title]")));const i=u||this._cellNodeElm&&(this._cellNodeElm.hasAttribute("title")&&this._cellNodeElm.getAttribute("title")?this._cellNodeElm:(r=this._cellNodeElm)==null?void 0:r.querySelector("[title]"));i&&(i.setAttribute("data-slick-tooltip",e||""),i.hasAttribute("title")&&i.setAttribute("title",""),a!=null&&a.hasAttribute("title")&&a.setAttribute("title",""))}}class RC{constructor(){k(this,"_bindingEventService");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"sgb");k(this,"gridContainerElm");k(this,"remoteCallbackFn");k(this,"selectedIds",[]);this._bindingEventService=new pu}attached(){this.openBulmaModal(this.handleOnModalClose.bind(this)),this.initializeGrid()}bind(u){if(u){if(u.columnDefinitions){this.columnDefinitions=u.columnDefinitions,this.gridContainerElm=document.querySelector(".modal-grid"),this._bindingEventService.bind(this.gridContainerElm,"onvalidationerror",this.handleValidationError.bind(this));const e=[this.createEmptyItem(u.columnDefinitions)];this.sgb=new Bu.GridBundle(this.gridContainerElm,this.columnDefinitions,{...Lu,...this.gridOptions},e),setTimeout(()=>{var a;return(a=this.sgb.slickGrid)==null?void 0:a.gotoCell(0,0,!0)},50)}this.remoteCallbackFn=u.remoteCallback,this.selectedIds=u.selectedIds||[]}}dispose(){var u;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll(),this.gridContainerElm=null}initializeGrid(){this.gridOptions={autoEdit:!0,autoCommitEdit:!0,editable:!0,enableCellNavigation:!0,enableGridMenu:!1,gridHeight:200,gridWidth:1160,rowHeight:33}}createEmptyItem(u){const e={id:0};return u.forEach(a=>{e[a.id]=void 0}),e}handleValidationError(u){console.log("handleValidationError",u.detail);const e=u.detail&&u.detail.args;return e.validationResults&&alert(e.validationResults.msg),!1}handleOnModalClose(){var u;(u=this.sgb)==null||u.dispose(),this.gridContainerElm&&(this.gridContainerElm.textContent=""),this.closeBulmaModal()}autoAddCustomEditorFormatter(u,e){if(Array.isArray(u)){for(const a of u)if(a.editor)if(a.formatter&&a.formatter!==P.multiple){const i=a.formatter;a.formatter=P.multiple,a.params={...a.params,formatters:[i,e]}}else a.formatter&&a.formatter===P.multiple?(a.params||(a.params={}),a.params.formatters=[...a.params.formatters,e]):a.formatter=e}}saveMassUpdate(u){var a;this.handleOnModalClose();const e=(a=this.sgb.dataView)==null?void 0:a.getItemByIdx(0);if(typeof this.remoteCallbackFn=="function"){for(const i in e)(e[i]===void 0||i==="id")&&delete e[i];this.remoteCallbackFn({item:e,selectedIds:this.selectedIds,updateType:u})}}openBulmaModal(u){document.querySelector(".modal").classList.add("is-active"),this.bindCloseBulmaModal(u)}bindCloseBulmaModal(u){const e=document.querySelectorAll(".close, .delete, .modal-close");window.addEventListener("click",a=>{a.target.className==="modal-background"&&this.closeBulmaModal(u)}),e&&e.forEach(a=>a.addEventListener("click",()=>this.closeBulmaModal(u)))}closeBulmaModal(u){document.querySelector(".modal").classList.remove("is-active"),typeof u=="function"&&u()}}const co=`[
{"name": "Afghanistan", "code": "AF"},
{"name": "Åland Islands", "code": "AX"},
{"name": "Albania", "code": "AL"},
@@ -2282,7 +2282,7 @@ ${i}`}}generateFiles(){return new Promise(u=>{const e={};this._generateCorePaths
${u.itemNameTranslated}
Type: ${u.itemTypeName==="I"?"Item":u.itemTypeName==="C"?"PdCat":"Cat"}
-
`}}function I4(n,u,e){let a;e={...{modalType:"edit",validationFailedMsg:"Some of the fields have failed validation",validationMsgPrefix:null,show:null,hide:null,position:null,destroy:null,formValues:{},editors:{}},...e};const t=()=>{},r=s=>{const l=u[s],E=Ou(l),d=(l==null?void 0:l.clientWidth)??0,c=(l==null?void 0:l.clientHeight)??0;return{top:(E==null?void 0:E.top)??0,left:(E==null?void 0:E.left)??0,bottom:((E==null?void 0:E.top)??0)+c,right:((E==null?void 0:E.left)??0)+d,width:d,height:c,visible:!0}};function o(s){const l=this;let E=[];function d(){let c={},D=0;for(;D{Array.isArray(E)&&E.length>0&&typeof E[0].focus=="function"&&E[0].focus()},0)}l.getEditors=()=>E,l.destroy=()=>{var m;let c=E.pop();for(;c;)c==null||c.destroy(),c=E.pop();let D=u.pop();for(;D;)Au(D),D==null||D.remove(),D=u.pop();(m=e==null?void 0:e.destroy)==null||m.call(e),E=[],u=null},l.focus=()=>{(a||E[0]).focus()},l.isValueChanged=()=>{let c=0;for(;c{const c=[];let D=0;for(;D{let m=0;for(;m{let D=0;for(;D{var g;let D;a=null;const m=[];let h=0;for(;h{var D,m,h;let c=0;for(;c{var D,m,h;let c=0;for(;c{var D;(D=e==null?void 0:e.position)==null||D.call(e,c)},d()}return o.prototype=this,o}const vl=n=>console.log(n.message);class br{get eventHandler(){return this._eventHandler}get dataView(){var u;return(u=this.grid)==null?void 0:u.getData()}get dataViewLength(){return this.dataView.getLength()}get formValues(){return this._formValues}get editors(){return this._editors}set editors(u){this._editors=u}get gridOptions(){var u;return(u=this.grid)==null?void 0:u.getOptions()}constructor(){this._columnDefinitions=[],this._lastActiveRowNumber=-1,this._formValues=null,this.gridService=null,this._eventHandler=new Su,this._bindEventService=new pu}init(u,e){var a;if(this.grid=u,this.gridService=e.get("GridService"),this.translaterService=e.get("TranslaterService"),!this.gridService)throw new Error("[Slickgrid-Universal] it seems that the GridService is not being loaded properly, make sure the Container Service is properly implemented.");if(this.gridOptions.enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');this._locales=((a=this.gridOptions)==null?void 0:a.locales)??_.locales}dispose(){this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),this._formValues=null,this.disposeComponent()}disposeComponent(){var u,e,a;(u=this._modalBodyTopValidationElm)==null||u.remove(),(e=this._modalSaveButtonElm)==null||e.remove(),typeof((a=this._modalElm)==null?void 0:a.remove)=="function"&&(this._modalElm.remove(),document.body.classList.remove("slick-modal-open")),this._editorContainers=[]}changeFormInputValue(u,e,a=!1,i=!0){var E,d,c,D,m,h;const t=this.getColumnByObjectOrId(u),r=typeof u=="string"?u:(t==null?void 0:t.id)??"",o=(E=this._editors)==null?void 0:E[r];let s=e;if(!o&&!a)throw new Error(`Composite Editor with column id "${r}" not found.`);if(typeof(o==null?void 0:o.setValue)=="function"&&Array.isArray(this._editorContainers)){o.setValue(e,!0,i);const g=this._editorContainers.find(p=>p.dataset.editorid===r),x=((c=(d=this.gridOptions)==null?void 0:d.compositeEditorOptions)==null?void 0:c.excludeDisabledFieldFormValues)??!1;!o.disabled||o.disabled&&!x?(D=g==null?void 0:g.classList)==null||D.add("modified"):(s="",(m=g==null?void 0:g.classList)==null||m.remove("modified")),o.disabled&&(s!==""||s!==null||s!==void 0||s!==0)&&(s="")}const l=(t==null?void 0:t.field)??"";if(t&&(l!=null&&l.includes("."))){const g=((h=t.editor)==null?void 0:h.complexObjectPath)??l??"";B0(this._formValues??{},g,e)}else this._formValues={...this._formValues,[r]:s}}changeFormValue(u,e){var r;const a=this.getColumnByObjectOrId(u),i=typeof u=="string"?u:(a==null?void 0:a.id)??"",t=(a==null?void 0:a.field)??u;if(t!=null&&t.includes(".")){const o=((r=a==null?void 0:a.editor)==null?void 0:r.complexObjectPath)??t??"";B0(this._formValues,o,e)}else this._formValues={...this._formValues,[i]:e};this._formValues=da({},this._itemDataContext,this._formValues)}changeFormEditorOption(u,e,a){var t;const i=(t=this._editors)==null?void 0:t[u];if(i!=null&&i.changeEditorOption)i.changeEditorOption(e,a);else throw new Error(`Editor with column id "${u}" not found OR the Editor does not support "changeEditorOption" (current only available with AutoComplete, Date, MultipleSelect & SingleSelect Editors).`)}disableFormInput(u,e=!0){var i;const a=(i=this._editors)==null?void 0:i[u];a!=null&&a.disable&&Array.isArray(this._editorContainers)&&a.disable(e)}openDetails(u){var i,t,r,o,s,l,E,d,c;const e=u.onError??vl,a={backdrop:"static",showCloseButtonOutside:!0,shouldClearRowSelectionAfterMassAction:!0,viewColumnLayout:"auto",modalType:"edit"};try{if(!this.grid||this.grid.getEditorLock().isActive()&&!this.grid.getEditorLock().commitCurrentEdit())return null;this._formValues=null,this._options={...a,...this.gridOptions.compositeEditorOptions,...u,labels:{...(i=this.gridOptions.compositeEditorOptions)==null?void 0:i.labels,...u==null?void 0:u.labels}},this._options.backdrop=u.backdrop!==void 0?u.backdrop:"static";const D=this._options.viewColumnLayout||1,m=this.grid.getActiveCell(),h=(m==null?void 0:m.cell)??0,g=(m==null?void 0:m.row)??0,x=this.grid.getUID()||"";let p=u.headerTitle||"";typeof this._options.onBeforeOpen=="function"&&this._options.onBeforeOpen(),this.hasRowSelectionEnabled()&&this._options.modalType==="auto-mass"&&this.grid.getSelectedRows&&((this.grid.getSelectedRows()||[]).length>0?(this._options.modalType="mass-selection",u!=null&&u.headerTitleMassSelection&&(p=u==null?void 0:u.headerTitleMassSelection)):(this._options.modalType="mass-update",u!=null&&u.headerTitleMassUpdate&&(p=u==null?void 0:u.headerTitleMassUpdate)));const F=this._options.modalType||"edit";if(this.gridOptions.editable)if(this.gridOptions.enableCellNavigation){if(!this.gridOptions.enableAddRow&&(F==="clone"||F==="create"))return e({type:"error",code:"ENABLE_ADD_ROW_REQUIRED",message:'Composite Editor requires the flag "enableAddRow" to be set to True in your Grid Options when cloning/creating a new item.'}),null;if(!m&&(F==="clone"||F==="edit"))return e({type:"warning",code:"NO_RECORD_FOUND",message:"No records selected for edit or clone operation."}),null;{const v=F==="mass-update"||F==="mass-selection",b=v?{}:this.grid.getDataItem(g);this._originalDataContext=Mu(!0,{},b),this._columnDefinitions=this.grid.getColumns();const B=this.hasRowSelectionEnabled()?this.grid.getSelectedRows():[],S=((t=this.dataView)==null?void 0:t.getItemCount())??0;this._lastActiveRowNumber=g;const y=this.dataView.getAllSelectedIds(),w=F==="create"?this.dataViewLength:g;if(!this.focusOnFirstColumnCellWithEditor(this._columnDefinitions,b,h,w,v))return null;if(F==="edit"&&!b)return e({type:"warning",code:"ROW_NOT_EDITABLE",message:"Current row is not editable."}),null;if(F==="mass-selection"&&B.length<1)return e({type:"warning",code:"ROW_SELECTION_REQUIRED",message:"You must select some rows before trying to apply new value(s)."}),null;let j=[];v?j=this._columnDefinitions.filter(iu=>{var fu;return iu.editorClass&&((fu=iu.editor)==null?void 0:fu.massUpdate)===!0}):j=this._columnDefinitions.filter(iu=>iu.editorClass),j.some(iu=>{var fu;return((fu=iu.editor)==null?void 0:fu.compositeEditorFormOrder)!==void 0})&&j.sort((iu,fu)=>{var W0,J;const h0=((W0=iu==null?void 0:iu.editor)==null?void 0:W0.compositeEditorFormOrder)??1/0,X0=((J=fu==null?void 0:fu.editor)==null?void 0:J.compositeEditorFormOrder)??1/0;return u1(h0,X0,Pu.asc)});const G=p.replace(/\{\{(.*?)\}\}/g,(iu,fu)=>Qu(b,fu)),L=D==="auto"?this.autoCalculateLayoutColumnCount(j.length):D;this._modalElm=A("div",{className:`slick-editor-modal ${x}`});const Y=A("div",{className:"slick-editor-modal-content"});if((r=this.gridOptions)!=null&&r.darkMode&&Y.classList.add("slick-dark-mode"),!isNaN(D)&&+D>1||D==="auto"&&L>1){const iu=L===2?"split-view":"triple-split-view";Y.classList.add(iu)}const Eu=A("div",{className:"slick-editor-modal-title"});this.grid.applyHtmlCode(Eu,G);const Cu=A("button",{type:"button",ariaLabel:"Close",textContent:"×",className:"close",dataset:{action:"close"}});this._options.showCloseButtonOutside&&((o=Eu==null?void 0:Eu.classList)==null||o.add("outside"),(s=Cu==null?void 0:Cu.classList)==null||s.add("outside"));const hu=A("div",{ariaLabel:"Close",className:"slick-editor-modal-header"});hu.appendChild(Eu),hu.appendChild(Cu);const du=A("div",{className:"slick-editor-modal-body"});this._modalBodyTopValidationElm=A("div",{className:"validation-summary",style:{display:"none"}},du);const Ju=A("div",{className:"slick-editor-modal-footer"}),o0=A("button",{type:"button",ariaLabel:this.getLabelText("cancelButton","TEXT_CANCEL","Cancel"),className:"btn btn-cancel btn-default btn-sm",textContent:this.getLabelText("cancelButton","TEXT_CANCEL","Cancel"),dataset:{action:"cancel"}});let Q="",yu="";switch(F){case"clone":yu=this.getLabelText("cloneButton","TEXT_CLONE","Clone");break;case"mass-update":const iu=this.getLabelText("massUpdateStatus","TEXT_ALL_X_RECORDS_SELECTED","All {{x}} records selected");Q=this.parseText(iu,{x:S}),yu=this.getLabelText("massUpdateButton","TEXT_APPLY_MASS_UPDATE","Mass Update");break;case"mass-selection":const fu=this.getLabelText("massSelectionStatus","TEXT_X_OF_Y_MASS_SELECTED","{{x}} of {{y}} selected");Q=this.parseText(fu,{x:y.length,y:S}),yu=this.getLabelText("massSelectionButton","TEXT_APPLY_TO_SELECTION","Update Selection");break;default:yu=this.getLabelText("saveButton","TEXT_SAVE","Save")}const cu=A("div",{className:"footer-status-text",textContent:Q});this._modalSaveButtonElm=A("button",{type:"button",className:"btn btn-save btn-primary btn-sm",ariaLabel:yu,textContent:yu,dataset:{action:F==="create"||F==="edit"?"save":F,ariaLabel:yu}});const Tu=A("div",{className:"footer-buttons"});(F==="mass-update"||F==="mass-selection")&&Ju.appendChild(cu),Tu.appendChild(o0),Tu.appendChild(this._modalSaveButtonElm),Ju.appendChild(Tu),Y.appendChild(hu),Y.appendChild(du),Y.appendChild(Ju),this._modalElm.appendChild(Y);for(const iu of j)if(iu.editorClass){const fu=A("div",{className:`item-details-container editor-${iu.id}`});L===1?fu.classList.add("slick-col-medium-12"):fu.classList.add("slick-col-medium-6",`slick-col-xlarge-${12/L}`);const h0=A("div",{className:`item-details-label editor-${iu.id}`});this.grid.applyHtmlCode(h0,this.getColumnLabel(iu)||"n/a");const X0=A("div",{className:"item-details-editor-container slick-cell",dataset:{editorid:`${iu.id}`}}),W0=A("div",{className:`item-details-validation editor-${iu.id}`});if((l=this._options)!=null&&l.showResetButtonOnEachEditor){const J=this.createEditorResetButtonElement(`${iu.id}`);this._bindEventService.bind(J,"click",this.handleResetInputValue.bind(this)),h0.appendChild(J)}fu.appendChild(h0),fu.appendChild(X0),fu.appendChild(W0),du.appendChild(fu)}if((E=this._options)!=null&&E.showFormResetButton){const iu=this.createFormResetButtonElement();this._bindEventService.bind(iu,"click",this.handleResetFormClicked.bind(this)),du.appendChild(iu)}document.body.appendChild(this._modalElm),document.body.classList.add("slick-modal-open"),this._bindEventService.bind(document.body,"click",this.handleBodyClicked.bind(this)),typeof this._options.onRendered=="function"&&this._options.onRendered(this._modalElm),this._editors={},this._editorContainers=j.map(iu=>du.querySelector(`[data-editorid=${iu.id}]`))||[],this._compositeOptions={destroy:this.disposeComponent.bind(this),modalType:F,validationMsgPrefix:"* ",formValues:{},editors:this._editors};const nu=new I4(j,this._editorContainers,this._compositeOptions);this.grid.editActiveCell(nu),this._bindEventService.bind(Cu,"click",this.cancelEditing.bind(this)),this._bindEventService.bind(o0,"click",this.cancelEditing.bind(this)),this._bindEventService.bind(this._modalSaveButtonElm,"click",this.handleSaveClicked.bind(this)),this._bindEventService.bind(this._modalElm,"keydown",this.handleKeyDown.bind(this)),this._bindEventService.bind(this._modalElm,"focusout",this.validateCurrentEditor.bind(this)),this._bindEventService.bind(this._modalElm,"blur",this.validateCurrentEditor.bind(this)),this._eventHandler.subscribe(this.grid.onCompositeEditorChange,this.handleOnCompositeEditorChange.bind(this)),this._eventHandler.subscribe(this.grid.onAddNewRow,(iu,fu)=>{this._originalDataContext=this.insertNewItemInDataView(fu.item)})}}else return e({type:"error",code:"ENABLE_CELL_NAVIGATION_REQUIRED",message:'Composite Editor requires the flag "enableCellNavigation" to be set to True in your Grid Options.'}),null;else return e({type:"error",code:"EDITABLE_GRID_REQUIRED",message:"Your grid must be editable in order to use the Composite Editor Modal."}),null;return this}catch(D){this.dispose();const m=typeof D=="string"?D:(D==null?void 0:D.message)??((d=D==null?void 0:D.body)==null?void 0:d.message)??"",h=typeof D=="string"?D:(D==null?void 0:D.status)??((c=D==null?void 0:D.body)==null?void 0:c.status)??m;return e({type:"error",code:h,message:m}),null}}async cancelEditing(){var e,a,i;let u=!0;this.formValues&&Object.keys(this.formValues).length>0&&typeof this._options.onClose=="function"&&(u=await this._options.onClose()),u&&((e=this.grid.getEditController())==null||e.cancelCurrentEdit(),(((a=this._options)==null?void 0:a.modalType)==="edit"||((i=this._options)==null?void 0:i.modalType)==="clone")&&this.resetCurrentRowDataContext(),this.grid.setActiveRow(this._lastActiveRowNumber),this.dispose())}showValidationSummaryText(u,e=""){var a,i;u&&e!==""?(this._modalBodyTopValidationElm.textContent=e,this._modalBodyTopValidationElm.style.display="block",(i=(a=this._modalBodyTopValidationElm).scrollIntoView)==null||i.call(a),this._modalSaveButtonElm.disabled=!1,this._modalSaveButtonElm.classList.remove("saving")):(this._modalBodyTopValidationElm.style.display="none",this._modalBodyTopValidationElm.textContent=e)}applySaveMassUpdateChanges(u,e,a=!0){const i=a?this.dataView.getItems():Mu(!0,[],this.dataView.getItems());return Object.keys(u).forEach(t=>{t in u&&i.forEach(r=>{var o;t in u&&(((o=this._options)==null?void 0:o.validateMassUpdateChange)===void 0||this._options.validateMassUpdateChange(t,r,u)!==!1)&&(r[t]=u[t])})}),a&&(this.dataView.setItems(i,this.gridOptions.datasetIdPropertyName),this.grid.invalidate()),i}applySaveMassSelectionChanges(u,e,a=!0){var o;const t=((e==null?void 0:e.dataContextIds)??[]).map(s=>this.dataView.getItemById(s)),r=a?t:Mu(!0,[],t);return Object.keys(u).forEach(s=>{s in u&&r.forEach(l=>{var E;s in u&&(((E=this._options)==null?void 0:E.validateMassUpdateChange)===void 0||this._options.validateMassUpdateChange(s,l,u)!==!1)&&(l[s]=u[s])})}),a&&((o=this.gridService)==null||o.updateItems(r)),r}autoCalculateLayoutColumnCount(u){return u>=15?3:u>=8?2:1}createEditorResetButtonElement(u){var a,i,t,r;const e=A("button",{type:"button",name:u,ariaLabel:"Reset",title:((i=(a=this._options)==null?void 0:a.labels)==null?void 0:i.resetFormButton)??"Reset Form Input",className:"btn btn-xs btn-editor-reset"});if((t=this._options)!=null&&t.resetEditorButtonCssClass){const o=_u((r=this._options)==null?void 0:r.resetEditorButtonCssClass);for(const s of o)e.classList.add(s)}return e}createFormResetButtonElement(){var a;const u=A("div",{className:"reset-container"}),e=A("button",{type:"button",className:"btn btn-sm reset-form"},u);return A("span",{className:((a=this._options)==null?void 0:a.resetFormButtonIconCssClass)??""},e),e.appendChild(document.createTextNode(" Reset Form")),u}executeOnError(u){var a;(((a=this._options)==null?void 0:a.onError)??vl)(u)}async executeOnSave(u,e,a,i){var t,r,o,s;try{if(this.showValidationSummaryText(!1,""),this.validateCompositeEditors().valid){if(this._modalSaveButtonElm.classList.add("saving"),this._modalSaveButtonElm.disabled=!0,typeof((t=this._options)==null?void 0:t.onSave)=="function"){const E=this._options.modalType==="mass-update"||this._options.modalType==="mass-selection";let d;E&&((r=this._options)!=null&&r.shouldPreviewMassChangeDataset)&&(d=u(this.formValues,this.getCurrentRowSelections(),!1));const c=E?d:i;await((o=this._options)==null?void 0:o.onSave(this.formValues,this.getCurrentRowSelections(),c))&&(u(this.formValues,this.getCurrentRowSelections()),e())}else u(this.formValues,this.getCurrentRowSelections()),e();typeof a=="function"&&a(),this.dispose()}}catch(l){const E=typeof l=="string"?l:(l==null?void 0:l.message)??((s=l==null?void 0:l.body)==null?void 0:s.message)??"";this.showValidationSummaryText(!0,E)}}focusOnFirstColumnCellWithEditor(u,e,a,i,t){const r=t&&!this.gridOptions.enableAddRow&&i>=this.dataViewLength?this.dataViewLength-1:i;let o=a;const s=u[a].editorClass;let l=this.grid.getCellNode(r,a);if(!s||!l||!this.getActiveCellEditor(r,a)){if(o=this.findNextAvailableEditorColumnIndex(u,e,i,t),o===-1)return this.executeOnError({type:"error",code:"NO_EDITOR_FOUND",message:"We could not find any Editor in your Column Definition"}),!1;this.grid.setActiveCell(r,o,!1),t&&this.grid.setActiveRow(this.dataViewLength,o,!0)}return l=this.grid.getCellNode(r,o),!!l}findNextAvailableEditorColumnIndex(u,e,a,i){var r;let t=-1;for(let o=0;oa.id===u)),e}getActiveCellEditor(u,e){return this.grid.setActiveCell(u,e,!1),this.grid.getCellEditor()}getColumnLabel(u){var r;const e=this.gridOptions.columnGroupSeparator||" - ";let a=u.nameCompositeEditor||u.name||"",i=u.columnGroup||"";if(this.gridOptions.enableTranslate&&this.translaterService){const o=u.nameCompositeEditorKey||u.nameKey;o&&(a=this.translaterService.translate(o)),u.columnGroupKey&&((r=this.translaterService)!=null&&r.translate)&&(i=this.translaterService.translate(u.columnGroupKey))}const t=i?`${i}${e}${a}`:a;return i0(t,"innerHTML")}getLabelText(u,e,a){var t,r,o,s,l;const i={...(t=this.gridOptions.compositeEditorOptions)==null?void 0:t.labels,...(r=this._options)==null?void 0:r.labels};if((o=this.gridOptions)!=null&&o.enableTranslate&&((s=this.translaterService)!=null&&s.translate)&&i.hasOwnProperty(`${u}Key`)){const E=i[`${u}Key`];return this.translaterService.translate(E||"")}return(i==null?void 0:i[u])??((l=this._locales)==null?void 0:l[e])??a}getCurrentRowSelections(){const u=this.dataView.getAllSelectedIds();return{gridRowIndexes:this.dataView.mapIdsToRows(u),dataContextIds:u}}handleBodyClicked(u){var e,a,i;(a=(e=u.target)==null?void 0:e.classList)!=null&&a.contains("slick-editor-modal")&&((i=this._options)==null?void 0:i.backdrop)!=="static"&&this.dispose()}handleKeyDown(u){u.code==="Escape"?(this.cancelEditing(),u.stopPropagation(),u.preventDefault()):u.code==="Tab"&&this.validateCurrentEditor()}handleResetInputValue(u){var i,t;const e=u.target.name,a=(i=this._editors)==null?void 0:i[e];typeof(a==null?void 0:a.reset)=="function"&&a.reset(),(t=this._formValues)==null||delete t[e]}async handleMassSaving(u,e){if(!this.formValues||Object.keys(this.formValues).length===0)this.executeOnError({type:"warning",code:"NO_CHANGES_DETECTED",message:"Sorry we could not detect any changes."});else{const a=u==="mass-update"?"applySaveMassUpdateChanges":"applySaveMassSelectionChanges";this.executeOnSave(this[a].bind(this),e.bind(this))}}handleOnCompositeEditorChange(u,e){var o,s,l,E;const a=((o=e.column)==null?void 0:o.id)??"";this._formValues={...this._formValues,...e.formValues};const i=(s=this._editors)==null?void 0:s[a],t=((l=i==null?void 0:i.isValueTouched)==null?void 0:l.call(i))??((E=i==null?void 0:i.isValueChanged)==null?void 0:E.call(i))??!1;this._itemDataContext=(i==null?void 0:i.dataContext)??{};const r=this._modalElm.querySelector(`[data-editorid=${a}]`);r!=null&&r.classList&&(t?r.classList.add("modified"):r.classList.remove("modified")),this.validateCompositeEditors()}hasRowSelectionEnabled(){const u=this.grid.getSelectionModel();return!!((this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector)&&u)}handleResetFormClicked(){for(const u of Object.keys(this._editors)){const e=this._editors[u];e!=null&&e.reset&&e.reset()}this._formValues=Yl(this._formValues)}async handleSaveClicked(){var e,a,i,t;const u=(e=this._options)==null?void 0:e.modalType;switch(u){case"mass-update":this.handleMassSaving(u,()=>{var l;(l=this.grid.getEditController())==null||l.cancelCurrentEdit(),this.grid.setActiveCell(0,0,!1),this._options.shouldClearRowSelectionAfterMassAction&&this.grid.setSelectedRows([])});break;case"mass-selection":this.handleMassSaving(u,()=>{var l;(l=this.grid.getEditController())==null||l.cancelCurrentEdit(),this.grid.setActiveRow(this._lastActiveRowNumber),this._options.shouldClearRowSelectionAfterMassAction&&this.grid.setSelectedRows([])});break;case"clone":const r={...this._originalDataContext,...this.formValues},o=()=>{var l;(l=this.grid.getEditController())==null||l.cancelCurrentEdit(),this.grid.setActiveCell(0,0,!1)};this.executeOnSave(this.insertNewItemInDataView.bind(this,r),o,this.resetCurrentRowDataContext.bind(this),r);break;case"create":case"edit":default:let s=(a=this.grid.getEditController())==null?void 0:a.commitCurrentEdit();if(s&&typeof((i=this._options)==null?void 0:i.onSave)=="function"){const l=u==="create"?this._originalDataContext:this.grid.getDataItem(this._lastActiveRowNumber);s=await((t=this._options)==null?void 0:t.onSave(this.formValues,this.getCurrentRowSelections(),l))}s&&this.dispose();break}}insertNewItemInDataView(u){var i,t;const e=((i=this.dataView)==null?void 0:i.getItemCount())||0,a=this._options.insertNewId??e+1;return u[this.gridOptions.datasetIdPropertyName||"id"]=a,this.dataView.getItemById(a)?this.executeOnError({type:"error",code:"ITEM_ALREADY_EXIST",message:`The item object which you are trying to add already exist with the same Id:: ${a}`}):(t=this.gridService)==null||t.addItem(u,this._options.insertOptions),u}parseText(u,e){return u.replace(/\{\{(.*?)\}\}/g,(a,i)=>e[i]!==void 0?e[i]:a)}resetCurrentRowDataContext(){const u=this.gridOptions.datasetIdPropertyName||"id";this.grid.getData().updateItem(this._originalDataContext[u],this._originalDataContext)}validateCompositeEditors(u){let e={valid:!0,msg:""};const a=this.grid.getCellEditor();return a&&(e=a.validate(u)),e}validateCurrentEditor(){const u=this.grid.getCellEditor();u!=null&&u.validate&&u.validate()}}const Do=document.createElement("div");Do.appendChild(A("span",{className:"mdi mdi-alert text-color-warning"}));Do.appendChild(A("span",{textContent:"No data to display."}));const IC={autoEdit:!0,autoCommitEdit:!0,autoFixResizeTimeout:5*60*60,autoFixResizeRequiredGoodCount:5*60*60,autoFixResizeWhenBrokenStyleDetected:!0,cellValueCouldBeUndefined:!0,contextMenu:{hideCloseButton:!1},eventNamingStyle:I0.lowerCaseWithoutOnPrefix,compositeEditorOptions:{resetEditorButtonCssClass:"mdi mdi-refresh mdi-15px",resetFormButtonIconCssClass:"mdi mdi-refresh mdi-16px mdi-flip-h",shouldPreviewMassChangeDataset:!0},datasetIdPropertyName:"Id",emptyDataWarning:{message:Do},enableDeepCopyDatasetOnPageLoad:!0,enableTextExport:!0,textExportOptions:{exportWithFormatter:!0,sanitizeDataExport:!0},enableCellNavigation:!0,customTooltip:{tooltipTextMaxLength:650},enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!0,mimeType:"",sanitizeDataExport:!0},filterTypingDebounce:250,formatterOptions:{thousandSeparator:","},frozenHeaderWidthCalcDifferential:2,columnPicker:{hideForceFitButton:!0},gridMenu:{commandLabels:{clearFrozenColumnsCommandKey:"UNFREEZE_COLUMNS"},hideToggleDarkModeCommand:!1,hideTogglePreHeaderCommand:!0,hideRefreshDatasetCommand:!0,hideClearFrozenColumnsCommand:!1,hideForceFitButton:!0},headerMenu:{hideFreezeColumnsCommand:!1,iconSortAscCommand:"mdi mdi-arrow-up",iconSortDescCommand:"mdi mdi-arrow-down"},preventDocumentFragmentUsage:!0,sanitizer:n=>typeof n=="string"?n.replace(/(\b)(on[a-z]+)(\s*)=|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(<)(\/*)(script|script defer)(.*)(>|>">)/gi,""):n,showCustomFooter:!0,customFooterOptions:{hideMetrics:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!0,metricTexts:{itemsSelectedKey:"RECORDS_SELECTED"}},headerRowHeight:35,rowHeight:33,resizeByContentOnlyOnFirstLoad:!1,resizeByContentOptions:{formatterPaddingWidthInPx:8,maxItemToInspectCellContentWidth:500},rowMoveManager:{hideRowMoveShadow:!1},useSalesforceDefaultGridOptions:!0};class GC extends io{constructor(u,e,a,i,t,r){super(u,e,a,i,t,r)}mergeGridOptions(u){var i;const e=u.useSalesforceDefaultGridOptions||(i=this._gridOptions)!=null&&i.useSalesforceDefaultGridOptions?IC:{},a=Mu(!0,{},eo,e,u);return a.enableFiltering&&!a.showHeaderRow&&(a.showHeaderRow=a.enableFiltering),a!=null&&a.pagination&&(u.enablePagination||u.backendServiceApi)&&u.pagination&&Array.isArray(u.pagination.pageSizes)&&(a.pagination.pageSizes=u.pagination.pageSizes),!a.enableFiltering&&a.enablePagination&&this._isLocalGrid&&(a.enableFiltering=!0,a.showHeaderRow=!1,this._hideHeaderRowAfterPageLoad=!0,this.sharedService&&(this.sharedService.hideHeaderRowAfterPageLoad=!0)),a}registerResources(){if(this.gridOptions.enableTextExport&&this._registeredResources.push(new $a),this.gridOptions.enableTextExport&&this._registeredResources.push(new y0),this._registeredResources.push(new ma),Array.isArray(this._registeredResources)&&(this.sharedService.externalRegisteredResources=this._registeredResources),this._registeredResources.push(this.gridService,this.gridStateService),(this.gridOptions.createPreHeaderPanel&&this.gridOptions.createTopHeaderPanel||this.gridOptions.createPreHeaderPanel&&!this.gridOptions.enableDraggableGrouping)&&this._registeredResources.push(this.groupingService),this.gridOptions.enableTreeData&&this._registeredResources.push(this.treeDataService),this.gridOptions.enableTranslate&&this.extensionService.translateColumnHeaders(),this.slickEmptyWarning=new ao,this._registeredResources.push(this.slickEmptyWarning),this.gridOptions.enableCompositeEditor&&(this._registeredResources.some(u=>u instanceof br)||(this.slickCompositeEditor=new br,this._registeredResources.push(this.slickCompositeEditor))),Array.isArray(this._registeredResources))for(const u of this._registeredResources)this.slickGrid&&typeof u.init=="function"&&u.init(this.slickGrid,this.universalContainerService)}}const G4={GridBundle:GC,Aggregators:vu,BindingService:fi,Editors:$,Enums:wr,Filters:H,Formatters:P,GroupTotalFormatters:su,SlickGlobalEditorLock:Z0,SortComparers:T0,Utilities:tn};typeof window<"u"&&(window.Slicker=G4);const VC=(n,u)=>(n==null||!n.length)&&(u.compositeEditorOptions&&u.compositeEditorOptions.modalType==="create"||u.compositeEditorOptions.modalType==="edit")?{valid:!1,msg:"This is a required field."}:/^(task\s\d+)*$/i.test(n)?{valid:!0,msg:""}:{valid:!1,msg:'Your title is invalid, it must start with "Task" followed by a number.'};function V4(n,u,e){const a=e.getOptions(),i=u.editor;let r=a.editable&&i;if(n&&u&&(a!=null&&a.editable))switch(u.id){case"finish":r=!!(n!=null&&n.completed);break}return r}const $C=(n,u,e,a,i,t)=>{const r=V4(i,a,t);e=e??"";const o=document.createElement("div");return o.className="editing-field",e instanceof HTMLElement?o.appendChild(e):o.textContent=e,r?o:e};class JC{constructor(){k(this,"_bindingEventService");k(this,"_darkMode",!1);k(this,"compositeEditorInstance");k(this,"columnDefinitions");k(this,"gridOptions");k(this,"dataset",[]);k(this,"isGridEditable",!0);k(this,"editQueue",[]);k(this,"editedItems",{});k(this,"isCompositeDisabled",!1);k(this,"isMassSelectionDisabled",!0);k(this,"gridContainerElm");k(this,"cellCssStyleQueue",[]);k(this,"complexityLevelList",[{value:0,label:"Very Simple"},{value:1,label:"Simple"},{value:2,label:"Straightforward"},{value:3,label:"Complex"},{value:4,label:"Very Complex"}]);k(this,"sgb");this.compositeEditorInstance=new br,this._bindingEventService=new pu}get slickerGridInstance(){var u;return(u=this.sgb)==null?void 0:u.instances}attached(){this.initializeGrid(),this.dataset=this.loadData(500),this.gridContainerElm=document.querySelector(".grid12"),this.sgb=new G4.GridBundle(this.gridContainerElm,this.columnDefinitions,{...Lu,...this.gridOptions}),this.sgb.dataset=this.dataset,this._bindingEventService.bind(this.gridContainerElm,"onvalidationerror",this.handleValidationError.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"onitemdeleted",this.handleItemDeleted.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"onbeforeeditcell",this.handleOnBeforeEditCell.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"oncellchange",this.handleOnCellChange.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"onclick",this.handleOnCellClicked.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"ongridstatechanged",this.handleOnGridStateChanged.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"ondblclick",()=>this.openCompositeModal("edit",50)),this._bindingEventService.bind(this.gridContainerElm,"oncompositeeditorchange",this.handleOnCompositeEditorChange.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"onrowsorcountchanged",this.handleReRenderUnsavedStyling.bind(this)),this._bindingEventService.bind(this.gridContainerElm,"onselectedrowidschanged",this.handleOnSelectedRowIdsChanged.bind(this))}dispose(){var u,e;(u=this.sgb)==null||u.dispose(),this._bindingEventService.unbindAll(),this.gridContainerElm.remove(),(e=document.querySelector(".demo-container"))==null||e.classList.remove("dark-mode"),document.body.setAttribute("data-theme","light")}initializeGrid(){this.columnDefinitions=[{id:"title",name:' Title ',field:"title",sortable:!0,type:C.string,minWidth:75,cssClass:"text-bold text-uppercase",filterable:!0,columnGroup:"Common Factor",filter:{model:H.compoundInputText},editor:{model:$.longText,massUpdate:!1,required:!0,alwaysSaveOnEnterKey:!0,maxLength:12,editorOptions:{cols:45,rows:6,buttonTexts:{cancel:"Close",save:"Done"}},validator:VC}},{id:"duration",name:"Duration",field:"duration",sortable:!0,filterable:!0,minWidth:75,type:C.number,columnGroup:"Common Factor",formatter:(u,e,a)=>a==null||a===""?"":a>1?`${a} days`:`${a} day`,editor:{model:$.float,massUpdate:!0,decimal:2,valueStep:1,minValue:0,maxValue:1e4,alwaysSaveOnEnterKey:!0,required:!0}},{id:"cost",name:"Cost",field:"cost",width:90,minWidth:70,sortable:!0,filterable:!0,type:C.number,columnGroup:"Analysis",filter:{model:H.compoundInputNumber},formatter:P.dollar},{id:"percentComplete",name:"% Complete",field:"percentComplete",minWidth:100,type:C.number,sortable:!0,filterable:!0,columnGroup:"Analysis",filter:{model:H.compoundSlider,operator:">="},editor:{model:$.slider,massUpdate:!0,minValue:0,maxValue:100},customTooltip:{position:"center"}},{id:"complexity",name:"Complexity",field:"complexity",minWidth:100,type:C.number,sortable:!0,filterable:!0,columnGroup:"Analysis",formatter:(u,e,a)=>{var i;return(i=this.complexityLevelList[a])==null?void 0:i.label},exportCustomFormatter:(u,e,a)=>{var i;return(i=this.complexityLevelList[a])==null?void 0:i.label},filter:{model:H.multipleSelect,collection:this.complexityLevelList,filterOptions:{showClear:!0}},editor:{model:$.singleSelect,collection:this.complexityLevelList,massUpdate:!0}},{id:"start",name:"Start",field:"start",sortable:!0,minWidth:100,formatter:P.dateUs,columnGroup:"Period",exportCustomFormatter:P.dateUs,type:C.date,outputType:C.dateUs,saveOutputType:C.dateUtc,filterable:!0,filter:{model:H.compoundDate},editor:{model:$.date,massUpdate:!0,editorOptions:{hideClearButton:!1}}},{id:"completed",name:"Completed",field:"completed",width:80,minWidth:75,maxWidth:100,sortable:!0,filterable:!0,columnGroup:"Period",cssClass:"text-center",formatter:P.checkmarkMaterial,exportWithFormatter:!1,filter:{collection:[{value:"",label:""},{value:!0,label:"True"},{value:!1,label:"False"}],model:H.singleSelect,filterOptions:{showClear:!0}},editor:{model:$.checkbox,massUpdate:!0}},{id:"finish",name:"Finish",field:"finish",sortable:!0,minWidth:100,formatter:P.dateUs,columnGroup:"Period",type:C.date,outputType:C.dateUs,saveOutputType:C.dateUtc,filterable:!0,filter:{model:H.compoundDate},exportCustomFormatter:P.dateUs,editor:{model:$.date,editorOptions:{range:{min:"today"}},massUpdate:!0,validator:(u,e)=>{const a=e&&e.item;return a&&a.completed&&!u?{valid:!1,msg:'You must provide a "Finish" date when "Completed" is checked.'}:{valid:!0,msg:""}}}},{id:"product",name:"Product",field:"product",filterable:!0,columnGroup:"Item",minWidth:100,exportWithFormatter:!0,dataKey:"id",labelKey:"itemName",formatter:P.complexObject,exportCustomFormatter:P.complex,type:C.object,sortComparer:T0.objectString,editor:{model:$.autocompleter,alwaysSaveOnEnterKey:!0,massUpdate:!0,editorOptions:{minLength:1,fetch:(u,e)=>{const a=this.mockProducts();e(a.filter(i=>i.itemName.toLowerCase().includes(u.toLowerCase())))},renderItem:{layout:"fourCorners",templateCallback:u=>this.renderItemCallbackWith4Corners(u)}}},filter:{model:H.inputText,type:C.string,queryField:"product.itemName"}},{id:"origin",name:"Country of Origin",field:"origin",formatter:P.complexObject,columnGroup:"Item",exportCustomFormatter:P.complex,dataKey:"code",labelKey:"name",type:C.object,sortComparer:T0.objectString,filterable:!0,sortable:!0,minWidth:100,editor:{model:$.autocompleter,alwaysSaveOnEnterKey:!0,massUpdate:!0,editorOptions:{minLength:0,showOnFocus:!1,fetch:(u,e)=>{const i=JSON.parse(co).filter(t=>t.name.toLowerCase().includes(u.toLowerCase()));e(i.map(t=>({label:t.name,value:t.code})))}}},filter:{model:H.inputText,type:"string",queryField:"origin.name"}},{id:"action",name:"Action",field:"action",width:70,minWidth:70,maxWidth:70,excludeFromExport:!0,cssClass:"justify-center flex",formatter:()=>'
',cellMenu:{hideCloseButton:!1,commandTitle:"Commands",commandItems:[{command:"edit",title:"Edit Row",iconCssClass:"mdi mdi-square-edit-outline",positionOrder:66,action:()=>this.openCompositeModal("edit")},{command:"clone",title:"Clone Row",iconCssClass:"mdi mdi-content-copy",positionOrder:66,action:()=>this.openCompositeModal("clone")},"divider",{command:"delete-row",title:"Delete Row",positionOrder:64,iconCssClass:"mdi mdi-close",cssClass:"has-text-danger",textCssClass:"text-italic",itemVisibilityOverride:u=>{var e;return!((e=u.dataContext)!=null&&e.completed)},action:(u,e)=>{var i;const a=e.dataContext;confirm(`Do you really want to delete row (${e.row+1}) with "${a.title}"`)&&((i=this.slickerGridInstance)==null||i.gridService.deleteItemById(a.id))}}]}}],this.gridOptions={useSalesforceDefaultGridOptions:!0,autoFixResizeRequiredGoodCount:1,datasetIdPropertyName:"id",darkMode:this._darkMode,eventNamingStyle:I0.lowerCase,autoAddCustomEditorFormatter:$C,enableAddRow:!0,enableCellNavigation:!0,asyncEditorLoading:!1,autoEdit:!0,autoCommitEdit:!0,editable:!0,autoResize:{container:".demo-container"},enableAutoSizeColumns:!0,enableAutoResize:!0,showCustomFooter:!0,enablePagination:!0,pagination:{pageSize:10,pageSizes:[10,200,500,5e3]},enableExcelExport:!0,excelExportOptions:{exportWithFormatter:!1},externalResources:[new y0,this.compositeEditorInstance],enableFiltering:!0,rowSelectionOptions:{selectActiveRow:!1},createPreHeaderPanel:!0,showPreHeaderPanel:!0,preHeaderPanelHeight:28,rowHeight:33,headerRowHeight:35,enableCheckboxSelector:!0,enableRowSelection:!0,checkboxSelector:{applySelectOnAllPages:!0,hideInFilterHeaderRow:!1,hideInColumnTitleRow:!0},enableCompositeEditor:!0,editCommandHandler:(u,e,a)=>{const i=Array.isArray(a.prevSerializedValue)?a.prevSerializedValue:[a.prevSerializedValue],t=Array.isArray(a.serializedValue)?a.serializedValue:[a.serializedValue],r=this.columnDefinitions.filter(s=>s.editor!==void 0),o=[];i.forEach((s,l)=>{var c;const E=i[l],d=t[l];if(E!==d||d===""){const D=Array.isArray(a.prevSerializedValue)?r[l]:e;this.editedItems[this.gridOptions.datasetIdPropertyName||"id"]=u,(c=this.sgb.slickGrid)==null||c.invalidate(),a.execute(),this.renderUnsavedCellStyling(u,D,a),o.push(D)}}),this.editQueue.push({item:u,columns:o,editCommand:a})},enableCellMenu:!0,cellMenu:{activateCellOnMenuClick:!0},gridMenu:{hideToggleDarkModeCommand:!1,onCommand:(u,e)=>{e.command==="toggle-dark-mode"&&(this._darkMode=!this._darkMode,this.toggleBodyBackground())}},skipCompoundOperatorFilterWithNullInput:!0}}loadData(u){var a,i;const e=[];for(let t=0;t100?t>5?100:88:D,h=m===100;e[t]={id:t,title:"Task "+t,duration:Math.floor(Math.random()*100)+10,percentComplete:m,analysis:{percentComplete:m},complexity:t%3?0:2,start:new Date(o,l,E,E,d,d,d),finish:h||t%3===0&&c>new Date&&t>3?h?new Date:c:"",cost:t%33===0?null:Math.round(Math.random()*1e4)/100,completed:h||t%3===0&&c>new Date&&t>3,product:{id:(a=this.mockProducts()[r])==null?void 0:a.id,itemName:(i=this.mockProducts()[r])==null?void 0:i.itemName},origin:t%2?{code:"CA",name:"Canada"}:{code:"US",name:"United States"}},t%8||(delete e[t].finish,delete e[t].percentComplete,delete e[t].analysis.percentComplete)}return e}handleValidationError(u){var a;const e=(a=u.detail)==null?void 0:a.args;if(console.log("handleValidationError",u.detail),e.validationResults){let i=e.validationResults.msg||"";if((e==null?void 0:e.editor)instanceof I4){if(e.validationResults.errors){i+=`
+ `}}function I4(n,u,e){let a;e={...{modalType:"edit",validationFailedMsg:"Some of the fields have failed validation",validationMsgPrefix:null,show:null,hide:null,position:null,destroy:null,formValues:{},editors:{}},...e};const t=()=>{},r=s=>{const l=u[s],E=Ou(l),d=(l==null?void 0:l.clientWidth)??0,c=(l==null?void 0:l.clientHeight)??0;return{top:(E==null?void 0:E.top)??0,left:(E==null?void 0:E.left)??0,bottom:((E==null?void 0:E.top)??0)+c,right:((E==null?void 0:E.left)??0)+d,width:d,height:c,visible:!0}};function o(s){const l=this;let E=[];function d(){let c={},D=0;for(;D