@adaptabletools/adaptable 16.0.6-canary.0 → 16.0.6-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundle.cjs.js CHANGED
@@ -379,7 +379,7 @@ Your Infinite Table license has expired on ${i.toDateString()}.
379
379
  Please contact 'support@adaptabletools.com' if you require any charting features that are not currently available.`),v==="SparklineColumn"&&e.logger.consoleWarn(`DEPRECATED: AdapTable SparklineColumn is deprecated! AG Grid built-in Sparklines are fully supported & integrated in AdapTable.
380
380
 
381
381
  Please contact 'support@adaptabletools.com' if you require any sparklines features that are not currently available.`),h[v]=y[v]});break}return r(h,C)},a;this.emitter=new ch,a=$Ce({adaptableId:e.adaptableOptions.adaptableId,adaptableStateKey:e.adaptableOptions.adaptableStateKey,userName:e.adaptableOptions.userName,predefinedConfig:e.adaptableOptions.predefinedConfig,loadState:e.adaptableOptions.stateOptions.loadState,persistState:e.adaptableOptions.stateOptions.persistState,debounceStateDelay:e.adaptableOptions.stateOptions.debounceStateDelay});let s=[zSe,jSe,KSe,QSe],l=(h,C)=>Object.keys(C).some(y=>s.includes(y)?!1:(h==null?void 0:h[y])!==(C==null?void 0:C[y])),u=zCe(i,AH),c=h=>h,p=(h,C)=>{var w,P;if(e.isDestroyed)return h;let y=h===void 0,v=u(h,C),x={action:C,state:h,newState:v};this.emitter.emit(C.type,x);let A=x.newState;if(h!==A&&l(h,A)&&!((P=(w=h==null?void 0:h.System)==null?void 0:w.License)!=null&&P.disablePersistence)&&!Gxt[C.type]&&!y&&!this.loadStorageInProgress){let D=S({},A);s.forEach(F=>{delete D[F]}),this.currentStorageState=D,a.save(D,e.adaptableOptions.stateOptions.saveState)}return A},m=[];e.forPlugins(h=>{h.reduxMiddleware&&m.push(h.reduxMiddleware(e))}),this.TheStore=EO(p,c(F1(Uxt(e),...m))),this.storageEngine=a,this.loadStore(e,e.adaptableOptions.adaptableStateKey)}destroy(){var e;(e=this.emitter)==null||e.clearListeners(),this.emitter=null}getCurrentStorageState(){return this.currentStorageState}saveStateNow(e){let t=this.getCurrentStorageState();return t?this.storageEngine.saveNow(t,e.adaptableOptions.stateOptions.saveState):Promise.resolve(!0)}},Uxt=o=>function(e){return function(t){return function(n){var r,i,a,s,l,u,c,p,m,h,C;switch(n.type){case mV:{let A=n,R=o.api.queryApi.internalApi.getNamedQueryModuleReferences(A.namedQuery.Name);if(R.length){e.dispatch(Zr({alertType:"generic",header:"Named Query could not be deleted",message:`It is still referenced in the following modules: ${R.join(", ")}`,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}));return}return t(n)}case pV:{let R=n.namedQuery,w=(i=(r=e.getState().Query.NamedQueries.find(D=>D.Uuid===R.Uuid))==null?void 0:r.Name)!=null?i:"";if(R.Name!==w){let D=o.api.queryApi.internalApi.getNamedQueryModuleReferences(w);if(D.length){e.dispatch(Zr({alertType:"generic",header:"Named Query could not be renamed",message:`It is currently referenced in the following modules: ${D.join(", ")}`,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}));return}}return t(n)}case hV:{let A=t(n);return setTimeout(()=>o.applyGridFiltering(),5),o.api.queryApi.internalApi.fireQueryRunEvent(),A}case C_:case y_:{let{flashingCell:A}=n,{cellDataChangedInfo:R}=A,w=t(n);return R&&o.refreshCells([R.rowNode],Object.keys(A.flashColumnIds),!0),w}case b_:{let A=t(n);return o.redrawRenderedRows(),A}case z7:{o.api.alertApi.internalApi.getActiveReactiveAlertDefinitions().forEach(R=>o.api.internalApi.getAlertService().createReactiveAlert(R));return}case lO:case uO:case dO:case pO:case cO:case hO:case mO:{let A=t(n),R=A.alertDefinition;return(A.type===lO||A.type===uO||A.type===pO)&&o.api.internalApi.getAlertService().createReactiveAlert(R),(A.type===dO||A.type===cO)&&o.api.internalApi.getAlertService().deleteReactiveAlert(R),A.type===mO&&o.api.internalApi.getAlertService().getReactiveActiveAlerts().forEach(w=>{o.api.internalApi.getAlertService().deleteReactiveAlert(w)}),A.type===hO&&o.api.alertApi.internalApi.getReactiveAlertDefinitions().forEach(w=>{o.api.internalApi.getAlertService().isReactiveAlertActive(w)||o.api.internalApi.getAlertService().createReactiveAlert(w)}),o.setupColumns(),A}case L1:case _1:case k1:case V1:case B1:case H1:case G1:{let A=t(n);return o.setupColumns(),A}case m_:{let A=n,R=t(n),w=A.alert;if(((a=w.alertDefinition.AlertProperties)==null?void 0:a.HighlightCell)&&zp(w)&&w.cellDataChangedInfo){let P=w.cellDataChangedInfo.rowNode;o.refreshCells([P],[w.cellDataChangedInfo.column.columnId],!0)}return((s=w.alertDefinition.AlertProperties)==null?void 0:s.HighlightRow)&&nh(w)&&w.gridDataChangedInfo&&o.api.gridApi.refreshRowNodes(w.gridDataChangedInfo.rowNodes),R}case h_:{let A=n,R=t(n);return A.alerts.forEach(P=>{var D,F;if(((D=P.alertDefinition.AlertProperties)==null?void 0:D.HighlightCell)&&zp(P)&&P.cellDataChangedInfo){let M=P.cellDataChangedInfo.rowNode;o.refreshCells([M],[P.cellDataChangedInfo.column.columnId],!0)}((F=P.alertDefinition.AlertProperties)==null?void 0:F.HighlightRow)&&nh(P)&&P.gridDataChangedInfo&&o.api.gridApi.refreshRowNodes(P.gridDataChangedInfo.rowNodes)}),R}case f_:{let A=t(n),w=n.alert;if((l=w.alertDefinition.AlertProperties)!=null&&l.HighlightCell&&zp(w)&&w.cellDataChangedInfo){let P=w.cellDataChangedInfo.rowNode;o.refreshCells([P],[w.cellDataChangedInfo.column.columnId],!0)}return A}case g_:{let A=t(n),w=n.alert;return(u=w.alertDefinition.AlertProperties)!=null&&u.HighlightRow&&(zp(w)&&w.cellDataChangedInfo&&o.api.gridApi.refreshRowNodes([w.cellDataChangedInfo.rowNode]),nh(w)&&w.gridDataChangedInfo&&o.api.gridApi.refreshRowNodes(w.gridDataChangedInfo.rowNodes)),A}case x_:{let A=n,R=t(n),w=A.cellHighlightInfo,P=o.getRowNodeForPrimaryKey(w.primaryKeyValue);return P&&o.refreshCells([P],[w.columnId],!0),R}case R_:{let A=n,R=t(n),w=o.getRowNodeForPrimaryKey(A.primaryKeyValue);return w&&o.refreshCells([w],[A.columnId],!0),R}case WD:{let A=e.getState().System.HighlightedCells,R=t(n);return A.forEach(w=>{let P=o.getRowNodeForPrimaryKey(w.primaryKeyValue);!P||o.refreshCells([P],[w.columnId],!0)}),R}case E_:{let A=n,R=t(n),w=A.rowHighlightInfo,P=o.getRowNodeForPrimaryKey(w.primaryKeyValue);return P&&o.api.gridApi.refreshRowNode(P),R}case T_:{let A=n,R=t(n),w=o.getRowNodeForPrimaryKey(A.primaryKeyValue);return w&&o.api.gridApi.refreshRowNode(w),R}case w_:{let A=n,R=t(n),w=A.rowsHighlightInfo,P=o.getRowNodesForPrimaryKeys(w.primaryKeyValues);return P.length&&o.api.gridApi.refreshRowNodes(P),R}case I_:{let A=n,R=t(n),w=o.getRowNodesForPrimaryKeys(A.primaryKeyValues);return w.length&&o.api.gridApi.refreshRowNodes(w),R}case WD:{let A=e.getState().System.HighlightedRows,R=t(n);return A.forEach(w=>{let P=o.getRowNodeForPrimaryKey(w.primaryKeyValue);!P||o.api.gridApi.refreshRowNode(P)}),R}case J7:{o.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();return}case eB:case tB:case xO:case RO:{let R=t(n);return(R.type===xO||R.type===RO)&&o.api.internalApi.getCalculatedColumnExpressionService().createAggregatedScalarLiveValue(R.calculatedColumn),o.updateColDefsForSpecialColumns(),R}case T1:{let A=n,R=o.api.calculatedColumnApi.internalApi.getCalculatedColumnModuleReferences(A.calculatedColumn);if(R.length){e.dispatch(Zr({alertType:"generic",header:"CalculatedColumn could not be deleted",message:`It is still referenced in the following modules: ${R.join(", ")}`,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}));return}let w=t(A);return o.api.internalApi.getCalculatedColumnExpressionService().destroyAggregatedScalarLiveValue(w.calculatedColumn),o.updateColDefsForSpecialColumns(),w}case oB:{let A=n,R=o.api.freeTextColumnApi.internalApi.getFreeTextColumnModuleReferences(A.freeTextColumn);if(R.length){e.dispatch(Zr({alertType:"generic",header:"FreeTextColumn could not be deleted",message:`It is still referenced in the following modules: ${R.join(", ")}`,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}));return}let w=t(n);return o.updateColDefsForSpecialColumns(),w}case wk:case Pk:case Fk:case Mk:case Ok:case Dk:case Nk:case Lk:case kO:case _k:case Hk:case Uk:case Wk:case zk:case jk:case Kk:case Qk:case K1:case Q1:case $1:case q1:case Y1:case X1:case Z1:{let A=t(n);return o.setupColumns(),A}case Ek:{let A=t(n);if(o.redrawBody(),o.adaptableOptions.quickSearchOptions.filterResultsAfterQuickSearch){let w=n.quickSearchText;ct.IsNotNullOrEmpty(w)?o.setAgQuickSearch(w):o.setAgQuickSearch("")}return A}case F_:return o.showQuickFilter(),t(n);case M_:return o.hideQuickFilter(),t(n);case C8:return o.api.gridApi.hideFilterForm(),t(n);case yv:case bv:case Sv:case Av:case vv:case xv:case Ev:case Rv:case wv:{let A,R=o.api.filterApi.internalApi.shouldNewColumnFilterTriggerGridFiltering(n),w=o.api.layoutApi.getCurrentLayout();if(((c=o.adaptableOptions.layoutOptions)==null?void 0:c.autoSaveLayouts)&&!w.IsReadOnly)A=t(n);else{if(!e.getState().Grid.CurrentLayout){let D=o.api.layoutApi.getCurrentLayout();e.dispatch(ah(D))}let P;switch(n.type){case yv:P=Zye(n.columnFilter);break;case bv:P=Jye(n.columnFilter);break;case Sv:P=ebe(n.columnFilter);break;case Av:P=tbe(n.columnFilter);break;case vv:P=obe();break;case xv:P=nbe(n.columnFilter);break;case Ev:P=rbe();break;case Rv:P=ibe(n.columnFilter);break;case wv:P=abe();break}A=t(P)}return setTimeout(()=>{R&&o.applyGridFiltering()},5),o.api.filterApi.internalApi.fireFilterAppliedEvent(),o.api.layoutApi.internalApi.fireLayoutChangedEvent(n.type,null,e.getState().Layout),A}case N_:{let A=t(n),R=o.api.dataSetApi.getCurrentDataSet();return o.api.dataSetApi.internalApi.fireDataSetSelectedEvent(R),requestAnimationFrame(()=>{R.form&&e.dispatch(UC({Id:"data-set-form",Form:R.form,prepareContext:w=>new Promise(P=>{let D=T(S({},w),{dataSet:R});P(D)})}))}),A}case Ik:{let A=t(n);return o.api.themeApi.applyCurrentTheme(),A}case Zk:case Jk:case VO:{let A=t(n),R=o.api.gridApi.getRowNodeForPrimaryKey(A.adaptableComment.PrimaryKeyValue);return o.refreshCells([R],[A.adaptableComment.ColumnId],!0),n.type==VO&&o.api.commentsApi.hideComment(),A}case AB:case xB:case RB:case wB:case EB:case vK:case SK:case CB:case yB:case bB:case SB:case vB:case yK:case bK:case TB:case IB:case PB:case DB:case OB:case AK:case xK:case FB:case MB:case NB:case LB:case _B:case RK:case EK:case kB:case BB:case VB:case GB:case HB:case wK:case TK:{let A=t(n);return o.adaptableModules.get(Cd).setUpScheduleJobs(),A}case iB:case nB:case rB:case aB:case gK:case sB:case lB:case uB:case dB:{let A=e.getState().Dashboard,R=t(n),w=e.getState().Dashboard;return o.api.dashboardApi.internalApi.fireDashboardChangedEvent(n.type,A,w),R}case OO:case hye:case KC:case FO:case LO:case Cv:{let A=e.getState().Layout,R=o.api.layoutApi.getCurrentLayout(),w=t(n),P=e.getState().Layout;o.api.layoutApi.internalApi.fireLayoutChangedEvent(n.type,A,P);let D=(p=A.Layouts.find(M=>M.Name==A.CurrentLayout))==null?void 0:p.ColumnFilters,F=(m=P.Layouts.find(M=>M.Name==P.CurrentLayout))==null?void 0:m.ColumnFilters;if(o.api.filterApi.internalApi.areColumnFiltersDifferent(D,F)&&o.applyGridFiltering(),w.type==Cv||w.type==FO||w.type==LO){let M=e.getState().Grid,O=P.Layouts.find(_=>_.Name==P.CurrentLayout);M.CurrentLayout&&(O=M.CurrentLayout),O&&o.setLayout(O),(h=o.adaptableOptions.layoutOptions)!=null&&h.autoSaveLayouts||e.dispatch(ah(O))}if(w.type==OO||w.type==KC){let M=n;(C=o.adaptableOptions.layoutOptions)!=null&&C.autoSaveLayouts||M.layout.Name===P.CurrentLayout&&e.dispatch(ah(M.layout))}if(w.type==KC){let M=w.layout;R.Name===M.Name&&R!==M&&!o.api.layoutApi.internalApi.areLayoutsEqual(R,M)&&o.setLayout(M)}return w}case h8:{let A=o.adaptableModules.get(Bl),R=e.getState(),w=t(n),P=A.CheckCorrectCellSelection(),D=R.Popup.ScreenPopup;if(D.ComponentName!="LayoutPopup")if(P.Alert)D.ComponentName=="SmartEditPopup"&&(e.dispatch(_f()),e.dispatch(Zr(P.Alert))),e.dispatch(b8(!1));else{e.dispatch(b8(!0));let F=A.BuildPreviewValues(R.System.SmartEditValue,R.System.SmartEditOperation);e.dispatch(S8(F))}return w}case v_:case S_:case $pe:{let A=t(n),R=o.adaptableModules.get(Bl),w=e.getState(),P=R.BuildPreviewValues(w.System.SmartEditValue,w.System.SmartEditOperation);return e.dispatch(S8(P)),A}case cK:{let A=o.adaptableModules.get(Bl),R=n,w=e.getState().System.SmartEditPreviewInfo,P=Qp.GetCellUpdateRequestsFromPreview(w,R.bypassValidationWarnings);return A.ApplySmartEdit(P),e.dispatch(_f()),t(n)}case pK:{let A=t(n),R=n;return o.api.gridApi.setCellValues(R.cellUpdateRequests),A}case f8:{let A=o.adaptableModules.get(bu),R=e.getState(),w=t(n),P=A.checkCorrectCellSelection(),D=R.Popup.ScreenPopup;return D.ComponentName!="LayoutPopup"&&(P.Alert&&D.ComponentName=="BulkUpdatePopup"&&(e.dispatch(_f()),e.dispatch(Zr(P.Alert))),e.dispatch(Fme(P))),w}case A_:{let A=t(n),R=o.adaptableModules.get(bu),w=e.getState(),P=R.buildPreviewValues(w.System.BulkUpdateValue);return e.dispatch(Mme(P)),A}case X7:{let A=n,R=e.getState().System.BulkUpdatePreviewInfo,w=Qp.GetCellUpdateRequestsFromPreview(R,A.bypassValidationWarnings);return o.api.bulkUpdateApi.applyBulkUpdate(w),e.dispatch(_f()),t(n)}case Z7:{let A=t(n),R=n;return o.api.gridApi.setCellValues(R.cellUpdateRequests),A}case fk:case gk:case Ck:{let A=t(n),R=o.adaptableModules.get(di);return R&&R.checkListenToKeyDown(),A}case hk:{let A=t(n),R=n;return o.api.gridApi.setCellValues(R.cellUpdateRequests),A}case tk:case ok:case nk:{let A=t(n),R=o.adaptableModules.get(Gp);return R&&R.checkListenToKeyDown(),A}case vk:{let A=n,R=t(n),w=A.SelectedReport;return(!w||w===is&&e.getState().Export.CurrentDestination!=="Excel")&&e.dispatch(KE("")),R}case hK:{let A=o.adaptableModules.get(Hi),R=n;return A.export(R.Report,R.ExportDestination),t(n)}case Ak:{let R=n.report,w=e.getState().Export.CurrentReport;return R&&R.Name==w&&e.dispatch(WE(Wo)),t(n)}case L_:case __:{let A=t(n);return o.ReportService.resetExcelStyleMemoization(),A}case HO:{let A=t(n);return o.api.teamSharingApi.loadSharedEntities().then(R=>{e.dispatch(Dv(R))}).catch(R=>{o.logger.error("TeamSharing get error : "+R.message),e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:"Couldn't get shared items: "+R.message,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}))}),A}case IK:{let A=n,R=t(n),{Entity:w,Configuration:P}=A,D;return o.api.teamSharingApi.loadSharedEntities().then(F=>{let M=o.api.internalApi.getTeamSharingService().buildCustomSharedEntity(w,P),O=!0,_=F.map(H=>vH(H)&&H.Uuid===M.Uuid?(O=!1,T(S({},M),{ChangedAt:Date.now(),ChangedBy:o.api.optionsApi.getUserName()})):H);return O&&_.push(M),e.dispatch(Dv(_)),D=!0,o.api.teamSharingApi.persistSharedEntities(_)}).then(()=>{D&&o.logger.info(`Custom Shared Object '${P.Name}' Shared Successfully`)}).catch(F=>{o.logger.error("TeamSharing share error : "+F.message,A.Entity)}),R}case UO:{let A=n,R=t(n),{Entity:w,Configuration:P,Module:D}=A,F;return o.api.teamSharingApi.loadSharedEntities().then(M=>{let O=P.type==="Active"&&e.getState().TeamSharing.ActiveSharedEntityMap[w.Uuid];if(O){e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:`Couldn't share ${o.api.internalApi.getModuleFriendlyName(D)}, there is already an existing active share for it: ${O.Description}`,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")})),F=!1;return}let _=o.api.internalApi.getTeamSharingService().buildSharedEntityWithDependencies(w,D,P);return M.push(..._),e.dispatch(cV(..._.filter(H=>H.Type==="Active"))),e.dispatch(Dv(M)),F=!0,o.api.teamSharingApi.persistSharedEntities(M)}).then(()=>{F&&e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:`${o.api.internalApi.getModuleFriendlyName(D)} Shared Successfully`,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Success")}))}).catch(M=>{o.logger.error("TeamSharing share error : "+M.message,A.Entity),e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:"Couldn't share item: "+M.message,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}))}),R}case zO:{let A=t(n),w=n.Uuid;return o.api.teamSharingApi.loadSharedEntities().then(P=>{let D=P.filter(sT),F=o.api.internalApi.getTeamSharingService().getSharedEntityDependants(w,D);if(F.length){e.dispatch(Zr({alertType:"generic",header:"Cannot remove the shared item as it is referenced in:",message:F.map(O=>`${o.api.internalApi.getModuleFriendlyName(O.Module)} ${O.Description}`).join(`
382
- `),alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Warning")}));return}let M=P.filter(O=>O.Uuid!==w);return e.dispatch(Dv(M)),o.api.teamSharingApi.persistSharedEntities(M)}).catch(P=>{o.logger.error("TeamSharing remove error : "+P.message),e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:"Couldn't remove item: "+P.message,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}))}),A}case WO:{let A=t(n),R=n,[w,P]=o.api.internalApi.getTeamSharingService().buildSharedEntityImportActions(R.SharedEntity),D=TSe(w);if(P&&!o.api.optionsApi.getTeamSharingOptions().suppressOverrideConfigWarning){let F={CancelButtonText:"Cancel Import",Header:"Overwriting Existing Object",Msg:"This import will overwrite an existing object in your State. Do you wish to continue?",ConfirmButtonText:"Import",CancelAction:null,ConfirmAction:D,ShowInputBox:!1,MessageType:"Warning"};e.dispatch(SE(F))}else e.dispatch(D);return A}case aw:{let A=t(n),R=n,{ImportSteps:w}=R,P=[];for(let D=w.length-1;D>=0;D--){let{sharedEntity:F,importAction:M}=w[D];M?(e.dispatch(M),F.Type==="Active"&&P.push(F)):o.logger.error("Team Sharing Import Error: Unknown item type",F)}return P.length&&e.dispatch(cV(...P)),o.api.teamSharingApi.internalApi.waitForTeamSharingImportEnd().then(()=>e.dispatch(KO())).catch(()=>e.dispatch(KO())),e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:"Item Successfully Imported",alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Success")})),A}case jO:{let A=t(n),R=n;if(e.getState().TeamSharing.importProcessInProgress)return A;let{ChangedAdaptableObject:w,UserName:P}=R;return o.api.teamSharingApi.loadSharedEntities().then(D=>{let F=D.filter(sT),[M,O]=o.api.internalApi.getTeamSharingService().getSharedEntityLocalAndRemoteRevisions(w.Uuid,F);if(O>M)return;let[_,H]=o.api.internalApi.getTeamSharingService().updateActiveSharedEntity(w,P,F);return e.dispatch(cV(...H)),e.dispatch(Dv(_)),o.api.teamSharingApi.persistSharedEntities(_)}).catch(D=>{o.logger.error("TeamSharing update active item error : "+D.message),e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:"Couldn't update active item: "+D.message,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}))}),A}case PK:{let A=t(n);return o.api.teamSharingApi.loadSharedEntities().then(R=>{e.dispatch(Dv(R)),o.api.internalApi.getTeamSharingService().showUpdateNotifications()}).catch(R=>{o.logger.error("TeamSharing update error : "+R.message),e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:"Couldn't check for updates: "+R.message,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}))}),A}case O_:let v=n.changeInfo;return o.api.gridApi.undoCellEdit(v),t(n);case g8:let x=n;return o.setColumnOrder(x.visibleColumnList),t(n);case mK:{let A=o.adaptableModules.get(_l),R=t(n),w=e.getState().Grid.SelectedCellInfo,P=A.createCellSummary(w);return e.dispatch(jye(P)),R}case xye:{let A=n,R=t(n);return o.refreshCells(A.rowNodes,A.columnIds,!0),R}case pk:{let A=t(n);return o.api.gridApi.internalApi.fireGridSortedEvent(),A}case mk:{let A=t(n);return o.api.gridApi.internalApi.fireGridSortedEvent(),A}case A8:return sDe({api:o.api,adaptableAlert:n.alert}),t(n);case K_:{let A=e.getState().Popup.PromptPopup.ConfirmAction;if(A){let R=n.InputText;A.InputText=R,e.dispatch(A)}return t(n)}case Q_:{let A=e.getState().Popup.ConfirmationPopup.ConfirmAction;return A&&e.dispatch(A),t(n)}case $_:{let A=e.getState().Popup.ConfirmationPopup.CancelAction;return A&&e.dispatch(A),t(n)}case JF:{let A=t(n);if(o.isDestroyed)return A;o.updateColumnsIntoStore();let R=e.getState().Layout,w=o.api.layoutApi.internalApi.createDefaultLayoutIfNeeded(),P=(R==null?void 0:R.CurrentLayout)||(w==null?void 0:w.Name);return o.api.layoutApi.getLayoutByName(P)||(P=w?w.Name:R.Layouts[0].Name),e.dispatch(ih(P)),o.EntitlementService.setModulesEntitlements(),o.ModuleService.createModuleMenus(),o.api.internalApi.initializeDataChangeHistory(),A}default:return t(n)}}}};d();var Wxt="SYSTEM_STATUS_MESSAGE_SET",zxt="SYSTEM_STATUS_READY",lDe=o=>({type:Wxt,systemStatusMessageInfo:o}),uDe=()=>({type:zxt});var EH=class extends Te{configInit(){this.dispatchAction(xH())}copyAllStateToClipboard(){let e=this.getAdaptableState(),t=JSON.stringify(e);yn.copyToClipboard(t)}copyUserStateToClipboard(){let e=this.getAdaptableState(),t=JSON.stringify(e);yn.copyToClipboard(t)}getPredefinedConfig(){return this.adaptable.adaptableOptions.predefinedConfig}reloadPredefinedConfig(e){var i;let t=this.adaptable.adaptableOptions,n=this.getPersistedState(),r=((i=t.stateOptions)==null?void 0:i.clearState)||(()=>(localStorage.removeItem(t.adaptableStateKey),Promise.resolve(!0)));this.adaptable.adaptableStore.saveStateNow(this.adaptable).then(()=>{r({adaptableId:t.adaptableId,adaptableStateKey:t.adaptableStateKey,userName:t.userName}).then(()=>{this.setAdaptableStateKey(t.adaptableStateKey,{predefinedConfig:e||t.predefinedConfig,flushCurrentState:!1}).then(()=>{let s=this.getPersistedState(),l={oldState:n,newState:s,adaptableStateKey:t.adaptableStateKey,adaptableId:t.adaptableId,adaptableApi:this.adaptable.api,userName:this.adaptable.api.optionsApi.getUserName()};this.adaptable.api.eventApi.emit("AdaptableStateReloaded",l)})})})}getAllState(){return this.getAdaptableState()}getPersistedState(){return this.adaptable.adaptableStore.getCurrentStorageState()}getAllUserState(){return Object.values(this.getPersistedState())}loadUserState(e){let t=this.adaptable.adaptableOptions;this.setAdaptableStateKey(t.adaptableStateKey,{predefinedConfig:e||t.predefinedConfig,flushCurrentState:!1})}getAdaptableSearchState(){let e=this.adaptable.api.queryApi.getCurrentQuery();return{dataSet:this.adaptable.api.dataSetApi.getCurrentDataSet(),currentQuery:e,queryAST:e?this.adaptable.api.expressionApi.getASTForExpression(e):null,columnFilters:this.adaptable.api.filterApi.getColumnFilters()}}getAdaptableSortState(){return{columnSorts:this.adaptable.api.gridApi.getColumnSorts(),customSorts:this.adaptable.api.customSortApi.getCustomSorts()}}getAdaptableOptions(){}setAdaptableStateKey(e,t){return new Promise((n,r)=>{this.adaptable.api.internalApi.executeWithProgressIndicator("Initialising...",()=>{this.adaptable.adaptableOptions.adaptableStateKey=e,(!t||t.flushCurrentState!==!1?this.adaptable.adaptableStore.saveStateNow(this.adaptable):Promise.resolve(!0)).then(()=>{let s=t==null?void 0:t.predefinedConfig;s&&(s=l1(s)),this.adaptable.adaptableStore.loadStore(this.adaptable,e,s).then(()=>{this.adaptable.prepareGrid(),this.adaptable.api.internalApi.hideLoadingScreen()}).then(()=>{n()},()=>{r()})})})})}getDescriptionForModule(e){return this.adaptable.ModuleService.getModuleInfoByModule(e).Description}getHelpPageForModule(e){return this.adaptable.ModuleService.getModuleInfoByModule(e).HelpPage}getUserStateByStateKey(e,t=!1){switch(e){case"Alert":return t?JSON.stringify(this.getAdaptableState().Alert):this.getAdaptableState().Alert;case"Application":return t?JSON.stringify(this.getAdaptableState().Application):this.getAdaptableState().Application;case"CalculatedColumn":return t?JSON.stringify(this.getAdaptableState().CalculatedColumn):this.getAdaptableState().CalculatedColumn;case"Charting":return t?JSON.stringify(this.getAdaptableState().Charting):this.getAdaptableState().Charting;case"Comments":return t?JSON.stringify(this.getAdaptableState().Comments):this.getAdaptableState().Comments;case"CustomSort":return t?JSON.stringify(this.getAdaptableState().CustomSort):this.getAdaptableState().CustomSort;case"Dashboard":return t?JSON.stringify(this.getAdaptableState().Dashboard):this.getAdaptableState().Dashboard;case"Export":return t?JSON.stringify(this.getAdaptableState().Export):this.getAdaptableState().Export;case"FormatColumn":return t?JSON.stringify(this.getAdaptableState().FormatColumn):this.getAdaptableState().FormatColumn;case"FreeTextColumn":return t?JSON.stringify(this.getAdaptableState().FreeTextColumn):this.getAdaptableState().FreeTextColumn;case"Layout":return t?JSON.stringify(this.getAdaptableState().Layout):this.getAdaptableState().Layout;case"PlusMinus":return t?JSON.stringify(this.getAdaptableState().PlusMinus):this.getAdaptableState().PlusMinus;case"Query":return t?JSON.stringify(this.getAdaptableState().Query):this.getAdaptableState().Query;case"QuickSearch":return t?JSON.stringify(this.getAdaptableState().QuickSearch):this.getAdaptableState().QuickSearch;case"Schedule":return t?JSON.stringify(this.getAdaptableState().Schedule):this.getAdaptableState().Schedule;case"Shortcut":return t?JSON.stringify(this.getAdaptableState().Shortcut):this.getAdaptableState().Shortcut;case"Theme":return t?JSON.stringify(this.getAdaptableState().Theme):this.getAdaptableState().Theme;case"ToolPanel":return t?JSON.stringify(this.getAdaptableState().ToolPanel):this.getAdaptableState().ToolPanel}}incrementUserStateRevision(e){let t=this.getUserStateByStateKey(e);typeof t.Revision=="number"?t.Revision+=1:t.Revision.Key+=1}getAlertState(e=!1){return this.getUserStateByStateKey("Alert",e)}getApplicationState(e=!1){return this.getUserStateByStateKey("Application",e)}getCalculatedColumnState(e=!1){return this.getUserStateByStateKey("CalculatedColumn",e)}getChartingState(e=!1){return this.getUserStateByStateKey("Charting",e)}getCommentsState(e=!1){return this.getUserStateByStateKey("Comments",e)}getCustomSortState(e=!1){return this.getUserStateByStateKey("CustomSort",e)}getDashboardState(e=!1){return this.getUserStateByStateKey("Dashboard",e)}getExportState(e=!1){return this.getUserStateByStateKey("Export",e)}getFreeTextColumnState(e=!1){return this.getUserStateByStateKey("FreeTextColumn",e)}getFormatColumnState(e=!1){return this.getUserStateByStateKey("FormatColumn",e)}getLayoutState(e=!1){return this.getUserStateByStateKey("Layout",e)}getPlusMinusState(e=!1){return this.getUserStateByStateKey("PlusMinus",e)}getQueryState(e=!1){return this.getUserStateByStateKey("Query",e)}getQuickSearchState(e=!1){return this.getUserStateByStateKey("QuickSearch",e)}getScheduleState(e=!1){return this.getUserStateByStateKey("Schedule",e)}getShortcutState(e=!1){return this.getUserStateByStateKey("Shortcut",e)}getThemeState(e=!1){return this.getUserStateByStateKey("Theme",e)}getToolPanelState(e=!1){return this.getUserStateByStateKey("ToolPanel",e)}dispatchStateReadyAction(e){switch(e){case"Alert":this.dispatchAction(Gge(this.getAlertState()));break;case"BulkUpdate":this.dispatchAction(bCe());break;case"CalculatedColumn":this.dispatchAction(I1(this.getCalculatedColumnState()));break;case"Charting":this.dispatchAction(HSe(this.getChartingState()));break;case"Comments":this.dispatchAction(Kbe(this.getCommentsState()));break;case"CustomSort":this.dispatchAction(rye(this.getCustomSortState()));break;case"Dashboard":this.dispatchAction(cSe(this.getDashboardState()));break;case"Export":this.dispatchAction(Sbe(this.getExportState()));break;case"FormatColumn":this.dispatchAction(Bbe(this.getFormatColumnState()));break;case"FreeTextColumn":this.dispatchAction(rSe(this.getFreeTextColumnState()));break;case"Layout":this.dispatchAction(Cye(this.getLayoutState()));break;case"PlusMinus":this.dispatchAction(fbe(this.getPlusMinusState()));break;case"Query":this.dispatchAction(NSe(this.getQueryState()));break;case"QuickSearch":this.dispatchAction(Abe(this.getQuickSearchState()));break;case"Schedule":this.dispatchAction(ASe(this.getScheduleState()));break;case"Shortcut":this.dispatchAction(pye(this.getShortcutState()));break;case"SmartEdit":this.dispatchAction(tye());break;case"SystemStatus":this.dispatchAction(uDe());break;case"Theme":this.dispatchAction(Obe(this.getThemeState()));break;case"ToolPanel":this.dispatchAction(CK(this.getToolPanelState()));break;case"StatusBar":this.dispatchAction(CK(this.getToolPanelState()));break}}};d();d();var wH=class extends Te{getCustomSortComparer(e){var t;return(t=this.getCustomSortOptions().customSortComparers)==null?void 0:t.find(n=>this.adaptable.api.scopeApi.isColumnInScope(e,n.scope))}};var TH=class extends Te{constructor(t){super(t);this.internalApi=new wH(t)}getCustomSortState(){return this.getAdaptableState().CustomSort}getCustomSorts(t){var n;return(n=this.handleLayoutAssociatedObjects(this.getCustomSortState().CustomSorts,"CustomSort",t))!=null?n:[]}getCustomSortById(t){return this.getCustomSorts().find(n=>n.Uuid===t)}getActiveCustomSorts(t){return this.getCustomSorts(t).filter(n=>!n.IsSuspended)}getSuspendedCustomSorts(t){return this.getCustomSorts(t).filter(n=>n.IsSuspended)}getCustomSortByColumn(t){return this.getCustomSorts().find(n=>n.ColumnId==t)}getCustomSortForColumn(t){return this.getCustomSorts().find(n=>n.ColumnId==t)}addCustomSort(t){return this.addUidToAdaptableObject(t),this.dispatchAction(jC(t)),this.getCustomSortById(t.Uuid)}createCustomSort(t,n){let r={ColumnId:t,SortedValues:n};return this.addCustomSort(r)}editCustomSort(t,n){let r=this.getCustomSortForColumn(t);if(!r){this.logWarn(`No custom sort defined for ${t}`);return}let i=T(S({},r),{SortedValues:n});return this.dispatchAction(zf(i)),this.getCustomSortByColumn(t)}deleteCustomSort(t){let n=this.getCustomSortForColumn(t);this.dispatchAction(_E(n))}suspendCustomSort(t){return this.dispatchAction(J1(t)),this.getCustomSortById(t.Uuid)}unSuspendCustomSort(t){return this.dispatchAction(ek(t)),this.getCustomSortById(t.Uuid)}openCustomSortSettingsPanel(){this.showModulePopup(ls)}};d();var pDe=I(require("react"));d();var cDe=I(tE()),IH=class extends Te{fireDashboardChangedEvent(e,t,n){let r=s=>{let l=this.isToolbarInActiveTab(s,n),u=this.isToolbarInActiveTab(s,t);return l&&!u},i=s=>{let l=this.isToolbarInActiveTab(s,n);return this.isToolbarInActiveTab(s,t)&&!l},a={adaptableApi:this.adaptable.api,actionName:e,oldDashboardState:t,newDashboardState:n,isToolbarStateChangedToVisible:r,isToolbarStateChangedToHidden:i,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.api.optionsApi.getAdaptableId()};(0,cDe.default)(t,n)||this.adaptable.api.eventApi.emitSync("DashboardChanged",a)}isToolbarInActiveTab(e,t){var r;if(!t)return!1;let n=t.ActiveTabIndex;if(n!=null&&(t==null?void 0:t.Tabs)&&((r=t==null?void 0:t.Tabs)==null?void 0:r.length)>0){let i=t==null?void 0:t.Tabs[n];if(i&&i.Toolbars)return i.Toolbars.find(a=>a==e)!=null}return!1}};var PH=class extends Te{constructor(t){super(t);this.internalApi=new IH(t)}getDashboardState(){return this.getAdaptableState().Dashboard}getCustomToolbars(){return this.getDashboardOptions().customToolbars||[]}getCustomDashboardButtons(){return this.getDashboardOptions().customDashboardButtons||[]}getCustomDashboardButtonByLabel(t){let n=this.getAdaptableApi(),r={adaptableApi:n,userName:this.getOptions().userName,adaptableId:this.getOptions().adaptableId,dashboardState:n.dashboardApi.getDashboardState()};return this.getDashboardOptions().customDashboardButtons.find(i=>{n.internalApi.getLabelForButton(i,r)==t})}setModuleButtons(t){this.dispatchAction(cB(t))}setDashboardTitle(t){this.dispatchAction(dSe(t))}getCustomToolbarContentsDiv(t){let n=this.getCustomToolbarByName(t);if(n){let r="ab-CustomToolbar__"+n.name+"__contents";return document.getElementById(r)}return null}setCustomToolbarContents(t,n){let r=this.getCustomToolbarContentsDiv(t);r&&this.adaptable.renderReactRoot(pDe.createElement("div",{dangerouslySetInnerHTML:{__html:n}}),r)}getCustomToolbarByName(t){return this.getCustomToolbars().find(n=>n.name==t)}getTabByName(t){return(this.getDashboardState().Tabs||[]).find(n=>n.Name==t)}collapseDashboard(){this.dispatchAction(Ec(!0))}expandDashboard(){this.dispatchAction(Ec(!1))}refreshDashboard(){this.dispatchAction(jme())}floatDashboard(){this.dispatchAction(wc(!0))}dockDashboard(){this.dispatchAction(wc(!1))}hideDashboard(){this.dispatchAction(uh(!0))}showDashboard(){this.dispatchAction(uh(!1))}getActiveTabIndex(){return this.getDashboardState().ActiveTabIndex}getActiveTab(){return this.getDashboardState().Tabs[this.getActiveTabIndex()]}isToolbarVisible(t){return(this.getCurrentToolbars()||[]).find(n=>n==t)!=null}setActiveTabIndex(t){this.dispatchAction(pB(t))}setActiveTab(t){var r;if(this.getTabByName(t)){let i=(r=this.getDashboardState().Tabs)==null?void 0:r.findIndex(a=>a);this.setActiveTabIndex(i)}}getCurrentToolbars(){if(this.getDashboardState().IsCollapsed==!0||this.getDashboardState().IsHidden==!0)return;let t=this.getActiveTab();if(!!t)return t.Toolbars}openDashboardSettingsPanel(){this.showModulePopup(fd)}isDashboardCollapsed(){return this.getDashboardState().IsCollapsed}isDashboardExpanded(){return!this.getDashboardState().IsCollapsed}isDashboardFloating(){return this.getDashboardState().IsFloating}isDashboardDocked(){return!this.getDashboardState().IsFloating}isDashboardHidden(){return this.getDashboardState().IsHidden}isDashboardVisible(){return!this.getDashboardState().IsHidden}};d();var DH=class extends Te{getToolPanelState(){return this.getAdaptableState().ToolPanel}showToolPanelPopup(){this.showModulePopup(yd)}openAdapTableToolPanel(){let e=this.getGridApi().getAgGridInstance();e&&e.api.openToolPanel("adaptable")}closeAdapTableToolPanel(){let e=this.getGridApi().getAgGridInstance();e&&e.api.closeToolPanel()}getCustomToolPanels(){var e;return(e=this.getToolPanelOptions().customToolPanels)!=null?e:[]}getCustomToolPanelButtons(){var e;return(e=this.getToolPanelOptions().customButtons)!=null?e:[]}getCustomToolPanelByName(e){return this.getCustomToolPanels().find(t=>t.name===e)}setAdaptableToolPanelVisibilityMode(e,t){t==="expanded"?this.setExpandedToolPanelVisibility(e):this.setCollapsedToolPanelVisibility(e)}setCustomToolPanelVisibilityMode(e,t){t==="expanded"?this.setExpandedToolPanelVisibility(e):this.setCollapsedToolPanelVisibility(e)}setModuleButtons(e){this.dispatchAction(gB(e))}getModuleButtons(){var e,t;return(t=(e=this.getToolPanelState())==null?void 0:e.ModuleButtons)!=null?t:[]}setExpandedToolPanelVisibility(e){this.dispatchAction(hB(e))}setCollapsedToolPanelVisibility(e){this.dispatchAction(fB(e))}};d();d();var OH=class extends Te{fireDataSetSelectedEvent(e){if(this.adaptable.isLive){let t={adaptableApi:this.adaptable.api,dataSet:e,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.api.optionsApi.getAdaptableId()};this.adaptable.api.eventApi.emit("DataSetSelected",t)}}};var FH=class extends Te{constructor(t){super(t);this.internalApi=new OH(t)}getDataSets(){var t,n,r;return(r=(n=(t=this.adaptable.adaptableOptions)==null?void 0:t.dataSetOptions)==null?void 0:n.dataSets)!=null?r:[]}getCurrentDataSet(){let t=this.getAdaptableState().System.CurrentDataSet;return this.getDataSetByName(t)}getDataSetByName(t){return this.getDataSets().find(n=>n.name==t)}setDataSet(t){let n=this.getDataSetByName(t);this.checkItemExists(n,t,"Data Source")&&this.dispatchAction(KD(n))}clearCurrentDataSet(){this.dispatchAction(KD(null))}openDataSetSettingsPanel(){this.showModulePopup(Vp)}};d();var MH=class extends Te{constructor(t){super(t);this.on=(t,n)=>{let r;return t==="AdaptableReady"?(this.emitter.onIncludeFiredOnce(t).then(n),()=>{}):(r=this.emitter.on(t,n),r)};this.off=(t,n)=>this.emitter.off(t,n);this.emit=(t,n)=>this.emitter.emit(t,n);this.emitSync=(t,n)=>this.emitter.emitSync(t,n);this.emitter=new ch}destroy(){super.destroy(),this.emitSync("AdaptableDestroy"),this.emitter.destroy()}};d();d();var NH=class extends Te{isDataChangeInReport(e,t){if(t.Name=="All Data")return!0;if(this.getExportApi().isExternalReport(t))return!1;switch(t.ReportColumnScope){case"AllColumns":break;case"ScopeColumns":if(!this.adaptable.api.scopeApi.isColumnInScopeColumns(e.column,t.Scope))return!1;break;case"SelectedColumns":let n=this.adaptable.api.gridApi.getSelectedCellInfo();if(n&&n.columns.find(r=>r.columnId==e.column.columnId)==null)return!1;break;case"VisibleColumns":if(!e.column.visible)return!1;break}switch(t.ReportRowScope){case"AllRows":return!0;case"ExpressionRows":return!0;case"SelectedCellRows":let n=this.adaptable.api.gridApi.getSelectedCellInfo();return!!(n&&n.gridCells&&n.gridCells.find(i=>i.primaryKeyValue==e.primaryKeyValue));case"SelectedRows":let r=this.adaptable.api.gridApi.getSelectedRowInfo();return!!(r&&r.gridRows&&r.gridRows.find(i=>i.primaryKeyValue==e.primaryKeyValue));case"VisibleRows":return this.adaptable.isRowNodeVisible(e.rowNode)}}getExcelDataType(e){let t=n=>{switch(n){case"abColDefNumber":return"Number";case"abColDefBoolean":return"Boolean";case"abColDefDate":return"DateTime";case"abColDefString":default:return"String"}};if(Array.isArray(e)){let n=e.find(r=>r.startsWith("abColDef"));return n?t(n):"String"}else return t(e)}isVisualDataExportInProgress(){return this.getAdaptableState().System.Export.inProgressVisualData}isDateCellExportedAsFormattedValue(){return!!this.getExportOptions().exportDateFormat||this.getCellExportFormatType("Date")==="formattedValue"}getCellExportFormatType(e){let t=this.getExportOptions();if(t.exportFormatType==="rawValue"||t.exportFormatType==="formattedValue")return t.exportFormatType;switch(e){case"String":return t.exportFormatType.string;case"Number":return t.exportFormatType.number;case"Date":return t.exportFormatType.date;default:return"rawValue"}}isDestinationEnabled(e){return!(e==="Table"&&this.getLayoutApi().internalApi.isLayoutGrouped())}};var LH=class extends Te{constructor(t){super(t);this.internalApi=new NH(t)}getExportState(){return this.getAdaptableState().Export}getCurrentReportName(){return this.getExportState().CurrentReport}getCurrentReport(){let t=this.getCurrentReportName();return this.getReportByName(t)}getReportByName(t){return this.adaptable.ReportService.IsSystemReport(t)?this.adaptable.ReportService.CreateSystemReport(t):this.getReports().find(n=>n.Name==t)}getReportById(t){var n;return(n=this.getReports())==null?void 0:n.find(r=>r.Uuid===t)}getDestinationByName(t){return Object.values(Fp).some(n=>n===t)?t:this.getCustomDestinations().find(n=>n.name===t)}getCurrentDestination(){let t=this.getExportState().CurrentDestination;return t&&this.getDestinationByName(t)}getAvailableSystemReports(){return this.getExportOptions().systemReportNames.filter(t=>this.adaptable.api.internalApi.getReportService().IsSystemReportActive(t))}getAvailableExportDestinations(){let t=[];return this.getExportOptions().systemExportDestinations.forEach(n=>{this.adaptable.api.internalApi.getReportService().IsSystemExportDestinationActive(n)&&t.push(n)}),t}getReports(){let t=this.getAvailableSystemReports().map(r=>this.getReportByName(r)).concat(this.getExportState().Reports),n=this.getExternalReports();return We.IsNotNullOrEmpty(n)&&t.push(...n.map(r=>it.CreateExternalReport(r.name))),t}getReportSchedules(){return this.getAdaptableState().Schedule.ReportSchedules}sendReport(t,n){this.runReport(t,n)}runReport(t,n){let r=this.getReportByName(t);this.checkItemExists(r,t,"Report")&&this.dispatchAction(jE(r,n))}runSystemReport(t,n){this.runReport(t,n)}selectReport(t){this.dispatchAction(WE(t))}selectDestination(t){this.dispatchAction(KE(t))}getCustomDestinations(){var t;return(t=this.getExportOptions().customDestinations)!=null?t:[]}isExportDestinationCustom(t){return this.getCustomDestinations().some(n=>n.name===t)}getExportDestinationForm(t){var n;return(n=this.getCustomDestinations().find(r=>r.name===t))==null?void 0:n.form}canExportToExcel(){return this.adaptable.canExportToExcel()}exportDataToExcel(t,n){this.adaptable.exportToExcel(t,n)}openExportSettingsPanel(){this.showModulePopup(Hi)}editReport(t){return this.dispatchAction(zE(t)),this.getReportById(t.Uuid)}editReports(t){return t.forEach(n=>{this.editReport(n)}),t==null?void 0:t.map(n=>this.getReportById(n.Uuid))}exportVisualDataToExcel(){this.adaptable.exportVisualDataToExcel()}getExternalReports(){var t;return(t=this.getExportOptions().externalReports)!=null?t:[]}isExternalReport(t){var n;return((n=this.getExternalReports())==null?void 0:n.find(r=>r.name==t.Name))!=null}runExternalReport(t){var r;let n=(r=this.getExternalReports())==null?void 0:r.find(i=>i.name==t);if(!n){this.logWarn(`External Report '${t}' not found!`);return}return n.onRunReport()}getReportDataForReport(t){let n=this.getReportByName(t);if(!n){this.logWarn(`Report '${t}' not found!`);return}return this.adaptable.api.internalApi.getReportService().getReportData(n)}isColumnExportable(t){let n=this.getExportOptions().isColumnExportable;return typeof n=="function"?n({adaptableApi:this.adaptable.api,userName:this.getOptions().userName,adaptableId:this.getOptions().adaptableId,adaptableColumn:t}):!0}};d();d();var _H=class extends Te{getAllFormatColumnWithStyle(){return this.getFormatColumnApi().getFormatColumns().filter(e=>e.Style)}getAllFormatColumnWithStyleAndCellAlignment(){return this.getFormatColumnApi().getFormatColumns().filter(e=>e.Style||e.CellAlignment)}getAllFormatColumnWithDisplayFormat(){return this.getFormatColumnApi().getFormatColumns().filter(e=>e.DisplayFormat)}getAllFormatColumnWithCellAlignment(){return this.getFormatColumnApi().getFormatColumns().filter(e=>e.CellAlignment)}getFormatColumnsWithStyleForColumn(e,t){let n=this.getAllFormatColumnWithStyleAndCellAlignment().filter(r=>(t==null?void 0:t.includeSuspended)||!r.IsSuspended);return this.getFormatColumnWithColumnInScope(n,e)}getFormatColumnWithStyleClassNameForColumn(e,t){return this.getFormatColumnsWithStyleForColumn(e,t).filter(n=>{var r;return nt.IsNotNullOrEmpty((r=n==null?void 0:n.Style)==null?void 0:r.ClassName)})}getFormatColumnWithColumnInScope(e,t){return this.getFormatColumnInColumnScope(e).filter(n=>this.adaptable.api.scopeApi.isColumnInScope(t,n.Scope))}getFormatColumnInColumnScope(e){return e.filter(t=>this.adaptable.api.scopeApi.scopeHasColumns(t.Scope)||this.adaptable.api.scopeApi.scopeHasDataType(t.Scope)||this.adaptable.api.scopeApi.scopeIsAll(t.Scope))}getFormatColumnsWithDisplayFormatForColumn(e,t){let n=this.getAllFormatColumnWithDisplayFormat().filter(r=>(t==null?void 0:t.includeSuspended)||!r.IsSuspended);return this.getFormatColumnWithColumnInScope(n,e)}getNumberFormattedValue(e,t,n,r){let i=this.applyCustomFormatters(e,t,n,r);return Ia.NumberFormatter(i,r)}getStringFormattedValue(e,t,n,r){let i=this.applyCustomFormatters(e,t,n,r);return Ia.StringFormatter(i,r)}getDateFormattedValue(e,t,n,r){let i=this.applyCustomFormatters(e,t,n,r);return r.Pattern?Ia.DateFormatter(i,r):i}applyCustomFormatters(e,t,n,r){var c,p,m;let i=(c=r==null?void 0:r.CustomDisplayFormats)!=null?c:[];if(!(i!=null&&i.length))return e;let a=this.adaptable.adaptableOptions,l=((m=(p=a==null?void 0:a.formatColumnOptions)==null?void 0:p.customDisplayFormatters)!=null?m:[]).filter(h=>i.includes(h.id)),u=it.CreateCustomDisplayFormatterContext(e,t,n,this.getAdaptableApi());return l.reduce((h,C)=>C&&C.handler?C.handler(h):h.cellValue,u)}getFormatColumnDefsForScope(e){return this.getAdaptableApi().predicateApi.internalApi.getFormatColumnPredicateDefs(e).filter(t=>this.adaptable.api.scopeApi.isScopeInScope(e,t.columnScope))}isFormatColumnRelevantForColumn(e,t,n){var r,i;if(e.IsSuspended||!e.IncludeGroupedRows&&this.adaptable.api.gridApi.isGroupRowNode(n.node))return!1;if(!e.Rule)return!0;if(e.Rule.Predicates&&((i=(r=e.Rule)==null?void 0:r.Predicates)==null?void 0:i.length)){let a={value:n.value,oldValue:null,displayValue:n.value,node:n.node,column:t,adaptableApi:this.getAdaptableApi(),userName:this.getAdaptableApi().optionsApi.getUserName(),adaptableId:this.getAdaptableApi().optionsApi.getAdaptableId()};return this.evaluatePredicate(e,a)}else if(e.Rule.BooleanExpression)return this.evaluateExpression(e,n.node);return!1}evaluatePredicate(e,t){var n;return this.adaptable.api.predicateApi.handleColumnPredicates((n=e.Rule)==null?void 0:n.Predicates,t,!1)}evaluateExpression(e,t){return this.adaptable.api.expressionApi.isValidBooleanExpression(e.Rule.BooleanExpression,Ui,`Invalid format column rule '${e.Rule.BooleanExpression}'`)&&this.adaptable.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(e.Rule.BooleanExpression,Ui,t)}getFormatColumnsRelevantForColumn(e,t,n){return e.filter(r=>this.isFormatColumnRelevantForColumn(r,t,n))}getMostRelevantFormatColumnForColumn(e,t,n){return e.find(r=>this.isFormatColumnRelevantForColumn(r,t,n))}getFormatColumnsWithExpression(){return this.getFormatColumnApi().getFormatColumns().filter(e=>{var t;return!!((t=e.Rule)!=null&&t.BooleanExpression)})}getFormatColumnsDependentOnColumns(e){return this.getFormatColumnApi().getFormatColumns().filter(t=>{var n,r;return(r=(n=t.Rule)==null?void 0:n.Predicates)==null?void 0:r.some(i=>e.has(i.ColumnId))})}getFormatColumnColumnsDependentOnColumnChange(e){let t=new Set;t.add(e.columnId),this.getCalculatedColumnApi().internalApi.getCalculatedColumnsDependentOnColumn(e).forEach(r=>{t.add(r)});let n=new Set;return this.getFormatColumnsDependentOnColumns(t).forEach(r=>{this.adaptable.api.scopeApi.getColumnsForScope(r.Scope).forEach(i=>{n.add(i.columnId)})}),[...n]}};var kH=class extends Te{constructor(t){super(t);this.internalApi=new _H(t)}getFormatColumnState(){return this.getAdaptableState().FormatColumn}getFormatColumns(t){var n;return(n=this.handleLayoutAssociatedObjects(this.getFormatColumnState().FormatColumns,"FormatColumn",t))!=null?n:[]}getFormatColumnById(t){return this.getFormatColumns({includeLayoutNotAssociatedObjects:!0}).find(n=>n.Uuid===t)}getActiveFormatColumns(t){return this.getFormatColumns(t).filter(n=>!n.IsSuspended)}getSuspendedFormatColumns(t){return this.getFormatColumns(t).filter(n=>n.IsSuspended)}addFormatColumn(t){return this.addUidToAdaptableObject(t),this.dispatchAction(XC(t)),this.getFormatColumnById(t.Uuid)}addFormatColumns(t){return t.forEach(n=>{this.addFormatColumn(n)}),t==null?void 0:t.map(n=>this.getFormatColumnById(n.Uuid))}editFormatColumn(t){return this.dispatchAction(lh(t)),this.getFormatColumnById(t.Uuid)}addFormatColumnStyle(t,n){t.Style=n,this.addFormatColumn(t)}updateFormatColumnStyle(t,n){t.Style=n,this.dispatchAction(lh(t))}deleteFormatColumn(t){this.dispatchAction(qE(t))}suspendFormatColumn(t){return this.dispatchAction(Vk(t)),this.getFormatColumnById(t.Uuid)}unSuspendFormatColumn(t){return this.dispatchAction(Gk(t)),this.getFormatColumnById(t.Uuid)}getFormatColumnsForColumn(t,n){let r=this.getFormatColumns().filter(i=>(n==null?void 0:n.includeSuspended)||!i.IsSuspended);return this.internalApi.getFormatColumnWithColumnInScope(r,t)}getFormatColumnsForColumnId(t,n){let r=this.adaptable.api.columnApi.getColumnWithColumnId(t);return r?this.getFormatColumnsForColumn(r,n):[]}openFormatColumnSettingsPanel(){this.showModulePopup(Ui)}getFormatColumnsWithAllScope(t){return t.filter(n=>this.adaptable.api.scopeApi.scopeIsAll(n.Scope))}getFormatColumnsWithDataTypeScope(t){return t.filter(n=>this.adaptable.api.scopeApi.scopeHasDataType(n.Scope))}getFormatColumnsWithColumnScope(t){return t.filter(n=>this.adaptable.api.scopeApi.scopeHasColumns(n.Scope))}hasCustomDisplayFormatter(t){var i;if(!t||!t.DisplayFormat||!t.DisplayFormat.Options)return!1;let n=t.DisplayFormat.Options,r=(i=n==null?void 0:n.CustomDisplayFormats)!=null?i:[];return!!(r!=null&&r.length)}incrementFormatColumnPrecedence(t){this.dispatchAction(kk(t))}decrementFormatColumnPrecedence(t){this.dispatchAction(Bk(t))}findFormatColumns(t){return this.getAdaptableApi().internalApi.findAdaptableObjectsByLookupCriteria(t,this.getFormatColumns({includeLayoutNotAssociatedObjects:!0}))}};d();d();var BH=class extends Te{handleFreeTextColumnDataChange(e){let t=this.getFreeTextColumnApi().getFreeTextColumns().find(r=>r.ColumnId==e.column.columnId);if(t){let r={PrimaryKey:e.primaryKeyValue,FreeText:e.newValue};this.getFreeTextColumnApi().setStoredValue(t.ColumnId,r);var n=[e.column.columnId];this.adaptable.api.calculatedColumnApi.internalApi.getCalculatedColumnsReferencingColumnId(e.column.columnId).forEach(a=>{n.push(a.ColumnId)}),this.adaptable.refreshCells([e.rowNode],n,!1)}}getFreeTextColumnModuleReferences(e){let t=[];return this.adaptable.adaptableModules.forEach(n=>{n.getModuleFreeTextColumnReferences().some(r=>r.Uuid===e.Uuid)&&t.push(n.moduleInfo.FriendlyName)}),t}};var VH=class extends Te{constructor(t){super(t);this.internalApi=new BH(t)}getFreeTextColumnState(){return this.getAdaptableState().FreeTextColumn}getFreeTextColumns(){var t;return(t=this.getFreeTextColumnState().FreeTextColumns)!=null?t:[]}getFreeTextColumnById(t){return this.getFreeTextColumns().find(n=>n.Uuid===t)}getFreeTextColumnForColumnId(t){return this.getFreeTextColumns().find(n=>n.ColumnId===t)}addFreeTextColumn(t){return this.addUidToAdaptableObject(t),this.dispatchAction(ZC(t)),this.getFreeTextColumnById(t==null?void 0:t.Uuid)}editFreeTextColumn(t){return this.dispatchAction(Kf(t)),this.getFreeTextColumnById(t==null?void 0:t.Uuid)}setStoredValue(t,n){let r=this.getFreeTextColumnForColumnId(t);if(!r){this.logWarn(`No FreeTextColumn with columnId=${t} was found!`);return}return this.dispatchAction(nSe(r,n)),this.getFreeTextColumnById(r==null?void 0:r.Uuid)}setStoredValues(t,n,r){let i=this.getFreeTextColumnForColumnId(t);if(i){if(r=="All")i.FreeTextStoredValues=n;else{let a=We.IsNotNullOrEmpty(i.FreeTextStoredValues)?i.FreeTextStoredValues.map(s=>s.PrimaryKey):[];n.forEach(s=>{if(a.find(u=>u==s.PrimaryKey))if(r=="Conflicting"){let u=i.FreeTextStoredValues.find(c=>c.PrimaryKey==s.PrimaryKey);u&&(u.FreeText=s.FreeText)}else i.FreeTextStoredValues.push(s);else i.FreeTextStoredValues.push(s)})}this.dispatchAction(Kf(i))}}deleteFreeTextColumn(t){let n=this.getFreeTextColumns().find(r=>r.ColumnId==t);this.checkItemExists(n,t,Pa)&&this.dispatchAction(ZE(n))}openFreeTextColumnSettingsPanel(){this.showModulePopup(Pa)}getFreeTextColumnValueForRowNode(t,n){try{if(this.adaptable.api.gridApi.isGroupRowNode(n))return null;if(We.IsNotNullOrEmpty(t.FreeTextStoredValues)){let r=this.adaptable.getPrimaryKeyValueFromRowNode(n),i=t.FreeTextStoredValues.find(a=>a.PrimaryKey==r);if(i)return i.FreeText}return t.DefaultValue}catch(r){return this.logError(r),null}}};d();d();d();function jxt(o){let e="";return o>=1e9?e=(o/1e9).toFixed(1)+"B":o>=1e6?e=(o/1e6).toFixed(1)+"M":o>=1e3?e=(o/1e3).toFixed(1)+"K":e=o.toString(),e}function Kxt(o){return" ("+o+")"}var Qxt={abbreviateNumber:jxt,WrapInParentheses:Kxt},mDe=Qxt;var GH=class extends Te{fireGridSortedEvent(){if(this.adaptable.isLive){let e=this.adaptable.api.configApi.getAdaptableSortState(),t=this.getAdaptableApi(),n={adaptableSortState:e,adaptableApi:t,userName:t.optionsApi.getUserName(),adaptableId:t.optionsApi.getAdaptableId()};t.eventApi.emit("GridSorted",n)}}fireCellChangedEvent(e){if(this.adaptable.isLive){let t={adaptableApi:this.adaptable.api,cellChange:e,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.api.optionsApi.getAdaptableId()};this.adaptable.api.eventApi.emit("CellChanged",t)}}fireGridDataChangedEvent(e,t,n){if(this.adaptable.isLive){let r={changedAt:Date.now(),adaptableApi:this.adaptable.api,rowTrigger:n,dataRows:e,rowNodes:t,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.api.optionsApi.getAdaptableId()};this.adaptable.api.eventApi.emit("GridDataChanged",r)}}getDistinctDisplayValuesForColumn(e){let t=this.getColumnApi().getColumnWithColumnId(e);if(t==null)return[];let n=this.adaptable.getDistinctValuesForColumn(t,!1);return this.sortDistinctValues(n,t).map(r=>r.normalisedValue)}async getDistinctFilterDisplayValuesForColumn(e,t,n){let r=this.getColumnApi().getColumnWithColumnId(e);if(r==null)return{values:[],suppressClientSideFilter:!1};let{gridCells:i,suppressClientSideFilter:a}=await this.adaptable.getDistinctFilterValuesForColumn(r,n,t),s=!1,l=this.getFilterOptions().showValuesCount;return l&&(s=l(r)),{values:this.sortDistinctValues(i,r).map(u=>({label:s?u.displayValue+mDe.WrapInParentheses(this.getGridApi().getCellDisplayValueCount(r.columnId,u.displayValue)):u.displayValue,value:u.normalisedValue})),suppressClientSideFilter:a}}async getDistinctCustomSortDisplayValuesForColumn(e){let t=this.getColumnApi().getColumnWithColumnId(e);if(t==null)return[];let n=await this.adaptable.getDistinctCustomSortValuesForColumn(t,!1);return this.sortDistinctValues(n,t).map(r=>r.normalisedValue)}async getDistinctBulkUpdateDisplayValuesForColumn(e,t){let n=this.getColumnApi().getColumnWithColumnId(e);if(n==null)return[];let r=await this.adaptable.getDistinctBulkUpdateValuesForColumn(n,!1,t);return this.sortDistinctValues(r,n).map(i=>i.normalisedValue)}getDistinctVisibleDisplayValuesForColumn(e){let t=this.getColumnApi().getColumnWithColumnId(e);if(t==null)return[];let n=this.adaptable.getDistinctValuesForColumn(t,!0);return this.sortDistinctValues(n,t).map(r=>r.normalisedValue)}getDistinctRawValuesForColumn(e,t){let n=this.getColumnApi().getColumnWithColumnId(e);return n==null?[]:this.sortDistinctValues(this.getUnsortedDistinctRawValuesForColumn(e,t),n).map(r=>r.rawValue)}getUnsortedDistinctRawValuesForColumn(e,t){let n=this.getColumnApi().getColumnWithColumnId(e);return n==null?[]:this.adaptable.getDistinctValuesForColumn(n,!1,t)}getDistinctVisibleRawValuesForColumn(e){let t=this.getColumnApi().getColumnWithColumnId(e);if(t==null)return[];let n=this.adaptable.getDistinctValuesForColumn(t,!0);return this.sortDistinctValues(n,t).map(r=>r.rawValue)}sortDistinctValues(e,t){let n="Asc";if(this.getFilterOptions().sortColumnValuesInFilter){let r=this.adaptable.api.gridApi.getColumnSortForColumn(t.columnId);r&&r.SortOrder=="Desc"&&(n="Desc")}return this.getColumnApi().hasNumberDataType(t==null?void 0:t.columnId)?e=We.sortCellValueArrayNumeric(e,n):this.getColumnApi().hasDateDataType(t==null?void 0:t.columnId)?e=We.sortCellValueArrayDates(e,n):e=We.sortCellValueArray(e,n),e}setColumns(e){this.dispatchAction(Gye(e))}setSelectedCells(e){this.dispatchAction(Wye(e))}setSelectedRows(e){this.dispatchAction(zye(e))}buildStandaloneColumnHeader(e){return this.adaptable.buildStandaloneColumnHeader(e)}getEditLookUpValuesForColumn(e,t,n){if(!e||!t)return;let r=e.values;if(r!=null&&typeof r=="function"){let i={adaptableApi:this.adaptable.api,userName:this.getOptions().userName,adaptableId:this.getOptions().adaptableId,column:t,gridCell:n};return r(i)}else{let i=r;if(i&&We.IsNotNullOrEmpty(i))return i}return this.getDistinctDisplayValuesForColumn(t.columnId)}};var HH=class extends Te{constructor(t){super(t);this.internalApi=new GH(t)}getGridState(){return this.getAdaptableState().Grid}resetGridData(t){this.adaptable.setGridData(t);let n=this.getAllRowNodes();this.internalApi.fireGridDataChangedEvent(t,n,"Add")}setInitialGridData(t){this.adaptable.setGridData(t)}getGridData(){return this.adaptable.getGridData()}getFilteredData(){return this.adaptable.getFilteredData()}async updateGridData(t,n){let r=await this.adaptable.updateRows(t,n);return this.internalApi.fireGridDataChangedEvent(t,r,"Edit"),r}async addOrUpdateGridData(t,n){let r=[],i=[],a=this.getOptions().primaryKey;t.forEach(l=>{this.getRowNodeForPrimaryKey(l[a])?i.push(l):r.push(l)});let s=[];if(We.IsNotNullOrEmpty(i)){let l=await this.adaptable.updateRows(i,n);this.internalApi.fireGridDataChangedEvent(t,l,"Edit"),(await s).push(...l)}if(We.IsNotNullOrEmpty(r)){let l=await this.adaptable.addRows(r,n);this.internalApi.fireGridDataChangedEvent(t,l,"Add"),(await s).push(...l)}return s}async addGridData(t,n){let r=await this.adaptable.addRows(t,n);return this.internalApi.fireGridDataChangedEvent(t,r,"Add"),r}undoCellEdit(t){this.adaptable.api.internalApi.getDataService().logUndoChange(t);let n={columnId:t.column.columnId,newValue:t.oldValue,primaryKeyValue:t.primaryKeyValue,rowNode:t.rowNode};return this.setCellValue(n),!0}async deleteGridData(t,n){if(this.checkArrayExists(t)){let r=await this.adaptable.deleteRows(t,n);return this.internalApi.fireGridDataChangedEvent(t,r,"Delete"),r}return[]}setCellValue(t){var i;let n=this.adaptable.api.columnApi.getColumnWithColumnId(t.columnId);if(!n){this.logWarn(`setCellValue() - column not found for columnId: ${t.columnId}`);return}let r=(i=t.rowNode)!=null?i:this.getRowNodeForPrimaryKey(t.primaryKeyValue);if(!r){this.logWarn(`setCellValue() - rowNode not found for primaryKeyValue: ${t.primaryKeyValue}`);return}this.adaptable.setDataValue(t.newValue,n,t.primaryKeyValue,r)}setCellValues(t){t==null||t.forEach(n=>this.setCellValue(n))}getSelectedCellInfo(){return this.getGridState().SelectedCellInfo}getSelectedRowInfo(){return this.getGridState().SelectedRowInfo}getCellDisplayValue(t,n){let r=this.getRowNodeForPrimaryKey(t);return r?this.getDisplayValueFromRowNode(r,n):void 0}getCellRawValue(t,n){let r=this.getRowNodeForPrimaryKey(t);return r?this.getRawValueFromRowNode(r,n):void 0}getCellNormalisedValue(t,n){let r=this.getRowNodeForPrimaryKey(t);return r?this.getNormalisedValueFromRowNode(r,n):void 0}hideFilterForm(){this.adaptable.hideFilterForm()}applyGridFiltering(){this.adaptable.applyGridFiltering()}clearGridFiltering(){this.adaptable.api.filterApi.clearColumnFilters()}getAgGridInstance(){return this.adaptable.gridOptions}getColumnSorts(){return this.getAdaptableState().Grid.ColumnSorts}getColumnSortForColumn(t){let n=this.getColumnSorts();return n==null?void 0:n.find(r=>r.ColumnId==t)}setAdaptableSorting(t){this.adaptable.setColumnSort(t),this.setColumnSorts(t)}clearAdaptableSorting(){this.adaptable.clearColumnSort(),this.clearColumnSorts()}setColumnSorts(t){this.dispatchAction(Hye(t))}clearColumnSorts(){this.dispatchAction(Uye())}selectRow(t,n){this.selectNode(this.getRowNodeForPrimaryKey(t),n)}selectRows(t,n){let r=[];t.forEach(i=>{r.push(this.getRowNodeForPrimaryKey(i))}),this.selectNodes(r,n)}selectNode(t,n){this.adaptable.selectNode(t,n)}selectNodes(t,n){this.adaptable.selectNodes(t,n)}deSelectRow(t,n){this.adaptable.deSelectNode(this.getRowNodeForPrimaryKey(t),n)}deSelectRows(t,n){let r=[];t.forEach(i=>{r.push(this.getRowNodeForPrimaryKey(i))}),this.deSelectNodes(r,n)}deSelectNode(t,n){this.adaptable.deSelectNode(t,n)}deSelectNodes(t,n){this.adaptable.deSelectNodes(t,n)}getSelectionStartEndNodes(t){let n,r;return n=t.primaryKeyValueEnd?this.adaptable.getRowNodeForPrimaryKey(t.primaryKeyValueStart):this.adaptable.getRowNodeByIndex(t.rowIndexStart),t.primaryKeyValueEnd?r=this.adaptable.getRowNodeForPrimaryKey(t.primaryKeyValueEnd):t.rowIndexEnd?r=this.adaptable.getRowNodeByIndex(t.rowIndexEnd):r=n,[n,r]}selectCellRange(t,n){if(t==null||t.primaryKeyValueStart==null&&t.rowIndexStart==null)return;let[r,i]=this.getSelectionStartEndNodes(t);r&&i&&this.adaptable.selectCells(t.columnIds,r,i,n)}selectCellRangeByQuery(t,n,r){let i=[],a=c=>this.adaptable.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(t,"GridInfo",c);if(n){let[c,p]=this.getSelectionStartEndNodes(n);for(let m=c.rowIndex;m<=p.rowIndex;m++){let h=this.adaptable.getRowNodeByIndex(m);a(h)&&i.push(h)}}else this.adaptable.forAllRowNodesDo(c=>{a(c)&&i.push(c)});if(!i.length)return;let s=n;s||(s={columnIds:this.adaptable.api.layoutApi.getCurrentLayout().Columns});let l=i.reduce((c,p,m,h)=>{let C=c[c.length-1];C.startNode===void 0&&(C.startNode=p);let y=h[m+1];return y&&y.rowIndex-1!==p.rowIndex&&(C.endNode=p,c.push({})),m===h.length-1&&(C.endNode=p),c},[{}]),u=r;l.forEach(c=>{this.adaptable.selectCells(s.columnIds,c.startNode,c.endNode,u),u=!1})}selectColumn(t){this.selectColumns([t])}selectColumns(t){this.adaptable.api.columnApi.selectColumns(t)}getFirstRowNode(){return this.adaptable.getFirstRowNode()}getFirstDisplayedRowNode(){return this.adaptable.getFirstDisplayedRowNode()}getVisibleRowNodes(t){return this.adaptable.getVisibleRowNodes()}getAllRowNodes(t){return this.adaptable.getAllRowNodes(t)}getGroupRowNodes(t){return this.adaptable.getGroupRowNodes(t)}getGridCellFromRowNode(t,n){return this.adaptable.getGridCellFromRowNode(t,n)}getRawValueFromRowNode(t,n){return this.adaptable.getRawValueFromRowNode(t,n)}getDisplayValueFromRowNode(t,n){return this.adaptable.getDisplayValueFromRowNode(t,n)}getDisplayValueFromRawValue(t,n,r){return this.adaptable.getDisplayValueFromRawValue(t,n,r)}getNormalisedValueFromRowNode(t,n){let r=this.adaptable.getRawValueFromRowNode(t,n),i=this.adaptable.api.columnApi.getColumnWithColumnId(n);return this.adaptable.getNormalisedValueFromRawValue(r,i)}getRowNodesForPrimaryKeys(t){return this.adaptable.getRowNodesForPrimaryKeys(t)}getRowNodeForPrimaryKey(t){return this.adaptable.getRowNodeForPrimaryKey(t)}getPrimaryKeyValueForRowNode(t){return this.adaptable.getPrimaryKeyValueFromRowNode(t)}getRowNodeForIndex(t){return this.adaptable.getRowNodeByIndex(t)}getPrimaryKeyValuesForRowNodes(t){return t.map(n=>this.getPrimaryKeyValueForRowNode(n))}setRowGroupColumns(t){this.adaptable.setRowGroupColumns(t)}clearRowGroupColumns(){this.adaptable.clearRowGroupColumns()}expandAllRowGroups(){this.adaptable.expandAllRowGroups()}collapseAllRowGroups(){this.adaptable.closeAllRowGroups()}getExpandRowGroupsKeys(){return this.adaptable.getExpandRowGroupsKeys()}expandRowGroupsForValues(t){this.adaptable.expandRowGroupsForValues(t)}isGridPivotable(){return this.adaptable.isGridPivotable()}isGridGroupable(){return this.adaptable.isGridGroupable()}isGridSelectable(){return this.adaptable.isGridSelectable()}isGridRowGrouped(){return this.adaptable.isGridGroupingActive()}isGroupRowNode(t){return this.adaptable.isGroupRowNode(t)}isQuickFilterAvailable(){return this.adaptable.isQuickFilterAvailable()}redrawGrid(){this.adaptable.redrawBody(),this.adaptable.redrawHeader()}getGridCellsForRawValue(t,n){let r=this.adaptable.getGridCellsForColumn(t);if(!r)return;let i=[];return r.forEach(a=>{a.rawValue===n&&i.push(a)}),i}getCellRawValueCount(t,n){let r=this.getGridCellsForRawValue(t,n);return r==null?void 0:r.length}getGridCellsForDisplayValue(t,n){let r=this.adaptable.getGridCellsForColumn(t);if(!r)return;let i=[];return r.forEach(a=>{a.displayValue===n&&i.push(a)}),i}getCellDisplayValueCount(t,n){let r=this.getGridCellsForDisplayValue(t,n);return r==null?void 0:r.length}jumpToRow(t){let n=this.adaptable.getRowNodeForPrimaryKey(t);this.adaptable.jumpToRow(n)}jumpToColumn(t){this.adaptable.jumpToColumn(t)}jumpToCell(t,n){let r=this.adaptable.getRowNodeForPrimaryKey(t);this.adaptable.jumpToCell(n,r)}highlightCell(t){this.dispatchAction(bme(t)),t.timeout&&setTimeout(()=>{this.unHighlightCell(t.primaryKeyValue,t.columnId)},t.timeout)}unHighlightCell(t,n){this.dispatchAction(Sme(t,n))}unHighlightAllCells(){this.dispatchAction(vme())}highlightRow(t){this.dispatchAction(Ame(t)),t.timeout&&setTimeout(()=>{this.unHighlightRow(t.primaryKeyValue)},t.timeout)}highlightRows(t){this.dispatchAction(xme(t)),t.timeout&&setTimeout(()=>{this.unHighlightRows(t.primaryKeyValues)},t.timeout)}unHighlightRow(t){this.dispatchAction(Rme(t))}unHighlightRows(t){this.dispatchAction(Eme(t))}unHighlightAllRows(){this.dispatchAction(wme())}refreshCells(t,n){this.adaptable.refreshCells(t,n,!0)}refreshColumn(t){this.adaptable.refreshCells(null,[t],!0)}refreshColumns(t){this.adaptable.refreshCells(null,t,!0)}refreshRowByPrimaryKey(t){let n=this.getRowNodeForPrimaryKey(t);this.refreshRowNode(n)}refreshRowNode(t){this.adaptable.redrawRow(t)}refreshRowNodes(t){this.adaptable.redrawRows(t)}refreshGroupRowNodes(){this.getAgGridInstance().api.refreshClientSideRowModel("group"),this.adaptable.updateRowGroupsExpandedState()}isCellEditable(t){return!t||!t.column||t.column.readOnly?!1:this.adaptable.isCellEditable(t.rowNode,this.adaptable.getAgGridColumnForColumnId(t.column.columnId))}isEveryCellEditable(t){for(let n of t)if(!this.isCellEditable(n))return!1;return!0}getRowCount(){return this.adaptable.getRowCount()}getVisibleRowCount(){return this.adaptable.getVisibleRowCount()}getRowsInViewport(){return this.adaptable.getRowsInViewport()}getColumnCount(){return this.adaptable.getColumnCount()}getVisibleColumnCount(){return this.adaptable.getVisibleColumnCount()}selectAll(){this.adaptable.selectAll()}deselectAll(){this.adaptable.deselectAll()}destroy(){this.adaptable.destroy()}getGridContainerElement(){return this.adaptable.getAgGridContainerElement()}openGridInfoSettingsPanel(){this.showModulePopup(Vf)}getRowModelType(){return this.adaptable.getRowModelType()}};d();d();var jX=I(tE());var UH=class extends Te{fireLayoutChangedEvent(e,t,n,r){let i=this.getAdaptableApi(),a={adaptableApi:i,actionName:e,oldLayoutState:t,newLayoutState:n,userName:i.optionsApi.getUserName(),adaptableId:i.optionsApi.getAdaptableId()};!r&&(0,jX.default)(t,n)||this.adaptable.api.eventApi.emit("LayoutChanged",a)}areLayoutsEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let n={ColumnSorts:[],ColumnWidthMap:{},RowGroupedColumns:[]};return e=S(S({},n),e),t=S(S({},n),t),(0,jX.default)(e,t)}createDefaultLayoutIfNeeded(){let e=this.getAdaptableApi().gridApi.getGridState(),t=this.getLayoutApi().getLayoutState(),n=s=>!!t.Layouts.filter(l=>l.Name===s)[0],r=e.Columns.filter(s=>s.visible),i=e.Columns.reduce((s,l)=>(s[l.columnId]=l,s),{}),a=this.getLayoutOptions().createDefaultLayout;if((!t.Layouts||!t.Layouts.length)&&(a=!0),a&&(!t.Layouts||!n(NC))){let s=it.CreateEmptyLayout({Name:NC,Columns:r.map(l=>l.columnId),AggregationColumns:r.reduce((l,u)=>(u.aggregationFunction&&(l[u.columnId]=u.aggregationFunction),l),{}),PinnedColumnsMap:r.reduce((l,u)=>(u.pinned&&(l[u.columnId]=u.pinned),l),{})},e.Columns);return this.getLayoutApi().createOrUpdateLayout(s),s}}areExpandedRowGroupsSavedInLayouts(){return this.getLayoutOptions().displayRowGroups==="dynamic"}areDraftAndCurrentLayoutEqual(){let e=this.getAdaptableState(),t=this.getLayoutApi().getLayoutByName(e.Layout.CurrentLayout),n=e.Grid.CurrentLayout;return this.areLayoutsEqual(t,n)}getLayoutSupportedFeatures(){let e={RowGroupedColumns:!0,AggregationColumns:!0,PivotColumns:!0,ColumnFilters:!0,ColumnSorts:!0};return this.getGridApi().getRowModelType()==="viewport"&&(e.RowGroupedColumns=!1,e.AggregationColumns=!1,e.PivotColumns=!1),e}updateCurrentDraftLayout(e){this.dispatchAction(ah(e))}hasLayoutSpecificObjects(){let e=this.getLayoutOptions().layoutTagOptions;return e?e.autoCheckTagsForLayouts==!0||typeof(e==null?void 0:e.isObjectAvailableInLayout)=="function":!1}isObjectAvailableInLayout(e,t,n){var a;if(!this.hasLayoutSpecificObjects())return!0;let r=this.getLayoutOptions().layoutTagOptions;if((r==null?void 0:r.autoCheckTagsForLayouts)==!0)return We.IsNullOrEmpty(e.Tags)?!0:(a=e.Tags)==null?void 0:a.includes(n.Name);let i={adaptableObject:e,module:t,layout:n,adaptableApi:this.getAdaptableApi(),userName:this.getOptions().userName,adaptableId:this.getOptions().adaptableId};return r==null?void 0:r.isObjectAvailableInLayout(i)}showLayoutNotAssociatedObjects(){return this.getAdaptableState().System.ShowLayoutNotAssociatedObjects}isLayoutGrouped(e){var t;return e||(e=this.getLayoutApi().getCurrentLayout()),((t=e==null?void 0:e.RowGroupedColumns)==null?void 0:t.length)>0}};var WH=class extends Te{constructor(t){super(t);this.shouldAutoSaveLayouts=()=>{var t;return(t=this.getLayoutOptions())==null?void 0:t.autoSaveLayouts};this.internalApi=new UH(t)}getLayoutState(){return this.getAdaptableState().Layout}getCurrentVisibleColumnIdsMap(){return this.getCurrentLayout().Columns.reduce((n,r)=>(n[r]=!0,n),{})}getCurrentVisibleColumnIds(){return this.getCurrentLayout().Columns}setLayout(t){if(nt.IsNotNullOrEmpty(t)&&t!==this.getCurrentLayoutName()){let n=this.getAdaptableState().Layout.Layouts.find(r=>r.Name==t);this.checkItemExists(n,t,"Layout")&&this.dispatchAction(ih(t))}}getCurrentLayout(){let t=this.getAdaptableState();if(t.Grid.CurrentLayout)return t.Grid.CurrentLayout;let n=t.Layout.CurrentLayout;return this.getLayoutByName(n)||it.CreateEmptyLayout({Name:NC})}getCurrentLayoutColumnSort(t){var r,i,a,s;let n=this.getCurrentLayout();return(s=(a=(i=(r=n==null?void 0:n.ColumnSorts)==null?void 0:r.find)==null?void 0:i.call(r,l=>l.ColumnId===t))==null?void 0:a.SortOrder)!=null?s:null}getCurrentLayoutName(){return this.getAdaptableState().Layout.CurrentLayout}getLayoutByName(t){if(nt.IsNotNullOrEmpty(t)){let n=this.getLayouts().find(r=>r.Name==t);if(this.checkItemExists(n,t,"Layout"))return n}}getLayouts(){var t;return(t=this.getAdaptableState().Layout.Layouts)!=null?t:[]}getLayoutById(t){var n;return(n=this.getLayouts())==null?void 0:n.find(r=>(r==null?void 0:r.Uuid)===t)}saveCurrentLayout(){var n;let t=this.getCurrentLayout();(n=this.getLayoutOptions())!=null&&n.autoSaveLayouts||(t=this.getAdaptableState().Grid.CurrentLayout||t),t&&this.createOrUpdateLayout(t)}doesLayoutExist(t){return t==null?!1:this.getLayouts().find(r=>r.Uuid==t.Uuid||r.Name===t.Name)!=null}createAndSetLayout(t){let n=this.createLayout(t);return n&&this.setLayout(t.Name),n}createLayout(t){if(this.doesLayoutExist(t))return this.logError("Cannot create layout with the Name: '"+t.Name+"' as it already exists"),!1;let n=it.CreateEmptyLayout(S({},t));return this.addUidToAdaptableObject(n),this.dispatchAction($C(n)),n}cloneAndSetLayout(t,n){let r=this.cloneLayout(t,n);return r&&this.setLayout(n),r}cloneLayout(t,n){if(!this.doesLayoutExist(t))return this.logError("Cannot clone layout with Name: '"+n+"' as other Layout does not exist"),!1;let r=yn.cloneObject(t);return r.Uuid=Gt(),r.Name=n,this.dispatchAction($C(r)),this.getLayoutById(r.Uuid)}setColumnCaption(t,n){if(nt.IsNotNullOrEmpty(t)&&nt.IsNotNullOrEmpty(n)){let r=this.getCurrentLayoutName();nt.IsNotNullOrEmpty(r)&&this.dispatchAction(ck(r,t,n))}}createOrUpdateLayout(t){this.doesLayoutExist(t)?this.dispatchAction(rh(t)):this.createLayout(t)}showChangeColumnCaption(t){this.dispatchAction(She({Header:`Change caption for '${t.friendlyName}'`,Msg:"",DefaultValue:t.friendlyName,ConfirmActionCreator:n=>n!==t.friendlyName&&ck(this.getCurrentLayoutName(),t.columnId,n)}))}openLayoutSettingsPanel(){this.showModulePopup(Su)}showLayoutEditor(t,n="Edit"){let r=n;["Edit","New","Clone"].includes(n)||(r="Edit",this.logError(`When opening the layout editor the action must be one of: New, Clone, Edit; given: ${n}`));let i=t?this.getLayoutByName(t):this.getCurrentLayout();r==="New"&&(i=null),this.showModulePopup(Su,{source:"Toolbar",action:r,value:i})}isCurrentLayoutReadOnly(){let t=this.getCurrentLayout();return t?t.IsReadOnly:!0}deleteLayout(t){if(t.Name===NC){this.logWarn("The Default Layout cannot be deleted");return}if(this.getLayouts().length===1){this.logWarn("You cannot delete the only Layout. AdapTable always requires one layout");return}this.dispatchAction(GE(t))}deleteLayoutByName(t){let n=this.getLayoutByName(t);if(!n){this.logWarn("No Layout exists with that name");return}return this.deleteLayout(n)}isDefaultLayout(t){return t.Name===NC}isCurrentLayoutDefault(){return this.isDefaultLayout(this.getCurrentLayout())}removeColumnFromCurrentLayout(t){this.removeColumnFromLayout(t,this.getCurrentLayoutName())}removeColumnFromAllLayouts(t){this.getLayouts().forEach(n=>{this.removeColumnFromLayout(t,n.Name)})}removeColumnFromLayout(t,n){if(this.getAdaptableApi().columnApi.getColumnWithColumnId(t)){let i=this.getLayoutByName(n);i&&i.Columns.includes(t)&&(this.dispatchAction(gye(n,t)),this.getAdaptableApi().columnApi.hideColumn(t))}}getLayoutSupportedFeatures(){let t={RowGroupedColumns:!0,AggregationColumns:!0,PivotColumns:!0,ColumnFilters:!0,ColumnSorts:!0};return this.getGridApi().getRowModelType()==="viewport"&&(t.RowGroupedColumns=!1,t.AggregationColumns=!1,t.PivotColumns=!1),t}};d();var zH=class extends Te{getPlusMinusState(){return this.getAdaptableState().PlusMinus}getAllPlusMinus(e){var n;return((n=this.handleLayoutAssociatedObjects(this.getPlusMinusState().PlusMinusNudges,"PlusMinus",e))!=null?n:[]).filter(r=>r.Rule==null||r.Rule.BooleanExpression!=null)}getPlusMinusById(e){return this.getAllPlusMinus().find(t=>(t==null?void 0:t.Uuid)===e)}getAllActivePlusMinus(){return this.getAllPlusMinus().filter(e=>!e.IsSuspended)}getAllSuspendedPlusMinus(){return this.getAllPlusMinus().filter(e=>e.IsSuspended)}runPlusMinusNudge(e,t,n){this.adaptable.adaptableModules.get(di).applyPlusMinus([e],t,n)}applyPlusMinus(e){this.dispatchAction(pbe(e))}openPlusMinusSettingsPanel(){this.showModulePopup(di)}editPlusMinusNudge(e){return this.dispatchAction(jf(e)),this.getPlusMinusById(e.Uuid)}suspendPlusMinusNudge(e){return this.dispatchAction(bk(e)),this.getPlusMinusById(e.Uuid)}unSuspendPlusMinusNudge(e){return this.dispatchAction(Sk(e)),this.getPlusMinusById(e.Uuid)}addPlusMinusNudge(e){return this.addUidToAdaptableObject(e),this.dispatchAction(YC(e)),this.getPlusMinusById(e.Uuid)}};d();var jH=class extends Te{getQuickSearchState(){return this.getAdaptableState().QuickSearch}runQuickSearch(e){this.dispatchAction(Kp(e))}clearQuickSearch(){this.dispatchAction(Kp(""))}getQuickSearchValue(){return this.getQuickSearchState().QuickSearchText}getQuickSearchStyle(){return this.getQuickSearchState().Style}setQuickSearchStyle(e){this.dispatchAction(Tk(e))}openQuickSearchSettingsPanel(){this.showModulePopup(kl)}showFloatingQuickSearch(){this.dispatchAction(v8(!0))}hideFloatingQuickSearch(){this.dispatchAction(v8(!1))}};d();var KH=class extends Te{getShortcutState(){return this.getAdaptableState().Shortcut}getShortcuts(e){var t;return(t=this.handleLayoutAssociatedObjects(this.getShortcutState().Shortcuts,"Shortcut",e))!=null?t:[]}getShortcutById(e){return this.getShortcuts().find(t=>(t==null?void 0:t.Uuid)===e)}getActiveShortcuts(){return this.getShortcuts().filter(e=>!e.IsSuspended)}getSuspendedShortcuts(){return this.getShortcuts().filter(e=>e.IsSuspended)}addShortcut(e){return this.addUidToAdaptableObject(e),this.dispatchAction(BE(e)),this.getShortcutById(e.Uuid)}deleteShortcut(e){this.dispatchAction(rk(e))}deleteAllShortcuts(){this.getShortcuts().forEach(e=>{this.deleteShortcut(e)})}suspendShortcut(e){return this.dispatchAction(ik(e)),this.getShortcutById(e.Uuid)}unSuspendShortcut(e){return this.dispatchAction(ak(e)),this.getShortcutById(e.Uuid)}openShortcutSettingsPanel(){this.showModulePopup(Gp)}};d();var QH=class extends Te{setSmartEditOperation(e){this.dispatchAction(JS(e))}getSmartEditOperation(){return this.getAdaptableState().System.SmartEditOperation}setSmartEditValue(e){this.dispatchAction(hE(e))}getSmartEditValue(){return this.getAdaptableState().System.SmartEditValue}openSmartEditSettingsPanel(){this.showModulePopup(Bl)}applySmartEdit(e){this.dispatchAction(eye(e))}getSmartEditCustomOperations(){var e;return(e=this.getEditOptions().smartEditCustomOperations)!=null?e:[]}setCustomSmartEditOperation(e){let t=this.getSmartEditCustomOperations().find(n=>n.name==e);t&&this.dispatchAction(JS(t))}};d();d();var $H=class extends Te{findPredicateDefByShortcut(e,t){return this.getFilterApi().getFilterPredicateDefsForColumn(t).find(n=>{var r;return(r=this.getPredicateDefShortcuts(n))==null?void 0:r.includes(e)})}createValuesColumnFilterForCells(e){if(!e)return null;let t={ColumnId:e[0].column.columnId,Predicate:{PredicateId:"Values",Inputs:[...new Set(e.map(r=>r.displayValue))]}},[n]=this.getFilterApi().setColumnFilters([t])||[null];return n}createEqualityColumnFilterForCell(e){if(!e)return null;let t=e.column,n={ColumnId:t.columnId,Predicate:{PredicateId:this.adaptable.api.predicateApi.internalApi.getEqualityPredicateForDataType(t.dataType),Inputs:[...new Set([e.rawValue])]}},[r]=this.getFilterApi().setColumnFilters([n])||[null];return r}columnFilterToString(e){let t=this.adaptable.api.columnApi.getFriendlyNameForColumnId(e.ColumnId);return"["+t+"] "+this.adaptable.api.predicateApi.predicateToString(e.Predicate)}columnFiltersToString(e){return e.map(t=>this.columnFilterToString(t)).join(", ")}evaluateColumnFilter(e,t){var l;if(!e.Predicate||((l=e.Predicate.Inputs)==null?void 0:l.some(u=>typeof u=="string"?nt.IsNullOrEmpty(u):typeof u=="number"?isNaN(u):!u)))return!0;let r=this.getAdaptableApi().columnApi.getColumnWithColumnId(e.ColumnId);if(!r)return!0;let i=this.getAdaptableApi().gridApi.getGridCellFromRowNode(t,e.ColumnId);if(!i)return!0;let s={value:i.normalisedValue,oldValue:null,displayValue:i.displayValue,node:t,column:r,adaptableApi:this.getAdaptableApi(),userName:this.getAdaptableApi().optionsApi.getUserName(),adaptableId:this.getAdaptableApi().optionsApi.getAdaptableId()};return this.adaptable.api.predicateApi.handlePredicate(e.Predicate,s,!0)}shouldNewColumnFilterTriggerGridFiltering(e){var l,u;let t=e.type===yv&&this.adaptable.api.filterApi.isFilterActive(e.columnFilter),n=e.type===Av&&this.adaptable.api.filterApi.isFilterActive(e.columnFilter),r=e.type===vv&&this.adaptable.api.filterApi.getColumnFilters().some(c=>this.adaptable.api.filterApi.isFilterActive(c)),i=!1;if(e.type===bv){let c=e.columnFilter,p=this.adaptable.api.filterApi.getColumnFilterForColumn(c.ColumnId);(((l=p==null?void 0:p.Predicate)==null?void 0:l.PredicateId)===((u=c==null?void 0:c.Predicate)==null?void 0:u.PredicateId)||this.adaptable.api.filterApi.isFilterActive(c)||this.adaptable.api.filterApi.isFilterActive(p))&&(i=!0)}let a=e.type===Sv&&this.adaptable.api.filterApi.isFilterActive(e.columnFilter),s=[xv,Ev,Rv,wv].includes(e.type);return t||n||r||i||a||s}fireFilterAppliedEvent(){if(this.adaptable.isLive){let e=this.getAdaptableApi(),t={columnFilters:this.getFilterApi().getColumnFilters(),adaptableApi:e,userName:e.optionsApi.getUserName(),adaptableId:e.optionsApi.getAdaptableId()};this.adaptable.api.eventApi.emit("FilterApplied",t)}}areColumnFiltersDifferent(e,t){return We.IsNullOrEmpty(e)&&We.IsNullOrEmpty(t)?!1:We.areArraysNotEqual(e,t)}getPredicateDefShortcuts(e){let t=this.getFilterOptions().quickFilterWildcards,n=e.shortcuts,r=e.id;return(t==null?void 0:t[r])&&Array.isArray(t[r])&&(n=t[r]),n}};var qH=class extends Te{constructor(t){super(t);this.internalApi=new $H(t)}getFilterPredicateDefsForColumn(t){let n={ColumnIds:[t.columnId]};return this.getAdaptableApi().predicateApi.internalApi.getFilterPredicateDefs(n).filter(r=>this.adaptable.api.scopeApi.isColumnInScope(t,r.columnScope))}getFilterPredicateDefsForColumnId(t){let n=this.getAdaptableApi().columnApi.getColumnWithColumnId(t);return n?this.getFilterPredicateDefsForColumn(n):void 0}showQuickFilterBar(){this.dispatchAction(yE())}hideQuickFilterBar(){this.dispatchAction(bE())}isQuickFilterAvailable(){return this.adaptable.isQuickFilterAvailable()}isQuickFilterVisible(){return this.isQuickFilterAvailable()&&this.adaptable.api.internalApi.getSystemState().IsQuickFilterVisible}getColumnFilters(){var n;return(n=this.adaptable.api.layoutApi.getCurrentLayout().ColumnFilters)!=null?n:[]}getActiveColumnFilters(){return this.getColumnFilters().filter(t=>!t.IsSuspended)}getColumnFilterDefs(){return this.getColumnFilters().map(n=>{let r=this.getAdaptableApi().columnApi.getColumnWithColumnId(n.ColumnId);return{predicate:this.getAdaptableApi().predicateApi.getPredicateDefById(n.Predicate.PredicateId),dataType:r==null?void 0:r.dataType,columnFilter:n}})}getColumnFiltersForLayout(t){var r;return(r=this.adaptable.api.layoutApi.getLayoutByName(t).ColumnFilters)!=null?r:[]}setColumnFilters(t){return t.forEach(n=>{n.Predicate?this.adaptable.api.predicateApi.isValidPredicate(n.Predicate)?(this.addUidToAdaptableObject(n),this.getColumnFilters().find(i=>i.ColumnId==n.ColumnId)?this.dispatchAction(sk(n)):this.dispatchAction(QC(n))):this.logWarn("Column Filter Predicate is not valid",n):this.logWarn("Column Filter has no Predicate",n)}),t==null?void 0:t.map(n=>this.getColumnFilterById(n.Uuid)).filter(Boolean)}clearColumnFilter(t){this.dispatchAction(jp(t))}clearColumnFiltersForColumns(t){t.forEach(n=>{this.clearColumnFilterForColumn(n)})}clearColumnFilters(){this.dispatchAction(lk()),this.adaptable.clearGridFiltering()}clearAndSetColumnFilters(t){this.clearColumnFilters(),this.setColumnFilters(t)}columnFilterToString(t){return this.internalApi.columnFilterToString(t)}columnFiltersToString(t){return this.internalApi.columnFiltersToString(t)}getColumnFilterById(t){var n;return(n=this.getColumnFilters())==null?void 0:n.find(r=>r.Uuid===t)}isFilterActive(t){if(!t||!t.Predicate||!t.Predicate.PredicateId)return!1;let n=this.adaptable.api.predicateApi.getPredicateDefById(t==null?void 0:t.Predicate.PredicateId);if(We.IsNull(n.inputs)&&!this.adaptable.api.predicateApi.internalApi.hasPredicateValues(t.Predicate))return!0;let r=t.Predicate.Inputs;return We.IsEmpty(r)?!1:r.every(a=>a!=null&&a!=="")}setColumnFilterForColumn(t,n){let r={PredicateId:n.PredicateId};n.PredicateInputs&&(r.Inputs=n.PredicateInputs);let i={ColumnId:t,Predicate:r};this.setColumnFilters([i])}suspendColumnFilter(t){this.dispatchAction(MO(t))}unSuspendColumnFilter(t){this.dispatchAction(NO(t))}suspendAllColumnFilters(){this.dispatchAction(uk())}unSuspendAllColumnFilters(){this.dispatchAction(dk())}getColumnFilterForColumn(t){return this.getColumnFilters().find(n=>n.ColumnId==t)}clearColumnFilterForColumn(t){let n=this.getColumnFilterForColumn(t);n&&(this.dispatchAction(jp(n)),this.adaptable.clearColumnFiltering([t]))}};d();var hDe=require("react");d();var YH=class extends Te{fireSystemStatusMessageDisplayedEvent(e){let t=this.getAdaptableApi(),n={adaptableApi:t,systemStatusMessageInfo:e,userName:t.optionsApi.getUserName(),adaptableId:t.optionsApi.getAdaptableId()};this.getAdaptableApi().eventApi.emit("SystemStatusMessageDisplayed",n)}addSystemStatusMessageInfo(e){let t=this.getNotificationsOptions().maxSystemMessagesInStore;this.dispatchAction(Ome(e,t))}getSystemStatusMessageInfos(){return this.getAdaptableState().System.SystemStatusMessages}};var XH=class extends Te{constructor(t){super(t);this.internalApi=new YH(t)}setSystemStatus(t,n,r){let i=it.CreateSystemStatusMessageInfo(t,n,r||"");if(this.internalApi.addSystemStatusMessageInfo(i),this.internalApi.fireSystemStatusMessageDisplayedEvent(i),this.getNotificationsOptions().showSystemStatusMessageNotifications){let a=t;switch(nt.IsNotNullOrEmpty(r)&&(a+=`
382
+ `),alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Warning")}));return}let M=P.filter(O=>O.Uuid!==w);return e.dispatch(Dv(M)),o.api.teamSharingApi.persistSharedEntities(M)}).catch(P=>{o.logger.error("TeamSharing remove error : "+P.message),e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:"Couldn't remove item: "+P.message,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}))}),A}case WO:{let A=t(n),R=n,[w,P]=o.api.internalApi.getTeamSharingService().buildSharedEntityImportActions(R.SharedEntity),D=TSe(w);if(P&&!o.api.optionsApi.getTeamSharingOptions().suppressOverrideConfigWarning){let F={CancelButtonText:"Cancel Import",Header:"Overwriting Existing Object",Msg:"This import will overwrite an existing object in your State. Do you wish to continue?",ConfirmButtonText:"Import",CancelAction:null,ConfirmAction:D,ShowInputBox:!1,MessageType:"Warning"};e.dispatch(SE(F))}else e.dispatch(D);return A}case aw:{let A=t(n),R=n,{ImportSteps:w}=R,P=[];for(let D=w.length-1;D>=0;D--){let{sharedEntity:F,importAction:M}=w[D];M?(e.dispatch(M),F.Type==="Active"&&P.push(F)):o.logger.error("Team Sharing Import Error: Unknown item type",F)}return P.length&&e.dispatch(cV(...P)),o.api.teamSharingApi.internalApi.waitForTeamSharingImportEnd().then(()=>e.dispatch(KO())).catch(()=>e.dispatch(KO())),e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:"Item Successfully Imported",alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Success")})),A}case jO:{let A=t(n),R=n;if(e.getState().TeamSharing.importProcessInProgress)return A;let{ChangedAdaptableObject:w,UserName:P}=R;return o.api.teamSharingApi.loadSharedEntities().then(D=>{let F=D.filter(sT),[M,O]=o.api.internalApi.getTeamSharingService().getSharedEntityLocalAndRemoteRevisions(w.Uuid,F);if(O>M)return;let[_,H]=o.api.internalApi.getTeamSharingService().updateActiveSharedEntity(w,P,F);return e.dispatch(cV(...H)),e.dispatch(Dv(_)),o.api.teamSharingApi.persistSharedEntities(_)}).catch(D=>{o.logger.error("TeamSharing update active item error : "+D.message),e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:"Couldn't update active item: "+D.message,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}))}),A}case PK:{let A=t(n);return o.api.teamSharingApi.loadSharedEntities().then(R=>{e.dispatch(Dv(R)),o.api.internalApi.getTeamSharingService().showUpdateNotifications()}).catch(R=>{o.logger.error("TeamSharing update error : "+R.message),e.dispatch(Zr({alertType:"generic",header:"Team Sharing",message:"Couldn't check for updates: "+R.message,alertDefinition:jo.CreateInternalAlertDefinitionForMessages("Error")}))}),A}case O_:let v=n.changeInfo;return o.api.gridApi.undoCellEdit(v),t(n);case g8:let x=n;return o.setColumnOrder(x.visibleColumnList),t(n);case mK:{let A=o.adaptableModules.get(_l),R=t(n),w=e.getState().Grid.SelectedCellInfo,P=A.createCellSummary(w);return e.dispatch(jye(P)),R}case xye:{let A=n,R=t(n);return o.refreshCells(A.rowNodes,A.columnIds,!0),R}case pk:{let A=t(n);return o.api.gridApi.internalApi.fireGridSortedEvent(),A}case mk:{let A=t(n);return o.api.gridApi.internalApi.fireGridSortedEvent(),A}case A8:return sDe({api:o.api,adaptableAlert:n.alert}),t(n);case K_:{let A=e.getState().Popup.PromptPopup.ConfirmAction;if(A){let R=n.InputText;A.InputText=R,e.dispatch(A)}return t(n)}case Q_:{let A=e.getState().Popup.ConfirmationPopup.ConfirmAction;return A&&e.dispatch(A),t(n)}case $_:{let A=e.getState().Popup.ConfirmationPopup.CancelAction;return A&&e.dispatch(A),t(n)}case JF:{let A=t(n);if(o.isDestroyed)return A;o.updateColumnsIntoStore();let R=e.getState().Layout,w=o.api.layoutApi.internalApi.createDefaultLayoutIfNeeded(),P=(R==null?void 0:R.CurrentLayout)||(w==null?void 0:w.Name);return o.api.layoutApi.getLayoutByName(P)||(P=w?w.Name:R.Layouts[0].Name),e.dispatch(ih(P)),o.EntitlementService.setModulesEntitlements(),o.ModuleService.createModuleMenus(),o.api.internalApi.initializeDataChangeHistory(),A}default:return t(n)}}}};d();var Wxt="SYSTEM_STATUS_MESSAGE_SET",zxt="SYSTEM_STATUS_READY",lDe=o=>({type:Wxt,systemStatusMessageInfo:o}),uDe=()=>({type:zxt});var EH=class extends Te{configInit(){this.dispatchAction(xH())}copyAllStateToClipboard(){let e=this.getAdaptableState(),t=JSON.stringify(e);yn.copyToClipboard(t)}copyUserStateToClipboard(){let e=this.getAdaptableState(),t=JSON.stringify(e);yn.copyToClipboard(t)}getPredefinedConfig(){return this.adaptable.adaptableOptions.predefinedConfig}reloadPredefinedConfig(e){var i;let t=this.adaptable.adaptableOptions,n=this.getPersistedState(),r=((i=t.stateOptions)==null?void 0:i.clearState)||(()=>(localStorage.removeItem(t.adaptableStateKey),Promise.resolve(!0)));this.adaptable.adaptableStore.saveStateNow(this.adaptable).then(()=>{r({adaptableId:t.adaptableId,adaptableStateKey:t.adaptableStateKey,userName:t.userName}).then(()=>{this.setAdaptableStateKey(t.adaptableStateKey,{predefinedConfig:e||t.predefinedConfig,flushCurrentState:!1}).then(()=>{let s=this.getPersistedState(),l={oldState:n,newState:s,adaptableStateKey:t.adaptableStateKey,adaptableId:t.adaptableId,adaptableApi:this.adaptable.api,userName:this.adaptable.api.optionsApi.getUserName()};this.adaptable.api.eventApi.emit("AdaptableStateReloaded",l)})})})}getAllState(){return this.getAdaptableState()}getPersistedState(){return this.adaptable.adaptableStore.getCurrentStorageState()}getAllUserState(){return Object.values(this.getPersistedState())}loadUserState(e){let t=this.adaptable.adaptableOptions;this.setAdaptableStateKey(t.adaptableStateKey,{predefinedConfig:e||t.predefinedConfig,flushCurrentState:!1})}getAdaptableSearchState(){let e=this.adaptable.api.queryApi.getCurrentQuery();return{dataSet:this.adaptable.api.dataSetApi.getCurrentDataSet(),currentQuery:e,queryAST:e?this.adaptable.api.expressionApi.getASTForExpression(e):null,columnFilters:this.adaptable.api.filterApi.getColumnFilters()}}getAdaptableSortState(){return{columnSorts:this.adaptable.api.gridApi.getColumnSorts(),customSorts:this.adaptable.api.customSortApi.getCustomSorts()}}getAdaptableOptions(){}setAdaptableStateKey(e,t){return new Promise((n,r)=>{this.adaptable.api.internalApi.executeWithProgressIndicator("Initialising...",()=>{this.adaptable.adaptableOptions.adaptableStateKey=e,(!t||t.flushCurrentState!==!1?this.adaptable.adaptableStore.saveStateNow(this.adaptable):Promise.resolve(!0)).then(()=>{let s=t==null?void 0:t.predefinedConfig;s&&(s=l1(s)),this.adaptable.adaptableStore.loadStore(this.adaptable,e,s).then(()=>{this.adaptable.prepareGrid(),this.adaptable.api.internalApi.hideLoadingScreen()}).then(()=>{n()},()=>{r()})})})})}getDescriptionForModule(e){return this.adaptable.ModuleService.getModuleInfoByModule(e).Description}getHelpPageForModule(e){return this.adaptable.ModuleService.getModuleInfoByModule(e).HelpPage}getUserStateByStateKey(e,t=!1){switch(e){case"Alert":return t?JSON.stringify(this.getAdaptableState().Alert):this.getAdaptableState().Alert;case"Application":return t?JSON.stringify(this.getAdaptableState().Application):this.getAdaptableState().Application;case"CalculatedColumn":return t?JSON.stringify(this.getAdaptableState().CalculatedColumn):this.getAdaptableState().CalculatedColumn;case"Charting":return t?JSON.stringify(this.getAdaptableState().Charting):this.getAdaptableState().Charting;case"Comments":return t?JSON.stringify(this.getAdaptableState().Comments):this.getAdaptableState().Comments;case"CustomSort":return t?JSON.stringify(this.getAdaptableState().CustomSort):this.getAdaptableState().CustomSort;case"Dashboard":return t?JSON.stringify(this.getAdaptableState().Dashboard):this.getAdaptableState().Dashboard;case"Export":return t?JSON.stringify(this.getAdaptableState().Export):this.getAdaptableState().Export;case"FormatColumn":return t?JSON.stringify(this.getAdaptableState().FormatColumn):this.getAdaptableState().FormatColumn;case"FreeTextColumn":return t?JSON.stringify(this.getAdaptableState().FreeTextColumn):this.getAdaptableState().FreeTextColumn;case"Layout":return t?JSON.stringify(this.getAdaptableState().Layout):this.getAdaptableState().Layout;case"PlusMinus":return t?JSON.stringify(this.getAdaptableState().PlusMinus):this.getAdaptableState().PlusMinus;case"Query":return t?JSON.stringify(this.getAdaptableState().Query):this.getAdaptableState().Query;case"QuickSearch":return t?JSON.stringify(this.getAdaptableState().QuickSearch):this.getAdaptableState().QuickSearch;case"Schedule":return t?JSON.stringify(this.getAdaptableState().Schedule):this.getAdaptableState().Schedule;case"Shortcut":return t?JSON.stringify(this.getAdaptableState().Shortcut):this.getAdaptableState().Shortcut;case"Theme":return t?JSON.stringify(this.getAdaptableState().Theme):this.getAdaptableState().Theme;case"ToolPanel":return t?JSON.stringify(this.getAdaptableState().ToolPanel):this.getAdaptableState().ToolPanel}}incrementUserStateRevision(e){let t=this.getUserStateByStateKey(e);typeof t.Revision=="number"?t.Revision+=1:t.Revision.Key+=1}getAlertState(e=!1){return this.getUserStateByStateKey("Alert",e)}getApplicationState(e=!1){return this.getUserStateByStateKey("Application",e)}getCalculatedColumnState(e=!1){return this.getUserStateByStateKey("CalculatedColumn",e)}getChartingState(e=!1){return this.getUserStateByStateKey("Charting",e)}getCommentsState(e=!1){return this.getUserStateByStateKey("Comments",e)}getCustomSortState(e=!1){return this.getUserStateByStateKey("CustomSort",e)}getDashboardState(e=!1){return this.getUserStateByStateKey("Dashboard",e)}getExportState(e=!1){return this.getUserStateByStateKey("Export",e)}getFreeTextColumnState(e=!1){return this.getUserStateByStateKey("FreeTextColumn",e)}getFormatColumnState(e=!1){return this.getUserStateByStateKey("FormatColumn",e)}getLayoutState(e=!1){return this.getUserStateByStateKey("Layout",e)}getPlusMinusState(e=!1){return this.getUserStateByStateKey("PlusMinus",e)}getQueryState(e=!1){return this.getUserStateByStateKey("Query",e)}getQuickSearchState(e=!1){return this.getUserStateByStateKey("QuickSearch",e)}getScheduleState(e=!1){return this.getUserStateByStateKey("Schedule",e)}getShortcutState(e=!1){return this.getUserStateByStateKey("Shortcut",e)}getThemeState(e=!1){return this.getUserStateByStateKey("Theme",e)}getToolPanelState(e=!1){return this.getUserStateByStateKey("ToolPanel",e)}dispatchStateReadyAction(e){switch(e){case"Alert":this.dispatchAction(Gge(this.getAlertState()));break;case"BulkUpdate":this.dispatchAction(bCe());break;case"CalculatedColumn":this.dispatchAction(I1(this.getCalculatedColumnState()));break;case"Charting":this.dispatchAction(HSe(this.getChartingState()));break;case"Comments":this.dispatchAction(Kbe(this.getCommentsState()));break;case"CustomSort":this.dispatchAction(rye(this.getCustomSortState()));break;case"Dashboard":this.dispatchAction(cSe(this.getDashboardState()));break;case"Export":this.dispatchAction(Sbe(this.getExportState()));break;case"FormatColumn":this.dispatchAction(Bbe(this.getFormatColumnState()));break;case"FreeTextColumn":this.dispatchAction(rSe(this.getFreeTextColumnState()));break;case"Layout":this.dispatchAction(Cye(this.getLayoutState()));break;case"PlusMinus":this.dispatchAction(fbe(this.getPlusMinusState()));break;case"Query":this.dispatchAction(NSe(this.getQueryState()));break;case"QuickSearch":this.dispatchAction(Abe(this.getQuickSearchState()));break;case"Schedule":this.dispatchAction(ASe(this.getScheduleState()));break;case"Shortcut":this.dispatchAction(pye(this.getShortcutState()));break;case"SmartEdit":this.dispatchAction(tye());break;case"SystemStatus":this.dispatchAction(uDe());break;case"Theme":this.dispatchAction(Obe(this.getThemeState()));break;case"ToolPanel":this.dispatchAction(CK(this.getToolPanelState()));break;case"StatusBar":this.dispatchAction(CK(this.getToolPanelState()));break}}};d();d();var wH=class extends Te{getCustomSortComparer(e){var t;return(t=this.getCustomSortOptions().customSortComparers)==null?void 0:t.find(n=>this.adaptable.api.scopeApi.isColumnInScope(e,n.scope))}};var TH=class extends Te{constructor(t){super(t);this.internalApi=new wH(t)}getCustomSortState(){return this.getAdaptableState().CustomSort}getCustomSorts(t){var n;return(n=this.handleLayoutAssociatedObjects(this.getCustomSortState().CustomSorts,"CustomSort",t))!=null?n:[]}getCustomSortById(t){return this.getCustomSorts().find(n=>n.Uuid===t)}getActiveCustomSorts(t){return this.getCustomSorts(t).filter(n=>!n.IsSuspended)}getSuspendedCustomSorts(t){return this.getCustomSorts(t).filter(n=>n.IsSuspended)}getCustomSortByColumn(t){return this.getCustomSorts().find(n=>n.ColumnId==t)}getCustomSortForColumn(t){return this.getCustomSorts().find(n=>n.ColumnId==t)}addCustomSort(t){return this.addUidToAdaptableObject(t),this.dispatchAction(jC(t)),this.getCustomSortById(t.Uuid)}createCustomSort(t,n){let r={ColumnId:t,SortedValues:n};return this.addCustomSort(r)}editCustomSort(t,n){let r=this.getCustomSortForColumn(t);if(!r){this.logWarn(`No custom sort defined for ${t}`);return}let i=T(S({},r),{SortedValues:n});return this.dispatchAction(zf(i)),this.getCustomSortByColumn(t)}deleteCustomSort(t){let n=this.getCustomSortForColumn(t);this.dispatchAction(_E(n))}suspendCustomSort(t){return this.dispatchAction(J1(t)),this.getCustomSortById(t.Uuid)}unSuspendCustomSort(t){return this.dispatchAction(ek(t)),this.getCustomSortById(t.Uuid)}openCustomSortSettingsPanel(){this.showModulePopup(ls)}};d();var pDe=I(require("react"));d();var cDe=I(tE()),IH=class extends Te{fireDashboardChangedEvent(e,t,n){let r=s=>{let l=this.isToolbarInActiveTab(s,n),u=this.isToolbarInActiveTab(s,t);return l&&!u},i=s=>{let l=this.isToolbarInActiveTab(s,n);return this.isToolbarInActiveTab(s,t)&&!l},a={adaptableApi:this.adaptable.api,actionName:e,oldDashboardState:t,newDashboardState:n,isToolbarStateChangedToVisible:r,isToolbarStateChangedToHidden:i,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.api.optionsApi.getAdaptableId()};(0,cDe.default)(t,n)||this.adaptable.api.eventApi.emitSync("DashboardChanged",a)}isToolbarInActiveTab(e,t){var r;if(!t)return!1;let n=t.ActiveTabIndex;if(n!=null&&(t==null?void 0:t.Tabs)&&((r=t==null?void 0:t.Tabs)==null?void 0:r.length)>0){let i=t==null?void 0:t.Tabs[n];if(i&&i.Toolbars)return i.Toolbars.find(a=>a==e)!=null}return!1}};var PH=class extends Te{constructor(t){super(t);this.internalApi=new IH(t)}getDashboardState(){return this.getAdaptableState().Dashboard}getCustomToolbars(){return this.getDashboardOptions().customToolbars||[]}getCustomDashboardButtons(){return this.getDashboardOptions().customDashboardButtons||[]}getCustomDashboardButtonByLabel(t){let n=this.getAdaptableApi(),r={adaptableApi:n,userName:this.getOptions().userName,adaptableId:this.getOptions().adaptableId,dashboardState:n.dashboardApi.getDashboardState()};return this.getDashboardOptions().customDashboardButtons.find(i=>{n.internalApi.getLabelForButton(i,r)==t})}setModuleButtons(t){this.dispatchAction(cB(t))}setDashboardTitle(t){this.dispatchAction(dSe(t))}getCustomToolbarContentsDiv(t){let n=this.getCustomToolbarByName(t);if(n){let r="ab-CustomToolbar__"+n.name+"__contents";return document.getElementById(r)}return null}setCustomToolbarContents(t,n){let r=this.getCustomToolbarContentsDiv(t);r&&this.adaptable.renderReactRoot(pDe.createElement("div",{dangerouslySetInnerHTML:{__html:n}}),r)}getCustomToolbarByName(t){return this.getCustomToolbars().find(n=>n.name==t)}getTabByName(t){return(this.getDashboardState().Tabs||[]).find(n=>n.Name==t)}collapseDashboard(){this.dispatchAction(Ec(!0))}expandDashboard(){this.dispatchAction(Ec(!1))}refreshDashboard(){this.dispatchAction(jme())}floatDashboard(){this.dispatchAction(wc(!0))}dockDashboard(){this.dispatchAction(wc(!1))}hideDashboard(){this.dispatchAction(uh(!0))}showDashboard(){this.dispatchAction(uh(!1))}getActiveTabIndex(){return this.getDashboardState().ActiveTabIndex}getActiveTab(){return this.getDashboardState().Tabs[this.getActiveTabIndex()]}isToolbarVisible(t){return(this.getCurrentToolbars()||[]).find(n=>n==t)!=null}setActiveTabIndex(t){this.dispatchAction(pB(t))}setActiveTab(t){var r;if(this.getTabByName(t)){let i=(r=this.getDashboardState().Tabs)==null?void 0:r.findIndex(a=>a);this.setActiveTabIndex(i)}}getCurrentToolbars(){if(this.getDashboardState().IsCollapsed==!0||this.getDashboardState().IsHidden==!0)return;let t=this.getActiveTab();if(!!t)return t.Toolbars}openDashboardSettingsPanel(){this.showModulePopup(fd)}isDashboardCollapsed(){return this.getDashboardState().IsCollapsed}isDashboardExpanded(){return!this.getDashboardState().IsCollapsed}isDashboardFloating(){return this.getDashboardState().IsFloating}isDashboardDocked(){return!this.getDashboardState().IsFloating}isDashboardHidden(){return this.getDashboardState().IsHidden}isDashboardVisible(){return!this.getDashboardState().IsHidden}};d();var DH=class extends Te{getToolPanelState(){return this.getAdaptableState().ToolPanel}showToolPanelPopup(){this.showModulePopup(yd)}openAdapTableToolPanel(){let e=this.getGridApi().getAgGridInstance();e&&e.api.openToolPanel("adaptable")}closeAdapTableToolPanel(){let e=this.getGridApi().getAgGridInstance();e&&e.api.closeToolPanel()}getCustomToolPanels(){var e;return(e=this.getToolPanelOptions().customToolPanels)!=null?e:[]}getCustomToolPanelButtons(){var e;return(e=this.getToolPanelOptions().customButtons)!=null?e:[]}getCustomToolPanelByName(e){return this.getCustomToolPanels().find(t=>t.name===e)}setAdaptableToolPanelVisibilityMode(e,t){t==="expanded"?this.setExpandedToolPanelVisibility(e):this.setCollapsedToolPanelVisibility(e)}setCustomToolPanelVisibilityMode(e,t){t==="expanded"?this.setExpandedToolPanelVisibility(e):this.setCollapsedToolPanelVisibility(e)}setModuleButtons(e){this.dispatchAction(gB(e))}getModuleButtons(){var e,t;return(t=(e=this.getToolPanelState())==null?void 0:e.ModuleButtons)!=null?t:[]}setExpandedToolPanelVisibility(e){this.dispatchAction(hB(e))}setCollapsedToolPanelVisibility(e){this.dispatchAction(fB(e))}};d();d();var OH=class extends Te{fireDataSetSelectedEvent(e){if(this.adaptable.isLive){let t={adaptableApi:this.adaptable.api,dataSet:e,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.api.optionsApi.getAdaptableId()};this.adaptable.api.eventApi.emit("DataSetSelected",t)}}};var FH=class extends Te{constructor(t){super(t);this.internalApi=new OH(t)}getDataSets(){var t,n,r;return(r=(n=(t=this.adaptable.adaptableOptions)==null?void 0:t.dataSetOptions)==null?void 0:n.dataSets)!=null?r:[]}getCurrentDataSet(){let t=this.getAdaptableState().System.CurrentDataSet;return this.getDataSetByName(t)}getDataSetByName(t){return this.getDataSets().find(n=>n.name==t)}setDataSet(t){let n=this.getDataSetByName(t);this.checkItemExists(n,t,"Data Source")&&this.dispatchAction(KD(n))}clearCurrentDataSet(){this.dispatchAction(KD(null))}openDataSetSettingsPanel(){this.showModulePopup(Vp)}};d();var MH=class extends Te{constructor(t){super(t);this.on=(t,n)=>{let r;return t==="AdaptableReady"?(this.emitter.onIncludeFiredOnce(t).then(n),()=>{}):(r=this.emitter.on(t,n),r)};this.off=(t,n)=>this.emitter.off(t,n);this.emit=(t,n)=>this.emitter.emit(t,n);this.emitSync=(t,n)=>this.emitter.emitSync(t,n);this.emitter=new ch}destroy(){super.destroy(),this.emitSync("AdaptableDestroy"),this.emitter.destroy()}};d();d();var NH=class extends Te{isDataChangeInReport(e,t){if(t.Name=="All Data")return!0;if(this.getExportApi().isExternalReport(t))return!1;switch(t.ReportColumnScope){case"AllColumns":break;case"ScopeColumns":if(!this.adaptable.api.scopeApi.isColumnInScopeColumns(e.column,t.Scope))return!1;break;case"SelectedColumns":let n=this.adaptable.api.gridApi.getSelectedCellInfo();if(n&&n.columns.find(r=>r.columnId==e.column.columnId)==null)return!1;break;case"VisibleColumns":if(!e.column.visible)return!1;break}switch(t.ReportRowScope){case"AllRows":return!0;case"ExpressionRows":return!0;case"SelectedCellRows":let n=this.adaptable.api.gridApi.getSelectedCellInfo();return!!(n&&n.gridCells&&n.gridCells.find(i=>i.primaryKeyValue==e.primaryKeyValue));case"SelectedRows":let r=this.adaptable.api.gridApi.getSelectedRowInfo();return!!(r&&r.gridRows&&r.gridRows.find(i=>i.primaryKeyValue==e.primaryKeyValue));case"VisibleRows":return this.adaptable.isRowNodeVisible(e.rowNode)}}getExcelDataType(e){let t=n=>{switch(n){case"abColDefNumber":return"Number";case"abColDefBoolean":return"Boolean";case"abColDefDate":return"DateTime";case"abColDefString":default:return"String"}};if(Array.isArray(e)){let n=e.find(r=>r.startsWith("abColDef"));return n?t(n):"String"}else return t(e)}isVisualDataExportInProgress(){return this.getAdaptableState().System.Export.inProgressVisualData}isDateCellExportedAsFormattedValue(){return!!this.getExportOptions().exportDateFormat||this.getCellExportFormatType("Date")==="formattedValue"}getCellExportFormatType(e){let t=this.getExportOptions();if(t.exportFormatType==="rawValue"||t.exportFormatType==="formattedValue")return t.exportFormatType;switch(e){case"String":return t.exportFormatType.string;case"Number":return t.exportFormatType.number;case"Date":return t.exportFormatType.date;default:return"rawValue"}}isDestinationEnabled(e){return!(e==="Table"&&this.getLayoutApi().internalApi.isLayoutGrouped())}};var LH=class extends Te{constructor(t){super(t);this.internalApi=new NH(t)}getExportState(){return this.getAdaptableState().Export}getCurrentReportName(){return this.getExportState().CurrentReport}getCurrentReport(){let t=this.getCurrentReportName();return this.getReportByName(t)}getReportByName(t){return this.adaptable.ReportService.IsSystemReport(t)?this.adaptable.ReportService.CreateSystemReport(t):this.getReports().find(n=>n.Name==t)}getReportById(t){var n;return(n=this.getReports())==null?void 0:n.find(r=>r.Uuid===t)}getDestinationByName(t){return Object.values(Fp).some(n=>n===t)?t:this.getCustomDestinations().find(n=>n.name===t)}getCurrentDestination(){let t=this.getExportState().CurrentDestination;return t&&this.getDestinationByName(t)}getAvailableSystemReports(){return this.getExportOptions().systemReportNames.filter(t=>this.adaptable.api.internalApi.getReportService().IsSystemReportActive(t))}getAvailableExportDestinations(){let t=[];return this.getExportOptions().systemExportDestinations.forEach(n=>{this.adaptable.api.internalApi.getReportService().IsSystemExportDestinationActive(n)&&t.push(n)}),t}getReports(){let t=this.getAvailableSystemReports().map(r=>this.getReportByName(r)).concat(this.getExportState().Reports),n=this.getExternalReports();return We.IsNotNullOrEmpty(n)&&t.push(...n.map(r=>it.CreateExternalReport(r.name))),t}getReportSchedules(){return this.getAdaptableState().Schedule.ReportSchedules}sendReport(t,n){this.runReport(t,n)}runReport(t,n){let r=this.getReportByName(t);this.checkItemExists(r,t,"Report")&&this.dispatchAction(jE(r,n))}runSystemReport(t,n){this.runReport(t,n)}selectReport(t){this.dispatchAction(WE(t))}selectDestination(t){this.dispatchAction(KE(t))}getCustomDestinations(){var t;return(t=this.getExportOptions().customDestinations)!=null?t:[]}isExportDestinationCustom(t){return this.getCustomDestinations().some(n=>n.name===t)}getExportDestinationForm(t){var n;return(n=this.getCustomDestinations().find(r=>r.name===t))==null?void 0:n.form}canExportToExcel(){return this.adaptable.canExportToExcel()}exportDataToExcel(t,n){this.adaptable.exportToExcel(t,n)}openExportSettingsPanel(){this.showModulePopup(Hi)}editReport(t){return this.dispatchAction(zE(t)),this.getReportById(t.Uuid)}editReports(t){return t.forEach(n=>{this.editReport(n)}),t==null?void 0:t.map(n=>this.getReportById(n.Uuid))}exportVisualDataToExcel(){this.adaptable.exportVisualDataToExcel()}getExternalReports(){var t;return(t=this.getExportOptions().externalReports)!=null?t:[]}isExternalReport(t){var n;return((n=this.getExternalReports())==null?void 0:n.find(r=>r.name==t.Name))!=null}runExternalReport(t){var r;let n=(r=this.getExternalReports())==null?void 0:r.find(i=>i.name==t);if(!n){this.logWarn(`External Report '${t}' not found!`);return}return n.onRunReport()}getReportDataForReport(t){let n=this.getReportByName(t);if(!n){this.logWarn(`Report '${t}' not found!`);return}return this.adaptable.api.internalApi.getReportService().getReportData(n)}isColumnExportable(t){let n=this.getExportOptions().isColumnExportable;return typeof n=="function"?n({adaptableApi:this.adaptable.api,userName:this.getOptions().userName,adaptableId:this.getOptions().adaptableId,adaptableColumn:t}):!0}};d();d();var _H=class extends Te{getAllFormatColumnWithStyle(){return this.getFormatColumnApi().getFormatColumns().filter(e=>e.Style)}getAllFormatColumnWithStyleAndCellAlignment(){return this.getFormatColumnApi().getFormatColumns().filter(e=>e.Style||e.CellAlignment)}getAllFormatColumnWithDisplayFormat(){return this.getFormatColumnApi().getFormatColumns().filter(e=>e.DisplayFormat)}getAllFormatColumnWithCellAlignment(){return this.getFormatColumnApi().getFormatColumns().filter(e=>e.CellAlignment)}getFormatColumnsWithStyleForColumn(e,t){let n=this.getAllFormatColumnWithStyleAndCellAlignment().filter(r=>(t==null?void 0:t.includeSuspended)||!r.IsSuspended);return this.getFormatColumnWithColumnInScope(n,e)}getFormatColumnWithStyleClassNameForColumn(e,t){return this.getFormatColumnsWithStyleForColumn(e,t).filter(n=>{var r;return nt.IsNotNullOrEmpty((r=n==null?void 0:n.Style)==null?void 0:r.ClassName)})}getFormatColumnWithColumnInScope(e,t){return this.getFormatColumnInColumnScope(e).filter(n=>this.adaptable.api.scopeApi.isColumnInScope(t,n.Scope))}getFormatColumnInColumnScope(e){return e.filter(t=>this.adaptable.api.scopeApi.scopeHasColumns(t.Scope)||this.adaptable.api.scopeApi.scopeHasDataType(t.Scope)||this.adaptable.api.scopeApi.scopeIsAll(t.Scope))}getFormatColumnsWithDisplayFormatForColumn(e,t){let n=this.getAllFormatColumnWithDisplayFormat().filter(r=>(t==null?void 0:t.includeSuspended)||!r.IsSuspended);return this.getFormatColumnWithColumnInScope(n,e)}getNumberFormattedValue(e,t,n,r){let i=this.applyCustomFormatters(e,t,n,r);return Ia.NumberFormatter(i,r)}getStringFormattedValue(e,t,n,r){let i=this.applyCustomFormatters(e,t,n,r);return Ia.StringFormatter(i,r)}getDateFormattedValue(e,t,n,r){let i=this.applyCustomFormatters(e,t,n,r);return r.Pattern?Ia.DateFormatter(i,r):i}applyCustomFormatters(e,t,n,r){var c,p,m;let i=(c=r==null?void 0:r.CustomDisplayFormats)!=null?c:[];if(!(i!=null&&i.length))return e;let a=this.adaptable.adaptableOptions,l=((m=(p=a==null?void 0:a.formatColumnOptions)==null?void 0:p.customDisplayFormatters)!=null?m:[]).filter(h=>i.includes(h.id)),u=it.CreateCustomDisplayFormatterContext(e,t,n,this.getAdaptableApi());return l.reduce((h,C)=>C&&C.handler?C.handler(h):h.cellValue,u)}getFormatColumnDefsForScope(e){return this.getAdaptableApi().predicateApi.internalApi.getFormatColumnPredicateDefs(e).filter(t=>this.adaptable.api.scopeApi.isScopeInScope(e,t.columnScope))}isFormatColumnRelevantForColumn(e,t,n){var r,i;if(e.IsSuspended||!e.IncludeGroupedRows&&this.adaptable.api.gridApi.isGroupRowNode(n.node))return!1;if(!e.Rule)return!0;if(e.Rule.Predicates&&((i=(r=e.Rule)==null?void 0:r.Predicates)==null?void 0:i.length)){let a={value:n.value,oldValue:null,displayValue:n.value,node:n.node,column:t,adaptableApi:this.getAdaptableApi(),userName:this.getAdaptableApi().optionsApi.getUserName(),adaptableId:this.getAdaptableApi().optionsApi.getAdaptableId()};return this.evaluatePredicate(e,a)}else if(e.Rule.BooleanExpression)return this.evaluateExpression(e,n.node);return!1}evaluatePredicate(e,t){var n;return this.adaptable.api.predicateApi.handleColumnPredicates((n=e.Rule)==null?void 0:n.Predicates,t,!1)}evaluateExpression(e,t){return this.adaptable.api.expressionApi.isValidBooleanExpression(e.Rule.BooleanExpression,Ui,`Invalid format column rule '${e.Rule.BooleanExpression}'`)&&this.adaptable.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(e.Rule.BooleanExpression,Ui,t)}getFormatColumnsRelevantForColumn(e,t,n){return e.filter(r=>this.isFormatColumnRelevantForColumn(r,t,n))}getMostRelevantFormatColumnForColumn(e,t,n){return e.find(r=>this.isFormatColumnRelevantForColumn(r,t,n))}getFormatColumnsWithExpression(){return this.getFormatColumnApi().getFormatColumns().filter(e=>{var t;return!!((t=e.Rule)!=null&&t.BooleanExpression)})}getFormatColumnsDependentOnColumns(e){return this.getFormatColumnApi().getFormatColumns().filter(t=>{var n,r;return(r=(n=t.Rule)==null?void 0:n.Predicates)==null?void 0:r.some(i=>e.has(i.ColumnId))})}getFormatColumnColumnsDependentOnColumnChange(e){let t=new Set;t.add(e.columnId),this.getCalculatedColumnApi().internalApi.getCalculatedColumnsDependentOnColumn(e).forEach(r=>{t.add(r)});let n=new Set;return this.getFormatColumnsDependentOnColumns(t).forEach(r=>{this.adaptable.api.scopeApi.getColumnsForScope(r.Scope).forEach(i=>{n.add(i.columnId)})}),[...n]}};var kH=class extends Te{constructor(t){super(t);this.internalApi=new _H(t)}getFormatColumnState(){return this.getAdaptableState().FormatColumn}getFormatColumns(t){var n;return(n=this.handleLayoutAssociatedObjects(this.getFormatColumnState().FormatColumns,"FormatColumn",t))!=null?n:[]}getFormatColumnById(t){return this.getFormatColumns({includeLayoutNotAssociatedObjects:!0}).find(n=>n.Uuid===t)}getActiveFormatColumns(t){return this.getFormatColumns(t).filter(n=>!n.IsSuspended)}getSuspendedFormatColumns(t){return this.getFormatColumns(t).filter(n=>n.IsSuspended)}addFormatColumn(t){return this.addUidToAdaptableObject(t),this.dispatchAction(XC(t)),this.getFormatColumnById(t.Uuid)}addFormatColumns(t){return t.forEach(n=>{this.addFormatColumn(n)}),t==null?void 0:t.map(n=>this.getFormatColumnById(n.Uuid))}editFormatColumn(t){return this.dispatchAction(lh(t)),this.getFormatColumnById(t.Uuid)}addFormatColumnStyle(t,n){t.Style=n,this.addFormatColumn(t)}updateFormatColumnStyle(t,n){t.Style=n,this.dispatchAction(lh(t))}deleteFormatColumn(t){this.dispatchAction(qE(t))}suspendFormatColumn(t){return this.dispatchAction(Vk(t)),this.getFormatColumnById(t.Uuid)}unSuspendFormatColumn(t){return this.dispatchAction(Gk(t)),this.getFormatColumnById(t.Uuid)}getFormatColumnsForColumn(t,n){let r=this.getFormatColumns().filter(i=>(n==null?void 0:n.includeSuspended)||!i.IsSuspended);return this.internalApi.getFormatColumnWithColumnInScope(r,t)}getFormatColumnsForColumnId(t,n){let r=this.adaptable.api.columnApi.getColumnWithColumnId(t);return r?this.getFormatColumnsForColumn(r,n):[]}openFormatColumnSettingsPanel(){this.showModulePopup(Ui)}getFormatColumnsWithAllScope(t){return t.filter(n=>this.adaptable.api.scopeApi.scopeIsAll(n.Scope))}getFormatColumnsWithDataTypeScope(t){return t.filter(n=>this.adaptable.api.scopeApi.scopeHasDataType(n.Scope))}getFormatColumnsWithColumnScope(t){return t.filter(n=>this.adaptable.api.scopeApi.scopeHasColumns(n.Scope))}hasCustomDisplayFormatter(t){var i;if(!t||!t.DisplayFormat||!t.DisplayFormat.Options)return!1;let n=t.DisplayFormat.Options,r=(i=n==null?void 0:n.CustomDisplayFormats)!=null?i:[];return!!(r!=null&&r.length)}incrementFormatColumnPrecedence(t){this.dispatchAction(kk(t))}decrementFormatColumnPrecedence(t){this.dispatchAction(Bk(t))}findFormatColumns(t){return this.getAdaptableApi().internalApi.findAdaptableObjectsByLookupCriteria(t,this.getFormatColumns({includeLayoutNotAssociatedObjects:!0}))}};d();d();var BH=class extends Te{handleFreeTextColumnDataChange(e){let t=this.getFreeTextColumnApi().getFreeTextColumns().find(r=>r.ColumnId==e.column.columnId);if(t){let r={PrimaryKey:e.primaryKeyValue,FreeText:e.newValue};this.getFreeTextColumnApi().setStoredValue(t.ColumnId,r);var n=[e.column.columnId];this.adaptable.api.calculatedColumnApi.internalApi.getCalculatedColumnsReferencingColumnId(e.column.columnId).forEach(a=>{n.push(a.ColumnId)}),this.adaptable.refreshCells([e.rowNode],n,!1)}}getFreeTextColumnModuleReferences(e){let t=[];return this.adaptable.adaptableModules.forEach(n=>{n.getModuleFreeTextColumnReferences().some(r=>r.Uuid===e.Uuid)&&t.push(n.moduleInfo.FriendlyName)}),t}};var VH=class extends Te{constructor(t){super(t);this.internalApi=new BH(t)}getFreeTextColumnState(){return this.getAdaptableState().FreeTextColumn}getFreeTextColumns(){var t;return(t=this.getFreeTextColumnState().FreeTextColumns)!=null?t:[]}getFreeTextColumnById(t){return this.getFreeTextColumns().find(n=>n.Uuid===t)}getFreeTextColumnForColumnId(t){return this.getFreeTextColumns().find(n=>n.ColumnId===t)}addFreeTextColumn(t){return this.addUidToAdaptableObject(t),this.dispatchAction(ZC(t)),this.getFreeTextColumnById(t==null?void 0:t.Uuid)}editFreeTextColumn(t){return this.dispatchAction(Kf(t)),this.getFreeTextColumnById(t==null?void 0:t.Uuid)}setStoredValue(t,n){let r=this.getFreeTextColumnForColumnId(t);if(!r){this.logWarn(`No FreeTextColumn with columnId=${t} was found!`);return}return this.dispatchAction(nSe(r,n)),this.getFreeTextColumnById(r==null?void 0:r.Uuid)}setStoredValues(t,n,r){let i=this.getFreeTextColumnForColumnId(t);if(i){if(r=="All")i.FreeTextStoredValues=n;else{let a=We.IsNotNullOrEmpty(i.FreeTextStoredValues)?i.FreeTextStoredValues.map(s=>s.PrimaryKey):[];n.forEach(s=>{if(a.find(u=>u==s.PrimaryKey))if(r=="Conflicting"){let u=i.FreeTextStoredValues.find(c=>c.PrimaryKey==s.PrimaryKey);u&&(u.FreeText=s.FreeText)}else i.FreeTextStoredValues.push(s);else i.FreeTextStoredValues.push(s)})}this.dispatchAction(Kf(i))}}deleteFreeTextColumn(t){let n=this.getFreeTextColumns().find(r=>r.ColumnId==t);this.checkItemExists(n,t,Pa)&&this.dispatchAction(ZE(n))}openFreeTextColumnSettingsPanel(){this.showModulePopup(Pa)}getFreeTextColumnValueForRowNode(t,n){try{if(this.adaptable.api.gridApi.isGroupRowNode(n))return null;if(We.IsNotNullOrEmpty(t.FreeTextStoredValues)){let r=this.adaptable.getPrimaryKeyValueFromRowNode(n),i=t.FreeTextStoredValues.find(a=>a.PrimaryKey==r);if(i)return i.FreeText}return t.DefaultValue}catch(r){return this.logError(r),null}}};d();d();d();function jxt(o){let e="";return o>=1e9?e=(o/1e9).toFixed(1)+"B":o>=1e6?e=(o/1e6).toFixed(1)+"M":o>=1e3?e=(o/1e3).toFixed(1)+"K":e=o.toString(),e}function Kxt(o){return" ("+o+")"}var Qxt={abbreviateNumber:jxt,WrapInParentheses:Kxt},mDe=Qxt;var GH=class extends Te{fireGridSortedEvent(){if(this.adaptable.isLive){let e=this.adaptable.api.configApi.getAdaptableSortState(),t=this.getAdaptableApi(),n={adaptableSortState:e,adaptableApi:t,userName:t.optionsApi.getUserName(),adaptableId:t.optionsApi.getAdaptableId()};t.eventApi.emit("GridSorted",n)}}fireCellChangedEvent(e){if(this.adaptable.isLive){let t={adaptableApi:this.adaptable.api,cellChange:e,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.api.optionsApi.getAdaptableId()};this.adaptable.api.eventApi.emit("CellChanged",t)}}fireGridDataChangedEvent(e,t,n){if(this.adaptable.isLive){let r={changedAt:Date.now(),adaptableApi:this.adaptable.api,rowTrigger:n,dataRows:e,rowNodes:t,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.api.optionsApi.getAdaptableId()};this.adaptable.api.eventApi.emit("GridDataChanged",r)}}getDistinctDisplayValuesForColumn(e){let t=this.getColumnApi().getColumnWithColumnId(e);if(t==null)return[];let n=this.adaptable.getDistinctValuesForColumn(t,!1);return this.sortDistinctValues(n,t).map(r=>r.normalisedValue)}async getDistinctFilterDisplayValuesForColumn(e,t,n){let r=this.getColumnApi().getColumnWithColumnId(e);if(r==null)return{values:[],suppressClientSideFilter:!1};let{gridCells:i,suppressClientSideFilter:a}=await this.adaptable.getDistinctFilterValuesForColumn(r,n,t),s=!1,l=this.getFilterOptions().showValuesCount;return l&&(s=l(r)),{values:this.sortDistinctValues(i,r).map(u=>({label:s?u.displayValue+mDe.WrapInParentheses(this.getGridApi().getCellDisplayValueCount(r.columnId,u.displayValue)):u.displayValue,value:u.normalisedValue})),suppressClientSideFilter:a}}async getDistinctCustomSortDisplayValuesForColumn(e){let t=this.getColumnApi().getColumnWithColumnId(e);if(t==null)return[];let n=await this.adaptable.getDistinctCustomSortValuesForColumn(t,!1);return this.sortDistinctValues(n,t).map(r=>r.normalisedValue)}async getDistinctBulkUpdateDisplayValuesForColumn(e,t){let n=this.getColumnApi().getColumnWithColumnId(e);if(n==null)return[];let r=await this.adaptable.getDistinctBulkUpdateValuesForColumn(n,!1,t);return this.sortDistinctValues(r,n).map(i=>i.normalisedValue)}getDistinctVisibleDisplayValuesForColumn(e){let t=this.getColumnApi().getColumnWithColumnId(e);if(t==null)return[];let n=this.adaptable.getDistinctValuesForColumn(t,!0);return this.sortDistinctValues(n,t).map(r=>r.normalisedValue)}getDistinctRawValuesForColumn(e,t){let n=this.getColumnApi().getColumnWithColumnId(e);return n==null?[]:this.sortDistinctValues(this.getUnsortedDistinctRawValuesForColumn(e,t),n).map(r=>r.rawValue)}getUnsortedDistinctRawValuesForColumn(e,t){let n=this.getColumnApi().getColumnWithColumnId(e);return n==null?[]:this.adaptable.getDistinctValuesForColumn(n,!1,t)}getDistinctVisibleRawValuesForColumn(e){let t=this.getColumnApi().getColumnWithColumnId(e);if(t==null)return[];let n=this.adaptable.getDistinctValuesForColumn(t,!0);return this.sortDistinctValues(n,t).map(r=>r.rawValue)}sortDistinctValues(e,t){let n="Asc";if(this.getFilterOptions().sortColumnValuesInFilter){let r=this.adaptable.api.gridApi.getColumnSortForColumn(t.columnId);r&&r.SortOrder=="Desc"&&(n="Desc")}return this.getColumnApi().hasNumberDataType(t==null?void 0:t.columnId)?e=We.sortCellValueArrayNumeric(e,n):this.getColumnApi().hasDateDataType(t==null?void 0:t.columnId)?e=We.sortCellValueArrayDates(e,n):e=We.sortCellValueArray(e,n),e}setColumns(e){this.dispatchAction(Gye(e))}setSelectedCells(e){this.dispatchAction(Wye(e))}setSelectedRows(e){this.dispatchAction(zye(e))}buildStandaloneColumnHeader(e){return this.adaptable.buildStandaloneColumnHeader(e)}getEditLookUpValuesForColumn(e,t,n){if(!e||!t)return;let r=e.values;if(r!=null&&typeof r=="function"){let i={adaptableApi:this.adaptable.api,userName:this.getOptions().userName,adaptableId:this.getOptions().adaptableId,column:t,gridCell:n};return r(i)}else{let i=r;if(i&&We.IsNotNullOrEmpty(i))return i}return this.getDistinctDisplayValuesForColumn(t.columnId)}};var HH=class extends Te{constructor(t){super(t);this.internalApi=new GH(t)}getGridState(){return this.getAdaptableState().Grid}resetGridData(t){this.adaptable.setGridData(t);let n=this.getAllRowNodes();this.internalApi.fireGridDataChangedEvent(t,n,"Add")}setInitialGridData(t){this.adaptable.setGridData(t)}getGridData(){return this.adaptable.getGridData()}getFilteredData(){return this.adaptable.getFilteredData()}async updateGridData(t,n){let r=await this.adaptable.updateRows(t,n);return this.internalApi.fireGridDataChangedEvent(t,r,"Edit"),r}async addOrUpdateGridData(t,n){let r=[],i=[],a=this.getOptions().primaryKey;t.forEach(l=>{this.getRowNodeForPrimaryKey(l[a])?i.push(l):r.push(l)});let s=[];if(We.IsNotNullOrEmpty(i)){let l=await this.adaptable.updateRows(i,n);this.internalApi.fireGridDataChangedEvent(t,l,"Edit"),(await s).push(...l)}if(We.IsNotNullOrEmpty(r)){let l=await this.adaptable.addRows(r,n);this.internalApi.fireGridDataChangedEvent(t,l,"Add"),(await s).push(...l)}return s}async addGridData(t,n){let r=await this.adaptable.addRows(t,n);return this.internalApi.fireGridDataChangedEvent(t,r,"Add"),r}undoCellEdit(t){this.adaptable.api.internalApi.getDataService().logUndoChange(t);let n={columnId:t.column.columnId,newValue:t.oldValue,primaryKeyValue:t.primaryKeyValue,rowNode:t.rowNode};return this.setCellValue(n),!0}async deleteGridData(t,n){if(this.checkArrayExists(t)){let r=await this.adaptable.deleteRows(t,n);return this.internalApi.fireGridDataChangedEvent(t,r,"Delete"),r}return[]}setCellValue(t){var i;let n=this.adaptable.api.columnApi.getColumnWithColumnId(t.columnId);if(!n){this.logWarn(`setCellValue() - column not found for columnId: ${t.columnId}`);return}let r=(i=t.rowNode)!=null?i:this.getRowNodeForPrimaryKey(t.primaryKeyValue);if(!r){this.logWarn(`setCellValue() - rowNode not found for primaryKeyValue: ${t.primaryKeyValue}`);return}this.adaptable.setDataValue(t.newValue,n,t.primaryKeyValue,r)}setCellValues(t){t==null||t.forEach(n=>this.setCellValue(n))}getSelectedCellInfo(){return this.getGridState().SelectedCellInfo}getSelectedRowInfo(){return this.getGridState().SelectedRowInfo}getCellDisplayValue(t,n){let r=this.getRowNodeForPrimaryKey(t);return r?this.getDisplayValueFromRowNode(r,n):void 0}getCellRawValue(t,n){let r=this.getRowNodeForPrimaryKey(t);return r?this.getRawValueFromRowNode(r,n):void 0}getCellNormalisedValue(t,n){let r=this.getRowNodeForPrimaryKey(t);return r?this.getNormalisedValueFromRowNode(r,n):void 0}hideFilterForm(){this.adaptable.hideFilterForm()}applyGridFiltering(){this.adaptable.applyGridFiltering()}clearGridFiltering(){this.adaptable.api.filterApi.clearColumnFilters()}getAgGridInstance(){return this.adaptable.gridOptions}getColumnSorts(){return this.getAdaptableState().Grid.ColumnSorts}getColumnSortForColumn(t){let n=this.getColumnSorts();return n==null?void 0:n.find(r=>r.ColumnId==t)}setAdaptableSorting(t){this.adaptable.setColumnSort(t),this.setColumnSorts(t)}clearAdaptableSorting(){this.adaptable.clearColumnSort(),this.clearColumnSorts()}setColumnSorts(t){this.dispatchAction(Hye(t))}clearColumnSorts(){this.dispatchAction(Uye())}selectRow(t,n){this.selectNode(this.getRowNodeForPrimaryKey(t),n)}selectRows(t,n){let r=[];t.forEach(i=>{r.push(this.getRowNodeForPrimaryKey(i))}),this.selectNodes(r,n)}selectNode(t,n){this.adaptable.selectNode(t,n)}selectNodes(t,n){this.adaptable.selectNodes(t,n)}deSelectRow(t,n){this.adaptable.deSelectNode(this.getRowNodeForPrimaryKey(t),n)}deSelectRows(t,n){let r=[];t.forEach(i=>{r.push(this.getRowNodeForPrimaryKey(i))}),this.deSelectNodes(r,n)}deSelectNode(t,n){this.adaptable.deSelectNode(t,n)}deSelectNodes(t,n){this.adaptable.deSelectNodes(t,n)}getSelectionStartEndNodes(t){let n,r;return n=t.primaryKeyValueEnd?this.adaptable.getRowNodeForPrimaryKey(t.primaryKeyValueStart):this.adaptable.getRowNodeByIndex(t.rowIndexStart),t.primaryKeyValueEnd?r=this.adaptable.getRowNodeForPrimaryKey(t.primaryKeyValueEnd):t.rowIndexEnd?r=this.adaptable.getRowNodeByIndex(t.rowIndexEnd):r=n,[n,r]}selectCellRange(t,n){if(t==null||t.primaryKeyValueStart==null&&t.rowIndexStart==null)return;let[r,i]=this.getSelectionStartEndNodes(t);r&&i&&this.adaptable.selectCells(t.columnIds,r,i,n)}selectCellRangeByQuery(t,n,r){let i=[],a=c=>this.adaptable.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(t,"GridInfo",c);if(n){let[c,p]=this.getSelectionStartEndNodes(n);for(let m=c.rowIndex;m<=p.rowIndex;m++){let h=this.adaptable.getRowNodeByIndex(m);a(h)&&i.push(h)}}else this.adaptable.forAllRowNodesDo(c=>{a(c)&&i.push(c)});if(!i.length)return;let s=n;s||(s={columnIds:this.adaptable.api.layoutApi.getCurrentLayout().Columns});let l=i.reduce((c,p,m,h)=>{let C=c[c.length-1];C.startNode===void 0&&(C.startNode=p);let y=h[m+1];return y&&y.rowIndex-1!==p.rowIndex&&(C.endNode=p,c.push({})),m===h.length-1&&(C.endNode=p),c},[{}]),u=r;l.forEach(c=>{this.adaptable.selectCells(s.columnIds,c.startNode,c.endNode,u),u=!1})}selectColumn(t){this.selectColumns([t])}selectColumns(t){this.adaptable.api.columnApi.selectColumns(t)}getFirstRowNode(){return this.adaptable.getFirstRowNode()}getFirstDisplayedRowNode(){return this.adaptable.getFirstDisplayedRowNode()}getVisibleRowNodes(t){return this.adaptable.getVisibleRowNodes()}getAllRowNodes(t){return this.adaptable.getAllRowNodes(t)}getGroupRowNodes(t){return this.adaptable.getGroupRowNodes(t)}getGridCellFromRowNode(t,n){return this.adaptable.getGridCellFromRowNode(t,n)}getRawValueFromRowNode(t,n){return this.adaptable.getRawValueFromRowNode(t,n)}getDisplayValueFromRowNode(t,n){return this.adaptable.getDisplayValueFromRowNode(t,n)}getDisplayValueFromRawValue(t,n,r){return this.adaptable.getDisplayValueFromRawValue(t,n,r)}getNormalisedValueFromRowNode(t,n){let r=this.adaptable.getRawValueFromRowNode(t,n),i=this.adaptable.api.columnApi.getColumnWithColumnId(n);return this.adaptable.getNormalisedValueFromRawValue(r,i)}getRowNodesForPrimaryKeys(t){return this.adaptable.getRowNodesForPrimaryKeys(t)}getRowNodeForPrimaryKey(t){return this.adaptable.getRowNodeForPrimaryKey(t)}getPrimaryKeyValueForRowNode(t){return this.adaptable.getPrimaryKeyValueFromRowNode(t)}getRowNodeForIndex(t){return this.adaptable.getRowNodeByIndex(t)}getPrimaryKeyValuesForRowNodes(t){return t.map(n=>this.getPrimaryKeyValueForRowNode(n))}setRowGroupColumns(t){this.adaptable.setRowGroupColumns(t)}clearRowGroupColumns(){this.adaptable.clearRowGroupColumns()}expandAllRowGroups(){this.adaptable.expandAllRowGroups()}collapseAllRowGroups(){this.adaptable.closeAllRowGroups()}getExpandRowGroupsKeys(){return this.adaptable.getExpandRowGroupsKeys()}expandRowGroupsForValues(t){this.adaptable.expandRowGroupsForValues(t)}isGridPivotable(){return this.adaptable.isGridPivotable()}isGridGroupable(){return this.adaptable.isGridGroupable()}isGridSelectable(){return this.adaptable.isGridSelectable()}isGridRowGrouped(){return this.adaptable.isGridGroupingActive()}isGroupRowNode(t){return this.adaptable.isGroupRowNode(t)}isQuickFilterAvailable(){return this.adaptable.isQuickFilterAvailable()}redrawGrid(){this.adaptable.redrawBody(),this.adaptable.redrawHeader()}getGridCellsForRawValue(t,n){let r=this.adaptable.getGridCellsForColumn(t);if(!r)return;let i=[];return r.forEach(a=>{a.rawValue===n&&i.push(a)}),i}getCellRawValueCount(t,n){let r=this.getGridCellsForRawValue(t,n);return r==null?void 0:r.length}getGridCellsForDisplayValue(t,n){let r=this.adaptable.getGridCellsForColumn(t);if(!r)return;let i=[];return r.forEach(a=>{a.displayValue===n&&i.push(a)}),i}getCellDisplayValueCount(t,n){let r=this.getGridCellsForDisplayValue(t,n);return r==null?void 0:r.length}jumpToRow(t){let n=this.adaptable.getRowNodeForPrimaryKey(t);this.adaptable.jumpToRow(n)}jumpToColumn(t){this.adaptable.jumpToColumn(t)}jumpToCell(t,n){let r=this.adaptable.getRowNodeForPrimaryKey(t);this.adaptable.jumpToCell(n,r)}highlightCell(t){this.dispatchAction(bme(t)),t.timeout&&setTimeout(()=>{this.unHighlightCell(t.primaryKeyValue,t.columnId)},t.timeout)}unHighlightCell(t,n){this.dispatchAction(Sme(t,n))}unHighlightAllCells(){this.dispatchAction(vme())}highlightRow(t){this.dispatchAction(Ame(t)),t.timeout&&setTimeout(()=>{this.unHighlightRow(t.primaryKeyValue)},t.timeout)}highlightRows(t){this.dispatchAction(xme(t)),t.timeout&&setTimeout(()=>{this.unHighlightRows(t.primaryKeyValues)},t.timeout)}unHighlightRow(t){this.dispatchAction(Rme(t))}unHighlightRows(t){this.dispatchAction(Eme(t))}unHighlightAllRows(){this.dispatchAction(wme())}refreshCells(t,n){this.adaptable.refreshCells(t,n,!0)}refreshColumn(t){this.adaptable.refreshCells(null,[t],!0)}refreshColumns(t){this.adaptable.refreshCells(null,t,!0)}refreshRowByPrimaryKey(t){let n=this.getRowNodeForPrimaryKey(t);this.refreshRowNode(n)}refreshRowNode(t){this.adaptable.redrawRow(t)}refreshRowNodes(t){this.adaptable.redrawRows(t)}refreshGroupRowNodes(){this.getAgGridInstance().api.refreshClientSideRowModel("group"),this.adaptable.updateRowGroupsExpandedState()}isCellEditable(t){return!t||!t.column||t.column.readOnly?!1:this.adaptable.isCellEditable(t.rowNode,this.adaptable.getAgGridColumnForColumnId(t.column.columnId))}isEveryCellEditable(t){for(let n of t)if(!this.isCellEditable(n))return!1;return!0}getRowCount(){return this.adaptable.getRowCount()}getVisibleRowCount(){return this.adaptable.getVisibleRowCount()}getRowsInViewport(){return this.adaptable.getRowsInViewport()}getColumnCount(){return this.adaptable.getColumnCount()}getVisibleColumnCount(){return this.adaptable.getVisibleColumnCount()}selectAll(){this.adaptable.selectAll()}deselectAll(){this.adaptable.deselectAll()}destroy(){this.adaptable.destroy()}getGridContainerElement(){return this.adaptable.getAgGridContainerElement()}openGridInfoSettingsPanel(){this.showModulePopup(Vf)}getAgGridRowModelType(){return this.adaptable.getAgGridRowModelType()}};d();d();var jX=I(tE());var UH=class extends Te{fireLayoutChangedEvent(e,t,n,r){let i=this.getAdaptableApi(),a={adaptableApi:i,actionName:e,oldLayoutState:t,newLayoutState:n,userName:i.optionsApi.getUserName(),adaptableId:i.optionsApi.getAdaptableId()};!r&&(0,jX.default)(t,n)||this.adaptable.api.eventApi.emit("LayoutChanged",a)}areLayoutsEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let n={ColumnSorts:[],ColumnWidthMap:{},RowGroupedColumns:[]};return e=S(S({},n),e),t=S(S({},n),t),(0,jX.default)(e,t)}createDefaultLayoutIfNeeded(){let e=this.getAdaptableApi().gridApi.getGridState(),t=this.getLayoutApi().getLayoutState(),n=s=>!!t.Layouts.filter(l=>l.Name===s)[0],r=e.Columns.filter(s=>s.visible),i=e.Columns.reduce((s,l)=>(s[l.columnId]=l,s),{}),a=this.getLayoutOptions().createDefaultLayout;if((!t.Layouts||!t.Layouts.length)&&(a=!0),a&&(!t.Layouts||!n(NC))){let s=it.CreateEmptyLayout({Name:NC,Columns:r.map(l=>l.columnId),AggregationColumns:r.reduce((l,u)=>(u.aggregationFunction&&(l[u.columnId]=u.aggregationFunction),l),{}),PinnedColumnsMap:r.reduce((l,u)=>(u.pinned&&(l[u.columnId]=u.pinned),l),{})},e.Columns);return this.getLayoutApi().createOrUpdateLayout(s),s}}areExpandedRowGroupsSavedInLayouts(){return this.getLayoutOptions().displayRowGroups==="dynamic"}areDraftAndCurrentLayoutEqual(){let e=this.getAdaptableState(),t=this.getLayoutApi().getLayoutByName(e.Layout.CurrentLayout),n=e.Grid.CurrentLayout;return this.areLayoutsEqual(t,n)}getLayoutSupportedFeatures(){let e={RowGroupedColumns:!0,AggregationColumns:!0,PivotColumns:!0,ColumnFilters:!0,ColumnSorts:!0};return this.getGridApi().getAgGridRowModelType()==="viewport"&&(e.RowGroupedColumns=!1,e.AggregationColumns=!1,e.PivotColumns=!1),e}updateCurrentDraftLayout(e){this.dispatchAction(ah(e))}hasLayoutSpecificObjects(){let e=this.getLayoutOptions().layoutTagOptions;return e?e.autoCheckTagsForLayouts==!0||typeof(e==null?void 0:e.isObjectAvailableInLayout)=="function":!1}isObjectAvailableInLayout(e,t,n){var a;if(!this.hasLayoutSpecificObjects())return!0;let r=this.getLayoutOptions().layoutTagOptions;if((r==null?void 0:r.autoCheckTagsForLayouts)==!0)return We.IsNullOrEmpty(e.Tags)?!0:(a=e.Tags)==null?void 0:a.includes(n.Name);let i={adaptableObject:e,module:t,layout:n,adaptableApi:this.getAdaptableApi(),userName:this.getOptions().userName,adaptableId:this.getOptions().adaptableId};return r==null?void 0:r.isObjectAvailableInLayout(i)}showLayoutNotAssociatedObjects(){return this.getAdaptableState().System.ShowLayoutNotAssociatedObjects}isLayoutGrouped(e){var t;return e||(e=this.getLayoutApi().getCurrentLayout()),((t=e==null?void 0:e.RowGroupedColumns)==null?void 0:t.length)>0}};var WH=class extends Te{constructor(t){super(t);this.shouldAutoSaveLayouts=()=>{var t;return(t=this.getLayoutOptions())==null?void 0:t.autoSaveLayouts};this.internalApi=new UH(t)}getLayoutState(){return this.getAdaptableState().Layout}getCurrentVisibleColumnIdsMap(){return this.getCurrentLayout().Columns.reduce((n,r)=>(n[r]=!0,n),{})}getCurrentVisibleColumnIds(){return this.getCurrentLayout().Columns}setLayout(t){if(nt.IsNotNullOrEmpty(t)&&t!==this.getCurrentLayoutName()){let n=this.getAdaptableState().Layout.Layouts.find(r=>r.Name==t);this.checkItemExists(n,t,"Layout")&&this.dispatchAction(ih(t))}}getCurrentLayout(){let t=this.getAdaptableState();if(t.Grid.CurrentLayout)return t.Grid.CurrentLayout;let n=t.Layout.CurrentLayout;return this.getLayoutByName(n)||it.CreateEmptyLayout({Name:NC})}getCurrentLayoutColumnSort(t){var r,i,a,s;let n=this.getCurrentLayout();return(s=(a=(i=(r=n==null?void 0:n.ColumnSorts)==null?void 0:r.find)==null?void 0:i.call(r,l=>l.ColumnId===t))==null?void 0:a.SortOrder)!=null?s:null}getCurrentLayoutName(){return this.getAdaptableState().Layout.CurrentLayout}getLayoutByName(t){if(nt.IsNotNullOrEmpty(t)){let n=this.getLayouts().find(r=>r.Name==t);if(this.checkItemExists(n,t,"Layout"))return n}}getLayouts(){var t;return(t=this.getAdaptableState().Layout.Layouts)!=null?t:[]}getLayoutById(t){var n;return(n=this.getLayouts())==null?void 0:n.find(r=>(r==null?void 0:r.Uuid)===t)}saveCurrentLayout(){var n;let t=this.getCurrentLayout();(n=this.getLayoutOptions())!=null&&n.autoSaveLayouts||(t=this.getAdaptableState().Grid.CurrentLayout||t),t&&this.createOrUpdateLayout(t)}doesLayoutExist(t){return t==null?!1:this.getLayouts().find(r=>r.Uuid==t.Uuid||r.Name===t.Name)!=null}createAndSetLayout(t){let n=this.createLayout(t);return n&&this.setLayout(t.Name),n}createLayout(t){if(this.doesLayoutExist(t))return this.logError("Cannot create layout with the Name: '"+t.Name+"' as it already exists"),!1;let n=it.CreateEmptyLayout(S({},t));return this.addUidToAdaptableObject(n),this.dispatchAction($C(n)),n}cloneAndSetLayout(t,n){let r=this.cloneLayout(t,n);return r&&this.setLayout(n),r}cloneLayout(t,n){if(!this.doesLayoutExist(t))return this.logError("Cannot clone layout with Name: '"+n+"' as other Layout does not exist"),!1;let r=yn.cloneObject(t);return r.Uuid=Gt(),r.Name=n,this.dispatchAction($C(r)),this.getLayoutById(r.Uuid)}setColumnCaption(t,n){if(nt.IsNotNullOrEmpty(t)&&nt.IsNotNullOrEmpty(n)){let r=this.getCurrentLayoutName();nt.IsNotNullOrEmpty(r)&&this.dispatchAction(ck(r,t,n))}}createOrUpdateLayout(t){this.doesLayoutExist(t)?this.dispatchAction(rh(t)):this.createLayout(t)}showChangeColumnCaption(t){this.dispatchAction(She({Header:`Change caption for '${t.friendlyName}'`,Msg:"",DefaultValue:t.friendlyName,ConfirmActionCreator:n=>n!==t.friendlyName&&ck(this.getCurrentLayoutName(),t.columnId,n)}))}openLayoutSettingsPanel(){this.showModulePopup(Su)}showLayoutEditor(t,n="Edit"){let r=n;["Edit","New","Clone"].includes(n)||(r="Edit",this.logError(`When opening the layout editor the action must be one of: New, Clone, Edit; given: ${n}`));let i=t?this.getLayoutByName(t):this.getCurrentLayout();r==="New"&&(i=null),this.showModulePopup(Su,{source:"Toolbar",action:r,value:i})}isCurrentLayoutReadOnly(){let t=this.getCurrentLayout();return t?t.IsReadOnly:!0}deleteLayout(t){if(t.Name===NC){this.logWarn("The Default Layout cannot be deleted");return}if(this.getLayouts().length===1){this.logWarn("You cannot delete the only Layout. AdapTable always requires one layout");return}this.dispatchAction(GE(t))}deleteLayoutByName(t){let n=this.getLayoutByName(t);if(!n){this.logWarn("No Layout exists with that name");return}return this.deleteLayout(n)}isDefaultLayout(t){return t.Name===NC}isCurrentLayoutDefault(){return this.isDefaultLayout(this.getCurrentLayout())}removeColumnFromCurrentLayout(t){this.removeColumnFromLayout(t,this.getCurrentLayoutName())}removeColumnFromAllLayouts(t){this.getLayouts().forEach(n=>{this.removeColumnFromLayout(t,n.Name)})}removeColumnFromLayout(t,n){if(this.getAdaptableApi().columnApi.getColumnWithColumnId(t)){let i=this.getLayoutByName(n);i&&i.Columns.includes(t)&&(this.dispatchAction(gye(n,t)),this.getAdaptableApi().columnApi.hideColumn(t))}}getLayoutSupportedFeatures(){let t={RowGroupedColumns:!0,AggregationColumns:!0,PivotColumns:!0,ColumnFilters:!0,ColumnSorts:!0};return this.getGridApi().getAgGridRowModelType()==="viewport"&&(t.RowGroupedColumns=!1,t.AggregationColumns=!1,t.PivotColumns=!1),t}};d();var zH=class extends Te{getPlusMinusState(){return this.getAdaptableState().PlusMinus}getAllPlusMinus(e){var n;return((n=this.handleLayoutAssociatedObjects(this.getPlusMinusState().PlusMinusNudges,"PlusMinus",e))!=null?n:[]).filter(r=>r.Rule==null||r.Rule.BooleanExpression!=null)}getPlusMinusById(e){return this.getAllPlusMinus().find(t=>(t==null?void 0:t.Uuid)===e)}getAllActivePlusMinus(){return this.getAllPlusMinus().filter(e=>!e.IsSuspended)}getAllSuspendedPlusMinus(){return this.getAllPlusMinus().filter(e=>e.IsSuspended)}runPlusMinusNudge(e,t,n){this.adaptable.adaptableModules.get(di).applyPlusMinus([e],t,n)}applyPlusMinus(e){this.dispatchAction(pbe(e))}openPlusMinusSettingsPanel(){this.showModulePopup(di)}editPlusMinusNudge(e){return this.dispatchAction(jf(e)),this.getPlusMinusById(e.Uuid)}suspendPlusMinusNudge(e){return this.dispatchAction(bk(e)),this.getPlusMinusById(e.Uuid)}unSuspendPlusMinusNudge(e){return this.dispatchAction(Sk(e)),this.getPlusMinusById(e.Uuid)}addPlusMinusNudge(e){return this.addUidToAdaptableObject(e),this.dispatchAction(YC(e)),this.getPlusMinusById(e.Uuid)}};d();var jH=class extends Te{getQuickSearchState(){return this.getAdaptableState().QuickSearch}runQuickSearch(e){this.dispatchAction(Kp(e))}clearQuickSearch(){this.dispatchAction(Kp(""))}getQuickSearchValue(){return this.getQuickSearchState().QuickSearchText}getQuickSearchStyle(){return this.getQuickSearchState().Style}setQuickSearchStyle(e){this.dispatchAction(Tk(e))}openQuickSearchSettingsPanel(){this.showModulePopup(kl)}showFloatingQuickSearch(){this.dispatchAction(v8(!0))}hideFloatingQuickSearch(){this.dispatchAction(v8(!1))}};d();var KH=class extends Te{getShortcutState(){return this.getAdaptableState().Shortcut}getShortcuts(e){var t;return(t=this.handleLayoutAssociatedObjects(this.getShortcutState().Shortcuts,"Shortcut",e))!=null?t:[]}getShortcutById(e){return this.getShortcuts().find(t=>(t==null?void 0:t.Uuid)===e)}getActiveShortcuts(){return this.getShortcuts().filter(e=>!e.IsSuspended)}getSuspendedShortcuts(){return this.getShortcuts().filter(e=>e.IsSuspended)}addShortcut(e){return this.addUidToAdaptableObject(e),this.dispatchAction(BE(e)),this.getShortcutById(e.Uuid)}deleteShortcut(e){this.dispatchAction(rk(e))}deleteAllShortcuts(){this.getShortcuts().forEach(e=>{this.deleteShortcut(e)})}suspendShortcut(e){return this.dispatchAction(ik(e)),this.getShortcutById(e.Uuid)}unSuspendShortcut(e){return this.dispatchAction(ak(e)),this.getShortcutById(e.Uuid)}openShortcutSettingsPanel(){this.showModulePopup(Gp)}};d();var QH=class extends Te{setSmartEditOperation(e){this.dispatchAction(JS(e))}getSmartEditOperation(){return this.getAdaptableState().System.SmartEditOperation}setSmartEditValue(e){this.dispatchAction(hE(e))}getSmartEditValue(){return this.getAdaptableState().System.SmartEditValue}openSmartEditSettingsPanel(){this.showModulePopup(Bl)}applySmartEdit(e){this.dispatchAction(eye(e))}getSmartEditCustomOperations(){var e;return(e=this.getEditOptions().smartEditCustomOperations)!=null?e:[]}setCustomSmartEditOperation(e){let t=this.getSmartEditCustomOperations().find(n=>n.name==e);t&&this.dispatchAction(JS(t))}};d();d();var $H=class extends Te{findPredicateDefByShortcut(e,t){return this.getFilterApi().getFilterPredicateDefsForColumn(t).find(n=>{var r;return(r=this.getPredicateDefShortcuts(n))==null?void 0:r.includes(e)})}createValuesColumnFilterForCells(e){if(!e)return null;let t={ColumnId:e[0].column.columnId,Predicate:{PredicateId:"Values",Inputs:[...new Set(e.map(r=>r.displayValue))]}},[n]=this.getFilterApi().setColumnFilters([t])||[null];return n}createEqualityColumnFilterForCell(e){if(!e)return null;let t=e.column,n={ColumnId:t.columnId,Predicate:{PredicateId:this.adaptable.api.predicateApi.internalApi.getEqualityPredicateForDataType(t.dataType),Inputs:[...new Set([e.rawValue])]}},[r]=this.getFilterApi().setColumnFilters([n])||[null];return r}columnFilterToString(e){let t=this.adaptable.api.columnApi.getFriendlyNameForColumnId(e.ColumnId);return"["+t+"] "+this.adaptable.api.predicateApi.predicateToString(e.Predicate)}columnFiltersToString(e){return e.map(t=>this.columnFilterToString(t)).join(", ")}evaluateColumnFilter(e,t){var l;if(!e.Predicate||((l=e.Predicate.Inputs)==null?void 0:l.some(u=>typeof u=="string"?nt.IsNullOrEmpty(u):typeof u=="number"?isNaN(u):!u)))return!0;let r=this.getAdaptableApi().columnApi.getColumnWithColumnId(e.ColumnId);if(!r)return!0;let i=this.getAdaptableApi().gridApi.getGridCellFromRowNode(t,e.ColumnId);if(!i)return!0;let s={value:i.normalisedValue,oldValue:null,displayValue:i.displayValue,node:t,column:r,adaptableApi:this.getAdaptableApi(),userName:this.getAdaptableApi().optionsApi.getUserName(),adaptableId:this.getAdaptableApi().optionsApi.getAdaptableId()};return this.adaptable.api.predicateApi.handlePredicate(e.Predicate,s,!0)}shouldNewColumnFilterTriggerGridFiltering(e){var l,u;let t=e.type===yv&&this.adaptable.api.filterApi.isFilterActive(e.columnFilter),n=e.type===Av&&this.adaptable.api.filterApi.isFilterActive(e.columnFilter),r=e.type===vv&&this.adaptable.api.filterApi.getColumnFilters().some(c=>this.adaptable.api.filterApi.isFilterActive(c)),i=!1;if(e.type===bv){let c=e.columnFilter,p=this.adaptable.api.filterApi.getColumnFilterForColumn(c.ColumnId);(((l=p==null?void 0:p.Predicate)==null?void 0:l.PredicateId)===((u=c==null?void 0:c.Predicate)==null?void 0:u.PredicateId)||this.adaptable.api.filterApi.isFilterActive(c)||this.adaptable.api.filterApi.isFilterActive(p))&&(i=!0)}let a=e.type===Sv&&this.adaptable.api.filterApi.isFilterActive(e.columnFilter),s=[xv,Ev,Rv,wv].includes(e.type);return t||n||r||i||a||s}fireFilterAppliedEvent(){if(this.adaptable.isLive){let e=this.getAdaptableApi(),t={columnFilters:this.getFilterApi().getColumnFilters(),adaptableApi:e,userName:e.optionsApi.getUserName(),adaptableId:e.optionsApi.getAdaptableId()};this.adaptable.api.eventApi.emit("FilterApplied",t)}}areColumnFiltersDifferent(e,t){return We.IsNullOrEmpty(e)&&We.IsNullOrEmpty(t)?!1:We.areArraysNotEqual(e,t)}getPredicateDefShortcuts(e){let t=this.getFilterOptions().quickFilterWildcards,n=e.shortcuts,r=e.id;return(t==null?void 0:t[r])&&Array.isArray(t[r])&&(n=t[r]),n}};var qH=class extends Te{constructor(t){super(t);this.internalApi=new $H(t)}getFilterPredicateDefsForColumn(t){let n={ColumnIds:[t.columnId]};return this.getAdaptableApi().predicateApi.internalApi.getFilterPredicateDefs(n).filter(r=>this.adaptable.api.scopeApi.isColumnInScope(t,r.columnScope))}getFilterPredicateDefsForColumnId(t){let n=this.getAdaptableApi().columnApi.getColumnWithColumnId(t);return n?this.getFilterPredicateDefsForColumn(n):void 0}showQuickFilterBar(){this.dispatchAction(yE())}hideQuickFilterBar(){this.dispatchAction(bE())}isQuickFilterAvailable(){return this.adaptable.isQuickFilterAvailable()}isQuickFilterVisible(){return this.isQuickFilterAvailable()&&this.adaptable.api.internalApi.getSystemState().IsQuickFilterVisible}getColumnFilters(){var n;return(n=this.adaptable.api.layoutApi.getCurrentLayout().ColumnFilters)!=null?n:[]}getActiveColumnFilters(){return this.getColumnFilters().filter(t=>!t.IsSuspended)}getColumnFilterDefs(){return this.getColumnFilters().map(n=>{let r=this.getAdaptableApi().columnApi.getColumnWithColumnId(n.ColumnId);return{predicate:this.getAdaptableApi().predicateApi.getPredicateDefById(n.Predicate.PredicateId),dataType:r==null?void 0:r.dataType,columnFilter:n}})}getColumnFiltersForLayout(t){var r;return(r=this.adaptable.api.layoutApi.getLayoutByName(t).ColumnFilters)!=null?r:[]}setColumnFilters(t){return t.forEach(n=>{n.Predicate?this.adaptable.api.predicateApi.isValidPredicate(n.Predicate)?(this.addUidToAdaptableObject(n),this.getColumnFilters().find(i=>i.ColumnId==n.ColumnId)?this.dispatchAction(sk(n)):this.dispatchAction(QC(n))):this.logWarn("Column Filter Predicate is not valid",n):this.logWarn("Column Filter has no Predicate",n)}),t==null?void 0:t.map(n=>this.getColumnFilterById(n.Uuid)).filter(Boolean)}clearColumnFilter(t){this.dispatchAction(jp(t))}clearColumnFiltersForColumns(t){t.forEach(n=>{this.clearColumnFilterForColumn(n)})}clearColumnFilters(){this.dispatchAction(lk()),this.adaptable.clearGridFiltering()}clearAndSetColumnFilters(t){this.clearColumnFilters(),this.setColumnFilters(t)}columnFilterToString(t){return this.internalApi.columnFilterToString(t)}columnFiltersToString(t){return this.internalApi.columnFiltersToString(t)}getColumnFilterById(t){var n;return(n=this.getColumnFilters())==null?void 0:n.find(r=>r.Uuid===t)}isFilterActive(t){if(!t||!t.Predicate||!t.Predicate.PredicateId)return!1;let n=this.adaptable.api.predicateApi.getPredicateDefById(t==null?void 0:t.Predicate.PredicateId);if(We.IsNull(n.inputs)&&!this.adaptable.api.predicateApi.internalApi.hasPredicateValues(t.Predicate))return!0;let r=t.Predicate.Inputs;return We.IsEmpty(r)?!1:r.every(a=>a!=null&&a!=="")}setColumnFilterForColumn(t,n){let r={PredicateId:n.PredicateId};n.PredicateInputs&&(r.Inputs=n.PredicateInputs);let i={ColumnId:t,Predicate:r};this.setColumnFilters([i])}suspendColumnFilter(t){this.dispatchAction(MO(t))}unSuspendColumnFilter(t){this.dispatchAction(NO(t))}suspendAllColumnFilters(){this.dispatchAction(uk())}unSuspendAllColumnFilters(){this.dispatchAction(dk())}getColumnFilterForColumn(t){return this.getColumnFilters().find(n=>n.ColumnId==t)}clearColumnFilterForColumn(t){let n=this.getColumnFilterForColumn(t);n&&(this.dispatchAction(jp(n)),this.adaptable.clearColumnFiltering([t]))}};d();var hDe=require("react");d();var YH=class extends Te{fireSystemStatusMessageDisplayedEvent(e){let t=this.getAdaptableApi(),n={adaptableApi:t,systemStatusMessageInfo:e,userName:t.optionsApi.getUserName(),adaptableId:t.optionsApi.getAdaptableId()};this.getAdaptableApi().eventApi.emit("SystemStatusMessageDisplayed",n)}addSystemStatusMessageInfo(e){let t=this.getNotificationsOptions().maxSystemMessagesInStore;this.dispatchAction(Ome(e,t))}getSystemStatusMessageInfos(){return this.getAdaptableState().System.SystemStatusMessages}};var XH=class extends Te{constructor(t){super(t);this.internalApi=new YH(t)}setSystemStatus(t,n,r){let i=it.CreateSystemStatusMessageInfo(t,n,r||"");if(this.internalApi.addSystemStatusMessageInfo(i),this.internalApi.fireSystemStatusMessageDisplayedEvent(i),this.getNotificationsOptions().showSystemStatusMessageNotifications){let a=t;switch(nt.IsNotNullOrEmpty(r)&&(a+=`
383
383
  `+r),n){case"Success":this.getAdaptableApi().alertApi.showAlertSuccess("System Status Success",a);return;case"Info":this.getAdaptableApi().alertApi.showAlertInfo("System Status Info",a);return;case"Warning":this.getAdaptableApi().alertApi.showAlertWarning("System Status Warning",a);return;case"Error":this.getAdaptableApi().alertApi.showAlertError("System Status Error",a);return}}this.getContainerOptions().systemStatusContainer!=null&&this.displayMessageInDiv(t,r,n),this.dispatchAction(lDe(i))}displayMessageInDiv(t,n,r){if(!this.systemStatusDiv){let i=this.getContainerOptions().systemStatusContainer;i&&(this.systemStatusDiv=typeof i=="string"?document.getElementById(i):i)}if(this.systemStatusDiv){nt.IsNotNullOrEmpty(n)&&(t+=n);let i=r?Uo.getColorByMessageType(r):"black";this.adaptable.renderReactRoot((0,hDe.createElement)("span",{style:{color:i}},t),this.systemStatusDiv)}}setErrorSystemStatus(t,n){this.setSystemStatus(t,"Error",n)}setWarningSystemStatus(t,n){this.setSystemStatus(t,"Warning",n)}setSuccessSystemStatus(t,n){this.setSystemStatus(t,"Success",n)}setInfoSystemStatus(t,n){this.setSystemStatus(t,"Info",n)}openSystemStatusSettingsPanel(){this.showModulePopup(Hp)}getCurrentSystemStatusMessageInfo(){return(this.internalApi.getSystemStatusMessageInfos()||[]).sort((r,i)=>i.timestamp.getTime()-r.timestamp.getTime())[0]}deleteAllSystemStatusMessages(){this.dispatchAction(B_())}destroy(){this.systemStatusDiv=null,super.destroy()}};d();d();var fDe=[{Name:qS,Description:"Light Theme"},{Name:uE,Description:"Dark Theme"}];d();d();d();var Nd=I(require("react"));d();d();d();var eM=I(require("react")),pA=I(WK());d();var gDe=I(require("react")),Ls=gDe.default.createContext(null);g.NODE_ENV!=="production"&&(Ls.displayName="ReactRedux");d();d();function $xt(o){o()}var CDe=$xt,yDe=function(e){return CDe=e},bDe=function(){return CDe};function qxt(){var o=bDe(),e=null,t=null;return{clear:function(){e=null,t=null},notify:function(){o(function(){for(var r=e;r;)r.callback(),r=r.next})},get:function(){for(var r=[],i=e;i;)r.push(i),i=i.next;return r},subscribe:function(r){var i=!0,a=t={callback:r,next:null,prev:t};return a.prev?a.prev.next=a:e=a,function(){!i||e===null||(i=!1,a.next?a.next.prev=a.prev:t=a.prev,a.prev?a.prev.next=a.next:e=a.next)}}}}var SDe={notify:function(){},get:function(){return[]}};function lT(o,e){var t,n=SDe;function r(p){return l(),n.subscribe(p)}function i(){n.notify()}function a(){c.onStateChange&&c.onStateChange()}function s(){return Boolean(t)}function l(){t||(t=e?e.addNestedSub(a):o.subscribe(a),n=qxt())}function u(){t&&(t(),t=void 0,n.clear(),n=SDe)}var c={addNestedSub:r,notifyNestedSubs:i,handleChangeWrapper:a,isSubscribed:s,trySubscribe:l,tryUnsubscribe:u,getListeners:function(){return n}};return c}d();var ZH=require("react"),cA=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?ZH.useLayoutEffect:ZH.useEffect;function vDe(o){var e=o.store,t=o.context,n=o.children,r=(0,eM.useMemo)(function(){var s=lT(e);return{store:e,subscription:s}},[e]),i=(0,eM.useMemo)(function(){return e.getState()},[e]);cA(function(){var s=r.subscription;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),i!==e.getState()&&s.notifyNestedSubs(),function(){s.tryUnsubscribe(),s.onStateChange=null}},[r,i]);var a=t||Ls;return eM.default.createElement(a.Provider,{value:r},n)}g.NODE_ENV!=="production"&&(vDe.propTypes={store:pA.default.shape({subscribe:pA.default.func.isRequired,dispatch:pA.default.func.isRequired,getState:pA.default.func.isRequired}),context:pA.default.object,children:pA.default.any});var tM=vDe;d();d();function Ht(){return Ht=Object.assign?Object.assign.bind():function(o){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(o[n]=t[n])}return o},Ht.apply(this,arguments)}d();function Py(o,e){if(o==null)return{};var t={},n=Object.keys(o),r,i;for(i=0;i<n.length;i++)r=n[i],!(e.indexOf(r)>=0)&&(t[r]=o[r]);return t}var YX=I(IDe()),Ur=I(require("react")),t2=I(_De());var mRt=["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"],hRt=["reactReduxForwardedRef"],fRt=[],gRt=[null,null],CRt=function(e){try{return JSON.stringify(e)}catch{return String(e)}};function yRt(o,e){var t=o[1];return[e.payload,t+1]}function kDe(o,e,t){cA(function(){return o.apply(void 0,e)},t)}function bRt(o,e,t,n,r,i,a){o.current=n,e.current=r,t.current=!1,i.current&&(i.current=null,a())}function SRt(o,e,t,n,r,i,a,s,l,u){if(!!o){var c=!1,p=null,m=function(){if(!c){var y=e.getState(),v,x;try{v=n(y,r.current)}catch(A){x=A,p=A}x||(p=null),v===i.current?a.current||l():(i.current=v,s.current=v,a.current=!0,u({type:"STORE_UPDATED",payload:{error:x}}))}};t.onStateChange=m,t.trySubscribe(),m();var h=function(){if(c=!0,t.tryUnsubscribe(),t.onStateChange=null,p)throw p};return h}}var vRt=function(){return[null,0]};function o2(o,e){e===void 0&&(e={});var t=e,n=t.getDisplayName,r=n===void 0?function(D){return"ConnectAdvanced("+D+")"}:n,i=t.methodName,a=i===void 0?"connectAdvanced":i,s=t.renderCountProp,l=s===void 0?void 0:s,u=t.shouldHandleStateChanges,c=u===void 0?!0:u,p=t.storeKey,m=p===void 0?"store":p,h=t.withRef,C=h===void 0?!1:h,y=t.forwardRef,v=y===void 0?!1:y,x=t.context,A=x===void 0?Ls:x,R=Py(t,mRt);if(g.NODE_ENV!=="production"){if(l!==void 0)throw new Error("renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension");if(C)throw new Error("withRef is removed. To access the wrapped instance, use a ref on the connected component");var w="To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect";if(m!=="store")throw new Error("storeKey has been removed and does not do anything. "+w)}var P=A;return function(F){if(g.NODE_ENV!=="production"&&!(0,t2.isValidElementType)(F))throw new Error("You must pass a component to the function returned by "+(a+". Instead received "+CRt(F)));var M=F.displayName||F.name||"Component",O=r(M),_=Ht({},R,{getDisplayName:r,methodName:a,renderCountProp:l,shouldHandleStateChanges:c,storeKey:m,displayName:O,wrappedComponentName:M,WrappedComponent:F}),H=R.pure;function j(Z){return o(Z.dispatch,_)}var B=H?Ur.useMemo:function(Z){return Z()};function V(Z){var oe=(0,Ur.useMemo)(function(){var ko=Z.reactReduxForwardedRef,Mn=Py(Z,hRt);return[Z.context,ko,Mn]},[Z]),X=oe[0],xe=oe[1],se=oe[2],ie=(0,Ur.useMemo)(function(){return X&&X.Consumer&&(0,t2.isContextConsumer)(Ur.default.createElement(X.Consumer,null))?X:P},[X,P]),he=(0,Ur.useContext)(ie),De=Boolean(Z.store)&&Boolean(Z.store.getState)&&Boolean(Z.store.dispatch),tt=Boolean(he)&&Boolean(he.store);if(g.NODE_ENV!=="production"&&!De&&!tt)throw new Error('Could not find "store" in the context of '+('"'+O+'". Either wrap the root component in a <Provider>, ')+"or pass a custom React context provider to <Provider> and the corresponding "+("React context consumer to "+O+" in connect options."));var z=De?Z.store:he.store,W=(0,Ur.useMemo)(function(){return j(z)},[z]),U=(0,Ur.useMemo)(function(){if(!c)return gRt;var ko=lT(z,De?null:he.subscription),Mn=ko.notifyNestedSubs.bind(ko);return[ko,Mn]},[z,De,he]),ee=U[0],fe=U[1],Se=(0,Ur.useMemo)(function(){return De?he:Ht({},he,{subscription:ee})},[De,he,ee]),re=(0,Ur.useReducer)(yRt,fRt,vRt),ft=re[0],Re=ft[0],Ut=re[1];if(Re&&Re.error)throw Re.error;var so=(0,Ur.useRef)(),Do=(0,Ur.useRef)(se),vr=(0,Ur.useRef)(),Fn=(0,Ur.useRef)(!1),ii=B(function(){return vr.current&&se===Do.current?vr.current:W(z.getState(),se)},[z,Re,se]);kDe(bRt,[Do,so,Fn,se,ii,vr,fe]),kDe(SRt,[c,z,ee,W,Do,so,Fn,vr,fe,Ut],[z,ee,W]);var Oo=(0,Ur.useMemo)(function(){return Ur.default.createElement(F,Ht({},ii,{ref:xe}))},[xe,F,ii]),yo=(0,Ur.useMemo)(function(){return c?Ur.default.createElement(ie.Provider,{value:Se},Oo):Oo},[ie,Oo,Se]);return yo}var $=H?Ur.default.memo(V):V;if($.WrappedComponent=F,$.displayName=V.displayName=O,v){var K=Ur.default.forwardRef(function(oe,X){return Ur.default.createElement($,Ht({},oe,{reactReduxForwardedRef:X}))});return K.displayName=O,K.WrappedComponent=F,(0,YX.default)(K,F)}return(0,YX.default)($,F)}}d();d();function BDe(o,e){return o===e?o!==0||e!==0||1/o===1/e:o!==o&&e!==e}function uT(o,e){if(BDe(o,e))return!0;if(typeof o!="object"||o===null||typeof e!="object"||e===null)return!1;var t=Object.keys(o),n=Object.keys(e);if(t.length!==n.length)return!1;for(var r=0;r<t.length;r++)if(!Object.prototype.hasOwnProperty.call(e,t[r])||!BDe(o[t[r]],e[t[r]]))return!1;return!0}d();d();function XX(o,e){var t={},n=function(a){var s=o[a];typeof s=="function"&&(t[a]=function(){return e(s.apply(void 0,arguments))})};for(var r in o)n(r);return t}d();d();d();function ZX(o){if(typeof o!="object"||o===null)return!1;var e=Object.getPrototypeOf(o);if(e===null)return!0;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return e===t}d();function cM(o){typeof console<"u"&&typeof console.error=="function"&&console.error(o);try{throw new Error(o)}catch{}}function pM(o,e,t){ZX(o)||cM(t+"() in "+e+" must return a plain object. Instead received "+o+".")}function mM(o){return function(t,n){var r=o(t,n);function i(){return r}return i.dependsOnOwnProps=!1,i}}function VDe(o){return o.dependsOnOwnProps!==null&&o.dependsOnOwnProps!==void 0?Boolean(o.dependsOnOwnProps):o.length!==1}function n2(o,e){return function(n,r){var i=r.displayName,a=function(l,u){return a.dependsOnOwnProps?a.mapToProps(l,u):a.mapToProps(l)};return a.dependsOnOwnProps=!0,a.mapToProps=function(l,u){a.mapToProps=o,a.dependsOnOwnProps=VDe(o);var c=a(l,u);return typeof c=="function"&&(a.mapToProps=c,a.dependsOnOwnProps=VDe(c),c=a(l,u)),g.NODE_ENV!=="production"&&pM(c,i,e),c},a}}function ARt(o){return typeof o=="function"?n2(o,"mapDispatchToProps"):void 0}function xRt(o){return o?void 0:mM(function(e){return{dispatch:e}})}function RRt(o){return o&&typeof o=="object"?mM(function(e){return XX(o,e)}):void 0}var GDe=[ARt,xRt,RRt];d();function ERt(o){return typeof o=="function"?n2(o,"mapStateToProps"):void 0}function wRt(o){return o?void 0:mM(function(){return{}})}var HDe=[ERt,wRt];d();function TRt(o,e,t){return Ht({},t,o,e)}function IRt(o){return function(t,n){var r=n.displayName,i=n.pure,a=n.areMergedPropsEqual,s=!1,l;return function(c,p,m){var h=o(c,p,m);return s?(!i||!a(h,l))&&(l=h):(s=!0,l=h,g.NODE_ENV!=="production"&&pM(l,r,"mergeProps")),l}}}function PRt(o){return typeof o=="function"?IRt(o):void 0}function DRt(o){return o?void 0:function(){return TRt}}var UDe=[PRt,DRt];d();d();function JX(o,e,t){if(o)(e==="mapStateToProps"||e==="mapDispatchToProps")&&(Object.prototype.hasOwnProperty.call(o,"dependsOnOwnProps")||cM("The selector for "+e+" of "+t+" did not specify a value for dependsOnOwnProps."));else throw new Error("Unexpected value for "+e+" in "+t+".")}function eZ(o,e,t,n){JX(o,"mapStateToProps",n),JX(e,"mapDispatchToProps",n),JX(t,"mergeProps",n)}var ORt=["initMapStateToProps","initMapDispatchToProps","initMergeProps"];function FRt(o,e,t,n){return function(i,a){return t(o(i,a),e(n,a),a)}}function MRt(o,e,t,n,r){var i=r.areStatesEqual,a=r.areOwnPropsEqual,s=r.areStatePropsEqual,l=!1,u,c,p,m,h;function C(R,w){return u=R,c=w,p=o(u,c),m=e(n,c),h=t(p,m,c),l=!0,h}function y(){return p=o(u,c),e.dependsOnOwnProps&&(m=e(n,c)),h=t(p,m,c),h}function v(){return o.dependsOnOwnProps&&(p=o(u,c)),e.dependsOnOwnProps&&(m=e(n,c)),h=t(p,m,c),h}function x(){var R=o(u,c),w=!s(R,p);return p=R,w&&(h=t(p,m,c)),h}function A(R,w){var P=!a(w,c),D=!i(R,u);return u=R,c=w,P&&D?y():P?v():D?x():h}return function(w,P){return l?A(w,P):C(w,P)}}function tZ(o,e){var t=e.initMapStateToProps,n=e.initMapDispatchToProps,r=e.initMergeProps,i=Py(e,ORt),a=t(o,i),s=n(o,i),l=r(o,i);g.NODE_ENV!=="production"&&eZ(a,s,l,i.displayName);var u=i.pure?MRt:FRt;return u(a,s,l,o,i)}var NRt=["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"];function oZ(o,e,t){for(var n=e.length-1;n>=0;n--){var r=e[n](o);if(r)return r}return function(i,a){throw new Error("Invalid value of type "+typeof o+" for "+t+" argument when connecting component "+a.wrappedComponentName+".")}}function LRt(o,e){return o===e}function _Rt(o){var e=o===void 0?{}:o,t=e.connectHOC,n=t===void 0?o2:t,r=e.mapStateToPropsFactories,i=r===void 0?HDe:r,a=e.mapDispatchToPropsFactories,s=a===void 0?GDe:a,l=e.mergePropsFactories,u=l===void 0?UDe:l,c=e.selectorFactory,p=c===void 0?tZ:c;return function(h,C,y,v){v===void 0&&(v={});var x=v,A=x.pure,R=A===void 0?!0:A,w=x.areStatesEqual,P=w===void 0?LRt:w,D=x.areOwnPropsEqual,F=D===void 0?uT:D,M=x.areStatePropsEqual,O=M===void 0?uT:M,_=x.areMergedPropsEqual,H=_===void 0?uT:_,j=Py(x,NRt),B=oZ(h,i,"mapStateToProps"),V=oZ(C,s,"mapDispatchToProps"),$=oZ(y,u,"mergeProps");return n(p,Ht({methodName:"connect",getDisplayName:function(Z){return"Connect("+Z+")"},shouldHandleStateChanges:Boolean(h),initMapStateToProps:B,initMapDispatchToProps:V,initMergeProps:$,pure:R,areStatesEqual:P,areOwnPropsEqual:F,areStatePropsEqual:O,areMergedPropsEqual:H},j))}}var bt=_Rt();d();d();var zDe=require("react");d();var WDe=require("react");function r2(){var o=(0,WDe.useContext)(Ls);if(g.NODE_ENV!=="production"&&!o)throw new Error("could not find react-redux context value; please ensure the component is wrapped in a <Provider>");return o}function i2(o){o===void 0&&(o=Ls);var e=o===Ls?r2:function(){return(0,zDe.useContext)(o)};return function(){var n=e(),r=n.store;return r}}var nZ=i2();function jDe(o){o===void 0&&(o=Ls);var e=o===Ls?nZ:i2(o);return function(){var n=e();return n.dispatch}}var yt=jDe();d();var Md=require("react");var kRt=function(e,t){return e===t};function BRt(o,e,t,n){var r=(0,Md.useReducer)(function(C){return C+1},0),i=r[1],a=(0,Md.useMemo)(function(){return lT(t,n)},[t,n]),s=(0,Md.useRef)(),l=(0,Md.useRef)(),u=(0,Md.useRef)(),c=(0,Md.useRef)(),p=t.getState(),m;try{if(o!==l.current||p!==u.current||s.current){var h=o(p);c.current===void 0||!e(h,c.current)?m=h:m=c.current}else m=c.current}catch(C){throw s.current&&(C.message+=`
384
384
  The error may be correlated with this previous error:
385
385
  `+s.current.stack+`
@@ -568,14 +568,14 @@ Valid only as an operand for an observable function.`,signatures:["TIMEFRAME('%n
568
568
  Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.
569
569
  More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/droppable.md
570
570
  `)}}],BOt=[function(e){var t=e.props;t.renderClone||(g.NODE_ENV!=="production"?me(!1,"Must provide a clone render function (renderClone) for virtual lists"):me(!1))},function(e){var t=e.getPlaceholderRef;t()&&(g.NODE_ENV!=="production"?me(!1,"Expected virtual list to not have a placeholder"):me(!1))}];function VOt(o){qM(function(){pJ(o,_Ot),o.props.mode==="standard"&&pJ(o,kOt),o.props.mode==="virtual"&&pJ(o,BOt)})}var GOt=function(o){ZU(e,o);function e(){for(var n,r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return n=o.call.apply(o,[this].concat(i))||this,n.state={isVisible:Boolean(n.props.on),data:n.props.on,animate:n.props.shouldAnimate&&n.props.on?"open":"none"},n.onClose=function(){n.state.animate==="close"&&n.setState({isVisible:!1})},n}e.getDerivedStateFromProps=function(r,i){return r.shouldAnimate?r.on?{isVisible:!0,data:r.on,animate:"open"}:i.isVisible?{isVisible:!0,data:i.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:Boolean(r.on),data:r.on,animate:"none"}};var t=e.prototype;return t.render=function(){if(!this.state.isVisible)return null;var r={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(r)},e}(Lt.default.PureComponent),_0e={dragging:5e3,dropAnimating:4500},HOt=function(e,t){return t?kM.drop(t.duration):e?kM.snap:kM.fluid},UOt=function(e,t){return e?t?UM.opacity.drop:UM.opacity.combining:null},WOt=function(e){return e.forceShouldAnimate!=null?e.forceShouldAnimate:e.mode==="SNAP"};function zOt(o){var e=o.dimension,t=e.client,n=o.offset,r=o.combineWith,i=o.dropping,a=Boolean(r),s=WOt(o),l=Boolean(i),u=l?CJ.drop(n,a):CJ.moveTo(n),c={position:"fixed",top:t.marginBox.top,left:t.marginBox.left,boxSizing:"border-box",width:t.borderBox.width,height:t.borderBox.height,transition:HOt(s,i),transform:u,opacity:UOt(a,l),zIndex:l?_0e.dropAnimating:_0e.dragging,pointerEvents:"none"};return c}function jOt(o){return{transform:CJ.moveTo(o.offset),transition:o.shouldAnimateDisplacement?null:"none"}}function KOt(o){return o.type==="DRAGGING"?zOt(o):jOt(o)}function QOt(o,e,t){t===void 0&&(t=Cs);var n=window.getComputedStyle(e),r=e.getBoundingClientRect(),i=tJ(r,n),a=FM(i,t),s={client:i,tagName:e.tagName.toLowerCase(),display:n.display},l={x:i.marginBox.width,y:i.marginBox.height},u={descriptor:o,placeholder:s,displaceBy:l,client:i,page:a};return u}function $Ot(o){var e=BJ("draggable"),t=o.descriptor,n=o.registry,r=o.getDraggableRef,i=o.canDragInteractiveElements,a=o.shouldRespectForcePress,s=o.isEnabled,l=hn(function(){return{canDragInteractiveElements:i,shouldRespectForcePress:a,isEnabled:s}},[i,s,a]),u=Bt(function(h){var C=r();return C||(g.NODE_ENV!=="production"?me(!1,"Cannot get dimension when no ref is set"):me(!1)),QOt(t,C,h)},[t,r]),c=hn(function(){return{uniqueId:e,descriptor:t,options:l,getDimension:u}},[t,u,l,e]),p=(0,Lt.useRef)(c),m=(0,Lt.useRef)(!0);Gd(function(){return n.draggable.register(p.current),function(){return n.draggable.unregister(p.current)}},[n.draggable]),Gd(function(){if(m.current){m.current=!1;return}var h=p.current;p.current=c,n.draggable.update(c,h)},[c,n.draggable])}function qOt(o,e,t){qM(function(){function n(i){return"Draggable[id: "+i+"]: "}var r=o.draggableId;r||(g.NODE_ENV!=="production"?me(!1,"Draggable requires a draggableId"):me(!1)),typeof r!="string"&&(g.NODE_ENV!=="production"?me(!1,`Draggable requires a [string] draggableId.
571
- Provided: [type: `+typeof r+"] (value: "+r+")"):me(!1)),qTt(o.index)||(g.NODE_ENV!=="production"?me(!1,n(r)+" requires an integer index prop"):me(!1)),o.mapped.type!=="DRAGGING"&&(ONe(t()),o.isEnabled&&(ANe(e,r)||(g.NODE_ENV!=="production"?me(!1,n(r)+" Unable to find drag handle"):me(!1))))})}function YOt(o){VJ(function(){var e=(0,Lt.useRef)(o);qM(function(){o!==e.current&&(g.NODE_ENV!=="production"?me(!1,"Draggable isClone prop value changed during component life"):me(!1))},[o])})}function XOt(o){o.preventDefault()}function ZOt(o){var e=(0,Lt.useRef)(null),t=Bt(function(O){e.current=O},[]),n=Bt(function(){return e.current},[]),r=u3(h3),i=r.contextId,a=r.dragHandleUsageInstructionsId,s=r.registry,l=u3(WJ),u=l.type,c=l.droppableId,p=hn(function(){return{id:o.draggableId,index:o.index,type:u,droppableId:c}},[o.draggableId,o.index,u,c]),m=o.children,h=o.draggableId,C=o.isEnabled,y=o.shouldRespectForcePress,v=o.canDragInteractiveElements,x=o.isClone,A=o.mapped,R=o.dropAnimationFinished;if(qOt(o,i,n),YOt(x),!x){var w=hn(function(){return{descriptor:p,registry:s,getDraggableRef:n,canDragInteractiveElements:v,shouldRespectForcePress:y,isEnabled:C}},[p,s,n,v,y,C]);$Ot(w)}var P=hn(function(){return C?{tabIndex:0,role:"button","aria-describedby":a,"data-rbd-drag-handle-draggable-id":h,"data-rbd-drag-handle-context-id":i,draggable:!1,onDragStart:XOt}:null},[i,a,h,C]),D=Bt(function(O){A.type==="DRAGGING"&&(!A.dropping||O.propertyName==="transform"&&R())},[R,A]),F=hn(function(){var O=KOt(A),_=A.type==="DRAGGING"&&A.dropping?D:null,H={innerRef:t,draggableProps:{"data-rbd-draggable-context-id":i,"data-rbd-draggable-id":h,style:O,onTransitionEnd:_},dragHandleProps:P};return H},[i,P,h,A,D,t]),M=hn(function(){return{draggableId:p.id,type:p.type,source:{index:p.index,droppableId:p.droppableId}}},[p.droppableId,p.id,p.index,p.type]);return m(F,A.snapshot,M)}var FNe=function(o,e){return o===e},MNe=function(o){var e=o.combine,t=o.destination;return t?t.droppableId:e?e.droppableId:null},JOt=function(e){return e.combine?e.combine.draggableId:null},eFt=function(e){return e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null};function tFt(){var o=(0,_a.default)(function(r,i){return{x:r,y:i}}),e=(0,_a.default)(function(r,i,a,s,l){return{isDragging:!0,isClone:i,isDropAnimating:Boolean(l),dropAnimation:l,mode:r,draggingOver:a,combineWith:s,combineTargetFor:null}}),t=(0,_a.default)(function(r,i,a,s,l,u,c){return{mapped:{type:"DRAGGING",dropping:null,draggingOver:l,combineWith:u,mode:i,offset:r,dimension:a,forceShouldAnimate:c,snapshot:e(i,s,l,u,null)}}}),n=function(i,a){if(i.isDragging){if(i.critical.draggable.id!==a.draggableId)return null;var s=i.current.client.offset,l=i.dimensions.draggables[a.draggableId],u=Vd(i.impact),c=eFt(i.impact),p=i.forceShouldAnimate;return t(o(s.x,s.y),i.movementMode,l,a.isClone,u,c,p)}if(i.phase==="DROP_ANIMATING"){var m=i.completed;if(m.result.draggableId!==a.draggableId)return null;var h=a.isClone,C=i.dimensions.draggables[a.draggableId],y=m.result,v=y.mode,x=MNe(y),A=JOt(y),R=i.dropDuration,w={duration:R,curve:OJ.drop,moveTo:i.newHomeClientOffset,opacity:A?UM.opacity.drop:null,scale:A?UM.scale.drop:null};return{mapped:{type:"DRAGGING",offset:i.newHomeClientOffset,dimension:C,dropping:w,draggingOver:x,combineWith:A,mode:v,forceShouldAnimate:null,snapshot:e(v,h,x,A,w)}}}return null};return n}function NNe(o){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:o,combineWith:null}}var oFt={mapped:{type:"SECONDARY",offset:Cs,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:NNe(null)}};function nFt(){var o=(0,_a.default)(function(a,s){return{x:a,y:s}}),e=(0,_a.default)(NNe),t=(0,_a.default)(function(a,s,l){return s===void 0&&(s=null),{mapped:{type:"SECONDARY",offset:a,combineTargetFor:s,shouldAnimateDisplacement:l,snapshot:e(s)}}}),n=function(s){return s?t(Cs,s,!0):null},r=function(s,l,u,c){var p=u.displaced.visible[s],m=Boolean(c.inVirtualList&&c.effected[s]),h=c3(u),C=h&&h.draggableId===s?l:null;if(!p){if(!m)return n(C);if(u.displaced.invisible[s])return null;var y=GT(c.displacedBy.point),v=o(y.x,y.y);return t(v,C,!0)}if(m)return n(C);var x=u.displacedBy.point,A=o(x.x,x.y);return t(A,C,p.shouldAnimate)},i=function(s,l){if(s.isDragging)return s.critical.draggable.id===l.draggableId?null:r(l.draggableId,s.critical.draggable.id,s.impact,s.afterCritical);if(s.phase==="DROP_ANIMATING"){var u=s.completed;return u.result.draggableId===l.draggableId?null:r(l.draggableId,u.result.draggableId,u.impact,u.afterCritical)}return null};return i}var rFt=function(){var e=tFt(),t=nFt(),n=function(i,a){return e(i,a)||t(i,a)||oFt};return n},iFt={dropAnimationFinished:cNe},aFt=bt(rFt,iFt,null,{context:kJ,pure:!0,areStatePropsEqual:FNe})(ZOt);function LNe(o){var e=u3(WJ),t=e.isUsingCloneFor;return t===o.draggableId&&!o.isClone?null:Lt.default.createElement(aFt,o)}function MA(o){var e=typeof o.isDragDisabled=="boolean"?!o.isDragDisabled:!0,t=Boolean(o.disableInteractiveElementBlocking),n=Boolean(o.shouldRespectForcePress);return Lt.default.createElement(LNe,Ht({},o,{isClone:!1,isEnabled:e,canDragInteractiveElements:t,shouldRespectForcePress:n}))}function sFt(o){var e=(0,Lt.useContext)(h3);e||(g.NODE_ENV!=="production"?me(!1,"Could not find app context"):me(!1));var t=e.contextId,n=e.isMovementAllowed,r=(0,Lt.useRef)(null),i=(0,Lt.useRef)(null),a=o.children,s=o.droppableId,l=o.type,u=o.mode,c=o.direction,p=o.ignoreContainerClipping,m=o.isDropDisabled,h=o.isCombineEnabled,C=o.snapshot,y=o.useClone,v=o.updateViewportMaxScroll,x=o.getContainerForClone,A=Bt(function(){return r.current},[]),R=Bt(function(j){r.current=j},[]),w=Bt(function(){return i.current},[]),P=Bt(function(j){i.current=j},[]);VOt({props:o,getDroppableRef:A,getPlaceholderRef:w});var D=Bt(function(){n()&&v({maxScroll:gNe()})},[n,v]);OOt({droppableId:s,type:l,mode:u,direction:c,isDropDisabled:m,isCombineEnabled:h,ignoreContainerClipping:p,getDroppableRef:A});var F=Lt.default.createElement(GOt,{on:o.placeholder,shouldAnimate:o.shouldAnimatePlaceholder},function(j){var B=j.onClose,V=j.data,$=j.animate;return Lt.default.createElement(LOt,{placeholder:V,onClose:B,innerRef:P,animate:$,contextId:t,onTransitionEnd:D})}),M=hn(function(){return{innerRef:R,placeholder:F,droppableProps:{"data-rbd-droppable-id":s,"data-rbd-droppable-context-id":t}}},[t,s,F,R]),O=y?y.dragging.draggableId:null,_=hn(function(){return{droppableId:s,type:l,isUsingCloneFor:O}},[s,O,l]);function H(){if(!y)return null;var j=y.dragging,B=y.render,V=Lt.default.createElement(LNe,{draggableId:j.draggableId,index:j.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},function($,K){return B($,K,j)});return B0e.default.createPortal(V,x())}return Lt.default.createElement(WJ.Provider,{value:_},a(M,C),H())}var mJ=function(e,t){return e===t.droppable.type},k0e=function(e,t){return t.draggables[e.draggable.id]},lFt=function(){var e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t=Ht({},e,{shouldAnimatePlaceholder:!1}),n=(0,_a.default)(function(a){return{draggableId:a.id,type:a.type,source:{index:a.index,droppableId:a.droppableId}}}),r=(0,_a.default)(function(a,s,l,u,c,p){var m=c.descriptor.id,h=c.descriptor.droppableId===a;if(h){var C=p?{render:p,dragging:n(c.descriptor)}:null,y={isDraggingOver:l,draggingOverWith:l?m:null,draggingFromThisWith:m,isUsingPlaceholder:!0};return{placeholder:c.placeholder,shouldAnimatePlaceholder:!1,snapshot:y,useClone:C}}if(!s)return t;if(!u)return e;var v={isDraggingOver:l,draggingOverWith:m,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:c.placeholder,shouldAnimatePlaceholder:!0,snapshot:v,useClone:null}}),i=function(s,l){var u=l.droppableId,c=l.type,p=!l.isDropDisabled,m=l.renderClone;if(s.isDragging){var h=s.critical;if(!mJ(c,h))return t;var C=k0e(h,s.dimensions),y=Vd(s.impact)===u;return r(u,p,y,y,C,m)}if(s.phase==="DROP_ANIMATING"){var v=s.completed;if(!mJ(c,v.critical))return t;var x=k0e(v.critical,s.dimensions);return r(u,p,MNe(v.result)===u,Vd(v.impact)===u,x,m)}if(s.phase==="IDLE"&&s.completed&&!s.shouldFlush){var A=s.completed;if(!mJ(c,A.critical))return t;var R=Vd(A.impact)===u,w=Boolean(A.impact.at&&A.impact.at.type==="COMBINE"),P=A.critical.droppable.id===u;return R?w?e:t:P?e:t}return t};return i},uFt={updateViewportMaxScroll:rPt};function dFt(){return document.body||(g.NODE_ENV!=="production"?me(!1,"document.body is not ready"):me(!1)),document.body}var cFt={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:dFt},Ky=bt(lFt,uFt,null,{context:kJ,pure:!0,areStatePropsEqual:FNe})(sFt);Ky.defaultProps=cFt;d();var ka=I(require("react")),Qy=require("react"),kNe=I(Ce());d();var C3=require("react"),_Ne=o=>{let e=(0,C3.useRef)(o);return e.current=o,(0,C3.useCallback)(()=>e.current,[])};var pFt=({children:o,index:e,hidden:t,observerRef:n})=>{var c;let[r,i]=(0,Qy.useState)(!1);ka.useEffect(()=>{let p=setTimeout(()=>{i(!0)},50);return()=>clearTimeout(p)},[]);let a=(0,Qy.useRef)(null),s=p=>{var m,h;if(p){if(!p.getAttribute("data-index"))throw'The element you render from "renderItem" should accept a "data-index" prop.';(m=n.current)==null||m.observe(p)}else(h=n.current)==null||h.unobserve(a.current);a.current=p},l=ka.Children.toArray(o)[0],u={ref:s,"data-index":e};return(t||!r)&&(u.style=T(S({},(c=l.props)==null?void 0:c.style),{visibility:"hidden"})),l=ka.cloneElement(l,u),ka.createElement(ka.Fragment,null,l)},BNe=o=>{let v=o,{allowWrap:e,count:t,direction:n,renderItem:r,renderEllipsis:i}=v,a=ut(v,["allowWrap","count","direction","renderItem","renderEllipsis"]),s=(0,Qy.useRef)(null),l=(0,Qy.useRef)(null),[u,c]=ka.useState(o.count),[p]=(0,Qy.useState)(()=>new Set),[m]=(0,Qy.useState)(()=>new Set),h=_Ne(o.count);ka.useEffect(()=>{let x=R=>{let w=h(),P=F=>F.intersectionRatio===1;R.forEach(F=>{let{target:M}=F,O=Number(M.getAttribute("data-index"));P(F)?(p.add(O),m.delete(O)):(p.delete(O),m.add(O))});let D=Math.min(w,...m.values());c(D)};if(e)return;let A=new IntersectionObserver(x,{root:s.current,threshold:.01});return l.current=A,()=>{A.disconnect()}},[]);let C=Ed(t,t);ka.useLayoutEffect(()=>{e||u===C&&c(t)},[t,u,e]);let y=[...new Array(t)].map((x,A)=>{var P;let R=t-1-A,w=e?!1:A>=u;return ka.createElement(ka.Fragment,{key:A},ka.createElement(pFt,{hidden:w,index:A,observerRef:l},r(A,t)),!e&&A===u-1&&R?(P=i==null?void 0:i({remaining:R}))!=null?P:"...":null)});return ka.createElement(kNe.Flex,T(S({ref:s,flexWrap:e?"wrap":"nowrap",alignItems:"center","data-name":"options-container"},a),{flexDirection:n==="horizontal"?"row":"column"}),y)};d();var VNe=(o,e,t)=>{let n=[...o];if(e>o.length-1)return n;t>o.length-1&&(t=o.length-1);let[r]=n.splice(e,1);return n.splice(t,0,r),n};function GNe({options:o,value:e,toIdentifier:t,selectedMap:n}){let r=(0,pg.useMemo)(()=>{if(n)return;let a=new Map([]);return o.forEach(s=>{a.set(t(s),s)}),a},[o,n]);return{selectedMap:(0,pg.useMemo)(()=>{if(n)return n;let a=new Map([]);return e.forEach(s=>{var l;a.set(s,(l=r.get(s))!=null?l:null)}),a},[r,n,e]),optionsMap:r}}function Ba(o){var K;let{options:e,value:t,filter:n,onChange:r,allowReorder:i,singleSelect:a,toLabel:s,toListLabel:l,toIdentifier:u,noSelectionLabel:c,clearSelectionLabel:p,showSelectedOnlyLabel:m,showFilterInput:h,xSelectedLabel:C,selectionBoxPosition:y="bottom",onShowSelectedOnlyChange:v,isOptionDisabled:x,disabled:A}=o,[R,w]=Yo.useState(""),P="ab-ValueSelector",D=l!=null?l:s,[F,M]=(0,pg.useState)(!1),O=(0,pg.useCallback)(Z=>{M(Z),v==null||v(Z)},[v]),{selectedMap:_}=GNe({options:e,toIdentifier:u,value:t}),H=(0,pg.useCallback)(()=>{let Z=[..._.keys()];!Z.length&&F&&O(!1),r(Z,new Map(_))},[r,F,_]),j=(Z,oe)=>{let X=u(Z),xe=i?null:D(Z),se=typeof i=="function"?i(Z):i,ie=(he,De)=>Yo.createElement(Hs.Flex,S({className:`${P}__option`,alignItems:"center",mt:oe?1:0,key:X,backgroundColor:"primary",padding:2,"data-index":oe,"data-id":X,"data-name":"option"},he),Yo.createElement(Hs.Flex,{flex:1,flexDirection:"row",alignItems:"center"},se?Yo.createElement(Hs.Box,S({mr:3},De),Yo.createElement(mo,{name:"drag",style:{cursor:"grab"}})):null,a?Yo.createElement(Xe,{checked:_.has(X),"data-name":X,onChange:tt=>{tt?(_.clear(),_.set(X,Z)):_.delete(X),H()}},xe):Yo.createElement(Ne,{"data-name":X,disabled:A||(x?x(Z):!1),onChange:tt=>{tt?_.set(X,Z):_.delete(X),H()},checked:_.has(X)},xe),Yo.createElement(Hs.Text,{flex:1,ml:2},i?D(Z):null)));return Yo.createElement(MA,{key:X,index:oe,draggableId:`${X}`,isDragDisabled:!se},he=>ie(T(S({ref:he.innerRef},he.draggableProps),{style:he.draggableProps.style}),he.dragHandleProps))},B=()=>{let Z=Yo.createElement(Hs.Box,{fontSize:2},t.length?Yo.createElement(Yo.Fragment,null,Yo.createElement(ue,{disabled:A,tabIndex:0,px:1,mr:1,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{_.clear(),H()}},p!=null?p:"Clear selection."),C?C(t.length):`Your selected ${t.length} ${t.length>1?"options":"option"}.`):Yo.createElement(Yo.Fragment,null,c!=null?c:"No selected options",a?null:Yo.createElement(ue,{px:1,disabled:A,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{e.forEach(oe=>{_.set(u(oe),oe)}),H()}},"Select all")));return Yo.createElement(Hs.Box,{className:`${P}__header`,mt:y==="bottom"?3:0,mb:y==="top"?3:0},Z,Yo.createElement(Va,{options:e,value:t,selectedMap:_,toLabel:s,toIdentifier:u,onClearOption:H,readOnly:A}))},V=Yo.createElement(Ne,{disabled:!t.length,checked:F,onChange:O},m!=null?m:"Show Selected Only"),$=(K=o.showSelectedOnlyPosition)!=null?K:"floating";return Yo.createElement(Hs.Flex,{className:P,flexDirection:"column",flex:1},Yo.createElement(Hs.Flex,{mb:1},h&&n?Yo.createElement(Cl,{value:R,OnTextChange:w,placeholder:"Type to search",style:{flex:1,border:0,margin:3}}):Yo.createElement(Hs.Box,{flex:1}),$==="top"&&Yo.createElement(Hs.Box,{ml:20},V)),y==="top"&&B(),Yo.createElement(g3,{onDragEnd:Z=>{let{source:oe,destination:X}=Z,xe=[],se=[];for(let[De,tt]of _)tt!=null?xe.push(De):se.push(De);let ie=new Map(_),he=VNe(xe,oe.index,X.index);he.push(...se),_.clear(),he.forEach(De=>{_.set(De,ie.get(De))}),H()}},Yo.createElement(Hs.Flex,{className:`${P}__body`,flexDirection:"column",flex:1,style:{overflow:"auto"}},$==="floating"&&Yo.createElement(Hs.Box,{className:`${P}__show-selected-only-checkbox`},Yo.createElement(Hs.Box,{className:`${P}__show-selected-only-checkbox__text`,"data-name":"show-selected-only",backgroundColor:"defaultbackground"},V)),Yo.createElement(Ky,{droppableId:"droppable"},Z=>Yo.createElement("div",S({ref:Z.innerRef},Z.droppableProps),e.filter(oe=>{let X=!0;return n&&(X=n(oe,R)),X=X&&(F?_.has(u(oe)):!0),X}).map(j),Z.placeholder)))),y==="bottom"&&B())}Ba.defaultProps={allowReorder:!0};function Va(o){let{allowWrap:e,value:t,toLabel:n,onChange:r,onClearOption:i,readOnly:a,renderLabel:s}=o,{selectedMap:l}=GNe(o),u=p=>{let m=t[p],h=()=>{l.delete(m),i==null||i(m),r&&r([...l.keys()],new Map(l))},C=l.get(m),y=C!=null?n(C):`${m}`;return Yo.createElement(rt,{flexDirection:"row",alignItems:"center","data-name":"selected-option","data-id":m,mt:e?1:0,mr:1,className:"ab-ValueSelector__tag",onClick:v=>{var x,A,R;(R=(A=(x=v.target)==null?void 0:x.lastChild)==null?void 0:A.focus)==null||R.call(A)},style:{flex:"none"}},s?s(y):y,a?null:Yo.createElement(ue,{icon:"close",ml:2,iconSize:14,variant:"text",style:{border:"none"},onClick:h}))},c=(0,pg.useCallback)(({remaining:p})=>Yo.createElement(Hs.Text,{fontSize:2,style:{whiteSpace:"nowrap"}},"+",p," ",p>1?"others":"other"),[]);return Yo.createElement(BNe,{style:o.style,marginRight:4,my:1,allowWrap:e,count:t.length,direction:"horizontal",renderItem:u,renderEllipsis:c})}var UT=require("react");d();function ku(o,e,{sortUnorderedItems:t}){let n=o.reduce((a,s,l)=>(a.set(s,l),a),new Map),r=e.reduce((a,s,l)=>(a.set(s,l),a),new Map);function i(a,s){let l=r.has(a),u=l?r.get(a):-1,c=r.has(s),p=c?r.get(s):-1;return!l&&!c?t?a==s?0:a<s?-1:1:n.get(a)-n.get(s):l?c?u-p:-1:1}return[].concat(o).sort(i)}var YM=o=>{let p=o,{options:e,value:t,onChange:n,selectionBoxPosition:r="top"}=p,i=ut(p,["options","value","onChange","selectionBoxPosition"]),{api:a}=pe(),s=(0,UT.useMemo)(()=>!t||!t.length?new Map:t.reduce((m,h)=>(m.set(h,!0),m),new Map),[t]),l=(0,UT.useCallback)(m=>s.has(m),[s]),u=(0,UT.useMemo)(()=>{let m=new Map;return e.forEach(h=>{var C;return m.set(h,(C=a.internalApi.getModuleFriendlyName(h))!=null?C:h)}),m},[e]),c=(0,UT.useMemo)(()=>ku(e,t,{sortUnorderedItems:!0}),[l,e,t]);return HNe.createElement(Ba,T(S({},i),{options:c,value:t,onChange:n,allowReorder:l,toIdentifier:m=>m,toLabel:m=>u.get(m),selectionBoxPosition:r,isOptionDisabled:o.isOptionDisabled,disabled:o.disabled}))};d();var Wi=I(require("react")),$y=I(Ce()),UNe=require("react");var WNe=Wi.createContext({selectedIndex:0,tabCount:0,setSelectedIndex:o=>{}}),mFt=o=>{var e;return o.type===zJ||((e=o.props)==null?void 0:e.isTabsTab)},hFt=o=>{var e;return o.type===jJ||((e=o.props)==null?void 0:e.isTabsContent)},J=o=>{let O=o,{autoFocus:e=!0,children:t,onValueChange:n,defaultValue:r,value:i,keyboardNavigation:a=!0,selectedIndex:s,defaultSelectedIndex:l,onSelectedIndexChange:u}=O,c=ut(O,["autoFocus","children","onValueChange","defaultValue","value","keyboardNavigation","selectedIndex","defaultSelectedIndex","onSelectedIndexChange"]),[p,m]=Pn(o,"selectedIndex",0),[h,C]=Pn(o,"value",0),y=Wi.Children.toArray(t),v=[],x=y.filter(mFt).map((H,j)=>(v.push(H.props.value),Wi.cloneElement(H,{index:j,keyboardNavigation:a,autoFocus:e}))),A=y.filter(hFt),R=A.map(H=>H.props.value),w=(o.value!==void 0||o.defaultValue!==void 0)&&o.selectedIndex===void 0&&o.defaultSelectedIndex===void 0;if(w){let H=v.indexOf(h);H>-1&&(p=H),R.filter(B=>v.indexOf(B)!=-1).length===x.length&&A.sort((B,V)=>{let $=B.props.value,K=V.props.value;return v.indexOf($)-v.indexOf(K)})}let P=H=>{if(w){let j=v[H];C(j)}m(H)},D=A[p],_=(D==null?void 0:D.props)||{},{value:F}=_,M=ut(_,["value"]);return Wi.createElement(WNe.Provider,{value:{selectedIndex:p,tabCount:x.length,setSelectedIndex:P}},Wi.createElement($y.Box,T(S({},c),{className:$e(c.className,"ab-Tabs"),"data-selected-index":p}),Wi.createElement($y.Flex,{flexDirection:"row",className:"ab-Tabs__Strip"},Wi.createElement($y.Box,{className:"ab-Tabs__Filler"}),x,Wi.createElement($y.Flex,{flex:1,className:"ab-Tabs__Filler"})),Wi.createElement($y.Box,T(S({padding:2},M),{className:`${M.className||""} ab-Tabs__Body`}),D)))},zJ=o=>{let m=o,{index:e,autoFocus:t,keyboardNavigation:n=!0,className:r}=m,i=ut(m,["index","autoFocus","keyboardNavigation","className"]),a=Wi.useContext(WNe),s="ab-Tabs__Tab",l=a.selectedIndex===o.index,u=a.selectedIndex===o.index+1,c=$e(r,s,l?`${s}--active`:"",u?`${s}--before-active`:""),p=(0,UNe.useRef)(null);return Wi.useEffect(()=>{var h;l&&t&&n&&((h=p.current)==null||h.focus())},[l,t]),Wi.createElement($y.Box,T(S({ref:p,padding:2,tabIndex:l?0:-1},i),{className:c,onClick:h=>{var C;a.setSelectedIndex(o.index),(C=o.onClick)==null||C.call(o,h)},onKeyDown:h=>{var C;if(n){if(h.key==="Enter"&&a.setSelectedIndex(o.index),h.key==="ArrowLeft"){h.preventDefault();let y=o.index-1;y<0&&(y=a.tabCount-1),a.setSelectedIndex(y)}if(h.key==="ArrowRight"){h.preventDefault();let y=o.index+1;y>a.tabCount-1&&(y=0),a.setSelectedIndex(y)}}(C=o.onKeyDown)==null||C.call(o,h)}}))};zJ.defaultProps={isTabsTab:!0};var jJ=o=>Wi.createElement(Wi.Fragment,null,o.children);jJ.defaultProps={isTabsContent:!0};J.Tab=zJ;J.Content=jJ;var KJ=class extends Hd.Component{constructor(e){var n,r,i;super(e);let t=(i=(r=(n=e.popupParams)==null?void 0:n.config)==null?void 0:r.initialTab)!=null?i:"ToolPanels";this.state={ToolPanelConfigView:t}}render(){let e=this.props.api.internalApi.getEntitlementService(),t=[];We.IsNotNullOrEmpty(this.props.ToolPanelState.ModuleButtons)&&this.props.ToolPanelState.ModuleButtons.forEach(p=>{let m=this.props.GridState.SettingPanelModuleMenuItems.find(h=>h.module==p);m!=null&&m.isVisible&&t.push(p)});let n=this.props.GridState.SettingPanelModuleMenuItems.map(p=>p.module),r=this.props.GridState.SettingPanelModuleMenuItems.filter(p=>p.isVisible).map(p=>p.module);e.isModuleHiddenEntitlement("Dashboard")||r.push("Dashboard"),this.props.api.pluginsApi.getipushpullPluginApi()&&!e.isModuleHiddenEntitlement("IPushPull")&&r.push("IPushPull"),this.props.api.pluginsApi.getOpenFinPluginApi()&&!e.isModuleHiddenEntitlement("OpenFin")&&r.push("OpenFin");let i=NT.filter(p=>We.ContainsItem(r,p)),s=[...this.props.api.toolPanelApi.getCustomToolPanels().map(p=>p.name),...i],l=this.props.ToolPanelState.ToolPanels.map(p=>p.Name).filter(p=>s.includes(p)),u=e.isModuleReadOnlyEntitlement("ToolPanel"),c=p=>p==="SettingsPanel"?this.props.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard:!1;return Hd.createElement(ha,{headerText:"ToolPanel",glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Hd.createElement(J,{"data-name":"toolPanelPopup-component",className:"ab-ToolPanelPopup",value:this.state.ToolPanelConfigView,style:{height:"100%"},onValueChange:p=>this.setState({ToolPanelConfigView:p})},Hd.createElement(J.Tab,{value:"ToolPanels"},Hd.createElement(Xe,{margin:0,value:"ToolPanels",checked:this.state.ToolPanelConfigView=="ToolPanels",tabIndex:-1},"Tool Panels")),Hd.createElement(J.Tab,{value:"Buttons"},Hd.createElement(Xe,{margin:0,value:"Buttons",checked:this.state.ToolPanelConfigView=="Buttons",tabIndex:-1},"Module Buttons")),Hd.createElement(J.Content,{value:"ToolPanels",style:{flex:1,overflow:"auto"}},Hd.createElement(YM,{options:s,value:l,noSelectionLabel:"No selected Tool Panel",xSelectedLabel:()=>"Visible ToolPanels:",onChange:p=>this.onToolPanelToolPanelsChanged(p),disabled:u})),Hd.createElement(J.Content,{value:"Buttons",style:{flex:1,overflow:"auto"}},Hd.createElement(YM,{options:n,value:t,noSelectionLabel:"No selected Module Button",xSelectedLabel:()=>"Visible Module Buttons:",isOptionDisabled:c,disabled:u,onChange:p=>this.props.onToolPanelSetModuleButtons(p)}))))}onShowGridPropertiesChanged(e){let n=e.target.value;this.setState({ToolPanelConfigView:n})}onToolPanelToolPanelsChanged(e){let t=this.props.ToolPanelState.ToolPanels,n=e.map(r=>{var i;return(i=t.find(a=>a.Name===r))!=null?i:{Name:r,VisibilityMode:"collapsed"}});this.props.onToolPanelSetToolPanels(n)}};function fFt(o){return{ToolPanelState:o.ToolPanel,GridState:o.Grid}}function gFt(o){return{onToolPanelSetModuleButtons:e=>o(gB(e)),onToolPanelSetToolPanels:e=>o(Pv(e))}}var zNe=bt(fFt,gFt)(KJ);d();var ja=I(require("react"));d();var XM=I(require("react")),y3=I(Ce());var Ga=class extends XM.Component{render(){let e=this.props.colItems.map((n,r)=>XM.createElement(y3.Text,{className:"ab-AdaptableObjectRow__cell","data-name":"list-group-cell",key:r,title:typeof n.Content=="string"?n.Content:void 0,flex:n.Size,paddingLeft:1,paddingRight:1},n.Content)),t=$e("ab-AdaptableObjectRow",this.props.isSuspended&&"ab-AdaptableObjectRow--is-suspended");return XM.createElement(y3.Flex,{className:t,onClick:this.props.onClick,style:this.props.style},e)}};var See=I(Ce());d();var v3=I(require("react"));d();var NA=I(require("react")),S3=I(Ce());var b3=class extends NA.Component{render(){let e=this.props.colItems.map((n,r)=>NA.createElement(S3.Text,{key:n.key||n.Content||r,fontWeight:"bold",fontSize:"var(--ab-font-size-3)",paddingLeft:1,paddingRight:1,style:{flex:n.Size}},n.Content)),t=NA.createElement(S3.Flex,{alignItems:this.props.headerAlign||"center",style:{width:"100%"}},e);return NA.createElement("div",{style:this.props.style,className:this.props.className},NA.createElement(Sn,{bodyScroll:!0,header:t,border:this.props.border,bodyProps:this.props.bodyProps},this.props.children))}};var jNe=I(Ce());var qy=o=>{let e=o.allowOverflow?"visible":"auto";return v3.createElement(jNe.Box,{style:S({},o.style),className:"ab-ObjectCollection"},v3.createElement(b3,{border:"none",colItems:o.colItems,headerAlign:o.headerAlign}),v3.createElement("div",{className:"ab-ObjectCollection__items",style:{overflowY:e,boxShadow:"none"}},o.items))};d();var KNe="16.0.6-canary.0";d();var Wr=I(require("react")),KA=I(Ce());d();var Uc=I(require("react"));d();var LA=I(require("react"));d();var QNe=I(require("react"));var Yy=o=>QNe.createElement(ue,S({"data-name":"new",tooltip:"New",tone:"accent",icon:"plus",variant:"raised"},o),o.children===void 0?"New":o.children);d();var A3=I(require("react"));var Xy=class extends A3.Component{render(){let e=[];return e.push({Size:3,Content:this.props.SummaryItems[0]}),e.push({Size:7,Content:this.props.SummaryItems[1]}),e.push({Size:2,Content:this.props.SummaryItems[2]}),A3.createElement(Ga,{colItems:e})}};d();var ZM=I(require("react"));var Vc=class extends ZM.Component{render(){return ZM.createElement("div",null,ZM.createElement(mo,{name:this.props.moduleInfo.Glyph,style:{fill:"var(--ab-color-text-on-primary)"}})," ",this.props.moduleInfo.FriendlyName)}};var Mh=class extends LA.Component{render(){let e=[],t=this.props.newButtonDisabled?null:LA.createElement(Yy,{onClick:()=>this.props.onNew(),tooltip:"Create "+this.props.newButtonTooltip,accessLevel:this.props.accessLevel});return e.push(LA.createElement("b",null,LA.createElement(Vc,{moduleInfo:this.props.moduleInfo}))),e.push(this.props.moduleSummary),e.push(t),LA.createElement(Xy,{SummaryItems:e})}};d();var Jy=I(require("react"));d();var mg=I(require("react"));d();var $Ne=I(require("react"));var Nh=o=>{var e;return $Ne.createElement(ue,S({"data-name":"edit",tooltip:"Edit",variant:"text",icon:"edit",iconSize:(e=o.iconSize)!=null?e:24},o))};d();var qNe=I(require("react"));var x3=o=>qNe.createElement(ue,S({"data-name":"clone",tooltip:"Clone",tone:"accent",icon:"clone",variant:"raised"},o),o.children===void 0?"Clone":o.children);d();var R3=I(require("react"));var QJ=class extends R3.Component{render(){var l,u;let s=this.props,{onConfirmWarning:e,ConfirmAction:t,ConfirmationMsg:n,ConfirmationTitle:r,onClickAction:i}=s,a=ut(s,["onConfirmWarning","ConfirmAction","ConfirmationMsg","ConfirmationTitle","onClickAction"]);return R3.createElement(ue,T(S({"data-name":"delete",tooltip:(l=a.tooltip)!=null?l:"Delete",variant:"text",icon:"delete",iconSize:(u=a.iconSize)!=null?u:24},a),{onClick:()=>this.onClick()}))}onClick(){if(this.props.ConfirmAction){let e={CancelButtonText:"Cancel",Header:this.props.ConfirmationTitle,Msg:this.props.ConfirmationMsg,ConfirmButtonText:"Delete",CancelAction:null,ConfirmAction:this.props.ConfirmAction,ShowInputBox:!1,MessageType:"Warning"};this.props.onConfirmWarning(e)}else this.props.onClickAction()}};function CFt(o,e){return{ConfirmAction:e.ConfirmAction,ConfirmationMsg:e.ConfirmationMsg,ConfirmationTitle:e.ConfirmationTitle}}function yFt(o){return{onConfirmWarning:e=>o(SE(e))}}var Lh=bt(CFt,yFt)(QJ);var eLe=I(Ce());d();var Zy=I(require("react"));d();var WT=I(Ce());var YNe=require("react");var ti=I(require("react"));var XNe=o=>{let{showPopup:e,onClose:t,onConfirm:n,header:r}=o,[i,a]=(0,YNe.useState)({description:"",type:"Snapshot"});return ti.createElement(ti.Fragment,null,ti.createElement(pa,{modal:!0,"data-name":"teamsharing-popup",isOpen:e,onDismiss:t,autoFocus:!1,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},ti.createElement(WT.Flex,{flexDirection:"column"},ti.createElement(Qt,{"data-name":"teamsharing-popup-description",margin:2,mb:2,p:2,style:{fontSize:"var(--ab-font-size-3)"}},"Create a ",r," which may be either:",ti.createElement("ul",null,ti.createElement("li",null,ti.createElement("strong",null,"Snapshot"),": a one-off share of an exact copy of the current object"),ti.createElement("li",null,ti.createElement("strong",null,"Active"),': a "live" share that is automatically updated with every local change'))),ti.createElement(Ke,{padding:2},ti.createElement(de,{label:"Name: "},ti.createElement(mt,{"data-name":"teamsharing-entity-name",autoFocus:!0,value:i.description,type:"string",width:300,placeholder:"Enter text",onChange:s=>a(T(S({},i),{description:s.target.value}))})),ti.createElement(de,{label:"Share: "},ti.createElement(WT.Flex,{flexDirection:"row"},ti.createElement(Xe,{"data-name":"teamsharing-entity-type-snapshot",checked:i.type==="Snapshot",onChange:()=>a(T(S({},i),{type:"Snapshot"}))},"Snapshot")," ",ti.createElement(Xe,{"data-name":"teamsharing-entity-type-active",marginLeft:3,checked:i.type==="Active",onChange:()=>a(T(S({},i),{type:"Active"}))},"Active")," "))),ti.createElement(WT.Box,{marginTop:3},ti.createElement(WT.Flex,{padding:2},ti.createElement(ue,{"data-name":"cancel",tone:"neutral",variant:"raised",onClick:()=>t()},"Cancel"),ti.createElement("div",{style:{flex:1}}),ti.createElement(ue,{"data-name":"ok",tone:"accent",variant:"raised",disabled:ct.IsNullOrEmpty(i.description),onClick:()=>n(i)},"OK"))))))};var zT=class extends Zy.Component{constructor(e){super(e),this.state={open:!1}}render(){var i;let r=this.props,{onShare:e,Header:t}=r,n=ut(r,["onShare","Header"]);return Zy.createElement(Zy.Fragment,null,Zy.createElement(ue,S({"data-name":"share",tooltip:"Share",variant:"text",icon:"folder-shared",iconSize:(i=n.iconSize)!=null?i:24,onClick:()=>this.setState({open:!0})},n)),this.state.open&&Zy.createElement(XNe,{header:t,showPopup:!0,onClose:()=>this.setState({open:!1}),onConfirm:a=>{this.setState({open:!1}),e(a)}}))}};d();var jT=I(require("react"));d();var JM=I(require("react")),ZNe=I(Ce());var JNe=({checked:o,onChange:e,disabled:t,className:n,children:r,style:i={},"data-name":a})=>{let s=c=>{t||e(Boolean(c.target.checked))},l="ab-ToggleButton",u=$e(n,l,o&&`${l}--checked`,t&&`${l}--disabled`);return JM.createElement("label",{"data-name":a,style:i,className:u},JM.createElement("input",{type:"checkbox",disabled:t,checked:Boolean(o),className:`${l}__input`,onChange:s}),JM.createElement(ZNe.Flex,{alignItems:"center",justifyContent:o?"start":"end",className:`${l}__slider`},JM.createElement("div",{className:`${l}__text`},r)))};var E3=jT.memo(({suspendableObject:o,onUnSuspend:e,onSuspend:t,style:n,disabled:r,accessLevel:i})=>{let a=jT.useCallback(u=>{u?e(o):t(o)},[e,t]),s=i&&i==="ReadOnly"||r,l=o.IsSuspended;return jT.createElement(JNe,{className:"ab-SuspendButton","data-name":o.IsSuspended?"un-suspend":"suspend",disabled:s,style:n,onChange:a,checked:!l},l?"inactive":"active")});var bFt=o=>{o.stopPropagation()},e0=class extends mg.Component{render(){return mg.createElement(eLe.Flex,{justifyContent:this.props.justifyContent||"center",margin:0,padding:0,onClick:bFt},this.props.showEdit&&mg.createElement(Nh,{onClick:()=>this.props.editClick?this.props.editClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-edit)",fill:"var(--ab-color-text-on-edit)",background:"var(--ab-color-action-edit)"},disabled:this.props.overrideDisableEdit||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipEdit,accessLevel:this.props.accessLevel}),this.props.showClone&&mg.createElement(x3,{onClick:()=>this.props.cloneClick?this.props.cloneClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-clone)",fill:"var(--ab-color-text-on-clone)",background:"var(--ab-color-action-clone)"},children:null,disabled:this.props.overrideDisableClone||this.props.cloneAccessLevel=="ReadOnly",tooltip:this.props.overrideTooltipClone,accessLevel:this.props.cloneAccessLevel}),this.props.showDelete&&mg.createElement(Lh,{"data-name":"delete",style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-delete)",fill:"var(--ab-color-text-on-delete)",background:"var(--ab-color-action-delete)"},disabled:this.props.overrideDisableDelete||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipDelete,ConfirmAction:this.props.confirmDeleteAction,ConfirmationMsg:"Are you sure you want to delete this "+this.props.entityType+"?",ConfirmationTitle:"Delete "+this.props.entityType,accessLevel:this.props.accessLevel}),this.props.showShare&&mg.createElement(zT,{style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-share)",fill:"var(--ab-color-text-on-share)",background:"var(--ab-color-action-share)"},onShare:e=>this.props.shareClick?this.props.shareClick(e):null,Header:`TeamSharing ${this.props.entityType}`,disabled:this.props.overrideDisableShare||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipShare,accessLevel:this.props.accessLevel}),this.props.showSuspend&&this.props.suspendableObject&&mg.createElement(E3,{style:{marginLeft:2,alignSelf:"center"},onSuspend:this.props.onSuspend,onUnSuspend:this.props.onUnSuspend,suspendableObject:this.props.suspendableObject,disabled:this.props.accessLevel=="ReadOnly"}))}};e0.defaultProps={suspendableObject:null,showEdit:!0,showDelete:!0,showShare:!1,showSuspend:!1,overrideDisableEdit:!1,overrideDisableDelete:!1,overrideDisableClone:!1,overrideDisableShare:!1,confirmDeleteAction:null,entityType:"",accessLevel:"Full",editSize:"xsmall",deleteSize:"xsmall",shareSize:"xsmall"};var Gc=class extends Jy.Component{render(){let e=[];return this.props.showBold?e.push(Jy.createElement("b",null,this.props.item1)):e.push(Jy.createElement("i",null,this.props.item1)),e.push(Jy.createElement("i",null,this.props.item2)),e.push(Jy.createElement(e0,{justifyContent:"start",confirmDeleteAction:this.props.onDelete,showEdit:this.props.showEdit,editClick:()=>this.props.onEdit(),shareClick:t=>this.props.onShare(t),showShare:this.props.showShare,entityType:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel})),Jy.createElement(Xy,{SummaryItems:e})}};d();var kh=I(require("react")),ILe=require("react"),o0=I(Ce());d();var Us=I(require("react")),cLe=require("react");var t0=I(Ce());d();var en=I(require("react")),eb=require("react"),$l=I(Ce());d();var tLe=()=>{let o=typeof globalThis!="undefined"?globalThis:window;return/(Mac|iPhone|iPod|iPad)/i.test(o.navigator.platform)};d();var oLe=I(require("react")),nLe=I(Ce());var w3=o=>oLe.createElement(nLe.Text,S({fontSize:1,color:"inputcolor"},o));d();var iLe=I(require("react")),Hc=require("react");d();var rLe=()=>(typeof globalThis!="undefined"?globalThis:window).ResizeObserver;var SFt=(o,e)=>{let t=rLe();if(!t)return()=>{};let n=new t(r=>{var l;let i=r[0],{width:a,height:s}=i.contentRect;if((l=i.borderBoxSize)!=null&&l[0])s=i.borderBoxSize[0].blockSize,a=i.borderBoxSize[0].inlineSize;else{let u=o.getBoundingClientRect();s=u.height,a=u.width}e({width:a,height:s})});return n.observe(o),()=>{n.disconnect()}},$J=(o,e,t={earlyAttach:!1})=>{let n=(0,Hc.useRef)({width:0,height:0}),r=i=>{let a;return o.current&&(a=SFt(o.current,s=>{s={width:Math.round(s.width),height:Math.round(s.height)};let l=n.current;(l.width!==s.width||l.height!==s.height)&&(n.current=s,i(s))})),()=>{a&&a()}};(0,Hc.useEffect)(()=>t.earlyAttach?()=>{}:r(e),[o.current,e,t.earlyAttach]),(0,Hc.useLayoutEffect)(()=>t.earlyAttach?r(e):()=>{},[o.current,e,t.earlyAttach])},vFt=o=>{let e=(0,Hc.useMemo)(()=>({position:"absolute",top:0,left:0,width:"100%",height:"100%",boxSizing:"border-box"}),[]),{notifyOnMount:t,earlyAttach:n}=o,r=(0,Hc.useRef)(!0),i=(0,Hc.useRef)(null),a=(0,Hc.useCallback)(s=>{if(r.current&&!t){r.current=!1;return}o.onResize(s)},[o.onResize]);return $J(i,a,{earlyAttach:n||!1}),iLe.createElement("div",{ref:i,style:e})};vFt.defaultProps={notifyOnMount:!0,earlyAttach:!1};d();var aLe=I(require("react"));var sLe=(o,e)=>{let t=aLe.useCallback(n=>{if((n.ctrlKey||n.metaKey)&&(n.code==="ArrowUp"||n.code==="ArrowDown")){let r=n.code==="ArrowUp",i=e.reduce((a,s,l)=>(s!=="-"&&a.push(l),a),[]);o(a=>{let s=null,l=i.indexOf(a);if(r){let u=i[l-1];s=typeof u=="number"?u:i[i.length-1]}else{let u=i[l+1];s=typeof u=="number"?u:i[0]}return s})}},[e,o]);XU("keydown",t)};var lLe=en.createContext({data:null,sections:[],setCurrentSection:o=>{}});function uLe(){return en.useContext(lLe)}var T3=o=>{var D,F;let e=0;if(o.defaultCurrentSectionName){let M=o.sections.findIndex(O=>O!=="-"&&(O==null?void 0:O.title)===o.defaultCurrentSectionName);M>=0&&(e=M)}let[t,n]=Pn(o,"currentIndex",e,{onChange:M=>{var O;(O=o.onSectionChange)==null||O.call(o,M)}}),[r,i]=(0,eb.useState)(!1),[a]=(0,eb.useState)(()=>new Map),s=()=>{var M;(M=o.onFinish)==null||M.call(o,o.data)},l=M=>{let O=R[M];return O==="-"?en.createElement(en.Fragment,{key:M}):en.createElement($l.Flex,{flexDirection:"column",key:M,"data-name":`section-${M}`,style:{minHeight:"100%"},mr:2},en.createElement($l.Box,{py:3,paddingLeft:2,fontSize:4,className:"ab-OnePageWizard__details"},O.details),en.createElement($l.Box,{flex:1,className:"ab-OnePageWizard__section"},O.render(o.data,M)))},u=(0,eb.useRef)(null),c=en.createElement("div",{ref:u,className:"ab-OnePageWizard__selected-title-overlay",style:{position:"absolute",background:"var(--ab-cmp-one-page-wizard-selected-title__background)",pointerEvents:"none",borderRadius:"var(--ab__border-radius)",transition:"top 0.2s"}}),p=(0,eb.useRef)(null),[m,h]=(0,eb.useState)(0);$J(p,({width:M})=>{h(M)}),en.useEffect(()=>{let M=u.current,_=M.parentNode.children[t];M.style.top=`${_.offsetTop}px`,M.style.left=`${_.offsetLeft}px`,M.style.height=`${_.offsetHeight}px`,M.style.width=`${_.offsetWidth}px`},[t,m]);let C=0,y=(0,eb.useRef)(null),v=0,x=null,A={data:o.data,sections:o.sections,setCurrentSection:n},R=en.useMemo(()=>o.sections.filter(Boolean).filter(M=>M==="-"||M.isVisible==null||M.isVisible(o.data,A)),[o.sections]);A.sections=R;let w=R.reduce((M,O,_)=>{if(O==="-")return M.set(_,!0),M;let H=O.isValid?O.isValid(o.data,A):!0;return H!==!0&&(v++,x==null&&(x=H)),M.set(_,H),M},new Map);sLe(n,R);let P=!v;return en.createElement(vA.Provider,{value:{namedQuery:r,setNamedQuery:i}},en.createElement(lLe.Provider,{value:A},en.createElement(pa,{modal:!0,isOpen:!0,showCloseButton:!1,focusOnBrowserVisible:!0,style:{borderRadius:"var(--ab__border-radius)",overflow:"hidden",height:"80vh"},ref:y,onDismiss:()=>{var M;return(M=o.onHide)==null?void 0:M.call(o)},onKeyDown:M=>{if(M.metaKey||M.ctrlKey){let{key:O}=M;if(!isNaN(Number(O))){let _=Number(O);if(a.has(_)){let H=a.get(_);n(H),M.preventDefault(),M.stopPropagation(),requestAnimationFrame(()=>{var j;(j=y==null?void 0:y.current)==null||j.bringToFront()})}}}}},en.createElement($l.Flex,{className:"ab-OnePageWizard",flexDirection:"column","data-name":o.name,style:S({height:"100%",width:"90vw",maxWidth:1200},o.style)},en.createElement($l.Flex,{flexDirection:"row",alignItems:"stretch",flex:1,style:{overflow:"auto"}},en.createElement($l.Flex,{flexDirection:"column",padding:3,className:"ab-OnePageWizard__section-title-container",ref:p,style:S({overflow:"auto",position:"relative",flex:"none"},o.titleContainerStyle)},R.map((M,O)=>{if(M==="-")return en.createElement($l.Box,{as:"hr",mt:2,className:"ab-OnePageWizard__section-separator",key:`${O}-`,style:{width:"100%",border:"none",borderTop:"1px solid var(--ab-color-inputborder)"}});C++,a.set(C,O);let _=O===t,H=!1;return en.createElement($l.Flex,{className:"ab-OnePageWizard__section-title","data-name":M.title,flexDirection:"row",style:{cursor:H?"auto":"pointer",zIndex:10,transition:"color 0.2s",opacity:H?.5:1},key:M.title,color:_?"var(--ab-cmp-one-page-wizard-section-title__color)":"",px:2,py:1,mt:O?2:0,onClick:()=>{H||n(O)}},en.createElement(w3,{mr:2,style:{display:"inline-block"}},C),en.createElement("div",{style:{flex:1}},M.title),en.createElement(mo,{name:"error",style:{marginLeft:"var(--ab-space-2)",visibility:w.get(O)!==!0?"visible":"hidden"}}))}),c,en.createElement($l.Box,{flex:1}),en.createElement(w3,{style:{lineHeight:1.5},className:"ab-OnePageWizard__key-hint"},tLe()?"Cmd":"Ctrl"," + #",en.createElement("br",null),"to navigate")),en.createElement($l.Flex,{flex:1,flexDirection:"column",className:"ab-OnePageWizard__section-container"},l(t))),en.createElement($l.Flex,{flexDirection:"row",padding:2,alignItems:"center",className:"ab-WizardDialog__footer ab-OnePageWizard__footer"},en.createElement(ue,{tone:"neutral",variant:"text","data-name":"close",onClick:()=>{var M;return(M=o.onHide)==null?void 0:M.call(o)},tooltip:(D=o.closeTooltip)!=null?D:"Close wizard",accessLevel:"Full"},(F=o.closeText)!=null?F:"CLOSE"),en.createElement(w3,{ml:2},"Esc"),en.createElement($l.Text,{fontSize:2,mr:3,className:"ab-OnePageWizard__error",style:{flex:1,color:"var(--ab-color-error)",textAlign:"end"}},x),en.createElement(ue,{tone:"accent","data-name":"finish",variant:"raised",disabled:P!==!0,onClick:()=>s(),icon:"check",accessLevel:"Full"},"Finish"))))))};var pLe=I(KT());var Bu=o=>Us.createElement(t0.Text,S({fontSize:2,mb:3},o)),mLe=o=>Us.createElement(t0.Text,S({fontSize:2,mt:1},o)),hLe=Us.createContext({data:null,sections:[],moduleInfo:null,api:null,namedQuery:!1});function ke(){return Us.useContext(hLe)}var rr=o=>{let{api:e}=pe(),t=yt(),n=Us.useCallback(c=>t(ty(c)),[]),[r,i]=(0,cLe.useState)(!1),a=o.moduleInfo.FriendlyName?`${(0,pLe.default)(o.moduleInfo.FriendlyName)}-wizard`:"",s={data:o.data,api:e,namedQuery:r,moduleInfo:o.moduleInfo,sections:o.sections},l=o.sections.map(c=>{if(c==="-")return"-";let p=typeof c.isValid=="function"?(h,C)=>c.isValid(h,e,S(S({},C),s)):void 0,m=typeof c.isVisible=="function"?(h,C)=>c.isVisible(h,e,S(S({},C),s)):void 0;return T(S({},c),{isValid:p,isVisible:m})}),u=()=>{var c;r&&r.Name&&n(r),(c=o.onFinish)==null||c.call(o,o.data)};return Us.createElement(hLe.Provider,{value:s},Us.createElement(vA.Provider,{value:{namedQuery:r,setNamedQuery:i}},Us.createElement(T3,T(S({},o),{name:a,sections:l,onFinish:u}))))},Ir=()=>{let{setCurrentSection:o,sections:e,data:t}=uLe(),n=r=>Us.createElement(ue,{px:1,variant:"text",style:{textDecoration:"underline",display:"inline-block",fontSize:"var(--ab-font-size-2)"},onClick:()=>{o(r)}},"edit");return Us.createElement(t0.Box,{className:"ab-OnePageWizardSummary"},e.map((r,i)=>r==="-"||!r.renderSummary?null:Us.createElement(J,{keyboardNavigation:!1,mt:i?2:0,key:i},Us.createElement(J.Tab,null,r.title," ",n(i)),Us.createElement(J.Content,null,r.renderSummary(t)))).filter(Boolean))};d();var hg=I(require("react")),CLe=I(Ce());d();var fLe=I(require("react")),gLe=require("react");var _A=o=>{let{columnFilterText:e,availableColumns:t,selected:n,onChange:r,singleSelect:i}=o,a=(0,gLe.useMemo)(()=>e?s=>s.friendlyName.toLowerCase().indexOf(e.toLowerCase())!=-1:null,[e]);return fLe.createElement(Ba,{value:n,options:t,filter:a,singleSelect:i,allowReorder:!1,onChange:s=>{r(i?s.length?[s.pop()]:[]:s)},toIdentifier:s=>s.columnId,toLabel:s=>s.friendlyName,noSelectionLabel:i?"Please select a column":"You have not selected any columns.",xSelectedLabel:i?()=>null:s=>s>1?`You selected ${s} columns.`:"You selected one column."})};_A.defaultProps={allowReorder:!0};var yLe=o=>{let{api:e}=ke();return hg.createElement(CLe.Text,{pr:2,py:2,fontSize:2},"Custom sort column: ",hg.createElement(rt,null,e.columnApi.getFriendlyNameForColumnId(o.ColumnId)))},bLe=o=>o.ColumnId?!0:"You have to select a Column for Custom Sort",SLe=o=>{let{data:e,api:t}=ke(),n=hg.useMemo(()=>{let r=t.columnApi.getSortableColumns(),i=t.customSortApi.getCustomSorts(),a=t.optionsApi.getCustomSortOptions().customSortComparers||[],s=[...i.map(l=>l.ColumnId),...a.map(l=>t.scopeApi.getColumnIdsInScope(l.scope))];return r.filter(l=>!o.isNew&&l.columnId===(e==null?void 0:e.ColumnId)?!0:s.every(u=>l.columnId!==u))},[]);return hg.createElement(J,{style:{height:"100%"}},hg.createElement(J.Tab,null,"Column"),hg.createElement(J.Content,null,hg.createElement(_A,{availableColumns:n,selected:e.ColumnId?[e.ColumnId]:[],singleSelect:!0,onChange:r=>{o.onChange(T(S({},e),{SortedValues:[],ColumnId:r[0]}))},allowReorder:!1})))};d();var _h=I(require("react")),tb=require("react"),vLe=I(Ce());d();var QT=async(o,e,t=100)=>{let n=!1;return o==null||o.then(()=>{n=!0}),(async()=>(await new Promise(r=>setTimeout(r,t)),n||e()))(),o};var ALe=o=>!o.SortedValues||!o.SortedValues.length?"You have to specify at least one value for Custom Sort order":!0,xLe=o=>o.SortedValues.length?_h.createElement(vLe.Text,{fontSize:2},_h.createElement(Va,{options:o.SortedValues,value:o.SortedValues,toIdentifier:e=>`${e}`,toLabel:e=>`${e}`,allowWrap:!0,readOnly:!0})):null,RLe=o=>{let{data:e,api:t}=ke(),[n,r]=(0,tb.useState)([]),[i,a]=(0,tb.useState)(!1);(0,tb.useEffect)(()=>{let m=!0;return(async()=>{r([]);let h=await QT(t.gridApi.internalApi.getDistinctCustomSortDisplayValuesForColumn(e.ColumnId),()=>m&&a(!0));!m||(a(!1),r(h))})(),()=>{m=!1}},[e.ColumnId]);let s=(0,tb.useMemo)(()=>!e.SortedValues||!e.SortedValues.length?new Map:e.SortedValues.reduce((m,h)=>(m.set(h,!0),m),new Map),[e.SortedValues]),l=_h.useCallback(m=>s.has(m),[s]),u=(0,tb.useMemo)(()=>ku(n,e.SortedValues,{sortUnorderedItems:!1}),[l,n,e.SortedValues]),c="ab-CustomSortWizard__SortOrder",p=$e(c,i&&`${c}--loading`);return _h.createElement(J,{style:{height:"100%"},className:p},_h.createElement(J.Tab,null,"Sort Order"),_h.createElement(J.Content,null,i&&_h.createElement(IM,null,"Loading"),_h.createElement(Ba,{toIdentifier:m=>`${m}`,toLabel:m=>`${m}`,options:u,value:e.SortedValues,allowReorder:l,xSelectedLabel:()=>"Your Sort Order:",onChange:m=>{o.onChange(T(S({},e),{SortedValues:m}))}})))};d();var kA=I(require("react"));d();var qJ=I(require("react"));var ELe=o=>{let{api:e}=pe(),t=()=>{var s;return(s=e.internalApi.getAvailableTags())!=null?s:[]},{availableTags:n=t(),selectedTags:r=[],onChange:i,singleSelect:a}=o;return qJ.createElement(Ba,{options:n,value:r.map(s=>e.internalApi.getLabelForTag(s)),singleSelect:a,allowReorder:!1,onChange:(s,l)=>{i(s.map(u=>l.get(u)))},selectionBoxPosition:"top",toIdentifier:s=>e.internalApi.getLabelForTag(s),toLabel:s=>e.internalApi.getLabelForTag(s),noSelectionLabel:a?"Select a tag":"You have not selected any tags.",xSelectedLabel:a?()=>"Selected tag:":()=>"Selected tags:"})},wLe=o=>{let{tags:e=[]}=o,{api:t}=pe();return qJ.createElement(Va,{options:e,value:e.map(n=>t.internalApi.getValueForTag(n)),toIdentifier:n=>t.internalApi.getValueForTag(n),toLabel:n=>t.internalApi.getLabelForTag(n),allowWrap:!0,readOnly:!0})};var TLe=I(Ce());var Pr=o=>{let{onChange:e}=o,{data:t}=ke();return kA.createElement(J,{style:{height:"100%"}},kA.createElement(J.Tab,null,"Tags"),kA.createElement(J.Content,null,kA.createElement(ELe,{selectedTags:t.Tags,onChange:n=>e(T(S({},t),{Tags:n}))})))},Dr=o=>{var e;return(e=o.Tags)!=null&&e.length?kA.createElement(TLe.Text,{fontSize:2},kA.createElement(wLe,{tags:o.Tags})):null};var I3=o=>{var s,l;let e=o.data,t=_t(u=>{var c;return(c=u.CustomSort)==null?void 0:c.CustomSorts});((s=o.popupParams)==null?void 0:s.action)==="Edit"&&((l=o.popupParams)==null?void 0:l.column)&&(e=t.find(u=>{var c;return u.ColumnId==((c=o.popupParams)==null?void 0:c.column.columnId)}));let[n,r]=(0,ILe.useState)(()=>{var c,p;if(e)return zo(e);let u=it.CreateEmptyCustomSort();return(c=o.popupParams)!=null&&c.column&&(u.ColumnId=(p=o.popupParams)==null?void 0:p.column.columnId),u}),i=yt(),a=()=>{i(e?zf(n):jC(n)),o.onFinishWizard(n)};return kh.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:n,onFinish:a,onHide:o.onCloseWizard,sections:[{isValid:bLe,renderSummary:yLe,details:"Select a Column for Custom Sort",render:()=>kh.createElement(o0.Box,{padding:2,style:{height:"100%"}},kh.createElement(SLe,{isNew:o.isNew,onChange:r})),title:"Column"},{title:"Sort Order",details:'Select values to specify Custom Sort order - use "Drag to reorder" checkbox to modify order',isValid:ALe,renderSummary:xLe,render:()=>kh.createElement(o0.Box,{padding:2,style:{height:"100%"}},kh.createElement(RLe,{onChange:r}))},{details:"Select Custom Sort Tags",title:"Tags",isVisible:(u,c)=>c.internalApi.shouldDisplayTagSections(),render:()=>kh.createElement(o0.Box,{padding:2},kh.createElement(Pr,{onChange:r})),renderSummary:Dr},"-",{title:"Summary",details:"Review your Custom Sort",render:()=>kh.createElement(o0.Box,{padding:2},kh.createElement(Ir,null))}]})};var YJ=class extends Uc.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.CustomSorts.find(n=>n.ColumnId==t.ColumnId)?this.props.onEditCustomSort(t):this.props.onAddCustomSort(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Rn.getEmptyConfigState()}render(){let t=this.props.CustomSorts.find(a=>a.ColumnId==this.props.summarisedColumn.columnId),n=this.props.api.customSortApi.internalApi.getCustomSortComparer(this.props.summarisedColumn),r=t==null&&n==null,i;return this.props.summarisedColumn.sortable?r?i=Uc.createElement(Mh,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Custom Sort Set",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):n!=null?i=Uc.createElement(Mh,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Using a Custom Sort Comparer Function",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):i=Uc.createElement(Gc,{key:this.props.moduleInfo.FriendlyName,item1:Uc.createElement(Vc,{moduleInfo:this.props.moduleInfo}),item2:this.getCustomSortedValues(t),configEnity:t,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),showEdit:t!=null,onShare:a=>this.props.onShare(t,a),showShare:this.props.teamSharingActivated,onDelete:_E(t),showBold:!0,accessLevel:this.props.accessLevel}):i=Uc.createElement(Mh,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Column is not sortable",newButtonDisabled:!0,onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}),Uc.createElement(Uc.Fragment,null,i,this.state.editedAdaptableObject&&Uc.createElement(I3,{isNew:this.state.wizardStatus==="New",moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CustomSorts,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let t=jo.CreateEmptyCustomSort();t.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){this.setState({editedAdaptableObject:qo.cloneObject(t),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return ct.IsNotNullOrEmpty(t.ColumnId)&&pt.IsNotNullOrEmpty(t.SortedValues)}getCustomSortedValues(t){return pt.IsNotNullOrEmpty(t.SortedValues)?t.SortedValues.join(", "):"[Has bespoke Custom Sort implementing using bespoke function]"}};function RFt(o,e){return{CustomSorts:o.CustomSort.CustomSorts}}function EFt(o){return{onAddCustomSort:e=>o(jC(e)),onEditCustomSort:e=>o(zf(e)),onShare:(e,t)=>o(Tc(e,ls,t))}}var PLe=bt(RFt,EFt)(YJ);d();var BA=I(require("react"));d();var P3=I(require("react"));var um=class extends P3.Component{render(){return P3.createElement(ue,T(S({"data-name":"clear",tooltip:"Clear",iconSize:20,icon:this.props.showIcon==!1?"":"close"},this.props),{variant:"text"}),this.props.showText?"Clear":"")}};var XJ=class extends BA.Component{constructor(e){super(e),this.state=Rn.getEmptyConfigState()}render(){let e=this.props.ColumnFilters.find(r=>r.ColumnId==this.props.summarisedColumn.columnId),t=this.getDescription(e),n=[];return n.push(BA.createElement("b",null,BA.createElement(Vc,{moduleInfo:this.props.moduleInfo}))),n.push(t),n.push(BA.createElement(um,{marginLeft:1,onClick:()=>this.props.onClearFilter(e),tooltip:"Clear Filter",disabled:e==null,accessLevel:this.props.accessLevel})),BA.createElement(Xy,{SummaryItems:n})}getDescription(e){return this.props.summarisedColumn&&!this.props.summarisedColumn.filterable?"Column is not filterable":e==null?"No Column Filter Active":this.props.api.filterApi.internalApi.columnFilterToString(e)}};function wFt(o){return{ColumnFilters:qC(o)}}function TFt(o){return{onClearFilter:e=>o(jp(e)),onClearPopupParams:()=>o(vE()),onShare:(e,t)=>o(Tc(e,wi,t))}}var DLe=bt(wFt,TFt)(XJ);d();var VA=I(require("react"));d();var ql=I(require("react")),N3=I(Ce());d();var To=I(require("react")),OLe=require("react"),yl=I(Ce());var Bh=({Scope:o})=>{let e=[];return o?(o&&"ColumnIds"in o&&o.ColumnIds.length===0&&e.push("No Columns selected in Scope"),o&&"DataTypes"in o&&o.DataTypes.length===0&&e.push("No Data Types selected in Scope"),e.length?e.join(", "):!0):"No scope specified or scope is empty"},FLe={Date:{label:"Date",value:"Date"},Number:{label:"Number",value:"Number"},String:{label:"String",value:"String"},Boolean:{label:"Boolean",value:"Boolean"}},ob=(o,e)=>{let n=pe().api.scopeApi,r=n.getColumnsForScope(o);return To.createElement(To.Fragment,null,To.createElement(yl.Box,null,To.createElement(Bu,{mb:0},n.scopeIsAll(o)?e.scopeWholeRow:null)),To.createElement(yl.Box,{style:{overflow:"hidden"}},"ColumnIds"in o?To.createElement(To.Fragment,null,To.createElement(Bu,{mb:r.length?2:0},e.scopeColumns),r.length?To.createElement(Va,{options:r,value:r.map(i=>i.columnId),toLabel:i=>i.friendlyName,allowWrap:!0,readOnly:!0,renderLabel:i=>To.createElement(Bu,{mb:0},i),toIdentifier:i=>i.columnId}):null):null),To.createElement(yl.Box,null,"DataTypes"in o?To.createElement(To.Fragment,null,To.createElement(yl.Text,{fontSize:2,mb:2},e.scopeDataTypes),To.createElement(Va,{readOnly:!0,options:o.DataTypes,value:o.DataTypes,toLabel:i=>i,allowWrap:!0,renderLabel:i=>To.createElement(yl.Text,{fontSize:2},`DataType: ${i}`),toIdentifier:i=>i})):null))},IFt=Object.values(FLe),Wc=o=>{let{api:e}=pe(),{scopeApi:t,columnApi:n}=e,[r,i]=(0,OLe.useState)(""),a=To.useMemo(()=>{let C=o.scopeColumns||n.getColumns();return typeof o.isColumnAvailable=="function"?C.filter(y=>o.isColumnAvailable(y)):C},[]),s=C=>{if(!!C){if(t.scopeIsAll(C))return"All";if(t.scopeHasColumns(o.scope))return"Column";if(t.scopeHasDataType(o.scope))return"DataType"}},l=C=>{let y;C=="Column"?y={ColumnIds:[]}:C=="DataType"?y={DataTypes:[]}:y={All:!0},o.updateScope(y)},u=C=>{let y={ColumnIds:C};o.updateScope(y)},c=(C,y)=>{let v=[].concat(t.getDataTypesInScope(o.scope));if(C)v.push(y);else{let A=v.indexOf(y,0);A>-1&&v.splice(A,1)}let x={DataTypes:v};o.updateScope(x)},p=s(o.scope),m=o.scope&&"DataTypes"in o.scope?t.getDataTypesInScope(o.scope):null,h=IFt;return Array.isArray(o.availableDataTypes)&&(h=o.availableDataTypes.map(C=>FLe[C])),To.createElement(J,{"data-name":"scope-component",className:"ab-ScopeComponent",value:p,style:S({height:"100%"},o.style),onValueChange:l},o.hideWholeRow?null:To.createElement(J.Tab,{value:"Row"},To.createElement(Xe,{margin:0,checked:p=="All",tabIndex:-1},"All Columns")),!o.disableColumns&&To.createElement(J.Tab,{value:"Column"},To.createElement(Xe,{margin:0,value:"Column",checked:p=="Column",tabIndex:-1},"Selected Columns")),!o.disableDataTypes&&To.createElement(J.Tab,{value:"DataType"},To.createElement(Xe,{margin:0,value:"DataType",checked:p=="DataType",tabIndex:-1},"Data Types")),o.hideWholeRow?null:To.createElement(J.Content,{value:"Row",style:{flex:"none"},"data-name":"row-scope"},To.createElement(yl.Text,{padding:2,pl:0,fontSize:2},o.descriptions.rowScope)),!o.disableColumns&&To.createElement(J.Content,{value:"Column",style:{flex:1,overflow:"auto"},"data-name":"column-scope",padding:0},To.createElement(yl.Flex,{flexDirection:"row",alignItems:"center",padding:2},To.createElement(yl.Text,{fontSize:2},o.descriptions.columnScope),To.createElement(yl.Flex,{flex:3}),To.createElement(Cl,{value:r,OnTextChange:i,placeholder:"Type to search columns",style:{flex:1}})),To.createElement(yl.Flex,{paddingLeft:2,flex:1,style:{overflow:"hidden"}},To.createElement(_A,{columnFilterText:r,allowReorder:!1,availableColumns:a,selected:t.getColumnIdsInScope(o.scope),onChange:u}))),!o.disableDataTypes&&To.createElement(J.Content,{value:"DataType",style:{flex:"none"},"data-name":"datatype-scope"},To.createElement(yl.Box,null,o.descriptions.dataTypeScope&&To.createElement(yl.Text,{p:2,pl:0,mb:2,fontSize:2},o.descriptions.dataTypeScope),To.createElement(yl.Flex,{flexDirection:"column"},h.map(C=>To.createElement(Ne,{"data-name":"scope","data-value":C.value,key:C.value,checked:m&&m.includes(C.value),onChange:y=>c(y,C.value)},C.label))))))};d();var D3=I(require("react"));var MLe=o=>{let{data:e,api:t}=ke(),n=D3.useMemo(()=>t.columnApi.getNumericColumns(),[]);return D3.createElement(Wc,{availableDataTypes:["Number"],scopeColumns:n,scope:e.Scope,descriptions:{rowScope:"Matching rows will have the plus/minus applied",columnScope:"Matching Columns will have the plus/minus applied"},updateScope:r=>{let i=r;r&&"DataTypes"in r&&r.DataTypes.length===0&&(i=T(S({},r),{DataTypes:["Number"]})),o.onChange(T(S({},e),{Scope:i}))}})};d();var Ua=I(require("react")),ree=I(Ce());d();var Vu=I(require("react"));d();var Ko=I(require("react")),BLe=require("react"),ib=I(Ce());d();d();var Ha=I(require("react")),rb=I(Ce());d();var Ud=I(require("react")),a0=I(Ce());d();var Ws=I(require("react")),qT=I(Ce());d();d();var nb=I(require("react")),i0=I(Ce());d();var dm=I(require("react"));d();var O3=I(require("react"));d();var ZJ=I(require("react")),JJ=require("react");var PFt=ZJ.createContext({clickInfoRef:null,selected:{},getItemId:o=>o,toggleOnSimpleClick:!1,setSelected:o=>{}}),NLe=()=>{let{selected:o,setSelected:e,toggleOnSimpleClick:t,clickInfoRef:n,getItemId:r}=(0,JJ.useContext)(PFt);return(i,{index:a})=>{if(a===void 0)return;let{lastClickIndexWithoutShift:s,lastShiftSelectionRange:l}=n.current,{shiftKey:u,metaKey:c,ctrlKey:p}=i;p&&(c=!0),c&&(u=!1);let m=`${r(a)}`,h;if(u){let C=s,y=a;if(h=S({},o),l){let{start:A,end:R}=l;for(;A<=R;A++)delete h[r(A)]}let[v,x]=[Math.min(C,y),Math.max(C,y)];for(n.current.lastShiftSelectionRange={start:v,end:x};v<=x;v++)h[r(v)]=!0;e(h)}else{if(n.current.lastClickIndexWithoutShift=a,!c&&!t)h={[m]:!0};else{let C=o[m];h=S({},o),C?(delete h[m],n.current.lastClickIndexWithoutShift=s):h[m]=!0}n.current.lastShiftSelectionRange=null,e(h)}}};var eee="ab-ListGroupItem",DFt=O3.forwardRef((o,e)=>{let u=o,{className:t,active:n,factory:r="button",noZebra:i}=u,a=ut(u,["className","active","factory","noZebra"]),s=NLe();return O3.createElement(r,T(S({},a),{onClick:c=>{a.onClick&&a.onClick(c),s(c,{index:o.index})},ref:e,className:$e(t,eee,i?`${eee}--no-zebra`:null,`${eee}--${n?"active":"not-active"}`)}))}),F3=DFt;var tee=I(Ce());d();var n0=I(require("react"));var OFt="ab-GridList",FFt=new Map([["item",{field:"item",header:null,defaultFlex:1}]]),MFt=o=>{var t;let e=n0.Children.map(o.children,(n,r)=>({item:n,id:r})).filter(n=>!!n.item);return n0.createElement(da,{data:e,primaryKey:"id"},n0.createElement(mi,{header:!1,showZebraRows:o.showZebraRows,rowHeight:(t=o.rowHeight)!=null?t:"--ab-grid-row-height",domProps:{className:$e(OFt,o.className),style:{minHeight:"15rem"}},columns:FFt}))},LLe=MFt;var r0=require("react");var $T=o=>{let[e,t]=(0,r0.useState)(""),n=dm.useCallback(m=>{t(m),o==null||o.onFilterChange(m)},[o.onFilterChange]),[r,i]=(0,r0.useState)(o.uiSelectedColumnValues),a=m=>{i(m),o.onColumnValueSelectedChange(m)};(0,r0.useEffect)(()=>{i(o.uiSelectedColumnValues)},[o.uiSelectedColumnValues]);let s=m=>dm.createElement(Ne,T(S({},m),{variant:"agGrid",fontSize:2,marginTop:1,marginBottom:1,marginLeft:1,marginRight:1,title:typeof m.children=="string"?m.children:null})),l=m=>{let h=r.indexOf(m);if(m instanceof Date&&(h=r.findIndex(C=>Sc(mn(C),mn(m)))),h>=0){let C=[...r];C.splice(h,1),a(C)}else a([...r,m])},u=o.columnDistinctValues.map((m,h)=>{let C=r.indexOf(m.value)>=0;!C&&m.value&&m.value instanceof Date&&(C=r.some(x=>Sc(mn(x),mn(m.value))));let y=m.label;if(ct.IsNullOrEmpty(y))return null;let v=ct.IsNullOrEmpty(e.toLocaleLowerCase())||ct.IsNullOrEmpty(y==null?void 0:y.toLocaleLowerCase())||y.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())<0;return!o.suppressClientSideFilter&&ct.IsNotNullOrEmpty(e)&&v?null:o.useAgGridStyle?s({key:"columnValue"+h,children:m.label,checked:C,onChange:()=>l(m.value),disabled:o.disabled,style:{width:"100%"}}):dm.createElement(F3,{noZebra:o.useAgGridStyle,key:"columnValue"+h,onClick:()=>l(m.value),active:C,value:m.value},m.label)}),c=dm.createElement(Cl,{autoFocus:!0,type:"text",placeholder:"Search Column Values",value:e,style:{paddingTop:"var(--ab-space-1)",paddingBottom:"var(--ab-space-1)",paddingLeft:"var(--ab-space-1)",borderRadius:"var(--ab__border-radius)"},OnTextChange:n}),p="ab-ListBoxFilterForm";return dm.createElement("div",{className:$e(p,o.useAgGridStyle?`${p}--aggrid-style`:null,o.isLoading&&`${p}--loading`)},dm.createElement(tee.Box,{px:2},dm.createElement(tee.Box,{mx:o.useAgGridStyle?0:"2px",marginBottom:2},c,o.isLoading&&dm.createElement(IM,null,"Loading"))),!o.isLoading&&dm.createElement(LLe,{showZebraRows:!1,className:o.useAgGridStyle?"":"ab-padding-horizontal-0"},u))};var oee=o=>{var l,u,c;let e=pe(),t=o.columnId,n=e.api.columnApi.getColumnWithColumnId(t),r=((l=e.api.gridApi.internalApi.getDistinctDisplayValuesForColumn(t))!=null?l:[]).map(p=>{var m;return{value:p,label:p.toString?(m=p.toString)==null?void 0:m.call(p):p}}),i=(u=o.predicate.Inputs)!=null?u:[],a=((c=i==null?void 0:i.filter)==null?void 0:c.call(i,p=>p!==void 0||p!==null||p!=="").length)===0,s=nb.createElement(i0.Flex,{className:"ab-PermitedValuesSelector__PopupContent",padding:1,flexDirection:"column"},nb.createElement($T,{currentColumn:n,columns:[],columnDistinctValues:r,dataType:n.dataType,uiSelectedColumnValues:o.predicate.Inputs,useAgGridStyle:!0,onColumnValueSelectedChange:p=>o.onPredicateValuesChange(p)}));return nb.createElement(i0.Box,{className:"ab-PermitedValuesSelector",mt:2},nb.createElement(i0.Box,{flex:1},nb.createElement(cs,{render:()=>s},nb.createElement(ue,{width:"100%",mb:2},(i==null?void 0:i.join(", "))||"No Selected values"))),nb.createElement(ue,{disabled:a,onClick:()=>o.onPredicateValuesChange([])},"Clear Values"))};var NFt=o=>o&&["Values","ExcludeValues"].includes(o.id),YT=o=>{var l,u,c;let e="ab-PredicateEditor",t=(l=o.placeholder)!=null?l:"Select Rule",n=Ws.useMemo(()=>{var p;return(p=o==null?void 0:o.predicateDefs)==null?void 0:p.map(m=>({value:m.id,label:m.label,onClick:()=>{var h;o.onChange(T(S({},o.predicate),{PredicateId:m.id,Inputs:((h=m==null?void 0:m.inputs)!=null?h:[]).map(C=>{var y;return(y=C.defaultValue)!=null?y:""})}))}}))},[o.predicateDefs,o.onChange]),r=(p,m)=>{var y;let{value:h}=p.target,C=[...(y=o.predicate.Inputs)!=null?y:[]];C[m]=h,o.onChange(T(S({},o.predicate),{Inputs:C}))},i=p=>{o.onChange(T(S({},o.predicate),{Inputs:p}))},a=(u=o==null?void 0:o.predicateDefs)==null?void 0:u.find(p=>{var m;return p.id===((m=o.predicate)==null?void 0:m.PredicateId)}),s=null;return a&&(Ch(a==null?void 0:a.icon)?s=Ws.createElement(Ma,{icon:a.icon}):(a==null?void 0:a.icon)&&"text"in(a==null?void 0:a.icon)&&(s=Ws.createElement("span",null,a.icon.text))),Ws.createElement(qT.Box,{className:e},Ws.createElement(qT.Flex,{justifyContent:"stretch",alignItems:"center"},s&&Ws.createElement(rt,{mr:2},s),Ws.createElement(Qe,{mb:0,style:{flex:1},listStyle:{minWidth:150},"data-name":"select-predicate",className:`${e}__predicate-dropdown`,placeholder:t,showClearButton:!!o.predicate,onClear:o.onClear,items:n,columns:["label"]},a?a.label:t)),Ws.createElement(qT.Flex,null,(c=a==null?void 0:a.inputs)==null?void 0:c.map((p,m)=>{var h,C;return Ws.createElement(Ws.Fragment,null,m>0&&Ws.createElement(Qt,{margin:2},"AND"),Ws.createElement(qT.Flex,{key:m,flex:1,flexDirection:"column"},Ws.createElement(oo,{"data-name":`predicate-input-${m}`,marginTop:2,type:p.type,autoFocus:m===0,value:(C=(h=o.predicate.Inputs)==null?void 0:h[m])!=null?C:"",onChange:y=>r(y,m)})))})),NFt(a)&&Ws.createElement(oee,{onPredicateValuesChange:i,predicate:o.predicate,columnId:o.columnId}))};var _Le=o=>{var p,m,h,C,y;let{api:e}=pe(),{predicate:t}=o,n=Ud.useMemo(()=>e.columnApi.getColumns().map(v=>({label:v.friendlyName,value:v.columnId})),[]),r=()=>{var x,A;let v=(A=(x=o.data.Rule)==null?void 0:x.Predicates)==null?void 0:A.filter(R=>R!==t);o.onChange(T(S({},o.data),{Rule:{Predicates:v}}))},i=v=>{var A,R;let x=[];t?x=(R=(A=o.data.Rule)==null?void 0:A.Predicates)==null?void 0:R.map(w=>w===t?v:w):x=[v],o.onChange(T(S({},o.data),{Rule:{Predicates:x}}))},a=Ud.useMemo(()=>{var x;let v=[];return o.getPredicateDefsForColId&&((x=o==null?void 0:o.predicate)==null?void 0:x.ColumnId)?v=o.getPredicateDefsForColId(o.predicate.ColumnId):v=o.predicateDefs,v},[o.predicate]),s=Boolean(o.columnPredicateEnabled),l=(p=n.find(v=>v.value===(t==null?void 0:t.ColumnId)))==null?void 0:p.label,u=n.map(v=>({label:v.label,onClick:()=>{i({PredicateId:null,ColumnId:v.value,Inputs:[]})}})),c=null;return(t==null?void 0:t.ColumnId)&&t.ColumnId!==""?c=t.ColumnId:"ColumnIds"in o.data.Scope&&((h=(m=o.data.Scope)==null?void 0:m.ColumnIds)==null?void 0:h[0])&&(c=(y=(C=o.data.Scope)==null?void 0:C.ColumnIds)==null?void 0:y[0]),Ud.createElement(a0.Flex,{className:"ab-EntityRulePredicateEditor",p:3,mb:3},Ud.createElement(a0.Box,{flex:1},Ud.createElement(Ke,null,s&&Ud.createElement(de,{label:"Column"},Ud.createElement(Qe,{width:"100%",columns:["label"],items:u},l!=null?l:"Select Column")),Ud.createElement(de,{label:"Predicate"},Ud.createElement(YT,{columnId:c,predicateDefs:a,predicate:t,onChange:i,onClear:r})))),Ud.createElement(a0.Box,null,Ud.createElement(ue,{disabled:!t,ml:2,onClick:r,icon:"delete"})))};d();var zc=(o,e)=>{let t=[];return"ColumnIds"in o&&Array.isArray(o.ColumnIds)&&(t=o.ColumnIds,t=o.ColumnIds.map(n=>e.columnApi.getFriendlyNameForColumnId(n)).filter(Boolean)),"DataTypes"in o&&(t=o.DataTypes),"All"in o&&(t=["All Columns"]),{label:"Target",name:"Target",values:t}};var nee=o=>{var u,c,p,m,h;let{api:e}=pe(),t=e.internalApi.isDocumentationLinksDisplayed(),n=o.data.Rule.Predicates.some(C=>C.ColumnId!==void 0),r=o.predicateDefs.filter(C=>{var y,v;return(v=(y=o.data.Rule)==null?void 0:y.Predicates)==null?void 0:v.every(x=>x.PredicateId!==C.id)}),i=C=>{C?o.onChange(T(S({},o.data),{Rule:{Predicates:[{PredicateId:null,ColumnId:""}]}})):o.onChange(T(S({},o.data),{Rule:{Predicates:[]}}))},a=()=>{var C;o.onChange(T(S({},o.data),{Rule:{Predicates:[...((C=o.data.Rule)==null?void 0:C.Predicates)||[],{PredicateId:r[0].id,Inputs:[]}]}}))},s=zc(o.data.Scope,e).values.join(", "),l=(u=o.enablePredicateColumnId)!=null?u:!0;return Ha.createElement(Ha.Fragment,null,Ha.createElement(rb.Flex,{mb:2,justifyContent:"space-between"},Ha.createElement(rb.Text,{fontSize:2,mb:2},o.descriptions.selectPredicate),Ha.createElement(ue,{disabled:!((p=(c=o.data.Rule)==null?void 0:c.Predicates)!=null&&p.length),onClick:a,icon:"plus",variant:"raised"},"Add Predicate")),l&&Ha.createElement(rb.Flex,{className:"ab-EntityRulePredicateEditor-ScopeTypeSelector",p:2,mb:2,flexDirection:"column"},Ha.createElement(rb.Text,{mb:2},"Create Predicate Rule(s) using"),Ha.createElement(Xe,{"data-name":"entity-scope",onClick:()=>i(!1),mr:3,checked:!n},"Active Column:"," ",Ha.createElement(rt,{ml:1,mr:1},s||"Not Defined")," "),Ha.createElement(Xe,{"data-name":"column-scope",onClick:()=>i(!0),checked:n},"Selected Columns (overriding Active Column)")),((h=(m=o.data.Rule)==null?void 0:m.Predicates)!=null&&h.length?o.data.Rule.Predicates:[null]).map((C,y)=>{let v=o.predicateDefs.find(A=>A.id===(C==null?void 0:C.PredicateId)),x=r;return v&&(x=[v,...r]),Ha.createElement(Ha.Fragment,{key:`${y}-${C==null?void 0:C.PredicateId}`},y>0&&Ha.createElement(rb.Box,null,Ha.createElement(rt,{mb:3},"AND")),Ha.createElement(_Le,{data:o.data,predicate:C,onChange:o.onChange,predicateDefs:x,getPredicateDefsForColId:o.getPredicateDefsForColId,columnPredicateEnabled:n}))}),t&&Ha.createElement(Qt,{"data-name":"query-documentation",mt:3,mb:2,style:{fontSize:"var(--ab-font-size-3)",padding:0}},Ha.createElement(Pu,{mr:2,onClick:()=>window.open(fOe,"_blank")}),"See Predicate documentation for more details and examples"))};var M3=o=>{let a=o,{type:e,label:t,disabled:n=!1}=a,r=ut(a,["type","label","disabled"]),i=Ko.createElement(ib.Flex,{flexDirection:"column"},t," ",Ko.createElement(ib.Text,{fontSize:2},"query"));return Ko.createElement(J.Tab,S({style:{flex:1}},r),!n&&o.showRadio?Ko.createElement(Xe,{tabIndex:-1,margin:0,checked:e===o.value,style:{alignItems:"baseline"}},i):i)};M3.defaultProps={isTabsTab:!0};var XT=o=>{var r,i,a,s,l,u,c,p;let{data:e}=o,{api:{predicateApi:t,internalApi:n}}=pe();return!((i=(r=e==null?void 0:e.Rule)==null?void 0:r.Predicates)!=null&&i.length)&&!((a=e==null?void 0:e.Rule)!=null&&a.BooleanExpression)&&!((s=e==null?void 0:e.Rule)!=null&&s.ObservableExpression)&&!((l=e==null?void 0:e.Rule)!=null&&l.AggregatedBooleanExpression)?Ko.createElement(ib.Text,{fontSize:2},"No Rule defined"):Ko.createElement(ib.Text,{fontSize:2},e.Rule.Predicates?Ko.createElement(Ko.Fragment,null,(p=(c=(u=e.Rule)==null?void 0:u.Predicates)==null?void 0:c.map)==null?void 0:p.call(c,(m,h)=>Ko.createElement(Ko.Fragment,{key:h},o.renderPredicate(t.predicateToString(m))))):Ko.createElement(Ko.Fragment,null,o.renderQueryExpression(n.getAdaptableQueryExpressionText(e.Rule))))},kLe=o=>o.showRadio?Ko.createElement(Xe,{tabIndex:-1,margin:0,checked:o.checked},o.children):Ko.createElement(Ko.Fragment,null,"props.children"),ab=o=>{var _,H,j;let{data:e,children:t,descriptions:n,predicateDefs:r,showNoRule:i=!1,showPredicate:a=!0,showObservable:s=!0,showBoolean:l=!0,showAggregation:u=!0,flexProps:c,module:p}=o,{api:m}=pe(),C=[i,a,s,l,u].filter(Boolean).length>1,y=e.Rule==null?"NoRule":e.Rule.BooleanExpression!=null?"BooleanExpression":e.Rule.ObservableExpression!=null&&s?"ObservableExpression":e.Rule.AggregatedBooleanExpression!=null&&u?"AggregatedBooleanExpression":"Predicate",[v,x]=Ko.useState(y),A=B=>{x(B),B==="NoRule"&&i?(delete e.Rule,o.onChange(S({},e))):B==="BooleanExpression"&&l?o.onChange(T(S({},e),{Rule:{BooleanExpression:""}})):B==="ObservableExpression"&&s?o.onChange(T(S({},e),{Rule:{ObservableExpression:""}})):B==="AggregatedBooleanExpression"&&u?o.onChange(T(S({},e),{Rule:{AggregatedBooleanExpression:""}})):o.onChange(T(S({},e),{Rule:{Predicates:[{PredicateId:o.defaultPredicateId}]}}))},R=B=>B&&["Values","ExcludeValues"].includes(B.id),w=r.filter(B=>R(B)?"ColumnIds"in e.Scope&&e.Scope.ColumnIds.length===1:!0),P=B=>{o.onChange(T(S({},e),{Rule:{BooleanExpression:B}}))},D=B=>{o.onChange(T(S({},e),{Rule:{ObservableExpression:B}}))},F=B=>{o.onChange(T(S({},e),{Rule:{AggregatedBooleanExpression:B}}))},M=(0,BLe.useMemo)(()=>m.internalApi.getQueryPreviewData(),[]);return Ko.createElement(ib.Flex,T(S({className:"ab-EntityRulesEditor",flexDirection:"column",padding:2,pt:0,pl:0},c),{style:S({height:"100%"},c==null?void 0:c.style)}),t,Ko.createElement(J,{onValueChange:A,value:v,pt:2,pl:2,style:{flex:1,overflow:"auto"}},i?Ko.createElement(J.Tab,{value:"NoRule",style:{flex:1}},Ko.createElement(kLe,{showRadio:C,checked:y==="NoRule"},"No Condition")):null,i?Ko.createElement(J.Content,{value:"NoRule"},Ko.createElement(ib.Text,{fontSize:2,mb:2},"Format Column is always applied")):null,a?Ko.createElement(J.Tab,{value:"Predicate",style:{flex:1}},Ko.createElement(kLe,{showRadio:C,checked:y==="Predicate"},"Predicate")):null,a?Ko.createElement(J.Content,{"data-name":"Predicate",value:"Predicate"},Ko.createElement(nee,{enablePredicateColumnId:o.enablePredicateColumnId,data:e,descriptions:n,predicateDefs:w,getPredicateDefsForColId:o.getPredicateDefsForColId,onChange:o.onChange})):null,l?Ko.createElement(M3,{showRadio:C,value:"BooleanExpression",type:y,label:"Boolean"}):null,l?Ko.createElement(J.Content,{"data-name":"BooleanExpression",value:"BooleanExpression",paddingLeft:0},Ko.createElement(Nu,{type:"boolean",module:p,value:(_=e.Rule)==null?void 0:_.BooleanExpression,onChange:P,initialData:M,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null,s?Ko.createElement(M3,{showRadio:C,value:"ObservableExpression",type:y,label:"Observable"}):null,s?Ko.createElement(J.Content,{"data-name":"ObservableExpression",value:"ObservableExpression",paddingLeft:0},Ko.createElement(Nu,{type:"observable",module:p,value:(H=e.Rule)==null?void 0:H.ObservableExpression,onChange:D,initialData:M,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null,u?Ko.createElement(M3,{showRadio:C,value:"AggregatedBooleanExpression",type:y,label:"Aggregated Boolean"}):null,u?Ko.createElement(J.Content,{"data-name":"AggregatedBooleanExpression",value:"AggregatedBooleanExpression",paddingLeft:0},Ko.createElement(Nu,{type:"aggregatedBoolean",module:p,value:(j=e.Rule)==null?void 0:j.AggregatedBooleanExpression,onChange:F,initialData:M,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null))};function VLe(){let{data:o}=ke();return Vu.createElement(XT,{data:o,renderPredicate:e=>Vu.createElement(Vu.Fragment,null,"Apply Plus Minus on ",Vu.createElement(La,null,e)),renderQueryExpression:e=>Vu.createElement(Vu.Fragment,null,"Apply Plus Minus when"," ",Vu.createElement("b",null,Vu.createElement(La,null,e)))})}function GLe(o){var r;let{data:e,moduleInfo:t}=ke(),n=T(S({},e),{Rule:(r=e==null?void 0:e.Rule)!=null?r:{BooleanExpression:""}});return Vu.createElement(ab,{module:t.ModuleName,flexProps:{style:{minHeight:0}},defaultPredicateId:o.defaultPredicateId,predicateDefs:[],showAggregation:!1,showObservable:!1,showPredicate:!1,data:n,onChange:i=>o.onChange(i),descriptions:{selectPredicate:null,useBooleanQuery:Vu.createElement(Vu.Fragment,null,"Use an BooleanQuery if ",Vu.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:null,useAggregationQuery:null}})}d();var sb=(o,e,t)=>{var n,r,i,a,s,l,u,c,p,m,h,C,y,v,x;return(r=(n=o==null?void 0:o.Rule)==null?void 0:n.Predicates)!=null&&r.length&&!e.predicateApi.isEveryPredicateValid((i=o==null?void 0:o.Rule)==null?void 0:i.Predicates)?`The Predicate${((s=(a=o==null?void 0:o.Rule)==null?void 0:a.Predicates)==null?void 0:s.length)===1?" is":"s are"} not valid`:(l=o==null?void 0:o.Rule)!=null&&l.BooleanExpression&&!e.expressionApi.isValidBooleanExpression((u=o==null?void 0:o.Rule)==null?void 0:u.BooleanExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Boolean Expression":(c=o==null?void 0:o.Rule)!=null&&c.ObservableExpression&&!e.expressionApi.isValidObservableExpression((p=o==null?void 0:o.Rule)==null?void 0:p.ObservableExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Observable Expression":(m=o==null?void 0:o.Rule)!=null&&m.AggregatedBooleanExpression&&!e.expressionApi.isValidAggregatedBooleanExpression((h=o==null?void 0:o.Rule)==null?void 0:h.AggregatedBooleanExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Aggregated Boolean Expression":(y=(C=o==null?void 0:o.Rule)==null?void 0:C.Predicates)!=null&&y.length&&((x=(v=o==null?void 0:o.Rule)==null?void 0:v.Predicates)==null?void 0:x.some(R=>R.ColumnId!==void 0&&R.ColumnId===""))?"Predicates with custom scope need a valid column":!0};var HLe=o=>{var t;let{data:e}=ke();return Ua.createElement(Ua.Fragment,null,Ua.createElement(Bu,null,"Nudge Value ",Ua.createElement(rt,null,(t=e.NudgeValue)!=null?t:"Not selected")),o.hasCondition&&Ua.createElement(VLe,null))},ULe=o=>(e,t,n)=>{var r;if(o){if(!((r=e==null?void 0:e.Rule)!=null&&r.BooleanExpression))return"No valid Rule is specified";let i=sb(e,t,n);if(typeof i=="string")return i}return typeof e.NudgeValue!="number"?"Nudge value is not specified":e.NudgeValue===0?"Nudge value must be different than 0":!0},WLe=o=>{var n;let{data:e}=ke(),t=r=>{let i=parseFloat(r.target.value);o.onChange(T(S({},e),{NudgeValue:isNaN(i)?"":i}))};return Ua.createElement(ree.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},Ua.createElement(J,{autoFocus:!1,padding:2},Ua.createElement(J.Tab,null,"Plus Minus Settings"),Ua.createElement(J.Content,null,Ua.createElement(Ke,null,Ua.createElement(de,{label:"Nudge Value"},Ua.createElement(mt,{"data-name":"nudge-value",flex:1,marginRight:3,onChange:t,placeholder:"Enter Number",type:"number",value:(n=e.NudgeValue)!=null?n:""})),Ua.createElement(de,{label:"Nudge Type"},Ua.createElement(ree.Flex,null,Ua.createElement(Xe,{"data-name":"nudge-type-always",value:"Always",checked:!o.hasCondition,onChange:()=>o.onConditionChange(!1)},"Always Apply Nudge"),Ua.createElement(Xe,{"data-name":"nudge-type-condition",marginLeft:3,value:"Expression",checked:o.hasCondition,onChange:()=>o.onConditionChange(!0)},"Create a Rule")))))),o.hasCondition&&Ua.createElement(GLe,{defaultPredicateId:"NonBlanks",onChange:o.onChange}))};var L3=o=>{let[e,t]=ql.useState(()=>{var l,u,c,p,m;let s=T(S({},o.data?o.data:it.CreateEmptyPlusMinusNudge()),{Scope:(u=(l=o==null?void 0:o.data)==null?void 0:l.Scope)!=null?u:{All:!0},NudgeValue:(p=(c=o==null?void 0:o.data)==null?void 0:c.NudgeValue)!=null?p:20});return(m=o==null?void 0:o.popupParams)!=null&&m.column&&(s.Scope={ColumnIds:[o.popupParams.column.columnId]}),s}),[n,r]=ql.useState(()=>{var s;return Boolean((s=o==null?void 0:o.data)==null?void 0:s.Rule)});ql.useEffect(()=>{var l;let s=S({},e);n?s.Rule=(l=s.Rule)!=null?l:{BooleanExpression:""}:delete s.Rule,t(s)},[n]);let i=yt(),a=()=>{o.data?i(jf(e)):i(YC(e)),o.onFinishWizard(e)};return ql.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:e,onHide:o.onCloseWizard,onFinish:a,sections:[{title:"Target",isValid:Bh,details:"Specify where Plus/Minus should be applied",renderSummary:()=>ob(e.Scope,{scopeWholeRow:"Plus/Minus is applied for matching rows",scopeColumns:"Plus/Minus is applied in cells in selected columns",scopeDataTypes:"Plus/Minus is applied for cells with selected data type"}),render:()=>ql.createElement(N3.Box,{padding:2},ql.createElement(MLe,{onChange:t}))},{title:"Settings",isValid:ULe(n),renderSummary:()=>ql.createElement(HLe,{hasCondition:n}),render:()=>ql.createElement(WLe,{hasCondition:n,onConditionChange:r,onChange:t})},{details:"Select Plus/Minus Tags",title:"Tags",isVisible:(s,l)=>l.internalApi.shouldDisplayTagSections(),render:()=>ql.createElement(N3.Box,{padding:2},ql.createElement(Pr,{onChange:t})),renderSummary:Dr},"-",{render:()=>ql.createElement(N3.Box,{padding:2},ql.createElement(Ir,null)),title:"Summary"}]})};var iee=class extends VA.Component{constructor(e){super(e),this.state=Rn.getEmptyConfigState()}render(){let e=[],t=VA.createElement(Mh,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:qo.ReturnItemCount(this.props.PlusMinusNudges.filter(n=>this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)),this.props.moduleInfo.FriendlyName),onNew:()=>this.onNew(),newButtonTooltip:"Plus / Minus Rule",accessLevel:this.props.accessLevel});return e.push(t),this.props.PlusMinusNudges.map((n,r)=>{var i;if(this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)){let a=VA.createElement(Gc,{key:"PM"+r,item1:"Nudge Value: "+n.NudgeValue,item2:(i=n.Rule)!=null&&i.BooleanExpression?n.Rule.BooleanExpression:"Always",configEnity:n,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(n),onShare:s=>this.props.onShare(n,s),onDelete:yk(n),accessLevel:this.props.accessLevel});e.push(a)}}),VA.createElement("div",null,e,this.state.editedAdaptableObject&&VA.createElement(L3,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:null,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:()=>this.onFinishWizard()}))}onNew(){let e=jo.CreateEmptyPlusMinusNudge();e.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){this.setState({editedAdaptableObject:qo.cloneObject(e),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}onFinishWizard(){let e=this.state.editedAdaptableObject;this.state.wizardStatus=="Edit"?this.props.onEditPlusMinusNudge(e):this.props.onAddPlusMinusNudge(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){return!!this.state.editedAdaptableObject.NudgeValue}};function LFt(o,e){return{PlusMinusNudges:o.PlusMinus.PlusMinusNudges}}function _Ft(o){return{onAddPlusMinusNudge:e=>o(YC(e)),onEditPlusMinusNudge:e=>o(jf(e)),onClearPopupParams:()=>o(vE()),onShare:(e,t)=>o(Tc(e,di,t))}}var zLe=bt(LFt,_Ft)(iee);d();var fg=I(require("react"));d();var s0=I(require("react"));var GA=class extends s0.Component{render(){if(!this.props.Style)return null;let e=nt.IsNotNullOrEmpty(this.props.Text)?this.props.Text:"Style",t;if(this.props.Style.ClassName)t=s0.createElement("div",null,"CSS Class: "+this.props.Style.ClassName);else{let n=this.props.Style.BackColor!=null?this.props.Style.BackColor:null,r=this.props.Style.ForeColor!=null?this.props.Style.ForeColor:"black",i=this.props.Style.BorderColor!=null?this.props.Style.BorderColor:null,a=this.props.Style.FontWeight=="Bold"?"bold":"normal",s=this.props.Style.FontStyle=="Italic"?"italic":"normal",l=zl.getCssFontSizeFromFontSizeEnum(this.props.Style.FontSize);t=s0.createElement("div",{className:this.props.Style.BackColor!=null?"":"ab_white_grey_stripes",style:{textAlign:"center",margin:"2px",padding:"3px",background:n,color:r,borderColor:i,borderStyle:i?"solid":"none",fontWeight:a,fontStyle:s,fontSize:l}},e)}return t}};d();var bl=I(require("react")),c_e=require("react"),HA=I(Ce());d();var jLe=I(require("react"));d();var _3="NonBlanks";var KLe=o=>ob(o.Scope,{scopeWholeRow:"Matching rows will be formatted",scopeColumns:"Cells in selected columns will be formatted",scopeDataTypes:"Cells in columns with these Data Types will be formatted"}),QLe=o=>{let{data:e,api:t}=ke();return jLe.createElement(Wc,{descriptions:{rowScope:"Format all columns in the row",columnScope:"Select columns to format"},scope:e.Scope,updateScope:n=>{var a,s;let r=T(S({},e),{Scope:n}),i=t.scopeApi.scopeIsAll(n);(s=(a=r.Rule)==null?void 0:a.Predicates)!=null&&s.length&&(i?(delete r.Rule.Predicates,r.Rule.BooleanExpression=""):r.Rule.Predicates=[{PredicateId:_3}]),o.onChange(r)}})};d();var aee=I(require("react")),$Le=I(Ce());var qLe=(o,e)=>o.Style&&Uo.IsEmptyStyle(o.Style)&&o.DisplayFormat===void 0&&o.CellAlignment===void 0&&!e.scopeApi.isSingleBooleanColumnScope(o.Scope)?"No format applied":!0,kFt=o=>{var e,t;return T(S({},SM((e=o.Style)!=null?e:{})),{borderWidth:(t=o.Style)!=null&&t.BorderColor?2:0,borderStyle:"solid",textAlign:o.CellAlignment?o.CellAlignment.toLowerCase():void 0})},YLe=o=>{let{api:e}=ke();return see(o,e)},see=(o,e)=>aee.createElement($Le.Text,{className:"ab-FormatPreview",padding:2,style:kFt(o)},"Preview result");function XLe(o){var n;let{data:e,api:t}=ke();return aee.createElement(_u,{headless:!0,api:t,Style:(n=e.Style)!=null?n:{},UpdateStyle:r=>{o.onChange(T(S({},e),{Style:r}))}})}d();var Ge=I(require("react")),Gu=I(Ce()),n_e=I(JLe()),lee=I(nE());d();var GFt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"$",Suffix:"",Multiplier:1,Parentheses:!1},HFt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"\xA3",Suffix:"",Multiplier:1,Parentheses:!1},e_e={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"M",Multiplier:1e-6,Parentheses:!1},t_e={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"K",Multiplier:.001,Parentheses:!1},o_e={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"%",Multiplier:100,Parentheses:!1},UFt=["MM/dd/yyyy","dd-MM-yyyy","MMMM do yyyy, h:mm:ss a","EEEE","MMM do yyyy","yyyyMMdd","HH:mm:ss"],uee=o=>{let e="N/A";return o.DisplayFormat?(o.DisplayFormat.Formatter==="NumberFormatter"&&(e=Ia.NumberFormatter(12345.6789,o.DisplayFormat.Options)),o.DisplayFormat.Formatter==="DateFormatter"&&(e=Ia.DateFormatter(new Date(2022,0,1),o.DisplayFormat.Options)),o.DisplayFormat.Formatter==="StringFormatter"&&(e=Ia.StringFormatter("Hello World ",o.DisplayFormat.Options))):e="N/A",e},dee=(o,e,t)=>{var n,r,i;return Ge.createElement(de,{key:e.id,label:(n=e.label)!=null?n:e.id},Ge.createElement(Ne,{"data-name":e.id,checked:(i=(r=o.DisplayFormat.Options.CustomDisplayFormats)==null?void 0:r.some)==null?void 0:i.call(r,a=>a===e.id),onChange:a=>{var l,u,c;let s=(c=(u=(l=o==null?void 0:o.DisplayFormat)==null?void 0:l.Options)==null?void 0:u.CustomDisplayFormats)!=null?c:[];a?s=[...s,e.id]:s=s.filter(p=>p!==e.id),t("CustomDisplayFormats",s)}}))},r_e=o=>Ge.createElement(rt,null,uee(o)),i_e=(o,e)=>{if(o!=null&&!("All"in o)){if("ColumnIds"in o){let t=o.ColumnIds.map(r=>e.columnApi.getColumnWithColumnId(r)).filter(Boolean),n=(0,n_e.default)(t.map(r=>r.dataType));return n.length==1&&n[0]=="Number"?"Number":n.length==1&&n[0]=="Date"?"Date":n.length==1&&n[0]=="String"?"String":void 0}if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="Number")return"Number";if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="Date")return"Date";if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="String")return"String"}},WFt=(o,e,t,n)=>{var r;return o.DisplayFormat.Formatter!=="DateFormatter"?null:Ge.createElement(Gu.Box,{padding:2},Ge.createElement(J,null,Ge.createElement(J.Tab,null,"Format"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Text,{padding:2,fontSize:2},"Either create your own date pattern, or select one of the preset date formats (check out"," ",Ge.createElement("a",{href:"https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table",target:"_blank"},"available symbols"),")."),Ge.createElement(Ke,null,Ge.createElement(de,{label:"Pattern"},Ge.createElement(mt,{"data-name":"pattern",value:(r=o.DisplayFormat.Options.Pattern)!=null?r:"",onChange:i=>t("Pattern",i.currentTarget.value),mr:2}),Ge.createElement("span",null,o.DisplayFormat.Options.Pattern&&Ia.DateFormatter(new Date,o.DisplayFormat.Options,!0)))))),n.length>0&&Ge.createElement(J,{marginTop:2,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Custom Formats"),Ge.createElement(J.Content,null,Ge.createElement(Ke,null,n.map(i=>dee(o,i,t))))),Ge.createElement(J,{marginTop:2,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Presets"),Ge.createElement(J.Content,null,Ge.createElement(Ga,{style:{fontWeight:"bold"},colItems:[{Content:"Pattern",Size:1},{Content:"Formatted Date",Size:1},{Content:"",Size:1}]}),UFt.map((i,a)=>Ge.createElement(Ga,{key:a,colItems:[{Content:i,Size:1},{Content:Ia.DateFormatter(new Date,{Pattern:i}),Size:1},{Content:Ge.createElement(ue,{"data-name":"apply-format-pattern","data-value":i,onClick:()=>t("Pattern",i)},"Apply"),Size:1}]})))))},zFt=(o,e,t,n,r)=>{var y,v,x;if(o.DisplayFormat.Formatter!=="NumberFormatter")return null;let i=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:o_e}})},a=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:t_e}})},s=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:e_e}})},l=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:GFt}})},u=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:HFt}})},c=o.DisplayFormat.Options.Suffix==="%"&&o.DisplayFormat.Options.Multiplier===o_e.Multiplier,p=o.DisplayFormat.Options.Suffix==="K"&&o.DisplayFormat.Options.Multiplier===t_e.Multiplier,m=o.DisplayFormat.Options.Suffix==="M"&&o.DisplayFormat.Options.Multiplier===e_e.Multiplier,h=o.DisplayFormat.Options.Prefix==="$",C=o.DisplayFormat.Options.Prefix==="\xA3";return Ge.createElement(Gu.Box,{"data-name":"format-column-display-format",padding:2},Ge.createElement(J,null,Ge.createElement(J.Tab,null,"Format"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Flex,{flexDirection:"row"},Ge.createElement(Ke,{mr:3},Ge.createElement(de,{label:"Fraction Separator"},Ge.createElement(mt,{"data-name":"fraction-separator",value:o.DisplayFormat.Options.FractionSeparator,onChange:A=>t("FractionSeparator",A.currentTarget.value)})),Ge.createElement(de,{label:"Integer Separator"},Ge.createElement(mt,{"data-name":"integer-separator",value:o.DisplayFormat.Options.IntegerSeparator,onChange:A=>t("IntegerSeparator",A.currentTarget.value)})),Ge.createElement(de,{label:"Prefix"},Ge.createElement(mt,{"data-name":"prefix",value:(y=o.DisplayFormat.Options.Prefix)!=null?y:"",onChange:A=>t("Prefix",A.currentTarget.value)})),Ge.createElement(de,{label:"Suffix"},Ge.createElement(mt,{"data-name":"suffix",value:(v=o.DisplayFormat.Options.Suffix)!=null?v:"",onChange:A=>t("Suffix",A.currentTarget.value)})),Ge.createElement(de,{label:"Truncate"},Ge.createElement(Ne,{"data-name":"truncate-checkbox",checked:o.DisplayFormat.Options.Truncate,onChange:A=>t("Truncate",A)})),Ge.createElement(de,{label:"Ceiling"},Ge.createElement(Ne,{"data-name":"ceiling-checkbox",checked:o.DisplayFormat.Options.Ceiling,onChange:A=>t("Ceiling",A)}))," ",Ge.createElement(de,{label:"Absolute"},Ge.createElement(Ne,{"data-name":"abs-checkbox",checked:o.DisplayFormat.Options.Abs,onChange:A=>t("Abs",A)}))),Ge.createElement(Ke,null,Ge.createElement(de,{label:"Fraction Digits"},Ge.createElement(mt,{"data-name":"fraction-digits",type:"number",min:"0",value:typeof o.DisplayFormat.Options.FractionDigits=="number"?o.DisplayFormat.Options.FractionDigits:"",onChange:A=>t("FractionDigits",nt.IsNumeric(A.currentTarget.value)?(0,lee.default)(Number(A.currentTarget.value),0,20):void 0)})),Ge.createElement(de,{label:"Integer Digits"},Ge.createElement(mt,{"data-name":"integer-digits",type:"number",min:"0",value:o.DisplayFormat.Options.IntegerDigits,onChange:A=>t("IntegerDigits",nt.IsNumeric(A.currentTarget.value)?(0,lee.default)(Number(A.currentTarget.value),0,20):void 0)})),Ge.createElement(de,{label:"Multiplier"},Ge.createElement(mt,{"data-name":"multiplier",type:"number",value:o.DisplayFormat.Options.Multiplier,onChange:A=>t("Multiplier",Number(A.currentTarget.value))}))," ",Ge.createElement(de,{label:"Content"},Ge.createElement(mt,{"data-name":"content",value:(x=o.DisplayFormat.Options.Content)!=null?x:"",onChange:A=>t("Content",A.currentTarget.value)}))," ",Ge.createElement(de,{label:"Parentheses"},Ge.createElement(Ne,{"data-name":"parentheses-checkbox",checked:o.DisplayFormat.Options.Parentheses,onChange:A=>t("Parentheses",A)})),Ge.createElement(de,{label:"Floor"},Ge.createElement(Ne,{"data-name":"floor-checkbox",checked:o.DisplayFormat.Options.Floor,onChange:A=>t("Floor",A)})),Ge.createElement(de,{label:"Round"},Ge.createElement(Ne,{"data-name":"round-checkbox",checked:o.DisplayFormat.Options.Round,onChange:A=>t("Round",A)})))))),n.length>0&&Ge.createElement(J,{marginTop:2,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Custom Formats"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Flex,{flexDirection:"row"},Ge.createElement(Ke,null,n.map(A=>dee(o,A,t)))))),Ge.createElement(J,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Presets"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Text,{padding:2,fontSize:2},"Select a preset for common use cases"),Ge.createElement(Gu.Flex,{flexDirection:"row"},Ge.createElement(Ke,{margin:2},Ge.createElement(de,{label:"Show As:"},Ge.createElement(Xe,{"data-name":"preset-percentage",marginLeft:2,checked:c,onChange:()=>i()},"Percentage"),Ge.createElement(Xe,{"data-name":"preset-thousand",marginLeft:3,checked:p,onChange:()=>a()},"K (Thousand)"),Ge.createElement(Xe,{"data-name":"preset-million",marginLeft:3,checked:m,onChange:()=>s()},"M (Million)"),Ge.createElement(Xe,{"data-name":"preset-dollar",marginLeft:3,checked:h,onChange:()=>l()},"Dollar"),Ge.createElement(Xe,{"data-name":"preset-sterling",marginLeft:3,checked:C,onChange:()=>u()},"Sterling")))))),Ge.createElement(J,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Examples"),Ge.createElement(J.Content,null,Ge.createElement(Ga,{style:{fontWeight:"bold"},colItems:[{Content:"Raw Number",Size:1},{Content:"Formatted Number",Size:1}]}),Ge.createElement(Ga,{colItems:[{Content:"12345.6789",Size:1},{Content:Ia.NumberFormatter(12345.6789,o.DisplayFormat.Options),Size:1}]}),Ge.createElement(Ga,{colItems:[{Content:"-12345.6789",Size:1},{Content:Ia.NumberFormatter(-12345.6789,o.DisplayFormat.Options),Size:1}]}),Ge.createElement(Ga,{colItems:[{Content:"0.123",Size:1},{Content:Ia.NumberFormatter(.123,o.DisplayFormat.Options),Size:1}]}))))},jFt=(o,e,t,n,r)=>{var i,a,s;return o.DisplayFormat.Formatter!=="StringFormatter"?null:Ge.createElement(Gu.Box,{"data-name":"format-column-display-format",padding:2},Ge.createElement(J,null,Ge.createElement(J.Tab,null,"Format"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Flex,{flexDirection:"column"},Ge.createElement(Ke,{mr:3},Ge.createElement(de,{label:"Case:"},Ge.createElement(Gu.Flex,null,Ge.createElement(TA,null,Ge.createElement(Lu,{pressed:o.DisplayFormat.Options.Case==="Upper",onPressedChange:l=>t("Case",l?"Upper":void 0),icon:"case-upper"}),Ge.createElement(Lu,{pressed:o.DisplayFormat.Options.Case==="Lower",onPressedChange:l=>t("Case",l?"Lower":void 0),icon:"case-lower"}),Ge.createElement(Lu,{pressed:o.DisplayFormat.Options.Case==="Sentence",onPressedChange:l=>t("Case",l?"Sentence":void 0),icon:"case-sentence"})),Ge.createElement(Ne,{"data-name":"trim-checkbox",marginLeft:5,checked:o.DisplayFormat.Options.Trim,onChange:l=>t("Trim",l)},"Trim"))),Ge.createElement(de,{label:"Prefix"},Ge.createElement(mt,{"data-name":"prefix",value:(i=o.DisplayFormat.Options.Prefix)!=null?i:"",onChange:l=>t("Prefix",l.currentTarget.value)})),Ge.createElement(de,{label:"Suffix"},Ge.createElement(mt,{"data-name":"suffix",value:(a=o.DisplayFormat.Options.Suffix)!=null?a:"",onChange:l=>t("Suffix",l.currentTarget.value)})),Ge.createElement(de,{label:"Content"},Ge.createElement(mt,{"data-name":"content",value:(s=o.DisplayFormat.Options.Content)!=null?s:"",onChange:l=>t("Content",l.currentTarget.value)})),Ge.createElement(de,{label:"Empty"},Ge.createElement(Ne,{"data-name":"empty-checkbox",checked:o.DisplayFormat.Options.Empty,onChange:l=>t("Empty",l)})))))),n.length>0&&Ge.createElement(J,{marginTop:2,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Custom Formats"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Flex,{flexDirection:"column"},Ge.createElement(Ke,{mr:3},n.map(l=>dee(o,l,t)))))),Ge.createElement(J,{marginTop:2,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Example"),Ge.createElement(J.Content,null,Ge.createElement(Ga,{style:{fontWeight:"bold"},colItems:[{Content:"Raw String",Size:1},{Content:"Formatted String",Size:1}]}),Ge.createElement(Ga,{colItems:[{Content:'"Hello World "',Size:1},{Content:'"'+Ia.StringFormatter("Hello World ",o.DisplayFormat.Options)+'"',Size:1}]}))))},a_e=o=>{var u;let{data:e}=ke(),t=pe(),n=t.api.formatColumnApi,r=(u=t.api.optionsApi.getFormatColumnOptions().customDisplayFormatters)!=null?u:[],i=c=>{o.onChange(S(S({},e),c))},a=(c,p)=>{let m=S({},e.DisplayFormat);m.Options=T(S({},m.Options),{[c]:p}),i({DisplayFormat:m})},s=e.DisplayFormat&&e.DisplayFormat.Formatter,l=r.filter(c=>t.api.scopeApi.isScopeInScope(e.Scope,c.scope));return s==="NumberFormatter"?zFt(e,i,a,l,n):s==="DateFormatter"?WFt(e,i,a,l):s==="StringFormatter"?jFt(e,i,a,l,n):Ge.createElement(Qt,{margin:3},"Setting a Display Format is only possible if ",Ge.createElement("b",null,"all")," the columns in Scope are Numeric, String or Date.")};d();var Wa=I(require("react")),lb=I(Ce());var s_e=o=>{var e;return Wa.createElement(lb.Box,{padding:2},Wa.createElement(lb.Text,null,"Cell alignment ",Wa.createElement(rt,null,(e=o.CellAlignment)!=null?e:"default")),Wa.createElement(lb.Text,{mt:3},"Include grouped rows ",Wa.createElement(rt,null,o.IncludeGroupedRows?"yes":"no")))},l_e=o=>{let{data:e}=ke(),t=r=>{let i=T(S({},e),{CellAlignment:r});r===null&&delete i.CellAlignment,o.onChange(i)},n=r=>{o.onChange(T(S({},e),{IncludeGroupedRows:r}))};return Wa.createElement(J,null,Wa.createElement(J.Tab,null,"Settings"),Wa.createElement(J.Content,null,Wa.createElement(lb.Flex,{flexDirection:"row"},Wa.createElement(Ke,null,Wa.createElement(de,{label:"Cell Alignment"},Wa.createElement(TA,null,Wa.createElement(Lu,{icon:"align-left",pressed:e.CellAlignment==="Left",onPressedChange:r=>t(r?"Left":null)}),Wa.createElement(Lu,{icon:"align-center",pressed:e.CellAlignment==="Center",onPressedChange:r=>t(r?"Center":null)}),Wa.createElement(Lu,{icon:"align-right",pressed:e.CellAlignment==="Right",onPressedChange:r=>t(r?"Right":null)}))),Wa.createElement(de,{label:"Include Grouped Rows:"},Wa.createElement(lb.Flex,{alignItems:"center",marginLeft:2},Wa.createElement(Ne,{"data-name":"include-grouped-rows-checkbox",checked:e.IncludeGroupedRows,onChange:n,mr:2})))))))};d();var jc=I(require("react"));function u_e(o){let{data:e,api:t,moduleInfo:n}=ke();return jc.createElement(ab,{module:n.ModuleName,defaultPredicateId:o.defaultPredicateId,predicateDefs:t.formatColumnApi.internalApi.getFormatColumnDefsForScope(e.Scope),getPredicateDefsForColId:r=>t.formatColumnApi.internalApi.getFormatColumnDefsForScope({ColumnIds:[r]}),showNoRule:!0,showBoolean:!0,showAggregation:!1,showObservable:!1,showPredicate:!t.scopeApi.scopeIsAll(e.Scope),data:e,onChange:r=>o.onChange(r),descriptions:{selectPredicate:"Create a Format Column Rule - to be applied when data changes",useBooleanQuery:jc.createElement(jc.Fragment,null,"Use an BooleanQuery if ",jc.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:jc.createElement(jc.Fragment,null,"Use an ObservableQuery if ",jc.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:jc.createElement(jc.Fragment,null,"Use an AggregatedBooleanQuery if ",jc.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")}})}var KFt=(o,e)=>{o=S({},o);let t=i_e(o.Scope,e);return!t&&o.DisplayFormat&&(o.DisplayFormat=void 0),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="NumberFormatter")&&t==="Number"&&(o.DisplayFormat={Formatter:"NumberFormatter",Options:{}}),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="DateFormatter")&&t==="Date"&&(o.DisplayFormat={Formatter:"DateFormatter",Options:{}}),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="StringFormatter")&&t==="String"&&(o.DisplayFormat={Formatter:"StringFormatter",Options:{}}),o},d_e=(o,e)=>(o=KFt(o,e),o);function k3(o){var l,u;let{api:e}=pe(),t=(u=o.data)!=null?u:(l=o.popupParams)==null?void 0:l.value,[n,r]=(0,c_e.useState)(()=>{var p,m,h,C;let c=t?zo(t):it.CreateEmptyFormatColumn();return c.Scope=(p=c.Scope)!=null?p:{ColumnIds:[]},((m=o.popupParams)==null?void 0:m.action)==="New"&&((h=o.popupParams)==null?void 0:h.column)&&(c.Scope={ColumnIds:[(C=o.popupParams)==null?void 0:C.column.columnId]}),c=d_e(c,e),c}),i=bl.useCallback(c=>{r(d_e(c,e))},[]),a=yt(),s=()=>{a(t?lh(n):XC(n)),o.onFinishWizard(n)};return bl.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:n,onHide:o.onCloseWizard,onFinish:s,sections:[{title:"Scope",details:"Select which Columns will be formatted",isValid:Bh,renderSummary:KLe,render:()=>bl.createElement(HA.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},bl.createElement(QLe,{onChange:i}))},{isValid:(c,p,m)=>c.Rule?sb(c,p,m):!0,title:"Condition",details:"Build a Rule when the Format Column should be applied",render:()=>bl.createElement(u_e,{onChange:i,defaultPredicateId:_3})},{title:"Style",details:"Create a Style for the Format Column",isValid:qLe,renderSummary:YLe,render:()=>bl.createElement(HA.Box,{padding:2},bl.createElement(XLe,{onChange:i}))},{title:"Display Format",renderSummary:c=>r_e(c),render:()=>bl.createElement(a_e,{onChange:i})},{title:"Settings",renderSummary:s_e,render:()=>bl.createElement(HA.Box,{padding:2},bl.createElement(l_e,{onChange:i}))},{details:"Select Format Column Tags",title:"Tags",isVisible:(c,p)=>p.internalApi.shouldDisplayTagSections(),render:()=>bl.createElement(HA.Box,{padding:2},bl.createElement(Pr,{onChange:i})),renderSummary:Dr},"-",{details:"Review the Format Column",render:()=>bl.createElement(HA.Box,{padding:2},bl.createElement(Ir,null)),title:"Summary"}]})}var cee=class extends fg.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.FormatColumns.find(n=>n.Uuid==t.Uuid)?this.props.onEditFormatColumn(t):this.props.onAddFormatColumn(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Rn.getEmptyConfigState()}render(){let[t]=this.props.api.formatColumnApi.getFormatColumnsForColumn(this.props.summarisedColumn),n=t==null,r;return n?r=fg.createElement(Mh,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Format Column Set",onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}):r=fg.createElement(Gc,{key:this.props.moduleInfo.FriendlyName,item1:fg.createElement(Vc,{moduleInfo:this.props.moduleInfo}),item2:fg.createElement(GA,{Style:t.Style}),configEnity:t,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),onShare:i=>this.props.onShare(t,i),onDelete:qE(t),showBold:!0,accessLevel:this.props.accessLevel}),fg.createElement("div",null,r,this.state.editedAdaptableObject&&fg.createElement(k3,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FormatColumns,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:this.onCloseWizard,onFinishWizard:this.onFinishWizard}))}onNew(){let t=jo.CreateEmptyFormatColumn();t.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){let n=qo.cloneObject(t);this.setState({editedAdaptableObject:n,wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){var t;(t=this==null?void 0:this.setState)==null||t.call(this,{editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return t.Scope!=null&&Rn.IsNotEmptyStyle(t.Style)}};function QFt(o,e){return{FormatColumns:o.FormatColumn.FormatColumns}}function $Ft(o){return{onAddFormatColumn:e=>o(XC(e)),onEditFormatColumn:e=>o(lh(e)),onShare:(e,t)=>o(Tc(e,Ui,t))}}var p_e=bt(QFt,$Ft)(cee);d();var JT=I(require("react"));d();var cm=I(require("react")),u0=I(Ce());var F_e=require("react");d();var za=I(require("react")),m_e=require("react"),ZT=I(Ce());var h_e=o=>{let{api:e}=ke();return za.createElement(ZT.Box,{fontSize:2},"Column scalar expression:"," ",za.createElement(La,null,e.internalApi.getAdaptableQueryExpressionText(o.Query)))},f_e=(o,e)=>{var i;let t=e.internalApi.getCalculatedColumnExpressionService();return((i=e.expressionApi.getAdaptableQueryExpression(o.Query))==null?void 0:i.trim())?t.isCalculatedColumnQueryValid(o.Query)?!0:"Calculated column expression is not valid":"Calculated column expression cannot be empty"},B3=o=>{let a=o,{type:e,label:t,disabled:n=!1}=a,r=ut(a,["type","label","disabled"]),i=za.createElement(ZT.Flex,{flexDirection:"column"},t," ",za.createElement(ZT.Text,{fontSize:2},"query"));return za.createElement(J.Tab,S({style:{flex:1}},r),n?i:za.createElement(Xe,{tabIndex:-1,margin:0,checked:e===o.value,style:{alignItems:"baseline"}},i))};B3.defaultProps={isTabsTab:!0};var g_e=o=>{let{api:e,data:t,moduleInfo:n}=ke(),r=(0,m_e.useMemo)(()=>e.internalApi.getQueryPreviewData(),[]),[i,a]=za.useState(()=>t.Query.AggregatedScalarExpression==null?"ScalarExpression":e.internalApi.getQueryLanguageService().isCumulativeAggregate(t.Query.AggregatedScalarExpression)?"CumulativeAggregateExpression":"AggregatedScalarExpression"),s=u=>{a(u),u==="ScalarExpression"?o.onChange(T(S({},t),{Query:{ScalarExpression:""}})):o.onChange(T(S({},t),{Query:{AggregatedScalarExpression:""}}))},l=u=>{let p=e.internalApi.getCalculatedColumnExpressionService().getCalculatedColumnDataType(u);o.onChange(T(S({},t),{Query:u,CalculatedColumnSettings:T(S({},t.CalculatedColumnSettings),{DataType:p})}))};return za.createElement(J,{onValueChange:s,value:i,p:2,style:{height:"100%",flex:1,overflow:"auto"}},za.createElement(B3,{value:"ScalarExpression",type:i,label:"Scalar"}),za.createElement(J.Content,{value:"ScalarExpression"},za.createElement(Nu,{type:"scalar",module:n.ModuleName,style:{paddingLeft:0},value:t.Query.ScalarExpression,onChange:u=>l({ScalarExpression:u}),initialData:r,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})),za.createElement(B3,{value:"AggregatedScalarExpression",type:i,label:"Aggregated Scalar"}),za.createElement(J.Content,{value:"AggregatedScalarExpression"},za.createElement(Nu,{type:"aggregatedScalar",module:n.ModuleName,style:{paddingLeft:0},value:t.Query.AggregatedScalarExpression,onChange:u=>l({AggregatedScalarExpression:u}),initialData:r,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})),za.createElement(B3,{value:"CumulativeAggregateExpression",type:i,label:"Cumulative"}),za.createElement(J.Content,{value:"CumulativeAggregateExpression"},za.createElement(Nu,{type:"cumulativeAggregatedScalar",module:n.ModuleName,style:{paddingLeft:0},value:t.Query.AggregatedScalarExpression,onChange:u=>l({AggregatedScalarExpression:u}),initialData:r,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})))};d();var zi=I(require("react")),C_e=require("react"),UA=I(Ce());var y_e=o=>{var e;return zi.createElement(UA.Box,{fontSize:2},zi.createElement(UA.Box,null,"Column Identifier: ",zi.createElement(rt,null,o.ColumnId)),o.FriendlyName?zi.createElement(UA.Box,{mt:3},"Column Name: ",zi.createElement(rt,null,(e=o.FriendlyName)!=null?e:o.ColumnId)):null)},pee=(o,e)=>{let t=e.columnApi.getColumns();if(!o.ColumnId)return"Column Id cannot be empty";let n=t.filter(i=>i.columnId===o.ColumnId).length;return(o.Uuid?n>1:n>0)?"A Column already exists with that id":!0},b_e=o=>{var y;let{data:e,api:t}=ke(),n=v=>{let x=v.target;o.onChange(T(S({},e),{ColumnId:x.value}))},r=v=>{let x=v.target;o.onChange(T(S({},e),{FriendlyName:x.value}))},i=o.isEdit,a=pee(e,t),s=a===!0?null:a,[l,u]=(0,C_e.useState)(!1),c=e.FriendlyName,p=e.ColumnId,{ShowToolTip:m,HeaderToolTip:h}=(y=e.CalculatedColumnSettings)!=null?y:{},C=v=>{o.onChange(T(S({},e),{CalculatedColumnSettings:S(S({},e.CalculatedColumnSettings),v)}))};return zi.createElement(UA.Box,{"data-name":"calculated-column-definition"},zi.createElement(J,{autoFocus:!1},zi.createElement(J.Tab,null,"Column Details"),zi.createElement(J.Content,null,zi.createElement(UA.Flex,{flexDirection:"row"},zi.createElement(Ke,null,zi.createElement(de,{label:"Column Id"},zi.createElement(mt,{"data-name":"column-id",value:e.ColumnId||"",width:300,autoFocus:!i,disabled:i,type:"text",placeholder:"Enter an Id for the column",onChange:n})),zi.createElement(de,{label:"Name"},zi.createElement(mt,{"data-name":"column-name",autoFocus:i,onFocus:()=>{u(!0)},onBlur:()=>{u(!1)},value:l?c||"":c||p||"",width:300,type:"text",placeholder:"Enter column name",onChange:r})),zi.createElement(de,{label:"Header Tooltip"},zi.createElement(mt,{"data-name":"header-tooltip",type:"text",width:300,value:h,onChange:v=>C({HeaderToolTip:v.target.value})}))," ",zi.createElement(de,{label:""},zi.createElement(Ne,{"data-name":"column-show-tooltip",onChange:v=>C({ShowToolTip:v}),checked:m},"Show Expression as Cell Tooltip")))))),s?zi.createElement(_s,{marginTop:2},s):null)};d();var zs=I(require("react")),P_e=require("react"),l0=I(Ce());d();var T_e=I(w_e()),ir=I(require("react")),I_e=I(Ce());var V3=o=>{var h,C;let e=pe(),t=e.api.optionsApi.getColumnOptions().columnTypes,{Filterable:n,Resizable:r,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:l,SuppressMenu:u,SuppressMovable:c}=(h=o.settings)!=null?h:{},p=(y,v)=>{var A,R,w;let x=(R=(A=o.settings)==null?void 0:A.ColumnTypes)!=null?R:[];v?o.onChange(T(S({},o.settings),{ColumnTypes:[...x,y]})):o.onChange(T(S({},o.settings),{ColumnTypes:(w=x==null?void 0:x.filter)==null?void 0:w.call(x,P=>P!==y)}))},m=y=>{o.onChange(S(S({},o.settings),y))};return ir.createElement(ir.Fragment,null,ir.createElement(J,{marginTop:2,autoFocus:!1},ir.createElement(J.Tab,null,"Column Properties"),ir.createElement(J.Content,null,ir.createElement(I_e.Flex,{flexDirection:"column"},ir.createElement(Ke,{style:{width:"100%"},columns:[{name:"first",size:"30%"},{size:"30%",name:"second"},{size:"30%",name:"third"}]},ir.createElement(de,null,ir.createElement(Ne,{"data-name":"filterable",checked:n,onChange:y=>m({Filterable:y}),disabled:!e.api.optionsApi.getFilterOptions().enableFilterOnSpecialColumns},"Filterable"),ir.createElement(Ne,{"data-name":"resizable",checked:r,onChange:y=>m({Resizable:y})},"Resizable"),ir.createElement(Ne,{"data-name":"groupable",checked:i,onChange:y=>m({Groupable:y})},"Groupable")),ir.createElement(de,null,ir.createElement(Ne,{"data-name":"sortable",checked:a,onChange:y=>m({Sortable:y})},"Sortable"),ir.createElement(Ne,{"data-name":"pivotable",checked:s,onChange:y=>m({Pivotable:y})},"Pivotable"),ir.createElement(Ne,{"data-name":"aggregatable",checked:l,onChange:y=>m({Aggregatable:y})},"Aggregatable")),ir.createElement(de,null,ir.createElement(Ne,{"data-name":"suppres-smenu",checked:u,onChange:y=>m({SuppressMenu:y})},"Suppress Menu"),ir.createElement(Ne,{"data-name":"suppres-movable",checked:c,onChange:y=>m({SuppressMovable:y})},"Suppress Movable"),ir.createElement(Ne,{disabled:!0,checked:o.isEditable},"Editable")))))),Boolean(t==null?void 0:t.length)&&ir.createElement(J,{marginTop:2,autoFocus:!1},ir.createElement(J.Tab,null,"Column Types"),ir.createElement(J.Content,null,ir.createElement(Ke,{columns:[{name:"first",size:"30%"},{name:"second"}]},(C=(0,T_e.default)(t!=null?t:[],2))==null?void 0:C.map(([y,v])=>{var x,A,R,w,P,D;return ir.createElement(de,{key:y},y&&ir.createElement(Ne,{"data-name":y,onChange:F=>p(y,F),checked:(R=(A=(x=o.settings)==null?void 0:x.ColumnTypes)==null?void 0:A.includes)==null?void 0:R.call(A,y)},y),v&&ir.createElement(Ne,{"data-name":v,onChange:F=>p(v,F),checked:(D=(P=(w=o.settings)==null?void 0:w.ColumnTypes)==null?void 0:P.includes)==null?void 0:D.call(P,v)},v))})))))};d();var G3=o=>{let{DataType:e,Width:t,Filterable:n,Resizable:r,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:l}=o!=null?o:{},u=o!=null&&o.ColumnTypes?o.ColumnTypes.join(", "):"";return[e?`DataType: ${e}`:null,t?`Width: ${t}px`:null,s?"Pivotable":null,n?"Filterable":null,r?"Resizable":null,i?"Groupable":null,a?"Sortable":null,l?"Aggregatable":null,u?`Column Types: ${u}`:null].filter(Boolean)};var D_e=o=>{let e=G3(o.CalculatedColumnSettings);return zs.createElement(l0.Box,{fontSize:2},zs.createElement(Va,{toLabel:t=>t,toIdentifier:t=>t,readOnly:!0,options:e,value:e}))},mee=o=>{var e;return(e=o.CalculatedColumnSettings)!=null&&e.DataType?!0:"No data type is specified and it could not be inferred from the defined expression"},O_e=o=>{var p,m;let{data:e,api:t}=ke(),n=(0,P_e.useMemo)(()=>t.internalApi.getCalculatedColumnExpressionService(),[]),r=h=>{var y;let C=h=="Number"?(y=e.CalculatedColumnSettings)==null?void 0:y.Aggregatable:!1;o.onChange(T(S({},e),{CalculatedColumnSettings:T(S({},e.CalculatedColumnSettings),{DataType:h,Aggregatable:C})}))},i=mee(e),a=i===!0?null:i,s=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],{DataType:l}=(p=e.CalculatedColumnSettings)!=null?p:{},{Width:u}=(m=e.CalculatedColumnSettings)!=null?m:{},c=h=>{o.onChange(T(S({},e),{CalculatedColumnSettings:S(S({},e.CalculatedColumnSettings),h)}))};return zs.useEffect(()=>{if(!l){let h=n.getCalculatedColumnDataType(e.Query);c(T(S({},e==null?void 0:e.CalculatedColumnSettings),{DataType:h}))}},[]),zs.createElement(l0.Box,{"data-name":"calculated-column-settings"},zs.createElement(J,{autoFocus:!1},zs.createElement(J.Tab,null,"Column Settings"),zs.createElement(J.Content,null,zs.createElement(l0.Flex,{flexDirection:"row"},zs.createElement(Ke,null,zs.createElement(de,{label:"Data Type"},zs.createElement(Qe,{"data-name":"column-type",style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!0,onClear:()=>r(null),columns:["label"],items:s.map(h=>({value:h.value,label:h.label,onClick:()=>r(h.value)}))},l||"Select Data Type")),zs.createElement(de,{label:"Width"},zs.createElement(mt,{"data-name":"column-width",type:"number",width:300,value:u||"",onChange:h=>c({Width:Number(h.target.value)})})))))),a?zs.createElement(_s,{marginTop:2},a):null,zs.createElement(V3,{isEditable:!1,settings:e.CalculatedColumnSettings,onChange:c}))};var H3=o=>{var l;let e=pe(),t=_t(u=>u.CalculatedColumn.CalculatedColumns),[n,r]=(0,F_e.useState)(()=>{var u;if(o.data)return zo(o.data);if((u=o.popupParams)!=null&&u.column){let c=t.find(p=>p.ColumnId===o.popupParams.column.columnId);if(c)return c}return it.CreateEmptyCalculatedColumn()}),i=yt(),a=Boolean(o.data)||((l=o.popupParams)==null?void 0:l.action)==="Edit",s=()=>{i(a?zC(n):FE(n)),o.onCloseWizard()};return cm.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:n,onHide:o.onCloseWizard,onFinish:s,sections:[{title:"Definition",details:"Specify Column details",isValid:pee,renderSummary:y_e,render:()=>cm.createElement(u0.Box,{padding:2},cm.createElement(b_e,{isEdit:a,onChange:r}))},{title:"Expression",details:"Specify the Calculated Column Expression",isValid:f_e,renderSummary:h_e,render:()=>cm.createElement(g_e,{onChange:r})},{title:"Settings",details:"Specify Column properties",isValid:mee,renderSummary:D_e,render:()=>cm.createElement(u0.Box,{padding:2},cm.createElement(O_e,{isEdit:a,onChange:r}))},{details:"Select Calculated Column Tags",title:"Tags",isVisible:()=>e.api.internalApi.shouldDisplayTagSections(),render:()=>cm.createElement(u0.Box,{padding:2},cm.createElement(Pr,{onChange:r})),renderSummary:Dr},"-",{render:()=>cm.createElement(u0.Box,{padding:2},cm.createElement(Ir,null)),title:"Summary"}]})};var hee=class extends JT.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.onEdit(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Rn.getEmptyConfigState()}render(){let t;return this.props.CalculatedColumns.map((n,r)=>{n.ColumnId==this.props.summarisedColumn.columnId&&(t=JT.createElement(Gc,{key:"UF"+r,item1:this.props.moduleInfo.FriendlyName,item2:this.props.api.internalApi.getAdaptableQueryExpressionText(n.Query),configEnity:n,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(n),onShare:i=>this.props.onShare(n,i),onDelete:ME(n),showBold:!0,accessLevel:this.props.accessLevel}))}),JT.createElement("div",null,t,this.state.editedAdaptableObject&&JT.createElement(H3,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CalculatedColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onEdit(t){this.setState({editedAdaptableObject:qo.cloneObject(t),wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}};function aMt(o){return{CalculatedColumns:o.CalculatedColumn.CalculatedColumns}}function sMt(o){return{onEdit:e=>o(zC(e))}}var M_e=bt(aMt,sMt)(hee);d();var WA=I(require("react"));var zA=class extends WA.Component{render(){var s;let e=pt.sortArrayWithProperty("Asc",this.props.ColumnList,"friendlyName"),t=this.props.SelectedColumnIds.filter(l=>ct.IsNotNullOrEmpty(l)),n=ct.IsNotNullOrEmpty(this.props.placeHolder)?this.props.placeHolder.toString():this.props.SelectionMode=="Single"?"Select a column":"Select columns",r=this.props.SelectedColumnIds.filter(l=>ct.IsNotNullOrEmpty(l)).length==0,i=e.map(l=>({label:l.friendlyName,value:l.columnId,disabled:this.props.disabled,onClick:()=>{let u=e.filter(c=>c.columnId===l.columnId);u.length?this.onColumnChange(u,r):this.onClearButton()}})),a=t.length>0?(s=this.props.ColumnList.find(l=>l.columnId==t[0]))==null?void 0:s.friendlyName:"Select a column";return WA.createElement("div",{"data-name":"column-selector"},WA.createElement(Ke,{columns:[{name:"columnSelector",style:{display:"flex"}}],style:this.props.style},WA.createElement(de,null,WA.createElement(Qe,{marginRight:2,columns:["label"],showClearButton:a!="Select a column",onClear:()=>this.onClearButton(),style:{width:"100%",fontSize:"small"},className:"ab-DashboardToolbar__Layout__select",items:i,disabled:this.props.disabled||i.length==0},a))))}onClearButton(){this.props.onColumnChange([])}onColumnChange(e,t){e.length==0&&t||this.props.onColumnChange(e)}};d();var jA=I(require("react"));d();var db=I(require("react")),B_e=require("react"),U3=I(Ce());d();var vn=I(require("react")),L_e=require("react"),ub=I(Ce());var lMt=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],__e=o=>{var e;return vn.createElement(ub.Box,{fontSize:2},vn.createElement(ub.Box,null,"Column Identifier: ",vn.createElement(rt,null,o.ColumnId)),o.FriendlyName?vn.createElement(ub.Box,{mt:3},"Column Name: ",vn.createElement(rt,null,(e=o.FriendlyName)!=null?e:o.ColumnId)):null,vn.createElement(ub.Box,{mt:3},"Data Type: ",vn.createElement(rt,null,o.FreeTextColumnSettings.DataType)),o.DefaultValue!==void 0?vn.createElement(ub.Box,{mt:3},"Default Value: ",vn.createElement(rt,null,o.DefaultValue)):null,o.TextEditor!==void 0?vn.createElement(ub.Box,{mt:3},"Editor Type: ",vn.createElement(rt,null,o.TextEditor)):null)},fee=(o,e)=>{let t=e.columnApi.getColumns();if(!o.ColumnId)return"Column Id cannot be empty";let n=t.filter(i=>i.columnId===o.ColumnId).length;return(o.Uuid?n>1:n>0)?"A Column already exists with that id":o.FreeTextColumnSettings.DataType?!0:"No data type specified for column"},k_e=o=>{var y;let{data:e,api:t}=ke(),n=t.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat,[r,i]=(0,L_e.useState)(!1),a=o.isEdit,s=fee(e,t),l=s===!0?null:s,u=v=>{let A=v.target.value;o.onChange(T(S({},e),{ColumnId:A}))},c=v=>{let A=v.target.value;o.onChange(T(S({},e),{FriendlyName:A}))},p=v=>{var A;let x=T(S({},e),{FreeTextColumnSettings:T(S({},e.FreeTextColumnSettings),{DataType:v})});delete x.DefaultValue,v||(A=x.FreeTextColumnSettings)==null||delete A.DataType,o.onChange(x)},m=v=>{let A=v.target.value;o.onChange(T(S({},e),{TextEditor:A}))},h=v=>{let A=v.target.value;e.FreeTextColumnSettings.DataType==="Date"&&(A=aa(A,{Pattern:n})),o.onChange(T(S({},e),{DefaultValue:A}))},C=v=>{o.onChange(T(S({},e),{FreeTextColumnSettings:S(S({},e==null?void 0:e.FreeTextColumnSettings),v)}))};return vn.createElement(vn.Fragment,null,vn.createElement(Ke,null,vn.createElement(de,{label:"ColumnId"},vn.createElement(mt,{"data-name":"column-id",autoFocus:!a,value:e.ColumnId||"",style:{width:"100%",maxWidth:500},disabled:a,type:"text",placeholder:"Enter an id",onChange:v=>u(v)})),vn.createElement(de,{label:"Column Name"},vn.createElement(mt,{"data-name":"column-name",autoFocus:a,onFocus:()=>{i(!0)},onBlur:()=>{i(!1)},value:r?e.FriendlyName||"":e.FriendlyName||e.ColumnId||"",style:{width:"100%",maxWidth:500},type:"text",placeholder:"Enter a name",onChange:v=>c(v)})),vn.createElement(de,{label:"Type"},vn.createElement(Qe,{"data-name":"column-type-dropdown",style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!!e.FreeTextColumnSettings.DataType,onClear:()=>p(null),columns:["label"],items:lMt.map(v=>({value:v.value,label:v.label,onClick:()=>p(v.value)}))},e.FreeTextColumnSettings.DataType?e.FreeTextColumnSettings.DataType:"Select Data Type")),vn.createElement(de,{label:"Default Value"},e.FreeTextColumnSettings.DataType==="Boolean"?vn.createElement(Ne,{"data-name":"column-default-value-checkbox",checked:!!e.DefaultValue,onChange:v=>{o.onChange(T(S({},e),{DefaultValue:v}))}}):vn.createElement(oo,{"data-name":"column-default-value",value:e.FreeTextColumnSettings.DataType==="Date"&&e.DefaultValue?s1(e.DefaultValue,n)||"":e.DefaultValue||"",style:{width:"100%",maxWidth:500},type:e.FreeTextColumnSettings.DataType==="Number"?"number":e.FreeTextColumnSettings.DataType==="Date"?"date":"text",placeholder:"Default Column Value (not required)",onChange:v=>h(v)})),vn.createElement(de,{label:"Header Tooltip"},vn.createElement(mt,{"data-name":"header-tooltip",type:"text",style:{width:"100%",maxWidth:500},value:((y=e.FreeTextColumnSettings)==null?void 0:y.HeaderToolTip)||"",onChange:v=>C({HeaderToolTip:v.target.value})}))," ",e.FreeTextColumnSettings.DataType=="String"&&vn.createElement(de,{label:"Editor Type"},vn.createElement(Xe,{"data-name":"inline-editor",value:"Inline",checked:e.TextEditor=="Inline",onChange:(v,x)=>m(x),marginRight:2},"Inline Editor"),vn.createElement(Xe,{"data-name":"large-editor",value:"Large",checked:e.TextEditor=="Large",onChange:(v,x)=>m(x)},"Large Editor"))),l?vn.createElement(_s,{mt:2,mb:2},l):null,vn.createElement(ub.Box,{mt:2},vn.createElement(V3,{isEditable:!0,settings:e.FreeTextColumnSettings,onChange:C})))};var W3=o=>{var s;let e=_t(l=>l.FreeTextColumn.FreeTextColumns),[t,n]=(0,B_e.useState)(()=>{var l,u;return o.data?zo(o.data):((l=o.popupParams)==null?void 0:l.action)==="Edit"&&((u=o.popupParams)==null?void 0:u.column)?e.find(c=>c.ColumnId===o.popupParams.column.columnId):it.CreateEmptyFreeTextColumn()}),r=yt(),i=o.data||((s=o.popupParams)==null?void 0:s.action)==="Edit",a=()=>{r(i?Kf(t):ZC(t)),o.onFinishWizard(t)};return db.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:a,sections:[{title:"Settings",details:"Configure the Free Text Column",isValid:fee,render:()=>db.createElement(U3.Box,{padding:2},db.createElement(k_e,{isEdit:Boolean(o.data),onChange:n}))},{details:"Select Free Text Column Tags",title:"Tags",isVisible:(l,u)=>u.internalApi.shouldDisplayTagSections(),render:()=>db.createElement(U3.Box,{padding:2},db.createElement(Pr,{onChange:n})),renderSummary:Dr},"-",{details:"Review the Free Text Column",renderSummary:__e,render:()=>db.createElement(U3.Box,{padding:2},db.createElement(Ir,null)),title:"Summary"}]})};var gee=class extends jA.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.FreeTextColumns.find(n=>n.ColumnId==t.ColumnId)?this.props.onEditFreeTextColumn(t):this.props.onAddFreeTextColumn(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Rn.getEmptyConfigState()}render(){let t=this.props.FreeTextColumns.find(i=>i.ColumnId==this.props.summarisedColumn.columnId),n=t==null,r;if(!n){let i=pt.IsNotEmpty(t.FreeTextStoredValues)?" Stored values: "+t.FreeTextStoredValues.length:"No stored values";r=jA.createElement(Gc,{key:this.props.moduleInfo.FriendlyName,item1:jA.createElement(Vc,{moduleInfo:this.props.moduleInfo}),item2:i,configEnity:t,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),onShare:a=>this.props.onShare(t,a),onDelete:ZE(t),showBold:!0,accessLevel:this.props.accessLevel})}return jA.createElement("div",null,r,this.state.editedAdaptableObject&&jA.createElement(W3,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FreeTextColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let t=jo.CreateEmptyFreeTextColumn();t.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){let n=qo.cloneObject(t);this.setState({editedAdaptableObject:n,wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return ct.IsNotNullOrEmpty(t.ColumnId)}};function uMt(o,e){return{FreeTextColumns:o.FreeTextColumn.FreeTextColumns}}function dMt(o){return{onAddFreeTextColumn:e=>o(ZC(e)),onEditFreeTextColumn:e=>o(Kf(e)),onShare:(e,t)=>o(Tc(e,Pa,t))}}var V_e=bt(uMt,dMt)(gee);var z3=class extends Wr.Component{constructor(e){super(e),this.state={SelectedColumn:e.column}}render(){let e=[{Content:"Module",Size:3},{Content:"Summary",Size:7},{Content:"",Size:2}],t=this.state.SelectedColumn?this.state.SelectedColumn.columnId:null,n=[{Key:"Column Id",Value:this.state.SelectedColumn?this.state.SelectedColumn.columnId:null},{Key:"Header",Value:this.state.SelectedColumn?this.state.SelectedColumn.friendlyName:null},{Key:"Aggregatable",Value:this.state.SelectedColumn?this.state.SelectedColumn.aggregatable:null},{Key:"DataType",Value:this.state.SelectedColumn?this.state.SelectedColumn.dataType:null},{Key:"Groupable",Value:this.state.SelectedColumn?this.state.SelectedColumn.groupable:null},{Key:"Filterable",Value:this.state.SelectedColumn?this.state.SelectedColumn.filterable:null},{Key:"Hideable",Value:this.state.SelectedColumn?this.state.SelectedColumn.hideable:null},{Key:"Editable",Value:this.state.SelectedColumn?!this.state.SelectedColumn.IsReadOnly:null},{Key:"Moveable",Value:this.state.SelectedColumn?this.state.SelectedColumn.moveable:null},{Key:"Pivotable",Value:this.state.SelectedColumn?this.state.SelectedColumn.pivotable:null},{Key:"Queryable",Value:this.state.SelectedColumn?this.state.SelectedColumn.queryable:null},{Key:"Sortable",Value:this.state.SelectedColumn?this.state.SelectedColumn.sortable:null},{Key:"Visible",Value:this.state.SelectedColumn?this.state.SelectedColumn.visible:null},{Key:"Grouped",Value:this.state.SelectedColumn?this.state.SelectedColumn.isGrouped:null}].map(s=>({Key:s.Key,Value:s.Value===!0?"Yes":s.Value})).filter(s=>s.Value),r={Key:{field:"Key",header:"Property",defaultFlex:1},Value:{field:"Value",header:"Value",defaultFlex:3}},i=this.props.api.internalApi.getModuleService(),a=[];return this.state.SelectedColumn&&(this.isModuleAvailable(ls)&&a.push(Wr.createElement("div",{key:ls,className:this.isModuleReadOnly(ls)?Ai:""},Wr.createElement(PLe,{key:ls,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(ls),api:this.props.api,moduleInfo:i.getModuleInfoByModule(ls)}))),this.isModuleAvailable(wi)&&a.push(Wr.createElement("div",{key:wi,className:this.isModuleReadOnly(wi)?Ai:""},Wr.createElement(DLe,{key:wi,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(wi),api:this.props.api,moduleInfo:i.getModuleInfoByModule(wi)}))),this.isModuleAvailable(Ui)&&a.push(Wr.createElement("div",{key:Ui,className:this.isModuleReadOnly(Ui)?Ai:""},Wr.createElement(p_e,{key:Ui,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Ui),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Ui)}))),this.isModuleAvailable(Pa)&&a.push(Wr.createElement("div",{key:Pa,className:this.isModuleReadOnly(Pa)?Ai:""},Wr.createElement(V_e,{key:Pa,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Pa),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Pa)}))),this.isModuleAvailable(di)&&this.state.SelectedColumn.dataType=="Number"&&a.push(Wr.createElement("div",{key:di,className:this.isModuleReadOnly(di)?Ai:""},Wr.createElement(zLe,{key:di,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(di),api:this.props.api,moduleInfo:i.getModuleInfoByModule(di)}))),this.isModuleAvailable(Ei)&&pt.ContainsItem(this.props.api.calculatedColumnApi.getCalculatedColumns().map(s=>s.ColumnId),this.state.SelectedColumn.columnId)&&a.push(Wr.createElement("div",{key:Ei,className:this.isModuleReadOnly(Ei)?Ai:""},Wr.createElement(M_e,{key:Ei,summarisedColumn:this.state.SelectedColumn,accessLevel:this.getAccessLevel(Ei),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Ei)})))),Wr.createElement(Sn,{flex:1,header:"Column Info",margin:2,"data-name":"column-component"},Wr.createElement(KA.Flex,{height:"100%",flexDirection:"column"},Wr.createElement(KA.Flex,{flexDirection:"row",alignItems:"center",marginBottom:2},Wr.createElement(KA.Box,{flex:1,marginLeft:2},Wr.createElement(zA,{SelectedColumnIds:[t],ColumnList:this.props.api.columnApi.getColumns(),onColumnChange:s=>this.onColumnSelectedChanged(s),SelectionMode:"Single"}))),Wr.createElement(KA.Flex,{flex:1,style:{overflow:"auto",width:"100%"}},this.state.SelectedColumn&&Wr.createElement(qy,{style:{width:"100%"},colItems:e,items:a})),Wr.createElement(KA.Box,{flex:1,mt:2},this.state.SelectedColumn&&Wr.createElement(da,{data:n,primaryKey:"Key"},Wr.createElement(mi,{domProps:{style:{height:"100%"}},columns:r})))))}onColumnSelectedChanged(e){this.setState({SelectedColumn:e.length>0?e[0]:null})}isModuleAvailable(e){return this.props.api.internalApi.getModuleService().getModuleById(e).isModuleAvailable()}isModuleReadOnly(e){return this.getAccessLevel(e)=="ReadOnly"}getAccessLevel(e){return this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(e)}};d();var Uu=I(require("react")),oI=require("react");d();var Hu=I(require("react"));var QA=I(Ce());var cb=class extends Hu.Component{render(){let{buttonContent:e}=this.props,t=Rd[this.props.glyphicon],n=Hu.createElement(QA.Flex,{alignItems:"center",width:"100%"},Hu.createElement(QA.Flex,{alignItems:"center"},this.props.glyphicon!=null&&(t?Hu.createElement(t,null):null),Hu.createElement(QA.Box,{marginRight:2,"data-name":"space-before"}),this.props.headerText,Hu.createElement(QA.Box,{marginRight:2,"data-name":"space-after"}),this.props.infoLink!=null&&!this.props.infoLinkDisabled&&Hu.createElement(Pu,{onClick:()=>window.open(this.props.infoLink,"_blank")})),Hu.createElement(QA.Box,{style:{flex:1}}),e?Hu.createElement(ue,{variant:"raised",tone:"accent",disabled:this.props.buttonDisabled,onClick:()=>this.props.buttonClick?this.props.buttonClick():null},e):null,this.props.button?Hu.cloneElement(this.props.button):null);return Hu.createElement(Sn,{flex:1,className:this.props.className,bodyScroll:this.props.bodyScroll!=null?this.props.bodyScroll:!0,bodyProps:this.props.bodyProps,variant:this.props.variant||"primary",header:n,headerProps:this.props.headerProps,style:this.props.style,borderRadius:this.props.borderRadius||"none",border:this.props.border||"none"},this.props.children)}};d();var j3=I(require("react"));var eI=class extends j3.Component{render(){return j3.createElement(ue,T(S({"data-name":"minimise",iconSize:20,tooltip:"Minimise"},this.props),{variant:"text",icon:"arrow-up"}))}};d();var K3=I(require("react"));var tI=class extends K3.Component{render(){return K3.createElement(ue,S({"data-name":"maximise",iconSize:20,tooltip:"Maximize",icon:this.props.useHoirzontalChevron?"arrow-right":"arrow-down",variant:"text"},this.props))}};var G_e=I(Ce()),H_e=o=>{let{api:e}=o,t=()=>[{Content:"Property",Size:5},{Content:"Value",Size:5},{Content:"",Size:2}],n=m=>{if(m==null||m==null)return"None";switch(typeof m){case"string":case"number":case"bigint":return m;case"boolean":return m?"True":"False";case"function":return"Function";case"object":if(Array.isArray(m))return`[${m.map(C=>n(C)).join(", ")}]`;if(m instanceof HTMLElement)return"HTMLElement";default:return"Complex value"}},r=m=>{let h=t();h[0].Content=m.name;let C=n(m.value),y=m.value!==m.defaultValue;h[1].Content=y?Uu.createElement(Uu.Fragment,null,Uu.createElement("span",{style:{fontWeight:"bold"}},C),Uu.createElement("span",{style:{fontStyle:"italic"}}," ","(Default: ",n(m.defaultValue),")")):C;let v=Uu.createElement(Jn,{headerText:null,bodyText:[m.description]});return h[2].Content=v,h},i=(m,h)=>{let C=h.items.map(y=>{let v=r(y);return Uu.createElement(Ga,{key:`${y.name}`,colItems:v})});return Uu.createElement(qy,{colItems:t(),items:C})},[a,s]=(0,oI.useState)(),[l,u]=(0,oI.useState)();(0,oI.useEffect)(()=>{let m=e.internalApi.getMetamodelService().getGridInfoOptions(),h=new Map;m.forEach((C,y)=>{h.set(y,i(y,C))}),u(h),s(m)},[]);let[c,p]=(0,oI.useState)("");return Uu.createElement(G_e.Box,{className:"ab-AdaptableOptions",padding:2,"data-name":"gridInfo-adaptableOptions-content"},a&&Array.from(a.entries()).map(([m,h])=>Uu.createElement(cMt,{key:m,name:m,label:h.containerLabel,viewMode:m===c?"expanded":"collapsed",onViewModeChange:C=>p(C==="expanded"?m:"")},l.get(m))))},cMt=o=>{let{viewMode:e,name:t,label:n,onViewModeChange:r,children:i}=o,a=()=>{r(e==="expanded"?"collapsed":"expanded")},s=e==="expanded"?Uu.createElement(eI,{onClick:()=>a(),tooltip:`Hide ${n}`}):Uu.createElement(tI,{onClick:()=>a(),tooltip:`Show ${n}`});return Uu.createElement(cb,{className:`ab-OptionsContainer options-container-${t}`,variant:"default",headerText:n,headerProps:{fontSize:3,style:{fontWeight:e==="expanded"?800:400,cursor:"pointer"},"data-name":`options-container-header-${t}`,onClick:()=>a()},button:s,style:{marginBottom:3}},e==="expanded"&&i)};d();var p0=I(require("react"));var bee=I(Ce());d();d();var tn=I(require("react"));var pm=I(Ce());var Q3=26,U_e="ab-Adaptable-Object-List",Cee=`${U_e}__Item`,yee=o=>{var i,a,s;let e=Cee,t=yt(),n={disabled:o.deleteDisabled,tooltip:o.deleteTooltip,iconSize:Q3,ConfirmationMsg:`Are you sure you want to delete this ${o.entityType}?`,ConfirmationTitle:`Delete ${o.entityType}`,ConfirmAction:o.deleteAction,accessLevel:o.accessLevel};o.disableDeleteConfirmation&&(n.ConfirmAction=null,n.onClickAction=()=>{t(o.deleteAction)});let r=tn.createElement(Lh,S({},n));return tn.createElement(pm.Flex,{"data-name":"adaptable-object-list-item","data-value":o.abObject.Uuid,as:"li",mb:3,className:$e(o.className,e),style:o.style},tn.createElement(pm.Box,{flex:1,className:`${e}__rows`},(s=(a=(i=o.items).filter)==null?void 0:a.call(i,Boolean))==null?void 0:s.map((l,u)=>{var p;let c=l.label;return typeof l.label=="function"&&(c=tn.createElement(l.label,{data:o.abObject})),c=c!=null?c:l.name,tn.createElement(pm.Flex,{"data-name":l.name,key:`${u}-${l.name}`,mb:2,className:`${e}__row`},tn.createElement(pm.Box,{className:`${e}__label`,mr:3},c,o.showEditButton&&tn.createElement(ue,{"data-name":`${l.name}-edit-button`,accessLevel:o.accessLevel,className:`${e}__edit-property`,ml:1,icon:"edit",tooltip:"edit",iconSize:18,variant:"text",onClick:()=>{o.handleOnEdit(l.name)}})),tn.createElement(pm.Box,{flex:1,className:`${e}__values`},typeof l.view=="function"?tn.createElement(l.view,{data:o.abObject,module:o.module}):l.view,Boolean((l==null?void 0:l.values)&&((p=l==null?void 0:l.values)==null?void 0:p.length))&&tn.createElement(Va,{style:{marginRight:0},readOnly:!0,options:l.values,value:l.values,allowWrap:!0,toIdentifier:m=>m,toLabel:m=>tn.createElement(tn.Fragment,null,m)}),typeof l.viewAfter=="function"?tn.createElement(l.viewAfter,{data:o.abObject,module:o.module}):l.viewAfter))})),o.showActions&&tn.createElement(pm.Flex,{flexDirection:"column",className:`${e}__buttons`},tn.createElement(pm.Flex,{justifyContent:"end"},o.actions,o.teamSharingActivated&&tn.createElement(zT,{iconSize:Q3,Header:`TeamSharing ${o.entityType}`,accessLevel:o.accessLevel,onShare:o.onShare}),o.onDelete&&tn.createElement(ue,{"data-name":"delete",disabled:o.deleteDisabled,iconSize:Q3,tooltip:o.deleteTooltip,icon:"delete",onClick:o.onDelete,variant:"text"}),o.deleteAction&&r,o.showEditButton&&tn.createElement(Nh,{iconSize:Q3,disabled:o.editDisabled,accessLevel:o.accessLevel,onClick:()=>o.handleOnEdit()})),tn.createElement(pm.Box,{flex:1}),o.suspendedEnabled&&tn.createElement(pm.Flex,{justifyContent:"end"},tn.createElement(E3,{onSuspend:o.onSuspend,onUnSuspend:o.onUnSuspend,suspendableObject:o.abObject,accessLevel:o.accessLevel}))))},d0=o=>{var _,H,j,B,V,$,K,Z;let e=pe(),t=yt(),[n,r]=tn.useState(!1),[i,a]=tn.useState(null),s=(j=(H=(_=o.module)==null?void 0:_.getViewProperties)==null?void 0:H.call(_))!=null?j:{},l=(B=s.getEditWizard)==null?void 0:B.call(s,o.data.abObject),u=(V=s==null?void 0:s.getDeleteAction)==null?void 0:V.call(s,o.data.abObject),p=o.module.isModuleObjectsShareable()&&e.api.teamSharingApi.isTeamSharingAvailable()&&e.api.teamSharingApi.hasTeamSharingFullRights(),m=o.module.moduleInfo.FriendlyName,h=e.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),C=jt.getAppropriateAccessLevel(o.data.abObject,h),y=$e(o.data.className,Cee,o.data.abObject.IsSuspended&&`${Cee}--is-suspended`),v=tn.useCallback(()=>{r(!1),a(null)},[]),x=tn.useCallback(oe=>{var X;l&&(r(!0),oe&&a(oe)),(X=s==null?void 0:s.onOpenEditPopup)==null||X.call(s,o.data.abObject)},[]),A=Boolean(s.getSuspendAction),R=(K=($=s==null?void 0:s.actions)==null?void 0:$.map)==null?void 0:K.call($,(oe,X)=>tn.createElement(oe,{data:o.data.abObject,key:X,accessLevel:C})),w=!Boolean(l||s.onOpenEditPopup),P=!o.hideControls,D=Boolean(l),F=e.api.optionsApi.getAdaptableOptions(),O=_t(oe=>Jme(oe.System))||((Z=F==null?void 0:F.userInterfaceOptions)==null?void 0:Z.disableDeleteConfirmation);return tn.createElement(tn.Fragment,null,tn.createElement(yee,{module:o.module,disableDeleteConfirmation:O,abObject:o.data.abObject,accessLevel:C,actions:R,className:y,handleOnEdit:x,items:o.data.items,showActions:P,showEditButton:D,style:o.data.style,teamSharingActivated:p,onShare:oe=>e.api.teamSharingApi.shareAdaptableEntity(o.data.abObject,o.module.moduleInfo.ModuleName,oe),entityType:m,deleteAction:u,deleteDisabled:o.deleteDisabled,deleteTooltip:o.deleteTooltip,editDisabled:w,suspendedEnabled:A,onSuspend:()=>t(s.getSuspendAction(o.data.abObject)),onUnSuspend:()=>t(s.getUnSuspendAction(o.data.abObject))}),n&&l&&tn.createElement(l,{defaultCurrentSectionName:i,moduleInfo:o.module.moduleInfo,data:o.data.abObject,configEntities:null,onCloseWizard:v,onFinishWizard:v}))},c0=o=>{var e;return tn.createElement("ul",{className:U_e},(e=o==null?void 0:o.items)==null?void 0:e.map(t=>tn.createElement(d0,S({key:t.abObject.Uuid,data:t,module:o.module},o.itemProps))))};var W_e=()=>{let o=_t(r=>r),t=pe().ModuleService.getModuleCollection(),n="ab-AdaptableObjectsSummary";return p0.createElement(bee.Box,{className:n},[...t].map(([r,i])=>{var s;if(!i.isModuleAvailable())return null;let a=(s=i==null?void 0:i.toViewAll)==null?void 0:s.call(i);return a!=null&&a.length?p0.createElement(bee.Box,{"data-name":i.moduleInfo.ModuleName,className:`${n}__module-list`,key:i.moduleInfo.ModuleName},p0.createElement("b",{className:`${n}__header`},i.moduleInfo.FriendlyName),(a==null?void 0:a.length)&&p0.createElement(c0,{items:a,module:i})):null}))};var z_e=o=>{var v,x,A;let e=o.api.internalApi.getEntitlementService(),t=e.isGridInfoSectionVisible("GridSummary"),n=e.isGridInfoSectionVisible("AdaptableOptions"),r=e.isGridInfoSectionVisible("ColumnInfo"),i=e.isGridInfoSectionVisible("AdaptableObjects"),[a,s]=ja.useState({ActiveTab:(v=o.popupParams)!=null&&v.column?"ColumnInfo":t?"GridSummary":n?"AdaptableOptions":"ColumnInfo",CurrentColumn:(A=(x=o.popupParams)==null?void 0:x.column)!=null?A:void 0,IsBaseOptionsMinimised:!0,IsContainerOptionsMinimised:!0,IsSearchOptionsMinimised:!0,IsLayoutOptionsMinimised:!0}),l=R=>{s(w=>S(S({},w),R))},u=R=>{var H;let w=[],P=o.api.calculatedColumnApi.getCalculatedColumns().map(j=>j.ColumnId),D=o.api.actionColumnApi.getActionColumns().map(j=>j.columnId),F=o.api.freeTextColumnApi.getFreeTextColumns().map(j=>j.ColumnId),M=o.api.filterApi.internalApi.columnFiltersToString(o.api.filterApi.getColumnFilters()),O=We.IsNotNullOrEmpty(o.api.gridApi.getColumnSorts())?o.api.gridApi.getColumnSorts().map(j=>o.api.columnApi.getFriendlyNameForColumnId(j.ColumnId)+": "+j.SortOrder):null,_=o.api.gridApi.getSelectedRowInfo();return(H=o.api.optionsApi.getUserInterfaceOptions())!=null&&H.showAdapTableVersion&&w.push(c(R,"AdapTable Version",KNe)),w.push(c(R,"Sorted Columns",We.IsNotNullOrEmpty(O)?O.join("; "):"None")),w.push(c(R,"Column Filters",M)),w.push(c(R,"All Rows",o.api.gridApi.getRowCount())),w.push(c(R,"Visible Rows",o.api.gridApi.getVisibleRowCount())),w.push(c(R,"Selected Rows",_==null?void 0:_.gridRows.length)),w.push(c(R,"Visible Selected Rows",_==null?void 0:_.gridRows.filter(j=>{var B;return((B=j.rowNode)==null?void 0:B.displayed)==!0}).length)),w.push(c(R,"All Columns",o.api.gridApi.getColumnCount())),w.push(c(R,"Visible Columns",o.api.gridApi.getVisibleColumnCount())),w.push(c(R,"Calculated Columns",We.IsNotNullOrEmpty(P)?P:"None")),w.push(c(R,"Free Text Columns",We.IsNotNullOrEmpty(F)?F:"None")),w.push(c(R,"Action Columns",We.IsNotNullOrEmpty(D)?D:"None")),w},c=(R,w,P,D)=>{let F=yn.cloneObject(R);if(F[0].Content=w,F[1].Content=P,D){let M=ja.createElement(Jn,{headerText:null,bodyText:[D]});F[2].Content=M}return F},p=R=>{l({ActiveTab:R})},m=[{Content:"Property",Size:5},{Content:"Value",Size:7}],h=u(m).map((R,w)=>ja.createElement(Ga,{key:w,colItems:R})),C=[t,n,r,i].filter(R=>R).length>1,y="ab-GridInfo";return ja.createElement(ha,{className:y,headerText:"Grid Info",glyphicon:"info"},ja.createElement(See.Flex,{flexDirection:"column",flex:1,height:"100%"},ja.createElement(See.Flex,{className:`${y}__header`,marginBottom:2,padding:3},C&&ja.createElement(ja.Fragment,null,t&&ja.createElement(Xe,{className:`${y}__option-radio`,"data-name":"radioButton-GridSummary",marginRight:3,value:"GridSummary",checked:a.ActiveTab=="GridSummary",onChange:(R,w)=>p("GridSummary")},"Summary"),n&&ja.createElement(Xe,{"data-name":"radioButton-AdaptableOptions",marginRight:3,value:"AdaptableOptions",checked:a.ActiveTab=="AdaptableOptions",onChange:(R,w)=>p("AdaptableOptions")},"Options"),r&&ja.createElement(Xe,{"data-name":"radioButton-Column",marginRight:3,value:"Column",checked:a.ActiveTab=="ColumnInfo",onChange:(R,w)=>p("ColumnInfo")},"Columns"),i&&ja.createElement(Xe,{"data-name":"radioButton-Column",value:"Column",checked:a.ActiveTab=="AdaptableObjects",onChange:(R,w)=>p("AdaptableObjects")},"Objects"))),a.ActiveTab=="GridSummary"&&ja.createElement(qy,{margin:2,colItems:m,items:h}),a.ActiveTab=="AdaptableOptions"&&ja.createElement(H_e,{api:o.api}),a.ActiveTab=="ColumnInfo"&&ja.createElement(z3,{api:o.api,teamSharingActivated:o.teamSharingActivated,column:a.CurrentColumn}),a.ActiveTab==="AdaptableObjects"&&ja.createElement(W_e,null)))};d();var Sl=I(require("react"));var m0=I(Ce());d();var q3=I(require("react"));d();var mm=I(require("react"));d();var j_e=I(require("react")),$A=j_e.createContext({availableItems:[],permittedActions:{createTab:!0,editTabName:!0,dragAndDropTab:!0,deleteTab:!0}});d();var Fi=I(require("react"));var $3=I(Ce());function K_e({tabs:o,onRemoveTab:e,onRemoveToolbar:t,onChangeTabName:n,disabled:r}){return Fi.createElement(Ky,{droppableId:"MAIN",type:"TAB",direction:"horizontal"},i=>Fi.createElement("div",T(S({},i.droppableProps),{className:"ab-ModuleSelector__TabList",ref:i.innerRef,style:{display:"flex"},"data-name":"dashboard-tabs"}),o.map((a,s)=>Fi.createElement(pMt,{disabled:r,key:s,tabIndex:s,tab:a,onRemove:()=>e(s),onRemoveToolbar:l=>t(s,l),onChangeTabName:l=>n(s,l)})),i.placeholder))}function pMt({tab:o,tabIndex:e,onRemove:t,onRemoveToolbar:n,onChangeTabName:r,disabled:i}){let a=Fi.useContext($A),s=i||!a.permittedActions.dragAndDropTab;return Fi.createElement(MA,{isDragDisabled:s,draggableId:String(e),index:e},l=>Fi.createElement("div",T(S({className:"ab-ModuleSelector__TabItem","data-name":"dashboard-tab",ref:l.innerRef},l.draggableProps),{style:S({},s?{}:l.draggableProps.style)}),Fi.createElement("div",{className:"ab-ModuleSelector__TabItem__header"},Fi.createElement("div",T(S({},i?{}:l.dragHandleProps),{style:a.permittedActions.dragAndDropTab?{}:{display:"none"}}),Fi.createElement(mo,{name:"drag"})),a.permittedActions.editTabName?Fi.createElement("input",{className:"ab-ModuleSelector__TabItem__header-input",type:"text",disabled:i,value:o.Name,onChange:u=>{r(u.target.value)}}):o.Name,a.permittedActions.deleteTab&&Fi.createElement(ue,{disabled:i,icon:"delete",variant:"text",onClick:t})),Fi.createElement(mMt,{disabled:i,toolbars:o.Items,droppableId:String(e),onRemove:n})))}function mMt({toolbars:o,droppableId:e,onRemove:t,disabled:n}){return Fi.createElement(Ky,{droppableId:e,type:"TOOLBAR"},(r,i)=>Fi.createElement($3.Box,T(S({className:"ab-ModuleSelector__ToolbarList",ref:r.innerRef},n?{}:r.droppableProps),{"data-name":"dashboard-toolbar-drop-target",backgroundColor:i.isDraggingOver?"var(--ab-dashboard-tab-drop-target__background)":""}),o.map((a,s)=>Fi.createElement(hMt,{disabled:n,key:a,toolbar:a,toolbarIndex:s,onRemove:()=>t(s)})),r.placeholder))}function hMt({toolbar:o,toolbarIndex:e,onRemove:t,disabled:n}){let{availableItems:r}=Fi.useContext($A),i=r.find(s=>s.Id===o),a=i?i.Title:o;return Fi.createElement(MA,{isDragDisabled:n,draggableId:o,index:e},(s,l)=>Fi.createElement($3.Flex,T(S(S({className:"ab-ModuleSelector__ToolbarItem",alignItems:"center",mb:1,pl:1,backgroundColor:l.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",ref:s.innerRef},s.draggableProps),s.dragHandleProps),{style:s.draggableProps.style}),Fi.createElement("div",{style:{flex:1}},a),Fi.createElement(ue,{disabled:n,icon:"close",variant:"text",padding:1,onClick:t})))}d();var Kc=I(require("react"));var vee=I(Ce());function Q_e({items:o,disabled:e,title:t,dragItemText:n}){return Kc.createElement(vee.Box,{pb:1,mb:2,className:"ab-ModuleSelector__UnusedPanel","data-name":"unusedpanel-items"},Kc.createElement(vee.Box,{p:2},Kc.createElement("b",null,t)," (",n,")"),Kc.createElement(fMt,{disabled:e,items:o}))}function fMt({items:o,disabled:e}){return Kc.createElement(Ky,{droppableId:"UNUSED",type:"TOOLBAR",isDropDisabled:!0,direction:"horizontal"},t=>Kc.createElement("div",T(S({ref:t.innerRef,"data-name":"unusedpanel-items-list"},t.droppableProps),{style:{display:"flex",flexDirection:"row",flexWrap:"wrap",paddingLeft:"var(--ab-space-2)",paddingRight:"var(--ab-space-2)"}}),o.map((n,r)=>Kc.createElement(gMt,{disabled:e,key:n,unusedItem:n,unusedItemIndex:r})),t.placeholder))}function gMt({unusedItem:o,unusedItemIndex:e,disabled:t}){let{availableItems:n}=Kc.useContext($A),r=n.find(a=>a.Id===o),i=r?r.Title:o;return Kc.createElement(MA,{isDragDisabled:t,draggableId:o,index:e},(a,s)=>{let l=t?{}:S(S({},a.draggableProps),a.dragHandleProps),u=t?{}:a.draggableProps.style;return Kc.createElement("div",T(S({"data-name":"unused-item",ref:a.innerRef},l),{style:T(S({},u),{border:"1px solid var(--ab-color-primary)",backgroundColor:s.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",padding:"var(--ab-space-1) var(--ab-space-2)",marginRight:"var(--ab-space-1)",marginBottom:"var(--ab-space-1)"})}),i)})}var nI=o=>{let{availableItems:e,tabs:t,onTabsChange:n,tabsTitle:r,disabled:i,unusedPanelTitle:a,dragItemText:s,permittedActions:l}=o,u=mm.useMemo(()=>({permittedActions:S({createTab:!0,editTabName:!0,dragAndDropTab:!0,deleteTab:!0},l),availableItems:o.availableItems}),[o.availableItems,o.permittedActions]),c=mm.useMemo(()=>e.map(x=>x.Id).filter(x=>!t.some(A=>A.Items.includes(x))),[t,e]),p=x=>{let{source:A,destination:R,draggableId:w}=x;!A||!R||(A.droppableId!=="UNUSED"&&t[Number(A.droppableId)].Items.splice(A.index,1),R.droppableId!=="UNUSED"&&t[Number(R.droppableId)].Items.splice(R.index,0,w),n([...t]))},m=x=>{let{source:A,destination:R}=x;if(!A||!R)return;let[w]=t.splice(A.index,1);t.splice(R.index,0,w),n([...t])},h=x=>{n(t.filter((A,R)=>R!==x))},C=()=>{n([...t,{Name:"New Tab",Items:[]}])},y=(x,A)=>{n(t.map((R,w)=>w!==x?R:T(S({},R),{Items:R.Items.filter((P,D)=>D!==A)})))},v=(x,A)=>{n(t.map((R,w)=>w!==x?R:T(S({},R),{Name:A})))};return mm.createElement(g3,{onDragEnd:x=>{x.type==="TAB"&&m(x),x.type==="TOOLBAR"&&p(x)}},mm.createElement($A.Provider,{value:u},mm.createElement("div",{className:"ab-ModuleSelector",style:{display:"flex",flexDirection:"column"}},mm.createElement(Q_e,{title:a,disabled:i,items:c,dragItemText:s}),mm.createElement(cb,{className:"ab-ModuleSelector-UsedPanel",headerText:r,button:u.permittedActions.createTab&&mm.createElement(ue,{disabled:i,onClick:C},"Add Tab")},mm.createElement(K_e,{disabled:i,tabs:t,onRemoveTab:h,onRemoveToolbar:y,onChangeTabName:v})))))};var CMt=({tabs:o,onTabsChange:e,availableToolbars:t,api:n,disabled:r})=>{let a=n.internalApi.getModuleService().getModuleInfoByModule("Dashboard"),s=o.map(u=>({Name:u.Name,Items:u.Toolbars})),l=q3.useCallback(u=>{let c=u.map(p=>({Name:p.Name,Toolbars:p.Items}));e(c)},[]);return q3.createElement(nI,{availableItems:t,disabled:r,onTabsChange:l,tabs:s,tabsTitle:a.FriendlyName+" Tabs",unusedPanelTitle:"Available Toolbars",dragItemText:"Drag into a Tab below"})},$_e=CMt;var Aee=class extends Sl.Component{constructor(e){super(e),this.state={DashboardConfigView:"Toolbars"}}render(){let e=r0e,t=this.props.api.internalApi.getModuleService(),n=e.filter(h=>this.props.api.internalApi.getModuleService().isModuleAvailable(h)).map(h=>({Id:h,Title:t.getModuleInfoByModule(h).FriendlyName})),r=this.props.api.dashboardApi.getCustomToolbars().map(h=>({Id:h.name,Title:h.title?h.title:h.name})),i=this.props.DashboardState.Tabs.map(h=>{let C=h.Toolbars.filter(y=>this.props.api.dashboardApi.getCustomToolbars().find(x=>x.name===y)?!0:this.props.api.internalApi.getModuleService().isModuleAvailable(y));return T(S({},h),{Toolbars:C})}),a=[];this.props.DashboardState.ModuleButtons.forEach(h=>{let C=this.props.GridState.SettingPanelModuleMenuItems.find(y=>y.module==h);C!=null&&C.isVisible&&a.push(h)});let s=this.props.GridState.SettingPanelModuleMenuItems.map(h=>h.module),l="ab-Dashboard-Popup",u=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard"),c=u=="Full"||u=="ReadOnly",p=u==="ReadOnly",m=h=>h==="SettingsPanel"?this.props.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard:!1;return Sl.createElement(ha,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Sl.createElement(m0.Flex,{flex:1,height:"100%",flexDirection:"column"},c&&Sl.createElement(Sn,{header:"Dashboard Modes",style:{height:"auto",overflow:"visible"},variant:"default",borderRadius:"none"},Sl.createElement(Ne,{mr:3,"data-name":"collapse",className:`${l}__settings-option`,checked:this.props.IsCollapsed,onChange:h=>this.props.onSetDashboardCollapsed(h)},"Collapse")," ",this.props.api.optionsApi.getDashboardOptions().canFloat&&Sl.createElement(Ne,{mr:3,"data-name":"floating",className:`${l}__settings-option`,checked:this.props.IsFloating,onChange:h=>this.props.onSetDashboardFloating(h)},"Float")," ",Sl.createElement(Ne,{"data-name":"hidden",className:`${l}__settings-option`,checked:this.props.IsHidden,onChange:h=>this.props.onSetDashboardHidden(h)},"Hidden")),Sl.createElement(Sn,{header:"Dashboard Contents",style:{borderBottom:"1px solid var(--ab-color-primary)"},variant:"default",borderRadius:"none",marginTop:4},Sl.createElement(m0.Flex,{className:`${l}__contents-selector`,flexDirection:"row",padding:2},Sl.createElement(Xe,{marginLeft:3,value:"Toolbars",checked:this.state.DashboardConfigView=="Toolbars",onChange:(h,C)=>this.onDashboardConfigViewChanged(C)},"Toolbars"),Sl.createElement(Xe,{marginLeft:3,value:"Buttons",checked:this.state.DashboardConfigView=="Buttons",onChange:(h,C)=>this.onDashboardConfigViewChanged(C)},"Buttons")),Sl.createElement(m0.Box,{className:`${l}__Module-Selector`,"data-name":this.state.DashboardConfigView==="Toolbars"?"toolbars":"buttons",style:{minHeight:0,flex:"1 1 0"},padding:2},this.state.DashboardConfigView=="Toolbars"&&Sl.createElement($_e,{disabled:p,availableToolbars:[...n,...r],tabs:i,onTabsChange:this.props.onDashboardSetTabs,api:this.props.api}),this.state.DashboardConfigView=="Buttons"&&Sl.createElement(YM,{disabled:p,options:s,value:a,noSelectionLabel:"No selected Module Button",isOptionDisabled:m,xSelectedLabel:()=>"Visible Module Buttons:",onChange:h=>this.props.onDashboardSetModuleButtons(h)})))))}onDashboardConfigViewChanged(e){let n=e.target.value;this.setState({DashboardConfigView:n})}};function yMt(o,e){return{DashboardState:o.Dashboard,GridState:o.Grid,IsCollapsed:o.Dashboard.IsCollapsed,IsHidden:o.Dashboard.IsHidden,IsFloating:o.Dashboard.IsFloating}}function bMt(o){return{onDashboardSetModuleButtons:e=>o(cB(e)),onDashboardSetTabs:e=>o(lSe(e)),onSetDashboardCollapsed:e=>o(Ec(e)),onSetDashboardHidden:e=>o(uh(e)),onSetDashboardFloating:e=>o(wc(e))}}var q_e=bt(yMt,bMt)(Aee);d();var Yl=I(require("react"));d();var Ree=I(require("react"));d();var Wu=I(require("react")),pb=I(Ce()),X3=require("react");d();var SMt=(o,e)=>e.type==="DRAG_OVER"?T(S({},o),{dragOver:!0}):e.type==="DRAG_OUT"?T(S({},o),{dragOver:!1}):e.type==="SET_INVALID_FILE"?T(S({},o),{message:e.payload.message}):e.type==="DROP_SUCCES"?T(S({},o),{dragOver:!1,message:e.payload.message}):o,Y_e=SMt;var vMt={dragOver:!1,message:null},Y3=o=>{o.preventDefault(),o.stopPropagation()},xee=async(o,e)=>{let t=new FileReader;return new Promise((n,r)=>{t.onload=function(i){try{let s=(e||JSON.parse)(i.target.result);Promise.resolve(s).then(n)}catch(a){r("Invalid JSON")}},t.onerror=function(i){r(i)},t.readAsText(o)})},X_e=o=>{let x=o,{onDropSuccess:e,message:t,fileAccept:n=".json",helpText:r="AdapTable No Code Version",defaultText:i="Click here to select a JSON file to load or drag it here",dragOverText:a="Drop file here to start Adaptable Wizard",icon:s=Wu.createElement(mo,{name:"paperclip",size:48})}=x,l=ut(x,["onDropSuccess","message","fileAccept","helpText","defaultText","dragOverText","icon"]),[u,c]=(0,X3.useReducer)(Y_e,vMt),p=A=>{c({type:"DRAG_OVER"})},m=A=>{Y3(A),!(C.current!=A.target&&Hv(C.current,A.target))&&c({type:"DRAG_OUT"})},h=async A=>{let R;Y3(A);let w=A.nativeEvent;w&&w.dataTransfer?R=w.dataTransfer.files:R=A.target.files,m(A);let P=R[0];if(P){let D;try{D=await(o.readFile||xee)(P,o.toJSON),c({type:"DROP_SUCCES",payload:{message:Wu.createElement(pb.Box,null,o.loadingText===void 0?"Initializing adaptable...":o.loadingText)}}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e&&e(D,P)})})}catch(F){c({type:"SET_INVALID_FILE",payload:{message:Wu.createElement(pb.Box,null,"The file is not a valid JSON file! Please try again!")}})}}},C=(0,X3.useRef)(),y=Wu.createElement("form",{onSubmit:Y3},Wu.createElement(ue,{style:{cursor:"pointer"},variant:"outlined"},Wu.createElement("div",null,u.dragOver?a:i),Wu.createElement("input",{type:"file",onChange:h,accept:n,style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}}))),v=t||u.message;return Wu.createElement(pb.Flex,T(S({},l),{flexDirection:"column",className:$e(o.className,"ab-FileDroppable",u.dragOver?"ab-FileDroppable--drag-over":""),alignItems:"center",justifyContent:"center",onDragEnter:p,onDragLeave:m,onDrop:h,onDragOver:Y3,ref:C}),o.children,r||s?Wu.createElement(pb.Flex,{flexDirection:"column"},r?Wu.createElement(pb.Flex,{flexDirection:"column",alignItems:"center",margin:2},Wu.createElement(Qt,null,Wu.createElement("b",null,r))):null,s?Wu.createElement(pb.Flex,{flexDirection:"column",alignItems:"center",margin:2},s):null):null,v,y)};X_e.defaultProps={};var Z_e=X_e;var Z3=o=>{let e=t=>{let n=t.nativeEvent,r;n&&n.dataTransfer?r=n.dataTransfer.files:r=t.target.files;let i=r[0];xee(i).then(a=>{o.onLoad(a)})};return Ree.createElement(ue,T(S({},o),{className:"ab-StateManagement__Load-Button"}),Ree.createElement("input",{type:"file",onChange:t=>e(t),accept:".json",style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}})," ",o.children)};d();var J_e=I(require("react"));var J3=o=>J_e.createElement(ue,T(S({},o),{className:"ab-StateManagement__Clear-Button",tooltip:"Clear User State"}),o.children);d();var e1e=I(require("react"));d();var Eee=(o,e,t)=>{switch(o){case"Clipboard":let n=JSON.stringify(t);yn.copyToClipboard(n);break;case"Console":console.log("Adaptable State: ",t);break;case"JSON":let r=e+".json",i=JSON.stringify(t);yn.createDownloadedFile(i,r,"application/json");break}};var rI=o=>{let e=n=>{switch(o.type){case"adaptableState":let r=o.api.configApi.getPersistedState();Eee(n,"adaptableState",r);break;case"predefinedConfig":let i=o.api.configApi.getPredefinedConfig();Eee(n,"predefinedConfig",i);break}},t=[{value:"Clipboard",label:"Clipboard",onClick:()=>e("Clipboard")},{value:"Console",label:"Console",onClick:()=>e("Console")},{value:"JSON",label:"JSON",onClick:()=>e("JSON")}];return e1e.createElement(Qe,T(S({className:"ab-StateManagement__Export-Dropdown"},o),{items:t,value:void 0}))};var t1e=o=>{let e="ab-ManageState";return Yl.createElement(ha,{className:e,headerText:o.moduleInfo.FriendlyName,glyphicon:o.moduleInfo.Glyph,infoLink:o.moduleInfo.HelpPage,infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},Yl.createElement(Sn,{className:`${e}__panel`,"data-name":"user-state",header:"User State",style:{height:"auto"},variant:"default",borderRadius:"none",marginRight:2,mb:2},Yl.createElement(Qt,{marginBottom:2},"Clear all current user state that has been persisted."),Yl.createElement(Qt,null,"This will cause this window to close and any state you have previously created will be lost and the initial Predefined Config will then be reapplied."),Yl.createElement(J3,{"data-name":"clear-user-state-button",tone:"error",variant:"raised",marginTop:2,accessLevel:o.accessLevel,onClick:()=>o.api.configApi.reloadPredefinedConfig()},"Clear User State")),Yl.createElement(Sn,{className:`${e}__panel`,"data-name":"predefined-config",header:"Load Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},Yl.createElement(Qt,{marginTop:2},"Load Predefined Config (from a .json file). This will cause this window to close.")," ",Yl.createElement(Z3,{tone:"info",variant:"raised",marginTop:2,accessLevel:o.accessLevel,onLoad:t=>o.api.configApi.reloadPredefinedConfig(t),"data-name":"load-predefined-config-button"},"Load Predefined Config")),Yl.createElement(Sn,{className:`${e}__panel`,"data-name":"adaptable-state",header:"Export Adaptable State",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},Yl.createElement(Qt,{marginTop:2,marginBottom:2},"Exports the currently persisted Adaptable state.")," ",Yl.createElement(rI,{api:o.api,type:"adaptableState",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"],"data-name":"export-adaptable-state-dropdown"},"Select Export Destination")),Yl.createElement(Sn,{className:`${e}__panel`,"data-name":"initial-predefined-config",header:"Export Initial Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},Yl.createElement(Qt,{marginTop:2,marginBottom:2},"Exports the Predefined Config which was provided at design time.")," ",Yl.createElement(rI,{api:o.api,type:"predefinedConfig",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"],"data-name":"export-initial-predefined-config-dropdown"},"Select Export Destination")))};d();var zr=I(require("react"));d();var mb=I(require("react"));var hb=class extends mb.Component{constructor(t){super(t);this.loadPermittedValues=async()=>{var r;if(!((r=this.props.selectedColumn)!=null&&r.columnId))return;let t=await QT(this.props.api.gridApi.internalApi.getDistinctBulkUpdateDisplayValuesForColumn(this.props.selectedColumn.columnId,this.props.selectedGridCells),()=>this.setState({isDistinctColumnValuesLoading:!0}));this.setState({isDistinctColumnValuesLoading:!1});let n=pt.sortArray(t,"Asc").map(i=>({label:i,value:i,onClick:()=>this.onSelectedValueChange([{DisplayValue:i}])}));this.setState({distinctColumnValues:n})};this.handleSelectedValueExpand=()=>{this.state.distinctColumnValues.length||this.loadPermittedValues()};this.state={newOrExisting:"Existing value",distinctColumnValues:[],isDistinctColumnValuesLoading:!1}}componentDidUpdate(t){(this.props.selectedColumn!==t.selectedColumn||this.props.selectedGridCells!==t.selectedGridCells)&&this.loadPermittedValues()}render(){let t="Select",n=this.props.allowNew!=null?this.props.allowNew:!0,r="ab-column-value-selector",i=$e("ab-column-value-selector",this.state.isDistinctColumnValuesLoading&&`${r}--loading`),a=150,s=this.state.isDistinctColumnValuesLoading?[{label:"Loading",disabled:!0}]:this.state.distinctColumnValues,l=mb.createElement("div",null,mb.createElement(Qe,{"data-name":"bulkupdate-value-selector",className:i,columns:["label"],variant:"text",showClearButton:!0,onClear:()=>this.onSelectedValueChange([]),style:{fontSize:"small"},disabled:this.props.disabled,items:s,onExpand:this.handleSelectedValueExpand},this.props.selectedColumnValue?this.props.selectedColumnValue:t)),u=mb.createElement(oo,{"data-name":"bulkupdate-value-input",type:this.props.selectedColumn?Uo.getDescriptionForDataType(this.props.selectedColumn.dataType):"text",placeholder:this.props.selectedColumn?Uo.getPlaceHolderforDataType(this.props.selectedColumn.dataType):"Enter Value",autoFocus:!0,disabled:this.props.disabled,style:{width:a},value:this.props.selectedColumnValue,onChange:c=>{this.onSelectedValueChange([{customOption:!0,DisplayValue:c.target.value}])}});return mb.createElement(Ry,{style:T(S({},this.props.style),{overflow:"visible"})},this.state.newOrExisting==="Existing value"?l:u,mb.createElement(Qe,S({variant:"raised",tone:"neutral",columns:["label"],style:{boxShadow:"none",color:"var(--ab-cmp-dashboardpanel__fill)",background:"var(--ab-color-defaultbackground)"},disabled:this.props.disabled,marginRight:1,items:[{label:"Existing value",onClick:()=>{this.setState({newOrExisting:"Existing value"}),this.onSelectedValueChange([])}},{label:"New value",onClick:()=>{this.setState({newOrExisting:"New value"}),this.onSelectedValueChange([])}}]},this.props.dropdownButtonProps),this.state.newOrExisting==="Existing value"?this.props.existingLabel:this.props.newLabel))}onSelectedValueChange(t){pt.IsEmpty(t)&&ct.IsNullOrEmpty(this.props.selectedColumnValue)||(pt.IsEmpty(t)?this.props.onColumnValueChange(""):t[0].customOption?this.props.onColumnValueChange(t[0].DisplayValue):this.props.onColumnValueChange(t[0].DisplayValue))}};hb.defaultProps={newLabel:"New value",existingLabel:"Existing value"};var qA=I(Ce());var wee=class extends zr.Component{constructor(e){super(e),this.state={isShowingError:!1,errorText:"",useSelector:!1}}componentDidMount(){this.props.onBulkUpdateValueChange(""),this.props.onBulkUpdateCheckSelectedCells()}render(){let e=this.props.BulkUpdateValidationResult.Column,t=!1,n="";e&&ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&e.dataType=="Number"&&isNaN(Number(this.props.BulkUpdateValue))&&(t=!0,n="This column only accepts numbers");let r=Qp.GetValidationMessage(this.props.PreviewInfo,this.props.BulkUpdateValue),i=this.props.PreviewInfo&&ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&ct.IsNotNullOrEmpty(r),a=i?zr.createElement(Oh,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:e,showPanel:i,showHeader:!0}):null;return e?zr.createElement(xh,{bodyProps:{padding:2},flex:1,glyphicon:this.props.moduleInfo.Glyph,header:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed(),variant:"primary"},e.dataType=="Date"?zr.createElement(zr.Fragment,null,zr.createElement(Qt,{marginTop:2,marginBottom:2},"Enter a date value. Alternatively, tick the checkbox and select from an existing column value."),zr.createElement(qA.Box,null,zr.createElement(Ne,{marginLeft:2,onChange:s=>this.onUseColumnValuesSelectorChanged(s),checked:this.state.useSelector}," ","Select from existing column values")),zr.createElement(qA.Flex,{padding:2,flexDirection:"row",alignItems:"center"},zr.createElement(qA.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},this.state.useSelector?zr.createElement(hb,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),allowNew:!1,style:{width:"100%",maxWidth:"inherit"}}):zr.createElement(oo,{"data-name":"bulk-update",style:{width:"100%"},value:String(this.props.BulkUpdateValue),type:Rn.getDescriptionForDataType(e.dataType),placeholder:Rn.getPlaceHolderforDataType(e.dataType),onChange:s=>this.onBulkUpdateValueChange(s)})),zr.createElement(ue,{disabled:ct.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All",onClick:()=>{this.onApplyClick()},variant:"raised",tone:"accent"},"Apply to Grid"))):zr.createElement(zr.Fragment,null,zr.createElement(Qt,{marginTop:2,marginBottom:2},"Select an existing column value from the dropdown, or enter a new value"),zr.createElement(qA.Flex,{marginTop:2,flexDirection:"row",alignItems:"center"},zr.createElement(qA.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},zr.createElement(hb,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),style:{width:"100%",maxWidth:"inherit"}})),zr.createElement(ue,{disabled:ct.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All"||t,variant:"raised",tone:"accent",marginRight:2,onClick:()=>{this.onApplyClick()}},"Apply to Grid")," ",t&&zr.createElement(Jn,{headerText:"Update Error",bodyText:[n],MessageType:"Error"}),ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo.previewValidationSummary.validationResult!="None"&&zr.createElement(Jn,{headerText:"Validation Error",bodyText:[r],MessageType:"Error"}))),a):null}onColumnValueSelectedChanged(e){this.props.onBulkUpdateValueChange(e)}onUseColumnValuesSelectorChanged(e){this.setState({useSelector:e}),this.props.onBulkUpdateValueChange("")}onBulkUpdateValueChange(e){let t=e.target;this.props.onBulkUpdateValueChange(t.value)}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate()}};function AMt(o,e){var t;return{BulkUpdateValue:o.System.BulkUpdateValue,PreviewInfo:o.System.BulkUpdatePreviewInfo,BulkUpdateValidationResult:o.System.BulkUpdateValidationResult,SelectedGridCells:(t=o.Grid.SelectedCellInfo)==null?void 0:t.gridCells}}function xMt(o){return{onBulkUpdateValueChange:e=>o(fE(e)),onBulkUpdateCheckSelectedCells:()=>o(G_()),onRunBulkUpdate:()=>o(E1(!1))}}var o1e=bt(AMt,xMt)(wee);d();var h0=I(require("react"));d();var Vh=I(require("react"));d();var eW=I(require("react")),tW=I(Ce());var n1e="ab-EmptyContent",RMt=r=>{var i=r,{children:o,className:e,style:t}=i,n=ut(i,["children","className","style"]);return typeof o=="string"&&(o=eW.createElement("p",null,o)),eW.createElement(tW.Box,{flex:1,className:`${n1e}__wrapper`},eW.createElement(tW.Flex,T(S({alignItems:"center",justifyContent:"center",flexDirection:"column"},n),{className:$e(n1e,e),style:t}),o))},iI=RMt;var EMt=new Map([["Operation",{field:"Operation",defaultFlex:1}],["Value",{field:"Value",defaultFlex:1}]]),wMt={style:{height:"100%",minWidth:"20rem",minHeight:380}},fb=class extends Vh.Component{render(){let e=[];return this.props.CellSummary!=null&&(e=Object.keys(this.props.CellSummary).map(t=>({Operation:t,Value:this.props.CellSummary[t]}))),Vh.createElement(Vh.Fragment,null,this.props.CellSummary!=null?Vh.createElement(da,{data:e,primaryKey:"Operation"},Vh.createElement(mi,{domProps:wMt,columns:EMt})):Vh.createElement(iI,null,Vh.createElement("p",null,"No cells are selected - please select some cells.")))}};var Tee=class extends h0.Component{componentDidMount(){var e,t,n;((e=this.props.popupParams)==null?void 0:e.source)==="ColumnMenu"&&((t=this.props.popupParams)==null?void 0:t.column)&&(this.props.api.columnApi.selectColumn((n=this.props.popupParams)==null?void 0:n.column.columnId),this.props.api.internalApi.getAdaptableInstance().setSelectedCells()),this.props.onCreateCellSummary()}render(){return h0.createElement(cb,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},h0.createElement(fb,{CellSummary:this.props.CellSummary}))}};function TMt(o,e){return{CellSummary:o.Grid.CellSummary}}function IMt(o){return{onCreateCellSummary:()=>o(HE())}}var r1e=bt(TMt,IMt)(Tee);d();var gb=I(require("react"));var a1e=I(Ce());d();var YA=I(require("react"));var nW=I(Ce());var oW=class extends YA.Component{render(){var r;let e=this.props.adaptableObject,t=Uo.getColorByMessageType((r=e==null?void 0:e.statusType)!=null?r:"Success"),n=zo(this.props.colItems);return n[0].Content=e?YA.createElement("details",null,YA.createElement(nW.Flex,{title:e.statusFurtherInformation?"Click to see more":"",className:$e("ab-DashboardToolbar__SystemStatus__text",e.statusFurtherInformation&&"ab-DashboardToolbar__SystemStatus__text--expandable"),backgroundColor:t,alignItems:"center",as:"summary"},e.statusMessage," ",e.statusFurtherInformation?"...":""),e.statusFurtherInformation?YA.createElement(nW.Box,{className:"ab-DashboardToolbar__SystemStatus__further-information",margin:2},e.statusFurtherInformation):null):null,n[1].Content=e.timestamp.toLocaleString(),YA.createElement(Ga,{colItems:n})}};var i1e=[{Content:"Message",Size:10},{Content:"Timestamp",Size:3}],Iee=class extends gb.Component{constructor(e){super(e)}onSystemStatusMessageInfoDeleteAll(){this.props.onSystemStatusMessageInfoDeleteAll()}render(){let e=gb.createElement(ue,{onClick:()=>this.onSystemStatusMessageInfoDeleteAll(),tooltip:"Clear All",tone:"neutral",variant:"raised",accessLevel:this.props.accessLevel,disabled:We.IsNullOrEmpty(this.props.SystemStatusMessages)},"Delete All Messages"),t=We.sortArrayWithProperty("Desc",this.props.SystemStatusMessages,"Timestamp").map((n,r)=>{let i=jt.getAppropriateAccessLevel(n,this.props.accessLevel);return gb.createElement(oW,{adaptableObject:n,key:"smi"+r,onEdit:null,moduleInfo:this.props.moduleInfo,colItems:i1e,api:this.props.api,accessLevel:i,teamSharingActivated:this.props.teamSharingActivated,onDeleteConfirm:null,onShare:null})});return gb.createElement(ha,{button:e,headerText:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},We.IsNotNullOrEmpty(this.props.SystemStatusMessages)&&gb.createElement(a1e.Box,{className:"ab-SystemStatus-Popup-List",padding:2},gb.createElement(qy,{colItems:i1e,items:t})))}};function PMt(o,e){return{SystemStatusMessageInfos:o.System.SystemStatusMessages,SystemStatusMessages:o.System.SystemStatusMessages}}function DMt(o){return{onSystemStatusMessageInfoDeleteAll:()=>o(B_())}}var s1e=bt(PMt,DMt)(Iee);d();var Cb=I(require("react"));var sW=I(Ce());d();var rW=o=>{let e=Uo.getMessageTypeFromAdaptableAlerts(o),t=Uo.getColorByMessageType(e),n=Uo.getButtonColourForAdaptableAlerts(o,t);return{color:Uo.getButtonTextColourForArrayandMessageType(o,e),background:n}};d();var l1e=I(require("react"));d();var Or=I(require("react"));var Qc=I(Ce());var XA="ab-Adaptable-Object-Compact-List",OMt=20,FMt=o=>{var h,C,y,v,x,A,R,w;let e=yt(),t=pe(),n=o.module.toViewCompact(o.abObject),r=(C=(h=o.module)==null?void 0:h.getViewProperties)==null?void 0:C.call(h),i=(y=r==null?void 0:r.getCompactDeleteAction)==null?void 0:y.call(r,o.abObject),a=t.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),s=(v=r==null?void 0:r.getCompactSuspendAction)==null?void 0:v.call(r,o.abObject),l=(x=r==null?void 0:r.getCompactUnSuspendAction)==null?void 0:x.call(r,o.abObject),u=o.abObject.IsSuspended,c=Or.useCallback(P=>{P.stopPropagation(),P.preventDefault(),e(i)},[]),p=Or.useCallback(P=>{P.stopPropagation(),P.preventDefault(),e(u?l:s)},[o.abObject]),m=n.item.label;return typeof m=="function"&&(m=Or.createElement(m,{data:o.abObject})),m=m!=null?m:n.item.name,Or.createElement(Qc.Flex,{className:`${XA}__Item`,alignItems:"center"},m&&Or.createElement(Qc.Flex,{className:`${XA}__Item__Name`},m),Or.createElement(Qc.Box,{flex:1},typeof n.item.view=="function"?Or.createElement(n.item.view,{data:o.abObject}):n.item.view,Boolean(((A=n.item)==null?void 0:A.values)&&((w=(R=n.item)==null?void 0:R.values)==null?void 0:w.length))&&Or.createElement(Qc.Box,{mb:2,className:`${XA}__Item__Values`},Or.createElement(Va,{style:{marginRight:0},readOnly:!0,options:n.item.values,value:n.item.values,allowWrap:!0,toIdentifier:P=>P,toLabel:P=>Or.createElement(Or.Fragment,null,P)}))),s&&l&&Or.createElement(ue,{onMouseDown:p,tone:u?"neutral":"success",variant:"text",icon:u?"play":"pause"}),Or.createElement(Qc.Flex,{ml:1},i&&Or.createElement(ue,{iconSize:OMt,icon:"delete",variant:"text",onMouseDown:c,accessLevel:a})))},iW=o=>{var c,p,m,h,C;let e=pe(),t=(p=(c=o.module).getViewProperties)==null?void 0:p.call(c),n=(m=t==null?void 0:t.getDeleteAllAction)==null?void 0:m.call(t),r=(h=t==null?void 0:t.getSuspendAllAction)==null?void 0:h.call(t),i=(C=t==null?void 0:t.getUnSuspendAllAction)==null?void 0:C.call(t),a=yt(),s=e.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),l=o.abObjects.some(y=>!y.IsSuspended),u=Or.useCallback(y=>{y.stopPropagation(),y.preventDefault(),a(l?r:i)},[l]);return Or.createElement(Qc.Flex,{flexDirection:"column",className:XA},Or.createElement(Qc.Flex,{className:`${XA}__Header`,fontSize:3},Or.createElement(Qc.Box,{className:`${XA}__Title`},o.module.moduleInfo.FriendlyName),Or.createElement(Qc.Box,{flex:1}),r&&i&&Or.createElement(ue,{mr:2,onMouseDown:u,tone:l?"neutral":"success",variant:"raised",icon:l?"pause":"play",accessLevel:s},l?"Suspend All":"Unsuspend All"),n&&Or.createElement(ue,{onMouseDown:()=>a(n),variant:"raised",tone:"neutral",accessLevel:s},"Clear All")),Or.createElement(Qc.Box,{className:`${XA}__Body`},o.abObjects.map(y=>Or.createElement(FMt,{key:y.Uuid,abObject:y,module:o.module}))))};var aW=()=>{let e=pe().ModuleService.getModuleById(Ri),t=_t(n=>n.System.AdaptableAlerts);return l1e.createElement(iW,{abObjects:t,module:e})};var Pee=class extends Cb.Component{constructor(e){super(e),this.state={ShowMessage:!1,Alerts:this.props.AdaptableAlerts}}componentDidUpdate(){this.state.Alerts.length!=this.props.AdaptableAlerts.length&&this.setState({ShowMessage:!0,Alerts:this.props.AdaptableAlerts})}render(){let e=Uo.getMessageTypeFromAdaptableAlerts(this.props.AdaptableAlerts),{color:t,background:n}=rW(this.props.AdaptableAlerts),r=this.props.AdaptableAlerts.length==0?"0 Alerts":this.props.AdaptableAlerts.length==1?"1 Alert":this.props.AdaptableAlerts.length+" Alerts",i=Cb.createElement(aW,null),a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Cb.createElement(sW.Flex,{alignItems:"stretch",className:`ab-${a}__Alert__wrap`},Cb.createElement(sW.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${a}__Alert__text`,marginRight:2,padding:2,color:t,backgroundColor:n,fontSize:"var( --ab-font-size-2)",alignItems:"center"},r),this.props.AdaptableAlerts.length>0&&Cb.createElement(sW.Flex,{alignItems:"center"},Cb.createElement(Jn,{className:`ab-${a}__Alert__info`,headerText:"",bodyText:[i],MessageType:e,useButton:!0,showEvent:"focus",hideEvent:"blur"})))}};function MMt(o,e){return{AlertDefinitions:o.Alert.AlertDefinitions,AdaptableAlerts:o.System.AdaptableAlerts}}function NMt(o){return{onDeleteAlert:e=>o(zD(e)),onDeleteAllAlert:e=>o(k_(e))}}var u1e=bt(MMt,NMt)(Pee);d();var Gh=I(require("react"));var uW=I(Ce());d();var lW=I(require("react"));var aI=class extends lW.Component{render(){return lW.createElement(ue,S({"data-name":"apply",tooltip:"Apply",iconSize:20,icon:"check",variant:"text"},this.props))}};var Dee=class extends Gh.Component{constructor(t){super(t);this.state={Disabled:!0}}componentDidMount(){if(this.props.api){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=this.getStatusColour(),n=this.props.BulkUpdateValidationResult.Column,r=Gh.createElement(Oh,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:n,showPanel:!0,showHeader:!1}),i=this.props.accessLevel=="ReadOnly"||!this.props.BulkUpdateValidationResult.IsValid||this.props.InPivotMode==!0,a={color:t,fill:"currentColor"},s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Gh.createElement(uW.Flex,{flexDirection:"row",className:$e(i?Ai:"",`ab-${s}__BulkUpdate__wrap`),flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Gh.createElement(uW.Flex,null,Gh.createElement(hb,{selectedGridCells:this.props.SelectedGridCells,newLabel:"New",existingLabel:"Existing",dropdownButtonProps:{listMinWidth:160},className:`ab-${s}__BulkUpdate__select`,disabled:i,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:n,api:this.props.api,onColumnValueChange:l=>this.onColumnValueSelectedChanged(l)})),Gh.createElement(uW.Flex,null,!i&&ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&Gh.createElement(aI,{marginLeft:2,className:`ab-${s}__BulkUpdate__apply`,onClick:()=>this.onApplyClick(),style:a,tooltip:"Apply Bulk Update",disabled:ct.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Update"),!i&&ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&Gh.createElement(Jn,{popoverMinWidth:360,className:`ab-${s}__BulkUpdate__info`,headerText:"Preview Results",bodyText:[r],MessageType:Rn.getMessageTypeByStatusColour(t),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}onColumnValueSelectedChanged(t){this.props.onBulkUpdateValueChange(t)}checkSelectedCells(){this.props.onBulkUpdateCheckSelectedCells(),ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.onBulkUpdateValueChange("")}getStatusColour(){if(ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate(),this.props.onBulkUpdateValueChange("")}};function LMt(o,e){var t;return{SelectedGridCells:(t=o.Grid.SelectedCellInfo)==null?void 0:t.gridCells,BulkUpdateValue:o.System.BulkUpdateValue,BulkUpdateValidationResult:o.System.BulkUpdateValidationResult,PreviewInfo:o.System.BulkUpdatePreviewInfo,InPivotMode:o.Grid.IsGridInPivotMode}}function _Mt(o){return{onBulkUpdateValueChange:e=>o(fE(e)),onBulkUpdateCheckSelectedCells:()=>o(G_()),onRunBulkUpdate:()=>o(E1(!1))}}var d1e=bt(LMt,_Mt)(Dee);d();var zu=I(require("react"));d();var c1e=I(require("react"));var p1e=o=>c1e.createElement(fb,{CellSummary:o.CellSummary});var sI=I(Ce());var Oee=class extends zu.Component{constructor(t){super(t)}componentDidMount(){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()})),this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=zl.getNames(_D).map((u,c)=>({label:u,onClick:()=>this.props.onCellSummaryOperationChange(u)})),n=this.props.api.cellSummaryApi.getCellSummaryOperationDefinitions(),r=We.IsNullOrEmpty(n)?[]:n.map(u=>({onClick:()=>this.props.onCellSummaryOperationChange(u.operationName),label:u.operationName})),i=zu.createElement(p1e,{CellSummary:this.props.CellSummary}),a=this.props.accessLevel=="ReadOnly"||this.props.api.internalApi.isGridInPivotMode()||this.props.CellSummary==null,s=()=>{if(a)return;let u=this.getOperationValue();if(u!=null)return this.props.viewType==="ToolPanel"?zu.createElement(sI.Flex,{className:`ab-${l}__CellSummary__value`,style:{borderRadius:"var(--ab__border-radius)"},marginRight:2,padding:2,color:"var( --ab-color-text-on-info)",backgroundColor:"var(--ab-color-info)",fontSize:"var( --ab-font-size-2)"},u):zu.createElement(sI.Flex,{flex:1,marginRight:2,marginLeft:1,justifyContent:"center",className:`ab-${l}__CellSummary__value`,color:"var(--ab-color-text-on-primary)"},u)},l=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return zu.createElement(sI.Flex,{flexDirection:"row",className:a?Ai:`ab-${l}__CellSummary__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},zu.createElement(sI.Flex,{flex:1},zu.createElement(Qe,{style:{fontSize:"small",width:"100%"},marginRight:2,columns:["label"],className:`ab-${l}__CellSummary__select`,items:[...t,...r],disabled:a,variant:"outlined",tone:"neutral"},this.props.CellSummaryOperation)),zu.createElement(sI.Flex,{alignItems:"center"},zu.createElement(zu.Fragment,null,s(),this.props.CellSummary!=null&&this.props.CellSummary.Count>0&&zu.createElement(Jn,{popoverMaxWidth:360,className:"ab-ToolPanel__CellSummary__info",bodyText:[i],useButton:!0,showEvent:"focus",hideEvent:"blur"}))))}checkSelectedCells(){this.props.onCreateCellSummary()}getOperationValue(){return this.props.api.cellSummaryApi.getCellSummaryOperationValue(this.props.CellSummaryOperation)}};function kMt(o,e){return{SelectedCellInfo:o.Grid.SelectedCellInfo,CellSummaryOperation:o.System.CellSummaryOperation,CellSummary:o.Grid.CellSummary}}function BMt(o){return{onCellSummaryOperationChange:e=>o(H_(e)),onCreateCellSummary:()=>o(HE())}}var m1e=bt(kMt,BMt)(Oee);d();var hm=I(require("react"));d();var h1e=I(require("react"));var dW=()=>{let o=pe(),e=o.ModuleService.getModuleById(wi),t=o.api.filterApi.getColumnFilters();return h1e.createElement(iW,{abObjects:t,module:e})};var cW=I(Ce());var Fee=class extends hm.Component{constructor(e){super(e)}render(){var s,l;let e=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",t=(s=this.props.api.optionsApi.getFilterOptions())==null?void 0:s.showClearFilterButton,n=(l=this.props.api.optionsApi.getFilterOptions())==null?void 0:l.showSuspendFilterButton,r=this.props.api.filterApi.getActiveColumnFilters().length>0,i=this.props.api.filterApi.getColumnFilters().length>0,a=()=>{r?this.props.api.filterApi.suspendAllColumnFilters():this.props.api.filterApi.unSuspendAllColumnFilters()};return hm.createElement(cW.Flex,{flexDirection:"row",className:`ab-${e}__Filter__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},hm.createElement(cW.Flex,null,pt.IsNotNullOrEmpty(this.props.ColumnFilters)&&hm.createElement(Jn,{popupPadding:0,className:`ab-${e}__Filter__info`,headerText:"",bodyText:[hm.createElement(dW,null)],useButton:!0,showEvent:"focus",hideEvent:"blur",popoverMinWidth:400}),t&&hm.createElement(um,{className:`ab-${e}__Filter__clear`,marginLeft:1,marginBottom:0,marginRight:1,onClick:()=>this.onClearFilters(),tooltip:"Clear Filters",disabled:this.props.ColumnFilters.length==0,showText:this.props.viewType==="ToolPanel"},this.props.viewType==="ToolPanel"&&"Clear"),n&&hm.createElement(ue,{className:$e(`ab-${e}__Filter__suspend-button`,r&&`ab-${e}__Filter__suspend-all`,!r&&`ab-${e}__Filter__un-suspend-all`),disabled:!i,onClick:a,tone:r?"neutral":"success",variant:"text",icon:r?"pause":"play",accessLevel:this.props.accessLevel})),hm.createElement(cW.Flex,{alignItems:"center"},this.props.api.filterApi.isQuickFilterAvailable()&&hm.createElement(Ne,{className:`ab-${e}__Filter__active-check`,disabled:this.props.accessLevel==="ReadOnly"||this.props.api.internalApi.isGridInPivotMode(),marginTop:0,marginBottom:0,fontSize:2,padding:1,checked:this.props.IsQuickFilterVisible,onChange:u=>{u?this.props.onShowQuickFilterBar():this.props.onHideQuickFilterBar()}},"Quick Filter")))}onClearFilters(){this.props.api.filterApi.clearColumnFilters()}onClearColumnFilter(e){this.props.api.filterApi.clearColumnFilterForColumn(e.ColumnId)}};function VMt(o){return{ColumnFilters:qC(o),IsQuickFilterVisible:o.System.IsQuickFilterVisible}}function GMt(o){return{onHideQuickFilterBar:()=>o(bE()),onShowQuickFilterBar:()=>o(yE())}}var f1e=bt(VMt,GMt)(Fee);d();var ZA=I(require("react"));var g1e=I(Ce()),Mee=class extends ZA.Component{constructor(e){super(e)}render(){let e=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return ZA.createElement(g1e.Flex,{flexDirection:"row",className:`ab-${e}__Dashboard__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"}," ",ZA.createElement(Ne,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsCollapsed,onChange:t=>this.props.onSetDashboardCollapsed(t)},"Collapse"),"",this.props.api.optionsApi.getDashboardOptions().canFloat&&ZA.createElement(Ne,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsFloating,onChange:t=>this.props.onSetDashboardFloating(t)},"Float")," ",ZA.createElement(Ne,{className:`ab-${e}__Dashboard__hidden-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsHidden,onChange:t=>this.props.onSetDashboardHidden(t)},"Hidden"))}};function HMt(o,e){return{IsCollapsed:o.Dashboard.IsCollapsed,IsHidden:o.Dashboard.IsHidden,IsFloating:o.Dashboard.IsFloating}}function UMt(o){return{onSetDashboardCollapsed:e=>o(Ec(e)),onSetDashboardHidden:e=>o(uh(e)),onSetDashboardFloating:e=>o(wc(e))}}var C1e=bt(HMt,UMt)(Mee);d();var ju=I(require("react"));var f0=I(Ce());d();var mW=I(require("react"));var pW=class extends mW.Component{render(){return mW.createElement(ue,S({"data-name":"export",tooltip:"Export",iconSize:20,icon:"export-data",variant:"text"},this.props))}};d();var fW=I(require("react"));var hW=class extends fW.Component{render(){return fW.createElement(ue,S({"data-name":"schedule",tooltip:"Schedule",iconSize:20,icon:"schedule",variant:"text"},this.props))}};d();var JA="Select Report",lI="Select Destination";var Nee=class extends ju.Component{render(){let e=this.props.api.exportApi.getReportByName(this.props.CurrentReport),t=ct.IsNullOrEmpty(this.props.CurrentReport)?JA:this.props.CurrentReport,n=this.getAllReportNames(),r=n.map(m=>({label:m,value:m,onClick:()=>this.onSelectedReportChanged(m)}));e&&!n.includes(e.Name)&&(e=void 0,t=JA);let i=this.props.api.exportApi.getDestinationByName(this.props.CurrentDestination),a=ct.IsNullOrEmpty(this.props.CurrentDestination)?lI:this.props.CurrentDestination,s=[...this.props.api.exportApi.getAvailableExportDestinations().map(m=>({label:m,onClick:()=>this.onSelectedDestinationChanged(m),disabled:!this.props.api.exportApi.internalApi.isDestinationEnabled(m)})),...this.props.api.exportApi.getCustomDestinations().map(m=>({label:m.name,onClick:()=>this.onSelectedDestinationChanged(m.name)}))];(e==null?void 0:e.Name)===is&&s.forEach(m=>m.disabled=m.label!=="Excel"),i&&!s.filter(m=>!m.disabled).map(m=>m.label).includes(this.props.CurrentDestination)&&(i=void 0,a=lI);let l=jt.getAppropriateAccessLevel(e,this.props.accessLevel),u="Are you sure you want to delete '";e!=null&&(u=u+e.Name+"'?");let c=()=>{this.props.onApplyExport(e,this.isCustomDestination(i)?i.name:i)},p=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return ju.createElement(f0.Flex,{style:{gap:5},flexDirection:"row",className:`ab-${p}__Export__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},ju.createElement(f0.Flex,{flex:1},ju.createElement(Qe,{disabled:n.length==0,width:"100%",fontSize:"small",items:r,columns:["label"],className:`ab-${p}__Export__select`,onClear:()=>this.onSelectedReportChanged(null),showClearButton:!!e,variant:"outlined",marginRight:2},t)),ju.createElement(f0.Flex,{flex:1},ju.createElement(Qe,{disabled:t===JA,width:"100%",fontSize:"small",items:s,columns:["label"],className:`ab-${p}__Export__export`,onClear:()=>this.onSelectedDestinationChanged(null),showClearButton:!!i,variant:"outlined",marginRight:2},a)),ju.createElement(f0.Flex,{className:$e(l=="ReadOnly"?Ai:"",`ab-${p}__Export__controls`),style:{width:"100%"}},ju.createElement(pW,{onClick:()=>c(),tooltip:"Export Report",className:`ab-${p}__Export__export`,disabled:e==null||i==null}),ju.createElement(Nh,{onClick:()=>this.props.onEditReport(this.props.moduleInfo.Popup),tooltip:"Edit Report",className:`ab-${p}__Export__edit`,disabled:e==null||this.props.api.exportApi.isExternalReport(e),accessLevel:l}),ju.createElement(Yy,{variant:"text",className:`ab-${p}__Export__new`,tone:"neutral",children:null,onClick:()=>this.props.onNewReport(this.props.moduleInfo.Popup),tooltip:"Create New Report",accessLevel:l}),ju.createElement(Lh,{tooltip:"Delete Report",className:`ab-${p}__Export__delete`,disabled:e==null,ConfirmAction:Rk(e),ConfirmationMsg:u,ConfirmationTitle:"Delete Report",accessLevel:l}),this.props.api.internalApi.getEntitlementService().isModuleFullEntitlement("Schedule")&&ju.createElement(hW,{marginLeft:1,className:`ab-${p}__Export__schedule`,onClick:()=>this.onNewReportSchedule(),tooltip:"Schedule",disabled:e==null,accessLevel:this.props.accessLevel})))}onSelectedReportChanged(e){this.props.onSelectReport(e)}onSelectedDestinationChanged(e){this.props.onSelectDestination(e)}getAllReportNames(){let e=[...this.props.api.exportApi.getAvailableSystemReports(),...this.props.UserReports.map(n=>n.Name)],t=this.props.api.exportApi.getExternalReports();return We.IsNotNullOrEmpty(t)&&e.push(...t.map(n=>n.name)),e}isCustomDestination(e){return!!(e!=null&&e.name)}onNewReportSchedule(){let e=it.CreateReportSchedule(this.props.CurrentReport);this.props.onNewReportSchedule(e)}};function WMt(o){return{CurrentReport:o.Export.CurrentReport,CurrentDestination:o.Export.CurrentDestination,UserReports:o.Export.Reports}}function zMt(o){return{onApplyExport:(e,t)=>o(jE(e,t)),onSelectReport:e=>o(WE(e)),onSelectDestination:e=>o(KE(e)),onNewReport:e=>o(En(Hi,e,{action:"New",source:"Toolbar"})),onEditReport:e=>o(En(Hi,e,{action:"Edit",source:"Toolbar"})),onNewReportSchedule:e=>o(En(Cd,"SchedulePopup",{action:"New",source:"Toolbar",value:e}))}}var y1e=bt(WMt,zMt)(Nee);d();var $c=I(require("react"));var CW=I(Ce());d();var gW=I(require("react"));var yb=class extends gW.Component{render(){return gW.createElement(ue,S({"data-name":"save",iconSize:20,icon:"save",tooltip:"Save",variant:"text"},this.props))}};var Lee=class extends $c.Component{render(){let e=this.props.Layouts.find(l=>l.Name==this.props.CurrentLayoutName||l.Uuid==this.props.CurrentLayoutName),t=this.props.accessLevel,n=this.props.accessLevel,r=jt.getAppropriateAccessLevel(e,this.props.accessLevel),i=!this.props.api.layoutApi.shouldAutoSaveLayouts(),a=this.props.Layouts.map((l,u)=>T(S({},l),{label:l.Name,value:l.Name,onClick:()=>this.props.onSelectLayout(l.Name)})),s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return $c.createElement(CW.Flex,{flexDirection:"row",className:`ab-${s}__Layout__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},$c.createElement(CW.Flex,{flex:1},$c.createElement(Qe,{marginRight:2,columns:["label"],style:{width:"100%",fontSize:"small"},className:`ab-${s}__Layout__select`,items:a,disabled:a.length==0},e?e.Name:null)),$c.createElement(CW.Flex,{flexDirection:"row",className:$e(this.props.accessLevel=="ReadOnly"?Ai:"",`ab-${s}__Layout__wrap`)},i&&$c.createElement(yb,{className:`ab-${s}__Layout__save`,onClick:()=>this.onSaveLayout(),tooltip:"Save Changes to Current Layout",disabled:!this.props.CanSave,accessLevel:r}),$c.createElement(Nh,{onClick:()=>this.props.api.layoutApi.showLayoutEditor(e.Name),tooltip:"Edit Layout",className:`ab-${s}__Layout__edit`,accessLevel:r}),$c.createElement(x3,{onClick:()=>this.props.api.layoutApi.showLayoutEditor(e.Name,"Clone"),tooltip:"Clone Layout",className:`ab-${s}__Layout__clone`,tone:"neutral",variant:"text",children:null,accessLevel:t}),$c.createElement(Yy,{children:null,tone:"neutral",variant:"text",className:`ab-${s}__Layout__new`,onClick:()=>this.props.api.layoutApi.showLayoutEditor(null,"New"),tooltip:"Create a new Layout",accessLevel:n}),$c.createElement(Lh,{tooltip:"Delete Layout",disabled:this.props.Layouts.length<=1,className:`ab-${s}__Layout__delete`,ConfirmAction:GE(e),ConfirmationMsg:"Are you sure you want to delete '"+this.props.CurrentLayoutName+"'?",ConfirmationTitle:"Delete Layout",accessLevel:r})))}onSaveLayout(){let e=this.props.CurrentDraftLayout;e&&this.props.onSaveLayout(e)}};function jMt(o,e){let t=o.Layout.CurrentLayout,n=o.Layout.Layouts||[],r=n.find(a=>a.Name===t),i=e.api;return{CurrentLayoutName:t,CurrentDraftLayout:o.Grid.CurrentLayout||r,Layouts:n,CanSave:o.Grid.CurrentLayout&&!i.layoutApi.internalApi.areDraftAndCurrentLayoutEqual()}}function KMt(o){return{onSelectLayout:e=>o(ih(e)),onSaveLayout:e=>{o(rh(e)),o(ah(null))}}}var b1e=bt(jMt,KMt)(Lee);d();var ar=I(require("react"));var AW=I(Ce());d();var yW=I(require("react"));var g0=class extends yW.Component{render(){return yW.createElement(ue,S({"data-name":"expand",tooltip:"Expand",iconSize:20,icon:"arrow-expand",variant:"text"},this.props))}};d();var bW=I(require("react"));var fm=class extends bW.Component{render(){return bW.createElement(ue,S({"data-name":"play",tooltip:nt.IsNullOrEmpty(this.props.tooltip)?"Play":this.props.tooltip,iconSize:20,icon:"play",variant:"text"},this.props))}};d();var vW=I(require("react"));var SW=class extends vW.Component{render(){return vW.createElement(ue,S({"data-name":"invalid",tooltip:"Invalid",iconSize:20,icon:"warning"},this.props))}};var _ee=class extends ar.Component{constructor(e){super(e),this.state={isAdaptableReady:!1,expression:this.props.CurrentQuery||""}}componentDidMount(){this.props.api.eventApi.on("AdaptableReady",()=>{this.setState({isAdaptableReady:!0})})}componentDidUpdate(e){e.CurrentQuery!==this.props.CurrentQuery&&this.setState({expression:this.props.CurrentQuery})}render(){if(this.state.isAdaptableReady===!1)return null;let e=this.state.expression==""||this.props.api.internalApi.getQueryLanguageService().validateBoolean(this.state.expression,cr).isValid,t=this.props.NamedQueries.find(m=>m.BooleanExpression==this.state.expression)!=null,r=[...pt.sortArrayWithProperty("Asc",this.props.NamedQueries,"Name").map(m=>({label:m.Name,icon:m.BooleanExpression===this.props.CurrentQuery?ar.createElement(mo,{name:"check"}):null,onClick:()=>this.runQuery(m.BooleanExpression)})),...pt.IsNotNullOrEmpty(this.props.CachedQueries)?[{separator:!0}]:[],...pt.IsNotNullOrEmpty(this.props.CachedQueries)?this.props.CachedQueries.slice(-5).reverse().map(m=>({label:`Query at ${m.time.toLocaleTimeString("en-US")}`,icon:ar.createElement(mo,{name:"history"}),onClick:()=>this.props.onRunQuery(m.expression)})):[]],i=this.props.api.columnApi.getColumns().map(m=>({label:m.friendlyName,onClick:()=>this.setState({expression:this.state.expression+`[${m.columnId}]`})})),a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",s=m=>{m.key==="Enter"&&this.runQuery()},l=()=>this.props.viewType==="Toolbar"?ar.createElement(Ry,{marginRight:1,width:600},ar.createElement(g0,{variant:"text",tone:"neutral",onClick:()=>this.props.api.queryApi.expandCurrentQuery(this.state.expression),tooltip:"Expand",marginLeft:1}),ar.createElement(mt,{type:"text","data-name":"query-input",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:m=>this.setState({expression:m.target.value}),style:{fontFamily:"monospace",fontSize:12}}),e?ar.createElement(fm,{onClick:()=>this.runQuery(),tooltip:"",accessLevel:"Full",variant:"text",tone:"neutral",disabled:this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}):ar.createElement(SW,{variant:"text",tone:"neutral",tooltip:"Invalid Query",marginRight:1})," ",this.props.CurrentQuery!==""&&ar.createElement(um,{onClick:()=>this.clearQuery(),tooltip:"Clear Query",accessLevel:"Full"})):ar.createElement(mt,{type:"text",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:m=>this.setState({expression:m.target.value}),style:{width:"100%"}}),u=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(cr),c=ar.createElement(yb,{onClick:()=>this.saveQuery(),tooltip:"Save as New Query",accessLevel:u,disabled:!e||t||this.state.expression=="",variant:"text",tone:"neutral",marginRight:1}),p=()=>this.props.viewType==="Toolbar"?ar.createElement(ar.Fragment,null,c,ar.createElement(Qe,{variant:"text",items:i,marginRight:1,tooltip:"Pick Columns"},ar.createElement(mo,{name:"list"})),ar.createElement(Qe,{disabled:pt.IsNullOrEmpty(r),variant:"text",items:r,marginRight:1,tooltip:"Load Query",icon:"folder-open"})," "):ar.createElement(ar.Fragment,null,c,ar.createElement(g0,{variant:"text",tone:"neutral",onClick:()=>this.props.api.queryApi.expandCurrentQuery(this.state.expression),tooltip:"Expand",marginLeft:1}),ar.createElement(um,{onClick:()=>this.clearQuery(),tooltip:"Clear Query",accessLevel:"Full",disabled:this.state.expression==""}),ar.createElement(fm,{onClick:()=>this.runQuery(),tooltip:"Run Query",accessLevel:"Full",variant:"text",tone:"neutral",disabled:!e||this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}),ar.createElement(Qe,{variant:"text",disabled:pt.IsNullOrEmpty(r),items:r,marginRight:1,tooltip:"Load Query",icon:"folder-open"}));return ar.createElement(AW.Flex,{onKeyDown:s,flexDirection:"row",className:`ab-${a}__Query__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},ar.createElement(AW.Flex,null,l()),ar.createElement(AW.Flex,null,p()))}clearQuery(){this.props.onRunQuery("")}saveQuery(){this.props.onShowNamedQueries(this.state.expression,this.props.moduleInfo.Popup)}onSelectedQueryChanged(e){this.props.onRunQuery(e)}runQuery(e=this.state.expression){if(nt.IsNullOrEmpty(e)&&nt.IsNotNullOrEmpty(this.props.CurrentQuery)){this.props.onRunQuery("");return}if(!!this.props.api.internalApi.getQueryLanguageService().validateBoolean(e,cr).isValid){if(nt.IsNotNullOrEmpty(this.state.expression)){let t={expression:this.state.expression,time:new Date};t&&this.props.onAddCachedQuery(t)}this.props.onRunQuery(e)}}};function QMt(o){return{CurrentQuery:o.Query.CurrentQuery,NamedQueries:o.Query.NamedQueries,CachedQueries:o.System.CachedQueries}}function $Mt(o){return{onAddCachedQuery:e=>o(Lme(e)),onRunQuery:e=>o(Ov(e)),onShowNamedQueries:(e,t)=>o(En(cr,t,{action:"New",source:"Toolbar",value:e}))}}var S1e=bt(QMt,$Mt)(_ee);d();var v1e=I(require("react"));d();var kee=I(require("react"));var xW=o=>{let e=pe(),t=_t(s=>s.QuickSearch.QuickSearchText),n=yt(),r=kee.default.useCallback(s=>n(Kp(s)),[]),[i,a]=MT({QuickSearchText:t,onRunQuickSearch:r});return kee.default.createElement(Cl,{type:"text",autoFocus:o.autoFocus,placeholder:e.api.optionsApi.getQuickSearchOptions().quickSearchPlaceholder,className:o.className,value:i,OnTextChange:a,style:{height:"100%"},inputStyle:{width:"7rem"}})};var A1e=o=>{let e=o.viewType==="ToolPanel"?"DashboardToolbar":"ToolPanel";return v1e.createElement(xW,{className:`ab-${e}__QuickSearch__text`})};d();var gm=I(require("react"));var RW=I(Ce());var Bee=class extends gm.Component{constructor(t){super(t);this.state={SelectedColumnId:""}}componentDidMount(){if(this.props.api){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=this.getStatusColour(),n=ct.IsNotNullOrEmpty(this.state.SelectedColumnId)?this.props.api.columnApi.getColumnWithColumnId(this.state.SelectedColumnId):null,r=gm.createElement(Oh,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:n,showPanel:!0,showHeader:!1}),i=zl.getNames(Jm).map((c,p)=>({onClick:()=>this.props.onSmartEditOperationChange(c),label:c})),a=this.props.api.smartEditApi.getSmartEditCustomOperations();a!=null&&a.length&&i.push(...a.map(c=>({onClick:()=>this.props.onSmartEditOperationChange(c),label:c.name})));let s={color:t,fill:"currentColor"},l=this.props.accessLevel=="ReadOnly"||!this.props.IsValidSelection||this.props.InPivotMode==!0,u=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return gm.createElement(RW.Flex,{flexDirection:"row",className:`ab-${u}__SmartEdit__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},gm.createElement(RW.Flex,null,gm.createElement(Qe,{className:`ab-${u}__SmartEdit__select`,marginRight:2,items:i,style:{fontSize:"small"},columns:["label"],disabled:l,variant:"outlined"},typeof this.props.SmartEditOperation=="object"?this.props.SmartEditOperation.name:this.props.SmartEditOperation),gm.createElement(mt,{style:{width:"5rem"},className:`ab-${u}__SmartEdit__select-value`,value:this.props.SmartEditValue.toString(),type:"number",placeholder:"Enter a Number",step:"any",onChange:c=>this.onSmartEditValueChange(c),disabled:l,marginRight:2})),gm.createElement(RW.Flex,null,!l&&gm.createElement(aI,{onClick:()=>this.onApplyClick(),style:s,className:`ab-${u}__SmartEdit__apply`,tooltip:"Apply Smart Edit",disabled:ct.IsNullOrEmpty(`${this.props.SmartEditValue}`)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Apply Smart Edit"),!l&&gm.createElement(Jn,{headerText:"Preview Results",className:`ab-${u}__SmartEdit__info`,bodyText:[r],MessageType:Rn.getMessageTypeByStatusColour(t),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}checkSelectedCells(){this.props.onSmartEditCheckSelectedCells()}onSmartEditValueChange(t){let n=t.target;this.props.onSmartEditValueChange(Number(n.value))}getStatusColour(){if(ct.IsNotNullOrEmpty(`${this.props.SmartEditValue}`)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplySmartEdit()}onApplySmartEdit(){this.props.onRunSmartEdit()}};function qMt(o,e){return{SmartEditValue:o.System.SmartEditValue,SmartEditOperation:o.System.SmartEditOperation,IsValidSelection:o.System.IsValidSmartEditSelection,PreviewInfo:o.System.SmartEditPreviewInfo,InPivotMode:o.Grid.IsGridInPivotMode}}function YMt(o){return{onSmartEditValueChange:e=>o(hE(e)),onSmartEditOperationChange:e=>o(JS(e)),onSmartEditCheckSelectedCells:()=>o(V_()),onRunSmartEdit:()=>o(j1(!1))}}var x1e=bt(qMt,YMt)(Bee);d();var C0=I(require("react")),Vee=I(Ce());d();var EW=o=>{var n;let e=Uo.getColorByMessageType((n=o==null?void 0:o.statusType)!=null?n:"Success"),t=o?Uo.getButtonTextColourForMessageType(o.statusType):"";return{background:e,color:t}};var Gee=class extends C0.Component{constructor(e){super(e)}render(){let e=this.props.api.systemStatusApi.getCurrentSystemStatusMessageInfo(),{color:t,background:n}=EW(e),r=e==null?void 0:e.statusMessage,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return C0.createElement(Vee.Flex,{flexDirection:"row",className:`ab-${i}__SystemStatus__wrap`},C0.createElement(Vee.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${i}__SystemStatus__text`,marginRight:2,padding:2,color:t,backgroundColor:r?n:"",fontSize:"var( --ab-font-size-2)",alignItems:"center","data-name":"system-status-message"},r||"0 Messages"))}};function XMt(o){return{SystemStatusMessageInfos:o.System.SystemStatusMessages}}function ZMt(o){return{}}var R1e=bt(XMt,ZMt)(Gee);d();var y0=I(require("react"));var Hee=class extends y0.Component{render(){var s,l,u,c;let e=(u=(l=(s=this.props.api)==null?void 0:s.themeApi)==null?void 0:l.getThemes)==null?void 0:u.call(l),t=e.map((p,m)=>(typeof p=="string"&&(p={Name:p,Description:p}),{label:p.Description,onClick:()=>this.onSelectTheme(p)})),n=e.find(p=>p.Name===this.props.CurrentTheme),r=(c=n==null?void 0:n.Description)!=null?c:this.props.CurrentTheme,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",a=this.props.viewType==="Toolbar"?{maxWidth:"25rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:"small"}:{minWidth:"100%",fontSize:"small"};return y0.createElement("div",{className:$e(this.props.accessLevel=="ReadOnly"?Ai:"",`ab-${i}__Theme__wrap`)},y0.createElement(Qe,{className:`ab-${i}__Theme__select`,style:a,items:t,columns:["label"],accessLevel:this.props.accessLevel},r))}onSelectTheme(e){this.props.onSelectTheme(e.Name)}};function JMt(o,e){return{SystemThemes:o.Theme.SystemThemes,CurrentTheme:o.Theme.CurrentTheme,UserThemes:o.Theme.UserThemes}}function e0t(o){return{onSelectTheme:e=>o($E(e))}}var E1e=bt(JMt,e0t)(Hee);d();var b0=I(require("react"));var w1e=I(Ce());var Uee=class extends b0.Component{getCurrentDataSet(){return ct.IsNullOrEmpty(this.props.CurrentDataSetName)?null:this.getDataSets().find(e=>e.name==this.props.CurrentDataSetName)}getDataSets(){return this.props.api.dataSetApi.getDataSets()}render(){var i,a;let e="Select Data Set",t=(a=(i=this.getCurrentDataSet())==null?void 0:i.name)!=null?a:e,n=this.getDataSets().map(s=>({value:s.name,label:s.name,onClick:()=>this.onSelectedDataSetChanged(s.name)})),r=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return b0.createElement(w1e.Flex,{flexDirection:"row",className:`ab-${r}__DataSet__wrap`},b0.createElement(Qe,{marginRight:2,columns:["label"],style:{minWidth:160,fontSize:"small"},className:`ab-${r}__DataSet__select`,items:n,variant:"outlined",tone:"neutral"},t))}onSelectedDataSetChanged(e){if(ct.IsNullOrEmpty(e))this.setState({CurrentDataSet:null});else{let t=this.getDataSets().find(n=>n.name==e);this.setState({CurrentDataSet:t}),this.props.onSelectDataSet(t)}}};function t0t(o){return{CurrentDataSetName:o.System.CurrentDataSet}}function o0t(o){return{onSelectDataSet:e=>o(KD(e))}}var T1e=bt(t0t,o0t)(Uee);d();var yr=I(require("react"));d();var wW=I(require("react"));var ex=require("react");d();var I1e=(o,e,t,n)=>{let r=o.changeHistoryButton;if(!r||Array.isArray(r)&&r.length===0)return null;Array.isArray(r)||(r=[r]);let i=u=>u.adaptableApi.gridApi.isGroupRowNode(u.rowNode),a=u=>{var p;let c=u.rowNode;if(u.adaptableApi.gridApi.isGroupRowNode(c)){let m=(p=u.rowNode)==null?void 0:p.childrenAfterFilter;m&&m.forEach(h=>t(h))}else t(c)},s=u=>{let c=u.rowNode;n(c)},l=u=>{let c=u.rowNode.data.changeInfo;return T(S({},u),{isGroupNode:i(u),undoDataChange:()=>a(u),clearRow:()=>s(u),dataChangedInfo:c,parentAdapTableApi:e})};return r.map(u=>({label:(c,p)=>typeof u.label!="function"?u.label:u.label(c,l(p)),buttonStyle:(c,p)=>typeof u.buttonStyle!="function"?u.buttonStyle:u.buttonStyle(c,l(p)),tooltip:(c,p)=>typeof u.tooltip!="function"?u.tooltip:u.tooltip(c,l(p)),disabled:(c,p)=>typeof u.disabled!="function"?u.disabled:u.disabled(c,l(p)),onClick:(c,p)=>{u.action==="undo"&&a(l(p)),u.action==="clear"&&s(l(p)),typeof u.onClick=="function"&&u.onClick(c,l(p))},hidden:(c,p)=>typeof u.hidden!="function"?u.hidden:u.hidden(c,l(p)),icon:u.icon}))};var D1e=o=>{let{changeHistoryLog:e,adaptableContainerId:t,agGridContainerId:n,onUndoChange:r,onClearRow:i}=o,a=pe(),[s,l]=(0,ex.useState)(null),u=(0,ex.useRef)(null);u.current=s;let c=a.api.internalApi.getEntitlementService().isModuleFullEntitlement(gd),p=Ed(e,e);return(0,ex.useEffect)(()=>((async()=>{let h=r0t(a,e),C=n0t(a,h,t,n,c,r,i),y=a.getAgGridRegisteredModules(),v={gridOptions:h,modules:y},x=Object.getPrototypeOf(a).constructor.init,A=await x(C,v);l(A)})(),()=>{var h;(h=u.current)==null||h.internalApi.getAdaptableInstance().destroy({unmount:!0,destroyApi:!0})}),[]),(0,ex.useEffect)(()=>{let m=u.current;if(!m)return;let h=Object.keys(e).filter(R=>{let w=p[R];return w?e[R].changedAt!==w.changedAt:!0}),C=Object.keys(p).filter(R=>{let w=e[R];return w?p[R].changedAt!==w.changedAt:!0}),y=P1e(e,h),v=P1e(p,C),x=zee(y,a),A=zee(v,a);m.gridApi.getAgGridInstance().api.applyTransactionAsync({add:x,remove:A})},[e]),wW.createElement(wW.Fragment,null)},n0t=(o,e,t,n,r,i,a)=>{var C,y,v;let s=o.adaptableOptions,l=o.api.themeApi.getCurrentTheme(),u=x=>{let A=x==null?void 0:x.data,R=A==null?void 0:A.changeKey;R&&i(R)},c=x=>{let A=x==null?void 0:x.data,R=A==null?void 0:A.changeKey;R&&a(R)},p=I1e((C=o.adaptableOptions)==null?void 0:C.dataChangeHistoryOptions,o.api,u,c),m;p&&(m={actionColumns:[{columnId:"undoActionColumn",friendlyName:" ",includeGroupedRows:!0,actionColumnSettings:{suppressMenu:!0,suppressMovable:!0},actionColumnButton:p}]});let h={_gridOptions:e,primaryKey:"primaryKey",licenseKey:s.licenseKey,userName:`${s.userName}`,adaptableId:`${s.adaptableId}::DataChangeHistory`,containerOptions:{adaptableContainer:t,agGridContainer:n},entitlementOptions:{defaultAccessLevel:"Hidden"},filterOptions:{quickFilterTrigger:"click"},layoutOptions:{createDefaultLayout:!1,autoSizeColumnsInLayout:!0},actionColumnOptions:m,predefinedConfig:{Layout:{Revision:Date.now(),CurrentLayout:"DataChangeHistoryLayout",Layouts:[{Name:"DataChangeHistoryLayout",Columns:["changeInfo.primaryKeyValue","changedColumnLabel","changeInfo.oldValue","changeInfo.newValue","changeInfo.changedAt","changeTriggerLabel","undoActionColumn"],ColumnSorts:[{ColumnId:"changeInfo.changedAt",SortOrder:"Desc"}],ColumnWidthMap:{undoActionColumn:110},PinnedColumnsMap:{undoActionColumn:"right"}}]},FormatColumn:{Revision:Date.now(),FormatColumns:[{Scope:{ColumnIds:["changeInfo.changedAt"]},DisplayFormat:{Formatter:"DateFormatter",Options:{Pattern:`${(v=(y=s.userInterfaceOptions)==null?void 0:y.dateInputOptions)==null?void 0:v.dateFormat} HH:mm:ss`}}}]},Theme:{Revision:Date.now(),CurrentTheme:l}}};if(!r){let x=h.predefinedConfig.Layout.Layouts[0].Columns;x.includes("undoActionColumn")&&(h.predefinedConfig.Layout.Layouts[0].Columns=x.filter(A=>A!=="undoActionColumn"))}return h},r0t=(o,e)=>{var r,i;let t=(i=(r=o.api.columnApi.getPrimaryKeyColumn())==null?void 0:r.friendlyName)!=null?i:"Row ID";return{suppressLoadingOverlay:!0,overlayNoRowsTemplate:'<div style="font-size: var(--ab-font-size-2);color: var(--ab-color-text-on-primary);">No Data Changes</div>',defaultColDef:{floatingFilter:!0,filter:!0,sortable:!0,resizable:!0,enableRowGroup:!0,editable:!1,enablePivot:!1,enableValue:!1,lockPinned:!0,suppressAutoSize:!0,menuTabs:["generalMenuTab","filterMenuTab"]},autoGroupColumnDef:{sortable:!0},columnDefs:[{field:"primaryKey",type:["abColDefString"],hide:!0},{headerName:`Row (${t})`,field:"changeInfo.primaryKeyValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Column",field:"changedColumnLabel",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Previous",field:"changeInfo.oldValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"New",field:"changeInfo.newValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Changed",field:"changeInfo.changedAt",type:["abColDefDate"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Source",field:"changeTriggerLabel",type:["abColDefString"],suppressAutoSize:!1,flex:2,initialFlex:2}],rowData:zee(e,o),enableRangeSelection:!0,suppressColumnVirtualisation:!1,sideBar:!1,rowSelection:"multiple",skipHeaderOnAutoSize:!0}},zee=(o={},e)=>Object.entries(o).map(([t,n])=>({primaryKey:`${t}::${n.changedAt}`,changeKey:t,changeTriggerLabel:a0t(n),changedColumnLabel:i0t(n.column.columnId,e),changeInfo:n})),Wee=new Map,i0t=(o,e)=>{var t,n;return Wee.has(o)||Wee.set(o,(n=(t=e.api.columnApi.getColumnWithColumnId(o))==null?void 0:t.friendlyName)!=null?n:o),Wee.get(o)},a0t=o=>o.trigger==="tick"?"Ticking":"User Edit",P1e=(o,e)=>{let t={};return e.forEach(n=>{t[n]=o[n]}),t};var Wd=I(Ce());d();var TW=I(require("react"));var uI=class extends TW.Component{render(){let e=this.props.fillColor==="red"?{name:"pause",style:{fill:"red"}}:{name:"pause"};return TW.createElement(ue,S({"data-name":"pause",tooltip:"Pause",iconSize:20,icon:e,variant:"text"},this.props))}};d();var IW=I(require("react"));var dI=class extends IW.Component{render(){return IW.createElement(ue,S({"data-name":"stop",tooltip:"Stop",iconSize:20,icon:"stop",variant:"text"},this.props))}};var jee=class extends yr.Component{constructor(e){super(e),this.state={dataChangeHistoryAdaptableApi:void 0}}render(){let{changeHistoryMode:e,activationTime:t,suspensionTime:n,onChangeHistoryEnable:r,onChangeHistoryDisable:i,onChangeHistorySuspend:a,onChangeHistoryResume:s}=this.props,l="dataChangeHistoryAdaptableContainer",u="dataChangeHistoryAgGridContainer",c=e==="ACTIVE",p=e==="INACTIVE",m=e==="SUSPENDED",h=yr.createElement(Wd.Flex,{className:"ab-DataChangeHistoryPopup--button-panel",padding:2,style:{gap:"var(--ab-space-1)"}},p&&yr.createElement(fm,{className:"ab-DataChangeHistoryPopup--button-activate","data-name":'data-change-history--button-activate"',variant:"raised",tone:"accent",tooltip:"",onClick:()=>r()},"Activate"),m&&yr.createElement(fm,{className:"ab-DataChangeHistoryPopup--button-resume","data-name":"data-change-history--button-resume",variant:"outlined",tooltip:"Resume tracking data changes",onClick:()=>s()},"Resume"),c&&yr.createElement(uI,{className:"ab-DataChangeHistoryPopup--button-suspend","data-name":"data-change-history--button-suspend",variant:"outlined",tooltip:"Suspend tracking data changes",onClick:()=>a()},"Suspend"),(c||m)&&yr.createElement(dI,{className:"ab-DataChangeHistoryPopup--button-deactivate","data-name":"data-change-history--button-deactivate",variant:"outlined",tooltip:"Deactivate data change tracking",onClick:()=>i()},"Deactivate")),C=`${this.props.api.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat} HH:mm:ss`,y=yr.createElement(Wd.Flex,{className:"ab-DataChangeHistoryPopup--status-panel",alignItems:"center",style:{gap:"var(--ab-space-1)"}},c&&yr.createElement(yr.Fragment,null,yr.createElement(Wd.Text,{className:"ab-DataChangeHistoryPanel--status-active",style:{color:"var(--ab-color-success)",fontWeight:"bold"}},"Active"),!!t&&yr.createElement(Wd.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",aa(t,{Pattern:C}),")")),m&&yr.createElement(yr.Fragment,null,yr.createElement(Wd.Text,{className:"ab-DataChangeHistoryPopup--status-suspended",style:{color:"var(--ab-color-warn)",fontWeight:"bold"}},"Suspended"),!!n&&yr.createElement(Wd.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",aa(n,{Pattern:C}),")")),p&&yr.createElement(Wd.Text,{className:"ab-DataChangeHistoryPopup--status-disabled",fontSize:2})),v=R=>{let w=this.props.changeHistoryLog[R];w&&this.props.api.dataChangeHistoryApi.undoDataChangeHistoryEntry(w)},x=R=>{let w=this.props.changeHistoryLog[R];w&&this.props.api.dataChangeHistoryApi.clearDataChangeHistoryEntry(w)},A=this.props.api.themeApi.getAgGridCurrentThemeName();return yr.createElement(ha,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},yr.createElement(Wd.Flex,{className:"ab-DataChangeHistoryPopup",flexDirection:"column",style:{height:"100%"}},yr.createElement(Wd.Flex,{style:{color:"var(--ab-dashboard__color)",background:"var(--ab-dashboard__background)"}},yr.createElement(Wd.Flex,{flexDirection:"row"},h,y)),yr.createElement(Wd.Flex,{className:"ab-DataChangeHistoryPopup--grid","data-name":"data-change-history--grid",flex:1,alignSelf:"stretch",flexDirection:"column"},yr.createElement("div",{id:l}),yr.createElement("div",{id:u,className:A,style:{height:"100%"}}),yr.createElement(D1e,{adaptableContainerId:l,agGridContainerId:u,changeHistoryLog:this.props.changeHistoryLog,onUndoChange:v,onClearRow:x}))))}};function s0t(o,e){return{changeHistoryLog:o.System.DataChangeHistory.logs,changeHistoryMode:o.System.DataChangeHistory.currentMode,activationTime:o.System.DataChangeHistory.enableTime,suspensionTime:o.System.DataChangeHistory.suspendTime}}function l0t(o){return{onChangeHistoryEnable:()=>o(GC()),onChangeHistoryDisable:()=>o(HC()),onChangeHistorySuspend:()=>o(gE()),onChangeHistoryResume:()=>o(CE())}}var O1e=bt(s0t,l0t)(jee);d();var hi=I(require("react"));var Cm=I(Ce());var PW=o=>{var R,w;let e=pe(),t=yt(),n=hi.useCallback(()=>t(GC()),[]),r=hi.useCallback(()=>t(HC()),[]),i=hi.useCallback(()=>t(gE()),[]),a=hi.useCallback(()=>t(CE()),[]),s=hi.useCallback(()=>{e.api.settingsPanelApi.openSettingsPanel("DataChangeHistory")},[]),{changeHistoryMode:l,activationTime:u,suspensionTime:c}=_t(P=>({changeHistoryMode:P.System.DataChangeHistory.currentMode,activationTime:P.System.DataChangeHistory.enableTime,suspensionTime:P.System.DataChangeHistory.suspendTime})),p=l==="ACTIVE",m=l==="INACTIVE",h=l==="SUSPENDED",C=(R=o.gap)!=null?R:"var(--ab-space-1)",y=(w=o.buttonsPaddingY)!=null?w:2,v=hi.createElement(Cm.Flex,{className:"ab-DataChangeHistoryPanel--button-panel",paddingY:y,style:{gap:C}},m&&hi.createElement(fm,{className:"ab-DataChangeHistoryPanel--button-activate","data-name":"data-change-history--button-activate",tooltip:"",onClick:()=>n()}),h&&hi.createElement(fm,{className:"ab-DataChangeHistoryPanel--button-resume","data-name":"data-change-history--button-resume",tooltip:"Resume tracking data changes",onClick:()=>a()}),p&&hi.createElement(uI,{className:"ab-DataChangeHistoryPanel--button-suspend","data-name":"data-change-history--button-suspend",tooltip:"Suspend tracking data changes",onClick:()=>i()}),(p||h)&&hi.createElement(dI,{className:"ab-DataChangeHistoryPanel--button-deactivate","data-name":"data-change-history--button-deactivate",tooltip:"Deactivate data change tracking",onClick:()=>r()})),x=`${e.api.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat} HH:mm:ss`,A=hi.createElement(Cm.Flex,{className:"ab-DataChangeHistoryPanel--status-panel",alignItems:"center",style:{gap:C}},p&&hi.createElement(kF,{label:!!u&&`since ${aa(u,{Pattern:x})}`},hi.createElement(Cm.Text,{className:"ab-DataChangeHistoryPanel--status-active",fontSize:2,style:{color:"var(--ab-color-success)"}},"Active")),h&&hi.createElement(kF,{label:!!c&&`since ${aa(c,{Pattern:x})}`},hi.createElement(Cm.Text,{className:"ab-DataChangeHistoryPanel--status-suspended",fontSize:2,style:{color:"var(--ab-color-warn)"}},"Suspended")),m&&hi.createElement(Cm.Text,{className:"ab-DataChangeHistoryPanel--status-disabled",fontSize:2},"Activate Data Tracking"));return hi.createElement(Cm.Flex,{flexDirection:"row"},v,A,hi.createElement(Cm.Flex,{ml:2,alignItems:"center"},hi.createElement(ue,{onClick:s,variant:"text"},hi.createElement(mo,{name:"open-in-new"}),hi.createElement(Cm.Box,{ml:1},"Show"))))};d();var tx=I(require("react"));var Kee=I(Ce());var F1e=o=>{let e=o.viewType==="Toolbar",t=e?"DashboardToolbar":"ToolPanel";return tx.createElement(Kee.Flex,{flexDirection:e?"row":"column",className:$e(o.accessLevel=="ReadOnly"?Ai:"",`ab-${t}__StateManagement__wrap`)},tx.createElement(Kee.Flex,{flexDirection:"row"},tx.createElement(Z3,{tooltip:"Load Predefined Config",variant:"text",icon:"upload",onLoad:n=>o.api.configApi.reloadPredefinedConfig(n),accessLevel:o.accessLevel},!e&&"Load"),tx.createElement(J3,{icon:"delete",tooltip:"Clear User State",variant:"text",onClick:()=>o.api.configApi.reloadPredefinedConfig(),accessLevel:o.accessLevel},!e&&"Clear")),tx.createElement(rI,{api:o.api,type:"adaptableState"},"All State"),tx.createElement(rI,{api:o.api,type:"predefinedConfig"},"Predefined Config"))};d();var bb=I(require("react"));var M1e=o=>{let e=_t(OE),t=pe(),n=bb.useMemo(()=>e.map(s=>({Name:s.Key,Items:s.StatusBarPanels})),[e]),r=bb.useCallback(s=>{let l=s.map(u=>{let c=e.find(p=>p.Key===u.Name);return T(S({},c),{StatusBarPanels:u.Items})});t.api.statusBarApi.setStatusBarPanels(l)},[e]),i=i0e.filter(s=>{let l=t.ModuleService.getModuleById(s);return l&&l.isModuleAvailable()}).map(s=>{let l=t.ModuleService.getModuleById(s);return{Id:s,Title:l.moduleInfo.FriendlyName}}),a=o.accessLevel==="ReadOnly";return bb.createElement(ha,{headerText:o.moduleInfo.FriendlyName,glyphicon:o.moduleInfo.Glyph,infoLink:o.moduleInfo.HelpPage,infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},e.length?bb.createElement(nI,{permittedActions:{createTab:!1,dragAndDropTab:!1,deleteTab:!1,editTabName:!1},onTabsChange:r,disabled:a,tabs:n,availableItems:i,tabsTitle:"AdapTable Status Bar Panels",unusedPanelTitle:"Available Module Status Panels",dragItemText:"Drag into a Status Bar Panel below"}):bb.createElement(iI,null,"To enable this feature add to Grid Options statusPanels the Adaptable Status Panel."))};d();var gg=I(require("react")),Hh=I(Ce());d();var ym=I(require("react"));d();var ox=I(require("react"));var DW=o=>{let[e,t]=ox.useState(null),n=pe(),r=_t(l=>W_(l.System));ox.useEffect(()=>{var u,c;if(!o){t(null);return}let l=(c=n.api.chartingApi.getChartRef((u=o==null?void 0:o.Model)==null?void 0:u.chartId))!=null?c:null;t(l)},[r,o]);let i=l=>{let u=r.find(c=>{let p=n.api.chartingApi.getChartRef(c.chartId);return p&&l.contains(p.chartElement)});if(u){let c=n.api.chartingApi.getChartRef(u.chartId);c&&c.destroyChart()}},a=ox.useCallback(l=>{if(!n||!o)return;let u=typeof(l==null?void 0:l.element)=="string"?document.querySelector(l.element):l==null?void 0:l.element;if(!u&&typeof(l==null?void 0:l.element)=="string"){n.logger.consoleLogByMessageType(`Chart container element not found: ${l.element}`,"Error");return}n.api.chartingApi.getChartRef(o.Model.chartId)||(l&&u?(l.chartsDisplay!=="multiple"&&i(u),n.api.chartingApi.showChartDefinitionOnce(o,u)):n.api.chartingApi.showChartDefinitionOnce(o))},[o,r]),s=ox.useCallback(()=>{e&&e.destroyChart()},[e]);return{isOpen:Boolean(e),showChart:a,closeChart:s}};d();var N1e=I(require("react"));var L1e=o=>{var e;return N1e.createElement(Lh,{iconSize:o.iconSize,disabled:!o.chart,ConfirmAction:CV((e=o.chart)==null?void 0:e.Name),ConfirmationMsg:"Are you sure you want to delete this Charts?",ConfirmationTitle:"Delete Charts",accessLevel:o.accessLevel,tooltip:"Delete Chart"})};d();var _1e=I(require("react"));var k1e=o=>{let e=yt();return _1e.createElement(Nh,{iconSize:o.iconSize,tooltip:"Edit Chart",disabled:!o.chart||o.isOpen,accessLevel:o.accessLevel,onClick:()=>e(En(hd,"Chart",{action:"Edit",value:o.chart,source:"Toolbar"}))})};var OW=({elementType:o,accessLevel:e,size:t="normal"})=>{var j,B;let n=pe(),r=_t(yV),i=(j=n.adaptableOptions)==null?void 0:j.chartingOptions,a=i==null?void 0:i.chartContainers,[s,l]=ym.useState(()=>r.length>0?r[0].Uuid:null),u=r.find(V=>V.Uuid===s),c=jt.getAppropriateAccessLevel(u,e),[p,m]=ym.useState(null),{isOpen:h,showChart:C,closeChart:y}=DW(u),v=r.map(V=>({label:V.Name,value:V.Uuid,onClick:()=>{l(V.Uuid)}})),x=v.length>0,A=x&&u!=null,R="";x&&u?R=(B=r.find(V=>V.Uuid===u.Uuid))==null?void 0:B.Name:x?R="Select Chart":R="No Charts",ym.useEffect(()=>{!u&&r.length>0&&l(r[0].Uuid)},[r]);let w=[{label:i.agGridContainerName,onClick:()=>{m(null)}},...a?a==null?void 0:a.map(V=>({label:V.name,onClick:()=>{m(V)}})):[]],P={},D;t==="small"&&(P.padding=2,P.fontSize="small",D=15);let F=ym.createElement(Qe,{style:P,width:"100%",columns:["label"],className:`ab-${o}__Chart__select`,items:v,disabled:!x},R),M=Boolean(a==null?void 0:a.length)&&ym.createElement(Qe,{style:P,width:"100%",columns:["label"],items:w,disabled:!A},(p==null?void 0:p.name)||i.agGridContainerName||XS),O=ym.createElement(ue,{style:P,mr:1,onClick:()=>h?y():C(p),disabled:!Boolean(u),variant:"text",tone:"neutral",icon:h?"visibility-off":"visibility-on",tooltip:h?"Hide Chart":"Show Chart"});return{chartSelector:F,containerSelector:M,chartButton:O,deleteButton:ym.createElement(L1e,{iconSize:D,chart:u,accessLevel:c}),editButton:ym.createElement(k1e,{iconSize:D,chart:u,accessLevel:c,isOpen:h}),selectedChart:u}};var B1e=o=>{let e=o.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",{chartSelector:t,containerSelector:n,chartButton:r,deleteButton:i,editButton:a}=OW({elementType:e,accessLevel:o.accessLevel});return e==="DashboardToolbar"?gg.createElement(Hh.Flex,{width:"100%",alignItems:"center"},gg.createElement(Hh.Box,null,t),n&&gg.createElement(Hh.Box,{ml:1},n),gg.createElement(Hh.Box,{ml:1},r,i,a)):gg.createElement(Hh.Flex,{flexDirection:"column",width:"100%"},gg.createElement(Hh.Box,{mb:1},t),n&&gg.createElement(Hh.Box,{mb:1},n),gg.createElement(Hh.Box,null,r," ",i," ",a))};d();var nx=I(require("react"));var G1e=I(Ce());d();var V1e=I(require("react"));var cI=o=>{let e=o.icon,t=pe();return Ch(e)&&(e=t.api.userInterfaceApi.internalApi.prepareAdaptableIconDef(e)),V1e.createElement(ue,T(S({},o),{icon:e}))};var u0t={style:{height:"100%",minWidth:"10rem",minHeight:600}},H1e=()=>{let o=pe(),e=o.api.columnApi.getFriendlyNameForColumnId(o.api.columnApi.getPrimaryKeyColumn().columnId),t=o.api.columnApi.getFriendlyNameForColumnId(o.api.columnApi.getPrimaryKeyColumn().columnId),n=_t(i=>XE(i.Comments)),r=nx.useMemo(()=>({primaryKey:{field:"PrimaryKeyValue",header:e},column:{field:"ColumnId",valueGetter:a=>o.api.columnApi.getFriendlyNameForColumnId(a.data.ColumnId)},comment:{field:"Value",header:"Comment",defaultEditable:!0,defaultFlex:3},timestamp:{field:"Timestamp",valueGetter:a=>new Date(a.data.Timestamp).toDateString()},author:{header:"Author",valueGetter:a=>a.data.Author.UserName},delete:{defaultWidth:50,render:a=>nx.createElement(cI,{variant:"text",icon:"delete",onClick:()=>{let s=o.api.commentsApi.getCommentByUuid(a.data.Uuid);o.api.commentsApi.deleteComment(s)}})}}),[]);return nx.createElement(G1e.Box,{p:2,style:{height:"100%",width:"100%"}},nx.createElement(da,{data:n,primaryKey:"Uuid",onDataMutations:i=>{for(let a of i.mutations){let[s,l]=a;for(let u of l)if(u.type==="update"){let c=u.data,p=n.find(m=>m.Uuid===s);p.Value!==c.Value&&o.api.commentsApi.updateCommentText(c.Value,p)}}}},nx.createElement(mi,{columnTypes:{default:{align:"start",defaultFlex:1,sortable:!1}},headerOptions:{alwaysReserveSpaceForSortIcon:!1},rowHeight:40,columnHeaderHeight:65,domProps:u0t,columns:r})))};var U1e={BulkUpdatePopup:o1e,DashboardPopup:q_e,StateManagementPopup:t1e,GridInfoPopup:z_e,StatusBarPopup:M1e,QuickSearchPopup:n0e,CellSummaryPopup:r1e,SmartEditPopup:qMe,ThemePopup:z2,ToolPanelPopup:zNe,SystemStatusPopup:s1e,DataChangeHistoryPopup:O1e,CommentsPopup:H1e},FW=new Map([[Ri,u1e],[bu,d1e],[_l,m1e],[wi,f1e],[fd,C1e],[Hi,y1e],[Su,b1e],[cr,S1e],[kl,A1e],[Bl,x1e],[Hp,R1e],[Wp,E1e],[Vp,T1e],[gd,PW],[Hf,F1e],[hd,B1e]]);d();var oi=I(require("react"));var W1e=I(Ce());var z1e=o=>{var w,P,D,F,M,O,_,H;_t(j=>j);let[e,t]=oi.useState(null),n=o.module.moduleInfo,r=(w=o.module)==null?void 0:w.toViewAll(),i=(F=(D=(P=o.module)==null?void 0:P.getViewProperties)==null?void 0:D.call(P))!=null?F:{},a=(M=i==null?void 0:i.getEditWizard)==null?void 0:M.call(i),[s,l]=oi.useState(()=>{var j,B,V;return((j=o.popupParams)==null?void 0:j.action)==="New"||((B=o.popupParams)==null?void 0:B.action)==="Edit"||((V=o.popupParams)==null?void 0:V.action)==="Clone"}),u=oi.useCallback(()=>{a&&l(!0),i.onOpenEditPopup&&i.onOpenEditPopup()},[]);oi.useEffect(()=>{var j;(j=i==null?void 0:i.onMount)==null||j.call(i)},[]),oi.useEffect(()=>{var j,B;(((j=o.popupParams)==null?void 0:j.action)==="New"||((B=o.popupParams)==null?void 0:B.action)==="Edit")&&u()},[(O=o.popupParams)==null?void 0:O.action]);let c=i.emptyView,p=null;typeof c=="function"?p=oi.createElement(c,{module:o.module}):typeof c=="string"&&(p=c);let m=(_=i.newTooltipText)!=null?_:`Create ${n.FriendlyName}`,h=null;if((H=i==null?void 0:i.abObjectTypes)!=null&&H.length){let j=i==null?void 0:i.abObjectTypes.map(B=>{var V;return{disabled:(B==null?void 0:B.accessLevel)==="ReadOnly",onClick:()=>{t(B),u()},label:(V=B.label)!=null?V:B.name}});h=oi.createElement(Qe,{tone:"accent",variant:"raised",columns:["label"],items:j,tooltip:m},oi.createElement(mo,{name:"plus"})," New")}else!i.hideNewButton&&(a||i.onOpenEditPopup)&&(h=oi.createElement(Yy,{onClick:()=>u(),tooltip:m,accessLevel:o.accessLevel}));let C=null;if(r.length&&(i==null?void 0:i.getSuspendAllAction)&&(i==null?void 0:i.getUnSuspendAllAction)){let j=r.some(V=>{var $;return!(($=V.abObject)!=null&&$.IsSuspended)}),B=()=>{if(j){let V=i.getSuspendAllAction();x(V)}else{let V=i.getUnSuspendAllAction();x(V)}};C=oi.createElement(ue,{mr:2,onMouseDown:()=>B(),tone:j?"neutral":"success",variant:"raised",icon:j?"pause":"play",accessLevel:o.accessLevel},j?"Suspend All":"Unsuspend All")}let y=()=>{var j;t(null),l(!1),["Toolbar","ContextMenu","ColumnMenu"].includes((j=o==null?void 0:o.popupParams)==null?void 0:j.source)&&o.onClosePopup()},v=o.api.internalApi.getModuleService().getModuleById(o.module.moduleInfo.ModuleName),x=yt(),A=_t(j=>j.System.ShowLayoutNotAssociatedObjects),R=()=>{if(!!(v!=null&&v.canBeAssociatedWithLayouts())&&!!o.api.layoutApi.internalApi.hasLayoutSpecificObjects())return oi.createElement(W1e.Flex,{justifyContent:"flex-start"},oi.createElement(Ne,{padding:0,margin:0,checked:A,onChange:j=>x(zme(j))},"Show ",n.FriendlyName,"s not available in current Layout"))};return oi.createElement(ha,{glyphicon:n.Glyph,infoLink:n.HelpPage,headerText:n.FriendlyName,button:oi.createElement(oi.Fragment,null,C," ",h),infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},i.HeaderComponent&&oi.createElement(i.HeaderComponent,null),R(),r!=null&&r.length?oi.createElement(c0,{module:o.module,items:r}):oi.createElement(iI,null,p!=null?p:`Click 'New' to create a new ${n.FriendlyName}`),s&&a&&oi.createElement(a,{abObjectType:e,moduleInfo:n,data:null,popupParams:o.popupParams,configEntities:null,onCloseWizard:y,onFinishWizard:y}))};var K1e=o=>{var s,l;let e=Rn.getModalContainer(o.api.optionsApi.getAdaptableOptions(),document),t=o.module.moduleInfo.ModuleName,n=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(t),r=o.api.internalApi.getModuleService().getModuleInfoByModule(t),i={popupParams:o.moduleParams,onClearPopupParams:()=>o.onClearParams?o.onClearParams():null,onClosePopup:()=>{o.onHide&&o.onHide()},teamSharingActivated:o.api.teamSharingApi.isTeamSharingAvailable()&&o.api.teamSharingApi.hasTeamSharingFullRights(),modalContainer:e,accessLevel:n,api:o.api,moduleInfo:r},a=((l=U1e)==null?void 0:l[(s=o==null?void 0:o.componentName)!=null?s:r.Popup])||z1e;return j1e.createElement(a,S({key:o==null?void 0:o.componentName,module:o.module},i))};d();var MW=["BulkUpdate","SmartEdit","CellSummary"],Q1e=["GridInfo","Dashboard","ToolPanel","StatusBar","-","Layout","Export","CalculatedColumn","FreeTextColumn","CustomSort","Alert","SystemStatus","-","FormatColumn","StyledColumn","FlashingCell","Theme","-","QuickSearch","Query","Filter","DataSet","-","PlusMinus","Shortcut","DataChangeHistory","-","Charting","Schedule","StateManagement","TeamSharing","Comments"];d();var q1e=I(require("react"));d();var Sb=I(require("react"));var $1e=r=>{var i=r,{render:o,frameworkComponent:e,componentName:t="N/A"}=i,n=ut(i,["render","frameworkComponent","componentName"]);let a=Sb.useRef(),s=pe(),[l,u]=Sb.useState("");return Sb.useLayoutEffect(()=>{let c=a.current,p=s.api;if(o){let m=o({visible:!0,element:c,adaptableApi:p,userName:p.optionsApi.getUserName(),adaptableId:p.optionsApi.getAdaptableId()});u(m)}else e&&p.internalApi.createFrameworkComponent(c,e,"toolbar");return()=>{o?o({visible:!1,element:c,adaptableApi:p,userName:p.optionsApi.getUserName(),adaptableId:p.optionsApi.getAdaptableId()}):e&&p.internalApi.destroyFrameworkComponent(c,e,t)}},[]),Sb.createElement("div",T(S({},n),{dangerouslySetInnerHTML:{__html:l},ref:a}))};var Y1e=o=>q1e.createElement($1e,{render:o.settingsPanel.render,componentName:o.settingsPanel.name,frameworkComponent:o.settingsPanel.frameworkComponent});d();var X1e=I(require("react"));var Z1e=()=>{let e=pe().adaptableOptions.settingsPanelOptions,t=_t(n=>{var r;return(r=n==null?void 0:n.Grid)==null?void 0:r.SettingPanelModuleMenuItems});return X1e.useMemo(()=>{var i;let n=(i=e==null?void 0:e.navigation)==null?void 0:i.items;n||(n=[...Q1e],e.customSettingsPanels&&n.push(...e.customSettingsPanels.map(a=>a.name)));let r=t.filter(a=>a.module!=="General"&&!MW.includes(a.module)&&a.isVisible);return n.map(a=>{var u,c;if(a==="-")return a;let s=(c=(u=e==null?void 0:e.customSettingsPanels)==null?void 0:u.find)==null?void 0:c.call(u,p=>p.name===a),l=null;return s&&(l={label:s.name,isVisible:!0,reduxAction:En(null,s.name)}),l||r.find(p=>p.module===a)}).filter(Boolean)},[t])};d();var pI=I(require("react")),tke=require("react-dom");d();var NW=o=>{let e=window.innerHeight;return{x:window.innerWidth/2-o.width/2,y:e/2-o.height/2}},J1e=()=>{let o=window.innerHeight,e=window.innerWidth;return{height:VC(600,0,o*.9),width:VC(800,0,e*.9)}},Qee=()=>{let o=window.innerHeight,e=window.innerWidth;return{height:VC(o*.9,0,800),width:VC(e*.9,0,800)}},eke=()=>Qee();var d0t=o=>{var v,x;let y=o,{onChange:e,style:t,baseClassName:n,className:r,isActionModule:i,settingsPanelOptionsKey:a,onHide:s}=y,l=ut(y,["onChange","style","baseClassName","className","isActionModule","settingsPanelOptionsKey","onHide"]),u=pe(),c=yt(),p=u.adaptableOptions.settingsPanelOptions,m=_t(A=>{var R,w;return(w=(R=A==null?void 0:A.System)==null?void 0:R.SettingsPanel)==null?void 0:w[a]}),h=A=>{c(Ume(a,A))};if(!m){let A=i?J1e():(v=p.size)!=null?v:Qee();m={size:A,position:(x=p.position)!=null?x:NW(A)}}let C={handleSelector:i?`.${n} .ab-Panel__header`:".ab-Adaptable-Popup__TopBar",minHeight:460,minWidth:400,size:m.size,position:m.position,onChange:h};return pI.createElement(pa,S({windowModal:!0,fixed:!1,windowModalProps:C,style:T(S({},o.style),{height:"100%"}),padding:0,className:r,onDismiss:s,isOpen:!0,showCloseButton:!0},l))},c0t=o=>{let a=o,{style:e,className:t,onHide:n,children:r}=a,i=ut(a,["style","className","onHide","children"]);return pI.createElement(pa,S({fixed:!1,style:o.style,padding:0,height:"90vh",width:"90vw",className:t,onDismiss:n,isOpen:!0,showCloseButton:!0},i),r)},oke=o=>{let{isActionModule:e,style:t,friendlyName:n,baseClassName:r,className:i,children:a,onHide:s,isWindowModal:l,modalContainer:u}=o;if(u){let c=null;return typeof u=="string"?c=globalThis.document.querySelector(u):c=u,(0,tke.createPortal)(pI.createElement(pa,{"data-name":o.dataName,modal:!1,fixed:!1,onDismiss:s,className:i},a),c)}if(l){let c=e?`action-${n}`:"settings";return pI.createElement(d0t,{dataName:o.dataName,settingsPanelOptionsKey:c,isActionModule:e,onHide:s,style:t,baseClassName:r,className:i},a)}else{let c=S(S({},t),e?{maxWidth:800,maxHeight:600}:{maxWidth:1200,maxHeight:1e3});return pI.createElement(c0t,{"data-name":o.dataName,onHide:s,style:c,className:i},a)}};var qee=o=>{var w,P,D;let e=pe(),t=e.adaptableOptions.settingsPanelOptions,n=e.api.internalApi.getModuleFriendlyName("SettingsPanel"),r=Z1e(),i=t.popupType==="window",a=(P=(w=e.adaptableOptions)==null?void 0:w.containerOptions)==null?void 0:P.modalContainer,s=null,l=!1,u=null,c=null,p="Full",m=r.find(F=>F!=="-"),h=m==null?void 0:m.module,C=o.componentModule,y=o.componentName,v=!o.componentName;v&&h!=="General"&&(C=h);let x=(D=t==null?void 0:t.customSettingsPanels)==null?void 0:D.find(F=>v?F.name===m.label:F.name===y);if(x)s=x.name,c=x.name,u=Cg.createElement(Y1e,{settingsPanel:x});else{let F=o.api.internalApi.getModuleService().getModuleById(C),M=F==null?void 0:F.moduleInfo;p=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(C),s=M.FriendlyName,l=M&&(MW.includes(M==null?void 0:M.ModuleName)||o.componentName&&o.componentName!==(M==null?void 0:M.Popup)),c=M.ModuleName,u=Cg.createElement(K1e,{api:o.api,module:F,componentName:o.componentName,moduleParams:o.moduleParams,onClearParams:o.onClearParams,onHide:o.onHide})}let A="ab-Adaptable-Popup",R=$e(A,`${A}--${i?"window":"modal"}`,l?`${A}--action-popup`:`${A}--settings-popup`);return Cg.createElement(QMe.Provider,{value:{hidePopup:()=>{o.onHide&&o.onHide()}}},Cg.createElement(oke,{dataName:C,baseClassName:A,className:R,friendlyName:s,isActionModule:l,isWindowModal:i,onHide:o.onHide,modalContainer:a},!l&&Cg.createElement(zMe,{icon:t.icon},n),Cg.createElement($ee.Flex,{flexDirection:"row",flex:"1 1 0",style:{minHeight:0},className:p=="ReadOnly"?Ai:""},!l&&Cg.createElement(KMe,{menuItems:r,api:o.api,activeItem:c,customSettingsPanels:t.customSettingsPanels}),Cg.createElement($ee.Flex,{flex:1,className:"ab-Adaptable-Popup__Body"},u))))};d();var Mi=I(require("react"));var rx=I(Ce());var nke=o=>{let e=yt(),[t,n]=Mi.useState(!1),[r,i]=Mi.useState(""),a=o.header,s=Rn.getGlyphByMessageType(o.messageType);function l(){i(""),o.onCancel()}function u(){o.onConfirm(r),i(""),t&&e($me())}function c(m){i(m.target.value)}function p(){return o.showInputBox?ct.IsNotNullOrEmpty(r):!0}return o.showPopup?Mi.createElement(pa,{modal:!0,"data-name":`confirmation-popup confirmation-popup--${o.messageType.toLowerCase()}`,isOpen:o.showPopup,onDismiss:o.onCancel,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},Mi.createElement(xh,{header:a,icon:s,variant:"primary"},Mi.createElement("div",null,Mi.createElement("div",{style:{display:"flex",alignItems:"center"}},o.messsage.split(`
571
+ Provided: [type: `+typeof r+"] (value: "+r+")"):me(!1)),qTt(o.index)||(g.NODE_ENV!=="production"?me(!1,n(r)+" requires an integer index prop"):me(!1)),o.mapped.type!=="DRAGGING"&&(ONe(t()),o.isEnabled&&(ANe(e,r)||(g.NODE_ENV!=="production"?me(!1,n(r)+" Unable to find drag handle"):me(!1))))})}function YOt(o){VJ(function(){var e=(0,Lt.useRef)(o);qM(function(){o!==e.current&&(g.NODE_ENV!=="production"?me(!1,"Draggable isClone prop value changed during component life"):me(!1))},[o])})}function XOt(o){o.preventDefault()}function ZOt(o){var e=(0,Lt.useRef)(null),t=Bt(function(O){e.current=O},[]),n=Bt(function(){return e.current},[]),r=u3(h3),i=r.contextId,a=r.dragHandleUsageInstructionsId,s=r.registry,l=u3(WJ),u=l.type,c=l.droppableId,p=hn(function(){return{id:o.draggableId,index:o.index,type:u,droppableId:c}},[o.draggableId,o.index,u,c]),m=o.children,h=o.draggableId,C=o.isEnabled,y=o.shouldRespectForcePress,v=o.canDragInteractiveElements,x=o.isClone,A=o.mapped,R=o.dropAnimationFinished;if(qOt(o,i,n),YOt(x),!x){var w=hn(function(){return{descriptor:p,registry:s,getDraggableRef:n,canDragInteractiveElements:v,shouldRespectForcePress:y,isEnabled:C}},[p,s,n,v,y,C]);$Ot(w)}var P=hn(function(){return C?{tabIndex:0,role:"button","aria-describedby":a,"data-rbd-drag-handle-draggable-id":h,"data-rbd-drag-handle-context-id":i,draggable:!1,onDragStart:XOt}:null},[i,a,h,C]),D=Bt(function(O){A.type==="DRAGGING"&&(!A.dropping||O.propertyName==="transform"&&R())},[R,A]),F=hn(function(){var O=KOt(A),_=A.type==="DRAGGING"&&A.dropping?D:null,H={innerRef:t,draggableProps:{"data-rbd-draggable-context-id":i,"data-rbd-draggable-id":h,style:O,onTransitionEnd:_},dragHandleProps:P};return H},[i,P,h,A,D,t]),M=hn(function(){return{draggableId:p.id,type:p.type,source:{index:p.index,droppableId:p.droppableId}}},[p.droppableId,p.id,p.index,p.type]);return m(F,A.snapshot,M)}var FNe=function(o,e){return o===e},MNe=function(o){var e=o.combine,t=o.destination;return t?t.droppableId:e?e.droppableId:null},JOt=function(e){return e.combine?e.combine.draggableId:null},eFt=function(e){return e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null};function tFt(){var o=(0,_a.default)(function(r,i){return{x:r,y:i}}),e=(0,_a.default)(function(r,i,a,s,l){return{isDragging:!0,isClone:i,isDropAnimating:Boolean(l),dropAnimation:l,mode:r,draggingOver:a,combineWith:s,combineTargetFor:null}}),t=(0,_a.default)(function(r,i,a,s,l,u,c){return{mapped:{type:"DRAGGING",dropping:null,draggingOver:l,combineWith:u,mode:i,offset:r,dimension:a,forceShouldAnimate:c,snapshot:e(i,s,l,u,null)}}}),n=function(i,a){if(i.isDragging){if(i.critical.draggable.id!==a.draggableId)return null;var s=i.current.client.offset,l=i.dimensions.draggables[a.draggableId],u=Vd(i.impact),c=eFt(i.impact),p=i.forceShouldAnimate;return t(o(s.x,s.y),i.movementMode,l,a.isClone,u,c,p)}if(i.phase==="DROP_ANIMATING"){var m=i.completed;if(m.result.draggableId!==a.draggableId)return null;var h=a.isClone,C=i.dimensions.draggables[a.draggableId],y=m.result,v=y.mode,x=MNe(y),A=JOt(y),R=i.dropDuration,w={duration:R,curve:OJ.drop,moveTo:i.newHomeClientOffset,opacity:A?UM.opacity.drop:null,scale:A?UM.scale.drop:null};return{mapped:{type:"DRAGGING",offset:i.newHomeClientOffset,dimension:C,dropping:w,draggingOver:x,combineWith:A,mode:v,forceShouldAnimate:null,snapshot:e(v,h,x,A,w)}}}return null};return n}function NNe(o){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:o,combineWith:null}}var oFt={mapped:{type:"SECONDARY",offset:Cs,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:NNe(null)}};function nFt(){var o=(0,_a.default)(function(a,s){return{x:a,y:s}}),e=(0,_a.default)(NNe),t=(0,_a.default)(function(a,s,l){return s===void 0&&(s=null),{mapped:{type:"SECONDARY",offset:a,combineTargetFor:s,shouldAnimateDisplacement:l,snapshot:e(s)}}}),n=function(s){return s?t(Cs,s,!0):null},r=function(s,l,u,c){var p=u.displaced.visible[s],m=Boolean(c.inVirtualList&&c.effected[s]),h=c3(u),C=h&&h.draggableId===s?l:null;if(!p){if(!m)return n(C);if(u.displaced.invisible[s])return null;var y=GT(c.displacedBy.point),v=o(y.x,y.y);return t(v,C,!0)}if(m)return n(C);var x=u.displacedBy.point,A=o(x.x,x.y);return t(A,C,p.shouldAnimate)},i=function(s,l){if(s.isDragging)return s.critical.draggable.id===l.draggableId?null:r(l.draggableId,s.critical.draggable.id,s.impact,s.afterCritical);if(s.phase==="DROP_ANIMATING"){var u=s.completed;return u.result.draggableId===l.draggableId?null:r(l.draggableId,u.result.draggableId,u.impact,u.afterCritical)}return null};return i}var rFt=function(){var e=tFt(),t=nFt(),n=function(i,a){return e(i,a)||t(i,a)||oFt};return n},iFt={dropAnimationFinished:cNe},aFt=bt(rFt,iFt,null,{context:kJ,pure:!0,areStatePropsEqual:FNe})(ZOt);function LNe(o){var e=u3(WJ),t=e.isUsingCloneFor;return t===o.draggableId&&!o.isClone?null:Lt.default.createElement(aFt,o)}function MA(o){var e=typeof o.isDragDisabled=="boolean"?!o.isDragDisabled:!0,t=Boolean(o.disableInteractiveElementBlocking),n=Boolean(o.shouldRespectForcePress);return Lt.default.createElement(LNe,Ht({},o,{isClone:!1,isEnabled:e,canDragInteractiveElements:t,shouldRespectForcePress:n}))}function sFt(o){var e=(0,Lt.useContext)(h3);e||(g.NODE_ENV!=="production"?me(!1,"Could not find app context"):me(!1));var t=e.contextId,n=e.isMovementAllowed,r=(0,Lt.useRef)(null),i=(0,Lt.useRef)(null),a=o.children,s=o.droppableId,l=o.type,u=o.mode,c=o.direction,p=o.ignoreContainerClipping,m=o.isDropDisabled,h=o.isCombineEnabled,C=o.snapshot,y=o.useClone,v=o.updateViewportMaxScroll,x=o.getContainerForClone,A=Bt(function(){return r.current},[]),R=Bt(function(j){r.current=j},[]),w=Bt(function(){return i.current},[]),P=Bt(function(j){i.current=j},[]);VOt({props:o,getDroppableRef:A,getPlaceholderRef:w});var D=Bt(function(){n()&&v({maxScroll:gNe()})},[n,v]);OOt({droppableId:s,type:l,mode:u,direction:c,isDropDisabled:m,isCombineEnabled:h,ignoreContainerClipping:p,getDroppableRef:A});var F=Lt.default.createElement(GOt,{on:o.placeholder,shouldAnimate:o.shouldAnimatePlaceholder},function(j){var B=j.onClose,V=j.data,$=j.animate;return Lt.default.createElement(LOt,{placeholder:V,onClose:B,innerRef:P,animate:$,contextId:t,onTransitionEnd:D})}),M=hn(function(){return{innerRef:R,placeholder:F,droppableProps:{"data-rbd-droppable-id":s,"data-rbd-droppable-context-id":t}}},[t,s,F,R]),O=y?y.dragging.draggableId:null,_=hn(function(){return{droppableId:s,type:l,isUsingCloneFor:O}},[s,O,l]);function H(){if(!y)return null;var j=y.dragging,B=y.render,V=Lt.default.createElement(LNe,{draggableId:j.draggableId,index:j.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},function($,K){return B($,K,j)});return B0e.default.createPortal(V,x())}return Lt.default.createElement(WJ.Provider,{value:_},a(M,C),H())}var mJ=function(e,t){return e===t.droppable.type},k0e=function(e,t){return t.draggables[e.draggable.id]},lFt=function(){var e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t=Ht({},e,{shouldAnimatePlaceholder:!1}),n=(0,_a.default)(function(a){return{draggableId:a.id,type:a.type,source:{index:a.index,droppableId:a.droppableId}}}),r=(0,_a.default)(function(a,s,l,u,c,p){var m=c.descriptor.id,h=c.descriptor.droppableId===a;if(h){var C=p?{render:p,dragging:n(c.descriptor)}:null,y={isDraggingOver:l,draggingOverWith:l?m:null,draggingFromThisWith:m,isUsingPlaceholder:!0};return{placeholder:c.placeholder,shouldAnimatePlaceholder:!1,snapshot:y,useClone:C}}if(!s)return t;if(!u)return e;var v={isDraggingOver:l,draggingOverWith:m,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:c.placeholder,shouldAnimatePlaceholder:!0,snapshot:v,useClone:null}}),i=function(s,l){var u=l.droppableId,c=l.type,p=!l.isDropDisabled,m=l.renderClone;if(s.isDragging){var h=s.critical;if(!mJ(c,h))return t;var C=k0e(h,s.dimensions),y=Vd(s.impact)===u;return r(u,p,y,y,C,m)}if(s.phase==="DROP_ANIMATING"){var v=s.completed;if(!mJ(c,v.critical))return t;var x=k0e(v.critical,s.dimensions);return r(u,p,MNe(v.result)===u,Vd(v.impact)===u,x,m)}if(s.phase==="IDLE"&&s.completed&&!s.shouldFlush){var A=s.completed;if(!mJ(c,A.critical))return t;var R=Vd(A.impact)===u,w=Boolean(A.impact.at&&A.impact.at.type==="COMBINE"),P=A.critical.droppable.id===u;return R?w?e:t:P?e:t}return t};return i},uFt={updateViewportMaxScroll:rPt};function dFt(){return document.body||(g.NODE_ENV!=="production"?me(!1,"document.body is not ready"):me(!1)),document.body}var cFt={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:dFt},Ky=bt(lFt,uFt,null,{context:kJ,pure:!0,areStatePropsEqual:FNe})(sFt);Ky.defaultProps=cFt;d();var ka=I(require("react")),Qy=require("react"),kNe=I(Ce());d();var C3=require("react"),_Ne=o=>{let e=(0,C3.useRef)(o);return e.current=o,(0,C3.useCallback)(()=>e.current,[])};var pFt=({children:o,index:e,hidden:t,observerRef:n})=>{var c;let[r,i]=(0,Qy.useState)(!1);ka.useEffect(()=>{let p=setTimeout(()=>{i(!0)},50);return()=>clearTimeout(p)},[]);let a=(0,Qy.useRef)(null),s=p=>{var m,h;if(p){if(!p.getAttribute("data-index"))throw'The element you render from "renderItem" should accept a "data-index" prop.';(m=n.current)==null||m.observe(p)}else(h=n.current)==null||h.unobserve(a.current);a.current=p},l=ka.Children.toArray(o)[0],u={ref:s,"data-index":e};return(t||!r)&&(u.style=T(S({},(c=l.props)==null?void 0:c.style),{visibility:"hidden"})),l=ka.cloneElement(l,u),ka.createElement(ka.Fragment,null,l)},BNe=o=>{let v=o,{allowWrap:e,count:t,direction:n,renderItem:r,renderEllipsis:i}=v,a=ut(v,["allowWrap","count","direction","renderItem","renderEllipsis"]),s=(0,Qy.useRef)(null),l=(0,Qy.useRef)(null),[u,c]=ka.useState(o.count),[p]=(0,Qy.useState)(()=>new Set),[m]=(0,Qy.useState)(()=>new Set),h=_Ne(o.count);ka.useEffect(()=>{let x=R=>{let w=h(),P=F=>F.intersectionRatio===1;R.forEach(F=>{let{target:M}=F,O=Number(M.getAttribute("data-index"));P(F)?(p.add(O),m.delete(O)):(p.delete(O),m.add(O))});let D=Math.min(w,...m.values());c(D)};if(e)return;let A=new IntersectionObserver(x,{root:s.current,threshold:.01});return l.current=A,()=>{A.disconnect()}},[]);let C=Ed(t,t);ka.useLayoutEffect(()=>{e||u===C&&c(t)},[t,u,e]);let y=[...new Array(t)].map((x,A)=>{var P;let R=t-1-A,w=e?!1:A>=u;return ka.createElement(ka.Fragment,{key:A},ka.createElement(pFt,{hidden:w,index:A,observerRef:l},r(A,t)),!e&&A===u-1&&R?(P=i==null?void 0:i({remaining:R}))!=null?P:"...":null)});return ka.createElement(kNe.Flex,T(S({ref:s,flexWrap:e?"wrap":"nowrap",alignItems:"center","data-name":"options-container"},a),{flexDirection:n==="horizontal"?"row":"column"}),y)};d();var VNe=(o,e,t)=>{let n=[...o];if(e>o.length-1)return n;t>o.length-1&&(t=o.length-1);let[r]=n.splice(e,1);return n.splice(t,0,r),n};function GNe({options:o,value:e,toIdentifier:t,selectedMap:n}){let r=(0,pg.useMemo)(()=>{if(n)return;let a=new Map([]);return o.forEach(s=>{a.set(t(s),s)}),a},[o,n]);return{selectedMap:(0,pg.useMemo)(()=>{if(n)return n;let a=new Map([]);return e.forEach(s=>{var l;a.set(s,(l=r.get(s))!=null?l:null)}),a},[r,n,e]),optionsMap:r}}function Ba(o){var K;let{options:e,value:t,filter:n,onChange:r,allowReorder:i,singleSelect:a,toLabel:s,toListLabel:l,toIdentifier:u,noSelectionLabel:c,clearSelectionLabel:p,showSelectedOnlyLabel:m,showFilterInput:h,xSelectedLabel:C,selectionBoxPosition:y="bottom",onShowSelectedOnlyChange:v,isOptionDisabled:x,disabled:A}=o,[R,w]=Yo.useState(""),P="ab-ValueSelector",D=l!=null?l:s,[F,M]=(0,pg.useState)(!1),O=(0,pg.useCallback)(Z=>{M(Z),v==null||v(Z)},[v]),{selectedMap:_}=GNe({options:e,toIdentifier:u,value:t}),H=(0,pg.useCallback)(()=>{let Z=[..._.keys()];!Z.length&&F&&O(!1),r(Z,new Map(_))},[r,F,_]),j=(Z,oe)=>{let X=u(Z),xe=i?null:D(Z),se=typeof i=="function"?i(Z):i,ie=(he,De)=>Yo.createElement(Hs.Flex,S({className:`${P}__option`,alignItems:"center",mt:oe?1:0,key:X,backgroundColor:"primary",padding:2,"data-index":oe,"data-id":X,"data-name":"option"},he),Yo.createElement(Hs.Flex,{flex:1,flexDirection:"row",alignItems:"center"},se?Yo.createElement(Hs.Box,S({mr:3},De),Yo.createElement(mo,{name:"drag",style:{cursor:"grab"}})):null,a?Yo.createElement(Xe,{checked:_.has(X),"data-name":X,onChange:tt=>{tt?(_.clear(),_.set(X,Z)):_.delete(X),H()}},xe):Yo.createElement(Ne,{"data-name":X,disabled:A||(x?x(Z):!1),onChange:tt=>{tt?_.set(X,Z):_.delete(X),H()},checked:_.has(X)},xe),Yo.createElement(Hs.Text,{flex:1,ml:2},i?D(Z):null)));return Yo.createElement(MA,{key:X,index:oe,draggableId:`${X}`,isDragDisabled:!se},he=>ie(T(S({ref:he.innerRef},he.draggableProps),{style:he.draggableProps.style}),he.dragHandleProps))},B=()=>{let Z=Yo.createElement(Hs.Box,{fontSize:2},t.length?Yo.createElement(Yo.Fragment,null,Yo.createElement(ue,{disabled:A,tabIndex:0,px:1,mr:1,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{_.clear(),H()}},p!=null?p:"Clear selection."),C?C(t.length):`Your selected ${t.length} ${t.length>1?"options":"option"}.`):Yo.createElement(Yo.Fragment,null,c!=null?c:"No selected options",a?null:Yo.createElement(ue,{px:1,disabled:A,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{e.forEach(oe=>{_.set(u(oe),oe)}),H()}},"Select all")));return Yo.createElement(Hs.Box,{className:`${P}__header`,mt:y==="bottom"?3:0,mb:y==="top"?3:0},Z,Yo.createElement(Va,{options:e,value:t,selectedMap:_,toLabel:s,toIdentifier:u,onClearOption:H,readOnly:A}))},V=Yo.createElement(Ne,{disabled:!t.length,checked:F,onChange:O},m!=null?m:"Show Selected Only"),$=(K=o.showSelectedOnlyPosition)!=null?K:"floating";return Yo.createElement(Hs.Flex,{className:P,flexDirection:"column",flex:1},Yo.createElement(Hs.Flex,{mb:1},h&&n?Yo.createElement(Cl,{value:R,OnTextChange:w,placeholder:"Type to search",style:{flex:1,border:0,margin:3}}):Yo.createElement(Hs.Box,{flex:1}),$==="top"&&Yo.createElement(Hs.Box,{ml:20},V)),y==="top"&&B(),Yo.createElement(g3,{onDragEnd:Z=>{let{source:oe,destination:X}=Z,xe=[],se=[];for(let[De,tt]of _)tt!=null?xe.push(De):se.push(De);let ie=new Map(_),he=VNe(xe,oe.index,X.index);he.push(...se),_.clear(),he.forEach(De=>{_.set(De,ie.get(De))}),H()}},Yo.createElement(Hs.Flex,{className:`${P}__body`,flexDirection:"column",flex:1,style:{overflow:"auto"}},$==="floating"&&Yo.createElement(Hs.Box,{className:`${P}__show-selected-only-checkbox`},Yo.createElement(Hs.Box,{className:`${P}__show-selected-only-checkbox__text`,"data-name":"show-selected-only",backgroundColor:"defaultbackground"},V)),Yo.createElement(Ky,{droppableId:"droppable"},Z=>Yo.createElement("div",S({ref:Z.innerRef},Z.droppableProps),e.filter(oe=>{let X=!0;return n&&(X=n(oe,R)),X=X&&(F?_.has(u(oe)):!0),X}).map(j),Z.placeholder)))),y==="bottom"&&B())}Ba.defaultProps={allowReorder:!0};function Va(o){let{allowWrap:e,value:t,toLabel:n,onChange:r,onClearOption:i,readOnly:a,renderLabel:s}=o,{selectedMap:l}=GNe(o),u=p=>{let m=t[p],h=()=>{l.delete(m),i==null||i(m),r&&r([...l.keys()],new Map(l))},C=l.get(m),y=C!=null?n(C):`${m}`;return Yo.createElement(rt,{flexDirection:"row",alignItems:"center","data-name":"selected-option","data-id":m,mt:e?1:0,mr:1,className:"ab-ValueSelector__tag",onClick:v=>{var x,A,R;(R=(A=(x=v.target)==null?void 0:x.lastChild)==null?void 0:A.focus)==null||R.call(A)},style:{flex:"none"}},s?s(y):y,a?null:Yo.createElement(ue,{icon:"close",ml:2,iconSize:14,variant:"text",style:{border:"none"},onClick:h}))},c=(0,pg.useCallback)(({remaining:p})=>Yo.createElement(Hs.Text,{fontSize:2,style:{whiteSpace:"nowrap"}},"+",p," ",p>1?"others":"other"),[]);return Yo.createElement(BNe,{style:o.style,marginRight:4,my:1,allowWrap:e,count:t.length,direction:"horizontal",renderItem:u,renderEllipsis:c})}var UT=require("react");d();function ku(o,e,{sortUnorderedItems:t}){let n=o.reduce((a,s,l)=>(a.set(s,l),a),new Map),r=e.reduce((a,s,l)=>(a.set(s,l),a),new Map);function i(a,s){let l=r.has(a),u=l?r.get(a):-1,c=r.has(s),p=c?r.get(s):-1;return!l&&!c?t?a==s?0:a<s?-1:1:n.get(a)-n.get(s):l?c?u-p:-1:1}return[].concat(o).sort(i)}var YM=o=>{let p=o,{options:e,value:t,onChange:n,selectionBoxPosition:r="top"}=p,i=ut(p,["options","value","onChange","selectionBoxPosition"]),{api:a}=pe(),s=(0,UT.useMemo)(()=>!t||!t.length?new Map:t.reduce((m,h)=>(m.set(h,!0),m),new Map),[t]),l=(0,UT.useCallback)(m=>s.has(m),[s]),u=(0,UT.useMemo)(()=>{let m=new Map;return e.forEach(h=>{var C;return m.set(h,(C=a.internalApi.getModuleFriendlyName(h))!=null?C:h)}),m},[e]),c=(0,UT.useMemo)(()=>ku(e,t,{sortUnorderedItems:!0}),[l,e,t]);return HNe.createElement(Ba,T(S({},i),{options:c,value:t,onChange:n,allowReorder:l,toIdentifier:m=>m,toLabel:m=>u.get(m),selectionBoxPosition:r,isOptionDisabled:o.isOptionDisabled,disabled:o.disabled}))};d();var Wi=I(require("react")),$y=I(Ce()),UNe=require("react");var WNe=Wi.createContext({selectedIndex:0,tabCount:0,setSelectedIndex:o=>{}}),mFt=o=>{var e;return o.type===zJ||((e=o.props)==null?void 0:e.isTabsTab)},hFt=o=>{var e;return o.type===jJ||((e=o.props)==null?void 0:e.isTabsContent)},J=o=>{let O=o,{autoFocus:e=!0,children:t,onValueChange:n,defaultValue:r,value:i,keyboardNavigation:a=!0,selectedIndex:s,defaultSelectedIndex:l,onSelectedIndexChange:u}=O,c=ut(O,["autoFocus","children","onValueChange","defaultValue","value","keyboardNavigation","selectedIndex","defaultSelectedIndex","onSelectedIndexChange"]),[p,m]=Pn(o,"selectedIndex",0),[h,C]=Pn(o,"value",0),y=Wi.Children.toArray(t),v=[],x=y.filter(mFt).map((H,j)=>(v.push(H.props.value),Wi.cloneElement(H,{index:j,keyboardNavigation:a,autoFocus:e}))),A=y.filter(hFt),R=A.map(H=>H.props.value),w=(o.value!==void 0||o.defaultValue!==void 0)&&o.selectedIndex===void 0&&o.defaultSelectedIndex===void 0;if(w){let H=v.indexOf(h);H>-1&&(p=H),R.filter(B=>v.indexOf(B)!=-1).length===x.length&&A.sort((B,V)=>{let $=B.props.value,K=V.props.value;return v.indexOf($)-v.indexOf(K)})}let P=H=>{if(w){let j=v[H];C(j)}m(H)},D=A[p],_=(D==null?void 0:D.props)||{},{value:F}=_,M=ut(_,["value"]);return Wi.createElement(WNe.Provider,{value:{selectedIndex:p,tabCount:x.length,setSelectedIndex:P}},Wi.createElement($y.Box,T(S({},c),{className:$e(c.className,"ab-Tabs"),"data-selected-index":p}),Wi.createElement($y.Flex,{flexDirection:"row",className:"ab-Tabs__Strip"},Wi.createElement($y.Box,{className:"ab-Tabs__Filler"}),x,Wi.createElement($y.Flex,{flex:1,className:"ab-Tabs__Filler"})),Wi.createElement($y.Box,T(S({padding:2},M),{className:`${M.className||""} ab-Tabs__Body`}),D)))},zJ=o=>{let m=o,{index:e,autoFocus:t,keyboardNavigation:n=!0,className:r}=m,i=ut(m,["index","autoFocus","keyboardNavigation","className"]),a=Wi.useContext(WNe),s="ab-Tabs__Tab",l=a.selectedIndex===o.index,u=a.selectedIndex===o.index+1,c=$e(r,s,l?`${s}--active`:"",u?`${s}--before-active`:""),p=(0,UNe.useRef)(null);return Wi.useEffect(()=>{var h;l&&t&&n&&((h=p.current)==null||h.focus())},[l,t]),Wi.createElement($y.Box,T(S({ref:p,padding:2,tabIndex:l?0:-1},i),{className:c,onClick:h=>{var C;a.setSelectedIndex(o.index),(C=o.onClick)==null||C.call(o,h)},onKeyDown:h=>{var C;if(n){if(h.key==="Enter"&&a.setSelectedIndex(o.index),h.key==="ArrowLeft"){h.preventDefault();let y=o.index-1;y<0&&(y=a.tabCount-1),a.setSelectedIndex(y)}if(h.key==="ArrowRight"){h.preventDefault();let y=o.index+1;y>a.tabCount-1&&(y=0),a.setSelectedIndex(y)}}(C=o.onKeyDown)==null||C.call(o,h)}}))};zJ.defaultProps={isTabsTab:!0};var jJ=o=>Wi.createElement(Wi.Fragment,null,o.children);jJ.defaultProps={isTabsContent:!0};J.Tab=zJ;J.Content=jJ;var KJ=class extends Hd.Component{constructor(e){var n,r,i;super(e);let t=(i=(r=(n=e.popupParams)==null?void 0:n.config)==null?void 0:r.initialTab)!=null?i:"ToolPanels";this.state={ToolPanelConfigView:t}}render(){let e=this.props.api.internalApi.getEntitlementService(),t=[];We.IsNotNullOrEmpty(this.props.ToolPanelState.ModuleButtons)&&this.props.ToolPanelState.ModuleButtons.forEach(p=>{let m=this.props.GridState.SettingPanelModuleMenuItems.find(h=>h.module==p);m!=null&&m.isVisible&&t.push(p)});let n=this.props.GridState.SettingPanelModuleMenuItems.map(p=>p.module),r=this.props.GridState.SettingPanelModuleMenuItems.filter(p=>p.isVisible).map(p=>p.module);e.isModuleHiddenEntitlement("Dashboard")||r.push("Dashboard"),this.props.api.pluginsApi.getipushpullPluginApi()&&!e.isModuleHiddenEntitlement("IPushPull")&&r.push("IPushPull"),this.props.api.pluginsApi.getOpenFinPluginApi()&&!e.isModuleHiddenEntitlement("OpenFin")&&r.push("OpenFin");let i=NT.filter(p=>We.ContainsItem(r,p)),s=[...this.props.api.toolPanelApi.getCustomToolPanels().map(p=>p.name),...i],l=this.props.ToolPanelState.ToolPanels.map(p=>p.Name).filter(p=>s.includes(p)),u=e.isModuleReadOnlyEntitlement("ToolPanel"),c=p=>p==="SettingsPanel"?this.props.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard:!1;return Hd.createElement(ha,{headerText:"ToolPanel",glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Hd.createElement(J,{"data-name":"toolPanelPopup-component",className:"ab-ToolPanelPopup",value:this.state.ToolPanelConfigView,style:{height:"100%"},onValueChange:p=>this.setState({ToolPanelConfigView:p})},Hd.createElement(J.Tab,{value:"ToolPanels"},Hd.createElement(Xe,{margin:0,value:"ToolPanels",checked:this.state.ToolPanelConfigView=="ToolPanels",tabIndex:-1},"Tool Panels")),Hd.createElement(J.Tab,{value:"Buttons"},Hd.createElement(Xe,{margin:0,value:"Buttons",checked:this.state.ToolPanelConfigView=="Buttons",tabIndex:-1},"Module Buttons")),Hd.createElement(J.Content,{value:"ToolPanels",style:{flex:1,overflow:"auto"}},Hd.createElement(YM,{options:s,value:l,noSelectionLabel:"No selected Tool Panel",xSelectedLabel:()=>"Visible ToolPanels:",onChange:p=>this.onToolPanelToolPanelsChanged(p),disabled:u})),Hd.createElement(J.Content,{value:"Buttons",style:{flex:1,overflow:"auto"}},Hd.createElement(YM,{options:n,value:t,noSelectionLabel:"No selected Module Button",xSelectedLabel:()=>"Visible Module Buttons:",isOptionDisabled:c,disabled:u,onChange:p=>this.props.onToolPanelSetModuleButtons(p)}))))}onShowGridPropertiesChanged(e){let n=e.target.value;this.setState({ToolPanelConfigView:n})}onToolPanelToolPanelsChanged(e){let t=this.props.ToolPanelState.ToolPanels,n=e.map(r=>{var i;return(i=t.find(a=>a.Name===r))!=null?i:{Name:r,VisibilityMode:"collapsed"}});this.props.onToolPanelSetToolPanels(n)}};function fFt(o){return{ToolPanelState:o.ToolPanel,GridState:o.Grid}}function gFt(o){return{onToolPanelSetModuleButtons:e=>o(gB(e)),onToolPanelSetToolPanels:e=>o(Pv(e))}}var zNe=bt(fFt,gFt)(KJ);d();var ja=I(require("react"));d();var XM=I(require("react")),y3=I(Ce());var Ga=class extends XM.Component{render(){let e=this.props.colItems.map((n,r)=>XM.createElement(y3.Text,{className:"ab-AdaptableObjectRow__cell","data-name":"list-group-cell",key:r,title:typeof n.Content=="string"?n.Content:void 0,flex:n.Size,paddingLeft:1,paddingRight:1},n.Content)),t=$e("ab-AdaptableObjectRow",this.props.isSuspended&&"ab-AdaptableObjectRow--is-suspended");return XM.createElement(y3.Flex,{className:t,onClick:this.props.onClick,style:this.props.style},e)}};var See=I(Ce());d();var v3=I(require("react"));d();var NA=I(require("react")),S3=I(Ce());var b3=class extends NA.Component{render(){let e=this.props.colItems.map((n,r)=>NA.createElement(S3.Text,{key:n.key||n.Content||r,fontWeight:"bold",fontSize:"var(--ab-font-size-3)",paddingLeft:1,paddingRight:1,style:{flex:n.Size}},n.Content)),t=NA.createElement(S3.Flex,{alignItems:this.props.headerAlign||"center",style:{width:"100%"}},e);return NA.createElement("div",{style:this.props.style,className:this.props.className},NA.createElement(Sn,{bodyScroll:!0,header:t,border:this.props.border,bodyProps:this.props.bodyProps},this.props.children))}};var jNe=I(Ce());var qy=o=>{let e=o.allowOverflow?"visible":"auto";return v3.createElement(jNe.Box,{style:S({},o.style),className:"ab-ObjectCollection"},v3.createElement(b3,{border:"none",colItems:o.colItems,headerAlign:o.headerAlign}),v3.createElement("div",{className:"ab-ObjectCollection__items",style:{overflowY:e,boxShadow:"none"}},o.items))};d();var KNe="16.0.6-canary.1";d();var Wr=I(require("react")),KA=I(Ce());d();var Uc=I(require("react"));d();var LA=I(require("react"));d();var QNe=I(require("react"));var Yy=o=>QNe.createElement(ue,S({"data-name":"new",tooltip:"New",tone:"accent",icon:"plus",variant:"raised"},o),o.children===void 0?"New":o.children);d();var A3=I(require("react"));var Xy=class extends A3.Component{render(){let e=[];return e.push({Size:3,Content:this.props.SummaryItems[0]}),e.push({Size:7,Content:this.props.SummaryItems[1]}),e.push({Size:2,Content:this.props.SummaryItems[2]}),A3.createElement(Ga,{colItems:e})}};d();var ZM=I(require("react"));var Vc=class extends ZM.Component{render(){return ZM.createElement("div",null,ZM.createElement(mo,{name:this.props.moduleInfo.Glyph,style:{fill:"var(--ab-color-text-on-primary)"}})," ",this.props.moduleInfo.FriendlyName)}};var Mh=class extends LA.Component{render(){let e=[],t=this.props.newButtonDisabled?null:LA.createElement(Yy,{onClick:()=>this.props.onNew(),tooltip:"Create "+this.props.newButtonTooltip,accessLevel:this.props.accessLevel});return e.push(LA.createElement("b",null,LA.createElement(Vc,{moduleInfo:this.props.moduleInfo}))),e.push(this.props.moduleSummary),e.push(t),LA.createElement(Xy,{SummaryItems:e})}};d();var Jy=I(require("react"));d();var mg=I(require("react"));d();var $Ne=I(require("react"));var Nh=o=>{var e;return $Ne.createElement(ue,S({"data-name":"edit",tooltip:"Edit",variant:"text",icon:"edit",iconSize:(e=o.iconSize)!=null?e:24},o))};d();var qNe=I(require("react"));var x3=o=>qNe.createElement(ue,S({"data-name":"clone",tooltip:"Clone",tone:"accent",icon:"clone",variant:"raised"},o),o.children===void 0?"Clone":o.children);d();var R3=I(require("react"));var QJ=class extends R3.Component{render(){var l,u;let s=this.props,{onConfirmWarning:e,ConfirmAction:t,ConfirmationMsg:n,ConfirmationTitle:r,onClickAction:i}=s,a=ut(s,["onConfirmWarning","ConfirmAction","ConfirmationMsg","ConfirmationTitle","onClickAction"]);return R3.createElement(ue,T(S({"data-name":"delete",tooltip:(l=a.tooltip)!=null?l:"Delete",variant:"text",icon:"delete",iconSize:(u=a.iconSize)!=null?u:24},a),{onClick:()=>this.onClick()}))}onClick(){if(this.props.ConfirmAction){let e={CancelButtonText:"Cancel",Header:this.props.ConfirmationTitle,Msg:this.props.ConfirmationMsg,ConfirmButtonText:"Delete",CancelAction:null,ConfirmAction:this.props.ConfirmAction,ShowInputBox:!1,MessageType:"Warning"};this.props.onConfirmWarning(e)}else this.props.onClickAction()}};function CFt(o,e){return{ConfirmAction:e.ConfirmAction,ConfirmationMsg:e.ConfirmationMsg,ConfirmationTitle:e.ConfirmationTitle}}function yFt(o){return{onConfirmWarning:e=>o(SE(e))}}var Lh=bt(CFt,yFt)(QJ);var eLe=I(Ce());d();var Zy=I(require("react"));d();var WT=I(Ce());var YNe=require("react");var ti=I(require("react"));var XNe=o=>{let{showPopup:e,onClose:t,onConfirm:n,header:r}=o,[i,a]=(0,YNe.useState)({description:"",type:"Snapshot"});return ti.createElement(ti.Fragment,null,ti.createElement(pa,{modal:!0,"data-name":"teamsharing-popup",isOpen:e,onDismiss:t,autoFocus:!1,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},ti.createElement(WT.Flex,{flexDirection:"column"},ti.createElement(Qt,{"data-name":"teamsharing-popup-description",margin:2,mb:2,p:2,style:{fontSize:"var(--ab-font-size-3)"}},"Create a ",r," which may be either:",ti.createElement("ul",null,ti.createElement("li",null,ti.createElement("strong",null,"Snapshot"),": a one-off share of an exact copy of the current object"),ti.createElement("li",null,ti.createElement("strong",null,"Active"),': a "live" share that is automatically updated with every local change'))),ti.createElement(Ke,{padding:2},ti.createElement(de,{label:"Name: "},ti.createElement(mt,{"data-name":"teamsharing-entity-name",autoFocus:!0,value:i.description,type:"string",width:300,placeholder:"Enter text",onChange:s=>a(T(S({},i),{description:s.target.value}))})),ti.createElement(de,{label:"Share: "},ti.createElement(WT.Flex,{flexDirection:"row"},ti.createElement(Xe,{"data-name":"teamsharing-entity-type-snapshot",checked:i.type==="Snapshot",onChange:()=>a(T(S({},i),{type:"Snapshot"}))},"Snapshot")," ",ti.createElement(Xe,{"data-name":"teamsharing-entity-type-active",marginLeft:3,checked:i.type==="Active",onChange:()=>a(T(S({},i),{type:"Active"}))},"Active")," "))),ti.createElement(WT.Box,{marginTop:3},ti.createElement(WT.Flex,{padding:2},ti.createElement(ue,{"data-name":"cancel",tone:"neutral",variant:"raised",onClick:()=>t()},"Cancel"),ti.createElement("div",{style:{flex:1}}),ti.createElement(ue,{"data-name":"ok",tone:"accent",variant:"raised",disabled:ct.IsNullOrEmpty(i.description),onClick:()=>n(i)},"OK"))))))};var zT=class extends Zy.Component{constructor(e){super(e),this.state={open:!1}}render(){var i;let r=this.props,{onShare:e,Header:t}=r,n=ut(r,["onShare","Header"]);return Zy.createElement(Zy.Fragment,null,Zy.createElement(ue,S({"data-name":"share",tooltip:"Share",variant:"text",icon:"folder-shared",iconSize:(i=n.iconSize)!=null?i:24,onClick:()=>this.setState({open:!0})},n)),this.state.open&&Zy.createElement(XNe,{header:t,showPopup:!0,onClose:()=>this.setState({open:!1}),onConfirm:a=>{this.setState({open:!1}),e(a)}}))}};d();var jT=I(require("react"));d();var JM=I(require("react")),ZNe=I(Ce());var JNe=({checked:o,onChange:e,disabled:t,className:n,children:r,style:i={},"data-name":a})=>{let s=c=>{t||e(Boolean(c.target.checked))},l="ab-ToggleButton",u=$e(n,l,o&&`${l}--checked`,t&&`${l}--disabled`);return JM.createElement("label",{"data-name":a,style:i,className:u},JM.createElement("input",{type:"checkbox",disabled:t,checked:Boolean(o),className:`${l}__input`,onChange:s}),JM.createElement(ZNe.Flex,{alignItems:"center",justifyContent:o?"start":"end",className:`${l}__slider`},JM.createElement("div",{className:`${l}__text`},r)))};var E3=jT.memo(({suspendableObject:o,onUnSuspend:e,onSuspend:t,style:n,disabled:r,accessLevel:i})=>{let a=jT.useCallback(u=>{u?e(o):t(o)},[e,t]),s=i&&i==="ReadOnly"||r,l=o.IsSuspended;return jT.createElement(JNe,{className:"ab-SuspendButton","data-name":o.IsSuspended?"un-suspend":"suspend",disabled:s,style:n,onChange:a,checked:!l},l?"inactive":"active")});var bFt=o=>{o.stopPropagation()},e0=class extends mg.Component{render(){return mg.createElement(eLe.Flex,{justifyContent:this.props.justifyContent||"center",margin:0,padding:0,onClick:bFt},this.props.showEdit&&mg.createElement(Nh,{onClick:()=>this.props.editClick?this.props.editClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-edit)",fill:"var(--ab-color-text-on-edit)",background:"var(--ab-color-action-edit)"},disabled:this.props.overrideDisableEdit||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipEdit,accessLevel:this.props.accessLevel}),this.props.showClone&&mg.createElement(x3,{onClick:()=>this.props.cloneClick?this.props.cloneClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-clone)",fill:"var(--ab-color-text-on-clone)",background:"var(--ab-color-action-clone)"},children:null,disabled:this.props.overrideDisableClone||this.props.cloneAccessLevel=="ReadOnly",tooltip:this.props.overrideTooltipClone,accessLevel:this.props.cloneAccessLevel}),this.props.showDelete&&mg.createElement(Lh,{"data-name":"delete",style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-delete)",fill:"var(--ab-color-text-on-delete)",background:"var(--ab-color-action-delete)"},disabled:this.props.overrideDisableDelete||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipDelete,ConfirmAction:this.props.confirmDeleteAction,ConfirmationMsg:"Are you sure you want to delete this "+this.props.entityType+"?",ConfirmationTitle:"Delete "+this.props.entityType,accessLevel:this.props.accessLevel}),this.props.showShare&&mg.createElement(zT,{style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-share)",fill:"var(--ab-color-text-on-share)",background:"var(--ab-color-action-share)"},onShare:e=>this.props.shareClick?this.props.shareClick(e):null,Header:`TeamSharing ${this.props.entityType}`,disabled:this.props.overrideDisableShare||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipShare,accessLevel:this.props.accessLevel}),this.props.showSuspend&&this.props.suspendableObject&&mg.createElement(E3,{style:{marginLeft:2,alignSelf:"center"},onSuspend:this.props.onSuspend,onUnSuspend:this.props.onUnSuspend,suspendableObject:this.props.suspendableObject,disabled:this.props.accessLevel=="ReadOnly"}))}};e0.defaultProps={suspendableObject:null,showEdit:!0,showDelete:!0,showShare:!1,showSuspend:!1,overrideDisableEdit:!1,overrideDisableDelete:!1,overrideDisableClone:!1,overrideDisableShare:!1,confirmDeleteAction:null,entityType:"",accessLevel:"Full",editSize:"xsmall",deleteSize:"xsmall",shareSize:"xsmall"};var Gc=class extends Jy.Component{render(){let e=[];return this.props.showBold?e.push(Jy.createElement("b",null,this.props.item1)):e.push(Jy.createElement("i",null,this.props.item1)),e.push(Jy.createElement("i",null,this.props.item2)),e.push(Jy.createElement(e0,{justifyContent:"start",confirmDeleteAction:this.props.onDelete,showEdit:this.props.showEdit,editClick:()=>this.props.onEdit(),shareClick:t=>this.props.onShare(t),showShare:this.props.showShare,entityType:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel})),Jy.createElement(Xy,{SummaryItems:e})}};d();var kh=I(require("react")),ILe=require("react"),o0=I(Ce());d();var Us=I(require("react")),cLe=require("react");var t0=I(Ce());d();var en=I(require("react")),eb=require("react"),$l=I(Ce());d();var tLe=()=>{let o=typeof globalThis!="undefined"?globalThis:window;return/(Mac|iPhone|iPod|iPad)/i.test(o.navigator.platform)};d();var oLe=I(require("react")),nLe=I(Ce());var w3=o=>oLe.createElement(nLe.Text,S({fontSize:1,color:"inputcolor"},o));d();var iLe=I(require("react")),Hc=require("react");d();var rLe=()=>(typeof globalThis!="undefined"?globalThis:window).ResizeObserver;var SFt=(o,e)=>{let t=rLe();if(!t)return()=>{};let n=new t(r=>{var l;let i=r[0],{width:a,height:s}=i.contentRect;if((l=i.borderBoxSize)!=null&&l[0])s=i.borderBoxSize[0].blockSize,a=i.borderBoxSize[0].inlineSize;else{let u=o.getBoundingClientRect();s=u.height,a=u.width}e({width:a,height:s})});return n.observe(o),()=>{n.disconnect()}},$J=(o,e,t={earlyAttach:!1})=>{let n=(0,Hc.useRef)({width:0,height:0}),r=i=>{let a;return o.current&&(a=SFt(o.current,s=>{s={width:Math.round(s.width),height:Math.round(s.height)};let l=n.current;(l.width!==s.width||l.height!==s.height)&&(n.current=s,i(s))})),()=>{a&&a()}};(0,Hc.useEffect)(()=>t.earlyAttach?()=>{}:r(e),[o.current,e,t.earlyAttach]),(0,Hc.useLayoutEffect)(()=>t.earlyAttach?r(e):()=>{},[o.current,e,t.earlyAttach])},vFt=o=>{let e=(0,Hc.useMemo)(()=>({position:"absolute",top:0,left:0,width:"100%",height:"100%",boxSizing:"border-box"}),[]),{notifyOnMount:t,earlyAttach:n}=o,r=(0,Hc.useRef)(!0),i=(0,Hc.useRef)(null),a=(0,Hc.useCallback)(s=>{if(r.current&&!t){r.current=!1;return}o.onResize(s)},[o.onResize]);return $J(i,a,{earlyAttach:n||!1}),iLe.createElement("div",{ref:i,style:e})};vFt.defaultProps={notifyOnMount:!0,earlyAttach:!1};d();var aLe=I(require("react"));var sLe=(o,e)=>{let t=aLe.useCallback(n=>{if((n.ctrlKey||n.metaKey)&&(n.code==="ArrowUp"||n.code==="ArrowDown")){let r=n.code==="ArrowUp",i=e.reduce((a,s,l)=>(s!=="-"&&a.push(l),a),[]);o(a=>{let s=null,l=i.indexOf(a);if(r){let u=i[l-1];s=typeof u=="number"?u:i[i.length-1]}else{let u=i[l+1];s=typeof u=="number"?u:i[0]}return s})}},[e,o]);XU("keydown",t)};var lLe=en.createContext({data:null,sections:[],setCurrentSection:o=>{}});function uLe(){return en.useContext(lLe)}var T3=o=>{var D,F;let e=0;if(o.defaultCurrentSectionName){let M=o.sections.findIndex(O=>O!=="-"&&(O==null?void 0:O.title)===o.defaultCurrentSectionName);M>=0&&(e=M)}let[t,n]=Pn(o,"currentIndex",e,{onChange:M=>{var O;(O=o.onSectionChange)==null||O.call(o,M)}}),[r,i]=(0,eb.useState)(!1),[a]=(0,eb.useState)(()=>new Map),s=()=>{var M;(M=o.onFinish)==null||M.call(o,o.data)},l=M=>{let O=R[M];return O==="-"?en.createElement(en.Fragment,{key:M}):en.createElement($l.Flex,{flexDirection:"column",key:M,"data-name":`section-${M}`,style:{minHeight:"100%"},mr:2},en.createElement($l.Box,{py:3,paddingLeft:2,fontSize:4,className:"ab-OnePageWizard__details"},O.details),en.createElement($l.Box,{flex:1,className:"ab-OnePageWizard__section"},O.render(o.data,M)))},u=(0,eb.useRef)(null),c=en.createElement("div",{ref:u,className:"ab-OnePageWizard__selected-title-overlay",style:{position:"absolute",background:"var(--ab-cmp-one-page-wizard-selected-title__background)",pointerEvents:"none",borderRadius:"var(--ab__border-radius)",transition:"top 0.2s"}}),p=(0,eb.useRef)(null),[m,h]=(0,eb.useState)(0);$J(p,({width:M})=>{h(M)}),en.useEffect(()=>{let M=u.current,_=M.parentNode.children[t];M.style.top=`${_.offsetTop}px`,M.style.left=`${_.offsetLeft}px`,M.style.height=`${_.offsetHeight}px`,M.style.width=`${_.offsetWidth}px`},[t,m]);let C=0,y=(0,eb.useRef)(null),v=0,x=null,A={data:o.data,sections:o.sections,setCurrentSection:n},R=en.useMemo(()=>o.sections.filter(Boolean).filter(M=>M==="-"||M.isVisible==null||M.isVisible(o.data,A)),[o.sections]);A.sections=R;let w=R.reduce((M,O,_)=>{if(O==="-")return M.set(_,!0),M;let H=O.isValid?O.isValid(o.data,A):!0;return H!==!0&&(v++,x==null&&(x=H)),M.set(_,H),M},new Map);sLe(n,R);let P=!v;return en.createElement(vA.Provider,{value:{namedQuery:r,setNamedQuery:i}},en.createElement(lLe.Provider,{value:A},en.createElement(pa,{modal:!0,isOpen:!0,showCloseButton:!1,focusOnBrowserVisible:!0,style:{borderRadius:"var(--ab__border-radius)",overflow:"hidden",height:"80vh"},ref:y,onDismiss:()=>{var M;return(M=o.onHide)==null?void 0:M.call(o)},onKeyDown:M=>{if(M.metaKey||M.ctrlKey){let{key:O}=M;if(!isNaN(Number(O))){let _=Number(O);if(a.has(_)){let H=a.get(_);n(H),M.preventDefault(),M.stopPropagation(),requestAnimationFrame(()=>{var j;(j=y==null?void 0:y.current)==null||j.bringToFront()})}}}}},en.createElement($l.Flex,{className:"ab-OnePageWizard",flexDirection:"column","data-name":o.name,style:S({height:"100%",width:"90vw",maxWidth:1200},o.style)},en.createElement($l.Flex,{flexDirection:"row",alignItems:"stretch",flex:1,style:{overflow:"auto"}},en.createElement($l.Flex,{flexDirection:"column",padding:3,className:"ab-OnePageWizard__section-title-container",ref:p,style:S({overflow:"auto",position:"relative",flex:"none"},o.titleContainerStyle)},R.map((M,O)=>{if(M==="-")return en.createElement($l.Box,{as:"hr",mt:2,className:"ab-OnePageWizard__section-separator",key:`${O}-`,style:{width:"100%",border:"none",borderTop:"1px solid var(--ab-color-inputborder)"}});C++,a.set(C,O);let _=O===t,H=!1;return en.createElement($l.Flex,{className:"ab-OnePageWizard__section-title","data-name":M.title,flexDirection:"row",style:{cursor:H?"auto":"pointer",zIndex:10,transition:"color 0.2s",opacity:H?.5:1},key:M.title,color:_?"var(--ab-cmp-one-page-wizard-section-title__color)":"",px:2,py:1,mt:O?2:0,onClick:()=>{H||n(O)}},en.createElement(w3,{mr:2,style:{display:"inline-block"}},C),en.createElement("div",{style:{flex:1}},M.title),en.createElement(mo,{name:"error",style:{marginLeft:"var(--ab-space-2)",visibility:w.get(O)!==!0?"visible":"hidden"}}))}),c,en.createElement($l.Box,{flex:1}),en.createElement(w3,{style:{lineHeight:1.5},className:"ab-OnePageWizard__key-hint"},tLe()?"Cmd":"Ctrl"," + #",en.createElement("br",null),"to navigate")),en.createElement($l.Flex,{flex:1,flexDirection:"column",className:"ab-OnePageWizard__section-container"},l(t))),en.createElement($l.Flex,{flexDirection:"row",padding:2,alignItems:"center",className:"ab-WizardDialog__footer ab-OnePageWizard__footer"},en.createElement(ue,{tone:"neutral",variant:"text","data-name":"close",onClick:()=>{var M;return(M=o.onHide)==null?void 0:M.call(o)},tooltip:(D=o.closeTooltip)!=null?D:"Close wizard",accessLevel:"Full"},(F=o.closeText)!=null?F:"CLOSE"),en.createElement(w3,{ml:2},"Esc"),en.createElement($l.Text,{fontSize:2,mr:3,className:"ab-OnePageWizard__error",style:{flex:1,color:"var(--ab-color-error)",textAlign:"end"}},x),en.createElement(ue,{tone:"accent","data-name":"finish",variant:"raised",disabled:P!==!0,onClick:()=>s(),icon:"check",accessLevel:"Full"},"Finish"))))))};var pLe=I(KT());var Bu=o=>Us.createElement(t0.Text,S({fontSize:2,mb:3},o)),mLe=o=>Us.createElement(t0.Text,S({fontSize:2,mt:1},o)),hLe=Us.createContext({data:null,sections:[],moduleInfo:null,api:null,namedQuery:!1});function ke(){return Us.useContext(hLe)}var rr=o=>{let{api:e}=pe(),t=yt(),n=Us.useCallback(c=>t(ty(c)),[]),[r,i]=(0,cLe.useState)(!1),a=o.moduleInfo.FriendlyName?`${(0,pLe.default)(o.moduleInfo.FriendlyName)}-wizard`:"",s={data:o.data,api:e,namedQuery:r,moduleInfo:o.moduleInfo,sections:o.sections},l=o.sections.map(c=>{if(c==="-")return"-";let p=typeof c.isValid=="function"?(h,C)=>c.isValid(h,e,S(S({},C),s)):void 0,m=typeof c.isVisible=="function"?(h,C)=>c.isVisible(h,e,S(S({},C),s)):void 0;return T(S({},c),{isValid:p,isVisible:m})}),u=()=>{var c;r&&r.Name&&n(r),(c=o.onFinish)==null||c.call(o,o.data)};return Us.createElement(hLe.Provider,{value:s},Us.createElement(vA.Provider,{value:{namedQuery:r,setNamedQuery:i}},Us.createElement(T3,T(S({},o),{name:a,sections:l,onFinish:u}))))},Ir=()=>{let{setCurrentSection:o,sections:e,data:t}=uLe(),n=r=>Us.createElement(ue,{px:1,variant:"text",style:{textDecoration:"underline",display:"inline-block",fontSize:"var(--ab-font-size-2)"},onClick:()=>{o(r)}},"edit");return Us.createElement(t0.Box,{className:"ab-OnePageWizardSummary"},e.map((r,i)=>r==="-"||!r.renderSummary?null:Us.createElement(J,{keyboardNavigation:!1,mt:i?2:0,key:i},Us.createElement(J.Tab,null,r.title," ",n(i)),Us.createElement(J.Content,null,r.renderSummary(t)))).filter(Boolean))};d();var hg=I(require("react")),CLe=I(Ce());d();var fLe=I(require("react")),gLe=require("react");var _A=o=>{let{columnFilterText:e,availableColumns:t,selected:n,onChange:r,singleSelect:i}=o,a=(0,gLe.useMemo)(()=>e?s=>s.friendlyName.toLowerCase().indexOf(e.toLowerCase())!=-1:null,[e]);return fLe.createElement(Ba,{value:n,options:t,filter:a,singleSelect:i,allowReorder:!1,onChange:s=>{r(i?s.length?[s.pop()]:[]:s)},toIdentifier:s=>s.columnId,toLabel:s=>s.friendlyName,noSelectionLabel:i?"Please select a column":"You have not selected any columns.",xSelectedLabel:i?()=>null:s=>s>1?`You selected ${s} columns.`:"You selected one column."})};_A.defaultProps={allowReorder:!0};var yLe=o=>{let{api:e}=ke();return hg.createElement(CLe.Text,{pr:2,py:2,fontSize:2},"Custom sort column: ",hg.createElement(rt,null,e.columnApi.getFriendlyNameForColumnId(o.ColumnId)))},bLe=o=>o.ColumnId?!0:"You have to select a Column for Custom Sort",SLe=o=>{let{data:e,api:t}=ke(),n=hg.useMemo(()=>{let r=t.columnApi.getSortableColumns(),i=t.customSortApi.getCustomSorts(),a=t.optionsApi.getCustomSortOptions().customSortComparers||[],s=[...i.map(l=>l.ColumnId),...a.map(l=>t.scopeApi.getColumnIdsInScope(l.scope))];return r.filter(l=>!o.isNew&&l.columnId===(e==null?void 0:e.ColumnId)?!0:s.every(u=>l.columnId!==u))},[]);return hg.createElement(J,{style:{height:"100%"}},hg.createElement(J.Tab,null,"Column"),hg.createElement(J.Content,null,hg.createElement(_A,{availableColumns:n,selected:e.ColumnId?[e.ColumnId]:[],singleSelect:!0,onChange:r=>{o.onChange(T(S({},e),{SortedValues:[],ColumnId:r[0]}))},allowReorder:!1})))};d();var _h=I(require("react")),tb=require("react"),vLe=I(Ce());d();var QT=async(o,e,t=100)=>{let n=!1;return o==null||o.then(()=>{n=!0}),(async()=>(await new Promise(r=>setTimeout(r,t)),n||e()))(),o};var ALe=o=>!o.SortedValues||!o.SortedValues.length?"You have to specify at least one value for Custom Sort order":!0,xLe=o=>o.SortedValues.length?_h.createElement(vLe.Text,{fontSize:2},_h.createElement(Va,{options:o.SortedValues,value:o.SortedValues,toIdentifier:e=>`${e}`,toLabel:e=>`${e}`,allowWrap:!0,readOnly:!0})):null,RLe=o=>{let{data:e,api:t}=ke(),[n,r]=(0,tb.useState)([]),[i,a]=(0,tb.useState)(!1);(0,tb.useEffect)(()=>{let m=!0;return(async()=>{r([]);let h=await QT(t.gridApi.internalApi.getDistinctCustomSortDisplayValuesForColumn(e.ColumnId),()=>m&&a(!0));!m||(a(!1),r(h))})(),()=>{m=!1}},[e.ColumnId]);let s=(0,tb.useMemo)(()=>!e.SortedValues||!e.SortedValues.length?new Map:e.SortedValues.reduce((m,h)=>(m.set(h,!0),m),new Map),[e.SortedValues]),l=_h.useCallback(m=>s.has(m),[s]),u=(0,tb.useMemo)(()=>ku(n,e.SortedValues,{sortUnorderedItems:!1}),[l,n,e.SortedValues]),c="ab-CustomSortWizard__SortOrder",p=$e(c,i&&`${c}--loading`);return _h.createElement(J,{style:{height:"100%"},className:p},_h.createElement(J.Tab,null,"Sort Order"),_h.createElement(J.Content,null,i&&_h.createElement(IM,null,"Loading"),_h.createElement(Ba,{toIdentifier:m=>`${m}`,toLabel:m=>`${m}`,options:u,value:e.SortedValues,allowReorder:l,xSelectedLabel:()=>"Your Sort Order:",onChange:m=>{o.onChange(T(S({},e),{SortedValues:m}))}})))};d();var kA=I(require("react"));d();var qJ=I(require("react"));var ELe=o=>{let{api:e}=pe(),t=()=>{var s;return(s=e.internalApi.getAvailableTags())!=null?s:[]},{availableTags:n=t(),selectedTags:r=[],onChange:i,singleSelect:a}=o;return qJ.createElement(Ba,{options:n,value:r.map(s=>e.internalApi.getLabelForTag(s)),singleSelect:a,allowReorder:!1,onChange:(s,l)=>{i(s.map(u=>l.get(u)))},selectionBoxPosition:"top",toIdentifier:s=>e.internalApi.getLabelForTag(s),toLabel:s=>e.internalApi.getLabelForTag(s),noSelectionLabel:a?"Select a tag":"You have not selected any tags.",xSelectedLabel:a?()=>"Selected tag:":()=>"Selected tags:"})},wLe=o=>{let{tags:e=[]}=o,{api:t}=pe();return qJ.createElement(Va,{options:e,value:e.map(n=>t.internalApi.getValueForTag(n)),toIdentifier:n=>t.internalApi.getValueForTag(n),toLabel:n=>t.internalApi.getLabelForTag(n),allowWrap:!0,readOnly:!0})};var TLe=I(Ce());var Pr=o=>{let{onChange:e}=o,{data:t}=ke();return kA.createElement(J,{style:{height:"100%"}},kA.createElement(J.Tab,null,"Tags"),kA.createElement(J.Content,null,kA.createElement(ELe,{selectedTags:t.Tags,onChange:n=>e(T(S({},t),{Tags:n}))})))},Dr=o=>{var e;return(e=o.Tags)!=null&&e.length?kA.createElement(TLe.Text,{fontSize:2},kA.createElement(wLe,{tags:o.Tags})):null};var I3=o=>{var s,l;let e=o.data,t=_t(u=>{var c;return(c=u.CustomSort)==null?void 0:c.CustomSorts});((s=o.popupParams)==null?void 0:s.action)==="Edit"&&((l=o.popupParams)==null?void 0:l.column)&&(e=t.find(u=>{var c;return u.ColumnId==((c=o.popupParams)==null?void 0:c.column.columnId)}));let[n,r]=(0,ILe.useState)(()=>{var c,p;if(e)return zo(e);let u=it.CreateEmptyCustomSort();return(c=o.popupParams)!=null&&c.column&&(u.ColumnId=(p=o.popupParams)==null?void 0:p.column.columnId),u}),i=yt(),a=()=>{i(e?zf(n):jC(n)),o.onFinishWizard(n)};return kh.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:n,onFinish:a,onHide:o.onCloseWizard,sections:[{isValid:bLe,renderSummary:yLe,details:"Select a Column for Custom Sort",render:()=>kh.createElement(o0.Box,{padding:2,style:{height:"100%"}},kh.createElement(SLe,{isNew:o.isNew,onChange:r})),title:"Column"},{title:"Sort Order",details:'Select values to specify Custom Sort order - use "Drag to reorder" checkbox to modify order',isValid:ALe,renderSummary:xLe,render:()=>kh.createElement(o0.Box,{padding:2,style:{height:"100%"}},kh.createElement(RLe,{onChange:r}))},{details:"Select Custom Sort Tags",title:"Tags",isVisible:(u,c)=>c.internalApi.shouldDisplayTagSections(),render:()=>kh.createElement(o0.Box,{padding:2},kh.createElement(Pr,{onChange:r})),renderSummary:Dr},"-",{title:"Summary",details:"Review your Custom Sort",render:()=>kh.createElement(o0.Box,{padding:2},kh.createElement(Ir,null))}]})};var YJ=class extends Uc.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.CustomSorts.find(n=>n.ColumnId==t.ColumnId)?this.props.onEditCustomSort(t):this.props.onAddCustomSort(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Rn.getEmptyConfigState()}render(){let t=this.props.CustomSorts.find(a=>a.ColumnId==this.props.summarisedColumn.columnId),n=this.props.api.customSortApi.internalApi.getCustomSortComparer(this.props.summarisedColumn),r=t==null&&n==null,i;return this.props.summarisedColumn.sortable?r?i=Uc.createElement(Mh,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Custom Sort Set",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):n!=null?i=Uc.createElement(Mh,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Using a Custom Sort Comparer Function",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):i=Uc.createElement(Gc,{key:this.props.moduleInfo.FriendlyName,item1:Uc.createElement(Vc,{moduleInfo:this.props.moduleInfo}),item2:this.getCustomSortedValues(t),configEnity:t,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),showEdit:t!=null,onShare:a=>this.props.onShare(t,a),showShare:this.props.teamSharingActivated,onDelete:_E(t),showBold:!0,accessLevel:this.props.accessLevel}):i=Uc.createElement(Mh,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Column is not sortable",newButtonDisabled:!0,onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}),Uc.createElement(Uc.Fragment,null,i,this.state.editedAdaptableObject&&Uc.createElement(I3,{isNew:this.state.wizardStatus==="New",moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CustomSorts,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let t=jo.CreateEmptyCustomSort();t.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){this.setState({editedAdaptableObject:qo.cloneObject(t),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return ct.IsNotNullOrEmpty(t.ColumnId)&&pt.IsNotNullOrEmpty(t.SortedValues)}getCustomSortedValues(t){return pt.IsNotNullOrEmpty(t.SortedValues)?t.SortedValues.join(", "):"[Has bespoke Custom Sort implementing using bespoke function]"}};function RFt(o,e){return{CustomSorts:o.CustomSort.CustomSorts}}function EFt(o){return{onAddCustomSort:e=>o(jC(e)),onEditCustomSort:e=>o(zf(e)),onShare:(e,t)=>o(Tc(e,ls,t))}}var PLe=bt(RFt,EFt)(YJ);d();var BA=I(require("react"));d();var P3=I(require("react"));var um=class extends P3.Component{render(){return P3.createElement(ue,T(S({"data-name":"clear",tooltip:"Clear",iconSize:20,icon:this.props.showIcon==!1?"":"close"},this.props),{variant:"text"}),this.props.showText?"Clear":"")}};var XJ=class extends BA.Component{constructor(e){super(e),this.state=Rn.getEmptyConfigState()}render(){let e=this.props.ColumnFilters.find(r=>r.ColumnId==this.props.summarisedColumn.columnId),t=this.getDescription(e),n=[];return n.push(BA.createElement("b",null,BA.createElement(Vc,{moduleInfo:this.props.moduleInfo}))),n.push(t),n.push(BA.createElement(um,{marginLeft:1,onClick:()=>this.props.onClearFilter(e),tooltip:"Clear Filter",disabled:e==null,accessLevel:this.props.accessLevel})),BA.createElement(Xy,{SummaryItems:n})}getDescription(e){return this.props.summarisedColumn&&!this.props.summarisedColumn.filterable?"Column is not filterable":e==null?"No Column Filter Active":this.props.api.filterApi.internalApi.columnFilterToString(e)}};function wFt(o){return{ColumnFilters:qC(o)}}function TFt(o){return{onClearFilter:e=>o(jp(e)),onClearPopupParams:()=>o(vE()),onShare:(e,t)=>o(Tc(e,wi,t))}}var DLe=bt(wFt,TFt)(XJ);d();var VA=I(require("react"));d();var ql=I(require("react")),N3=I(Ce());d();var To=I(require("react")),OLe=require("react"),yl=I(Ce());var Bh=({Scope:o})=>{let e=[];return o?(o&&"ColumnIds"in o&&o.ColumnIds.length===0&&e.push("No Columns selected in Scope"),o&&"DataTypes"in o&&o.DataTypes.length===0&&e.push("No Data Types selected in Scope"),e.length?e.join(", "):!0):"No scope specified or scope is empty"},FLe={Date:{label:"Date",value:"Date"},Number:{label:"Number",value:"Number"},String:{label:"String",value:"String"},Boolean:{label:"Boolean",value:"Boolean"}},ob=(o,e)=>{let n=pe().api.scopeApi,r=n.getColumnsForScope(o);return To.createElement(To.Fragment,null,To.createElement(yl.Box,null,To.createElement(Bu,{mb:0},n.scopeIsAll(o)?e.scopeWholeRow:null)),To.createElement(yl.Box,{style:{overflow:"hidden"}},"ColumnIds"in o?To.createElement(To.Fragment,null,To.createElement(Bu,{mb:r.length?2:0},e.scopeColumns),r.length?To.createElement(Va,{options:r,value:r.map(i=>i.columnId),toLabel:i=>i.friendlyName,allowWrap:!0,readOnly:!0,renderLabel:i=>To.createElement(Bu,{mb:0},i),toIdentifier:i=>i.columnId}):null):null),To.createElement(yl.Box,null,"DataTypes"in o?To.createElement(To.Fragment,null,To.createElement(yl.Text,{fontSize:2,mb:2},e.scopeDataTypes),To.createElement(Va,{readOnly:!0,options:o.DataTypes,value:o.DataTypes,toLabel:i=>i,allowWrap:!0,renderLabel:i=>To.createElement(yl.Text,{fontSize:2},`DataType: ${i}`),toIdentifier:i=>i})):null))},IFt=Object.values(FLe),Wc=o=>{let{api:e}=pe(),{scopeApi:t,columnApi:n}=e,[r,i]=(0,OLe.useState)(""),a=To.useMemo(()=>{let C=o.scopeColumns||n.getColumns();return typeof o.isColumnAvailable=="function"?C.filter(y=>o.isColumnAvailable(y)):C},[]),s=C=>{if(!!C){if(t.scopeIsAll(C))return"All";if(t.scopeHasColumns(o.scope))return"Column";if(t.scopeHasDataType(o.scope))return"DataType"}},l=C=>{let y;C=="Column"?y={ColumnIds:[]}:C=="DataType"?y={DataTypes:[]}:y={All:!0},o.updateScope(y)},u=C=>{let y={ColumnIds:C};o.updateScope(y)},c=(C,y)=>{let v=[].concat(t.getDataTypesInScope(o.scope));if(C)v.push(y);else{let A=v.indexOf(y,0);A>-1&&v.splice(A,1)}let x={DataTypes:v};o.updateScope(x)},p=s(o.scope),m=o.scope&&"DataTypes"in o.scope?t.getDataTypesInScope(o.scope):null,h=IFt;return Array.isArray(o.availableDataTypes)&&(h=o.availableDataTypes.map(C=>FLe[C])),To.createElement(J,{"data-name":"scope-component",className:"ab-ScopeComponent",value:p,style:S({height:"100%"},o.style),onValueChange:l},o.hideWholeRow?null:To.createElement(J.Tab,{value:"Row"},To.createElement(Xe,{margin:0,checked:p=="All",tabIndex:-1},"All Columns")),!o.disableColumns&&To.createElement(J.Tab,{value:"Column"},To.createElement(Xe,{margin:0,value:"Column",checked:p=="Column",tabIndex:-1},"Selected Columns")),!o.disableDataTypes&&To.createElement(J.Tab,{value:"DataType"},To.createElement(Xe,{margin:0,value:"DataType",checked:p=="DataType",tabIndex:-1},"Data Types")),o.hideWholeRow?null:To.createElement(J.Content,{value:"Row",style:{flex:"none"},"data-name":"row-scope"},To.createElement(yl.Text,{padding:2,pl:0,fontSize:2},o.descriptions.rowScope)),!o.disableColumns&&To.createElement(J.Content,{value:"Column",style:{flex:1,overflow:"auto"},"data-name":"column-scope",padding:0},To.createElement(yl.Flex,{flexDirection:"row",alignItems:"center",padding:2},To.createElement(yl.Text,{fontSize:2},o.descriptions.columnScope),To.createElement(yl.Flex,{flex:3}),To.createElement(Cl,{value:r,OnTextChange:i,placeholder:"Type to search columns",style:{flex:1}})),To.createElement(yl.Flex,{paddingLeft:2,flex:1,style:{overflow:"hidden"}},To.createElement(_A,{columnFilterText:r,allowReorder:!1,availableColumns:a,selected:t.getColumnIdsInScope(o.scope),onChange:u}))),!o.disableDataTypes&&To.createElement(J.Content,{value:"DataType",style:{flex:"none"},"data-name":"datatype-scope"},To.createElement(yl.Box,null,o.descriptions.dataTypeScope&&To.createElement(yl.Text,{p:2,pl:0,mb:2,fontSize:2},o.descriptions.dataTypeScope),To.createElement(yl.Flex,{flexDirection:"column"},h.map(C=>To.createElement(Ne,{"data-name":"scope","data-value":C.value,key:C.value,checked:m&&m.includes(C.value),onChange:y=>c(y,C.value)},C.label))))))};d();var D3=I(require("react"));var MLe=o=>{let{data:e,api:t}=ke(),n=D3.useMemo(()=>t.columnApi.getNumericColumns(),[]);return D3.createElement(Wc,{availableDataTypes:["Number"],scopeColumns:n,scope:e.Scope,descriptions:{rowScope:"Matching rows will have the plus/minus applied",columnScope:"Matching Columns will have the plus/minus applied"},updateScope:r=>{let i=r;r&&"DataTypes"in r&&r.DataTypes.length===0&&(i=T(S({},r),{DataTypes:["Number"]})),o.onChange(T(S({},e),{Scope:i}))}})};d();var Ua=I(require("react")),ree=I(Ce());d();var Vu=I(require("react"));d();var Ko=I(require("react")),BLe=require("react"),ib=I(Ce());d();d();var Ha=I(require("react")),rb=I(Ce());d();var Ud=I(require("react")),a0=I(Ce());d();var Ws=I(require("react")),qT=I(Ce());d();d();var nb=I(require("react")),i0=I(Ce());d();var dm=I(require("react"));d();var O3=I(require("react"));d();var ZJ=I(require("react")),JJ=require("react");var PFt=ZJ.createContext({clickInfoRef:null,selected:{},getItemId:o=>o,toggleOnSimpleClick:!1,setSelected:o=>{}}),NLe=()=>{let{selected:o,setSelected:e,toggleOnSimpleClick:t,clickInfoRef:n,getItemId:r}=(0,JJ.useContext)(PFt);return(i,{index:a})=>{if(a===void 0)return;let{lastClickIndexWithoutShift:s,lastShiftSelectionRange:l}=n.current,{shiftKey:u,metaKey:c,ctrlKey:p}=i;p&&(c=!0),c&&(u=!1);let m=`${r(a)}`,h;if(u){let C=s,y=a;if(h=S({},o),l){let{start:A,end:R}=l;for(;A<=R;A++)delete h[r(A)]}let[v,x]=[Math.min(C,y),Math.max(C,y)];for(n.current.lastShiftSelectionRange={start:v,end:x};v<=x;v++)h[r(v)]=!0;e(h)}else{if(n.current.lastClickIndexWithoutShift=a,!c&&!t)h={[m]:!0};else{let C=o[m];h=S({},o),C?(delete h[m],n.current.lastClickIndexWithoutShift=s):h[m]=!0}n.current.lastShiftSelectionRange=null,e(h)}}};var eee="ab-ListGroupItem",DFt=O3.forwardRef((o,e)=>{let u=o,{className:t,active:n,factory:r="button",noZebra:i}=u,a=ut(u,["className","active","factory","noZebra"]),s=NLe();return O3.createElement(r,T(S({},a),{onClick:c=>{a.onClick&&a.onClick(c),s(c,{index:o.index})},ref:e,className:$e(t,eee,i?`${eee}--no-zebra`:null,`${eee}--${n?"active":"not-active"}`)}))}),F3=DFt;var tee=I(Ce());d();var n0=I(require("react"));var OFt="ab-GridList",FFt=new Map([["item",{field:"item",header:null,defaultFlex:1}]]),MFt=o=>{var t;let e=n0.Children.map(o.children,(n,r)=>({item:n,id:r})).filter(n=>!!n.item);return n0.createElement(da,{data:e,primaryKey:"id"},n0.createElement(mi,{header:!1,showZebraRows:o.showZebraRows,rowHeight:(t=o.rowHeight)!=null?t:"--ab-grid-row-height",domProps:{className:$e(OFt,o.className),style:{minHeight:"15rem"}},columns:FFt}))},LLe=MFt;var r0=require("react");var $T=o=>{let[e,t]=(0,r0.useState)(""),n=dm.useCallback(m=>{t(m),o==null||o.onFilterChange(m)},[o.onFilterChange]),[r,i]=(0,r0.useState)(o.uiSelectedColumnValues),a=m=>{i(m),o.onColumnValueSelectedChange(m)};(0,r0.useEffect)(()=>{i(o.uiSelectedColumnValues)},[o.uiSelectedColumnValues]);let s=m=>dm.createElement(Ne,T(S({},m),{variant:"agGrid",fontSize:2,marginTop:1,marginBottom:1,marginLeft:1,marginRight:1,title:typeof m.children=="string"?m.children:null})),l=m=>{let h=r.indexOf(m);if(m instanceof Date&&(h=r.findIndex(C=>Sc(mn(C),mn(m)))),h>=0){let C=[...r];C.splice(h,1),a(C)}else a([...r,m])},u=o.columnDistinctValues.map((m,h)=>{let C=r.indexOf(m.value)>=0;!C&&m.value&&m.value instanceof Date&&(C=r.some(x=>Sc(mn(x),mn(m.value))));let y=m.label;if(ct.IsNullOrEmpty(y))return null;let v=ct.IsNullOrEmpty(e.toLocaleLowerCase())||ct.IsNullOrEmpty(y==null?void 0:y.toLocaleLowerCase())||y.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())<0;return!o.suppressClientSideFilter&&ct.IsNotNullOrEmpty(e)&&v?null:o.useAgGridStyle?s({key:"columnValue"+h,children:m.label,checked:C,onChange:()=>l(m.value),disabled:o.disabled,style:{width:"100%"}}):dm.createElement(F3,{noZebra:o.useAgGridStyle,key:"columnValue"+h,onClick:()=>l(m.value),active:C,value:m.value},m.label)}),c=dm.createElement(Cl,{autoFocus:!0,type:"text",placeholder:"Search Column Values",value:e,style:{paddingTop:"var(--ab-space-1)",paddingBottom:"var(--ab-space-1)",paddingLeft:"var(--ab-space-1)",borderRadius:"var(--ab__border-radius)"},OnTextChange:n}),p="ab-ListBoxFilterForm";return dm.createElement("div",{className:$e(p,o.useAgGridStyle?`${p}--aggrid-style`:null,o.isLoading&&`${p}--loading`)},dm.createElement(tee.Box,{px:2},dm.createElement(tee.Box,{mx:o.useAgGridStyle?0:"2px",marginBottom:2},c,o.isLoading&&dm.createElement(IM,null,"Loading"))),!o.isLoading&&dm.createElement(LLe,{showZebraRows:!1,className:o.useAgGridStyle?"":"ab-padding-horizontal-0"},u))};var oee=o=>{var l,u,c;let e=pe(),t=o.columnId,n=e.api.columnApi.getColumnWithColumnId(t),r=((l=e.api.gridApi.internalApi.getDistinctDisplayValuesForColumn(t))!=null?l:[]).map(p=>{var m;return{value:p,label:p.toString?(m=p.toString)==null?void 0:m.call(p):p}}),i=(u=o.predicate.Inputs)!=null?u:[],a=((c=i==null?void 0:i.filter)==null?void 0:c.call(i,p=>p!==void 0||p!==null||p!=="").length)===0,s=nb.createElement(i0.Flex,{className:"ab-PermitedValuesSelector__PopupContent",padding:1,flexDirection:"column"},nb.createElement($T,{currentColumn:n,columns:[],columnDistinctValues:r,dataType:n.dataType,uiSelectedColumnValues:o.predicate.Inputs,useAgGridStyle:!0,onColumnValueSelectedChange:p=>o.onPredicateValuesChange(p)}));return nb.createElement(i0.Box,{className:"ab-PermitedValuesSelector",mt:2},nb.createElement(i0.Box,{flex:1},nb.createElement(cs,{render:()=>s},nb.createElement(ue,{width:"100%",mb:2},(i==null?void 0:i.join(", "))||"No Selected values"))),nb.createElement(ue,{disabled:a,onClick:()=>o.onPredicateValuesChange([])},"Clear Values"))};var NFt=o=>o&&["Values","ExcludeValues"].includes(o.id),YT=o=>{var l,u,c;let e="ab-PredicateEditor",t=(l=o.placeholder)!=null?l:"Select Rule",n=Ws.useMemo(()=>{var p;return(p=o==null?void 0:o.predicateDefs)==null?void 0:p.map(m=>({value:m.id,label:m.label,onClick:()=>{var h;o.onChange(T(S({},o.predicate),{PredicateId:m.id,Inputs:((h=m==null?void 0:m.inputs)!=null?h:[]).map(C=>{var y;return(y=C.defaultValue)!=null?y:""})}))}}))},[o.predicateDefs,o.onChange]),r=(p,m)=>{var y;let{value:h}=p.target,C=[...(y=o.predicate.Inputs)!=null?y:[]];C[m]=h,o.onChange(T(S({},o.predicate),{Inputs:C}))},i=p=>{o.onChange(T(S({},o.predicate),{Inputs:p}))},a=(u=o==null?void 0:o.predicateDefs)==null?void 0:u.find(p=>{var m;return p.id===((m=o.predicate)==null?void 0:m.PredicateId)}),s=null;return a&&(Ch(a==null?void 0:a.icon)?s=Ws.createElement(Ma,{icon:a.icon}):(a==null?void 0:a.icon)&&"text"in(a==null?void 0:a.icon)&&(s=Ws.createElement("span",null,a.icon.text))),Ws.createElement(qT.Box,{className:e},Ws.createElement(qT.Flex,{justifyContent:"stretch",alignItems:"center"},s&&Ws.createElement(rt,{mr:2},s),Ws.createElement(Qe,{mb:0,style:{flex:1},listStyle:{minWidth:150},"data-name":"select-predicate",className:`${e}__predicate-dropdown`,placeholder:t,showClearButton:!!o.predicate,onClear:o.onClear,items:n,columns:["label"]},a?a.label:t)),Ws.createElement(qT.Flex,null,(c=a==null?void 0:a.inputs)==null?void 0:c.map((p,m)=>{var h,C;return Ws.createElement(Ws.Fragment,null,m>0&&Ws.createElement(Qt,{margin:2},"AND"),Ws.createElement(qT.Flex,{key:m,flex:1,flexDirection:"column"},Ws.createElement(oo,{"data-name":`predicate-input-${m}`,marginTop:2,type:p.type,autoFocus:m===0,value:(C=(h=o.predicate.Inputs)==null?void 0:h[m])!=null?C:"",onChange:y=>r(y,m)})))})),NFt(a)&&Ws.createElement(oee,{onPredicateValuesChange:i,predicate:o.predicate,columnId:o.columnId}))};var _Le=o=>{var p,m,h,C,y;let{api:e}=pe(),{predicate:t}=o,n=Ud.useMemo(()=>e.columnApi.getColumns().map(v=>({label:v.friendlyName,value:v.columnId})),[]),r=()=>{var x,A;let v=(A=(x=o.data.Rule)==null?void 0:x.Predicates)==null?void 0:A.filter(R=>R!==t);o.onChange(T(S({},o.data),{Rule:{Predicates:v}}))},i=v=>{var A,R;let x=[];t?x=(R=(A=o.data.Rule)==null?void 0:A.Predicates)==null?void 0:R.map(w=>w===t?v:w):x=[v],o.onChange(T(S({},o.data),{Rule:{Predicates:x}}))},a=Ud.useMemo(()=>{var x;let v=[];return o.getPredicateDefsForColId&&((x=o==null?void 0:o.predicate)==null?void 0:x.ColumnId)?v=o.getPredicateDefsForColId(o.predicate.ColumnId):v=o.predicateDefs,v},[o.predicate]),s=Boolean(o.columnPredicateEnabled),l=(p=n.find(v=>v.value===(t==null?void 0:t.ColumnId)))==null?void 0:p.label,u=n.map(v=>({label:v.label,onClick:()=>{i({PredicateId:null,ColumnId:v.value,Inputs:[]})}})),c=null;return(t==null?void 0:t.ColumnId)&&t.ColumnId!==""?c=t.ColumnId:"ColumnIds"in o.data.Scope&&((h=(m=o.data.Scope)==null?void 0:m.ColumnIds)==null?void 0:h[0])&&(c=(y=(C=o.data.Scope)==null?void 0:C.ColumnIds)==null?void 0:y[0]),Ud.createElement(a0.Flex,{className:"ab-EntityRulePredicateEditor",p:3,mb:3},Ud.createElement(a0.Box,{flex:1},Ud.createElement(Ke,null,s&&Ud.createElement(de,{label:"Column"},Ud.createElement(Qe,{width:"100%",columns:["label"],items:u},l!=null?l:"Select Column")),Ud.createElement(de,{label:"Predicate"},Ud.createElement(YT,{columnId:c,predicateDefs:a,predicate:t,onChange:i,onClear:r})))),Ud.createElement(a0.Box,null,Ud.createElement(ue,{disabled:!t,ml:2,onClick:r,icon:"delete"})))};d();var zc=(o,e)=>{let t=[];return"ColumnIds"in o&&Array.isArray(o.ColumnIds)&&(t=o.ColumnIds,t=o.ColumnIds.map(n=>e.columnApi.getFriendlyNameForColumnId(n)).filter(Boolean)),"DataTypes"in o&&(t=o.DataTypes),"All"in o&&(t=["All Columns"]),{label:"Target",name:"Target",values:t}};var nee=o=>{var u,c,p,m,h;let{api:e}=pe(),t=e.internalApi.isDocumentationLinksDisplayed(),n=o.data.Rule.Predicates.some(C=>C.ColumnId!==void 0),r=o.predicateDefs.filter(C=>{var y,v;return(v=(y=o.data.Rule)==null?void 0:y.Predicates)==null?void 0:v.every(x=>x.PredicateId!==C.id)}),i=C=>{C?o.onChange(T(S({},o.data),{Rule:{Predicates:[{PredicateId:null,ColumnId:""}]}})):o.onChange(T(S({},o.data),{Rule:{Predicates:[]}}))},a=()=>{var C;o.onChange(T(S({},o.data),{Rule:{Predicates:[...((C=o.data.Rule)==null?void 0:C.Predicates)||[],{PredicateId:r[0].id,Inputs:[]}]}}))},s=zc(o.data.Scope,e).values.join(", "),l=(u=o.enablePredicateColumnId)!=null?u:!0;return Ha.createElement(Ha.Fragment,null,Ha.createElement(rb.Flex,{mb:2,justifyContent:"space-between"},Ha.createElement(rb.Text,{fontSize:2,mb:2},o.descriptions.selectPredicate),Ha.createElement(ue,{disabled:!((p=(c=o.data.Rule)==null?void 0:c.Predicates)!=null&&p.length),onClick:a,icon:"plus",variant:"raised"},"Add Predicate")),l&&Ha.createElement(rb.Flex,{className:"ab-EntityRulePredicateEditor-ScopeTypeSelector",p:2,mb:2,flexDirection:"column"},Ha.createElement(rb.Text,{mb:2},"Create Predicate Rule(s) using"),Ha.createElement(Xe,{"data-name":"entity-scope",onClick:()=>i(!1),mr:3,checked:!n},"Active Column:"," ",Ha.createElement(rt,{ml:1,mr:1},s||"Not Defined")," "),Ha.createElement(Xe,{"data-name":"column-scope",onClick:()=>i(!0),checked:n},"Selected Columns (overriding Active Column)")),((h=(m=o.data.Rule)==null?void 0:m.Predicates)!=null&&h.length?o.data.Rule.Predicates:[null]).map((C,y)=>{let v=o.predicateDefs.find(A=>A.id===(C==null?void 0:C.PredicateId)),x=r;return v&&(x=[v,...r]),Ha.createElement(Ha.Fragment,{key:`${y}-${C==null?void 0:C.PredicateId}`},y>0&&Ha.createElement(rb.Box,null,Ha.createElement(rt,{mb:3},"AND")),Ha.createElement(_Le,{data:o.data,predicate:C,onChange:o.onChange,predicateDefs:x,getPredicateDefsForColId:o.getPredicateDefsForColId,columnPredicateEnabled:n}))}),t&&Ha.createElement(Qt,{"data-name":"query-documentation",mt:3,mb:2,style:{fontSize:"var(--ab-font-size-3)",padding:0}},Ha.createElement(Pu,{mr:2,onClick:()=>window.open(fOe,"_blank")}),"See Predicate documentation for more details and examples"))};var M3=o=>{let a=o,{type:e,label:t,disabled:n=!1}=a,r=ut(a,["type","label","disabled"]),i=Ko.createElement(ib.Flex,{flexDirection:"column"},t," ",Ko.createElement(ib.Text,{fontSize:2},"query"));return Ko.createElement(J.Tab,S({style:{flex:1}},r),!n&&o.showRadio?Ko.createElement(Xe,{tabIndex:-1,margin:0,checked:e===o.value,style:{alignItems:"baseline"}},i):i)};M3.defaultProps={isTabsTab:!0};var XT=o=>{var r,i,a,s,l,u,c,p;let{data:e}=o,{api:{predicateApi:t,internalApi:n}}=pe();return!((i=(r=e==null?void 0:e.Rule)==null?void 0:r.Predicates)!=null&&i.length)&&!((a=e==null?void 0:e.Rule)!=null&&a.BooleanExpression)&&!((s=e==null?void 0:e.Rule)!=null&&s.ObservableExpression)&&!((l=e==null?void 0:e.Rule)!=null&&l.AggregatedBooleanExpression)?Ko.createElement(ib.Text,{fontSize:2},"No Rule defined"):Ko.createElement(ib.Text,{fontSize:2},e.Rule.Predicates?Ko.createElement(Ko.Fragment,null,(p=(c=(u=e.Rule)==null?void 0:u.Predicates)==null?void 0:c.map)==null?void 0:p.call(c,(m,h)=>Ko.createElement(Ko.Fragment,{key:h},o.renderPredicate(t.predicateToString(m))))):Ko.createElement(Ko.Fragment,null,o.renderQueryExpression(n.getAdaptableQueryExpressionText(e.Rule))))},kLe=o=>o.showRadio?Ko.createElement(Xe,{tabIndex:-1,margin:0,checked:o.checked},o.children):Ko.createElement(Ko.Fragment,null,"props.children"),ab=o=>{var _,H,j;let{data:e,children:t,descriptions:n,predicateDefs:r,showNoRule:i=!1,showPredicate:a=!0,showObservable:s=!0,showBoolean:l=!0,showAggregation:u=!0,flexProps:c,module:p}=o,{api:m}=pe(),C=[i,a,s,l,u].filter(Boolean).length>1,y=e.Rule==null?"NoRule":e.Rule.BooleanExpression!=null?"BooleanExpression":e.Rule.ObservableExpression!=null&&s?"ObservableExpression":e.Rule.AggregatedBooleanExpression!=null&&u?"AggregatedBooleanExpression":"Predicate",[v,x]=Ko.useState(y),A=B=>{x(B),B==="NoRule"&&i?(delete e.Rule,o.onChange(S({},e))):B==="BooleanExpression"&&l?o.onChange(T(S({},e),{Rule:{BooleanExpression:""}})):B==="ObservableExpression"&&s?o.onChange(T(S({},e),{Rule:{ObservableExpression:""}})):B==="AggregatedBooleanExpression"&&u?o.onChange(T(S({},e),{Rule:{AggregatedBooleanExpression:""}})):o.onChange(T(S({},e),{Rule:{Predicates:[{PredicateId:o.defaultPredicateId}]}}))},R=B=>B&&["Values","ExcludeValues"].includes(B.id),w=r.filter(B=>R(B)?"ColumnIds"in e.Scope&&e.Scope.ColumnIds.length===1:!0),P=B=>{o.onChange(T(S({},e),{Rule:{BooleanExpression:B}}))},D=B=>{o.onChange(T(S({},e),{Rule:{ObservableExpression:B}}))},F=B=>{o.onChange(T(S({},e),{Rule:{AggregatedBooleanExpression:B}}))},M=(0,BLe.useMemo)(()=>m.internalApi.getQueryPreviewData(),[]);return Ko.createElement(ib.Flex,T(S({className:"ab-EntityRulesEditor",flexDirection:"column",padding:2,pt:0,pl:0},c),{style:S({height:"100%"},c==null?void 0:c.style)}),t,Ko.createElement(J,{onValueChange:A,value:v,pt:2,pl:2,style:{flex:1,overflow:"auto"}},i?Ko.createElement(J.Tab,{value:"NoRule",style:{flex:1}},Ko.createElement(kLe,{showRadio:C,checked:y==="NoRule"},"No Condition")):null,i?Ko.createElement(J.Content,{value:"NoRule"},Ko.createElement(ib.Text,{fontSize:2,mb:2},"Format Column is always applied")):null,a?Ko.createElement(J.Tab,{value:"Predicate",style:{flex:1}},Ko.createElement(kLe,{showRadio:C,checked:y==="Predicate"},"Predicate")):null,a?Ko.createElement(J.Content,{"data-name":"Predicate",value:"Predicate"},Ko.createElement(nee,{enablePredicateColumnId:o.enablePredicateColumnId,data:e,descriptions:n,predicateDefs:w,getPredicateDefsForColId:o.getPredicateDefsForColId,onChange:o.onChange})):null,l?Ko.createElement(M3,{showRadio:C,value:"BooleanExpression",type:y,label:"Boolean"}):null,l?Ko.createElement(J.Content,{"data-name":"BooleanExpression",value:"BooleanExpression",paddingLeft:0},Ko.createElement(Nu,{type:"boolean",module:p,value:(_=e.Rule)==null?void 0:_.BooleanExpression,onChange:P,initialData:M,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null,s?Ko.createElement(M3,{showRadio:C,value:"ObservableExpression",type:y,label:"Observable"}):null,s?Ko.createElement(J.Content,{"data-name":"ObservableExpression",value:"ObservableExpression",paddingLeft:0},Ko.createElement(Nu,{type:"observable",module:p,value:(H=e.Rule)==null?void 0:H.ObservableExpression,onChange:D,initialData:M,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null,u?Ko.createElement(M3,{showRadio:C,value:"AggregatedBooleanExpression",type:y,label:"Aggregated Boolean"}):null,u?Ko.createElement(J.Content,{"data-name":"AggregatedBooleanExpression",value:"AggregatedBooleanExpression",paddingLeft:0},Ko.createElement(Nu,{type:"aggregatedBoolean",module:p,value:(j=e.Rule)==null?void 0:j.AggregatedBooleanExpression,onChange:F,initialData:M,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null))};function VLe(){let{data:o}=ke();return Vu.createElement(XT,{data:o,renderPredicate:e=>Vu.createElement(Vu.Fragment,null,"Apply Plus Minus on ",Vu.createElement(La,null,e)),renderQueryExpression:e=>Vu.createElement(Vu.Fragment,null,"Apply Plus Minus when"," ",Vu.createElement("b",null,Vu.createElement(La,null,e)))})}function GLe(o){var r;let{data:e,moduleInfo:t}=ke(),n=T(S({},e),{Rule:(r=e==null?void 0:e.Rule)!=null?r:{BooleanExpression:""}});return Vu.createElement(ab,{module:t.ModuleName,flexProps:{style:{minHeight:0}},defaultPredicateId:o.defaultPredicateId,predicateDefs:[],showAggregation:!1,showObservable:!1,showPredicate:!1,data:n,onChange:i=>o.onChange(i),descriptions:{selectPredicate:null,useBooleanQuery:Vu.createElement(Vu.Fragment,null,"Use an BooleanQuery if ",Vu.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:null,useAggregationQuery:null}})}d();var sb=(o,e,t)=>{var n,r,i,a,s,l,u,c,p,m,h,C,y,v,x;return(r=(n=o==null?void 0:o.Rule)==null?void 0:n.Predicates)!=null&&r.length&&!e.predicateApi.isEveryPredicateValid((i=o==null?void 0:o.Rule)==null?void 0:i.Predicates)?`The Predicate${((s=(a=o==null?void 0:o.Rule)==null?void 0:a.Predicates)==null?void 0:s.length)===1?" is":"s are"} not valid`:(l=o==null?void 0:o.Rule)!=null&&l.BooleanExpression&&!e.expressionApi.isValidBooleanExpression((u=o==null?void 0:o.Rule)==null?void 0:u.BooleanExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Boolean Expression":(c=o==null?void 0:o.Rule)!=null&&c.ObservableExpression&&!e.expressionApi.isValidObservableExpression((p=o==null?void 0:o.Rule)==null?void 0:p.ObservableExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Observable Expression":(m=o==null?void 0:o.Rule)!=null&&m.AggregatedBooleanExpression&&!e.expressionApi.isValidAggregatedBooleanExpression((h=o==null?void 0:o.Rule)==null?void 0:h.AggregatedBooleanExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Aggregated Boolean Expression":(y=(C=o==null?void 0:o.Rule)==null?void 0:C.Predicates)!=null&&y.length&&((x=(v=o==null?void 0:o.Rule)==null?void 0:v.Predicates)==null?void 0:x.some(R=>R.ColumnId!==void 0&&R.ColumnId===""))?"Predicates with custom scope need a valid column":!0};var HLe=o=>{var t;let{data:e}=ke();return Ua.createElement(Ua.Fragment,null,Ua.createElement(Bu,null,"Nudge Value ",Ua.createElement(rt,null,(t=e.NudgeValue)!=null?t:"Not selected")),o.hasCondition&&Ua.createElement(VLe,null))},ULe=o=>(e,t,n)=>{var r;if(o){if(!((r=e==null?void 0:e.Rule)!=null&&r.BooleanExpression))return"No valid Rule is specified";let i=sb(e,t,n);if(typeof i=="string")return i}return typeof e.NudgeValue!="number"?"Nudge value is not specified":e.NudgeValue===0?"Nudge value must be different than 0":!0},WLe=o=>{var n;let{data:e}=ke(),t=r=>{let i=parseFloat(r.target.value);o.onChange(T(S({},e),{NudgeValue:isNaN(i)?"":i}))};return Ua.createElement(ree.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},Ua.createElement(J,{autoFocus:!1,padding:2},Ua.createElement(J.Tab,null,"Plus Minus Settings"),Ua.createElement(J.Content,null,Ua.createElement(Ke,null,Ua.createElement(de,{label:"Nudge Value"},Ua.createElement(mt,{"data-name":"nudge-value",flex:1,marginRight:3,onChange:t,placeholder:"Enter Number",type:"number",value:(n=e.NudgeValue)!=null?n:""})),Ua.createElement(de,{label:"Nudge Type"},Ua.createElement(ree.Flex,null,Ua.createElement(Xe,{"data-name":"nudge-type-always",value:"Always",checked:!o.hasCondition,onChange:()=>o.onConditionChange(!1)},"Always Apply Nudge"),Ua.createElement(Xe,{"data-name":"nudge-type-condition",marginLeft:3,value:"Expression",checked:o.hasCondition,onChange:()=>o.onConditionChange(!0)},"Create a Rule")))))),o.hasCondition&&Ua.createElement(GLe,{defaultPredicateId:"NonBlanks",onChange:o.onChange}))};var L3=o=>{let[e,t]=ql.useState(()=>{var l,u,c,p,m;let s=T(S({},o.data?o.data:it.CreateEmptyPlusMinusNudge()),{Scope:(u=(l=o==null?void 0:o.data)==null?void 0:l.Scope)!=null?u:{All:!0},NudgeValue:(p=(c=o==null?void 0:o.data)==null?void 0:c.NudgeValue)!=null?p:20});return(m=o==null?void 0:o.popupParams)!=null&&m.column&&(s.Scope={ColumnIds:[o.popupParams.column.columnId]}),s}),[n,r]=ql.useState(()=>{var s;return Boolean((s=o==null?void 0:o.data)==null?void 0:s.Rule)});ql.useEffect(()=>{var l;let s=S({},e);n?s.Rule=(l=s.Rule)!=null?l:{BooleanExpression:""}:delete s.Rule,t(s)},[n]);let i=yt(),a=()=>{o.data?i(jf(e)):i(YC(e)),o.onFinishWizard(e)};return ql.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:e,onHide:o.onCloseWizard,onFinish:a,sections:[{title:"Target",isValid:Bh,details:"Specify where Plus/Minus should be applied",renderSummary:()=>ob(e.Scope,{scopeWholeRow:"Plus/Minus is applied for matching rows",scopeColumns:"Plus/Minus is applied in cells in selected columns",scopeDataTypes:"Plus/Minus is applied for cells with selected data type"}),render:()=>ql.createElement(N3.Box,{padding:2},ql.createElement(MLe,{onChange:t}))},{title:"Settings",isValid:ULe(n),renderSummary:()=>ql.createElement(HLe,{hasCondition:n}),render:()=>ql.createElement(WLe,{hasCondition:n,onConditionChange:r,onChange:t})},{details:"Select Plus/Minus Tags",title:"Tags",isVisible:(s,l)=>l.internalApi.shouldDisplayTagSections(),render:()=>ql.createElement(N3.Box,{padding:2},ql.createElement(Pr,{onChange:t})),renderSummary:Dr},"-",{render:()=>ql.createElement(N3.Box,{padding:2},ql.createElement(Ir,null)),title:"Summary"}]})};var iee=class extends VA.Component{constructor(e){super(e),this.state=Rn.getEmptyConfigState()}render(){let e=[],t=VA.createElement(Mh,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:qo.ReturnItemCount(this.props.PlusMinusNudges.filter(n=>this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)),this.props.moduleInfo.FriendlyName),onNew:()=>this.onNew(),newButtonTooltip:"Plus / Minus Rule",accessLevel:this.props.accessLevel});return e.push(t),this.props.PlusMinusNudges.map((n,r)=>{var i;if(this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,n.Scope)){let a=VA.createElement(Gc,{key:"PM"+r,item1:"Nudge Value: "+n.NudgeValue,item2:(i=n.Rule)!=null&&i.BooleanExpression?n.Rule.BooleanExpression:"Always",configEnity:n,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(n),onShare:s=>this.props.onShare(n,s),onDelete:yk(n),accessLevel:this.props.accessLevel});e.push(a)}}),VA.createElement("div",null,e,this.state.editedAdaptableObject&&VA.createElement(L3,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:null,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:()=>this.onFinishWizard()}))}onNew(){let e=jo.CreateEmptyPlusMinusNudge();e.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){this.setState({editedAdaptableObject:qo.cloneObject(e),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}onFinishWizard(){let e=this.state.editedAdaptableObject;this.state.wizardStatus=="Edit"?this.props.onEditPlusMinusNudge(e):this.props.onAddPlusMinusNudge(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){return!!this.state.editedAdaptableObject.NudgeValue}};function LFt(o,e){return{PlusMinusNudges:o.PlusMinus.PlusMinusNudges}}function _Ft(o){return{onAddPlusMinusNudge:e=>o(YC(e)),onEditPlusMinusNudge:e=>o(jf(e)),onClearPopupParams:()=>o(vE()),onShare:(e,t)=>o(Tc(e,di,t))}}var zLe=bt(LFt,_Ft)(iee);d();var fg=I(require("react"));d();var s0=I(require("react"));var GA=class extends s0.Component{render(){if(!this.props.Style)return null;let e=nt.IsNotNullOrEmpty(this.props.Text)?this.props.Text:"Style",t;if(this.props.Style.ClassName)t=s0.createElement("div",null,"CSS Class: "+this.props.Style.ClassName);else{let n=this.props.Style.BackColor!=null?this.props.Style.BackColor:null,r=this.props.Style.ForeColor!=null?this.props.Style.ForeColor:"black",i=this.props.Style.BorderColor!=null?this.props.Style.BorderColor:null,a=this.props.Style.FontWeight=="Bold"?"bold":"normal",s=this.props.Style.FontStyle=="Italic"?"italic":"normal",l=zl.getCssFontSizeFromFontSizeEnum(this.props.Style.FontSize);t=s0.createElement("div",{className:this.props.Style.BackColor!=null?"":"ab_white_grey_stripes",style:{textAlign:"center",margin:"2px",padding:"3px",background:n,color:r,borderColor:i,borderStyle:i?"solid":"none",fontWeight:a,fontStyle:s,fontSize:l}},e)}return t}};d();var bl=I(require("react")),c_e=require("react"),HA=I(Ce());d();var jLe=I(require("react"));d();var _3="NonBlanks";var KLe=o=>ob(o.Scope,{scopeWholeRow:"Matching rows will be formatted",scopeColumns:"Cells in selected columns will be formatted",scopeDataTypes:"Cells in columns with these Data Types will be formatted"}),QLe=o=>{let{data:e,api:t}=ke();return jLe.createElement(Wc,{descriptions:{rowScope:"Format all columns in the row",columnScope:"Select columns to format"},scope:e.Scope,updateScope:n=>{var a,s;let r=T(S({},e),{Scope:n}),i=t.scopeApi.scopeIsAll(n);(s=(a=r.Rule)==null?void 0:a.Predicates)!=null&&s.length&&(i?(delete r.Rule.Predicates,r.Rule.BooleanExpression=""):r.Rule.Predicates=[{PredicateId:_3}]),o.onChange(r)}})};d();var aee=I(require("react")),$Le=I(Ce());var qLe=(o,e)=>o.Style&&Uo.IsEmptyStyle(o.Style)&&o.DisplayFormat===void 0&&o.CellAlignment===void 0&&!e.scopeApi.isSingleBooleanColumnScope(o.Scope)?"No format applied":!0,kFt=o=>{var e,t;return T(S({},SM((e=o.Style)!=null?e:{})),{borderWidth:(t=o.Style)!=null&&t.BorderColor?2:0,borderStyle:"solid",textAlign:o.CellAlignment?o.CellAlignment.toLowerCase():void 0})},YLe=o=>{let{api:e}=ke();return see(o,e)},see=(o,e)=>aee.createElement($Le.Text,{className:"ab-FormatPreview",padding:2,style:kFt(o)},"Preview result");function XLe(o){var n;let{data:e,api:t}=ke();return aee.createElement(_u,{headless:!0,api:t,Style:(n=e.Style)!=null?n:{},UpdateStyle:r=>{o.onChange(T(S({},e),{Style:r}))}})}d();var Ge=I(require("react")),Gu=I(Ce()),n_e=I(JLe()),lee=I(nE());d();var GFt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"$",Suffix:"",Multiplier:1,Parentheses:!1},HFt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"\xA3",Suffix:"",Multiplier:1,Parentheses:!1},e_e={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"M",Multiplier:1e-6,Parentheses:!1},t_e={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"K",Multiplier:.001,Parentheses:!1},o_e={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"%",Multiplier:100,Parentheses:!1},UFt=["MM/dd/yyyy","dd-MM-yyyy","MMMM do yyyy, h:mm:ss a","EEEE","MMM do yyyy","yyyyMMdd","HH:mm:ss"],uee=o=>{let e="N/A";return o.DisplayFormat?(o.DisplayFormat.Formatter==="NumberFormatter"&&(e=Ia.NumberFormatter(12345.6789,o.DisplayFormat.Options)),o.DisplayFormat.Formatter==="DateFormatter"&&(e=Ia.DateFormatter(new Date(2022,0,1),o.DisplayFormat.Options)),o.DisplayFormat.Formatter==="StringFormatter"&&(e=Ia.StringFormatter("Hello World ",o.DisplayFormat.Options))):e="N/A",e},dee=(o,e,t)=>{var n,r,i;return Ge.createElement(de,{key:e.id,label:(n=e.label)!=null?n:e.id},Ge.createElement(Ne,{"data-name":e.id,checked:(i=(r=o.DisplayFormat.Options.CustomDisplayFormats)==null?void 0:r.some)==null?void 0:i.call(r,a=>a===e.id),onChange:a=>{var l,u,c;let s=(c=(u=(l=o==null?void 0:o.DisplayFormat)==null?void 0:l.Options)==null?void 0:u.CustomDisplayFormats)!=null?c:[];a?s=[...s,e.id]:s=s.filter(p=>p!==e.id),t("CustomDisplayFormats",s)}}))},r_e=o=>Ge.createElement(rt,null,uee(o)),i_e=(o,e)=>{if(o!=null&&!("All"in o)){if("ColumnIds"in o){let t=o.ColumnIds.map(r=>e.columnApi.getColumnWithColumnId(r)).filter(Boolean),n=(0,n_e.default)(t.map(r=>r.dataType));return n.length==1&&n[0]=="Number"?"Number":n.length==1&&n[0]=="Date"?"Date":n.length==1&&n[0]=="String"?"String":void 0}if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="Number")return"Number";if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="Date")return"Date";if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="String")return"String"}},WFt=(o,e,t,n)=>{var r;return o.DisplayFormat.Formatter!=="DateFormatter"?null:Ge.createElement(Gu.Box,{padding:2},Ge.createElement(J,null,Ge.createElement(J.Tab,null,"Format"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Text,{padding:2,fontSize:2},"Either create your own date pattern, or select one of the preset date formats (check out"," ",Ge.createElement("a",{href:"https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table",target:"_blank"},"available symbols"),")."),Ge.createElement(Ke,null,Ge.createElement(de,{label:"Pattern"},Ge.createElement(mt,{"data-name":"pattern",value:(r=o.DisplayFormat.Options.Pattern)!=null?r:"",onChange:i=>t("Pattern",i.currentTarget.value),mr:2}),Ge.createElement("span",null,o.DisplayFormat.Options.Pattern&&Ia.DateFormatter(new Date,o.DisplayFormat.Options,!0)))))),n.length>0&&Ge.createElement(J,{marginTop:2,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Custom Formats"),Ge.createElement(J.Content,null,Ge.createElement(Ke,null,n.map(i=>dee(o,i,t))))),Ge.createElement(J,{marginTop:2,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Presets"),Ge.createElement(J.Content,null,Ge.createElement(Ga,{style:{fontWeight:"bold"},colItems:[{Content:"Pattern",Size:1},{Content:"Formatted Date",Size:1},{Content:"",Size:1}]}),UFt.map((i,a)=>Ge.createElement(Ga,{key:a,colItems:[{Content:i,Size:1},{Content:Ia.DateFormatter(new Date,{Pattern:i}),Size:1},{Content:Ge.createElement(ue,{"data-name":"apply-format-pattern","data-value":i,onClick:()=>t("Pattern",i)},"Apply"),Size:1}]})))))},zFt=(o,e,t,n,r)=>{var y,v,x;if(o.DisplayFormat.Formatter!=="NumberFormatter")return null;let i=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:o_e}})},a=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:t_e}})},s=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:e_e}})},l=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:GFt}})},u=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:HFt}})},c=o.DisplayFormat.Options.Suffix==="%"&&o.DisplayFormat.Options.Multiplier===o_e.Multiplier,p=o.DisplayFormat.Options.Suffix==="K"&&o.DisplayFormat.Options.Multiplier===t_e.Multiplier,m=o.DisplayFormat.Options.Suffix==="M"&&o.DisplayFormat.Options.Multiplier===e_e.Multiplier,h=o.DisplayFormat.Options.Prefix==="$",C=o.DisplayFormat.Options.Prefix==="\xA3";return Ge.createElement(Gu.Box,{"data-name":"format-column-display-format",padding:2},Ge.createElement(J,null,Ge.createElement(J.Tab,null,"Format"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Flex,{flexDirection:"row"},Ge.createElement(Ke,{mr:3},Ge.createElement(de,{label:"Fraction Separator"},Ge.createElement(mt,{"data-name":"fraction-separator",value:o.DisplayFormat.Options.FractionSeparator,onChange:A=>t("FractionSeparator",A.currentTarget.value)})),Ge.createElement(de,{label:"Integer Separator"},Ge.createElement(mt,{"data-name":"integer-separator",value:o.DisplayFormat.Options.IntegerSeparator,onChange:A=>t("IntegerSeparator",A.currentTarget.value)})),Ge.createElement(de,{label:"Prefix"},Ge.createElement(mt,{"data-name":"prefix",value:(y=o.DisplayFormat.Options.Prefix)!=null?y:"",onChange:A=>t("Prefix",A.currentTarget.value)})),Ge.createElement(de,{label:"Suffix"},Ge.createElement(mt,{"data-name":"suffix",value:(v=o.DisplayFormat.Options.Suffix)!=null?v:"",onChange:A=>t("Suffix",A.currentTarget.value)})),Ge.createElement(de,{label:"Truncate"},Ge.createElement(Ne,{"data-name":"truncate-checkbox",checked:o.DisplayFormat.Options.Truncate,onChange:A=>t("Truncate",A)})),Ge.createElement(de,{label:"Ceiling"},Ge.createElement(Ne,{"data-name":"ceiling-checkbox",checked:o.DisplayFormat.Options.Ceiling,onChange:A=>t("Ceiling",A)}))," ",Ge.createElement(de,{label:"Absolute"},Ge.createElement(Ne,{"data-name":"abs-checkbox",checked:o.DisplayFormat.Options.Abs,onChange:A=>t("Abs",A)}))),Ge.createElement(Ke,null,Ge.createElement(de,{label:"Fraction Digits"},Ge.createElement(mt,{"data-name":"fraction-digits",type:"number",min:"0",value:typeof o.DisplayFormat.Options.FractionDigits=="number"?o.DisplayFormat.Options.FractionDigits:"",onChange:A=>t("FractionDigits",nt.IsNumeric(A.currentTarget.value)?(0,lee.default)(Number(A.currentTarget.value),0,20):void 0)})),Ge.createElement(de,{label:"Integer Digits"},Ge.createElement(mt,{"data-name":"integer-digits",type:"number",min:"0",value:o.DisplayFormat.Options.IntegerDigits,onChange:A=>t("IntegerDigits",nt.IsNumeric(A.currentTarget.value)?(0,lee.default)(Number(A.currentTarget.value),0,20):void 0)})),Ge.createElement(de,{label:"Multiplier"},Ge.createElement(mt,{"data-name":"multiplier",type:"number",value:o.DisplayFormat.Options.Multiplier,onChange:A=>t("Multiplier",Number(A.currentTarget.value))}))," ",Ge.createElement(de,{label:"Content"},Ge.createElement(mt,{"data-name":"content",value:(x=o.DisplayFormat.Options.Content)!=null?x:"",onChange:A=>t("Content",A.currentTarget.value)}))," ",Ge.createElement(de,{label:"Parentheses"},Ge.createElement(Ne,{"data-name":"parentheses-checkbox",checked:o.DisplayFormat.Options.Parentheses,onChange:A=>t("Parentheses",A)})),Ge.createElement(de,{label:"Floor"},Ge.createElement(Ne,{"data-name":"floor-checkbox",checked:o.DisplayFormat.Options.Floor,onChange:A=>t("Floor",A)})),Ge.createElement(de,{label:"Round"},Ge.createElement(Ne,{"data-name":"round-checkbox",checked:o.DisplayFormat.Options.Round,onChange:A=>t("Round",A)})))))),n.length>0&&Ge.createElement(J,{marginTop:2,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Custom Formats"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Flex,{flexDirection:"row"},Ge.createElement(Ke,null,n.map(A=>dee(o,A,t)))))),Ge.createElement(J,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Presets"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Text,{padding:2,fontSize:2},"Select a preset for common use cases"),Ge.createElement(Gu.Flex,{flexDirection:"row"},Ge.createElement(Ke,{margin:2},Ge.createElement(de,{label:"Show As:"},Ge.createElement(Xe,{"data-name":"preset-percentage",marginLeft:2,checked:c,onChange:()=>i()},"Percentage"),Ge.createElement(Xe,{"data-name":"preset-thousand",marginLeft:3,checked:p,onChange:()=>a()},"K (Thousand)"),Ge.createElement(Xe,{"data-name":"preset-million",marginLeft:3,checked:m,onChange:()=>s()},"M (Million)"),Ge.createElement(Xe,{"data-name":"preset-dollar",marginLeft:3,checked:h,onChange:()=>l()},"Dollar"),Ge.createElement(Xe,{"data-name":"preset-sterling",marginLeft:3,checked:C,onChange:()=>u()},"Sterling")))))),Ge.createElement(J,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Examples"),Ge.createElement(J.Content,null,Ge.createElement(Ga,{style:{fontWeight:"bold"},colItems:[{Content:"Raw Number",Size:1},{Content:"Formatted Number",Size:1}]}),Ge.createElement(Ga,{colItems:[{Content:"12345.6789",Size:1},{Content:Ia.NumberFormatter(12345.6789,o.DisplayFormat.Options),Size:1}]}),Ge.createElement(Ga,{colItems:[{Content:"-12345.6789",Size:1},{Content:Ia.NumberFormatter(-12345.6789,o.DisplayFormat.Options),Size:1}]}),Ge.createElement(Ga,{colItems:[{Content:"0.123",Size:1},{Content:Ia.NumberFormatter(.123,o.DisplayFormat.Options),Size:1}]}))))},jFt=(o,e,t,n,r)=>{var i,a,s;return o.DisplayFormat.Formatter!=="StringFormatter"?null:Ge.createElement(Gu.Box,{"data-name":"format-column-display-format",padding:2},Ge.createElement(J,null,Ge.createElement(J.Tab,null,"Format"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Flex,{flexDirection:"column"},Ge.createElement(Ke,{mr:3},Ge.createElement(de,{label:"Case:"},Ge.createElement(Gu.Flex,null,Ge.createElement(TA,null,Ge.createElement(Lu,{pressed:o.DisplayFormat.Options.Case==="Upper",onPressedChange:l=>t("Case",l?"Upper":void 0),icon:"case-upper"}),Ge.createElement(Lu,{pressed:o.DisplayFormat.Options.Case==="Lower",onPressedChange:l=>t("Case",l?"Lower":void 0),icon:"case-lower"}),Ge.createElement(Lu,{pressed:o.DisplayFormat.Options.Case==="Sentence",onPressedChange:l=>t("Case",l?"Sentence":void 0),icon:"case-sentence"})),Ge.createElement(Ne,{"data-name":"trim-checkbox",marginLeft:5,checked:o.DisplayFormat.Options.Trim,onChange:l=>t("Trim",l)},"Trim"))),Ge.createElement(de,{label:"Prefix"},Ge.createElement(mt,{"data-name":"prefix",value:(i=o.DisplayFormat.Options.Prefix)!=null?i:"",onChange:l=>t("Prefix",l.currentTarget.value)})),Ge.createElement(de,{label:"Suffix"},Ge.createElement(mt,{"data-name":"suffix",value:(a=o.DisplayFormat.Options.Suffix)!=null?a:"",onChange:l=>t("Suffix",l.currentTarget.value)})),Ge.createElement(de,{label:"Content"},Ge.createElement(mt,{"data-name":"content",value:(s=o.DisplayFormat.Options.Content)!=null?s:"",onChange:l=>t("Content",l.currentTarget.value)})),Ge.createElement(de,{label:"Empty"},Ge.createElement(Ne,{"data-name":"empty-checkbox",checked:o.DisplayFormat.Options.Empty,onChange:l=>t("Empty",l)})))))),n.length>0&&Ge.createElement(J,{marginTop:2,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Custom Formats"),Ge.createElement(J.Content,null,Ge.createElement(Gu.Flex,{flexDirection:"column"},Ge.createElement(Ke,{mr:3},n.map(l=>dee(o,l,t)))))),Ge.createElement(J,{marginTop:2,keyboardNavigation:!1},Ge.createElement(J.Tab,null,"Example"),Ge.createElement(J.Content,null,Ge.createElement(Ga,{style:{fontWeight:"bold"},colItems:[{Content:"Raw String",Size:1},{Content:"Formatted String",Size:1}]}),Ge.createElement(Ga,{colItems:[{Content:'"Hello World "',Size:1},{Content:'"'+Ia.StringFormatter("Hello World ",o.DisplayFormat.Options)+'"',Size:1}]}))))},a_e=o=>{var u;let{data:e}=ke(),t=pe(),n=t.api.formatColumnApi,r=(u=t.api.optionsApi.getFormatColumnOptions().customDisplayFormatters)!=null?u:[],i=c=>{o.onChange(S(S({},e),c))},a=(c,p)=>{let m=S({},e.DisplayFormat);m.Options=T(S({},m.Options),{[c]:p}),i({DisplayFormat:m})},s=e.DisplayFormat&&e.DisplayFormat.Formatter,l=r.filter(c=>t.api.scopeApi.isScopeInScope(e.Scope,c.scope));return s==="NumberFormatter"?zFt(e,i,a,l,n):s==="DateFormatter"?WFt(e,i,a,l):s==="StringFormatter"?jFt(e,i,a,l,n):Ge.createElement(Qt,{margin:3},"Setting a Display Format is only possible if ",Ge.createElement("b",null,"all")," the columns in Scope are Numeric, String or Date.")};d();var Wa=I(require("react")),lb=I(Ce());var s_e=o=>{var e;return Wa.createElement(lb.Box,{padding:2},Wa.createElement(lb.Text,null,"Cell alignment ",Wa.createElement(rt,null,(e=o.CellAlignment)!=null?e:"default")),Wa.createElement(lb.Text,{mt:3},"Include grouped rows ",Wa.createElement(rt,null,o.IncludeGroupedRows?"yes":"no")))},l_e=o=>{let{data:e}=ke(),t=r=>{let i=T(S({},e),{CellAlignment:r});r===null&&delete i.CellAlignment,o.onChange(i)},n=r=>{o.onChange(T(S({},e),{IncludeGroupedRows:r}))};return Wa.createElement(J,null,Wa.createElement(J.Tab,null,"Settings"),Wa.createElement(J.Content,null,Wa.createElement(lb.Flex,{flexDirection:"row"},Wa.createElement(Ke,null,Wa.createElement(de,{label:"Cell Alignment"},Wa.createElement(TA,null,Wa.createElement(Lu,{icon:"align-left",pressed:e.CellAlignment==="Left",onPressedChange:r=>t(r?"Left":null)}),Wa.createElement(Lu,{icon:"align-center",pressed:e.CellAlignment==="Center",onPressedChange:r=>t(r?"Center":null)}),Wa.createElement(Lu,{icon:"align-right",pressed:e.CellAlignment==="Right",onPressedChange:r=>t(r?"Right":null)}))),Wa.createElement(de,{label:"Include Grouped Rows:"},Wa.createElement(lb.Flex,{alignItems:"center",marginLeft:2},Wa.createElement(Ne,{"data-name":"include-grouped-rows-checkbox",checked:e.IncludeGroupedRows,onChange:n,mr:2})))))))};d();var jc=I(require("react"));function u_e(o){let{data:e,api:t,moduleInfo:n}=ke();return jc.createElement(ab,{module:n.ModuleName,defaultPredicateId:o.defaultPredicateId,predicateDefs:t.formatColumnApi.internalApi.getFormatColumnDefsForScope(e.Scope),getPredicateDefsForColId:r=>t.formatColumnApi.internalApi.getFormatColumnDefsForScope({ColumnIds:[r]}),showNoRule:!0,showBoolean:!0,showAggregation:!1,showObservable:!1,showPredicate:!t.scopeApi.scopeIsAll(e.Scope),data:e,onChange:r=>o.onChange(r),descriptions:{selectPredicate:"Create a Format Column Rule - to be applied when data changes",useBooleanQuery:jc.createElement(jc.Fragment,null,"Use an BooleanQuery if ",jc.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:jc.createElement(jc.Fragment,null,"Use an ObservableQuery if ",jc.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:jc.createElement(jc.Fragment,null,"Use an AggregatedBooleanQuery if ",jc.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")}})}var KFt=(o,e)=>{o=S({},o);let t=i_e(o.Scope,e);return!t&&o.DisplayFormat&&(o.DisplayFormat=void 0),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="NumberFormatter")&&t==="Number"&&(o.DisplayFormat={Formatter:"NumberFormatter",Options:{}}),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="DateFormatter")&&t==="Date"&&(o.DisplayFormat={Formatter:"DateFormatter",Options:{}}),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="StringFormatter")&&t==="String"&&(o.DisplayFormat={Formatter:"StringFormatter",Options:{}}),o},d_e=(o,e)=>(o=KFt(o,e),o);function k3(o){var l,u;let{api:e}=pe(),t=(u=o.data)!=null?u:(l=o.popupParams)==null?void 0:l.value,[n,r]=(0,c_e.useState)(()=>{var p,m,h,C;let c=t?zo(t):it.CreateEmptyFormatColumn();return c.Scope=(p=c.Scope)!=null?p:{ColumnIds:[]},((m=o.popupParams)==null?void 0:m.action)==="New"&&((h=o.popupParams)==null?void 0:h.column)&&(c.Scope={ColumnIds:[(C=o.popupParams)==null?void 0:C.column.columnId]}),c=d_e(c,e),c}),i=bl.useCallback(c=>{r(d_e(c,e))},[]),a=yt(),s=()=>{a(t?lh(n):XC(n)),o.onFinishWizard(n)};return bl.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:n,onHide:o.onCloseWizard,onFinish:s,sections:[{title:"Scope",details:"Select which Columns will be formatted",isValid:Bh,renderSummary:KLe,render:()=>bl.createElement(HA.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},bl.createElement(QLe,{onChange:i}))},{isValid:(c,p,m)=>c.Rule?sb(c,p,m):!0,title:"Condition",details:"Build a Rule when the Format Column should be applied",render:()=>bl.createElement(u_e,{onChange:i,defaultPredicateId:_3})},{title:"Style",details:"Create a Style for the Format Column",isValid:qLe,renderSummary:YLe,render:()=>bl.createElement(HA.Box,{padding:2},bl.createElement(XLe,{onChange:i}))},{title:"Display Format",renderSummary:c=>r_e(c),render:()=>bl.createElement(a_e,{onChange:i})},{title:"Settings",renderSummary:s_e,render:()=>bl.createElement(HA.Box,{padding:2},bl.createElement(l_e,{onChange:i}))},{details:"Select Format Column Tags",title:"Tags",isVisible:(c,p)=>p.internalApi.shouldDisplayTagSections(),render:()=>bl.createElement(HA.Box,{padding:2},bl.createElement(Pr,{onChange:i})),renderSummary:Dr},"-",{details:"Review the Format Column",render:()=>bl.createElement(HA.Box,{padding:2},bl.createElement(Ir,null)),title:"Summary"}]})}var cee=class extends fg.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.FormatColumns.find(n=>n.Uuid==t.Uuid)?this.props.onEditFormatColumn(t):this.props.onAddFormatColumn(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Rn.getEmptyConfigState()}render(){let[t]=this.props.api.formatColumnApi.getFormatColumnsForColumn(this.props.summarisedColumn),n=t==null,r;return n?r=fg.createElement(Mh,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Format Column Set",onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}):r=fg.createElement(Gc,{key:this.props.moduleInfo.FriendlyName,item1:fg.createElement(Vc,{moduleInfo:this.props.moduleInfo}),item2:fg.createElement(GA,{Style:t.Style}),configEnity:t,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),onShare:i=>this.props.onShare(t,i),onDelete:qE(t),showBold:!0,accessLevel:this.props.accessLevel}),fg.createElement("div",null,r,this.state.editedAdaptableObject&&fg.createElement(k3,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FormatColumns,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:this.onCloseWizard,onFinishWizard:this.onFinishWizard}))}onNew(){let t=jo.CreateEmptyFormatColumn();t.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){let n=qo.cloneObject(t);this.setState({editedAdaptableObject:n,wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){var t;(t=this==null?void 0:this.setState)==null||t.call(this,{editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return t.Scope!=null&&Rn.IsNotEmptyStyle(t.Style)}};function QFt(o,e){return{FormatColumns:o.FormatColumn.FormatColumns}}function $Ft(o){return{onAddFormatColumn:e=>o(XC(e)),onEditFormatColumn:e=>o(lh(e)),onShare:(e,t)=>o(Tc(e,Ui,t))}}var p_e=bt(QFt,$Ft)(cee);d();var JT=I(require("react"));d();var cm=I(require("react")),u0=I(Ce());var F_e=require("react");d();var za=I(require("react")),m_e=require("react"),ZT=I(Ce());var h_e=o=>{let{api:e}=ke();return za.createElement(ZT.Box,{fontSize:2},"Column scalar expression:"," ",za.createElement(La,null,e.internalApi.getAdaptableQueryExpressionText(o.Query)))},f_e=(o,e)=>{var i;let t=e.internalApi.getCalculatedColumnExpressionService();return((i=e.expressionApi.getAdaptableQueryExpression(o.Query))==null?void 0:i.trim())?t.isCalculatedColumnQueryValid(o.Query)?!0:"Calculated column expression is not valid":"Calculated column expression cannot be empty"},B3=o=>{let a=o,{type:e,label:t,disabled:n=!1}=a,r=ut(a,["type","label","disabled"]),i=za.createElement(ZT.Flex,{flexDirection:"column"},t," ",za.createElement(ZT.Text,{fontSize:2},"query"));return za.createElement(J.Tab,S({style:{flex:1}},r),n?i:za.createElement(Xe,{tabIndex:-1,margin:0,checked:e===o.value,style:{alignItems:"baseline"}},i))};B3.defaultProps={isTabsTab:!0};var g_e=o=>{let{api:e,data:t,moduleInfo:n}=ke(),r=(0,m_e.useMemo)(()=>e.internalApi.getQueryPreviewData(),[]),[i,a]=za.useState(()=>t.Query.AggregatedScalarExpression==null?"ScalarExpression":e.internalApi.getQueryLanguageService().isCumulativeAggregate(t.Query.AggregatedScalarExpression)?"CumulativeAggregateExpression":"AggregatedScalarExpression"),s=u=>{a(u),u==="ScalarExpression"?o.onChange(T(S({},t),{Query:{ScalarExpression:""}})):o.onChange(T(S({},t),{Query:{AggregatedScalarExpression:""}}))},l=u=>{let p=e.internalApi.getCalculatedColumnExpressionService().getCalculatedColumnDataType(u);o.onChange(T(S({},t),{Query:u,CalculatedColumnSettings:T(S({},t.CalculatedColumnSettings),{DataType:p})}))};return za.createElement(J,{onValueChange:s,value:i,p:2,style:{height:"100%",flex:1,overflow:"auto"}},za.createElement(B3,{value:"ScalarExpression",type:i,label:"Scalar"}),za.createElement(J.Content,{value:"ScalarExpression"},za.createElement(Nu,{type:"scalar",module:n.ModuleName,style:{paddingLeft:0},value:t.Query.ScalarExpression,onChange:u=>l({ScalarExpression:u}),initialData:r,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})),za.createElement(B3,{value:"AggregatedScalarExpression",type:i,label:"Aggregated Scalar"}),za.createElement(J.Content,{value:"AggregatedScalarExpression"},za.createElement(Nu,{type:"aggregatedScalar",module:n.ModuleName,style:{paddingLeft:0},value:t.Query.AggregatedScalarExpression,onChange:u=>l({AggregatedScalarExpression:u}),initialData:r,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})),za.createElement(B3,{value:"CumulativeAggregateExpression",type:i,label:"Cumulative"}),za.createElement(J.Content,{value:"CumulativeAggregateExpression"},za.createElement(Nu,{type:"cumulativeAggregatedScalar",module:n.ModuleName,style:{paddingLeft:0},value:t.Query.AggregatedScalarExpression,onChange:u=>l({AggregatedScalarExpression:u}),initialData:r,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})))};d();var zi=I(require("react")),C_e=require("react"),UA=I(Ce());var y_e=o=>{var e;return zi.createElement(UA.Box,{fontSize:2},zi.createElement(UA.Box,null,"Column Identifier: ",zi.createElement(rt,null,o.ColumnId)),o.FriendlyName?zi.createElement(UA.Box,{mt:3},"Column Name: ",zi.createElement(rt,null,(e=o.FriendlyName)!=null?e:o.ColumnId)):null)},pee=(o,e)=>{let t=e.columnApi.getColumns();if(!o.ColumnId)return"Column Id cannot be empty";let n=t.filter(i=>i.columnId===o.ColumnId).length;return(o.Uuid?n>1:n>0)?"A Column already exists with that id":!0},b_e=o=>{var y;let{data:e,api:t}=ke(),n=v=>{let x=v.target;o.onChange(T(S({},e),{ColumnId:x.value}))},r=v=>{let x=v.target;o.onChange(T(S({},e),{FriendlyName:x.value}))},i=o.isEdit,a=pee(e,t),s=a===!0?null:a,[l,u]=(0,C_e.useState)(!1),c=e.FriendlyName,p=e.ColumnId,{ShowToolTip:m,HeaderToolTip:h}=(y=e.CalculatedColumnSettings)!=null?y:{},C=v=>{o.onChange(T(S({},e),{CalculatedColumnSettings:S(S({},e.CalculatedColumnSettings),v)}))};return zi.createElement(UA.Box,{"data-name":"calculated-column-definition"},zi.createElement(J,{autoFocus:!1},zi.createElement(J.Tab,null,"Column Details"),zi.createElement(J.Content,null,zi.createElement(UA.Flex,{flexDirection:"row"},zi.createElement(Ke,null,zi.createElement(de,{label:"Column Id"},zi.createElement(mt,{"data-name":"column-id",value:e.ColumnId||"",width:300,autoFocus:!i,disabled:i,type:"text",placeholder:"Enter an Id for the column",onChange:n})),zi.createElement(de,{label:"Name"},zi.createElement(mt,{"data-name":"column-name",autoFocus:i,onFocus:()=>{u(!0)},onBlur:()=>{u(!1)},value:l?c||"":c||p||"",width:300,type:"text",placeholder:"Enter column name",onChange:r})),zi.createElement(de,{label:"Header Tooltip"},zi.createElement(mt,{"data-name":"header-tooltip",type:"text",width:300,value:h,onChange:v=>C({HeaderToolTip:v.target.value})}))," ",zi.createElement(de,{label:""},zi.createElement(Ne,{"data-name":"column-show-tooltip",onChange:v=>C({ShowToolTip:v}),checked:m},"Show Expression as Cell Tooltip")))))),s?zi.createElement(_s,{marginTop:2},s):null)};d();var zs=I(require("react")),P_e=require("react"),l0=I(Ce());d();var T_e=I(w_e()),ir=I(require("react")),I_e=I(Ce());var V3=o=>{var h,C;let e=pe(),t=e.api.optionsApi.getColumnOptions().columnTypes,{Filterable:n,Resizable:r,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:l,SuppressMenu:u,SuppressMovable:c}=(h=o.settings)!=null?h:{},p=(y,v)=>{var A,R,w;let x=(R=(A=o.settings)==null?void 0:A.ColumnTypes)!=null?R:[];v?o.onChange(T(S({},o.settings),{ColumnTypes:[...x,y]})):o.onChange(T(S({},o.settings),{ColumnTypes:(w=x==null?void 0:x.filter)==null?void 0:w.call(x,P=>P!==y)}))},m=y=>{o.onChange(S(S({},o.settings),y))};return ir.createElement(ir.Fragment,null,ir.createElement(J,{marginTop:2,autoFocus:!1},ir.createElement(J.Tab,null,"Column Properties"),ir.createElement(J.Content,null,ir.createElement(I_e.Flex,{flexDirection:"column"},ir.createElement(Ke,{style:{width:"100%"},columns:[{name:"first",size:"30%"},{size:"30%",name:"second"},{size:"30%",name:"third"}]},ir.createElement(de,null,ir.createElement(Ne,{"data-name":"filterable",checked:n,onChange:y=>m({Filterable:y}),disabled:!e.api.optionsApi.getFilterOptions().enableFilterOnSpecialColumns},"Filterable"),ir.createElement(Ne,{"data-name":"resizable",checked:r,onChange:y=>m({Resizable:y})},"Resizable"),ir.createElement(Ne,{"data-name":"groupable",checked:i,onChange:y=>m({Groupable:y})},"Groupable")),ir.createElement(de,null,ir.createElement(Ne,{"data-name":"sortable",checked:a,onChange:y=>m({Sortable:y})},"Sortable"),ir.createElement(Ne,{"data-name":"pivotable",checked:s,onChange:y=>m({Pivotable:y})},"Pivotable"),ir.createElement(Ne,{"data-name":"aggregatable",checked:l,onChange:y=>m({Aggregatable:y})},"Aggregatable")),ir.createElement(de,null,ir.createElement(Ne,{"data-name":"suppres-smenu",checked:u,onChange:y=>m({SuppressMenu:y})},"Suppress Menu"),ir.createElement(Ne,{"data-name":"suppres-movable",checked:c,onChange:y=>m({SuppressMovable:y})},"Suppress Movable"),ir.createElement(Ne,{disabled:!0,checked:o.isEditable},"Editable")))))),Boolean(t==null?void 0:t.length)&&ir.createElement(J,{marginTop:2,autoFocus:!1},ir.createElement(J.Tab,null,"Column Types"),ir.createElement(J.Content,null,ir.createElement(Ke,{columns:[{name:"first",size:"30%"},{name:"second"}]},(C=(0,T_e.default)(t!=null?t:[],2))==null?void 0:C.map(([y,v])=>{var x,A,R,w,P,D;return ir.createElement(de,{key:y},y&&ir.createElement(Ne,{"data-name":y,onChange:F=>p(y,F),checked:(R=(A=(x=o.settings)==null?void 0:x.ColumnTypes)==null?void 0:A.includes)==null?void 0:R.call(A,y)},y),v&&ir.createElement(Ne,{"data-name":v,onChange:F=>p(v,F),checked:(D=(P=(w=o.settings)==null?void 0:w.ColumnTypes)==null?void 0:P.includes)==null?void 0:D.call(P,v)},v))})))))};d();var G3=o=>{let{DataType:e,Width:t,Filterable:n,Resizable:r,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:l}=o!=null?o:{},u=o!=null&&o.ColumnTypes?o.ColumnTypes.join(", "):"";return[e?`DataType: ${e}`:null,t?`Width: ${t}px`:null,s?"Pivotable":null,n?"Filterable":null,r?"Resizable":null,i?"Groupable":null,a?"Sortable":null,l?"Aggregatable":null,u?`Column Types: ${u}`:null].filter(Boolean)};var D_e=o=>{let e=G3(o.CalculatedColumnSettings);return zs.createElement(l0.Box,{fontSize:2},zs.createElement(Va,{toLabel:t=>t,toIdentifier:t=>t,readOnly:!0,options:e,value:e}))},mee=o=>{var e;return(e=o.CalculatedColumnSettings)!=null&&e.DataType?!0:"No data type is specified and it could not be inferred from the defined expression"},O_e=o=>{var p,m;let{data:e,api:t}=ke(),n=(0,P_e.useMemo)(()=>t.internalApi.getCalculatedColumnExpressionService(),[]),r=h=>{var y;let C=h=="Number"?(y=e.CalculatedColumnSettings)==null?void 0:y.Aggregatable:!1;o.onChange(T(S({},e),{CalculatedColumnSettings:T(S({},e.CalculatedColumnSettings),{DataType:h,Aggregatable:C})}))},i=mee(e),a=i===!0?null:i,s=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],{DataType:l}=(p=e.CalculatedColumnSettings)!=null?p:{},{Width:u}=(m=e.CalculatedColumnSettings)!=null?m:{},c=h=>{o.onChange(T(S({},e),{CalculatedColumnSettings:S(S({},e.CalculatedColumnSettings),h)}))};return zs.useEffect(()=>{if(!l){let h=n.getCalculatedColumnDataType(e.Query);c(T(S({},e==null?void 0:e.CalculatedColumnSettings),{DataType:h}))}},[]),zs.createElement(l0.Box,{"data-name":"calculated-column-settings"},zs.createElement(J,{autoFocus:!1},zs.createElement(J.Tab,null,"Column Settings"),zs.createElement(J.Content,null,zs.createElement(l0.Flex,{flexDirection:"row"},zs.createElement(Ke,null,zs.createElement(de,{label:"Data Type"},zs.createElement(Qe,{"data-name":"column-type",style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!0,onClear:()=>r(null),columns:["label"],items:s.map(h=>({value:h.value,label:h.label,onClick:()=>r(h.value)}))},l||"Select Data Type")),zs.createElement(de,{label:"Width"},zs.createElement(mt,{"data-name":"column-width",type:"number",width:300,value:u||"",onChange:h=>c({Width:Number(h.target.value)})})))))),a?zs.createElement(_s,{marginTop:2},a):null,zs.createElement(V3,{isEditable:!1,settings:e.CalculatedColumnSettings,onChange:c}))};var H3=o=>{var l;let e=pe(),t=_t(u=>u.CalculatedColumn.CalculatedColumns),[n,r]=(0,F_e.useState)(()=>{var u;if(o.data)return zo(o.data);if((u=o.popupParams)!=null&&u.column){let c=t.find(p=>p.ColumnId===o.popupParams.column.columnId);if(c)return c}return it.CreateEmptyCalculatedColumn()}),i=yt(),a=Boolean(o.data)||((l=o.popupParams)==null?void 0:l.action)==="Edit",s=()=>{i(a?zC(n):FE(n)),o.onCloseWizard()};return cm.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:n,onHide:o.onCloseWizard,onFinish:s,sections:[{title:"Definition",details:"Specify Column details",isValid:pee,renderSummary:y_e,render:()=>cm.createElement(u0.Box,{padding:2},cm.createElement(b_e,{isEdit:a,onChange:r}))},{title:"Expression",details:"Specify the Calculated Column Expression",isValid:f_e,renderSummary:h_e,render:()=>cm.createElement(g_e,{onChange:r})},{title:"Settings",details:"Specify Column properties",isValid:mee,renderSummary:D_e,render:()=>cm.createElement(u0.Box,{padding:2},cm.createElement(O_e,{isEdit:a,onChange:r}))},{details:"Select Calculated Column Tags",title:"Tags",isVisible:()=>e.api.internalApi.shouldDisplayTagSections(),render:()=>cm.createElement(u0.Box,{padding:2},cm.createElement(Pr,{onChange:r})),renderSummary:Dr},"-",{render:()=>cm.createElement(u0.Box,{padding:2},cm.createElement(Ir,null)),title:"Summary"}]})};var hee=class extends JT.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.onEdit(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Rn.getEmptyConfigState()}render(){let t;return this.props.CalculatedColumns.map((n,r)=>{n.ColumnId==this.props.summarisedColumn.columnId&&(t=JT.createElement(Gc,{key:"UF"+r,item1:this.props.moduleInfo.FriendlyName,item2:this.props.api.internalApi.getAdaptableQueryExpressionText(n.Query),configEnity:n,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(n),onShare:i=>this.props.onShare(n,i),onDelete:ME(n),showBold:!0,accessLevel:this.props.accessLevel}))}),JT.createElement("div",null,t,this.state.editedAdaptableObject&&JT.createElement(H3,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CalculatedColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onEdit(t){this.setState({editedAdaptableObject:qo.cloneObject(t),wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}};function aMt(o){return{CalculatedColumns:o.CalculatedColumn.CalculatedColumns}}function sMt(o){return{onEdit:e=>o(zC(e))}}var M_e=bt(aMt,sMt)(hee);d();var WA=I(require("react"));var zA=class extends WA.Component{render(){var s;let e=pt.sortArrayWithProperty("Asc",this.props.ColumnList,"friendlyName"),t=this.props.SelectedColumnIds.filter(l=>ct.IsNotNullOrEmpty(l)),n=ct.IsNotNullOrEmpty(this.props.placeHolder)?this.props.placeHolder.toString():this.props.SelectionMode=="Single"?"Select a column":"Select columns",r=this.props.SelectedColumnIds.filter(l=>ct.IsNotNullOrEmpty(l)).length==0,i=e.map(l=>({label:l.friendlyName,value:l.columnId,disabled:this.props.disabled,onClick:()=>{let u=e.filter(c=>c.columnId===l.columnId);u.length?this.onColumnChange(u,r):this.onClearButton()}})),a=t.length>0?(s=this.props.ColumnList.find(l=>l.columnId==t[0]))==null?void 0:s.friendlyName:"Select a column";return WA.createElement("div",{"data-name":"column-selector"},WA.createElement(Ke,{columns:[{name:"columnSelector",style:{display:"flex"}}],style:this.props.style},WA.createElement(de,null,WA.createElement(Qe,{marginRight:2,columns:["label"],showClearButton:a!="Select a column",onClear:()=>this.onClearButton(),style:{width:"100%",fontSize:"small"},className:"ab-DashboardToolbar__Layout__select",items:i,disabled:this.props.disabled||i.length==0},a))))}onClearButton(){this.props.onColumnChange([])}onColumnChange(e,t){e.length==0&&t||this.props.onColumnChange(e)}};d();var jA=I(require("react"));d();var db=I(require("react")),B_e=require("react"),U3=I(Ce());d();var vn=I(require("react")),L_e=require("react"),ub=I(Ce());var lMt=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],__e=o=>{var e;return vn.createElement(ub.Box,{fontSize:2},vn.createElement(ub.Box,null,"Column Identifier: ",vn.createElement(rt,null,o.ColumnId)),o.FriendlyName?vn.createElement(ub.Box,{mt:3},"Column Name: ",vn.createElement(rt,null,(e=o.FriendlyName)!=null?e:o.ColumnId)):null,vn.createElement(ub.Box,{mt:3},"Data Type: ",vn.createElement(rt,null,o.FreeTextColumnSettings.DataType)),o.DefaultValue!==void 0?vn.createElement(ub.Box,{mt:3},"Default Value: ",vn.createElement(rt,null,o.DefaultValue)):null,o.TextEditor!==void 0?vn.createElement(ub.Box,{mt:3},"Editor Type: ",vn.createElement(rt,null,o.TextEditor)):null)},fee=(o,e)=>{let t=e.columnApi.getColumns();if(!o.ColumnId)return"Column Id cannot be empty";let n=t.filter(i=>i.columnId===o.ColumnId).length;return(o.Uuid?n>1:n>0)?"A Column already exists with that id":o.FreeTextColumnSettings.DataType?!0:"No data type specified for column"},k_e=o=>{var y;let{data:e,api:t}=ke(),n=t.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat,[r,i]=(0,L_e.useState)(!1),a=o.isEdit,s=fee(e,t),l=s===!0?null:s,u=v=>{let A=v.target.value;o.onChange(T(S({},e),{ColumnId:A}))},c=v=>{let A=v.target.value;o.onChange(T(S({},e),{FriendlyName:A}))},p=v=>{var A;let x=T(S({},e),{FreeTextColumnSettings:T(S({},e.FreeTextColumnSettings),{DataType:v})});delete x.DefaultValue,v||(A=x.FreeTextColumnSettings)==null||delete A.DataType,o.onChange(x)},m=v=>{let A=v.target.value;o.onChange(T(S({},e),{TextEditor:A}))},h=v=>{let A=v.target.value;e.FreeTextColumnSettings.DataType==="Date"&&(A=aa(A,{Pattern:n})),o.onChange(T(S({},e),{DefaultValue:A}))},C=v=>{o.onChange(T(S({},e),{FreeTextColumnSettings:S(S({},e==null?void 0:e.FreeTextColumnSettings),v)}))};return vn.createElement(vn.Fragment,null,vn.createElement(Ke,null,vn.createElement(de,{label:"ColumnId"},vn.createElement(mt,{"data-name":"column-id",autoFocus:!a,value:e.ColumnId||"",style:{width:"100%",maxWidth:500},disabled:a,type:"text",placeholder:"Enter an id",onChange:v=>u(v)})),vn.createElement(de,{label:"Column Name"},vn.createElement(mt,{"data-name":"column-name",autoFocus:a,onFocus:()=>{i(!0)},onBlur:()=>{i(!1)},value:r?e.FriendlyName||"":e.FriendlyName||e.ColumnId||"",style:{width:"100%",maxWidth:500},type:"text",placeholder:"Enter a name",onChange:v=>c(v)})),vn.createElement(de,{label:"Type"},vn.createElement(Qe,{"data-name":"column-type-dropdown",style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!!e.FreeTextColumnSettings.DataType,onClear:()=>p(null),columns:["label"],items:lMt.map(v=>({value:v.value,label:v.label,onClick:()=>p(v.value)}))},e.FreeTextColumnSettings.DataType?e.FreeTextColumnSettings.DataType:"Select Data Type")),vn.createElement(de,{label:"Default Value"},e.FreeTextColumnSettings.DataType==="Boolean"?vn.createElement(Ne,{"data-name":"column-default-value-checkbox",checked:!!e.DefaultValue,onChange:v=>{o.onChange(T(S({},e),{DefaultValue:v}))}}):vn.createElement(oo,{"data-name":"column-default-value",value:e.FreeTextColumnSettings.DataType==="Date"&&e.DefaultValue?s1(e.DefaultValue,n)||"":e.DefaultValue||"",style:{width:"100%",maxWidth:500},type:e.FreeTextColumnSettings.DataType==="Number"?"number":e.FreeTextColumnSettings.DataType==="Date"?"date":"text",placeholder:"Default Column Value (not required)",onChange:v=>h(v)})),vn.createElement(de,{label:"Header Tooltip"},vn.createElement(mt,{"data-name":"header-tooltip",type:"text",style:{width:"100%",maxWidth:500},value:((y=e.FreeTextColumnSettings)==null?void 0:y.HeaderToolTip)||"",onChange:v=>C({HeaderToolTip:v.target.value})}))," ",e.FreeTextColumnSettings.DataType=="String"&&vn.createElement(de,{label:"Editor Type"},vn.createElement(Xe,{"data-name":"inline-editor",value:"Inline",checked:e.TextEditor=="Inline",onChange:(v,x)=>m(x),marginRight:2},"Inline Editor"),vn.createElement(Xe,{"data-name":"large-editor",value:"Large",checked:e.TextEditor=="Large",onChange:(v,x)=>m(x)},"Large Editor"))),l?vn.createElement(_s,{mt:2,mb:2},l):null,vn.createElement(ub.Box,{mt:2},vn.createElement(V3,{isEditable:!0,settings:e.FreeTextColumnSettings,onChange:C})))};var W3=o=>{var s;let e=_t(l=>l.FreeTextColumn.FreeTextColumns),[t,n]=(0,B_e.useState)(()=>{var l,u;return o.data?zo(o.data):((l=o.popupParams)==null?void 0:l.action)==="Edit"&&((u=o.popupParams)==null?void 0:u.column)?e.find(c=>c.ColumnId===o.popupParams.column.columnId):it.CreateEmptyFreeTextColumn()}),r=yt(),i=o.data||((s=o.popupParams)==null?void 0:s.action)==="Edit",a=()=>{r(i?Kf(t):ZC(t)),o.onFinishWizard(t)};return db.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:a,sections:[{title:"Settings",details:"Configure the Free Text Column",isValid:fee,render:()=>db.createElement(U3.Box,{padding:2},db.createElement(k_e,{isEdit:Boolean(o.data),onChange:n}))},{details:"Select Free Text Column Tags",title:"Tags",isVisible:(l,u)=>u.internalApi.shouldDisplayTagSections(),render:()=>db.createElement(U3.Box,{padding:2},db.createElement(Pr,{onChange:n})),renderSummary:Dr},"-",{details:"Review the Free Text Column",renderSummary:__e,render:()=>db.createElement(U3.Box,{padding:2},db.createElement(Ir,null)),title:"Summary"}]})};var gee=class extends jA.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.FreeTextColumns.find(n=>n.ColumnId==t.ColumnId)?this.props.onEditFreeTextColumn(t):this.props.onAddFreeTextColumn(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=Rn.getEmptyConfigState()}render(){let t=this.props.FreeTextColumns.find(i=>i.ColumnId==this.props.summarisedColumn.columnId),n=t==null,r;if(!n){let i=pt.IsNotEmpty(t.FreeTextStoredValues)?" Stored values: "+t.FreeTextStoredValues.length:"No stored values";r=jA.createElement(Gc,{key:this.props.moduleInfo.FriendlyName,item1:jA.createElement(Vc,{moduleInfo:this.props.moduleInfo}),item2:i,configEnity:t,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),onShare:a=>this.props.onShare(t,a),onDelete:ZE(t),showBold:!0,accessLevel:this.props.accessLevel})}return jA.createElement("div",null,r,this.state.editedAdaptableObject&&jA.createElement(W3,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FreeTextColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let t=jo.CreateEmptyFreeTextColumn();t.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){let n=qo.cloneObject(t);this.setState({editedAdaptableObject:n,wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return ct.IsNotNullOrEmpty(t.ColumnId)}};function uMt(o,e){return{FreeTextColumns:o.FreeTextColumn.FreeTextColumns}}function dMt(o){return{onAddFreeTextColumn:e=>o(ZC(e)),onEditFreeTextColumn:e=>o(Kf(e)),onShare:(e,t)=>o(Tc(e,Pa,t))}}var V_e=bt(uMt,dMt)(gee);var z3=class extends Wr.Component{constructor(e){super(e),this.state={SelectedColumn:e.column}}render(){let e=[{Content:"Module",Size:3},{Content:"Summary",Size:7},{Content:"",Size:2}],t=this.state.SelectedColumn?this.state.SelectedColumn.columnId:null,n=[{Key:"Column Id",Value:this.state.SelectedColumn?this.state.SelectedColumn.columnId:null},{Key:"Header",Value:this.state.SelectedColumn?this.state.SelectedColumn.friendlyName:null},{Key:"Aggregatable",Value:this.state.SelectedColumn?this.state.SelectedColumn.aggregatable:null},{Key:"DataType",Value:this.state.SelectedColumn?this.state.SelectedColumn.dataType:null},{Key:"Groupable",Value:this.state.SelectedColumn?this.state.SelectedColumn.groupable:null},{Key:"Filterable",Value:this.state.SelectedColumn?this.state.SelectedColumn.filterable:null},{Key:"Hideable",Value:this.state.SelectedColumn?this.state.SelectedColumn.hideable:null},{Key:"Editable",Value:this.state.SelectedColumn?!this.state.SelectedColumn.IsReadOnly:null},{Key:"Moveable",Value:this.state.SelectedColumn?this.state.SelectedColumn.moveable:null},{Key:"Pivotable",Value:this.state.SelectedColumn?this.state.SelectedColumn.pivotable:null},{Key:"Queryable",Value:this.state.SelectedColumn?this.state.SelectedColumn.queryable:null},{Key:"Sortable",Value:this.state.SelectedColumn?this.state.SelectedColumn.sortable:null},{Key:"Visible",Value:this.state.SelectedColumn?this.state.SelectedColumn.visible:null},{Key:"Grouped",Value:this.state.SelectedColumn?this.state.SelectedColumn.isGrouped:null}].map(s=>({Key:s.Key,Value:s.Value===!0?"Yes":s.Value})).filter(s=>s.Value),r={Key:{field:"Key",header:"Property",defaultFlex:1},Value:{field:"Value",header:"Value",defaultFlex:3}},i=this.props.api.internalApi.getModuleService(),a=[];return this.state.SelectedColumn&&(this.isModuleAvailable(ls)&&a.push(Wr.createElement("div",{key:ls,className:this.isModuleReadOnly(ls)?Ai:""},Wr.createElement(PLe,{key:ls,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(ls),api:this.props.api,moduleInfo:i.getModuleInfoByModule(ls)}))),this.isModuleAvailable(wi)&&a.push(Wr.createElement("div",{key:wi,className:this.isModuleReadOnly(wi)?Ai:""},Wr.createElement(DLe,{key:wi,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(wi),api:this.props.api,moduleInfo:i.getModuleInfoByModule(wi)}))),this.isModuleAvailable(Ui)&&a.push(Wr.createElement("div",{key:Ui,className:this.isModuleReadOnly(Ui)?Ai:""},Wr.createElement(p_e,{key:Ui,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Ui),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Ui)}))),this.isModuleAvailable(Pa)&&a.push(Wr.createElement("div",{key:Pa,className:this.isModuleReadOnly(Pa)?Ai:""},Wr.createElement(V_e,{key:Pa,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Pa),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Pa)}))),this.isModuleAvailable(di)&&this.state.SelectedColumn.dataType=="Number"&&a.push(Wr.createElement("div",{key:di,className:this.isModuleReadOnly(di)?Ai:""},Wr.createElement(zLe,{key:di,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(di),api:this.props.api,moduleInfo:i.getModuleInfoByModule(di)}))),this.isModuleAvailable(Ei)&&pt.ContainsItem(this.props.api.calculatedColumnApi.getCalculatedColumns().map(s=>s.ColumnId),this.state.SelectedColumn.columnId)&&a.push(Wr.createElement("div",{key:Ei,className:this.isModuleReadOnly(Ei)?Ai:""},Wr.createElement(M_e,{key:Ei,summarisedColumn:this.state.SelectedColumn,accessLevel:this.getAccessLevel(Ei),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Ei)})))),Wr.createElement(Sn,{flex:1,header:"Column Info",margin:2,"data-name":"column-component"},Wr.createElement(KA.Flex,{height:"100%",flexDirection:"column"},Wr.createElement(KA.Flex,{flexDirection:"row",alignItems:"center",marginBottom:2},Wr.createElement(KA.Box,{flex:1,marginLeft:2},Wr.createElement(zA,{SelectedColumnIds:[t],ColumnList:this.props.api.columnApi.getColumns(),onColumnChange:s=>this.onColumnSelectedChanged(s),SelectionMode:"Single"}))),Wr.createElement(KA.Flex,{flex:1,style:{overflow:"auto",width:"100%"}},this.state.SelectedColumn&&Wr.createElement(qy,{style:{width:"100%"},colItems:e,items:a})),Wr.createElement(KA.Box,{flex:1,mt:2},this.state.SelectedColumn&&Wr.createElement(da,{data:n,primaryKey:"Key"},Wr.createElement(mi,{domProps:{style:{height:"100%"}},columns:r})))))}onColumnSelectedChanged(e){this.setState({SelectedColumn:e.length>0?e[0]:null})}isModuleAvailable(e){return this.props.api.internalApi.getModuleService().getModuleById(e).isModuleAvailable()}isModuleReadOnly(e){return this.getAccessLevel(e)=="ReadOnly"}getAccessLevel(e){return this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(e)}};d();var Uu=I(require("react")),oI=require("react");d();var Hu=I(require("react"));var QA=I(Ce());var cb=class extends Hu.Component{render(){let{buttonContent:e}=this.props,t=Rd[this.props.glyphicon],n=Hu.createElement(QA.Flex,{alignItems:"center",width:"100%"},Hu.createElement(QA.Flex,{alignItems:"center"},this.props.glyphicon!=null&&(t?Hu.createElement(t,null):null),Hu.createElement(QA.Box,{marginRight:2,"data-name":"space-before"}),this.props.headerText,Hu.createElement(QA.Box,{marginRight:2,"data-name":"space-after"}),this.props.infoLink!=null&&!this.props.infoLinkDisabled&&Hu.createElement(Pu,{onClick:()=>window.open(this.props.infoLink,"_blank")})),Hu.createElement(QA.Box,{style:{flex:1}}),e?Hu.createElement(ue,{variant:"raised",tone:"accent",disabled:this.props.buttonDisabled,onClick:()=>this.props.buttonClick?this.props.buttonClick():null},e):null,this.props.button?Hu.cloneElement(this.props.button):null);return Hu.createElement(Sn,{flex:1,className:this.props.className,bodyScroll:this.props.bodyScroll!=null?this.props.bodyScroll:!0,bodyProps:this.props.bodyProps,variant:this.props.variant||"primary",header:n,headerProps:this.props.headerProps,style:this.props.style,borderRadius:this.props.borderRadius||"none",border:this.props.border||"none"},this.props.children)}};d();var j3=I(require("react"));var eI=class extends j3.Component{render(){return j3.createElement(ue,T(S({"data-name":"minimise",iconSize:20,tooltip:"Minimise"},this.props),{variant:"text",icon:"arrow-up"}))}};d();var K3=I(require("react"));var tI=class extends K3.Component{render(){return K3.createElement(ue,S({"data-name":"maximise",iconSize:20,tooltip:"Maximize",icon:this.props.useHoirzontalChevron?"arrow-right":"arrow-down",variant:"text"},this.props))}};var G_e=I(Ce()),H_e=o=>{let{api:e}=o,t=()=>[{Content:"Property",Size:5},{Content:"Value",Size:5},{Content:"",Size:2}],n=m=>{if(m==null||m==null)return"None";switch(typeof m){case"string":case"number":case"bigint":return m;case"boolean":return m?"True":"False";case"function":return"Function";case"object":if(Array.isArray(m))return`[${m.map(C=>n(C)).join(", ")}]`;if(m instanceof HTMLElement)return"HTMLElement";default:return"Complex value"}},r=m=>{let h=t();h[0].Content=m.name;let C=n(m.value),y=m.value!==m.defaultValue;h[1].Content=y?Uu.createElement(Uu.Fragment,null,Uu.createElement("span",{style:{fontWeight:"bold"}},C),Uu.createElement("span",{style:{fontStyle:"italic"}}," ","(Default: ",n(m.defaultValue),")")):C;let v=Uu.createElement(Jn,{headerText:null,bodyText:[m.description]});return h[2].Content=v,h},i=(m,h)=>{let C=h.items.map(y=>{let v=r(y);return Uu.createElement(Ga,{key:`${y.name}`,colItems:v})});return Uu.createElement(qy,{colItems:t(),items:C})},[a,s]=(0,oI.useState)(),[l,u]=(0,oI.useState)();(0,oI.useEffect)(()=>{let m=e.internalApi.getMetamodelService().getGridInfoOptions(),h=new Map;m.forEach((C,y)=>{h.set(y,i(y,C))}),u(h),s(m)},[]);let[c,p]=(0,oI.useState)("");return Uu.createElement(G_e.Box,{className:"ab-AdaptableOptions",padding:2,"data-name":"gridInfo-adaptableOptions-content"},a&&Array.from(a.entries()).map(([m,h])=>Uu.createElement(cMt,{key:m,name:m,label:h.containerLabel,viewMode:m===c?"expanded":"collapsed",onViewModeChange:C=>p(C==="expanded"?m:"")},l.get(m))))},cMt=o=>{let{viewMode:e,name:t,label:n,onViewModeChange:r,children:i}=o,a=()=>{r(e==="expanded"?"collapsed":"expanded")},s=e==="expanded"?Uu.createElement(eI,{onClick:()=>a(),tooltip:`Hide ${n}`}):Uu.createElement(tI,{onClick:()=>a(),tooltip:`Show ${n}`});return Uu.createElement(cb,{className:`ab-OptionsContainer options-container-${t}`,variant:"default",headerText:n,headerProps:{fontSize:3,style:{fontWeight:e==="expanded"?800:400,cursor:"pointer"},"data-name":`options-container-header-${t}`,onClick:()=>a()},button:s,style:{marginBottom:3}},e==="expanded"&&i)};d();var p0=I(require("react"));var bee=I(Ce());d();d();var tn=I(require("react"));var pm=I(Ce());var Q3=26,U_e="ab-Adaptable-Object-List",Cee=`${U_e}__Item`,yee=o=>{var i,a,s;let e=Cee,t=yt(),n={disabled:o.deleteDisabled,tooltip:o.deleteTooltip,iconSize:Q3,ConfirmationMsg:`Are you sure you want to delete this ${o.entityType}?`,ConfirmationTitle:`Delete ${o.entityType}`,ConfirmAction:o.deleteAction,accessLevel:o.accessLevel};o.disableDeleteConfirmation&&(n.ConfirmAction=null,n.onClickAction=()=>{t(o.deleteAction)});let r=tn.createElement(Lh,S({},n));return tn.createElement(pm.Flex,{"data-name":"adaptable-object-list-item","data-value":o.abObject.Uuid,as:"li",mb:3,className:$e(o.className,e),style:o.style},tn.createElement(pm.Box,{flex:1,className:`${e}__rows`},(s=(a=(i=o.items).filter)==null?void 0:a.call(i,Boolean))==null?void 0:s.map((l,u)=>{var p;let c=l.label;return typeof l.label=="function"&&(c=tn.createElement(l.label,{data:o.abObject})),c=c!=null?c:l.name,tn.createElement(pm.Flex,{"data-name":l.name,key:`${u}-${l.name}`,mb:2,className:`${e}__row`},tn.createElement(pm.Box,{className:`${e}__label`,mr:3},c,o.showEditButton&&tn.createElement(ue,{"data-name":`${l.name}-edit-button`,accessLevel:o.accessLevel,className:`${e}__edit-property`,ml:1,icon:"edit",tooltip:"edit",iconSize:18,variant:"text",onClick:()=>{o.handleOnEdit(l.name)}})),tn.createElement(pm.Box,{flex:1,className:`${e}__values`},typeof l.view=="function"?tn.createElement(l.view,{data:o.abObject,module:o.module}):l.view,Boolean((l==null?void 0:l.values)&&((p=l==null?void 0:l.values)==null?void 0:p.length))&&tn.createElement(Va,{style:{marginRight:0},readOnly:!0,options:l.values,value:l.values,allowWrap:!0,toIdentifier:m=>m,toLabel:m=>tn.createElement(tn.Fragment,null,m)}),typeof l.viewAfter=="function"?tn.createElement(l.viewAfter,{data:o.abObject,module:o.module}):l.viewAfter))})),o.showActions&&tn.createElement(pm.Flex,{flexDirection:"column",className:`${e}__buttons`},tn.createElement(pm.Flex,{justifyContent:"end"},o.actions,o.teamSharingActivated&&tn.createElement(zT,{iconSize:Q3,Header:`TeamSharing ${o.entityType}`,accessLevel:o.accessLevel,onShare:o.onShare}),o.onDelete&&tn.createElement(ue,{"data-name":"delete",disabled:o.deleteDisabled,iconSize:Q3,tooltip:o.deleteTooltip,icon:"delete",onClick:o.onDelete,variant:"text"}),o.deleteAction&&r,o.showEditButton&&tn.createElement(Nh,{iconSize:Q3,disabled:o.editDisabled,accessLevel:o.accessLevel,onClick:()=>o.handleOnEdit()})),tn.createElement(pm.Box,{flex:1}),o.suspendedEnabled&&tn.createElement(pm.Flex,{justifyContent:"end"},tn.createElement(E3,{onSuspend:o.onSuspend,onUnSuspend:o.onUnSuspend,suspendableObject:o.abObject,accessLevel:o.accessLevel}))))},d0=o=>{var _,H,j,B,V,$,K,Z;let e=pe(),t=yt(),[n,r]=tn.useState(!1),[i,a]=tn.useState(null),s=(j=(H=(_=o.module)==null?void 0:_.getViewProperties)==null?void 0:H.call(_))!=null?j:{},l=(B=s.getEditWizard)==null?void 0:B.call(s,o.data.abObject),u=(V=s==null?void 0:s.getDeleteAction)==null?void 0:V.call(s,o.data.abObject),p=o.module.isModuleObjectsShareable()&&e.api.teamSharingApi.isTeamSharingAvailable()&&e.api.teamSharingApi.hasTeamSharingFullRights(),m=o.module.moduleInfo.FriendlyName,h=e.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),C=jt.getAppropriateAccessLevel(o.data.abObject,h),y=$e(o.data.className,Cee,o.data.abObject.IsSuspended&&`${Cee}--is-suspended`),v=tn.useCallback(()=>{r(!1),a(null)},[]),x=tn.useCallback(oe=>{var X;l&&(r(!0),oe&&a(oe)),(X=s==null?void 0:s.onOpenEditPopup)==null||X.call(s,o.data.abObject)},[]),A=Boolean(s.getSuspendAction),R=(K=($=s==null?void 0:s.actions)==null?void 0:$.map)==null?void 0:K.call($,(oe,X)=>tn.createElement(oe,{data:o.data.abObject,key:X,accessLevel:C})),w=!Boolean(l||s.onOpenEditPopup),P=!o.hideControls,D=Boolean(l),F=e.api.optionsApi.getAdaptableOptions(),O=_t(oe=>Jme(oe.System))||((Z=F==null?void 0:F.userInterfaceOptions)==null?void 0:Z.disableDeleteConfirmation);return tn.createElement(tn.Fragment,null,tn.createElement(yee,{module:o.module,disableDeleteConfirmation:O,abObject:o.data.abObject,accessLevel:C,actions:R,className:y,handleOnEdit:x,items:o.data.items,showActions:P,showEditButton:D,style:o.data.style,teamSharingActivated:p,onShare:oe=>e.api.teamSharingApi.shareAdaptableEntity(o.data.abObject,o.module.moduleInfo.ModuleName,oe),entityType:m,deleteAction:u,deleteDisabled:o.deleteDisabled,deleteTooltip:o.deleteTooltip,editDisabled:w,suspendedEnabled:A,onSuspend:()=>t(s.getSuspendAction(o.data.abObject)),onUnSuspend:()=>t(s.getUnSuspendAction(o.data.abObject))}),n&&l&&tn.createElement(l,{defaultCurrentSectionName:i,moduleInfo:o.module.moduleInfo,data:o.data.abObject,configEntities:null,onCloseWizard:v,onFinishWizard:v}))},c0=o=>{var e;return tn.createElement("ul",{className:U_e},(e=o==null?void 0:o.items)==null?void 0:e.map(t=>tn.createElement(d0,S({key:t.abObject.Uuid,data:t,module:o.module},o.itemProps))))};var W_e=()=>{let o=_t(r=>r),t=pe().ModuleService.getModuleCollection(),n="ab-AdaptableObjectsSummary";return p0.createElement(bee.Box,{className:n},[...t].map(([r,i])=>{var s;if(!i.isModuleAvailable())return null;let a=(s=i==null?void 0:i.toViewAll)==null?void 0:s.call(i);return a!=null&&a.length?p0.createElement(bee.Box,{"data-name":i.moduleInfo.ModuleName,className:`${n}__module-list`,key:i.moduleInfo.ModuleName},p0.createElement("b",{className:`${n}__header`},i.moduleInfo.FriendlyName),(a==null?void 0:a.length)&&p0.createElement(c0,{items:a,module:i})):null}))};var z_e=o=>{var v,x,A;let e=o.api.internalApi.getEntitlementService(),t=e.isGridInfoSectionVisible("GridSummary"),n=e.isGridInfoSectionVisible("AdaptableOptions"),r=e.isGridInfoSectionVisible("ColumnInfo"),i=e.isGridInfoSectionVisible("AdaptableObjects"),[a,s]=ja.useState({ActiveTab:(v=o.popupParams)!=null&&v.column?"ColumnInfo":t?"GridSummary":n?"AdaptableOptions":"ColumnInfo",CurrentColumn:(A=(x=o.popupParams)==null?void 0:x.column)!=null?A:void 0,IsBaseOptionsMinimised:!0,IsContainerOptionsMinimised:!0,IsSearchOptionsMinimised:!0,IsLayoutOptionsMinimised:!0}),l=R=>{s(w=>S(S({},w),R))},u=R=>{var H;let w=[],P=o.api.calculatedColumnApi.getCalculatedColumns().map(j=>j.ColumnId),D=o.api.actionColumnApi.getActionColumns().map(j=>j.columnId),F=o.api.freeTextColumnApi.getFreeTextColumns().map(j=>j.ColumnId),M=o.api.filterApi.internalApi.columnFiltersToString(o.api.filterApi.getColumnFilters()),O=We.IsNotNullOrEmpty(o.api.gridApi.getColumnSorts())?o.api.gridApi.getColumnSorts().map(j=>o.api.columnApi.getFriendlyNameForColumnId(j.ColumnId)+": "+j.SortOrder):null,_=o.api.gridApi.getSelectedRowInfo();return(H=o.api.optionsApi.getUserInterfaceOptions())!=null&&H.showAdapTableVersion&&w.push(c(R,"AdapTable Version",KNe)),w.push(c(R,"Sorted Columns",We.IsNotNullOrEmpty(O)?O.join("; "):"None")),w.push(c(R,"Column Filters",M)),w.push(c(R,"All Rows",o.api.gridApi.getRowCount())),w.push(c(R,"Visible Rows",o.api.gridApi.getVisibleRowCount())),w.push(c(R,"Selected Rows",_==null?void 0:_.gridRows.length)),w.push(c(R,"Visible Selected Rows",_==null?void 0:_.gridRows.filter(j=>{var B;return((B=j.rowNode)==null?void 0:B.displayed)==!0}).length)),w.push(c(R,"All Columns",o.api.gridApi.getColumnCount())),w.push(c(R,"Visible Columns",o.api.gridApi.getVisibleColumnCount())),w.push(c(R,"Calculated Columns",We.IsNotNullOrEmpty(P)?P:"None")),w.push(c(R,"Free Text Columns",We.IsNotNullOrEmpty(F)?F:"None")),w.push(c(R,"Action Columns",We.IsNotNullOrEmpty(D)?D:"None")),w},c=(R,w,P,D)=>{let F=yn.cloneObject(R);if(F[0].Content=w,F[1].Content=P,D){let M=ja.createElement(Jn,{headerText:null,bodyText:[D]});F[2].Content=M}return F},p=R=>{l({ActiveTab:R})},m=[{Content:"Property",Size:5},{Content:"Value",Size:7}],h=u(m).map((R,w)=>ja.createElement(Ga,{key:w,colItems:R})),C=[t,n,r,i].filter(R=>R).length>1,y="ab-GridInfo";return ja.createElement(ha,{className:y,headerText:"Grid Info",glyphicon:"info"},ja.createElement(See.Flex,{flexDirection:"column",flex:1,height:"100%"},ja.createElement(See.Flex,{className:`${y}__header`,marginBottom:2,padding:3},C&&ja.createElement(ja.Fragment,null,t&&ja.createElement(Xe,{className:`${y}__option-radio`,"data-name":"radioButton-GridSummary",marginRight:3,value:"GridSummary",checked:a.ActiveTab=="GridSummary",onChange:(R,w)=>p("GridSummary")},"Summary"),n&&ja.createElement(Xe,{"data-name":"radioButton-AdaptableOptions",marginRight:3,value:"AdaptableOptions",checked:a.ActiveTab=="AdaptableOptions",onChange:(R,w)=>p("AdaptableOptions")},"Options"),r&&ja.createElement(Xe,{"data-name":"radioButton-Column",marginRight:3,value:"Column",checked:a.ActiveTab=="ColumnInfo",onChange:(R,w)=>p("ColumnInfo")},"Columns"),i&&ja.createElement(Xe,{"data-name":"radioButton-Column",value:"Column",checked:a.ActiveTab=="AdaptableObjects",onChange:(R,w)=>p("AdaptableObjects")},"Objects"))),a.ActiveTab=="GridSummary"&&ja.createElement(qy,{margin:2,colItems:m,items:h}),a.ActiveTab=="AdaptableOptions"&&ja.createElement(H_e,{api:o.api}),a.ActiveTab=="ColumnInfo"&&ja.createElement(z3,{api:o.api,teamSharingActivated:o.teamSharingActivated,column:a.CurrentColumn}),a.ActiveTab==="AdaptableObjects"&&ja.createElement(W_e,null)))};d();var Sl=I(require("react"));var m0=I(Ce());d();var q3=I(require("react"));d();var mm=I(require("react"));d();var j_e=I(require("react")),$A=j_e.createContext({availableItems:[],permittedActions:{createTab:!0,editTabName:!0,dragAndDropTab:!0,deleteTab:!0}});d();var Fi=I(require("react"));var $3=I(Ce());function K_e({tabs:o,onRemoveTab:e,onRemoveToolbar:t,onChangeTabName:n,disabled:r}){return Fi.createElement(Ky,{droppableId:"MAIN",type:"TAB",direction:"horizontal"},i=>Fi.createElement("div",T(S({},i.droppableProps),{className:"ab-ModuleSelector__TabList",ref:i.innerRef,style:{display:"flex"},"data-name":"dashboard-tabs"}),o.map((a,s)=>Fi.createElement(pMt,{disabled:r,key:s,tabIndex:s,tab:a,onRemove:()=>e(s),onRemoveToolbar:l=>t(s,l),onChangeTabName:l=>n(s,l)})),i.placeholder))}function pMt({tab:o,tabIndex:e,onRemove:t,onRemoveToolbar:n,onChangeTabName:r,disabled:i}){let a=Fi.useContext($A),s=i||!a.permittedActions.dragAndDropTab;return Fi.createElement(MA,{isDragDisabled:s,draggableId:String(e),index:e},l=>Fi.createElement("div",T(S({className:"ab-ModuleSelector__TabItem","data-name":"dashboard-tab",ref:l.innerRef},l.draggableProps),{style:S({},s?{}:l.draggableProps.style)}),Fi.createElement("div",{className:"ab-ModuleSelector__TabItem__header"},Fi.createElement("div",T(S({},i?{}:l.dragHandleProps),{style:a.permittedActions.dragAndDropTab?{}:{display:"none"}}),Fi.createElement(mo,{name:"drag"})),a.permittedActions.editTabName?Fi.createElement("input",{className:"ab-ModuleSelector__TabItem__header-input",type:"text",disabled:i,value:o.Name,onChange:u=>{r(u.target.value)}}):o.Name,a.permittedActions.deleteTab&&Fi.createElement(ue,{disabled:i,icon:"delete",variant:"text",onClick:t})),Fi.createElement(mMt,{disabled:i,toolbars:o.Items,droppableId:String(e),onRemove:n})))}function mMt({toolbars:o,droppableId:e,onRemove:t,disabled:n}){return Fi.createElement(Ky,{droppableId:e,type:"TOOLBAR"},(r,i)=>Fi.createElement($3.Box,T(S({className:"ab-ModuleSelector__ToolbarList",ref:r.innerRef},n?{}:r.droppableProps),{"data-name":"dashboard-toolbar-drop-target",backgroundColor:i.isDraggingOver?"var(--ab-dashboard-tab-drop-target__background)":""}),o.map((a,s)=>Fi.createElement(hMt,{disabled:n,key:a,toolbar:a,toolbarIndex:s,onRemove:()=>t(s)})),r.placeholder))}function hMt({toolbar:o,toolbarIndex:e,onRemove:t,disabled:n}){let{availableItems:r}=Fi.useContext($A),i=r.find(s=>s.Id===o),a=i?i.Title:o;return Fi.createElement(MA,{isDragDisabled:n,draggableId:o,index:e},(s,l)=>Fi.createElement($3.Flex,T(S(S({className:"ab-ModuleSelector__ToolbarItem",alignItems:"center",mb:1,pl:1,backgroundColor:l.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",ref:s.innerRef},s.draggableProps),s.dragHandleProps),{style:s.draggableProps.style}),Fi.createElement("div",{style:{flex:1}},a),Fi.createElement(ue,{disabled:n,icon:"close",variant:"text",padding:1,onClick:t})))}d();var Kc=I(require("react"));var vee=I(Ce());function Q_e({items:o,disabled:e,title:t,dragItemText:n}){return Kc.createElement(vee.Box,{pb:1,mb:2,className:"ab-ModuleSelector__UnusedPanel","data-name":"unusedpanel-items"},Kc.createElement(vee.Box,{p:2},Kc.createElement("b",null,t)," (",n,")"),Kc.createElement(fMt,{disabled:e,items:o}))}function fMt({items:o,disabled:e}){return Kc.createElement(Ky,{droppableId:"UNUSED",type:"TOOLBAR",isDropDisabled:!0,direction:"horizontal"},t=>Kc.createElement("div",T(S({ref:t.innerRef,"data-name":"unusedpanel-items-list"},t.droppableProps),{style:{display:"flex",flexDirection:"row",flexWrap:"wrap",paddingLeft:"var(--ab-space-2)",paddingRight:"var(--ab-space-2)"}}),o.map((n,r)=>Kc.createElement(gMt,{disabled:e,key:n,unusedItem:n,unusedItemIndex:r})),t.placeholder))}function gMt({unusedItem:o,unusedItemIndex:e,disabled:t}){let{availableItems:n}=Kc.useContext($A),r=n.find(a=>a.Id===o),i=r?r.Title:o;return Kc.createElement(MA,{isDragDisabled:t,draggableId:o,index:e},(a,s)=>{let l=t?{}:S(S({},a.draggableProps),a.dragHandleProps),u=t?{}:a.draggableProps.style;return Kc.createElement("div",T(S({"data-name":"unused-item",ref:a.innerRef},l),{style:T(S({},u),{border:"1px solid var(--ab-color-primary)",backgroundColor:s.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",padding:"var(--ab-space-1) var(--ab-space-2)",marginRight:"var(--ab-space-1)",marginBottom:"var(--ab-space-1)"})}),i)})}var nI=o=>{let{availableItems:e,tabs:t,onTabsChange:n,tabsTitle:r,disabled:i,unusedPanelTitle:a,dragItemText:s,permittedActions:l}=o,u=mm.useMemo(()=>({permittedActions:S({createTab:!0,editTabName:!0,dragAndDropTab:!0,deleteTab:!0},l),availableItems:o.availableItems}),[o.availableItems,o.permittedActions]),c=mm.useMemo(()=>e.map(x=>x.Id).filter(x=>!t.some(A=>A.Items.includes(x))),[t,e]),p=x=>{let{source:A,destination:R,draggableId:w}=x;!A||!R||(A.droppableId!=="UNUSED"&&t[Number(A.droppableId)].Items.splice(A.index,1),R.droppableId!=="UNUSED"&&t[Number(R.droppableId)].Items.splice(R.index,0,w),n([...t]))},m=x=>{let{source:A,destination:R}=x;if(!A||!R)return;let[w]=t.splice(A.index,1);t.splice(R.index,0,w),n([...t])},h=x=>{n(t.filter((A,R)=>R!==x))},C=()=>{n([...t,{Name:"New Tab",Items:[]}])},y=(x,A)=>{n(t.map((R,w)=>w!==x?R:T(S({},R),{Items:R.Items.filter((P,D)=>D!==A)})))},v=(x,A)=>{n(t.map((R,w)=>w!==x?R:T(S({},R),{Name:A})))};return mm.createElement(g3,{onDragEnd:x=>{x.type==="TAB"&&m(x),x.type==="TOOLBAR"&&p(x)}},mm.createElement($A.Provider,{value:u},mm.createElement("div",{className:"ab-ModuleSelector",style:{display:"flex",flexDirection:"column"}},mm.createElement(Q_e,{title:a,disabled:i,items:c,dragItemText:s}),mm.createElement(cb,{className:"ab-ModuleSelector-UsedPanel",headerText:r,button:u.permittedActions.createTab&&mm.createElement(ue,{disabled:i,onClick:C},"Add Tab")},mm.createElement(K_e,{disabled:i,tabs:t,onRemoveTab:h,onRemoveToolbar:y,onChangeTabName:v})))))};var CMt=({tabs:o,onTabsChange:e,availableToolbars:t,api:n,disabled:r})=>{let a=n.internalApi.getModuleService().getModuleInfoByModule("Dashboard"),s=o.map(u=>({Name:u.Name,Items:u.Toolbars})),l=q3.useCallback(u=>{let c=u.map(p=>({Name:p.Name,Toolbars:p.Items}));e(c)},[]);return q3.createElement(nI,{availableItems:t,disabled:r,onTabsChange:l,tabs:s,tabsTitle:a.FriendlyName+" Tabs",unusedPanelTitle:"Available Toolbars",dragItemText:"Drag into a Tab below"})},$_e=CMt;var Aee=class extends Sl.Component{constructor(e){super(e),this.state={DashboardConfigView:"Toolbars"}}render(){let e=r0e,t=this.props.api.internalApi.getModuleService(),n=e.filter(h=>this.props.api.internalApi.getModuleService().isModuleAvailable(h)).map(h=>({Id:h,Title:t.getModuleInfoByModule(h).FriendlyName})),r=this.props.api.dashboardApi.getCustomToolbars().map(h=>({Id:h.name,Title:h.title?h.title:h.name})),i=this.props.DashboardState.Tabs.map(h=>{let C=h.Toolbars.filter(y=>this.props.api.dashboardApi.getCustomToolbars().find(x=>x.name===y)?!0:this.props.api.internalApi.getModuleService().isModuleAvailable(y));return T(S({},h),{Toolbars:C})}),a=[];this.props.DashboardState.ModuleButtons.forEach(h=>{let C=this.props.GridState.SettingPanelModuleMenuItems.find(y=>y.module==h);C!=null&&C.isVisible&&a.push(h)});let s=this.props.GridState.SettingPanelModuleMenuItems.map(h=>h.module),l="ab-Dashboard-Popup",u=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard"),c=u=="Full"||u=="ReadOnly",p=u==="ReadOnly",m=h=>h==="SettingsPanel"?this.props.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard:!1;return Sl.createElement(ha,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Sl.createElement(m0.Flex,{flex:1,height:"100%",flexDirection:"column"},c&&Sl.createElement(Sn,{header:"Dashboard Modes",style:{height:"auto",overflow:"visible"},variant:"default",borderRadius:"none"},Sl.createElement(Ne,{mr:3,"data-name":"collapse",className:`${l}__settings-option`,checked:this.props.IsCollapsed,onChange:h=>this.props.onSetDashboardCollapsed(h)},"Collapse")," ",this.props.api.optionsApi.getDashboardOptions().canFloat&&Sl.createElement(Ne,{mr:3,"data-name":"floating",className:`${l}__settings-option`,checked:this.props.IsFloating,onChange:h=>this.props.onSetDashboardFloating(h)},"Float")," ",Sl.createElement(Ne,{"data-name":"hidden",className:`${l}__settings-option`,checked:this.props.IsHidden,onChange:h=>this.props.onSetDashboardHidden(h)},"Hidden")),Sl.createElement(Sn,{header:"Dashboard Contents",style:{borderBottom:"1px solid var(--ab-color-primary)"},variant:"default",borderRadius:"none",marginTop:4},Sl.createElement(m0.Flex,{className:`${l}__contents-selector`,flexDirection:"row",padding:2},Sl.createElement(Xe,{marginLeft:3,value:"Toolbars",checked:this.state.DashboardConfigView=="Toolbars",onChange:(h,C)=>this.onDashboardConfigViewChanged(C)},"Toolbars"),Sl.createElement(Xe,{marginLeft:3,value:"Buttons",checked:this.state.DashboardConfigView=="Buttons",onChange:(h,C)=>this.onDashboardConfigViewChanged(C)},"Buttons")),Sl.createElement(m0.Box,{className:`${l}__Module-Selector`,"data-name":this.state.DashboardConfigView==="Toolbars"?"toolbars":"buttons",style:{minHeight:0,flex:"1 1 0"},padding:2},this.state.DashboardConfigView=="Toolbars"&&Sl.createElement($_e,{disabled:p,availableToolbars:[...n,...r],tabs:i,onTabsChange:this.props.onDashboardSetTabs,api:this.props.api}),this.state.DashboardConfigView=="Buttons"&&Sl.createElement(YM,{disabled:p,options:s,value:a,noSelectionLabel:"No selected Module Button",isOptionDisabled:m,xSelectedLabel:()=>"Visible Module Buttons:",onChange:h=>this.props.onDashboardSetModuleButtons(h)})))))}onDashboardConfigViewChanged(e){let n=e.target.value;this.setState({DashboardConfigView:n})}};function yMt(o,e){return{DashboardState:o.Dashboard,GridState:o.Grid,IsCollapsed:o.Dashboard.IsCollapsed,IsHidden:o.Dashboard.IsHidden,IsFloating:o.Dashboard.IsFloating}}function bMt(o){return{onDashboardSetModuleButtons:e=>o(cB(e)),onDashboardSetTabs:e=>o(lSe(e)),onSetDashboardCollapsed:e=>o(Ec(e)),onSetDashboardHidden:e=>o(uh(e)),onSetDashboardFloating:e=>o(wc(e))}}var q_e=bt(yMt,bMt)(Aee);d();var Yl=I(require("react"));d();var Ree=I(require("react"));d();var Wu=I(require("react")),pb=I(Ce()),X3=require("react");d();var SMt=(o,e)=>e.type==="DRAG_OVER"?T(S({},o),{dragOver:!0}):e.type==="DRAG_OUT"?T(S({},o),{dragOver:!1}):e.type==="SET_INVALID_FILE"?T(S({},o),{message:e.payload.message}):e.type==="DROP_SUCCES"?T(S({},o),{dragOver:!1,message:e.payload.message}):o,Y_e=SMt;var vMt={dragOver:!1,message:null},Y3=o=>{o.preventDefault(),o.stopPropagation()},xee=async(o,e)=>{let t=new FileReader;return new Promise((n,r)=>{t.onload=function(i){try{let s=(e||JSON.parse)(i.target.result);Promise.resolve(s).then(n)}catch(a){r("Invalid JSON")}},t.onerror=function(i){r(i)},t.readAsText(o)})},X_e=o=>{let x=o,{onDropSuccess:e,message:t,fileAccept:n=".json",helpText:r="AdapTable No Code Version",defaultText:i="Click here to select a JSON file to load or drag it here",dragOverText:a="Drop file here to start Adaptable Wizard",icon:s=Wu.createElement(mo,{name:"paperclip",size:48})}=x,l=ut(x,["onDropSuccess","message","fileAccept","helpText","defaultText","dragOverText","icon"]),[u,c]=(0,X3.useReducer)(Y_e,vMt),p=A=>{c({type:"DRAG_OVER"})},m=A=>{Y3(A),!(C.current!=A.target&&Hv(C.current,A.target))&&c({type:"DRAG_OUT"})},h=async A=>{let R;Y3(A);let w=A.nativeEvent;w&&w.dataTransfer?R=w.dataTransfer.files:R=A.target.files,m(A);let P=R[0];if(P){let D;try{D=await(o.readFile||xee)(P,o.toJSON),c({type:"DROP_SUCCES",payload:{message:Wu.createElement(pb.Box,null,o.loadingText===void 0?"Initializing adaptable...":o.loadingText)}}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e&&e(D,P)})})}catch(F){c({type:"SET_INVALID_FILE",payload:{message:Wu.createElement(pb.Box,null,"The file is not a valid JSON file! Please try again!")}})}}},C=(0,X3.useRef)(),y=Wu.createElement("form",{onSubmit:Y3},Wu.createElement(ue,{style:{cursor:"pointer"},variant:"outlined"},Wu.createElement("div",null,u.dragOver?a:i),Wu.createElement("input",{type:"file",onChange:h,accept:n,style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}}))),v=t||u.message;return Wu.createElement(pb.Flex,T(S({},l),{flexDirection:"column",className:$e(o.className,"ab-FileDroppable",u.dragOver?"ab-FileDroppable--drag-over":""),alignItems:"center",justifyContent:"center",onDragEnter:p,onDragLeave:m,onDrop:h,onDragOver:Y3,ref:C}),o.children,r||s?Wu.createElement(pb.Flex,{flexDirection:"column"},r?Wu.createElement(pb.Flex,{flexDirection:"column",alignItems:"center",margin:2},Wu.createElement(Qt,null,Wu.createElement("b",null,r))):null,s?Wu.createElement(pb.Flex,{flexDirection:"column",alignItems:"center",margin:2},s):null):null,v,y)};X_e.defaultProps={};var Z_e=X_e;var Z3=o=>{let e=t=>{let n=t.nativeEvent,r;n&&n.dataTransfer?r=n.dataTransfer.files:r=t.target.files;let i=r[0];xee(i).then(a=>{o.onLoad(a)})};return Ree.createElement(ue,T(S({},o),{className:"ab-StateManagement__Load-Button"}),Ree.createElement("input",{type:"file",onChange:t=>e(t),accept:".json",style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}})," ",o.children)};d();var J_e=I(require("react"));var J3=o=>J_e.createElement(ue,T(S({},o),{className:"ab-StateManagement__Clear-Button",tooltip:"Clear User State"}),o.children);d();var e1e=I(require("react"));d();var Eee=(o,e,t)=>{switch(o){case"Clipboard":let n=JSON.stringify(t);yn.copyToClipboard(n);break;case"Console":console.log("Adaptable State: ",t);break;case"JSON":let r=e+".json",i=JSON.stringify(t);yn.createDownloadedFile(i,r,"application/json");break}};var rI=o=>{let e=n=>{switch(o.type){case"adaptableState":let r=o.api.configApi.getPersistedState();Eee(n,"adaptableState",r);break;case"predefinedConfig":let i=o.api.configApi.getPredefinedConfig();Eee(n,"predefinedConfig",i);break}},t=[{value:"Clipboard",label:"Clipboard",onClick:()=>e("Clipboard")},{value:"Console",label:"Console",onClick:()=>e("Console")},{value:"JSON",label:"JSON",onClick:()=>e("JSON")}];return e1e.createElement(Qe,T(S({className:"ab-StateManagement__Export-Dropdown"},o),{items:t,value:void 0}))};var t1e=o=>{let e="ab-ManageState";return Yl.createElement(ha,{className:e,headerText:o.moduleInfo.FriendlyName,glyphicon:o.moduleInfo.Glyph,infoLink:o.moduleInfo.HelpPage,infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},Yl.createElement(Sn,{className:`${e}__panel`,"data-name":"user-state",header:"User State",style:{height:"auto"},variant:"default",borderRadius:"none",marginRight:2,mb:2},Yl.createElement(Qt,{marginBottom:2},"Clear all current user state that has been persisted."),Yl.createElement(Qt,null,"This will cause this window to close and any state you have previously created will be lost and the initial Predefined Config will then be reapplied."),Yl.createElement(J3,{"data-name":"clear-user-state-button",tone:"error",variant:"raised",marginTop:2,accessLevel:o.accessLevel,onClick:()=>o.api.configApi.reloadPredefinedConfig()},"Clear User State")),Yl.createElement(Sn,{className:`${e}__panel`,"data-name":"predefined-config",header:"Load Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},Yl.createElement(Qt,{marginTop:2},"Load Predefined Config (from a .json file). This will cause this window to close.")," ",Yl.createElement(Z3,{tone:"info",variant:"raised",marginTop:2,accessLevel:o.accessLevel,onLoad:t=>o.api.configApi.reloadPredefinedConfig(t),"data-name":"load-predefined-config-button"},"Load Predefined Config")),Yl.createElement(Sn,{className:`${e}__panel`,"data-name":"adaptable-state",header:"Export Adaptable State",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},Yl.createElement(Qt,{marginTop:2,marginBottom:2},"Exports the currently persisted Adaptable state.")," ",Yl.createElement(rI,{api:o.api,type:"adaptableState",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"],"data-name":"export-adaptable-state-dropdown"},"Select Export Destination")),Yl.createElement(Sn,{className:`${e}__panel`,"data-name":"initial-predefined-config",header:"Export Initial Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},Yl.createElement(Qt,{marginTop:2,marginBottom:2},"Exports the Predefined Config which was provided at design time.")," ",Yl.createElement(rI,{api:o.api,type:"predefinedConfig",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"],"data-name":"export-initial-predefined-config-dropdown"},"Select Export Destination")))};d();var zr=I(require("react"));d();var mb=I(require("react"));var hb=class extends mb.Component{constructor(t){super(t);this.loadPermittedValues=async()=>{var r;if(!((r=this.props.selectedColumn)!=null&&r.columnId))return;let t=await QT(this.props.api.gridApi.internalApi.getDistinctBulkUpdateDisplayValuesForColumn(this.props.selectedColumn.columnId,this.props.selectedGridCells),()=>this.setState({isDistinctColumnValuesLoading:!0}));this.setState({isDistinctColumnValuesLoading:!1});let n=pt.sortArray(t,"Asc").map(i=>({label:i,value:i,onClick:()=>this.onSelectedValueChange([{DisplayValue:i}])}));this.setState({distinctColumnValues:n})};this.handleSelectedValueExpand=()=>{this.state.distinctColumnValues.length||this.loadPermittedValues()};this.state={newOrExisting:"Existing value",distinctColumnValues:[],isDistinctColumnValuesLoading:!1}}componentDidUpdate(t){(this.props.selectedColumn!==t.selectedColumn||this.props.selectedGridCells!==t.selectedGridCells)&&this.loadPermittedValues()}render(){let t="Select",n=this.props.allowNew!=null?this.props.allowNew:!0,r="ab-column-value-selector",i=$e("ab-column-value-selector",this.state.isDistinctColumnValuesLoading&&`${r}--loading`),a=150,s=this.state.isDistinctColumnValuesLoading?[{label:"Loading",disabled:!0}]:this.state.distinctColumnValues,l=mb.createElement("div",null,mb.createElement(Qe,{"data-name":"bulkupdate-value-selector",className:i,columns:["label"],variant:"text",showClearButton:!0,onClear:()=>this.onSelectedValueChange([]),style:{fontSize:"small"},disabled:this.props.disabled,items:s,onExpand:this.handleSelectedValueExpand},this.props.selectedColumnValue?this.props.selectedColumnValue:t)),u=mb.createElement(oo,{"data-name":"bulkupdate-value-input",type:this.props.selectedColumn?Uo.getDescriptionForDataType(this.props.selectedColumn.dataType):"text",placeholder:this.props.selectedColumn?Uo.getPlaceHolderforDataType(this.props.selectedColumn.dataType):"Enter Value",autoFocus:!0,disabled:this.props.disabled,style:{width:a},value:this.props.selectedColumnValue,onChange:c=>{this.onSelectedValueChange([{customOption:!0,DisplayValue:c.target.value}])}});return mb.createElement(Ry,{style:T(S({},this.props.style),{overflow:"visible"})},this.state.newOrExisting==="Existing value"?l:u,mb.createElement(Qe,S({variant:"raised",tone:"neutral",columns:["label"],style:{boxShadow:"none",color:"var(--ab-cmp-dashboardpanel__fill)",background:"var(--ab-color-defaultbackground)"},disabled:this.props.disabled,marginRight:1,items:[{label:"Existing value",onClick:()=>{this.setState({newOrExisting:"Existing value"}),this.onSelectedValueChange([])}},{label:"New value",onClick:()=>{this.setState({newOrExisting:"New value"}),this.onSelectedValueChange([])}}]},this.props.dropdownButtonProps),this.state.newOrExisting==="Existing value"?this.props.existingLabel:this.props.newLabel))}onSelectedValueChange(t){pt.IsEmpty(t)&&ct.IsNullOrEmpty(this.props.selectedColumnValue)||(pt.IsEmpty(t)?this.props.onColumnValueChange(""):t[0].customOption?this.props.onColumnValueChange(t[0].DisplayValue):this.props.onColumnValueChange(t[0].DisplayValue))}};hb.defaultProps={newLabel:"New value",existingLabel:"Existing value"};var qA=I(Ce());var wee=class extends zr.Component{constructor(e){super(e),this.state={isShowingError:!1,errorText:"",useSelector:!1}}componentDidMount(){this.props.onBulkUpdateValueChange(""),this.props.onBulkUpdateCheckSelectedCells()}render(){let e=this.props.BulkUpdateValidationResult.Column,t=!1,n="";e&&ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&e.dataType=="Number"&&isNaN(Number(this.props.BulkUpdateValue))&&(t=!0,n="This column only accepts numbers");let r=Qp.GetValidationMessage(this.props.PreviewInfo,this.props.BulkUpdateValue),i=this.props.PreviewInfo&&ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&ct.IsNotNullOrEmpty(r),a=i?zr.createElement(Oh,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:e,showPanel:i,showHeader:!0}):null;return e?zr.createElement(xh,{bodyProps:{padding:2},flex:1,glyphicon:this.props.moduleInfo.Glyph,header:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed(),variant:"primary"},e.dataType=="Date"?zr.createElement(zr.Fragment,null,zr.createElement(Qt,{marginTop:2,marginBottom:2},"Enter a date value. Alternatively, tick the checkbox and select from an existing column value."),zr.createElement(qA.Box,null,zr.createElement(Ne,{marginLeft:2,onChange:s=>this.onUseColumnValuesSelectorChanged(s),checked:this.state.useSelector}," ","Select from existing column values")),zr.createElement(qA.Flex,{padding:2,flexDirection:"row",alignItems:"center"},zr.createElement(qA.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},this.state.useSelector?zr.createElement(hb,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),allowNew:!1,style:{width:"100%",maxWidth:"inherit"}}):zr.createElement(oo,{"data-name":"bulk-update",style:{width:"100%"},value:String(this.props.BulkUpdateValue),type:Rn.getDescriptionForDataType(e.dataType),placeholder:Rn.getPlaceHolderforDataType(e.dataType),onChange:s=>this.onBulkUpdateValueChange(s)})),zr.createElement(ue,{disabled:ct.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All",onClick:()=>{this.onApplyClick()},variant:"raised",tone:"accent"},"Apply to Grid"))):zr.createElement(zr.Fragment,null,zr.createElement(Qt,{marginTop:2,marginBottom:2},"Select an existing column value from the dropdown, or enter a new value"),zr.createElement(qA.Flex,{marginTop:2,flexDirection:"row",alignItems:"center"},zr.createElement(qA.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},zr.createElement(hb,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),style:{width:"100%",maxWidth:"inherit"}})),zr.createElement(ue,{disabled:ct.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All"||t,variant:"raised",tone:"accent",marginRight:2,onClick:()=>{this.onApplyClick()}},"Apply to Grid")," ",t&&zr.createElement(Jn,{headerText:"Update Error",bodyText:[n],MessageType:"Error"}),ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo.previewValidationSummary.validationResult!="None"&&zr.createElement(Jn,{headerText:"Validation Error",bodyText:[r],MessageType:"Error"}))),a):null}onColumnValueSelectedChanged(e){this.props.onBulkUpdateValueChange(e)}onUseColumnValuesSelectorChanged(e){this.setState({useSelector:e}),this.props.onBulkUpdateValueChange("")}onBulkUpdateValueChange(e){let t=e.target;this.props.onBulkUpdateValueChange(t.value)}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate()}};function AMt(o,e){var t;return{BulkUpdateValue:o.System.BulkUpdateValue,PreviewInfo:o.System.BulkUpdatePreviewInfo,BulkUpdateValidationResult:o.System.BulkUpdateValidationResult,SelectedGridCells:(t=o.Grid.SelectedCellInfo)==null?void 0:t.gridCells}}function xMt(o){return{onBulkUpdateValueChange:e=>o(fE(e)),onBulkUpdateCheckSelectedCells:()=>o(G_()),onRunBulkUpdate:()=>o(E1(!1))}}var o1e=bt(AMt,xMt)(wee);d();var h0=I(require("react"));d();var Vh=I(require("react"));d();var eW=I(require("react")),tW=I(Ce());var n1e="ab-EmptyContent",RMt=r=>{var i=r,{children:o,className:e,style:t}=i,n=ut(i,["children","className","style"]);return typeof o=="string"&&(o=eW.createElement("p",null,o)),eW.createElement(tW.Box,{flex:1,className:`${n1e}__wrapper`},eW.createElement(tW.Flex,T(S({alignItems:"center",justifyContent:"center",flexDirection:"column"},n),{className:$e(n1e,e),style:t}),o))},iI=RMt;var EMt=new Map([["Operation",{field:"Operation",defaultFlex:1}],["Value",{field:"Value",defaultFlex:1}]]),wMt={style:{height:"100%",minWidth:"20rem",minHeight:380}},fb=class extends Vh.Component{render(){let e=[];return this.props.CellSummary!=null&&(e=Object.keys(this.props.CellSummary).map(t=>({Operation:t,Value:this.props.CellSummary[t]}))),Vh.createElement(Vh.Fragment,null,this.props.CellSummary!=null?Vh.createElement(da,{data:e,primaryKey:"Operation"},Vh.createElement(mi,{domProps:wMt,columns:EMt})):Vh.createElement(iI,null,Vh.createElement("p",null,"No cells are selected - please select some cells.")))}};var Tee=class extends h0.Component{componentDidMount(){var e,t,n;((e=this.props.popupParams)==null?void 0:e.source)==="ColumnMenu"&&((t=this.props.popupParams)==null?void 0:t.column)&&(this.props.api.columnApi.selectColumn((n=this.props.popupParams)==null?void 0:n.column.columnId),this.props.api.internalApi.getAdaptableInstance().setSelectedCells()),this.props.onCreateCellSummary()}render(){return h0.createElement(cb,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},h0.createElement(fb,{CellSummary:this.props.CellSummary}))}};function TMt(o,e){return{CellSummary:o.Grid.CellSummary}}function IMt(o){return{onCreateCellSummary:()=>o(HE())}}var r1e=bt(TMt,IMt)(Tee);d();var gb=I(require("react"));var a1e=I(Ce());d();var YA=I(require("react"));var nW=I(Ce());var oW=class extends YA.Component{render(){var r;let e=this.props.adaptableObject,t=Uo.getColorByMessageType((r=e==null?void 0:e.statusType)!=null?r:"Success"),n=zo(this.props.colItems);return n[0].Content=e?YA.createElement("details",null,YA.createElement(nW.Flex,{title:e.statusFurtherInformation?"Click to see more":"",className:$e("ab-DashboardToolbar__SystemStatus__text",e.statusFurtherInformation&&"ab-DashboardToolbar__SystemStatus__text--expandable"),backgroundColor:t,alignItems:"center",as:"summary"},e.statusMessage," ",e.statusFurtherInformation?"...":""),e.statusFurtherInformation?YA.createElement(nW.Box,{className:"ab-DashboardToolbar__SystemStatus__further-information",margin:2},e.statusFurtherInformation):null):null,n[1].Content=e.timestamp.toLocaleString(),YA.createElement(Ga,{colItems:n})}};var i1e=[{Content:"Message",Size:10},{Content:"Timestamp",Size:3}],Iee=class extends gb.Component{constructor(e){super(e)}onSystemStatusMessageInfoDeleteAll(){this.props.onSystemStatusMessageInfoDeleteAll()}render(){let e=gb.createElement(ue,{onClick:()=>this.onSystemStatusMessageInfoDeleteAll(),tooltip:"Clear All",tone:"neutral",variant:"raised",accessLevel:this.props.accessLevel,disabled:We.IsNullOrEmpty(this.props.SystemStatusMessages)},"Delete All Messages"),t=We.sortArrayWithProperty("Desc",this.props.SystemStatusMessages,"Timestamp").map((n,r)=>{let i=jt.getAppropriateAccessLevel(n,this.props.accessLevel);return gb.createElement(oW,{adaptableObject:n,key:"smi"+r,onEdit:null,moduleInfo:this.props.moduleInfo,colItems:i1e,api:this.props.api,accessLevel:i,teamSharingActivated:this.props.teamSharingActivated,onDeleteConfirm:null,onShare:null})});return gb.createElement(ha,{button:e,headerText:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},We.IsNotNullOrEmpty(this.props.SystemStatusMessages)&&gb.createElement(a1e.Box,{className:"ab-SystemStatus-Popup-List",padding:2},gb.createElement(qy,{colItems:i1e,items:t})))}};function PMt(o,e){return{SystemStatusMessageInfos:o.System.SystemStatusMessages,SystemStatusMessages:o.System.SystemStatusMessages}}function DMt(o){return{onSystemStatusMessageInfoDeleteAll:()=>o(B_())}}var s1e=bt(PMt,DMt)(Iee);d();var Cb=I(require("react"));var sW=I(Ce());d();var rW=o=>{let e=Uo.getMessageTypeFromAdaptableAlerts(o),t=Uo.getColorByMessageType(e),n=Uo.getButtonColourForAdaptableAlerts(o,t);return{color:Uo.getButtonTextColourForArrayandMessageType(o,e),background:n}};d();var l1e=I(require("react"));d();var Or=I(require("react"));var Qc=I(Ce());var XA="ab-Adaptable-Object-Compact-List",OMt=20,FMt=o=>{var h,C,y,v,x,A,R,w;let e=yt(),t=pe(),n=o.module.toViewCompact(o.abObject),r=(C=(h=o.module)==null?void 0:h.getViewProperties)==null?void 0:C.call(h),i=(y=r==null?void 0:r.getCompactDeleteAction)==null?void 0:y.call(r,o.abObject),a=t.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),s=(v=r==null?void 0:r.getCompactSuspendAction)==null?void 0:v.call(r,o.abObject),l=(x=r==null?void 0:r.getCompactUnSuspendAction)==null?void 0:x.call(r,o.abObject),u=o.abObject.IsSuspended,c=Or.useCallback(P=>{P.stopPropagation(),P.preventDefault(),e(i)},[]),p=Or.useCallback(P=>{P.stopPropagation(),P.preventDefault(),e(u?l:s)},[o.abObject]),m=n.item.label;return typeof m=="function"&&(m=Or.createElement(m,{data:o.abObject})),m=m!=null?m:n.item.name,Or.createElement(Qc.Flex,{className:`${XA}__Item`,alignItems:"center"},m&&Or.createElement(Qc.Flex,{className:`${XA}__Item__Name`},m),Or.createElement(Qc.Box,{flex:1},typeof n.item.view=="function"?Or.createElement(n.item.view,{data:o.abObject}):n.item.view,Boolean(((A=n.item)==null?void 0:A.values)&&((w=(R=n.item)==null?void 0:R.values)==null?void 0:w.length))&&Or.createElement(Qc.Box,{mb:2,className:`${XA}__Item__Values`},Or.createElement(Va,{style:{marginRight:0},readOnly:!0,options:n.item.values,value:n.item.values,allowWrap:!0,toIdentifier:P=>P,toLabel:P=>Or.createElement(Or.Fragment,null,P)}))),s&&l&&Or.createElement(ue,{onMouseDown:p,tone:u?"neutral":"success",variant:"text",icon:u?"play":"pause"}),Or.createElement(Qc.Flex,{ml:1},i&&Or.createElement(ue,{iconSize:OMt,icon:"delete",variant:"text",onMouseDown:c,accessLevel:a})))},iW=o=>{var c,p,m,h,C;let e=pe(),t=(p=(c=o.module).getViewProperties)==null?void 0:p.call(c),n=(m=t==null?void 0:t.getDeleteAllAction)==null?void 0:m.call(t),r=(h=t==null?void 0:t.getSuspendAllAction)==null?void 0:h.call(t),i=(C=t==null?void 0:t.getUnSuspendAllAction)==null?void 0:C.call(t),a=yt(),s=e.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),l=o.abObjects.some(y=>!y.IsSuspended),u=Or.useCallback(y=>{y.stopPropagation(),y.preventDefault(),a(l?r:i)},[l]);return Or.createElement(Qc.Flex,{flexDirection:"column",className:XA},Or.createElement(Qc.Flex,{className:`${XA}__Header`,fontSize:3},Or.createElement(Qc.Box,{className:`${XA}__Title`},o.module.moduleInfo.FriendlyName),Or.createElement(Qc.Box,{flex:1}),r&&i&&Or.createElement(ue,{mr:2,onMouseDown:u,tone:l?"neutral":"success",variant:"raised",icon:l?"pause":"play",accessLevel:s},l?"Suspend All":"Unsuspend All"),n&&Or.createElement(ue,{onMouseDown:()=>a(n),variant:"raised",tone:"neutral",accessLevel:s},"Clear All")),Or.createElement(Qc.Box,{className:`${XA}__Body`},o.abObjects.map(y=>Or.createElement(FMt,{key:y.Uuid,abObject:y,module:o.module}))))};var aW=()=>{let e=pe().ModuleService.getModuleById(Ri),t=_t(n=>n.System.AdaptableAlerts);return l1e.createElement(iW,{abObjects:t,module:e})};var Pee=class extends Cb.Component{constructor(e){super(e),this.state={ShowMessage:!1,Alerts:this.props.AdaptableAlerts}}componentDidUpdate(){this.state.Alerts.length!=this.props.AdaptableAlerts.length&&this.setState({ShowMessage:!0,Alerts:this.props.AdaptableAlerts})}render(){let e=Uo.getMessageTypeFromAdaptableAlerts(this.props.AdaptableAlerts),{color:t,background:n}=rW(this.props.AdaptableAlerts),r=this.props.AdaptableAlerts.length==0?"0 Alerts":this.props.AdaptableAlerts.length==1?"1 Alert":this.props.AdaptableAlerts.length+" Alerts",i=Cb.createElement(aW,null),a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Cb.createElement(sW.Flex,{alignItems:"stretch",className:`ab-${a}__Alert__wrap`},Cb.createElement(sW.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${a}__Alert__text`,marginRight:2,padding:2,color:t,backgroundColor:n,fontSize:"var( --ab-font-size-2)",alignItems:"center"},r),this.props.AdaptableAlerts.length>0&&Cb.createElement(sW.Flex,{alignItems:"center"},Cb.createElement(Jn,{className:`ab-${a}__Alert__info`,headerText:"",bodyText:[i],MessageType:e,useButton:!0,showEvent:"focus",hideEvent:"blur"})))}};function MMt(o,e){return{AlertDefinitions:o.Alert.AlertDefinitions,AdaptableAlerts:o.System.AdaptableAlerts}}function NMt(o){return{onDeleteAlert:e=>o(zD(e)),onDeleteAllAlert:e=>o(k_(e))}}var u1e=bt(MMt,NMt)(Pee);d();var Gh=I(require("react"));var uW=I(Ce());d();var lW=I(require("react"));var aI=class extends lW.Component{render(){return lW.createElement(ue,S({"data-name":"apply",tooltip:"Apply",iconSize:20,icon:"check",variant:"text"},this.props))}};var Dee=class extends Gh.Component{constructor(t){super(t);this.state={Disabled:!0}}componentDidMount(){if(this.props.api){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=this.getStatusColour(),n=this.props.BulkUpdateValidationResult.Column,r=Gh.createElement(Oh,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:n,showPanel:!0,showHeader:!1}),i=this.props.accessLevel=="ReadOnly"||!this.props.BulkUpdateValidationResult.IsValid||this.props.InPivotMode==!0,a={color:t,fill:"currentColor"},s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Gh.createElement(uW.Flex,{flexDirection:"row",className:$e(i?Ai:"",`ab-${s}__BulkUpdate__wrap`),flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Gh.createElement(uW.Flex,null,Gh.createElement(hb,{selectedGridCells:this.props.SelectedGridCells,newLabel:"New",existingLabel:"Existing",dropdownButtonProps:{listMinWidth:160},className:`ab-${s}__BulkUpdate__select`,disabled:i,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:n,api:this.props.api,onColumnValueChange:l=>this.onColumnValueSelectedChanged(l)})),Gh.createElement(uW.Flex,null,!i&&ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&Gh.createElement(aI,{marginLeft:2,className:`ab-${s}__BulkUpdate__apply`,onClick:()=>this.onApplyClick(),style:a,tooltip:"Apply Bulk Update",disabled:ct.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Update"),!i&&ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&Gh.createElement(Jn,{popoverMinWidth:360,className:`ab-${s}__BulkUpdate__info`,headerText:"Preview Results",bodyText:[r],MessageType:Rn.getMessageTypeByStatusColour(t),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}onColumnValueSelectedChanged(t){this.props.onBulkUpdateValueChange(t)}checkSelectedCells(){this.props.onBulkUpdateCheckSelectedCells(),ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.onBulkUpdateValueChange("")}getStatusColour(){if(ct.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate(),this.props.onBulkUpdateValueChange("")}};function LMt(o,e){var t;return{SelectedGridCells:(t=o.Grid.SelectedCellInfo)==null?void 0:t.gridCells,BulkUpdateValue:o.System.BulkUpdateValue,BulkUpdateValidationResult:o.System.BulkUpdateValidationResult,PreviewInfo:o.System.BulkUpdatePreviewInfo,InPivotMode:o.Grid.IsGridInPivotMode}}function _Mt(o){return{onBulkUpdateValueChange:e=>o(fE(e)),onBulkUpdateCheckSelectedCells:()=>o(G_()),onRunBulkUpdate:()=>o(E1(!1))}}var d1e=bt(LMt,_Mt)(Dee);d();var zu=I(require("react"));d();var c1e=I(require("react"));var p1e=o=>c1e.createElement(fb,{CellSummary:o.CellSummary});var sI=I(Ce());var Oee=class extends zu.Component{constructor(t){super(t)}componentDidMount(){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()})),this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=zl.getNames(_D).map((u,c)=>({label:u,onClick:()=>this.props.onCellSummaryOperationChange(u)})),n=this.props.api.cellSummaryApi.getCellSummaryOperationDefinitions(),r=We.IsNullOrEmpty(n)?[]:n.map(u=>({onClick:()=>this.props.onCellSummaryOperationChange(u.operationName),label:u.operationName})),i=zu.createElement(p1e,{CellSummary:this.props.CellSummary}),a=this.props.accessLevel=="ReadOnly"||this.props.api.internalApi.isGridInPivotMode()||this.props.CellSummary==null,s=()=>{if(a)return;let u=this.getOperationValue();if(u!=null)return this.props.viewType==="ToolPanel"?zu.createElement(sI.Flex,{className:`ab-${l}__CellSummary__value`,style:{borderRadius:"var(--ab__border-radius)"},marginRight:2,padding:2,color:"var( --ab-color-text-on-info)",backgroundColor:"var(--ab-color-info)",fontSize:"var( --ab-font-size-2)"},u):zu.createElement(sI.Flex,{flex:1,marginRight:2,marginLeft:1,justifyContent:"center",className:`ab-${l}__CellSummary__value`,color:"var(--ab-color-text-on-primary)"},u)},l=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return zu.createElement(sI.Flex,{flexDirection:"row",className:a?Ai:`ab-${l}__CellSummary__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},zu.createElement(sI.Flex,{flex:1},zu.createElement(Qe,{style:{fontSize:"small",width:"100%"},marginRight:2,columns:["label"],className:`ab-${l}__CellSummary__select`,items:[...t,...r],disabled:a,variant:"outlined",tone:"neutral"},this.props.CellSummaryOperation)),zu.createElement(sI.Flex,{alignItems:"center"},zu.createElement(zu.Fragment,null,s(),this.props.CellSummary!=null&&this.props.CellSummary.Count>0&&zu.createElement(Jn,{popoverMaxWidth:360,className:"ab-ToolPanel__CellSummary__info",bodyText:[i],useButton:!0,showEvent:"focus",hideEvent:"blur"}))))}checkSelectedCells(){this.props.onCreateCellSummary()}getOperationValue(){return this.props.api.cellSummaryApi.getCellSummaryOperationValue(this.props.CellSummaryOperation)}};function kMt(o,e){return{SelectedCellInfo:o.Grid.SelectedCellInfo,CellSummaryOperation:o.System.CellSummaryOperation,CellSummary:o.Grid.CellSummary}}function BMt(o){return{onCellSummaryOperationChange:e=>o(H_(e)),onCreateCellSummary:()=>o(HE())}}var m1e=bt(kMt,BMt)(Oee);d();var hm=I(require("react"));d();var h1e=I(require("react"));var dW=()=>{let o=pe(),e=o.ModuleService.getModuleById(wi),t=o.api.filterApi.getColumnFilters();return h1e.createElement(iW,{abObjects:t,module:e})};var cW=I(Ce());var Fee=class extends hm.Component{constructor(e){super(e)}render(){var s,l;let e=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",t=(s=this.props.api.optionsApi.getFilterOptions())==null?void 0:s.showClearFilterButton,n=(l=this.props.api.optionsApi.getFilterOptions())==null?void 0:l.showSuspendFilterButton,r=this.props.api.filterApi.getActiveColumnFilters().length>0,i=this.props.api.filterApi.getColumnFilters().length>0,a=()=>{r?this.props.api.filterApi.suspendAllColumnFilters():this.props.api.filterApi.unSuspendAllColumnFilters()};return hm.createElement(cW.Flex,{flexDirection:"row",className:`ab-${e}__Filter__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},hm.createElement(cW.Flex,null,pt.IsNotNullOrEmpty(this.props.ColumnFilters)&&hm.createElement(Jn,{popupPadding:0,className:`ab-${e}__Filter__info`,headerText:"",bodyText:[hm.createElement(dW,null)],useButton:!0,showEvent:"focus",hideEvent:"blur",popoverMinWidth:400}),t&&hm.createElement(um,{className:`ab-${e}__Filter__clear`,marginLeft:1,marginBottom:0,marginRight:1,onClick:()=>this.onClearFilters(),tooltip:"Clear Filters",disabled:this.props.ColumnFilters.length==0,showText:this.props.viewType==="ToolPanel"},this.props.viewType==="ToolPanel"&&"Clear"),n&&hm.createElement(ue,{className:$e(`ab-${e}__Filter__suspend-button`,r&&`ab-${e}__Filter__suspend-all`,!r&&`ab-${e}__Filter__un-suspend-all`),disabled:!i,onClick:a,tone:r?"neutral":"success",variant:"text",icon:r?"pause":"play",accessLevel:this.props.accessLevel})),hm.createElement(cW.Flex,{alignItems:"center"},this.props.api.filterApi.isQuickFilterAvailable()&&hm.createElement(Ne,{className:`ab-${e}__Filter__active-check`,disabled:this.props.accessLevel==="ReadOnly"||this.props.api.internalApi.isGridInPivotMode(),marginTop:0,marginBottom:0,fontSize:2,padding:1,checked:this.props.IsQuickFilterVisible,onChange:u=>{u?this.props.onShowQuickFilterBar():this.props.onHideQuickFilterBar()}},"Quick Filter")))}onClearFilters(){this.props.api.filterApi.clearColumnFilters()}onClearColumnFilter(e){this.props.api.filterApi.clearColumnFilterForColumn(e.ColumnId)}};function VMt(o){return{ColumnFilters:qC(o),IsQuickFilterVisible:o.System.IsQuickFilterVisible}}function GMt(o){return{onHideQuickFilterBar:()=>o(bE()),onShowQuickFilterBar:()=>o(yE())}}var f1e=bt(VMt,GMt)(Fee);d();var ZA=I(require("react"));var g1e=I(Ce()),Mee=class extends ZA.Component{constructor(e){super(e)}render(){let e=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return ZA.createElement(g1e.Flex,{flexDirection:"row",className:`ab-${e}__Dashboard__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"}," ",ZA.createElement(Ne,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsCollapsed,onChange:t=>this.props.onSetDashboardCollapsed(t)},"Collapse"),"",this.props.api.optionsApi.getDashboardOptions().canFloat&&ZA.createElement(Ne,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsFloating,onChange:t=>this.props.onSetDashboardFloating(t)},"Float")," ",ZA.createElement(Ne,{className:`ab-${e}__Dashboard__hidden-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsHidden,onChange:t=>this.props.onSetDashboardHidden(t)},"Hidden"))}};function HMt(o,e){return{IsCollapsed:o.Dashboard.IsCollapsed,IsHidden:o.Dashboard.IsHidden,IsFloating:o.Dashboard.IsFloating}}function UMt(o){return{onSetDashboardCollapsed:e=>o(Ec(e)),onSetDashboardHidden:e=>o(uh(e)),onSetDashboardFloating:e=>o(wc(e))}}var C1e=bt(HMt,UMt)(Mee);d();var ju=I(require("react"));var f0=I(Ce());d();var mW=I(require("react"));var pW=class extends mW.Component{render(){return mW.createElement(ue,S({"data-name":"export",tooltip:"Export",iconSize:20,icon:"export-data",variant:"text"},this.props))}};d();var fW=I(require("react"));var hW=class extends fW.Component{render(){return fW.createElement(ue,S({"data-name":"schedule",tooltip:"Schedule",iconSize:20,icon:"schedule",variant:"text"},this.props))}};d();var JA="Select Report",lI="Select Destination";var Nee=class extends ju.Component{render(){let e=this.props.api.exportApi.getReportByName(this.props.CurrentReport),t=ct.IsNullOrEmpty(this.props.CurrentReport)?JA:this.props.CurrentReport,n=this.getAllReportNames(),r=n.map(m=>({label:m,value:m,onClick:()=>this.onSelectedReportChanged(m)}));e&&!n.includes(e.Name)&&(e=void 0,t=JA);let i=this.props.api.exportApi.getDestinationByName(this.props.CurrentDestination),a=ct.IsNullOrEmpty(this.props.CurrentDestination)?lI:this.props.CurrentDestination,s=[...this.props.api.exportApi.getAvailableExportDestinations().map(m=>({label:m,onClick:()=>this.onSelectedDestinationChanged(m),disabled:!this.props.api.exportApi.internalApi.isDestinationEnabled(m)})),...this.props.api.exportApi.getCustomDestinations().map(m=>({label:m.name,onClick:()=>this.onSelectedDestinationChanged(m.name)}))];(e==null?void 0:e.Name)===is&&s.forEach(m=>m.disabled=m.label!=="Excel"),i&&!s.filter(m=>!m.disabled).map(m=>m.label).includes(this.props.CurrentDestination)&&(i=void 0,a=lI);let l=jt.getAppropriateAccessLevel(e,this.props.accessLevel),u="Are you sure you want to delete '";e!=null&&(u=u+e.Name+"'?");let c=()=>{this.props.onApplyExport(e,this.isCustomDestination(i)?i.name:i)},p=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return ju.createElement(f0.Flex,{style:{gap:5},flexDirection:"row",className:`ab-${p}__Export__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},ju.createElement(f0.Flex,{flex:1},ju.createElement(Qe,{disabled:n.length==0,width:"100%",fontSize:"small",items:r,columns:["label"],className:`ab-${p}__Export__select`,onClear:()=>this.onSelectedReportChanged(null),showClearButton:!!e,variant:"outlined",marginRight:2},t)),ju.createElement(f0.Flex,{flex:1},ju.createElement(Qe,{disabled:t===JA,width:"100%",fontSize:"small",items:s,columns:["label"],className:`ab-${p}__Export__export`,onClear:()=>this.onSelectedDestinationChanged(null),showClearButton:!!i,variant:"outlined",marginRight:2},a)),ju.createElement(f0.Flex,{className:$e(l=="ReadOnly"?Ai:"",`ab-${p}__Export__controls`),style:{width:"100%"}},ju.createElement(pW,{onClick:()=>c(),tooltip:"Export Report",className:`ab-${p}__Export__export`,disabled:e==null||i==null}),ju.createElement(Nh,{onClick:()=>this.props.onEditReport(this.props.moduleInfo.Popup),tooltip:"Edit Report",className:`ab-${p}__Export__edit`,disabled:e==null||this.props.api.exportApi.isExternalReport(e),accessLevel:l}),ju.createElement(Yy,{variant:"text",className:`ab-${p}__Export__new`,tone:"neutral",children:null,onClick:()=>this.props.onNewReport(this.props.moduleInfo.Popup),tooltip:"Create New Report",accessLevel:l}),ju.createElement(Lh,{tooltip:"Delete Report",className:`ab-${p}__Export__delete`,disabled:e==null,ConfirmAction:Rk(e),ConfirmationMsg:u,ConfirmationTitle:"Delete Report",accessLevel:l}),this.props.api.internalApi.getEntitlementService().isModuleFullEntitlement("Schedule")&&ju.createElement(hW,{marginLeft:1,className:`ab-${p}__Export__schedule`,onClick:()=>this.onNewReportSchedule(),tooltip:"Schedule",disabled:e==null,accessLevel:this.props.accessLevel})))}onSelectedReportChanged(e){this.props.onSelectReport(e)}onSelectedDestinationChanged(e){this.props.onSelectDestination(e)}getAllReportNames(){let e=[...this.props.api.exportApi.getAvailableSystemReports(),...this.props.UserReports.map(n=>n.Name)],t=this.props.api.exportApi.getExternalReports();return We.IsNotNullOrEmpty(t)&&e.push(...t.map(n=>n.name)),e}isCustomDestination(e){return!!(e!=null&&e.name)}onNewReportSchedule(){let e=it.CreateReportSchedule(this.props.CurrentReport);this.props.onNewReportSchedule(e)}};function WMt(o){return{CurrentReport:o.Export.CurrentReport,CurrentDestination:o.Export.CurrentDestination,UserReports:o.Export.Reports}}function zMt(o){return{onApplyExport:(e,t)=>o(jE(e,t)),onSelectReport:e=>o(WE(e)),onSelectDestination:e=>o(KE(e)),onNewReport:e=>o(En(Hi,e,{action:"New",source:"Toolbar"})),onEditReport:e=>o(En(Hi,e,{action:"Edit",source:"Toolbar"})),onNewReportSchedule:e=>o(En(Cd,"SchedulePopup",{action:"New",source:"Toolbar",value:e}))}}var y1e=bt(WMt,zMt)(Nee);d();var $c=I(require("react"));var CW=I(Ce());d();var gW=I(require("react"));var yb=class extends gW.Component{render(){return gW.createElement(ue,S({"data-name":"save",iconSize:20,icon:"save",tooltip:"Save",variant:"text"},this.props))}};var Lee=class extends $c.Component{render(){let e=this.props.Layouts.find(l=>l.Name==this.props.CurrentLayoutName||l.Uuid==this.props.CurrentLayoutName),t=this.props.accessLevel,n=this.props.accessLevel,r=jt.getAppropriateAccessLevel(e,this.props.accessLevel),i=!this.props.api.layoutApi.shouldAutoSaveLayouts(),a=this.props.Layouts.map((l,u)=>T(S({},l),{label:l.Name,value:l.Name,onClick:()=>this.props.onSelectLayout(l.Name)})),s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return $c.createElement(CW.Flex,{flexDirection:"row",className:`ab-${s}__Layout__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},$c.createElement(CW.Flex,{flex:1},$c.createElement(Qe,{marginRight:2,columns:["label"],style:{width:"100%",fontSize:"small"},className:`ab-${s}__Layout__select`,items:a,disabled:a.length==0},e?e.Name:null)),$c.createElement(CW.Flex,{flexDirection:"row",className:$e(this.props.accessLevel=="ReadOnly"?Ai:"",`ab-${s}__Layout__wrap`)},i&&$c.createElement(yb,{className:`ab-${s}__Layout__save`,onClick:()=>this.onSaveLayout(),tooltip:"Save Changes to Current Layout",disabled:!this.props.CanSave,accessLevel:r}),$c.createElement(Nh,{onClick:()=>this.props.api.layoutApi.showLayoutEditor(e.Name),tooltip:"Edit Layout",className:`ab-${s}__Layout__edit`,accessLevel:r}),$c.createElement(x3,{onClick:()=>this.props.api.layoutApi.showLayoutEditor(e.Name,"Clone"),tooltip:"Clone Layout",className:`ab-${s}__Layout__clone`,tone:"neutral",variant:"text",children:null,accessLevel:t}),$c.createElement(Yy,{children:null,tone:"neutral",variant:"text",className:`ab-${s}__Layout__new`,onClick:()=>this.props.api.layoutApi.showLayoutEditor(null,"New"),tooltip:"Create a new Layout",accessLevel:n}),$c.createElement(Lh,{tooltip:"Delete Layout",disabled:this.props.Layouts.length<=1,className:`ab-${s}__Layout__delete`,ConfirmAction:GE(e),ConfirmationMsg:"Are you sure you want to delete '"+this.props.CurrentLayoutName+"'?",ConfirmationTitle:"Delete Layout",accessLevel:r})))}onSaveLayout(){let e=this.props.CurrentDraftLayout;e&&this.props.onSaveLayout(e)}};function jMt(o,e){let t=o.Layout.CurrentLayout,n=o.Layout.Layouts||[],r=n.find(a=>a.Name===t),i=e.api;return{CurrentLayoutName:t,CurrentDraftLayout:o.Grid.CurrentLayout||r,Layouts:n,CanSave:o.Grid.CurrentLayout&&!i.layoutApi.internalApi.areDraftAndCurrentLayoutEqual()}}function KMt(o){return{onSelectLayout:e=>o(ih(e)),onSaveLayout:e=>{o(rh(e)),o(ah(null))}}}var b1e=bt(jMt,KMt)(Lee);d();var ar=I(require("react"));var AW=I(Ce());d();var yW=I(require("react"));var g0=class extends yW.Component{render(){return yW.createElement(ue,S({"data-name":"expand",tooltip:"Expand",iconSize:20,icon:"arrow-expand",variant:"text"},this.props))}};d();var bW=I(require("react"));var fm=class extends bW.Component{render(){return bW.createElement(ue,S({"data-name":"play",tooltip:nt.IsNullOrEmpty(this.props.tooltip)?"Play":this.props.tooltip,iconSize:20,icon:"play",variant:"text"},this.props))}};d();var vW=I(require("react"));var SW=class extends vW.Component{render(){return vW.createElement(ue,S({"data-name":"invalid",tooltip:"Invalid",iconSize:20,icon:"warning"},this.props))}};var _ee=class extends ar.Component{constructor(e){super(e),this.state={isAdaptableReady:!1,expression:this.props.CurrentQuery||""}}componentDidMount(){this.props.api.eventApi.on("AdaptableReady",()=>{this.setState({isAdaptableReady:!0})})}componentDidUpdate(e){e.CurrentQuery!==this.props.CurrentQuery&&this.setState({expression:this.props.CurrentQuery})}render(){if(this.state.isAdaptableReady===!1)return null;let e=this.state.expression==""||this.props.api.internalApi.getQueryLanguageService().validateBoolean(this.state.expression,cr).isValid,t=this.props.NamedQueries.find(m=>m.BooleanExpression==this.state.expression)!=null,r=[...pt.sortArrayWithProperty("Asc",this.props.NamedQueries,"Name").map(m=>({label:m.Name,icon:m.BooleanExpression===this.props.CurrentQuery?ar.createElement(mo,{name:"check"}):null,onClick:()=>this.runQuery(m.BooleanExpression)})),...pt.IsNotNullOrEmpty(this.props.CachedQueries)?[{separator:!0}]:[],...pt.IsNotNullOrEmpty(this.props.CachedQueries)?this.props.CachedQueries.slice(-5).reverse().map(m=>({label:`Query at ${m.time.toLocaleTimeString("en-US")}`,icon:ar.createElement(mo,{name:"history"}),onClick:()=>this.props.onRunQuery(m.expression)})):[]],i=this.props.api.columnApi.getColumns().map(m=>({label:m.friendlyName,onClick:()=>this.setState({expression:this.state.expression+`[${m.columnId}]`})})),a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",s=m=>{m.key==="Enter"&&this.runQuery()},l=()=>this.props.viewType==="Toolbar"?ar.createElement(Ry,{marginRight:1,width:600},ar.createElement(g0,{variant:"text",tone:"neutral",onClick:()=>this.props.api.queryApi.expandCurrentQuery(this.state.expression),tooltip:"Expand",marginLeft:1}),ar.createElement(mt,{type:"text","data-name":"query-input",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:m=>this.setState({expression:m.target.value}),style:{fontFamily:"monospace",fontSize:12}}),e?ar.createElement(fm,{onClick:()=>this.runQuery(),tooltip:"",accessLevel:"Full",variant:"text",tone:"neutral",disabled:this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}):ar.createElement(SW,{variant:"text",tone:"neutral",tooltip:"Invalid Query",marginRight:1})," ",this.props.CurrentQuery!==""&&ar.createElement(um,{onClick:()=>this.clearQuery(),tooltip:"Clear Query",accessLevel:"Full"})):ar.createElement(mt,{type:"text",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:m=>this.setState({expression:m.target.value}),style:{width:"100%"}}),u=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(cr),c=ar.createElement(yb,{onClick:()=>this.saveQuery(),tooltip:"Save as New Query",accessLevel:u,disabled:!e||t||this.state.expression=="",variant:"text",tone:"neutral",marginRight:1}),p=()=>this.props.viewType==="Toolbar"?ar.createElement(ar.Fragment,null,c,ar.createElement(Qe,{variant:"text",items:i,marginRight:1,tooltip:"Pick Columns"},ar.createElement(mo,{name:"list"})),ar.createElement(Qe,{disabled:pt.IsNullOrEmpty(r),variant:"text",items:r,marginRight:1,tooltip:"Load Query",icon:"folder-open"})," "):ar.createElement(ar.Fragment,null,c,ar.createElement(g0,{variant:"text",tone:"neutral",onClick:()=>this.props.api.queryApi.expandCurrentQuery(this.state.expression),tooltip:"Expand",marginLeft:1}),ar.createElement(um,{onClick:()=>this.clearQuery(),tooltip:"Clear Query",accessLevel:"Full",disabled:this.state.expression==""}),ar.createElement(fm,{onClick:()=>this.runQuery(),tooltip:"Run Query",accessLevel:"Full",variant:"text",tone:"neutral",disabled:!e||this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}),ar.createElement(Qe,{variant:"text",disabled:pt.IsNullOrEmpty(r),items:r,marginRight:1,tooltip:"Load Query",icon:"folder-open"}));return ar.createElement(AW.Flex,{onKeyDown:s,flexDirection:"row",className:`ab-${a}__Query__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},ar.createElement(AW.Flex,null,l()),ar.createElement(AW.Flex,null,p()))}clearQuery(){this.props.onRunQuery("")}saveQuery(){this.props.onShowNamedQueries(this.state.expression,this.props.moduleInfo.Popup)}onSelectedQueryChanged(e){this.props.onRunQuery(e)}runQuery(e=this.state.expression){if(nt.IsNullOrEmpty(e)&&nt.IsNotNullOrEmpty(this.props.CurrentQuery)){this.props.onRunQuery("");return}if(!!this.props.api.internalApi.getQueryLanguageService().validateBoolean(e,cr).isValid){if(nt.IsNotNullOrEmpty(this.state.expression)){let t={expression:this.state.expression,time:new Date};t&&this.props.onAddCachedQuery(t)}this.props.onRunQuery(e)}}};function QMt(o){return{CurrentQuery:o.Query.CurrentQuery,NamedQueries:o.Query.NamedQueries,CachedQueries:o.System.CachedQueries}}function $Mt(o){return{onAddCachedQuery:e=>o(Lme(e)),onRunQuery:e=>o(Ov(e)),onShowNamedQueries:(e,t)=>o(En(cr,t,{action:"New",source:"Toolbar",value:e}))}}var S1e=bt(QMt,$Mt)(_ee);d();var v1e=I(require("react"));d();var kee=I(require("react"));var xW=o=>{let e=pe(),t=_t(s=>s.QuickSearch.QuickSearchText),n=yt(),r=kee.default.useCallback(s=>n(Kp(s)),[]),[i,a]=MT({QuickSearchText:t,onRunQuickSearch:r});return kee.default.createElement(Cl,{type:"text",autoFocus:o.autoFocus,placeholder:e.api.optionsApi.getQuickSearchOptions().quickSearchPlaceholder,className:o.className,value:i,OnTextChange:a,style:{height:"100%"},inputStyle:{width:"7rem"}})};var A1e=o=>{let e=o.viewType==="ToolPanel"?"DashboardToolbar":"ToolPanel";return v1e.createElement(xW,{className:`ab-${e}__QuickSearch__text`})};d();var gm=I(require("react"));var RW=I(Ce());var Bee=class extends gm.Component{constructor(t){super(t);this.state={SelectedColumnId:""}}componentDidMount(){if(this.props.api){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=this.getStatusColour(),n=ct.IsNotNullOrEmpty(this.state.SelectedColumnId)?this.props.api.columnApi.getColumnWithColumnId(this.state.SelectedColumnId):null,r=gm.createElement(Oh,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:n,showPanel:!0,showHeader:!1}),i=zl.getNames(Jm).map((c,p)=>({onClick:()=>this.props.onSmartEditOperationChange(c),label:c})),a=this.props.api.smartEditApi.getSmartEditCustomOperations();a!=null&&a.length&&i.push(...a.map(c=>({onClick:()=>this.props.onSmartEditOperationChange(c),label:c.name})));let s={color:t,fill:"currentColor"},l=this.props.accessLevel=="ReadOnly"||!this.props.IsValidSelection||this.props.InPivotMode==!0,u=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return gm.createElement(RW.Flex,{flexDirection:"row",className:`ab-${u}__SmartEdit__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},gm.createElement(RW.Flex,null,gm.createElement(Qe,{className:`ab-${u}__SmartEdit__select`,marginRight:2,items:i,style:{fontSize:"small"},columns:["label"],disabled:l,variant:"outlined"},typeof this.props.SmartEditOperation=="object"?this.props.SmartEditOperation.name:this.props.SmartEditOperation),gm.createElement(mt,{style:{width:"5rem"},className:`ab-${u}__SmartEdit__select-value`,value:this.props.SmartEditValue.toString(),type:"number",placeholder:"Enter a Number",step:"any",onChange:c=>this.onSmartEditValueChange(c),disabled:l,marginRight:2})),gm.createElement(RW.Flex,null,!l&&gm.createElement(aI,{onClick:()=>this.onApplyClick(),style:s,className:`ab-${u}__SmartEdit__apply`,tooltip:"Apply Smart Edit",disabled:ct.IsNullOrEmpty(`${this.props.SmartEditValue}`)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Apply Smart Edit"),!l&&gm.createElement(Jn,{headerText:"Preview Results",className:`ab-${u}__SmartEdit__info`,bodyText:[r],MessageType:Rn.getMessageTypeByStatusColour(t),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}checkSelectedCells(){this.props.onSmartEditCheckSelectedCells()}onSmartEditValueChange(t){let n=t.target;this.props.onSmartEditValueChange(Number(n.value))}getStatusColour(){if(ct.IsNotNullOrEmpty(`${this.props.SmartEditValue}`)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplySmartEdit()}onApplySmartEdit(){this.props.onRunSmartEdit()}};function qMt(o,e){return{SmartEditValue:o.System.SmartEditValue,SmartEditOperation:o.System.SmartEditOperation,IsValidSelection:o.System.IsValidSmartEditSelection,PreviewInfo:o.System.SmartEditPreviewInfo,InPivotMode:o.Grid.IsGridInPivotMode}}function YMt(o){return{onSmartEditValueChange:e=>o(hE(e)),onSmartEditOperationChange:e=>o(JS(e)),onSmartEditCheckSelectedCells:()=>o(V_()),onRunSmartEdit:()=>o(j1(!1))}}var x1e=bt(qMt,YMt)(Bee);d();var C0=I(require("react")),Vee=I(Ce());d();var EW=o=>{var n;let e=Uo.getColorByMessageType((n=o==null?void 0:o.statusType)!=null?n:"Success"),t=o?Uo.getButtonTextColourForMessageType(o.statusType):"";return{background:e,color:t}};var Gee=class extends C0.Component{constructor(e){super(e)}render(){let e=this.props.api.systemStatusApi.getCurrentSystemStatusMessageInfo(),{color:t,background:n}=EW(e),r=e==null?void 0:e.statusMessage,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return C0.createElement(Vee.Flex,{flexDirection:"row",className:`ab-${i}__SystemStatus__wrap`},C0.createElement(Vee.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${i}__SystemStatus__text`,marginRight:2,padding:2,color:t,backgroundColor:r?n:"",fontSize:"var( --ab-font-size-2)",alignItems:"center","data-name":"system-status-message"},r||"0 Messages"))}};function XMt(o){return{SystemStatusMessageInfos:o.System.SystemStatusMessages}}function ZMt(o){return{}}var R1e=bt(XMt,ZMt)(Gee);d();var y0=I(require("react"));var Hee=class extends y0.Component{render(){var s,l,u,c;let e=(u=(l=(s=this.props.api)==null?void 0:s.themeApi)==null?void 0:l.getThemes)==null?void 0:u.call(l),t=e.map((p,m)=>(typeof p=="string"&&(p={Name:p,Description:p}),{label:p.Description,onClick:()=>this.onSelectTheme(p)})),n=e.find(p=>p.Name===this.props.CurrentTheme),r=(c=n==null?void 0:n.Description)!=null?c:this.props.CurrentTheme,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",a=this.props.viewType==="Toolbar"?{maxWidth:"25rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:"small"}:{minWidth:"100%",fontSize:"small"};return y0.createElement("div",{className:$e(this.props.accessLevel=="ReadOnly"?Ai:"",`ab-${i}__Theme__wrap`)},y0.createElement(Qe,{className:`ab-${i}__Theme__select`,style:a,items:t,columns:["label"],accessLevel:this.props.accessLevel},r))}onSelectTheme(e){this.props.onSelectTheme(e.Name)}};function JMt(o,e){return{SystemThemes:o.Theme.SystemThemes,CurrentTheme:o.Theme.CurrentTheme,UserThemes:o.Theme.UserThemes}}function e0t(o){return{onSelectTheme:e=>o($E(e))}}var E1e=bt(JMt,e0t)(Hee);d();var b0=I(require("react"));var w1e=I(Ce());var Uee=class extends b0.Component{getCurrentDataSet(){return ct.IsNullOrEmpty(this.props.CurrentDataSetName)?null:this.getDataSets().find(e=>e.name==this.props.CurrentDataSetName)}getDataSets(){return this.props.api.dataSetApi.getDataSets()}render(){var i,a;let e="Select Data Set",t=(a=(i=this.getCurrentDataSet())==null?void 0:i.name)!=null?a:e,n=this.getDataSets().map(s=>({value:s.name,label:s.name,onClick:()=>this.onSelectedDataSetChanged(s.name)})),r=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return b0.createElement(w1e.Flex,{flexDirection:"row",className:`ab-${r}__DataSet__wrap`},b0.createElement(Qe,{marginRight:2,columns:["label"],style:{minWidth:160,fontSize:"small"},className:`ab-${r}__DataSet__select`,items:n,variant:"outlined",tone:"neutral"},t))}onSelectedDataSetChanged(e){if(ct.IsNullOrEmpty(e))this.setState({CurrentDataSet:null});else{let t=this.getDataSets().find(n=>n.name==e);this.setState({CurrentDataSet:t}),this.props.onSelectDataSet(t)}}};function t0t(o){return{CurrentDataSetName:o.System.CurrentDataSet}}function o0t(o){return{onSelectDataSet:e=>o(KD(e))}}var T1e=bt(t0t,o0t)(Uee);d();var yr=I(require("react"));d();var wW=I(require("react"));var ex=require("react");d();var I1e=(o,e,t,n)=>{let r=o.changeHistoryButton;if(!r||Array.isArray(r)&&r.length===0)return null;Array.isArray(r)||(r=[r]);let i=u=>u.adaptableApi.gridApi.isGroupRowNode(u.rowNode),a=u=>{var p;let c=u.rowNode;if(u.adaptableApi.gridApi.isGroupRowNode(c)){let m=(p=u.rowNode)==null?void 0:p.childrenAfterFilter;m&&m.forEach(h=>t(h))}else t(c)},s=u=>{let c=u.rowNode;n(c)},l=u=>{let c=u.rowNode.data.changeInfo;return T(S({},u),{isGroupNode:i(u),undoDataChange:()=>a(u),clearRow:()=>s(u),dataChangedInfo:c,parentAdapTableApi:e})};return r.map(u=>({label:(c,p)=>typeof u.label!="function"?u.label:u.label(c,l(p)),buttonStyle:(c,p)=>typeof u.buttonStyle!="function"?u.buttonStyle:u.buttonStyle(c,l(p)),tooltip:(c,p)=>typeof u.tooltip!="function"?u.tooltip:u.tooltip(c,l(p)),disabled:(c,p)=>typeof u.disabled!="function"?u.disabled:u.disabled(c,l(p)),onClick:(c,p)=>{u.action==="undo"&&a(l(p)),u.action==="clear"&&s(l(p)),typeof u.onClick=="function"&&u.onClick(c,l(p))},hidden:(c,p)=>typeof u.hidden!="function"?u.hidden:u.hidden(c,l(p)),icon:u.icon}))};var D1e=o=>{let{changeHistoryLog:e,adaptableContainerId:t,agGridContainerId:n,onUndoChange:r,onClearRow:i}=o,a=pe(),[s,l]=(0,ex.useState)(null),u=(0,ex.useRef)(null);u.current=s;let c=a.api.internalApi.getEntitlementService().isModuleFullEntitlement(gd),p=Ed(e,e);return(0,ex.useEffect)(()=>((async()=>{let h=r0t(a,e),C=n0t(a,h,t,n,c,r,i),y=a.getAgGridRegisteredModules(),v={gridOptions:h,modules:y},x=Object.getPrototypeOf(a).constructor.init,A=await x(C,v);l(A)})(),()=>{var h;(h=u.current)==null||h.internalApi.getAdaptableInstance().destroy({unmount:!0,destroyApi:!0})}),[]),(0,ex.useEffect)(()=>{let m=u.current;if(!m)return;let h=Object.keys(e).filter(R=>{let w=p[R];return w?e[R].changedAt!==w.changedAt:!0}),C=Object.keys(p).filter(R=>{let w=e[R];return w?p[R].changedAt!==w.changedAt:!0}),y=P1e(e,h),v=P1e(p,C),x=zee(y,a),A=zee(v,a);m.gridApi.getAgGridInstance().api.applyTransactionAsync({add:x,remove:A})},[e]),wW.createElement(wW.Fragment,null)},n0t=(o,e,t,n,r,i,a)=>{var C,y,v;let s=o.adaptableOptions,l=o.api.themeApi.getCurrentTheme(),u=x=>{let A=x==null?void 0:x.data,R=A==null?void 0:A.changeKey;R&&i(R)},c=x=>{let A=x==null?void 0:x.data,R=A==null?void 0:A.changeKey;R&&a(R)},p=I1e((C=o.adaptableOptions)==null?void 0:C.dataChangeHistoryOptions,o.api,u,c),m;p&&(m={actionColumns:[{columnId:"undoActionColumn",friendlyName:" ",includeGroupedRows:!0,actionColumnSettings:{suppressMenu:!0,suppressMovable:!0},actionColumnButton:p}]});let h={_gridOptions:e,primaryKey:"primaryKey",licenseKey:s.licenseKey,userName:`${s.userName}`,adaptableId:`${s.adaptableId}::DataChangeHistory`,containerOptions:{adaptableContainer:t,agGridContainer:n},entitlementOptions:{defaultAccessLevel:"Hidden"},filterOptions:{quickFilterTrigger:"click"},layoutOptions:{createDefaultLayout:!1,autoSizeColumnsInLayout:!0},actionColumnOptions:m,predefinedConfig:{Layout:{Revision:Date.now(),CurrentLayout:"DataChangeHistoryLayout",Layouts:[{Name:"DataChangeHistoryLayout",Columns:["changeInfo.primaryKeyValue","changedColumnLabel","changeInfo.oldValue","changeInfo.newValue","changeInfo.changedAt","changeTriggerLabel","undoActionColumn"],ColumnSorts:[{ColumnId:"changeInfo.changedAt",SortOrder:"Desc"}],ColumnWidthMap:{undoActionColumn:110},PinnedColumnsMap:{undoActionColumn:"right"}}]},FormatColumn:{Revision:Date.now(),FormatColumns:[{Scope:{ColumnIds:["changeInfo.changedAt"]},DisplayFormat:{Formatter:"DateFormatter",Options:{Pattern:`${(v=(y=s.userInterfaceOptions)==null?void 0:y.dateInputOptions)==null?void 0:v.dateFormat} HH:mm:ss`}}}]},Theme:{Revision:Date.now(),CurrentTheme:l}}};if(!r){let x=h.predefinedConfig.Layout.Layouts[0].Columns;x.includes("undoActionColumn")&&(h.predefinedConfig.Layout.Layouts[0].Columns=x.filter(A=>A!=="undoActionColumn"))}return h},r0t=(o,e)=>{var r,i;let t=(i=(r=o.api.columnApi.getPrimaryKeyColumn())==null?void 0:r.friendlyName)!=null?i:"Row ID";return{suppressLoadingOverlay:!0,overlayNoRowsTemplate:'<div style="font-size: var(--ab-font-size-2);color: var(--ab-color-text-on-primary);">No Data Changes</div>',defaultColDef:{floatingFilter:!0,filter:!0,sortable:!0,resizable:!0,enableRowGroup:!0,editable:!1,enablePivot:!1,enableValue:!1,lockPinned:!0,suppressAutoSize:!0,menuTabs:["generalMenuTab","filterMenuTab"]},autoGroupColumnDef:{sortable:!0},columnDefs:[{field:"primaryKey",type:["abColDefString"],hide:!0},{headerName:`Row (${t})`,field:"changeInfo.primaryKeyValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Column",field:"changedColumnLabel",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Previous",field:"changeInfo.oldValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"New",field:"changeInfo.newValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Changed",field:"changeInfo.changedAt",type:["abColDefDate"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Source",field:"changeTriggerLabel",type:["abColDefString"],suppressAutoSize:!1,flex:2,initialFlex:2}],rowData:zee(e,o),enableRangeSelection:!0,suppressColumnVirtualisation:!1,sideBar:!1,rowSelection:"multiple",skipHeaderOnAutoSize:!0}},zee=(o={},e)=>Object.entries(o).map(([t,n])=>({primaryKey:`${t}::${n.changedAt}`,changeKey:t,changeTriggerLabel:a0t(n),changedColumnLabel:i0t(n.column.columnId,e),changeInfo:n})),Wee=new Map,i0t=(o,e)=>{var t,n;return Wee.has(o)||Wee.set(o,(n=(t=e.api.columnApi.getColumnWithColumnId(o))==null?void 0:t.friendlyName)!=null?n:o),Wee.get(o)},a0t=o=>o.trigger==="tick"?"Ticking":"User Edit",P1e=(o,e)=>{let t={};return e.forEach(n=>{t[n]=o[n]}),t};var Wd=I(Ce());d();var TW=I(require("react"));var uI=class extends TW.Component{render(){let e=this.props.fillColor==="red"?{name:"pause",style:{fill:"red"}}:{name:"pause"};return TW.createElement(ue,S({"data-name":"pause",tooltip:"Pause",iconSize:20,icon:e,variant:"text"},this.props))}};d();var IW=I(require("react"));var dI=class extends IW.Component{render(){return IW.createElement(ue,S({"data-name":"stop",tooltip:"Stop",iconSize:20,icon:"stop",variant:"text"},this.props))}};var jee=class extends yr.Component{constructor(e){super(e),this.state={dataChangeHistoryAdaptableApi:void 0}}render(){let{changeHistoryMode:e,activationTime:t,suspensionTime:n,onChangeHistoryEnable:r,onChangeHistoryDisable:i,onChangeHistorySuspend:a,onChangeHistoryResume:s}=this.props,l="dataChangeHistoryAdaptableContainer",u="dataChangeHistoryAgGridContainer",c=e==="ACTIVE",p=e==="INACTIVE",m=e==="SUSPENDED",h=yr.createElement(Wd.Flex,{className:"ab-DataChangeHistoryPopup--button-panel",padding:2,style:{gap:"var(--ab-space-1)"}},p&&yr.createElement(fm,{className:"ab-DataChangeHistoryPopup--button-activate","data-name":'data-change-history--button-activate"',variant:"raised",tone:"accent",tooltip:"",onClick:()=>r()},"Activate"),m&&yr.createElement(fm,{className:"ab-DataChangeHistoryPopup--button-resume","data-name":"data-change-history--button-resume",variant:"outlined",tooltip:"Resume tracking data changes",onClick:()=>s()},"Resume"),c&&yr.createElement(uI,{className:"ab-DataChangeHistoryPopup--button-suspend","data-name":"data-change-history--button-suspend",variant:"outlined",tooltip:"Suspend tracking data changes",onClick:()=>a()},"Suspend"),(c||m)&&yr.createElement(dI,{className:"ab-DataChangeHistoryPopup--button-deactivate","data-name":"data-change-history--button-deactivate",variant:"outlined",tooltip:"Deactivate data change tracking",onClick:()=>i()},"Deactivate")),C=`${this.props.api.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat} HH:mm:ss`,y=yr.createElement(Wd.Flex,{className:"ab-DataChangeHistoryPopup--status-panel",alignItems:"center",style:{gap:"var(--ab-space-1)"}},c&&yr.createElement(yr.Fragment,null,yr.createElement(Wd.Text,{className:"ab-DataChangeHistoryPanel--status-active",style:{color:"var(--ab-color-success)",fontWeight:"bold"}},"Active"),!!t&&yr.createElement(Wd.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",aa(t,{Pattern:C}),")")),m&&yr.createElement(yr.Fragment,null,yr.createElement(Wd.Text,{className:"ab-DataChangeHistoryPopup--status-suspended",style:{color:"var(--ab-color-warn)",fontWeight:"bold"}},"Suspended"),!!n&&yr.createElement(Wd.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",aa(n,{Pattern:C}),")")),p&&yr.createElement(Wd.Text,{className:"ab-DataChangeHistoryPopup--status-disabled",fontSize:2})),v=R=>{let w=this.props.changeHistoryLog[R];w&&this.props.api.dataChangeHistoryApi.undoDataChangeHistoryEntry(w)},x=R=>{let w=this.props.changeHistoryLog[R];w&&this.props.api.dataChangeHistoryApi.clearDataChangeHistoryEntry(w)},A=this.props.api.themeApi.getAgGridCurrentThemeName();return yr.createElement(ha,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},yr.createElement(Wd.Flex,{className:"ab-DataChangeHistoryPopup",flexDirection:"column",style:{height:"100%"}},yr.createElement(Wd.Flex,{style:{color:"var(--ab-dashboard__color)",background:"var(--ab-dashboard__background)"}},yr.createElement(Wd.Flex,{flexDirection:"row"},h,y)),yr.createElement(Wd.Flex,{className:"ab-DataChangeHistoryPopup--grid","data-name":"data-change-history--grid",flex:1,alignSelf:"stretch",flexDirection:"column"},yr.createElement("div",{id:l}),yr.createElement("div",{id:u,className:A,style:{height:"100%"}}),yr.createElement(D1e,{adaptableContainerId:l,agGridContainerId:u,changeHistoryLog:this.props.changeHistoryLog,onUndoChange:v,onClearRow:x}))))}};function s0t(o,e){return{changeHistoryLog:o.System.DataChangeHistory.logs,changeHistoryMode:o.System.DataChangeHistory.currentMode,activationTime:o.System.DataChangeHistory.enableTime,suspensionTime:o.System.DataChangeHistory.suspendTime}}function l0t(o){return{onChangeHistoryEnable:()=>o(GC()),onChangeHistoryDisable:()=>o(HC()),onChangeHistorySuspend:()=>o(gE()),onChangeHistoryResume:()=>o(CE())}}var O1e=bt(s0t,l0t)(jee);d();var hi=I(require("react"));var Cm=I(Ce());var PW=o=>{var R,w;let e=pe(),t=yt(),n=hi.useCallback(()=>t(GC()),[]),r=hi.useCallback(()=>t(HC()),[]),i=hi.useCallback(()=>t(gE()),[]),a=hi.useCallback(()=>t(CE()),[]),s=hi.useCallback(()=>{e.api.settingsPanelApi.openSettingsPanel("DataChangeHistory")},[]),{changeHistoryMode:l,activationTime:u,suspensionTime:c}=_t(P=>({changeHistoryMode:P.System.DataChangeHistory.currentMode,activationTime:P.System.DataChangeHistory.enableTime,suspensionTime:P.System.DataChangeHistory.suspendTime})),p=l==="ACTIVE",m=l==="INACTIVE",h=l==="SUSPENDED",C=(R=o.gap)!=null?R:"var(--ab-space-1)",y=(w=o.buttonsPaddingY)!=null?w:2,v=hi.createElement(Cm.Flex,{className:"ab-DataChangeHistoryPanel--button-panel",paddingY:y,style:{gap:C}},m&&hi.createElement(fm,{className:"ab-DataChangeHistoryPanel--button-activate","data-name":"data-change-history--button-activate",tooltip:"",onClick:()=>n()}),h&&hi.createElement(fm,{className:"ab-DataChangeHistoryPanel--button-resume","data-name":"data-change-history--button-resume",tooltip:"Resume tracking data changes",onClick:()=>a()}),p&&hi.createElement(uI,{className:"ab-DataChangeHistoryPanel--button-suspend","data-name":"data-change-history--button-suspend",tooltip:"Suspend tracking data changes",onClick:()=>i()}),(p||h)&&hi.createElement(dI,{className:"ab-DataChangeHistoryPanel--button-deactivate","data-name":"data-change-history--button-deactivate",tooltip:"Deactivate data change tracking",onClick:()=>r()})),x=`${e.api.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat} HH:mm:ss`,A=hi.createElement(Cm.Flex,{className:"ab-DataChangeHistoryPanel--status-panel",alignItems:"center",style:{gap:C}},p&&hi.createElement(kF,{label:!!u&&`since ${aa(u,{Pattern:x})}`},hi.createElement(Cm.Text,{className:"ab-DataChangeHistoryPanel--status-active",fontSize:2,style:{color:"var(--ab-color-success)"}},"Active")),h&&hi.createElement(kF,{label:!!c&&`since ${aa(c,{Pattern:x})}`},hi.createElement(Cm.Text,{className:"ab-DataChangeHistoryPanel--status-suspended",fontSize:2,style:{color:"var(--ab-color-warn)"}},"Suspended")),m&&hi.createElement(Cm.Text,{className:"ab-DataChangeHistoryPanel--status-disabled",fontSize:2},"Activate Data Tracking"));return hi.createElement(Cm.Flex,{flexDirection:"row"},v,A,hi.createElement(Cm.Flex,{ml:2,alignItems:"center"},hi.createElement(ue,{onClick:s,variant:"text"},hi.createElement(mo,{name:"open-in-new"}),hi.createElement(Cm.Box,{ml:1},"Show"))))};d();var tx=I(require("react"));var Kee=I(Ce());var F1e=o=>{let e=o.viewType==="Toolbar",t=e?"DashboardToolbar":"ToolPanel";return tx.createElement(Kee.Flex,{flexDirection:e?"row":"column",className:$e(o.accessLevel=="ReadOnly"?Ai:"",`ab-${t}__StateManagement__wrap`)},tx.createElement(Kee.Flex,{flexDirection:"row"},tx.createElement(Z3,{tooltip:"Load Predefined Config",variant:"text",icon:"upload",onLoad:n=>o.api.configApi.reloadPredefinedConfig(n),accessLevel:o.accessLevel},!e&&"Load"),tx.createElement(J3,{icon:"delete",tooltip:"Clear User State",variant:"text",onClick:()=>o.api.configApi.reloadPredefinedConfig(),accessLevel:o.accessLevel},!e&&"Clear")),tx.createElement(rI,{api:o.api,type:"adaptableState"},"All State"),tx.createElement(rI,{api:o.api,type:"predefinedConfig"},"Predefined Config"))};d();var bb=I(require("react"));var M1e=o=>{let e=_t(OE),t=pe(),n=bb.useMemo(()=>e.map(s=>({Name:s.Key,Items:s.StatusBarPanels})),[e]),r=bb.useCallback(s=>{let l=s.map(u=>{let c=e.find(p=>p.Key===u.Name);return T(S({},c),{StatusBarPanels:u.Items})});t.api.statusBarApi.setStatusBarPanels(l)},[e]),i=i0e.filter(s=>{let l=t.ModuleService.getModuleById(s);return l&&l.isModuleAvailable()}).map(s=>{let l=t.ModuleService.getModuleById(s);return{Id:s,Title:l.moduleInfo.FriendlyName}}),a=o.accessLevel==="ReadOnly";return bb.createElement(ha,{headerText:o.moduleInfo.FriendlyName,glyphicon:o.moduleInfo.Glyph,infoLink:o.moduleInfo.HelpPage,infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},e.length?bb.createElement(nI,{permittedActions:{createTab:!1,dragAndDropTab:!1,deleteTab:!1,editTabName:!1},onTabsChange:r,disabled:a,tabs:n,availableItems:i,tabsTitle:"AdapTable Status Bar Panels",unusedPanelTitle:"Available Module Status Panels",dragItemText:"Drag into a Status Bar Panel below"}):bb.createElement(iI,null,"To enable this feature add to Grid Options statusPanels the Adaptable Status Panel."))};d();var gg=I(require("react")),Hh=I(Ce());d();var ym=I(require("react"));d();var ox=I(require("react"));var DW=o=>{let[e,t]=ox.useState(null),n=pe(),r=_t(l=>W_(l.System));ox.useEffect(()=>{var u,c;if(!o){t(null);return}let l=(c=n.api.chartingApi.getChartRef((u=o==null?void 0:o.Model)==null?void 0:u.chartId))!=null?c:null;t(l)},[r,o]);let i=l=>{let u=r.find(c=>{let p=n.api.chartingApi.getChartRef(c.chartId);return p&&l.contains(p.chartElement)});if(u){let c=n.api.chartingApi.getChartRef(u.chartId);c&&c.destroyChart()}},a=ox.useCallback(l=>{if(!n||!o)return;let u=typeof(l==null?void 0:l.element)=="string"?document.querySelector(l.element):l==null?void 0:l.element;if(!u&&typeof(l==null?void 0:l.element)=="string"){n.logger.consoleLogByMessageType(`Chart container element not found: ${l.element}`,"Error");return}n.api.chartingApi.getChartRef(o.Model.chartId)||(l&&u?(l.chartsDisplay!=="multiple"&&i(u),n.api.chartingApi.showChartDefinitionOnce(o,u)):n.api.chartingApi.showChartDefinitionOnce(o))},[o,r]),s=ox.useCallback(()=>{e&&e.destroyChart()},[e]);return{isOpen:Boolean(e),showChart:a,closeChart:s}};d();var N1e=I(require("react"));var L1e=o=>{var e;return N1e.createElement(Lh,{iconSize:o.iconSize,disabled:!o.chart,ConfirmAction:CV((e=o.chart)==null?void 0:e.Name),ConfirmationMsg:"Are you sure you want to delete this Charts?",ConfirmationTitle:"Delete Charts",accessLevel:o.accessLevel,tooltip:"Delete Chart"})};d();var _1e=I(require("react"));var k1e=o=>{let e=yt();return _1e.createElement(Nh,{iconSize:o.iconSize,tooltip:"Edit Chart",disabled:!o.chart||o.isOpen,accessLevel:o.accessLevel,onClick:()=>e(En(hd,"Chart",{action:"Edit",value:o.chart,source:"Toolbar"}))})};var OW=({elementType:o,accessLevel:e,size:t="normal"})=>{var j,B;let n=pe(),r=_t(yV),i=(j=n.adaptableOptions)==null?void 0:j.chartingOptions,a=i==null?void 0:i.chartContainers,[s,l]=ym.useState(()=>r.length>0?r[0].Uuid:null),u=r.find(V=>V.Uuid===s),c=jt.getAppropriateAccessLevel(u,e),[p,m]=ym.useState(null),{isOpen:h,showChart:C,closeChart:y}=DW(u),v=r.map(V=>({label:V.Name,value:V.Uuid,onClick:()=>{l(V.Uuid)}})),x=v.length>0,A=x&&u!=null,R="";x&&u?R=(B=r.find(V=>V.Uuid===u.Uuid))==null?void 0:B.Name:x?R="Select Chart":R="No Charts",ym.useEffect(()=>{!u&&r.length>0&&l(r[0].Uuid)},[r]);let w=[{label:i.agGridContainerName,onClick:()=>{m(null)}},...a?a==null?void 0:a.map(V=>({label:V.name,onClick:()=>{m(V)}})):[]],P={},D;t==="small"&&(P.padding=2,P.fontSize="small",D=15);let F=ym.createElement(Qe,{style:P,width:"100%",columns:["label"],className:`ab-${o}__Chart__select`,items:v,disabled:!x},R),M=Boolean(a==null?void 0:a.length)&&ym.createElement(Qe,{style:P,width:"100%",columns:["label"],items:w,disabled:!A},(p==null?void 0:p.name)||i.agGridContainerName||XS),O=ym.createElement(ue,{style:P,mr:1,onClick:()=>h?y():C(p),disabled:!Boolean(u),variant:"text",tone:"neutral",icon:h?"visibility-off":"visibility-on",tooltip:h?"Hide Chart":"Show Chart"});return{chartSelector:F,containerSelector:M,chartButton:O,deleteButton:ym.createElement(L1e,{iconSize:D,chart:u,accessLevel:c}),editButton:ym.createElement(k1e,{iconSize:D,chart:u,accessLevel:c,isOpen:h}),selectedChart:u}};var B1e=o=>{let e=o.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",{chartSelector:t,containerSelector:n,chartButton:r,deleteButton:i,editButton:a}=OW({elementType:e,accessLevel:o.accessLevel});return e==="DashboardToolbar"?gg.createElement(Hh.Flex,{width:"100%",alignItems:"center"},gg.createElement(Hh.Box,null,t),n&&gg.createElement(Hh.Box,{ml:1},n),gg.createElement(Hh.Box,{ml:1},r,i,a)):gg.createElement(Hh.Flex,{flexDirection:"column",width:"100%"},gg.createElement(Hh.Box,{mb:1},t),n&&gg.createElement(Hh.Box,{mb:1},n),gg.createElement(Hh.Box,null,r," ",i," ",a))};d();var nx=I(require("react"));var G1e=I(Ce());d();var V1e=I(require("react"));var cI=o=>{let e=o.icon,t=pe();return Ch(e)&&(e=t.api.userInterfaceApi.internalApi.prepareAdaptableIconDef(e)),V1e.createElement(ue,T(S({},o),{icon:e}))};var u0t={style:{height:"100%",minWidth:"10rem",minHeight:600}},H1e=()=>{let o=pe(),e=o.api.columnApi.getFriendlyNameForColumnId(o.api.columnApi.getPrimaryKeyColumn().columnId),t=o.api.columnApi.getFriendlyNameForColumnId(o.api.columnApi.getPrimaryKeyColumn().columnId),n=_t(i=>XE(i.Comments)),r=nx.useMemo(()=>({primaryKey:{field:"PrimaryKeyValue",header:e},column:{field:"ColumnId",valueGetter:a=>o.api.columnApi.getFriendlyNameForColumnId(a.data.ColumnId)},comment:{field:"Value",header:"Comment",defaultEditable:!0,defaultFlex:3},timestamp:{field:"Timestamp",valueGetter:a=>new Date(a.data.Timestamp).toDateString()},author:{header:"Author",valueGetter:a=>a.data.Author.UserName},delete:{defaultWidth:50,render:a=>nx.createElement(cI,{variant:"text",icon:"delete",onClick:()=>{let s=o.api.commentsApi.getCommentByUuid(a.data.Uuid);o.api.commentsApi.deleteComment(s)}})}}),[]);return nx.createElement(G1e.Box,{p:2,style:{height:"100%",width:"100%"}},nx.createElement(da,{data:n,primaryKey:"Uuid",onDataMutations:i=>{for(let a of i.mutations){let[s,l]=a;for(let u of l)if(u.type==="update"){let c=u.data,p=n.find(m=>m.Uuid===s);p.Value!==c.Value&&o.api.commentsApi.updateCommentText(c.Value,p)}}}},nx.createElement(mi,{columnTypes:{default:{align:"start",defaultFlex:1,sortable:!1}},headerOptions:{alwaysReserveSpaceForSortIcon:!1},rowHeight:40,columnHeaderHeight:65,domProps:u0t,columns:r})))};var U1e={BulkUpdatePopup:o1e,DashboardPopup:q_e,StateManagementPopup:t1e,GridInfoPopup:z_e,StatusBarPopup:M1e,QuickSearchPopup:n0e,CellSummaryPopup:r1e,SmartEditPopup:qMe,ThemePopup:z2,ToolPanelPopup:zNe,SystemStatusPopup:s1e,DataChangeHistoryPopup:O1e,CommentsPopup:H1e},FW=new Map([[Ri,u1e],[bu,d1e],[_l,m1e],[wi,f1e],[fd,C1e],[Hi,y1e],[Su,b1e],[cr,S1e],[kl,A1e],[Bl,x1e],[Hp,R1e],[Wp,E1e],[Vp,T1e],[gd,PW],[Hf,F1e],[hd,B1e]]);d();var oi=I(require("react"));var W1e=I(Ce());var z1e=o=>{var w,P,D,F,M,O,_,H;_t(j=>j);let[e,t]=oi.useState(null),n=o.module.moduleInfo,r=(w=o.module)==null?void 0:w.toViewAll(),i=(F=(D=(P=o.module)==null?void 0:P.getViewProperties)==null?void 0:D.call(P))!=null?F:{},a=(M=i==null?void 0:i.getEditWizard)==null?void 0:M.call(i),[s,l]=oi.useState(()=>{var j,B,V;return((j=o.popupParams)==null?void 0:j.action)==="New"||((B=o.popupParams)==null?void 0:B.action)==="Edit"||((V=o.popupParams)==null?void 0:V.action)==="Clone"}),u=oi.useCallback(()=>{a&&l(!0),i.onOpenEditPopup&&i.onOpenEditPopup()},[]);oi.useEffect(()=>{var j;(j=i==null?void 0:i.onMount)==null||j.call(i)},[]),oi.useEffect(()=>{var j,B;(((j=o.popupParams)==null?void 0:j.action)==="New"||((B=o.popupParams)==null?void 0:B.action)==="Edit")&&u()},[(O=o.popupParams)==null?void 0:O.action]);let c=i.emptyView,p=null;typeof c=="function"?p=oi.createElement(c,{module:o.module}):typeof c=="string"&&(p=c);let m=(_=i.newTooltipText)!=null?_:`Create ${n.FriendlyName}`,h=null;if((H=i==null?void 0:i.abObjectTypes)!=null&&H.length){let j=i==null?void 0:i.abObjectTypes.map(B=>{var V;return{disabled:(B==null?void 0:B.accessLevel)==="ReadOnly",onClick:()=>{t(B),u()},label:(V=B.label)!=null?V:B.name}});h=oi.createElement(Qe,{tone:"accent",variant:"raised",columns:["label"],items:j,tooltip:m},oi.createElement(mo,{name:"plus"})," New")}else!i.hideNewButton&&(a||i.onOpenEditPopup)&&(h=oi.createElement(Yy,{onClick:()=>u(),tooltip:m,accessLevel:o.accessLevel}));let C=null;if(r.length&&(i==null?void 0:i.getSuspendAllAction)&&(i==null?void 0:i.getUnSuspendAllAction)){let j=r.some(V=>{var $;return!(($=V.abObject)!=null&&$.IsSuspended)}),B=()=>{if(j){let V=i.getSuspendAllAction();x(V)}else{let V=i.getUnSuspendAllAction();x(V)}};C=oi.createElement(ue,{mr:2,onMouseDown:()=>B(),tone:j?"neutral":"success",variant:"raised",icon:j?"pause":"play",accessLevel:o.accessLevel},j?"Suspend All":"Unsuspend All")}let y=()=>{var j;t(null),l(!1),["Toolbar","ContextMenu","ColumnMenu"].includes((j=o==null?void 0:o.popupParams)==null?void 0:j.source)&&o.onClosePopup()},v=o.api.internalApi.getModuleService().getModuleById(o.module.moduleInfo.ModuleName),x=yt(),A=_t(j=>j.System.ShowLayoutNotAssociatedObjects),R=()=>{if(!!(v!=null&&v.canBeAssociatedWithLayouts())&&!!o.api.layoutApi.internalApi.hasLayoutSpecificObjects())return oi.createElement(W1e.Flex,{justifyContent:"flex-start"},oi.createElement(Ne,{padding:0,margin:0,checked:A,onChange:j=>x(zme(j))},"Show ",n.FriendlyName,"s not available in current Layout"))};return oi.createElement(ha,{glyphicon:n.Glyph,infoLink:n.HelpPage,headerText:n.FriendlyName,button:oi.createElement(oi.Fragment,null,C," ",h),infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},i.HeaderComponent&&oi.createElement(i.HeaderComponent,null),R(),r!=null&&r.length?oi.createElement(c0,{module:o.module,items:r}):oi.createElement(iI,null,p!=null?p:`Click 'New' to create a new ${n.FriendlyName}`),s&&a&&oi.createElement(a,{abObjectType:e,moduleInfo:n,data:null,popupParams:o.popupParams,configEntities:null,onCloseWizard:y,onFinishWizard:y}))};var K1e=o=>{var s,l;let e=Rn.getModalContainer(o.api.optionsApi.getAdaptableOptions(),document),t=o.module.moduleInfo.ModuleName,n=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(t),r=o.api.internalApi.getModuleService().getModuleInfoByModule(t),i={popupParams:o.moduleParams,onClearPopupParams:()=>o.onClearParams?o.onClearParams():null,onClosePopup:()=>{o.onHide&&o.onHide()},teamSharingActivated:o.api.teamSharingApi.isTeamSharingAvailable()&&o.api.teamSharingApi.hasTeamSharingFullRights(),modalContainer:e,accessLevel:n,api:o.api,moduleInfo:r},a=((l=U1e)==null?void 0:l[(s=o==null?void 0:o.componentName)!=null?s:r.Popup])||z1e;return j1e.createElement(a,S({key:o==null?void 0:o.componentName,module:o.module},i))};d();var MW=["BulkUpdate","SmartEdit","CellSummary"],Q1e=["GridInfo","Dashboard","ToolPanel","StatusBar","-","Layout","Export","CalculatedColumn","FreeTextColumn","CustomSort","Alert","SystemStatus","-","FormatColumn","StyledColumn","FlashingCell","Theme","-","QuickSearch","Query","Filter","DataSet","-","PlusMinus","Shortcut","DataChangeHistory","-","Charting","Schedule","StateManagement","TeamSharing","Comments"];d();var q1e=I(require("react"));d();var Sb=I(require("react"));var $1e=r=>{var i=r,{render:o,frameworkComponent:e,componentName:t="N/A"}=i,n=ut(i,["render","frameworkComponent","componentName"]);let a=Sb.useRef(),s=pe(),[l,u]=Sb.useState("");return Sb.useLayoutEffect(()=>{let c=a.current,p=s.api;if(o){let m=o({visible:!0,element:c,adaptableApi:p,userName:p.optionsApi.getUserName(),adaptableId:p.optionsApi.getAdaptableId()});u(m)}else e&&p.internalApi.createFrameworkComponent(c,e,"toolbar");return()=>{o?o({visible:!1,element:c,adaptableApi:p,userName:p.optionsApi.getUserName(),adaptableId:p.optionsApi.getAdaptableId()}):e&&p.internalApi.destroyFrameworkComponent(c,e,t)}},[]),Sb.createElement("div",T(S({},n),{dangerouslySetInnerHTML:{__html:l},ref:a}))};var Y1e=o=>q1e.createElement($1e,{render:o.settingsPanel.render,componentName:o.settingsPanel.name,frameworkComponent:o.settingsPanel.frameworkComponent});d();var X1e=I(require("react"));var Z1e=()=>{let e=pe().adaptableOptions.settingsPanelOptions,t=_t(n=>{var r;return(r=n==null?void 0:n.Grid)==null?void 0:r.SettingPanelModuleMenuItems});return X1e.useMemo(()=>{var i;let n=(i=e==null?void 0:e.navigation)==null?void 0:i.items;n||(n=[...Q1e],e.customSettingsPanels&&n.push(...e.customSettingsPanels.map(a=>a.name)));let r=t.filter(a=>a.module!=="General"&&!MW.includes(a.module)&&a.isVisible);return n.map(a=>{var u,c;if(a==="-")return a;let s=(c=(u=e==null?void 0:e.customSettingsPanels)==null?void 0:u.find)==null?void 0:c.call(u,p=>p.name===a),l=null;return s&&(l={label:s.name,isVisible:!0,reduxAction:En(null,s.name)}),l||r.find(p=>p.module===a)}).filter(Boolean)},[t])};d();var pI=I(require("react")),tke=require("react-dom");d();var NW=o=>{let e=window.innerHeight;return{x:window.innerWidth/2-o.width/2,y:e/2-o.height/2}},J1e=()=>{let o=window.innerHeight,e=window.innerWidth;return{height:VC(600,0,o*.9),width:VC(800,0,e*.9)}},Qee=()=>{let o=window.innerHeight,e=window.innerWidth;return{height:VC(o*.9,0,800),width:VC(e*.9,0,800)}},eke=()=>Qee();var d0t=o=>{var v,x;let y=o,{onChange:e,style:t,baseClassName:n,className:r,isActionModule:i,settingsPanelOptionsKey:a,onHide:s}=y,l=ut(y,["onChange","style","baseClassName","className","isActionModule","settingsPanelOptionsKey","onHide"]),u=pe(),c=yt(),p=u.adaptableOptions.settingsPanelOptions,m=_t(A=>{var R,w;return(w=(R=A==null?void 0:A.System)==null?void 0:R.SettingsPanel)==null?void 0:w[a]}),h=A=>{c(Ume(a,A))};if(!m){let A=i?J1e():(v=p.size)!=null?v:Qee();m={size:A,position:(x=p.position)!=null?x:NW(A)}}let C={handleSelector:i?`.${n} .ab-Panel__header`:".ab-Adaptable-Popup__TopBar",minHeight:460,minWidth:400,size:m.size,position:m.position,onChange:h};return pI.createElement(pa,S({windowModal:!0,fixed:!1,windowModalProps:C,style:T(S({},o.style),{height:"100%"}),padding:0,className:r,onDismiss:s,isOpen:!0,showCloseButton:!0},l))},c0t=o=>{let a=o,{style:e,className:t,onHide:n,children:r}=a,i=ut(a,["style","className","onHide","children"]);return pI.createElement(pa,S({fixed:!1,style:o.style,padding:0,height:"90vh",width:"90vw",className:t,onDismiss:n,isOpen:!0,showCloseButton:!0},i),r)},oke=o=>{let{isActionModule:e,style:t,friendlyName:n,baseClassName:r,className:i,children:a,onHide:s,isWindowModal:l,modalContainer:u}=o;if(u){let c=null;return typeof u=="string"?c=globalThis.document.querySelector(u):c=u,(0,tke.createPortal)(pI.createElement(pa,{"data-name":o.dataName,modal:!1,fixed:!1,onDismiss:s,className:i},a),c)}if(l){let c=e?`action-${n}`:"settings";return pI.createElement(d0t,{dataName:o.dataName,settingsPanelOptionsKey:c,isActionModule:e,onHide:s,style:t,baseClassName:r,className:i},a)}else{let c=S(S({},t),e?{maxWidth:800,maxHeight:600}:{maxWidth:1200,maxHeight:1e3});return pI.createElement(c0t,{"data-name":o.dataName,onHide:s,style:c,className:i},a)}};var qee=o=>{var w,P,D;let e=pe(),t=e.adaptableOptions.settingsPanelOptions,n=e.api.internalApi.getModuleFriendlyName("SettingsPanel"),r=Z1e(),i=t.popupType==="window",a=(P=(w=e.adaptableOptions)==null?void 0:w.containerOptions)==null?void 0:P.modalContainer,s=null,l=!1,u=null,c=null,p="Full",m=r.find(F=>F!=="-"),h=m==null?void 0:m.module,C=o.componentModule,y=o.componentName,v=!o.componentName;v&&h!=="General"&&(C=h);let x=(D=t==null?void 0:t.customSettingsPanels)==null?void 0:D.find(F=>v?F.name===m.label:F.name===y);if(x)s=x.name,c=x.name,u=Cg.createElement(Y1e,{settingsPanel:x});else{let F=o.api.internalApi.getModuleService().getModuleById(C),M=F==null?void 0:F.moduleInfo;p=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(C),s=M.FriendlyName,l=M&&(MW.includes(M==null?void 0:M.ModuleName)||o.componentName&&o.componentName!==(M==null?void 0:M.Popup)),c=M.ModuleName,u=Cg.createElement(K1e,{api:o.api,module:F,componentName:o.componentName,moduleParams:o.moduleParams,onClearParams:o.onClearParams,onHide:o.onHide})}let A="ab-Adaptable-Popup",R=$e(A,`${A}--${i?"window":"modal"}`,l?`${A}--action-popup`:`${A}--settings-popup`);return Cg.createElement(QMe.Provider,{value:{hidePopup:()=>{o.onHide&&o.onHide()}}},Cg.createElement(oke,{dataName:C,baseClassName:A,className:R,friendlyName:s,isActionModule:l,isWindowModal:i,onHide:o.onHide,modalContainer:a},!l&&Cg.createElement(zMe,{icon:t.icon},n),Cg.createElement($ee.Flex,{flexDirection:"row",flex:"1 1 0",style:{minHeight:0},className:p=="ReadOnly"?Ai:""},!l&&Cg.createElement(KMe,{menuItems:r,api:o.api,activeItem:c,customSettingsPanels:t.customSettingsPanels}),Cg.createElement($ee.Flex,{flex:1,className:"ab-Adaptable-Popup__Body"},u))))};d();var Mi=I(require("react"));var rx=I(Ce());var nke=o=>{let e=yt(),[t,n]=Mi.useState(!1),[r,i]=Mi.useState(""),a=o.header,s=Rn.getGlyphByMessageType(o.messageType);function l(){i(""),o.onCancel()}function u(){o.onConfirm(r),i(""),t&&e($me())}function c(m){i(m.target.value)}function p(){return o.showInputBox?ct.IsNotNullOrEmpty(r):!0}return o.showPopup?Mi.createElement(pa,{modal:!0,"data-name":`confirmation-popup confirmation-popup--${o.messageType.toLowerCase()}`,isOpen:o.showPopup,onDismiss:o.onCancel,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},Mi.createElement(xh,{header:a,icon:s,variant:"primary"},Mi.createElement("div",null,Mi.createElement("div",{style:{display:"flex",alignItems:"center"}},o.messsage.split(`
572
572
  `).map(function(m,h){return Mi.createElement(rx.Text,{key:h,margin:2},m,Mi.createElement("br",null))})),Mi.createElement(rx.Box,{pl:2},Mi.createElement(Ne,{checked:t,onChange:()=>{n(!t)}},"Do not show this again")),o.showInputBox&&Mi.createElement(rx.Box,{padding:2,"data-name":"body"},Mi.createElement("p",null,"Please enter a comment to confirm"),Mi.createElement(mt,{marginTop:2,width:"100%",value:r,type:"string",placeholder:"Enter text",onChange:m=>c(m)})),Mi.createElement(rx.Flex,{marginTop:3,padding:2,"data-name":"footer"},Mi.createElement(ue,{tone:"error","data-name":"delete",variant:"raised",disabled:!p(),onClick:()=>u()},o.confirmButtonText),Mi.createElement("div",{style:{flex:1}}),Mi.createElement(ue,{"data-name":"cancel",tone:"neutral",variant:"raised",onClick:()=>l()},o.cancelButtonText))))):Mi.createElement(Mi.Fragment,null)};d();var vl=I(require("react"));var ix=I(Ce());var rke=o=>{var s;let e=yt(),[t,n]=vl.useState((s=o.defaultValue)!=null?s:""),r=()=>{n(""),o.onClose()},i=()=>{o.onConfirm(t);let l=typeof o.onConfirmActionCreator=="function"&&o.onConfirmActionCreator(t);l&&e(l),n("")},a=l=>{n(l.target.value)};return vl.createElement(pa,{modal:!0,"data-name":"prompt-popup",isOpen:!0,onDismiss:o.onClose,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},vl.createElement(ix.Flex,{flexDirection:"column"},vl.createElement(ix.Box,{marginTop:3,mx:2},o.header),ct.IsNotNullOrEmpty(o.message)&&vl.createElement(ix.Box,{marginTop:3,mx:2}," ",vl.createElement("div",{style:{display:"flex",alignItems:"center"}},o.message.split(`
573
573
  `).map(function(l,u){return vl.createElement("span",{key:u},l,vl.createElement("br",null))}))),vl.createElement(mt,{autoFocus:!0,marginTop:3,mx:3,value:t,type:"string",placeholder:"Enter text",onChange:l=>a(l)}),vl.createElement(ix.Box,{marginTop:3},vl.createElement(ix.Flex,{padding:2},vl.createElement(ue,{tone:"accent","data-name":"ok",variant:"raised",disabled:ct.IsNullOrEmpty(t),onClick:()=>i()},"OK"),vl.createElement("div",{style:{flex:1}}),vl.createElement(ue,{tone:"neutral",variant:"raised",onClick:()=>r(),"data-name":"cancel"},"Cancel")))))};d();var Uh=I(require("react"));var ake=I(Ce());d();function ike(o){return(o.fields||[]).flat().reduce((e,t)=>{var n;return e[t.name]=(n=t.defaultValue)!=null?n:"",e},{})}var p0t=({id:o,formProps:e,form:t,prepareContext:n})=>{let r=yt(),i=pe(),[a,s]=Uh.useState(()=>ike(t)),l=()=>{r(Che(o))},u=S({adaptableApi:i.api,formData:a},e);return Uh.createElement(pa,{isOpen:!0,showCloseButton:!1,style:{minHeight:"auto",minWidth:400,maxHeight:"80vh"},onDismiss:l},Uh.createElement(ake.Flex,{flexDirection:"column","data-name":"form-dialog",padding:4,height:"100%"},Uh.createElement(bH,{formDef:t,data:a,context:u,onChange:s,api:i.api,displayTitle:!0,onButtonClick:async c=>{var m;l();let p=typeof n=="function"?await n(u):u;(m=c.onClick)==null||m.call(c,c,p)}})))},ske=()=>{let o=_t(e=>e.Popup.FormPopup.FormList);return Uh.createElement(Uh.Fragment,null,o.map(e=>Uh.createElement(p0t,{key:e.Id,prepareContext:e.prepareContext,id:e.Id,formProps:e.FormProps,form:e.Form})))};d();var bm=I(require("react"));var m0t=()=>bm.createElement(bm.Fragment,null),lke=()=>{let[o,e]=bm.useState({}),t=pe(),n=yt(),r=_t(i=>i.Popup.WindowPopup.PopupList);return bm.createElement(bm.Fragment,null,r==null?void 0:r.map(i=>{var m,h,y,v,x,A;let a=(m=UFe[i.FactoryId])!=null?m:m0t,C=(h=i==null?void 0:i.PopupProps)!=null?h:{},{windowModalProps:s}=C,l=ut(C,["windowModalProps"]),u=()=>{n(ghe(i.Id))},c=(v=(y=o==null?void 0:o[i.Id])==null?void 0:y.size)!=null?v:eke(),p=(A=(x=o==null?void 0:o[i.Id])==null?void 0:x.position)!=null?A:NW(c);return bm.createElement(pa,{"data-name":i.Id,style:{height:"100%"},className:"ab-Window-Modal",key:i.Id,windowModal:!0,windowModalProps:T(S({},s),{onChange:R=>{e(w=>T(S({},w),{[i.Id]:R}))},handleSelector:".ab-Window-Modal .ab-Panel__header",size:c,position:p}),fixed:!1,padding:0,onDismiss:u,isOpen:!0,showCloseButton:!0},bm.createElement(xh,{style:{height:"100%"},bodyProps:{padding:0,height:"100%"},header:i.Title,glyphicon:i.Icon,variant:"primary"},bm.createElement(a,{api:t.api,onDismiss:u,popupProps:l})))}))};d();var Ka=I(require("react"));var kW=I(Ce());d();d();var Xl=I(require("react"));d();var ax=I(require("react"));var uke=I(Ce());function LW(o){return ax.createElement("div",{className:$e("ab-Dashboard__toolbar",o.className)},ax.createElement("div",{className:"ab-Dashboard__toolbar-content"},o.children),ax.createElement(uke.Flex,{className:"ab-Dashboard__toolbar-title",flexDirection:"row",alignItems:"center"},ax.createElement("span",null,o.title),o.showConfigure&&ax.createElement(ue,{icon:"spanner",variant:"text",tone:"none","data-name":"configure",iconSize:16,marginLeft:1,tooltip:o.tooltip||`Configure ${o.title} Toolbar`,onClick:()=>o.onConfigure()})," ",o.showClose&&ax.createElement(ue,{style:{alignSelf:"flex-end"},disabled:o.accessLevel=="ReadOnly","data-name":"close",icon:"close",variant:"text",tone:"none",iconSize:16,marginLeft:1,tooltip:o.tooltip||`Close ${o.title} Toolbar`,onClick:()=>o.onClose()})))}function dke(o){let{title:e,children:t,left:n,right:r,onShowDashboardPopup:i}=o,[a,s]=Pn(o,"activeTabIndex",0),[l,u]=Pn(o,"collapsed",!1),[c,p]=Pn(o,"floating",!1),[m,h]=Pn(o,"inline",!1),[C,y]=Pn(o,"position",{x:0,y:0}),v=!c&&!l,{handleRef:x,targetRef:A}=UF({onDrop(M,O){y(({x:_,y:H})=>({x:_+M,y:H+O}))}}),R={position:"absolute",left:C.x,top:C.y},w=()=>Xl.createElement("div",{className:"ab-Dashboard__tabs"},t&&Xl.Children.map(t,(M,O)=>Xl.createElement("button",{type:"button",className:$e("ab-Dashboard__tab",!l&&a===O?"ab-Dashboard__tab--active":""),key:O,onClick:()=>{a===O?u(!l):(s(O),u(!1))}},M.props.title))),P=()=>{var O,_,H;if(t&&t.length<2)return null;let M=(H=(_=(O=t==null?void 0:t[a])==null?void 0:O.props)==null?void 0:_.title)!=null?H:"Select Toolbar";return Xl.createElement(Qe,{ml:1,columns:["label"],items:Xl.Children.map(t,(j,B)=>({value:String(B),label:j.props.title,onClick:()=>s(B)}))},M)},D=()=>Xl.createElement("div",{className:"ab-Dashboard__header",onDoubleClick:M=>{let O=M.target;!o.canFloat||O.closest("button, input")||p(!c)}},Xl.createElement("div",{className:"ab-Dashboard__header-left"},n,!c&&w()),c?Xl.createElement("div",{className:"ab-Dashboard__title",ref:x,key:"title-drag",style:{cursor:"move"}},e):Xl.createElement("div",{className:"ab-Dashboard__title",key:"title"},e),Xl.createElement("div",{className:"ab-Dashboard__header-right"},r)),F=()=>Xl.createElement(LW,{onConfigure:i,className:"ab-Dashboard__home-toolbar",title:e,tooltip:"Configure Dashboard",showConfigure:!0,showClose:!1,accessLevel:"Full"},n,r,t&&t.length>1,P());return Xl.createElement("div",{ref:A,className:$e("ab-Dashboard",l?"ab-Dashboard--collapsed":"",c?"ab-Dashboard--floating":"",m?"ab-Dashboard--inline":""),style:c?R:void 0},v&&m?F():D(),v&&t&&t.length?Xl.createElement("div",{className:"ab-Dashboard__content"},t[a]?t[a].props.children:null):null)}d();function cke(o){return null}var bke=I(KT());d();var pke=I(require("react"));d();var _W=I(require("react"));var sx=class extends _W.Component{render(){let{headerText:e,showConfigureButton:t,showCloseButton:n,onConfigure:r,onClose:i,accessLevel:a,children:s}=this.props;return _W.createElement(LW,{title:e,onConfigure:r,showConfigure:t,showClose:n,onClose:i,accessLevel:a},s)}};sx.defaultProps={showConfigureButton:!0,showCloseButton:!0,headerText:"Module",onClose:null,onConfigure:null,accessLevel:"Full"};var mke=o=>{let e=o.moduleInfo.ModuleName,t=o.moduleInfo.FriendlyName,{api:n}=pe(),r=e!=="OpenFin"&&e!=="IPushPull"&&e!=="Glue42";return pke.createElement(sx,{className:`ab-DashboardToolbar__${e}`,"data-name":`ab-DashboardToolbar__${e}`,headerText:t,showConfigureButton:r,onConfigure:()=>{let i=n.internalApi.getModuleService().getPopupMaxWidth(e),a=i?{maxWidth:i,source:"Toolbar"}:{source:"Toolbar"};n.internalApi.dispatchReduxAction(En(e,o.moduleInfo.Popup,a))},onClose:()=>n.internalApi.dispatchReduxAction(uSe(e)),accessLevel:o.accessLevel},o.children)};d();var S0=I(require("react")),yg=require("react");var hke=o=>{let e="ab-CustomToolbar__"+o.customToolbar.name+"__contents",t="ab-CustomToolbar__"+o.customToolbar.name+"__buttons",[n,r]=(0,yg.useState)(""),[i,a]=(0,yg.useState)(1),s=(0,yg.useRef)(null),{api:l}=pe();return(0,yg.useLayoutEffect)(()=>{let u=s.current,c=l;if(o.customToolbar.render){let p=o.customToolbar.render({visible:!0,element:u,adaptableApi:c,userName:c.optionsApi.getUserName(),adaptableId:c.optionsApi.getAdaptableId()});r(p)}},[i,o.dashboardRevision]),(0,yg.useLayoutEffect)(()=>{let u=s.current,c=l;return()=>{o.customToolbar.render&&o.customToolbar.render({visible:!1,element:u,adaptableApi:c,userName:c.optionsApi.getUserName(),adaptableId:c.optionsApi.getAdaptableId()})}},[]),(0,yg.useLayoutEffect)(()=>{let u=s.current,c=l;o.customToolbar.frameworkComponent&&c.internalApi.createFrameworkComponent(u,o.customToolbar.frameworkComponent,"toolbar");let p=c.eventApi.on("AdaptableDestroy",()=>{var m;(m=c==null?void 0:c.internalApi)==null||m.destroyFrameworkComponent(u,o.customToolbar.frameworkComponent,"toolbar")});return()=>{var m;p(),o.customToolbar.frameworkComponent&&((m=c==null?void 0:c.internalApi)==null||m.destroyFrameworkComponent(u,o.customToolbar.frameworkComponent,"toolbar"))}},[]),S0.createElement(sx,{className:`ab-CustomToolbar ab-DashboardToolbar__${o.customToolbar.name}`,"data-name":`ab-CustomToolbar ab-DashboardToolbar__${o.customToolbar.name}`,headerText:o.customToolbar.title?o.customToolbar.title:"",showConfigureButton:o.customToolbar.showConfigureButton!=null&&o.customToolbar.showConfigureButton==!0,showCloseButton:o.customToolbar.showCloseButton!=null&&o.customToolbar.showCloseButton==!0,onConfigure:()=>{let u={adaptableApi:l,customToolbar:o.customToolbar,userName:l.optionsApi.getUserName(),adaptableId:l.optionsApi.getAdaptableId()};l.eventApi.emit("CustomToolbarConfigured",u)},accessLevel:l.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard")},S0.createElement("div",{id:e,ref:s,className:"CustomToolBarContents ab-CustomToolbar__contents ab-CustomToolbar__contents--render",style:{minHeight:22},dangerouslySetInnerHTML:{__html:n}}),S0.createElement("div",{id:t,className:"ab-CustomToolbar__buttons",style:{minHeight:22}},o.customToolbar.toolbarButtons&&o.customToolbar.toolbarButtons.map((u,c)=>{let p={customToolbar:o.customToolbar,adaptableApi:l,userName:l.optionsApi.getUserName(),adaptableId:l.optionsApi.getAdaptableId(),dashboardState:l.dashboardApi.getDashboardState()},m=l.internalApi.getIconForButton(u,p),h=l.internalApi.getStyleForButton(u,p),C=l.internalApi.getLabelForButton(u,p),y=l.internalApi.getTooltipForButton(u,p);if(u.hidden&&u.hidden(u,p))return null;let v=u.disabled&&u.disabled(u,p),x=h&&h.variant?h.variant:"outlined",A=h&&h.tone?h.tone:"neutral";return S0.createElement(cI,{style:{marginLeft:c?"var(--ab-space-1)":0},key:c,disabled:v,tooltip:y,icon:m,variant:x,tone:A,className:(h==null?void 0:h.className)||"",onClick:()=>{u.onClick&&u.onClick(u,p),setTimeout(()=>{a(i+1)},16)}},C)})))};d();var fke=I(require("react")),gke=require("react");var Cke=I(KT()),yke=o=>{let{button:e}=o,[t,n]=(0,gke.useState)(1),r={adaptableApi:o.api,userName:o.api.optionsApi.getUserName(),adaptableId:o.api.optionsApi.getAdaptableId(),dashboardState:o.api.dashboardApi.getDashboardState()},i=o.api.internalApi.getIconForButton(e,r),a=o.api.internalApi.getStyleForButton(e,r),s=o.api.internalApi.getLabelForButton(e,r),l=o.api.internalApi.getTooltipForButton(e,r);if(e.hidden&&e.hidden(e,r))return null;let u=e.disabled&&e.disabled(e,r);return fke.createElement(ue,{key:s,variant:a&&a.variant?a.variant:"text",tone:a&&a.tone?a.tone:"none",className:`ab-DashboardToolbar__Home__${(0,Cke.default)(s)} ${(a==null?void 0:a.className)||""}`,tooltip:l,icon:i,disabled:u||o.accessLevel=="ReadOnly",onClick:()=>{var c;(c=e.onClick)==null||c.call(e,e,r),setTimeout(()=>{n(t+1)},16)},accessLevel:"Full"},s)};var h0t=o=>{let[e,t]=MT(o),n=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard"),r=m=>{let h=m.Toolbars.filter(v=>v),C=o.api.dashboardApi.getCustomToolbars();return h.map(v=>{let x=C&&C.find(A=>A.name==v);if(x){if(n!="Hidden")return Ka.createElement(kW.Box,{key:x.name,className:"ab-Dashboard__container ab-Dashboard__container--customToolbar"},Ka.createElement(hke,{customToolbar:x,dashboardRevision:o.DashboardRevision}))}else{let A=v;if(o.api.internalApi.getModuleService().isModuleAvailable(A)){let R=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(A),w=FW.get(A);if(w){let P=o.api.internalApi.getModuleService().getModuleInfoByModule(A),D=Ka.createElement(w,{viewType:"Toolbar",api:o.api,accessLevel:R,moduleInfo:P});return Ka.createElement(kW.Box,{key:A,className:`ab-Dashboard__container ab-Dashboard__container--${A}`},Ka.createElement(mke,{moduleInfo:P,accessLevel:n},D))}else o.api.logError("Cannot find Dashboard Control for "+v)}}})},i=()=>{let m=o.DashboardState.ModuleButtons,h=null;return o.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard&&!o.api.internalApi.getEntitlementService().isModuleHiddenEntitlement("SettingsPanel")&&!m.includes("SettingsPanel")&&m.push("SettingsPanel"),m&&(h=m.map((v,x)=>{var R,w,P;let A=o.GridState.ModuleButtonMenuItems.find(D=>D.isVisible&&D.module==v);if(A)return Ka.createElement(cI,{"data-name":`dashboard-module-button-${(R=A.module)!=null?R:"custom-"+x}`,key:A.label,variant:A.module==="SystemStatus"?"outlined":"text",tone:A.module==="SystemStatus"?"neutral":"none",className:`ab-DashboardToolbar__Home__${(0,bke.default)(A.label)}`,icon:A.icon,tooltip:A.label,disabled:o.accessLevel=="ReadOnly",onClick:()=>o.dispatch(A.reduxAction),accessLevel:"Full",style:A.module==="SystemStatus"?T(S({},Uo.getStyleForMessageType((P=(w=o.api.systemStatusApi.getCurrentSystemStatusMessageInfo())==null?void 0:w.statusType)!=null?P:"Success")),{border:0}):{}})})),h},a=()=>{let m=o.api.dashboardApi.getCustomDashboardButtons().filter(Boolean),h=null;return m!=null&&m.length&&(h=m.map((C,y)=>Ka.createElement(yke,{key:`${C.label}-${y}`,button:C,api:o.api,accessLevel:o.accessLevel}))),h},s=()=>Ka.createElement(kW.Box,{ml:2},Ka.createElement(Cl,{type:"text",placeholder:o.api.optionsApi.getQuickSearchOptions().quickSearchPlaceholder,className:"ab-DashboardToolbar__QuickSearch__text",value:e,OnTextChange:t,style:{width:"auto"},inputStyle:{width:"7rem"}})),l=o.api.internalApi.getToolbarTitle(),u=o.api.optionsApi.getDashboardOptions(),c=u.showQuickSearchInHeader&&o.api.internalApi.getModuleService().getModuleById(kl).isModuleAvailable(),p=o.api.optionsApi.getUserInterfaceOptions().applicationIcon;return o.DashboardState.IsHidden?Ka.createElement("div",null):Ka.createElement(dke,{title:l,canFloat:o.api.optionsApi.getDashboardOptions().canFloat,activeTabIndex:o.DashboardState.ActiveTabIndex,onActiveTabIndexChange:m=>{o.onSetActiveTabIndex(m)},collapsed:o.DashboardState.IsCollapsed,onCollapsedChange:m=>{o.onSetIsCollapsed(m)},floating:o.DashboardState.IsFloating,onFloatingChange:m=>{o.onSetIsFloating(m)},inline:o.DashboardState.IsInline,onInlineChange:m=>{o.onSetIsInline(m)},position:o.DashboardState.FloatingPosition,onPositionChange:m=>{if(typeof m=="function"){let h=m(o.DashboardState.FloatingPosition);o.onSetFloatingPosition(h)}else o.onSetFloatingPosition(m)},left:Ka.createElement(Ka.Fragment,null,Ka.createElement(Ma,{icon:p,iconClassName:"ab-Dashboard__application-icon"}),u.buttonsLocation==="left"&&i(),u.buttonsLocation==="left"&&a()),right:Ka.createElement(Ka.Fragment,null,u.buttonsLocation==="right"&&a(),u.buttonsLocation==="right"&&i(),c&&s()),onShowDashboardPopup:o.onShowDashboardPopup},o.DashboardState.Tabs&&o.DashboardState.Tabs.map((m,h)=>Ka.createElement(cke,{key:h,title:m.Name},r(m))))};function f0t(o,e){return{DashboardRevision:o.System.DashboardRevision,DashboardState:o.Dashboard,GridState:o.Grid,SystemStatusMessageInfos:o.System.SystemStatusMessages,QuickSearchText:o.QuickSearch.QuickSearchText}}function g0t(o){return{dispatch:e=>o(e),onSetActiveTabIndex:e=>o(pB(e)),onSetIsCollapsed:e=>o(Ec(e)),onSetIsFloating:e=>o(wc(e)),onSetFloatingPosition:e=>o(sSe(e)),onRunQuickSearch:e=>o(Kp(e)),onShowQuickSearchPopup:()=>o(En(kl,"QuickSearchPopup")),onShowDashboardPopup:()=>o(En(fd,"DashboardPopup"))}}var Ske=bt(f0t,g0t)(h0t);d();d();var Ab=I(require("react"));d();var bg=I(require("react"));var vke=o=>bg.createElement("svg",S({width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),bg.createElement("path",{d:"M0 8C0 3.58172 3.58172 0 8 0H12.6699V12.6H0V8Z",fill:"#004C79"}),bg.createElement("path",{d:"M16.165 0H36.9999C41.4182 0 45 3.58172 45 8V12.6H16.165V0Z",fill:"#004C79"}),bg.createElement("path",{d:"M0 32.4H28.8349V45H8C3.58173 45 0 41.4183 0 37V32.4Z",fill:"#004C79"}),bg.createElement("path",{d:"M32.3301 32.4H45V37C45 41.4183 41.4182 45 37 45H32.3301V32.4Z",fill:"#004C79"}),bg.createElement("rect",{x:"32.3301",y:"16.2001",width:"12.6699",height:"12.6",fill:"#004C79"}),bg.createElement("rect",{x:"16.165",y:"16.2001",width:"12.6699",height:"12.6",fill:"#00CAF2"}),bg.createElement("rect",{y:"16.2001",width:"12.6699",height:"12.6",fill:"#004C79"}));var Ake=I(Ce()),vb={border:"1px solid var(--ab-color-error)",padding:"5px",fontWeight:600,margin:"5px",fontSize:"14px",alignItems:"center",color:"var(--ab-color-text-on-defaultbackground)",background:"var(--ab-color-defaultbackground)"},C0t=o=>{let e=[["display","none"],["opacity","0"],["position","absolute"],["position","fixed"],["position","relative"],["visibility","hidden"]];for(let[t,n]of e)if(o.style[t]===n)return!1;return!0},Yee=o=>{let e=Ab.useRef(null);return Ab.useEffect(()=>{let n=setInterval(()=>{var r,i;(r=e.current)!=null&&r.isConnected||alert("It is not allowed to remove the Adaptable watermark."),C0t(e.current)||alert("It is not allowed to modify the Adaptable watermark."),(i=e==null?void 0:e.current)!=null&&i.style&&(e.current.style.border=vb.border,e.current.style.padding=vb.padding,e.current.style.fontWeight=`${vb.fontWeight}`,e.current.style.margin=vb.margin,e.current.style.fontSize=vb.fontSize,e.current.style.color=vb.color,e.current.style.background=vb.background,e.current.style.display="flex",e.current.style.position="static",e.current.style.opacity="1",e.current.style.visibility="visible")},5e3);return()=>clearTimeout(n)},[]),Ab.createElement(Ake.Flex,{style:vb,ref:e},Ab.createElement(vke,{style:{marginRight:10}}),Ab.createElement("div",null,o.children))};d();var BW=I(require("react"));var Rke=I(Ce());d();var Sg=I(require("react")),xke=o=>{let[e,t]=Sg.useState(()=>o.open),[n,r]=Sg.useState(o.open);Sg.useEffect(()=>{!e&&o.open&&(r(!0),requestAnimationFrame(()=>{t(!0)})),e&&!o.open&&t(!1)},[o.open]);let i=Sg.useCallback(l=>{var u;l.key==="Escape"&&((u=o.onOpenChange)==null||u.call(o,!1))},[]),a=()=>{e||r(!1)};if(!n)return null;let s={position:"fixed",top:0,right:0,zIndex:1e3,transition:"transform 0.3s ease-in-out, opacity 0.3s ease-in-out"};return e?(s.transform="translateY(0)",s.opacity=1):(s.transform="translateY(-120%)",s.opacity=0),Sg.createElement("div",{onKeyDown:i,style:s,onTransitionEnd:a},o.children)};var Eke=()=>{let o=pe(),e=_t(t=>the(t.System));return BW.createElement(xke,{open:e,onOpenChange:t=>{t?o.api.quickSearchApi.showFloatingQuickSearch():o.api.quickSearchApi.hideFloatingQuickSearch()}},BW.createElement(Rke.Flex,{className:"ab-FloatinQuickSearch"},BW.createElement(xW,{autoFocus:!0})))};var Xee=class extends js.Component{render(){var n,r,i,a;let e=(a=(i=(r=(n=this.props.AdaptableApi)==null?void 0:n.internalApi)==null?void 0:r.getSystemState())==null?void 0:i.License)==null?void 0:a.watermark,t=this.props.AdaptableApi.optionsApi.getAdaptableOptions();return js.createElement("div",null,js.createElement(UMe,null),js.createElement(Eke,null),this.props.AdaptableApi.internalApi.getModuleService().isModuleAvailable("Dashboard")&&js.createElement(Ske,{api:this.props.AdaptableApi}),js.createElement(qU,{onClose:this.props.onCloseLoadingPopup,showLoadingScreen:this.props.PopupState.LoadingPopup.ShowLoadingPopup}),this.props.PopupState.PromptPopup.ShowPromptPopup&&js.createElement(rke,{message:this.props.PopupState.PromptPopup.Message,header:this.props.PopupState.PromptPopup.Header,onClose:this.props.onClosePromptPopup,onConfirm:this.props.onConfirmPromptPopup,onConfirmActionCreator:this.props.PopupState.PromptPopup.ConfirmActionCreator,defaultValue:this.props.PopupState.PromptPopup.DefaultValue}),Boolean(this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup)&&js.createElement(nke,{header:this.props.PopupState.ConfirmationPopup.Header,messsage:this.props.PopupState.ConfirmationPopup.Msg,showPopup:this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup,cancelButtonText:this.props.PopupState.ConfirmationPopup.CancelButtonText,confirmButtonText:this.props.PopupState.ConfirmationPopup.ConfirmButtonText,onCancel:this.props.onCancelConfirmationPopup,onConfirm:this.props.onConfirmConfirmationPopup,showInputBox:this.props.PopupState.ConfirmationPopup.ShowInputBox,messageType:this.props.PopupState.ConfirmationPopup.MessageType,api:this.props.AdaptableApi}),Boolean(this.props.PopupState.ScreenPopup.ShowScreenPopup)&&js.createElement(qee,{componentName:this.props.PopupState.ScreenPopup.ComponentName,componentModule:this.props.PopupState.ScreenPopup.ComponentModule,onHide:this.props.onCloseScreenPopup,api:this.props.AdaptableApi,onClearParams:()=>this.props.onClearPopupParams(),moduleParams:this.props.PopupState.ScreenPopup.Params,moduleProps:this.props.PopupState.ScreenPopup.PopupProps}),js.createElement(Un.ToastContainer,{containerId:t.adaptableId,enableMultiContainer:!0,limit:t.notificationsOptions.maxNotifications,closeButton:!1,icon:!1,theme:"colored"}),(e==null?void 0:e.show)&&js.createElement(Yee,null,e==null?void 0:e.text),js.createElement(lke,null),js.createElement(ske,null),js.createElement(kMe,null))}};function y0t(o,e){return{PopupState:o.Popup,SystemState:o.System,AdaptableApi:e.Adaptable.api}}function b0t(o){return{onCloseScreenPopup:()=>o(_f()),onClosePromptPopup:()=>o(vhe()),onConfirmPromptPopup:e=>o(Ahe(e)),onConfirmConfirmationPopup:e=>o(xhe(e)),onCancelConfirmationPopup:()=>o(Rhe()),showPopup:(e,t,n)=>o(En(e,t,n)),onClearPopupParams:()=>o(vE())}}var S0t=bt(y0t,b0t)(Xee),wke=({Adaptable:o})=>Oi(js.createElement(S0t,{Adaptable:o}),o);d();var ete=I(require("react")),rBe=I(oF());d();var px=I(require("react")),mx=require("react");d();var Tke=(o,e)=>{if(!Array.isArray(o)||!o.length)return{primaryKey:void 0,columns:[],data:[]};let t=[],n=[],r;if(Array.isArray(o[0])){t=o[0];for(let i=1,a=o.length;i<a;i++){let s=o[i],l={};for(let u=0;u<t.length;u++)l[t[u]]=s[u];n.push(l)}}else t=Object.keys(o[0]),n=o;return r=t[0],{primaryKey:r,columns:t,data:n}},Zee={string:"abColDefString",number:"abColDefNumber",boolean:"abColDefBoolean",date:"abColDefDate"},v0t="abColDefCustom",A0t=o=>{let t=Zee[typeof o]||Zee.string;return o instanceof Date&&(t=Zee.date),Array.isArray(o)&&o.length&&typeof o[0]=="number"&&(t=v0t),t},Ike=(o,e)=>{let t=o.data[0],n=o.columns.map(i=>{let a=t[i],s=A0t(a);return{headerName:i,field:i,type:s,filter:!0,sortable:!0,enableRowGroup:!0,resizable:!0,editable:!0}});return T(S({},e),{defaultColDef:{floatingFilter:!0},rowData:o.data,columnDefs:n,enableRangeSelection:!0,rowSelection:"multiple",rowHeight:30})};var oBe=I(Ce());d();d();var Ks=I(require("react")),Jee=require("react");d();var _ke=I(require("react"));d();var ao=I(require("react"));d();var Pke=require("react");var x0t=(o,e,t,n)=>{n=n||{};let r=n.onChange||((c,p)=>{}),i=n.onBatchChange||(c=>{}),[a,s]=(0,Pke.useState)(typeof e=="object"?e:o.reduce((c,p)=>{let m=t?p[t]:e;return m&&(c[p.field]=m),c},{})),l=c=>o.filter(p=>p.field===c)[0],u={selected:a,isSelected:c=>!!a[c],isAllSelected:()=>Object.keys(a).length===o.length,isNoneSelected:()=>Object.keys(a).length===0,selectColumn:c=>{a[c]||(s(T(S({},a),{[c]:!0})),r(l(c),!0))},deselectColumn:c=>{if(a[c]){let p=S({},a);delete p[c],s(p),r(l(c),!1)}},toggleColumn:c=>{u.isSelected(c)?u.deselectColumn(c):u.selectColumn(c)},deselectAll:()=>{s({}),o.forEach(c=>{r(c,!1)}),i(!1)},selectAll:()=>{s(o.reduce((c,p)=>(c[p.field]=!0,c),{})),i(!0)}};return u},lx=x0t;d();var dx=I(require("react")),mI=require("react"),Oke=I(Ce());d();var VW=I(require("react"));var R0t=()=>VW.createElement("div",{style:{display:"flex",flexFlow:"column",position:"absolute",fill:"var(--ab-cmp-dropdown__fill)",top:"50%",right:"var(--ab-space-1)",transform:"translate3d(0px, -50%, 0px)",cursor:"pointer"}},VW.createElement(mo,{name:"triangle-up",size:24,style:{position:"relative",top:7}}),VW.createElement(mo,{name:"triangle-down",size:24,style:{position:"relative",top:-7}})),Dke=R0t;var ux="ab-Dropdown",E0t=o=>{let Z=o,{options:e,multiple:t,name:n,autoFocus:r,showEmptyItem:i=!0,showClearButton:a,disabled:s,allowSearch:l,clearButtonProps:u,value:c,onChange:p,style:m,onExpand:h}=Z,C=ut(Z,["options","multiple","name","autoFocus","showEmptyItem","showClearButton","disabled","allowSearch","clearButtonProps","value","onChange","style","onExpand"]);a!==!1&&(a=!0);let[y,v]=Pn(o,"value",void 0,{onChange:o.onChange}),x=null,[A,R]=(0,mI.useState)([]),w=()=>{h&&h()};if(typeof e=="function"){let oe=e;w=()=>{let X=oe();R(X),h&&h()},e=A}let P=o.emptyText||o.placeholder||"Select an option",D=e.map(oe=>(typeof oe=="string"&&(oe={label:oe,value:oe}),y===oe.value&&(x=oe),oe));i&&D.splice(0,0,{label:P,value:""});let F=(oe,X)=>{v(oe&&oe.value,X,oe)},M=(0,mI.useRef)(null),O=(0,mI.useRef)(null),[_,H]=(0,mI.useState)(!1),j=oe=>{if(oe.target===M.current){H(!0);return}oe.target===O.current&&M.current.focus()},B=()=>{H(!1)},V=x?x.label:null,$=o.renderLabel?o.renderLabel(V,x):V;x||($=P);let K=()=>dx.createElement(ue,T(S({variant:"text",icon:"close",tone:"none",tooltip:"Clear",iconSize:20,px:0,py:0,marginRight:1},u),{style:S({zIndex:10,color:"inherit"},u?u.style:null),onClick:oe=>{oe.preventDefault(),F(null,oe)}}));return dx.createElement(Oke.Flex,T(S({ref:O,flexDirection:"row",alignItems:"center"},C),{className:$e(o.className,ux,x?`${ux}--not-empty`:`${ux}--empty`,_?`${ux}--focused`:`${ux}--not-focused`,s?`${ux}--disabled`:null),style:m,tabIndex:_?-1:o.tabIndex||0,onFocus:j,onBlur:B}),dx.createElement("div",{style:{display:"inline-block"},className:`${ux}__text`},$,dx.createElement(Dke,null)),dx.createElement("select",{ref:M,tabIndex:-1,disabled:s,value:y==null?"":y,onChange:oe=>{let X=D.filter(xe=>xe.value==oe.target.value)[0];F(X,oe)},style:{opacity:0,width:"100%",height:"100%",top:0,left:0,zIndex:1},onMouseDown:w,name:n,multiple:t,autoFocus:r},D.map(oe=>dx.createElement("option",{key:oe.value,value:oe.value},oe.label))),a&&x?K():null)},Fke=E0t;var v0=require("react");var cx=I(Ce()),Nke=I(MD());var w0t=[{value:"abColDefString",label:"Text (string)"},{value:"abColDefNumber",label:"Number"},{value:"abColDefDate",label:"Date"},{value:"abColDefBoolean",label:"Boolean"}],Mke={width:"100%",minWidth:80,textAlign:"start"},T0t=()=>{let[,o]=(0,v0.useState)(Date.now());return()=>{o(Date.now())}},I0t=ao.memo(o=>{let[e,t]=(0,v0.useState)(o.value),n=ao.useRef((0,Nke.default)(o.onChange,600,{leading:!1})),r=ao.useCallback(i=>{let a=i.target.value;t(a),n.current(a)},[]);return ao.useEffect(()=>{t(o.value)},[o.value]),ao.createElement(mt,{style:o.style,value:e,onChange:r})}),P0t={style:{height:"100%",minWidth:"10rem",minHeight:600}},D0t=({columns:o,handle:e,onValidityChange:t,onChange:n,onSelectionChange:r,selectedColumns:i,theme:a})=>{let s=T0t(),l=(0,v0.useRef)(o),u=Ye=>{l.current=Ye,n==null||n(Ye)},c=Ye=>{u(Ye),s()},p=()=>l.current,m=l.current,h=(Ye,lt,Pt)=>{Ye=T(S({},Ye),{[Pt]:lt});let An=p().map(bi=>bi.field===Ye.field?Ye:bi);c(An)},C=(Ye,lt)=>{let Pt=p().map(An=>T(S({},An),{[lt]:Ye}));c(Pt)},y=(Ye,lt)=>{let Pt=p().map(An=>An.field===lt?T(S({},An),{caption:Ye}):An);c(Pt)},v=(Ye,lt)=>{let Pt=p().map(An=>An.field===Ye.field?T(S({},An),{type:lt}):An);c(Pt)},[x,A]=ao.useState(m[0].field),{selected:R,isSelected:w,isAllSelected:P,isNoneSelected:D,selectColumn:F,deselectColumn:M,selectAll:O,deselectAll:_}=lx(m,i!=null?i:!0,null,{onChange:r});e.current={getColumns:()=>p().filter(Ye=>w(Ye.field)),getPrimaryKey:()=>x};let{isSelected:H,isAllSelected:j,isNoneSelected:B,selectColumn:V,deselectColumn:$,selectAll:K,deselectAll:Z}=lx(m,!0,"sortable",{onBatchChange:Ye=>{C(Ye,"sortable")},onChange:(Ye,lt)=>{h(Ye,lt,"sortable")}}),{isSelected:oe,isAllSelected:X,isNoneSelected:xe,selectColumn:se,deselectColumn:ie,selectAll:he,deselectAll:De}=lx(m,!0,"enableRowGroup",{onBatchChange:Ye=>{C(Ye,"enableRowGroup")},onChange:(Ye,lt)=>{h(Ye,lt,"enableRowGroup")}}),{isSelected:tt,isAllSelected:z,isNoneSelected:W,selectColumn:U,deselectColumn:ee,selectAll:fe,deselectAll:Se}=lx(m,!0,"resizable",{onBatchChange:Ye=>{C(Ye,"resizable")},onChange:(Ye,lt)=>{h(Ye,lt,"resizable")}}),{isSelected:re,isAllSelected:ft,isNoneSelected:Re,selectColumn:Ut,deselectColumn:so,selectAll:Do,deselectAll:vr}=lx(m,!0,"editable",{onBatchChange:Ye=>{C(Ye,"editable")},onChange:(Ye,lt)=>{h(Ye,lt,"editable")}}),{isSelected:Fn,isAllSelected:ii,isNoneSelected:Oo,selectColumn:yo,deselectColumn:ko,selectAll:Mn,deselectAll:st}=lx(m,!0,"filter",{onBatchChange:Ye=>{C(Ye,"filter")},onChange:(Ye,lt)=>{h(Ye,lt,"filter")}}),St=P(),ln=D();ao.useEffect(()=>{t(w(x))},[R,x]);let Xo=40,Qi=m,tr=Ye=>ao.createElement(cx.Flex,T(S({},Ye),{style:T(S({},Ye.style),{position:"absolute",textAlign:"center",top:0,left:0,height:"100%",width:"100%",whiteSpace:"normal"}),justifyContent:"center",alignItems:"center"}),Ye.children),Kn=Ye=>ao.createElement(tr,T(S({},Ye),{fontSize:3,style:{fontWeight:600}})),Fo=Ye=>{let Ca=Ye,{label:lt,onChange:Pt,checked:An}=Ca,bi=ut(Ca,["label","onChange","checked"]);return ao.createElement(Kn,T(S({},bi),{flexDirection:"column"}),ao.createElement(cx.Box,null,lt),ao.createElement(cx.Box,{style:{textAlign:"center"}},ao.createElement(Ne,{checked:An,onChange:Pt})))},kn={pk:{header:()=>ao.createElement(Kn,null,"Primary Key"),maxWidth:80,sortable:!1,renderMenuIcon:!1,render:Ye=>{let{data:lt}=Ye,Pt=lt,An=(Pt==null?void 0:Pt.field)===x;return ao.createElement(Xe,{checked:An,onChange:bi=>{bi&&w(Pt.field)&&A(Pt.field)}})}},included:{maxWidth:80,resizable:!0,renderMenuIcon:!1,header:()=>ao.createElement(Fo,{label:"Included",checked:St?!0:ln?!1:null,onChange:Ye=>{Ye?O():_()}}),render:Ye=>{let lt=Ye.data;return ao.createElement(tr,null,ao.createElement(Ne,{checked:w(lt.field),onChange:Pt=>{Pt?F(lt.field):M(lt.field)}}))}},field:{header:ao.createElement(Kn,null,"Field"),field:"field",minWidth:150,renderMenuIcon:!1,render:Ye=>{let lt=Ye.data,Pt=nt.Humanize(lt.field);return ao.createElement(cx.Box,{p:2},ao.createElement(I0t,{key:lt.field,style:Mke,value:lt.caption!=null?lt.caption:Pt,placeholder:Pt,onChange:An=>{y(An,lt.field)}}))}},type:{header:ao.createElement(Kn,null,"Type"),maxWidth:140,renderMenuIcon:!1,render:Ye=>{var Pt;let lt=Ye.data;return ao.createElement(tr,{paddingLeft:1,paddingRight:1},ao.createElement(Fke,{style:Mke,showClearButton:!1,options:w0t,value:(Pt=lt==null?void 0:lt.type)!=null?Pt:"",onChange:v.bind(null,lt)}))}},sortable:{renderMenuIcon:!1,header:ao.createElement(Fo,{label:"Sortable",checked:j()?!0:B()?!1:null,onChange:Ye=>{Ye?K():Z()}}),render:Ye=>{let lt=Ye.data;return ao.createElement(Ne,{checked:H(lt.field),onChange:Pt=>{Pt?V(lt.field):$(lt.field)}})}},editable:{renderMenuIcon:!1,header:ao.createElement(Fo,{label:"Editable",checked:ft()?!0:Re()?!1:null,onChange:Ye=>{Ye?Do():vr()}}),render:Ye=>{let lt=Ye.data;return ao.createElement(tr,null,ao.createElement(Ne,{checked:re(lt.field),onChange:Pt=>{Pt?Ut(lt.field):so(lt.field)}}))}},resizable:{renderMenuIcon:!1,header:ao.createElement(Fo,{label:"Resizable",checked:z()?!0:W()?!1:null,onChange:Ye=>{Ye?fe():Se()}}),render:Ye=>{let lt=Ye.data;return ao.createElement(tr,null,ao.createElement(Ne,{checked:tt(lt.field),onChange:Pt=>{Pt?U(lt.field):ee(lt.field)}}))}},groupable:{renderMenuIcon:!1,header:ao.createElement(Fo,{label:"Groupable",checked:X()?!0:xe()?!1:null,onChange:Ye=>{Ye?he():De()}}),render:Ye=>{let lt=Ye.data;return ao.createElement(tr,null,ao.createElement(Ne,{checked:oe(lt.field),onChange:Pt=>{Pt?se(lt.field):ie(lt.field)}}))}},filterable:{renderMenuIcon:!1,header:ao.createElement(Fo,{label:"Filterable",checked:ii()?!0:Oo()?!1:null,onChange:Ye=>{Ye?Mn():st()}}),render:Ye=>{let lt=Ye.data;return ao.createElement(tr,null,ao.createElement(Ne,{checked:Fn(lt.field),onChange:Pt=>{Pt?yo(lt.field):ko(lt.field)}}))}}};return ao.createElement(cx.Box,{p:2,style:{height:"100%"},className:a},ao.createElement(da,{data:Qi,primaryKey:"colId"},ao.createElement(mi,{columnTypes:{default:{defaultFlex:1,align:"center",sortable:!1}},headerOptions:{alwaysReserveSpaceForSortIcon:!1},rowHeight:Xo,columnHeaderHeight:65,domProps:P0t,columns:kn})))};function O0t(){return!0}var Lke=ao.memo(D0t,O0t);var kke=o=>{var t,n;let e="light";return typeof o.adaptableConfig.adaptableOptions.predefinedConfig=="object"&&((t=o.adaptableConfig.adaptableOptions.predefinedConfig.Theme)==null?void 0:t.CurrentTheme)&&(e=o.adaptableConfig.adaptableOptions.predefinedConfig.Theme.CurrentTheme),_ke.createElement(Lke,{theme:e,handle:o.columnsHandle,onValidityChange:r=>{o.setPrimaryKeyIsNotSelected(r)},selectedColumns:o.selectedColumns,onChange:o.onColumnChange,onSelectionChange:o.onSelectionChange,columns:(n=o.adaptableConfig.gridOptions)==null?void 0:n.columnDefs})};d();var qc=I(require("react"));var Bke=I(Ce());var F0t=o=>{var t;let{gridOptions:e}=o;return qc.createElement(Bke.Box,{p:2},qc.createElement(Qt,null,"Grid Options"),qc.createElement(Ke,{margin:2,columns:[{name:"children"},{name:"label",style:{textAlign:"start"}}]},qc.createElement(de,{label:"Enable Range Selection"},qc.createElement(Ne,{checked:e.enableRangeSelection,onChange:n=>{e=T(S({},e),{enableRangeSelection:n}),o.onChangedGridOptions(e)}})),qc.createElement(de,{label:"Show Quick Filter"},qc.createElement(Ne,{checked:(t=e.defaultColDef)==null?void 0:t.floatingFilter,onChange:n=>{e=T(S({},e),{defaultColDef:{floatingFilter:n}}),o.onChangedGridOptions(e)}})),qc.createElement(de,{label:"Suppress Column Virtualisation"},qc.createElement(Ne,{checked:e.suppressColumnVirtualisation,onChange:n=>{e=T(S({},e),{suppressColumnVirtualisation:n}),o.onChangedGridOptions(e)}})),qc.createElement(de,{label:"Show Column Menu Button"},qc.createElement(Ne,{checked:e.suppressMenuHide,onChange:n=>{e=T(S({},e),{suppressMenuHide:n}),o.onChangedGridOptions(e)}}))))},Vke=F0t;d();var Fr=I(require("react"));var GW=I(Ce());var M0t=a0e,N0t={style:{height:"100%",minWidth:"10rem",minHeight:600}},L0t=o=>{var l,u,c;let e=o.adaptableOptions,t=(u=(l=e==null?void 0:e.entitlementOptions)==null?void 0:l.moduleEntitlements)!=null?u:[];if(typeof t=="function")return Fr.createElement(Qt,{mt:2},"Entitlements cannot be customized, they are handled by a custom function.");let n=Fr.useMemo(()=>t.reduce((p,m)=>(p[m.adaptableModule]=m.accessLevel,p),{}),[e==null?void 0:e.entitlementOptions]),r=Fr.useCallback((p,m)=>{let h=t;n[p]?h=h.map(C=>(C.adaptableModule===p&&(C.accessLevel=m),C)):h=[...h,{adaptableModule:p,accessLevel:m}],o.onChangedAptableOptions(T(S({},e),{entitlementOptions:T(S({},e.entitlementOptions),{moduleEntitlements:h})}))},[e==null?void 0:e.entitlementOptions]);if(typeof t=="function")return Fr.createElement(Qt,{mb:2},"Entitlements cannot be customized, they are handled by a custom function.");let i={name:{header:"Module Name",align:"start",renderValue:p=>Fr.createElement(Fr.Fragment,null,p.data.name)},full:{header:"Full",render:p=>{let m=p.data.name,h=n[m];return Fr.createElement(Xe,{onClick:()=>r(m,"Full"),checked:h==="Full"})}},readonly:{header:"Read Only",render:p=>{let m=p.data.name,h=n[m];return Fr.createElement(Xe,{onClick:()=>r(m,"ReadOnly"),checked:h==="ReadOnly"})}},hidden:{header:"Hidden",render:p=>{let m=p.data.name,h=n[m];return Fr.createElement(Xe,{onClick:()=>r(m,"Hidden"),checked:h==="Hidden"})}}},a=M0t.map(p=>({name:Nge[p]})),s="light";return typeof o.adaptableOptions.predefinedConfig=="object"&&((c=o.adaptableOptions.predefinedConfig.Theme)==null?void 0:c.CurrentTheme)&&(s=o.adaptableOptions.predefinedConfig.Theme.CurrentTheme),Fr.createElement(GW.Box,{flex:1,height:"100%",className:s},Fr.createElement(da,{data:a,primaryKey:"name"},Fr.createElement(mi,{columnTypes:{default:{defaultFlex:1,align:"center",sortable:!1}},headerOptions:{alwaysReserveSpaceForSortIcon:!1},columnHeaderHeight:50,domProps:N0t,columns:i})))},_0t=o=>{var i,a;let e=o.adaptableOptions,t=(i=o.adaptableOptions)==null?void 0:i.entitlementOptions,n=t==null?void 0:t.defaultAccessLevel;if(typeof n=="function")return Fr.createElement(Qt,{mb:2},"Default Entitlement is controlled by a custom function");let r=Fr.useCallback(s=>{o.onChangedAptableOptions(T(S({},e),{entitlementOptions:T(S({},e.entitlementOptions),{defaultAccessLevel:s})}))},[(a=e==null?void 0:e.entitlementOptions)==null?void 0:a.defaultAccessLevel]);return Fr.createElement(Ke,{mb:2},Fr.createElement(de,{label:"Default Entitlement:"},Fr.createElement(Xe,{onClick:()=>r("Full"),checked:n==="Full",mr:3},"Visible"),Fr.createElement(Xe,{onClick:()=>r("ReadOnly"),checked:n==="ReadOnly",mr:3},"Read Only"),Fr.createElement(Xe,{onClick:()=>r("Hidden"),checked:n==="Hidden"},"Hidden")))},k0t=o=>{let e=o.adaptableOptions;return Fr.createElement(GW.Flex,{height:"100%",flexDirection:"column",p:2},Fr.createElement(_0t,S({},o)),Fr.createElement(L0t,S({},o)))},Gke=k0t;d();var Yc=I(require("react")),$ke=I(Ce());d();var A0=I(require("react")),HW=I(Ce());var Hke=o=>{var r,i,a,s;let e=[{value:"clone",label:"Clone"},{value:"create",label:"Create"},{value:"edit",label:"Edit"},{value:"delete",label:"Delete"}],t=Array.isArray((i=(r=o.abOptions)==null?void 0:r.actionRowOptions)==null?void 0:i.actionRowButtons)?(s=(a=o.abOptions)==null?void 0:a.actionRowOptions)==null?void 0:s.actionRowButtons:[],n=(l,u)=>{var p;let c=t;u?c=[...c,l]:c=c.filter(m=>m!==l),o.onChange(T(S({},o.abOptions),{actionRowOptions:T(S({},(p=o.abOptions)==null?void 0:p.actionRowOptions),{actionRowButtons:c})}))};return A0.createElement(HW.Box,null,A0.createElement(Qt,null,"Action Row Buttons"),A0.createElement(HW.Flex,{width:"100%",m:2},e.map(l=>A0.createElement(Ne,{mr:3,key:l.value,checked:t.some(u=>u===l.value),onChange:u=>n(l.value,u)},l.label))))};d();var vg=I(require("react")),x0=I(Ce());var Uke=["columns","filters","adaptable"],B0t=o=>(o=o,typeof o=="boolean"&&(o={toolPanels:Uke}),typeof o=="string"&&(o={toolPanels:[o]}),Array.isArray(o)&&(o={toolPanels:o}),o!=null?o:{toolPanels:[]}),V0t=(o,e)=>{var t;return((t=o==null?void 0:o.toolPanels)!=null?t:[]).some(n=>(typeof n=="string"?n:n.id)===e)},Wke=o=>{var l;let{gridOptions:e,onChange:t}=o,n=B0t(e.sideBar),r=u=>vg.createElement(Ne,{mr:3,key:u,checked:V0t(n,u),onChange:c=>i(u,c)},nt.Humanize(u)),i=(u,c)=>{var C,y;let p=(C=n==null?void 0:n.toolPanels)!=null?C:[];c?p=[...p,u]:p=p.filter(v=>(typeof v=="string"?v:v.id)!==u);let m=(y=n.hiddenByDefault)!=null?y:!1;p.length===0&&(m=!0);let h=T(S({},e),{sideBar:T(S({},n),{toolPanels:p,hiddenByDefault:m})});o.onChange(h)},a=(l=n==null?void 0:n.position)!=null?l:"right",s=u=>{let c=T(S({},e),{sideBar:T(S({},n),{position:u})});o.onChange(c)};return vg.createElement(x0.Box,null,vg.createElement(Qt,null,"Tool Panels"),vg.createElement(x0.Box,{m:2},vg.createElement(x0.Flex,{mb:2},Uke.map(r)),vg.createElement(Ke,{columns:[{name:"label"},{name:"children"}]},vg.createElement(de,{label:"Position"},vg.createElement(Qe,{columns:["label"],items:[{label:"Left",onClick:()=>s("left")},{label:"Right",onClick:()=>s("right")}]},a==="left"?"Left":"Right")))))};d();var ys=I(require("react")),R0=I(Ce());d();var zke=I(require("react")),jke=I(Ce());var Kke=o=>zke.createElement(jke.Box,T(S({},o),{padding:2,mb:2,className:$e("ab-NocodeWizardFormBox",o.className)}));var Qke=o=>{var R,w,P,D;let e=(P=(w=(R=o.gridOptions)==null?void 0:R.statusBar)==null?void 0:w.statusPanels)!=null?P:[],t=(F,M)=>F.map(O=>{let _=e.find(H=>H.key===O||H.statusPanel===O);return _?T(S({},_),{align:M}):{statusPanel:O,align:M}}),n=e.filter(F=>!(F!=null&&F.align)||F.align==="left"),r=e.filter(F=>F.align==="center"),i=e.filter(F=>F.align==="right"),a=F=>{let M=t(F[0].Items,"left"),O=t(F[1].Items,"center"),_=t(F[2].Items,"right"),H=[...M,...O,..._];o.onChange(T(S({},o.gridOptions),{statusBar:T(S({},o.gridOptions.statusBar),{statusPanels:H})}))},s=!1,l=F=>{var M;return(M=F.key)!=null?M:F.statusPanel},u=[{Name:"Left",Items:n.map(l)},{Name:"Center",Items:r.map(l)},{Name:"Right",Items:i.map(l)}],p=[{Id:"agTotalRowCountComponent",Title:"Row Count"},{Id:"agTotalAndFilteredRowCountComponent",Title:"Totals and Filtered Row Count"},{Id:"agFilteredRowCountComponent",Title:"Filtered Row Count"},{Id:"agSelectedRowCountComponent",Title:"Selected Row Count"},{Id:"agAggregationComponent",Title:"Aggregation"}],[m,h]=ys.useState(""),[C,y]=ys.useState("left"),v=!e.some(F=>F.key===m),x=[{onClick:()=>y("left"),value:"left",label:"Left"},{onClick:()=>y("center"),value:"center",label:"Center"},{onClick:()=>y("right"),value:"right",label:"Right"}],A=()=>{let F={statusPanel:"AdaptableStatusPanel",align:C,key:m},M=[...e,F];h(""),y("left"),o.onChange(T(S({},o.gridOptions),{statusBar:T(S({},o.gridOptions.statusBar),{statusPanels:M})}))};return ys.createElement(R0.Box,null,ys.createElement(Qt,null,"Status Bar"),ys.createElement(R0.Box,{p:2},ys.createElement(Kke,null,ys.createElement(R0.Box,{as:"b"},"Create Adaptable Statusbar Panel"),ys.createElement(Ke,{mt:2},ys.createElement(de,{label:"Panel Name"},ys.createElement(mt,{value:m,placehoder:"Adaptable Panel Name",onChange:F=>h(F.target.value)})),ys.createElement(de,{label:"Align"},ys.createElement(Qe,{columns:["label"],items:x},(D=x.find(F=>F.value===C))==null?void 0:D.label)),ys.createElement(de,{label:""},ys.createElement(ue,{disabled:!v,onClick:A,icon:"plus",variant:"raised"},"Add"),!v&&ys.createElement(R0.Box,{mt:2,color:"var(--ab-color-error)"},"Adaptable panel name must be unique.")))),ys.createElement(nI,{permittedActions:{createTab:!1,dragAndDropTab:!1,deleteTab:!1,editTabName:!1},onTabsChange:a,disabled:s,tabs:u,availableItems:p,tabsTitle:"Status Bar Panels",unusedPanelTitle:"Ag Grid Status Bar Panels",dragItemText:"Drag into a Status Bar Panel below"})))};var qke=o=>Yc.createElement($ke.Box,{p:2},Yc.createElement(J,null,Yc.createElement(J.Tab,null,"Tool Panel"),Yc.createElement(J.Tab,null,"Status Bar"),Yc.createElement(J.Tab,null,"Action Rows"),Yc.createElement(J.Content,null,Yc.createElement(Wke,{gridOptions:o.gridOptions,onChange:o.onChangedGridOptions})),Yc.createElement(J.Content,null,Yc.createElement(Qke,{gridOptions:o.gridOptions,onChange:o.onChangedGridOptions}))," ",Yc.createElement(J.Content,null,Yc.createElement(Hke,{abOptions:o.adaptableOptions,onChange:o.onChangedAdaptableOptions}))));d();var ni=I(require("react")),xb=I(Ce());d();d();var Yke={AccessLevel:{name:"AccessLevel",kind:"A",desc:"Whether an Entitlement is `ReadOnly`, `Hidden` or `Full`"},ActionColumn:{name:"ActionColumn",kind:"I",desc:"A Special Column that wraps an AdapTable Button",props:[{name:"actionColumnButton",kind:"u",desc:"Button (or list of buttons) to display in the Column"},{name:"actionColumnSettings",kind:"R",desc:"Additional optional properties for Column (e.g. filterable, resizable)",isOpt:!0,ref:"ActionColumnSettings"},{name:"columnId",kind:"s",desc:"Mandatory &#39;Id&#39;; if no value set for `FriendlyName`, this will also be Column name"},{name:"friendlyName",kind:"s",desc:"How Column appears in Column Header, Menus; if no value set, `ColumnId` is used",isOpt:!0},{name:"includeGroupedRows",kind:"b",desc:"Shows Action Column also in grouped rows",isOpt:!0}]},ActionColumnContext:{name:"ActionColumnContext",kind:"I",desc:"Context required by functions when using an Action Column Button",props:[{name:"actionColumn",kind:"u",desc:"Action Column in question"},{name:"data",kind:"u",desc:"The current row&#39;s data"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key Value in current row"},{name:"rowNode",kind:"u",desc:"Current AG Grid Row Node"}]},ActionColumnDefaultConfiguration:{name:"ActionColumnDefaultConfiguration",kind:"I",desc:"Default configuration to use for an FDC3 Action Column",props:[{name:"columnId",kind:"s",desc:"Column Id",isOpt:!0,defVal:"&#39;fdc3ActionColumn&#39;"},{name:"headerName",kind:"s",desc:"Column Header",isOpt:!0,defVal:"&#39;FDC3 Actions&#39;"},{name:"movable",kind:"b",desc:"If Column is movable",isOpt:!0,defVal:"true"},{name:"resizable",kind:"b",desc:"If Column is resizable",isOpt:!0,defVal:"true"},{name:"width",kind:"n",desc:"Column Width in pixels",isOpt:!0,defVal:"200"}]},ActionColumnOptions:{name:"ActionColumnOptions",kind:"I",desc:"Options related to Action Columns in AdapTable",props:[{name:"actionColumns",kind:"u",desc:"Columns which contain an AdapTable Button - used for performing Actions",isOpt:!0,defVal:"undefined"}]},ActionColumnSettings:{name:"ActionColumnSettings",kind:"I",desc:"Set of optional properties that define an Action Columns behaviour",props:[{name:"resizable",kind:"b",desc:"Whether Column can be resized (by dragging column header edges)",isOpt:!0,defVal:"true"},{name:"suppressMenu",kind:"b",desc:"Whether no menu should be shown for this Column header.",isOpt:!0,defVal:"false"},{name:"suppressMovable",kind:"b",desc:"Whether if this Column should be movable via dragging",isOpt:!0,defVal:"false"},{name:"width",kind:"n",desc:"Preferred width (in pixels) for Column; if unset, calculated dynamically by AG Grid",isOpt:!0}]},ActionHandler:{name:"ActionHandler",kind:"A",desc:"Handles a Form Button Action"},ActionRowButtonConfigurationContext:{name:"ActionRowButtonConfigurationContext",kind:"I",desc:"Context used when adding custom configuration for Action Row Buttons",props:[{name:"actionRowButtonType",kind:"R",desc:"Type of Action Row Button: &#39;create&#39;, &#39;clone&#39;, &#39;edit&#39; or &#39;delete&#39;",ref:"ActionRowButtonType"}]},ActionRowButtonOptions:{name:"ActionRowButtonOptions",kind:"I",desc:"Options for managing the Buttons in Action Rows",props:[{name:"customConfiguration",kind:"u",desc:"Optional configuration that merges with built-in action row button and overrides default configuration",isOpt:!0,defVal:"undefined"},{name:"position",kind:"'pinnedLeft' | 'pinnedRight'",desc:"Action Row Buttons position: &#39;pinnedLeft&#39; | &#39;pinnedRight",isOpt:!0,defVal:"&#39;pinnedLeft&#39;"}]},ActionRowButtonsContext:{name:"ActionRowButtonsContext",kind:"I",desc:"Context passed to Action Row Buttons"},ActionRowButtonType:{name:"ActionRowButtonType",kind:"A",desc:"Type of Action Row Button: &#39;create&#39; | &#39;clone&#39; | &#39;edit&#39; | &#39;delete&#39;"},ActionRowFormContext:{name:"ActionRowFormContext",kind:"A",desc:"Context passed into a Row Form - can be `CreateActionRowContext` or `EditActionRowContext`"},ActionRowFormOptions:{name:"ActionRowFormOptions",kind:"I",desc:"Options for Form displayed when Action Row Button is clicked",props:[{name:"formButtons",kind:"u",desc:"Custom form buttons provider. If provided, the custom implementation is responsible for firing the &#39;ActionRowSubmitted&#39; and/or invoking the &#39;onFormSubmit&#39; callback (if necessary).",isOpt:!0},{name:"formDescription",kind:"u",desc:"Custom form description provider",isOpt:!0,defVal:"undefined"},{name:"formFieldLabel",kind:"u",desc:"Custom form field label provider",isOpt:!0,defVal:"undefined"},{name:"formTitle",kind:"u",desc:"Custom form title provider",isOpt:!0,defVal:"&#39;Create New Row&#39;/&#39;Edit Row&#39;"},{name:"onFormSubmit",kind:"u",desc:"Event published when the form in an Action Row is submitted via a standard button (provided by AdapTable). This is not invoked when custom form buttons are provided!",isOpt:!0,defVal:"undefined"}]},ActionRowOptions:{name:"ActionRowOptions",kind:"I",desc:"Options related to Action Rows, Action Row Buttons and Action Row Forms",props:[{name:"actionRowButtonOptions",kind:"u",desc:"Additional options for managing Action Row Buttons",isOpt:!0,defVal:"undefined"},{name:"actionRowButtons",kind:"u",desc:"Action buttons to display for each row",isOpt:!0,defVal:"undefined"},{name:"actionRowFormOptions",kind:"u",desc:"Options for managing the Form which the Action Row displays",isOpt:!0,defVal:"undefined"},{name:"autoHandle",kind:"b",desc:"Whether AdapTable will automatically update AG Grid data model with created/edited/deleted rows",isOpt:!0,defVal:"true"},{name:"disableInlineEditing",kind:"b",desc:"Prevents direct editing in Grid cells even for editable columns",isOpt:!0,defVal:"false"},{name:"setPrimaryKeyValue",kind:"u",desc:"Function called when auto-handling &#39;create&#39; or &#39;clone&#39; Action Row Button; returned row value should be valid pk value",isOpt:!0,defVal:"undefined"}]},ActionRowParamContext:{name:"ActionRowParamContext",kind:"I",desc:"Context used for overriding Title and Description of Action Row Form"},ActionRowParamFieldContext:{name:"ActionRowParamFieldContext",kind:"I",desc:"Context used for overriding Field elements in Action Row Form"},AdaptableAggregatedBooleanQuery:{name:"AdaptableAggregatedBooleanQuery",kind:"I",desc:"Wraps an AdapTableQL Aggregated Boolean Expression"},AdaptableAggregatedScalarQuery:{name:"AdaptableAggregatedScalarQuery",kind:"I",desc:"Wraps an AdapTableQL Aggregated Scalar Expression"},AdaptableAlert:{name:"AdaptableAlert",kind:"A",desc:"Defines an Alert fired by AdapTable"},AdaptableAlertAction:{name:"AdaptableAlertAction",kind:"A",desc:"Actions available in an Alert"},AdaptableAlertBase:{name:"AdaptableAlertBase",kind:"I",desc:"Defines the base(common) properties of an Alert fired by AdapTable, regardless of the type of change",props:[{name:"alertDefinition",kind:"R",desc:"Rule that caused Alert to fire",ref:"AlertDefinition"},{name:"alertType",kind:"u",desc:"The type of Alert"},{name:"header",kind:"s",desc:"Alert Header text"},{name:"message",kind:"s",desc:"Alert Body text"}]},AdaptableAlertQuery:{name:"AdaptableAlertQuery",kind:"A",desc:"Alert Query which may be either a Boolean, Observable or AggregatedBoolean Expression"},AdaptableAlertType:{name:"AdaptableAlertType",kind:"A",desc:"Type of AdapTable Alert: generic, cellChange or rowChange"},AdaptableBaseIcon:{name:"AdaptableBaseIcon",kind:"I",desc:"Base interface for AdaptableIcon",props:[{name:"className",kind:"s",desc:"The class name of the icon",isOpt:!0},{name:"style",kind:"R",desc:"CSS Properties",isOpt:!0,ref:"unknown"}]},AdaptableBooleanQuery:{name:"AdaptableBooleanQuery",kind:"I",desc:"Wraps an AdapTableQL Boolean Expression"},AdaptableButton:{name:"AdaptableButton",kind:"I",desc:"Defines a Button that appears in numerous places including Adaptable Form",props:[{name:"buttonStyle",kind:"u",desc:"Style for Button - can be object or function that provides a `ButtonStyle` object",isOpt:!0},{name:"disabled",kind:"u",desc:"Function that disables / enables the button based on its evaluation result",isOpt:!0},{name:"hidden",kind:"u",desc:"Function which sets whether Button is hidden",isOpt:!0},{name:"icon",kind:"u",desc:"Icon for Button - can be object or function that provides a `AdaptableIcon` object",isOpt:!0},{name:"label",kind:"u",desc:"Label for Button - can be string or function that provides string",isOpt:!0},{name:"onClick",kind:"u",desc:"Function to invoke when button is clicked",isOpt:!0},{name:"tooltip",kind:"u",desc:"Tooltip for Button - can be string or function that provides string",isOpt:!0}]},AdaptableCalculatedColumnQuery:{name:"AdaptableCalculatedColumnQuery",kind:"A",desc:"Calculated Column Query which may be a Scalar or an AggregatedScalar Expression"},AdaptableCellChangedAlert:{name:"AdaptableCellChangedAlert",kind:"I",desc:"Defines an Alert fired by AdapTable when a cell is changed",props:[{name:"cellDataChangedInfo",kind:"u",desc:"Cell DataChange which triggered Alert"}]},AdaptableClearStateFunction:{name:"AdaptableClearStateFunction",kind:"I",desc:"Allows clearing state when a custom persistState is used. Only called by configApi.reloadPredefinedConfig"},AdaptableColumn:{name:"AdaptableColumn",kind:"I",desc:"Defines an Adaptable Column - created at run-time based on AG Grid ColDef",props:[{name:"aggregatable",kind:"b",desc:"Is Column able to display aggregations (e.g. &#39;sum&#39;) when grouped"},{name:"aggregationFunction",kind:"s",desc:"Custom Aggregation function for the Column",isOpt:!0},{name:"availableAggregationFunctions",kind:"a",desc:"Available Aggregations for the Column",isOpt:!0},{name:"columnGroup",kind:"R",desc:"The parent Column group (if Column belongs to one)",isOpt:!0,ref:"unknown"},{name:"exportable",kind:"b",desc:"Whether the Column can be included in Reports"},{name:"field",kind:"u",desc:"Field in the row to get cell data from",isOpt:!0},{name:"filterable",kind:"b",desc:"Is Column able to be filtered"},{name:"flex",kind:"n",desc:"Flex details of the Column",isOpt:!0},{name:"groupable",kind:"b",desc:"Can Column form a Row Group"},{name:"hideable",kind:"b",desc:"Can Column be removed from the grid"},{name:"isExcludedFromQuickSearch",kind:"b",desc:"Has colummn been excluded from Quick Search results"},{name:"isFixed",kind:"b",desc:"Is Column pinned or locked into position"},{name:"isGrouped",kind:"b",desc:"Is Column currently Row-Grouped"},{name:"isPrimaryKey",kind:"b",desc:"Is this the Primary Key Column"},{name:"isSparkline",kind:"b",desc:"Is it a Sparkline Column"},{name:"moveable",kind:"b",desc:"Can Column be moved at run-time to a new position"},{name:"pinned",kind:"'left' | 'right' | false",desc:"The pinned position of the Column"},{name:"pivotable",kind:"b",desc:"Can Column be used in a Pivot Grid"},{name:"queryable",kind:"b",desc:"Can the Column be in included in Queries / Expressions"},{name:"readOnly",kind:"b",desc:"Is Column editable; returns FALSE if Column has conditional/dynamic editability, assuming some rows are editable"},{name:"sortable",kind:"b",desc:"Is Column sortable"},{name:"visible",kind:"b",desc:"Is Column currently visible"},{name:"width",kind:"n",desc:"Column width",isOpt:!0}]},AdaptableColumnBase:{name:"AdaptableColumnBase",kind:"I",desc:"Base class for Adaptable Column containing most important properties",props:[{name:"columnId",kind:"s",desc:"Name of Column in AG Grid (e.g. field or colId)"},{name:"dataType",kind:"R",desc:"DataType of the Column",ref:"AdaptableColumnDataType"},{name:"friendlyName",kind:"s",desc:"How Column is referred to in Adaptable UI; `Caption` property in AG Grid"}]},AdaptableColumnDataType:{name:"AdaptableColumnDataType",kind:"A",desc:"Type of data stored in an Adaptable Column"},AdaptableColumnPredicate:{name:"AdaptableColumnPredicate",kind:"I",desc:"Restricts a Predicate to a given Column",props:[{name:"ColumnId",kind:"s",desc:"Id of Column which will be evaluated by the Predicate",isOpt:!0}]},AdaptableColumnType:{name:"AdaptableColumnType",kind:"A",desc:"Column Types recognised by AdapTable; to be set in GridOptions"},AdaptableComment:{name:"AdaptableComment",kind:"I",desc:"Comment that can be applied to a Cell in AdapTable",props:[{name:"AdaptableId",kind:"s",desc:"Id of this AdapTable instance"},{name:"Author",kind:"u",desc:"Author of the Comment"},{name:"ColumnId",kind:"s",desc:"Id of Column containing the Comment"},{name:"PrimaryKeyValue",kind:"u",desc:"Value in Grid&#39;s Primary Key Column"},{name:"Timestamp",kind:"n",desc:"When Comment was made"},{name:"Value",kind:"s",desc:"Value of the Comment"}]},AdaptableComments:{name:"AdaptableComments",kind:"A",desc:"Collection of Cell Comments"},AdaptableComparerFunction:{name:"AdaptableComparerFunction",kind:"A",desc:"Standard comparer function used to evaluate custom sorts, returns -1, 0, 1 as required"},AdaptableConfig:{name:"AdaptableConfig",kind:"I",desc:"Config used by No Code Plugin to set up AdapTable",props:[{name:"adaptableOptions",kind:"R",desc:"Adaptable Options object",ref:"AdaptableOptions"},{name:"gridOptions",kind:"R",desc:"AG Grid Grid Options object",ref:"unknown"}]},AdaptableCoordinate:{name:"AdaptableCoordinate",kind:"I",desc:"Used by AdapTable to remember position of Floating Dashboard",props:[{name:"x",kind:"n",desc:"x axis number"},{name:"y",kind:"n",desc:"y axis number"}]},AdaptableCustomIcon:{name:"AdaptableCustomIcon",kind:"I",desc:"Defines an icon from an external source",props:[{name:"src",kind:"s",desc:"The URL of the icon to use"}]},AdaptableDashboardToolbar:{name:"AdaptableDashboardToolbar",kind:"A",desc:"List of all the Toolbars that Adaptable provides"},AdaptableDataChangeHistoryAction:{name:"AdaptableDataChangeHistoryAction",kind:"A",desc:"Built in `undo` or `clear` data change action"},AdaptableElementIcon:{name:"AdaptableElementIcon",kind:"I",desc:"Defines an icon as a provided DOM element or HTML string",props:[{name:"element",kind:"u",desc:"The icon to display, either a DOM element or HTML string"}]},AdaptableFlashingCell:{name:"AdaptableFlashingCell",kind:"I",desc:"Defines an Alert fired by AdapTable",props:[{name:"cellDataChangedInfo",kind:"R",desc:"Data change which triggered the FlashingCell",isOpt:!0,ref:"CellDataChangedInfo"},{name:"direction",kind:"'up' | 'down' | 'neutral'",desc:"Direction of the change: &#39;up&#39;, &#39;down&#39; or &#39;neutral&#39;"},{name:"flashColumnIds",kind:"u",desc:"Column Ids that are flashing"},{name:"flashingCellDefinition",kind:"R",desc:"Rule that caused the FlashingCell to fire",ref:"FlashingCellDefinition"},{name:"flashTarget",kind:"u",desc:"What will flash (e.g. Cell, Row)"},{name:"rowPrimaryKey",kind:"s",desc:"Primary Key Value of Row which is flashing"}]},AdaptableForm:{name:"AdaptableForm",kind:"I",desc:"Defines a form which appears dynamically; used by Alerts &amp; Export Custom Destinations",props:[{name:"buttons",kind:"a",desc:"Buttons to include in the Form",isOpt:!0},{name:"description",kind:"s",desc:"Additional information to appear in the Form",isOpt:!0},{name:"fields",kind:"u",desc:"Collection of Dynamic Fields to display",isOpt:!0},{name:"title",kind:"s",desc:"Title to appear in the Form",isOpt:!0}]},AdaptableFormat:{name:"AdaptableFormat",kind:"A",desc:"Object containing formatting information for Numeric and Date Columns"},AdaptableFormData:{name:"AdaptableFormData",kind:"A",desc:"Data which appears in an AdapTable Form"},AdaptableFormField:{name:"AdaptableFormField",kind:"I",desc:"Defines a Field that appears in an Adaptable Form",props:[{name:"defaultValue",kind:"string | boolean | number",desc:"Field Default Value - can be of type string, boolean, number",isOpt:!0},{name:"fieldType",kind:"R",desc:"Field Type: text, date, number, checkbox, select, textOutput",ref:"AdaptableFormFieldType"},{name:"label",kind:"s",desc:"Label to display in the Field"},{name:"name",kind:"s",desc:"Name of the Field"},{name:"options",kind:"u",desc:"Items to populate the Select input",isOpt:!0}]},AdaptableFormFieldType:{name:"AdaptableFormFieldType",kind:"A",desc:"Types of Controls used in an AdapTable Form"},AdaptableFrameworkComponent:{name:"AdaptableFrameworkComponent",kind:"A",desc:"Base Component for Bespoke Components - Can be Angular or React"},AdaptableGenericAlert:{name:"AdaptableGenericAlert",kind:"I",desc:"Defines a generic AdapTable Alert"},AdaptableIcon:{name:"AdaptableIcon",kind:"A",desc:"Defines an icon to be used in AdapTable (e.g. in Dashboard Header, Buttons, Menu, etc.)"},AdaptableLoadStateFunction:{name:"AdaptableLoadStateFunction",kind:"I",desc:"Allows customization of state loading - used by `loadState` function in StateOptions"},AdaptableMenuItem:{name:"AdaptableMenuItem",kind:"I",desc:"Menu item used by Adaptable in both Column and Context Menus",props:[{name:"icon",kind:"R",desc:"Icon to display in Menu Item",isOpt:!0,ref:"AdaptableIcon"},{name:"isVisible",kind:"b",desc:"Whether menu item is visible"},{name:"label",kind:"s",desc:"Name that appears in the menu"},{name:"module",kind:"u",desc:"Adaptable Module associated with (Adaptable) menu item.",isOpt:!0},{name:"onClick",kind:"u",desc:"Function to invoke when (custom) menu item is clicked",isOpt:!0},{name:"reduxAction",kind:"R",desc:"Adaptable Redux Action to invoke when (Adaptable) menu item is clicked",isOpt:!0,ref:"unknown"},{name:"subItems",kind:"a",desc:"Sub Menu Items to display",isOpt:!0}]},AdaptableMessageType:{name:"AdaptableMessageType",kind:"A",desc:"Defines a Message Types: &#39;Success&#39;, &#39;Info&#39;, &#39;Warning&#39; or &#39;Error&#39;"},AdaptableModule:{name:"AdaptableModule",kind:"A",desc:"Modules provided by AdapTable, subject to Entitlements and usually have Predefined Config"},AdaptableModuleButton:{name:"AdaptableModuleButton",kind:"A",desc:"List of all the Module buttons Adaptable provides - each Module has a popup for which this is a shortcut button"},AdaptableNoCodeWizardOptions:{name:"AdaptableNoCodeWizardOptions",kind:"I",desc:"AdapTable Options used by the No Code Wizard"},AdaptableObject:{name:"AdaptableObject",kind:"I",desc:"Base interface which all other Adaptable State-related objects extend",props:[{name:"IsReadOnly",kind:"b",desc:"Sets Entity to ReadOnly (overwriting a Strategy Entitlement of &#39;Full&#39;)",isOpt:!0},{name:"Source",kind:"'Config' | 'User'",desc:"Source of state object: &#39;Config&#39; if provided via `AdaptableOptions.predefinedConfig`, &#39;User&#39; or undefined for runtime state.",isOpt:!0},{name:"Tags",kind:"a",desc:"List of Tags associated with the Object; often used for (but not limited to) managing Layout object scope",isOpt:!0},{name:"Uuid",kind:"R",desc:"Unique identifier for the Adaptable Object, generated and used internally by AdapTable",isOpt:!0,ref:"unknown"}]},AdaptableObjectLookupCriteria:{name:"AdaptableObjectLookupCriteria",kind:"I",desc:"Lookup criteria for finding specific Adaptable Objects; all given criteria will be composed with an AND operator",props:[{name:"ids",kind:"u",desc:"Technical IDs of Adaptable Objects",isOpt:!0},{name:"scope",kind:"R",desc:"AdaptableScope",isOpt:!0,ref:"AdaptableScope"},{name:"tag",kind:"R",desc:"AdaptableObjectTag",isOpt:!0,ref:"AdaptableObjectTag"}]},AdaptableObjectTag:{name:"AdaptableObjectTag",kind:"A",desc:"AdaptableObjectTag Object Tag - currently supporting only plain string values, but open for future extensions, if needed"},AdaptableObservableQuery:{name:"AdaptableObservableQuery",kind:"I",desc:"Wraps an AdapTableQL Observable Expression"},AdaptableOptions:{name:"AdaptableOptions",kind:"I",desc:"Large group of options enabling developers to set up AdapTable at design time to fit precise requirements",props:[{name:"actionColumnOptions",kind:"u",desc:"Options for managing Action Columns",isOpt:!0},{name:"actionRowOptions",kind:"u",desc:"Options for managing Action Rows",isOpt:!0},{name:"adaptableId",kind:"s",desc:"Identifier for this instance of AdapTable",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"&#39;adaptable_id&#39;"},{name:"adaptableStateKey",kind:"s",desc:"Identifier used as localStorage persistence key for AdaptableState",isOpt:!0,gridInfo:"item",defVal:"`adaptableId` value"},{name:"alertOptions",kind:"u",desc:"Options for managing Alerts in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"autogeneratePrimaryKey",kind:"b",desc:"Will autogenerate a Primary Key; only use as a last resort if no unique column is available, as limits some Adaptable functionalities",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"calendarOptions",kind:"R",desc:"Options for managing Holidays and Working Days",isOpt:!0,ref:"CalendarOptions"},{name:"cellSummaryOptions",kind:"u",desc:"Options for adding custom Cell Summaries",isOpt:!0},{name:"chartingOptions",kind:"R",desc:"Options for managing AG Grid&#39;s Charting",isOpt:!0,noCode:"container",ref:"ChartingOptions"},{name:"columnOptions",kind:"R",desc:"Options related to Columns",isOpt:!0,noCode:"container",ref:"ColumnOptions"},{name:"commentOptions",kind:"R",desc:"Options for managing AdapTable Comments",isOpt:!0,ref:"CommentOptions"},{name:"containerOptions",kind:"R",desc:"Options for setting the &#39;Div&#39; elements in which AdapTable, AG Grid, popups are placed",isOpt:!0,ref:"ContainerOptions"},{name:"customSortOptions",kind:"R",desc:"Options for using Custom Sort",isOpt:!0,ref:"CustomSortOptions"},{name:"dashboardOptions",kind:"R",desc:"Options for managing the Dashboard in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container",ref:"DashboardOptions"},{name:"dataChangeHistoryOptions",kind:"u",desc:"Options to manage Data Change History Module which provides an overview of all data changes",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"dataSetOptions",kind:"u",desc:"Options to manage Data Sets",isOpt:!0},{name:"editOptions",kind:"u",desc:"Options related to Editing in AdapTable including Server Validation",isOpt:!0,gridInfo:"container"},{name:"entitlementOptions",kind:"R",desc:"Options for managing Entitlements",isOpt:!0,gridInfo:"container",ref:"EntitlementOptions"},{name:"exportOptions",kind:"R",desc:"Options for managing Exporting and Reports in AdapTable",isOpt:!0,gridInfo:"container",ref:"ExportOptions"},{name:"expressionOptions",kind:"u",desc:"Options for managing AdapTableQL Expressions",isOpt:!0,noCode:"container"},{name:"fdc3Options",kind:"R",desc:"Options for managing FDC3 in AdapTable",isOpt:!0,ref:"Fdc3Options"},{name:"filterOptions",kind:"u",desc:"Options for managing Filtering in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"flashingCellOptions",kind:"R",desc:"Options for managing Flashing Cells - primarily default values",isOpt:!0,gridInfo:"container",ref:"FlashingCellOptions"},{name:"formatColumnOptions",kind:"R",desc:"Options for providing Custom Display Formats",isOpt:!0,ref:"FormatColumnOptions"},{name:"groupingOptions",kind:"u",desc:"Options related to Row Grouping",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"layoutOptions",kind:"R",desc:"Options related to Layouts",isOpt:!0,gridInfo:"container",noCode:"container",ref:"LayoutOptions"},{name:"licenseKey",kind:"s",desc:"Commercial license key. If the license is not provided or is expired, various visual information notes will be displayed and some functionality may be limited.",isOpt:!0},{name:"menuOptions",kind:"u",desc:"Options for managing AdapTable menus",isOpt:!0,gridInfo:"container"},{name:"notificationsOptions",kind:"R",desc:"Options for managing Notifications in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container",ref:"NotificationsOptions"},{name:"plugins",kind:"a",desc:"Used for managing the AdapTable Plugins",isOpt:!0},{name:"predefinedConfig",kind:"u",desc:"User State set at design-time and shipped with AdapTable for first use; can be `PredefinedConfig` object or url to file containing config",isOpt:!0,defVal:"undefined"},{name:"predicateOptions",kind:"R",desc:"Options for managing Predicates in AdapTableQL",isOpt:!0,ref:"PredicateOptions"},{name:"primaryKey",kind:"s",desc:"Name of Column in AdapTable guaranteed to contain unique values",gridInfo:"item",defVal:"n/a (Mandatory)"},{name:"quickSearchOptions",kind:"u",desc:"Options for managing Search related functions in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"settingsPanelOptions",kind:"R",desc:"Setting panel options",isOpt:!0,gridInfo:"container",noCode:"container",ref:"SettingsPanelOptions"},{name:"stateOptions",kind:"R",desc:"Options related to state hydration / dehydration - allows users to intercept state persistence and state loading and change default behaviour of saving to local storage",isOpt:!0,ref:"StateOptions"},{name:"teamSharingOptions",kind:"R",desc:"Options for managing &#39;Team Sharing&#39; which allows users to create Adaptable Objects and share with colleagues",isOpt:!0,gridInfo:"container",ref:"TeamSharingOptions"},{name:"toolPanelOptions",kind:"R",desc:"Options related to managing the Tool Panel elements in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container",ref:"ToolPanelOptions"},{name:"userInterfaceOptions",kind:"u",desc:"Options for managing the User Interface elements of AdapTable, i.e. Action Columns, Color Palette etc.",isOpt:!0,gridInfo:"container"},{name:"userName",kind:"s",desc:"Name of current AdapTable user",isOpt:!0,gridInfo:"item",defVal:"&#39;anonymous&#39;"}]},AdaptablePersistentState:{name:"AdaptablePersistentState",kind:"I",desc:"The state object of Adaptable which is persisted"},AdaptablePersistStateFunction:{name:"AdaptablePersistStateFunction",kind:"I",desc:"Allows customization of state persistence - used `persistState` function in StateOptions"},AdaptablePlugin:{name:"AdaptablePlugin",kind:"C",desc:"Base class for all AdapTable Plugins"},AdaptablePredicate:{name:"AdaptablePredicate",kind:"I",desc:"Predicate object used by AdapTableQL - essentially a boolean function",props:[{name:"Inputs",kind:"a",desc:"Optional Inputs that might be needed for evaluation",isOpt:!0},{name:"PredicateId",kind:"s",desc:"Id of Predicate (e.g. `Equals`, `GreaterThan`)"}]},AdaptablePredicateDef:{name:"AdaptablePredicateDef",kind:"I",desc:"Defines a Predicate - include where it can run and what it does",props:[{name:"columnScope",kind:"R",desc:"Columns (or DataTypes) where Predicate is active",ref:"AdaptableScope"},{name:"handler",kind:"f",desc:"Actual boolean function invoked when evaluating the Predicate"},{name:"icon",kind:"u",desc:"Icon to show (primarily used in Filter dropdown)",isOpt:!0},{name:"id",kind:"s",desc:"Unique Id for the object"},{name:"inputs",kind:"a",desc:"Inputs the Predicate can take",isOpt:!0},{name:"label",kind:"s",desc:"Name of the Predicate"},{name:"moduleScope",kind:"a",desc:"Modules where the Predicate can run"},{name:"shortcuts",kind:"a",desc:"Keyboard shortcuts to initiate predicate - used in Quick Filter bar",isOpt:!0},{name:"toString",kind:"f",desc:"String representation of the Predicate",isOpt:!0}]},AdaptableQLModule:{name:"AdaptableQLModule",kind:"A",desc:"Modules which leverage AdapTableQL; can be used to set remote evaluation"},AdaptableQuery:{name:"AdaptableQuery",kind:"A",desc:"An AdaptableQuery can be either a Boolean, Scalar, Observable, AggregatedBoolean, or AggregatedScalar expression"},AdaptableReportColumn:{name:"AdaptableReportColumn",kind:"I",desc:"Column which is included in a Report",props:[{name:"columnId",kind:"s",desc:"ColumnID"},{name:"dataType",kind:"R",desc:"DataType of the Column",ref:"AdaptableColumnDataType"},{name:"field",kind:"s",desc:"Field name to get the value from the row data (defaults to `columnId`)",isOpt:!0},{name:"friendlyName",kind:"s",desc:"Column Header"}]},AdaptableRowChangedAlert:{name:"AdaptableRowChangedAlert",kind:"I",desc:"Defines an Alert fired by AdapTable when a row is changed",props:[{name:"gridDataChangedInfo",kind:"u",desc:"Row DataChange which triggered Alert"}]},AdaptableSaveStateFunction:{name:"AdaptableSaveStateFunction",kind:"I",desc:"Allows the customization state persistence - used by `saveState` function in StateOptions"},AdaptableScalarQuery:{name:"AdaptableScalarQuery",kind:"I",desc:"Wraps an AdapTableQL Scalar Expression"},AdaptableScope:{name:"AdaptableScope",kind:"A",desc:"Defines where a given Object / Module is active"},AdaptableSettingsPanel:{name:"AdaptableSettingsPanel",kind:"A",desc:"Modules which can appear in the Settings Panel"},AdaptableSharedEntity:{name:"AdaptableSharedEntity",kind:"I",desc:"Defines an AdaptableObject shared with Team Sharing",props:[{name:"ChangedAt",kind:"n",desc:"Last time when the object was changed"},{name:"ChangedBy",kind:"s",desc:"Last User who changed the object"},{name:"Description",kind:"s",desc:"Description of object being shared"},{name:"Entity",kind:"R",desc:"Actual Adaptable Object being shared",ref:"AdaptableObject"},{name:"EntityDependencyIds",kind:"a",desc:"Ids of direct entity dependencies"},{name:"EntityType",kind:"u",desc:"Type of shared entity (either Adaptable specific or custom object)"},{name:"Module",kind:"R",desc:"Adaptable Module to which object belongs",ref:"AdaptableModule"},{name:"Revision",kind:"n",desc:"Revision - incremental for &#39;Active&#39;, always 1 for &#39;Snapshot&#39;"},{name:"Timestamp",kind:"n",desc:"When the object was shared"},{name:"Type",kind:"R",desc:"&#39;Snapshot&#39; (for 1-time sharing) or &#39;Active&#39; (for continuous sharing)",ref:"SharedEntityType"},{name:"UserName",kind:"s",desc:"User who shared the object"}]},AdaptableSharedEntityConfig:{name:"AdaptableSharedEntityConfig",kind:"I",desc:"Describes an AdaptableObject which is being Team Shared"},AdaptableState:{name:"AdaptableState",kind:"I",desc:"The main state object of Adaptable"},AdaptableStateFunctionConfig:{name:"AdaptableStateFunctionConfig",kind:"I",desc:"State Function Config object passed into all State Options functions (except &#39;applyState&#39;)",props:[{name:"adaptableId",kind:"s",desc:"Id of current Adaptable instance"},{name:"adaptableStateKey",kind:"s",desc:"State Key being used"},{name:"userName",kind:"s",desc:"current Adaptable user"}]},AdaptableStatusBar:{name:"AdaptableStatusBar",kind:"I",desc:"Defines an Adaptable Status Bar",props:[{name:"Key",kind:"s",desc:"Key of Status Bar Panel defined in AG Grid GridOptions - ensure keys are the same (Note: AG Grid statusPanel has a lowercase &#39;key&#39;)"},{name:"StatusBarPanels",kind:"a",desc:"Module Status Panels to render inside Adaptable Status Bar",isOpt:!0}]},AdaptableStatusBarPanel:{name:"AdaptableStatusBarPanel",kind:"A",desc:"Modules which can appear in the AdapTable Status Bar"},AdaptableStyle:{name:"AdaptableStyle",kind:"I",desc:"Style object used in numerous AdapTable Modules",props:[{name:"BackColor",kind:"s",desc:"Colour background of cell: hex, rgb(a) or name",isOpt:!0},{name:"BorderColor",kind:"s",desc:"Colour of cell border: hex, rgb(a) or name",isOpt:!0},{name:"BorderRadius",kind:"n",desc:"Rounds corners of an element&#39;s outer border edge; equivalent of CSS border-radius",isOpt:!0},{name:"ClassName",kind:"s",desc:"Existing CSS Class; use instead of setting other object properties",isOpt:!0},{name:"FontSize",kind:"'XSmall' | 'Small' | 'Medium' | 'Large' | 'XLarge'",desc:"Size of font: `XSmall`, `Small`, `Medium`, `Large` or `XLarge`",isOpt:!0},{name:"FontStyle",kind:"'Normal' | 'Italic'",desc:"Style of font: `Normal` or `Italic`",isOpt:!0},{name:"FontWeight",kind:"'Normal' | 'Bold'",desc:"Weight of font: `Normal` or `Bold`",isOpt:!0},{name:"ForeColor",kind:"s",desc:"Font colour in cell: hex, rgb(a) or name",isOpt:!0},{name:"TextDecoration",kind:"'None' | 'Underline' | 'Overline' | 'LineThrough'",desc:"Decoration of font: `None`, `Underline`, `Overline` or `LineThrough`",isOpt:!0}]},AdaptableSystemIcon:{name:"AdaptableSystemIcon",kind:"I",desc:"Defines an icon from the System AdapTable icon set",props:[{name:"name",kind:"u",desc:"The name of the icon to use (referencing the AdapTable Icon Library)"},{name:"size",kind:"n",desc:"The size (in pixels) of the SVG icon (defaults to `17px`)",isOpt:!0}]},AdaptableSystemIconName:{name:"AdaptableSystemIconName",kind:"A",desc:"All AdapTable System Icon names"},AdaptableTheme:{name:"AdaptableTheme",kind:"I",desc:"Used for creating User (i.e. Custom) Themes",props:[{name:"AgGridClassName",kind:"s",desc:"Ag Grid theme to apply when loading theme",isOpt:!0},{name:"CSSVariables",kind:"u",desc:"Variables to be applied at runtime",isOpt:!0},{name:"Description",kind:"s",desc:"Description of Theme - will appear in Theme Toolbar and Toolpanel"},{name:"Name",kind:"s",desc:"Name of the Theme"},{name:"Variant",kind:"'light' | 'dark'",desc:"Whether theme is based on system Light or Dark Themes",isOpt:!0}]},AdaptableToolPanel:{name:"AdaptableToolPanel",kind:"A",desc:"Modules which can appear as AdapTable Tool Panels"},AdaptableToolPanelDefinition:{name:"AdaptableToolPanelDefinition",kind:"I",desc:"Defines a ToolPanel - Name and VisibilityMode (Expanded / Collapsed)",props:[{name:"Name",kind:"u",desc:"ToolPanel name - either an Adaptable Module or a Custom ToolPanel (defined in ToolPanel Options)"},{name:"VisibilityMode",kind:"'expanded' | 'collapsed'",desc:"Whether the ToolPanel is &#39;expanded&#39; or &#39;collapsed&#39;",isOpt:!0,defVal:"&#39;collapsed&#39;"}]},AggregationColumns:{name:"AggregationColumns",kind:"A",desc:"Defines which Columns in a Layout display Aggregated values when Row-Grouped"},AgGridConfig:{name:"AgGridConfig",kind:"I",desc:"Contains AG Grid Options and Modules - used when instantiating AdapTable vanilla",props:[{name:"gridOptions",kind:"R",desc:"AG Grid GridOptions object",ref:"unknown"},{name:"modules",kind:"a",desc:"AG Grid Modules"}]},AlertButton:{name:"AlertButton",kind:"I",desc:"Defines a button that appears in an Alert Form",props:[{name:"Action",kind:"u",desc:"Predefined Action(s) to trigger when button is clicked; but the implementation in `actionHandlers` property of Alert Options",isOpt:!0},{name:"ButtonStyle",kind:"R",desc:"Style for the Button",isOpt:!0,ref:"ButtonStyle"},{name:"Label",kind:"s",desc:"Label to show in the Button"},{name:"Tooltip",kind:"s",desc:"ToolTip to display",isOpt:!0}]},AlertButtonForm:{name:"AlertButtonForm",kind:"A",desc:"Form triggered by an Alert which contains only Buttons"},AlertDefinition:{name:"AlertDefinition",kind:"I",desc:"The Alert Definition object used in the Alert function",props:[{name:"AlertForm",kind:"u",desc:"Form to display in Alert with buttons and inputs",isOpt:!0},{name:"AlertProperties",kind:"R",desc:"Series of properties which set what happens when Alert is triggered",isOpt:!0,ref:"AlertProperties"},{name:"MessageHeader",kind:"s",desc:"Title of displayed Alert Message",isOpt:!0},{name:"MessageText",kind:"s",desc:"Title of dipslayed Alert Message; if null, AdapTable creates dynamically using Rule &amp; Scope",isOpt:!0},{name:"MessageType",kind:"R",desc:"Type of Alert: &#39;Info&#39;, &#39;Success&#39;, &#39;Warning&#39;, &#39;Error&#39;; influences Alert colour, icon and logging",ref:"AdaptableMessageType"},{name:"Rule",kind:"R",desc:"When Alert should be triggered",ref:"AlertRule"},{name:"Scope",kind:"R",desc:"Where Alert can be triggered: one, some or all columns or DataTypes",ref:"AdaptableScope"}]},AlertDefinitionPredicate:{name:"AlertDefinitionPredicate",kind:"I",desc:"Predicate used when creating a Predicate-based Rule for an Alert"},AlertForm:{name:"AlertForm",kind:"A",desc:"Form to show in an Alert"},AlertFormContext:{name:"AlertFormContext",kind:"I",desc:"Context required by functions when using an Alert Button",props:[{name:"alert",kind:"u",desc:"Alert that has been triggered"}]},AlertMessageContext:{name:"AlertMessageContext",kind:"I",desc:"Context used for creating bespoke Alert messages",props:[{name:"alertDefinition",kind:"R",desc:"Current Alert Definition",ref:"AlertDefinition"},{name:"cellDataChangedInfo",kind:"u",desc:"Cell Data change that might have triggered the Alert",isOpt:!0},{name:"gridDataChangedInfo",kind:"u",desc:"Grid Data change that might have triggered the Alert (i.e. RowAdded / RowRemoved)",isOpt:!0}]},AlertOptions:{name:"AlertOptions",kind:"I",desc:"Options related to Alerts in Adaptable.",props:[{name:"actionHandlers",kind:"u",desc:"Custom onClick Handlers for Buttons (displayed in Alert Forms)",isOpt:!0},{name:"alertForms",kind:"u",desc:"Full definitions of Alert Forms - the names of which are provided in Alert State",isOpt:!0},{name:"alertMessageHeader",kind:"u",desc:"Function providing Header to display in Alert; if empty, AdapTable provides dynamically",isOpt:!0},{name:"alertMessageText",kind:"u",desc:"Function providing Message to display in Alert; if empty, AdapTable provides dynamically",isOpt:!0},{name:"cellHighlightDuration",kind:"n",desc:"How long (in ms) a Cell will be highlighted when an Alert fires",isOpt:!0,gridInfo:"item",defVal:"2000"},{name:"dataChangeDetectionPolicy",kind:"'rawValue' | 'formattedValue'",desc:"Whether Alert rule is evaluated against the `rawValue` or `formattedValue` of the changed cell data",isOpt:!0,gridInfo:"item",defVal:"&#39;rawValue&#39;"},{name:"maxAlertsInStore",kind:"n",desc:"How many alerts held in State at any one time; when limit is breached, oldest alert will be removed",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"20"},{name:"rowHighlightDuration",kind:"n",desc:"How long (in ms) a Row will be highlighted when an Alert Fires",isOpt:!0,gridInfo:"item",defVal:"4000"},{name:"showMissingPrimaryKeyAlert",kind:"b",desc:"Shows Alert if Primary Key column in Adaptable Options is not present or incorrect",uiLabel:"Show Missing Primary Key Warning",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"statusbarHighlightDuration",kind:"n",desc:"How long (in ms) Alert panel in Status Bar highlights when an Alert Fires",isOpt:!0,defVal:"2000"}]},AlertProperties:{name:"AlertProperties",kind:"I",desc:"Additional properties that specify how a particular Alert will ALWAYS behave",props:[{name:"DisplayNotification",kind:"b",desc:"Displays a notification when Alert is triggered",isOpt:!0},{name:"HighlightCell",kind:"u",desc:"Colours updated Row using `MessageType` of triggering Alert Definition",isOpt:!0},{name:"HighlightRow",kind:"u",desc:"Colours updated Row using `MessageType` of triggering Alert Definition",isOpt:!0},{name:"JumpToCell",kind:"b",desc:"Grid will &#39;jump&#39; to the changed cell which triggered the Alert",isOpt:!0},{name:"JumpToRow",kind:"b",desc:"Grid will &#39;jump&#39; to the newly added row which triggered the Alert",isOpt:!0},{name:"LogToConsole",kind:"b",desc:"Logs the Alert message to the console",isOpt:!0},{name:"NotificationDuration",kind:"u",desc:"Notifiction duration(defaults to `NotificationOptions.duration`)",isOpt:!0},{name:"PreventEdit",kind:"b",desc:"Automatically prevent any cell edit which triggered the Alert (i.e. validation)",isOpt:!0,defVal:"false"},{name:"ShowInDiv",kind:"b",desc:"Shows Alert text in the div specificed in `alertContainer` property of Container Options",isOpt:!0}]},AlertRule:{name:"AlertRule",kind:"A",desc:"The Alert Rule defined by either an AdaptablePredicate or an AdaptableQuery"},AlertState:{name:"AlertState",kind:"I",desc:"Predefined Configuration for Alert Module",props:[{name:"AlertDefinitions",kind:"a",desc:"Alert Definitions - will trigger Alerts when rule is met",isOpt:!0}]},AlternativeModuleName:{name:"AlternativeModuleName",kind:"I",desc:"Defines a new name for an Adaptable Module (e.g. change Dashboard to Grid Manager)",props:[{name:"adaptableModule",kind:"R",desc:"Adaptable Module to rename",ref:"AdaptableModule"},{name:"newName",kind:"s",desc:"New name to use"}]},AngularFrameworkComponent:{name:"AngularFrameworkComponent",kind:"A",desc:"Angular component defined by its type and (optional) initialisation callback"},ApplicationDataEntry:{name:"ApplicationDataEntry",kind:"I",desc:"Simple Key / Value pair object used to store custom - stringifiable - data in Adaptable State.",props:[{name:"Key",kind:"s",desc:"Key of Key / Value pair - always stored as a string"},{name:"Value",kind:"u",desc:"Value of Key / Value pair (actual data being stored) - needs to stringifiable"}]},ApplicationState:{name:"ApplicationState",kind:"I",desc:"Predefined Configuration for the Application Module",props:[{name:"ApplicationDataEntries",kind:"a",desc:"Array of Key / Value pairs enabling custom data to be stored in Adaptable State.",isOpt:!0}]},AutoGenerateTagsForLayoutsContext:{name:"AutoGenerateTagsForLayoutsContext",kind:"I",desc:"Context for `LayoutOptions.autoGenerateTagsForLayouts` method",props:[{name:"layouts",kind:"a",desc:"Layouts currently in Adaptable State"},{name:"objectTags",kind:"a",desc:"Object Tags provided in User Interface Options"}]},BadgeStyle:{name:"BadgeStyle",kind:"I",desc:"Collection of Badge Style Definitions to display in a Badge Styled Column",props:[{name:"Badges",kind:"a",desc:"Collection of Badge Style Definitions",isOpt:!0}]},BadgeStyleDefinition:{name:"BadgeStyleDefinition",kind:"I",desc:"Defines a Badge Style",props:[{name:"Icon",kind:"u",desc:"Icon to display in Badge",isOpt:!0},{name:"IconPosition",kind:"'Start' | 'End'",desc:"Position of Icon in the Badge - &#39;Start&#39; or &#39;End&#39;",isOpt:!0},{name:"Predicate",kind:"R",desc:"Optional Rule for deciding whether Badge is displayed",isOpt:!0,ref:"BadgeStylePredicate"},{name:"Style",kind:"R",desc:"Style for the Badge",isOpt:!0,ref:"AdaptableStyle"}]},BadgeStylePredicate:{name:"BadgeStylePredicate",kind:"I",desc:"System Predicate definition for Badge Style"},BaseContext:{name:"BaseContext",kind:"I",desc:"Base Context used in many functions provided by developers and invoked as needed by AdapTable",props:[{name:"adaptableApi",kind:"R",desc:"The Adaptable Api - included as a convenience",ref:"unknown"},{name:"adaptableId",kind:"s",desc:"Id of current AdapTable instance"},{name:"userName",kind:"s",desc:"Name of Current User"}]},BasePermittedValues:{name:"BasePermittedValues",kind:"I",desc:"Base class for all Permitted Values related objects",props:[{name:"scope",kind:"R",desc:"Scope where Values will appear (Mandatory property)",ref:"AdaptableScope"}]},BroadcastConfig:{name:"BroadcastConfig",kind:"I",desc:"Config used when broadcasting FDC3 Context",props:[{name:"actionButton",kind:"R",desc:"Definition of Action Button (to be put in default FDC3 Action Column)",isOpt:!0,ref:"Fdc3AdaptableButton"},{name:"actionColumn",kind:"R",desc:"Custom FDC3 Action Column definition to broadcast the Context",isOpt:!0,ref:"FDC3ActionColumn"},{name:"contextMenu",kind:"u",desc:"Columns to display a &#39;Broadcast&#39; Context Menu item",isOpt:!0}]},BulkUpdatePermittedValues:{name:"BulkUpdatePermittedValues",kind:"I",desc:"User to define permitted values when updating cells via bulk update",props:[{name:"values",kind:"u",desc:"Function returning Values to display in Bulk Update Wizard - can be async"}]},BulkUpdatePermittedValuesContext:{name:"BulkUpdatePermittedValuesContext",kind:"I",desc:"Context used when getting BulkUpdatePermittedValues via a function",props:[{name:"gridCells",kind:"u",desc:"Cells which will be modified in the Bulk Update"}]},ButtonStyle:{name:"ButtonStyle",kind:"I",desc:"Defines the look and feel of an Adaptable Button",props:[{name:"className",kind:"s",desc:"CSS Classname to use for the Button",isOpt:!0},{name:"tone",kind:"'success' | 'error' | 'neutral' | 'none' | 'warning' | 'info' | 'accent'",desc:"Button&#39;s Tone - values: &#39;success&#39;, &#39;error&#39;, &#39;neutral&#39;, &#39;none&#39;, &#39;warning&#39;, &#39;info&#39;, &#39;accent&#39;",isOpt:!0,defVal:"&#39;neutral&#39;"},{name:"variant",kind:"'text' | 'outlined' | 'raised'",desc:"How Button appears - values: &#39;text&#39;, &#39;outlined&#39;, &#39;raised&#39;",isOpt:!0,defVal:"&#39;outlined&#39;"}]},CalculatedColumn:{name:"CalculatedColumn",kind:"I",desc:"Defines a Column where the display value is derived from other values in row, and the definition is stored in State.",props:[{name:"CalculatedColumnSettings",kind:"R",desc:"Additional optional properties for Column (e.g. filterable, resizable)",ref:"CalculatedColumnSettings"},{name:"ColumnId",kind:"s",desc:"Name of Calculated Column"},{name:"FriendlyName",kind:"s",desc:"Name to be used in Column Header; if blank `ColumnId` is used",isOpt:!0},{name:"Query",kind:"R",desc:"Scalar/AggregatedScalar Query used by AdapTableQL to evaluate Column&#39;s value",ref:"AdaptableCalculatedColumnQuery"}]},CalculatedColumnSettings:{name:"CalculatedColumnSettings",kind:"I",desc:"Set properties that define Calculated Column&#39;s behaviour (all optional except DataType)",props:[{name:"ShowToolTip",kind:"b",desc:"Show underlying Expression as ToolTip when hovering over a cell",isOpt:!0,defVal:"false"}]},CalculatedColumnState:{name:"CalculatedColumnState",kind:"I",desc:"Predefined Configuration for Calculated Column Module",props:[{name:"CalculatedColumns",kind:"a",desc:"Collection of Calculated Columns",isOpt:!0}]},CalendarOptions:{name:"CalendarOptions",kind:"I",desc:"Options for managing Holidays and Working Days in AdapTable",props:[{name:"holidays",kind:"u",desc:"Holidays for current User",isOpt:!0,defVal:"null"}]},CellColorRange:{name:"CellColorRange",kind:"I",desc:"Defines which Colours to show in Gradient and Percent Bar Styles",props:[{name:"Color",kind:"s",desc:"Cell colour to use for values that fall inside Range"},{name:"Max",kind:"number | 'Col-Max'",desc:"End number of Range"},{name:"Min",kind:"number | 'Col-Min'",desc:"Start number of Range"},{name:"ReverseGradient",kind:"b",desc:"Reverses the Gradient so the lower the cell value the darker the colour",isOpt:!0}]},CellDataChangedInfo:{name:"CellDataChangedInfo",kind:"I",desc:"Defines a Cell Edit - includes full details of old and new values, the column and the enclosing Row",props:[{name:"changedAt",kind:"n",desc:"Timestamp of change occurrence (in milliseconds)"},{name:"column",kind:"u",desc:"Column in which cell is situated"},{name:"newValue",kind:"u",desc:"New value for the cell"},{name:"oldValue",kind:"u",desc:"Value in the Cell before the edit"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key Column&#39;s value for the row where edited cell is situated"},{name:"rowData",kind:"u",desc:"Data in the Row",isOpt:!0},{name:"rowNode",kind:"u",desc:"AG Grid RowNode that contains the cell",isOpt:!0},{name:"trigger",kind:"'edit' | 'tick' | 'undo' | 'aggChange'",desc:"What triggered the change - user, background change or a reverted change?",isOpt:!0}]},CellEditableContext:{name:"CellEditableContext",kind:"I",desc:"Context used when checking Cell editability",props:[{name:"gridCell",kind:"u",desc:"Cell being edited"}]},CellHighlightInfo:{name:"CellHighlightInfo",kind:"I",desc:"Defines how a given Cell in AdapTable should be highlighted",props:[{name:"columnId",kind:"s",desc:"Id of Column containing Cell"},{name:"highlightStyle",kind:"R",desc:"Adaptable Style to use in the Cell Highlight",ref:"AdaptableStyle"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key Value of row containing Cell"},{name:"timeout",kind:"n",desc:"Time after which Cell should be unhighlighted",isOpt:!0}]},CellSummaryOperation:{name:"CellSummaryOperation",kind:"I",desc:"Defines a Custom Cell Summary operation provided by a user",props:[{name:"operationFunction",kind:"u",desc:"Function to run when a summary result is required"},{name:"operationName",kind:"s",desc:"Name of the Operation - will be displayed in the Cell Summary components"}]},CellSummaryOperationContext:{name:"CellSummaryOperationContext",kind:"I",desc:"Context provided to a custom Cell Summary Operation function",props:[{name:"allValues",kind:"a",desc:"All values of selected cells"},{name:"distinctCount",kind:"n",desc:"Count of currently selected cells"},{name:"numericColumns",kind:"a",desc:"Any numeric columns in current selection"},{name:"numericValues",kind:"a",desc:"Any numeric values in current selection"},{name:"selectedCellInfo",kind:"u",desc:"Currently selected cells"}]},CellSummaryOptions:{name:"CellSummaryOptions",kind:"I",desc:"Options to provide custom Cell Summaries",props:[{name:"cellSummaryOperations",kind:"u",desc:"Custom Cell Summary Operations to add to shipped set",isOpt:!0}]},CellSummmary:{name:"CellSummmary",kind:"I",desc:"Defines the Summary operations provides for Selected Cells"},CellTextOption:{name:"CellTextOption",kind:"A",desc:"Text optionally to show in a Special Column Style special style: &#39;CellValue&#39; or &#39;PercentageValue&#39;"},CellTextOptions:{name:"CellTextOptions",kind:"A",desc:"Array of CellTextOption available in Special Column Styles"},CellUpdateRequest:{name:"CellUpdateRequest",kind:"I",desc:"Lightweight object used for identifying a Cell to be updated",props:[{name:"columnId",kind:"s",desc:"Id of Column in which edited cell is situated"},{name:"newValue",kind:"u",desc:"New Value for the cell"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key column&#39;s value in row - how Adaptable locates the cell",isOpt:!0},{name:"rowNode",kind:"u",desc:"AG Grid Row Node that contains the cell (optional)",isOpt:!0}]},ChartContainer:{name:"ChartContainer",kind:"I",desc:"Describes Location to display an AG Grid Chart",props:[{name:"chartsDisplay",kind:"'single' | 'multiple'",desc:"Whether one or more Charts can be displayed in same location",isOpt:!0,defVal:"&#39;single&#39;"},{name:"element",kind:"u",desc:"Location - can be HTMLElement or CSS Selector"},{name:"name",kind:"s",desc:"Name of the Location - used in Dropdowns"}]},ChartDefinition:{name:"ChartDefinition",kind:"I",desc:"Wraps an AG Grid Chart Model",props:[{name:"Model",kind:"R",desc:"AG Grid Chart Model",ref:"unknown"},{name:"Name",kind:"s",desc:"Name of the Chart"}]},ChartingAggFunc:{name:"ChartingAggFunc",kind:"A",desc:"Aggregation function used in the Chart"},ChartingOptions:{name:"ChartingOptions",kind:"I",desc:"Options for managing AG Grid&#39;s Charts",props:[{name:"agGridContainerName",kind:"s",desc:"Name of AG Grid Chart Container",isOpt:!0,defVal:"&#39;AG Grid Window&#39;"},{name:"chartContainers",kind:"a",desc:"Locations to display saved Charts",isOpt:!0},{name:"saveStrategy",kind:"'auto' | 'manual' | 'none'",desc:"Behaviour for saving Charts: automatic, manual (via popup) or none",isOpt:!0,noCode:"item",defVal:"&#39;none&#39;"}]},ChartingState:{name:"ChartingState",kind:"I",desc:"Persists AG Grid Charts in Adaptable State",props:[{name:"ChartDefinitions",kind:"a",desc:"Wrappers around AG Grid Chart Models",isOpt:!0}]},ColumnComparison:{name:"ColumnComparison",kind:"I",desc:"Enables a Percent Bar or Gradient Style to use another column in its calculations",props:[{name:"Color",kind:"s",desc:"Colour to use for the Comparison"},{name:"MaxValue",kind:"number | string",desc:"End value - either numeric or Column name"},{name:"MinValue",kind:"number | string",desc:"Start value - either numeric or Column name"}]},ColumnFilter:{name:"ColumnFilter",kind:"I",desc:"Defines a Filter applied on a Column using a Predicate",props:[{name:"ColumnId",kind:"s",desc:"Column where Filter should be applied"},{name:"Predicate",kind:"R",desc:"`AdaptablePredicate` which AdaptableQL will evaluate when the Filter is run",ref:"ColumnFilterPredicate"}]},ColumnFilterConfig:{name:"ColumnFilterConfig",kind:"I",desc:"Configuration for a Column Filter",props:[{name:"PredicateId",kind:"u",desc:"The Predicate ID to use when filtering the column"},{name:"PredicateInputs",kind:"a",desc:"Optional Inputs that might be needed for evaluation",isOpt:!0}]},ColumnFilterDef:{name:"ColumnFilterDef",kind:"I",desc:"Column Filter Definition for a specific Column"},ColumnFilterPredicate:{name:"ColumnFilterPredicate",kind:"I",desc:"A Predicate used in Column Filtering"},ColumnFriendlyNameContext:{name:"ColumnFriendlyNameContext",kind:"I",desc:"Context used when setting a Column Friendly Name",props:[{name:"agColumn",kind:"R",desc:"AG Grid ColDef for the Column",ref:"unknown"},{name:"colId",kind:"s",desc:"Id of the Column"}]},ColumnMenuContext:{name:"ColumnMenuContext",kind:"I",desc:"Provides full details about the Column in which the Column Menu will appear",props:[{name:"adaptableColumn",kind:"u",desc:"Current Adaptable Column"},{name:"agGridColumn",kind:"R",desc:"Current AG Grid Column",ref:"unknown"},{name:"isRowGroupColumn",kind:"b",desc:"Whether current Column is Row Group"}]},ColumnOptions:{name:"ColumnOptions",kind:"I",desc:"Options related to managing Columns in Adaptable.",props:[{name:"columnFriendlyName",kind:"f",desc:"Provide an alternative Friendly Name for a Column",isOpt:!0,defVal:"undefined"},{name:"columnTypes",kind:"a",desc:"Optional list of Column Types - used primarily for Calculated and FreeText Columns",isOpt:!0,defVal:"undefined"},{name:"showMissingColumnsWarning",kind:"b",desc:"Log warning to console if AdapTable cannot find a column",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"}]},ColumnSort:{name:"ColumnSort",kind:"I",desc:"Defines how a Column is sorted",props:[{name:"ColumnId",kind:"s",desc:"Id of Column being sorted"},{name:"SortOrder",kind:"'Asc' | 'Desc'",desc:"How Column is sorted - either &#39;Asc&#39; or &#39;Desc&#39;"}]},ColumnValuesComparer:{name:"ColumnValuesComparer",kind:"I",desc:"Comparer object for Column Values - used for custom sorting",props:[{name:"comparer",kind:"u",desc:"Comparer function to use"},{name:"scope",kind:"R",desc:"Column for which to compare values",ref:"AdaptableScope"}]},CommentGridCell:{name:"CommentGridCell",kind:"A",desc:"Cell that contains a Comment"},CommentOptions:{name:"CommentOptions",kind:"I",desc:"Options for managing AdapTable Comments",props:[{name:"isCellCommentable",kind:"f",desc:"Whether a cell can be commented on",isOpt:!0}]},CommentsState:{name:"CommentsState",kind:"I",desc:"Predefined Configuration for Comments Module",props:[{name:"Comments",kind:"R",desc:"Collection of AdapTable Comments",isOpt:!0,ref:"AdaptableComments"}]},CommmentableCellContext:{name:"CommmentableCellContext",kind:"I",desc:"Context used when determining if a Comment can be added to a Cell",props:[{name:"columnId",kind:"s",desc:"Column where Comment will be displayed"},{name:"primaryKeyValue",kind:"s",desc:"Value in Primary Key Column"}]},CompatibleContext:{name:"CompatibleContext",kind:"A",desc:"Valid context for a given FDC3 intent"},ConfigState:{name:"ConfigState",kind:"I",desc:"Base Interface for all Adaptable State objects; contains`Revision` property, used for versioning",props:[{name:"Revision",kind:`number | {
574
574
  Key: number;
575
575
  UpdateStrategy: 'Override' | 'KeepUserDefined';
576
576
  }`,desc:"Version number of the Item - allows developers to update one section in Predefined Config while keeping others unchanged",isOpt:!0}]},ContainerOptions:{name:"ContainerOptions",kind:"I",desc:"Options for managing the different div elements required by AdapTable",props:[{name:"adaptableContainer",kind:"u",desc:"Div containing AdapTable - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:"&quot;adaptable&quot;"},{name:"agGridContainer",kind:"u",desc:"Div containing AG Grid instance - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:"&quot;grid&quot;"},{name:"agGridContainerWaitTimeout",kind:"n",desc:"How long AdapTable waits for AG Grid before giving up connecting to it",isOpt:!0,gridInfo:"item",defVal:"60s"},{name:"alertContainer",kind:"u",desc:"Div to show Alerts - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:"undefined"},{name:"modalContainer",kind:"u",desc:"Name of div where modals appear (if null, will be centre of page)",isOpt:!0,gridInfo:"item",defVal:"undefined"},{name:"systemStatusContainer",kind:"u",desc:"Div to show System Status messages - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:"undefined"}]},ContextMenuContext:{name:"ContextMenuContext",kind:"I",desc:"Provides full details about current cell (and selected cells) where the Context Menu will appear",props:[{name:"adaptableColumn",kind:"u",desc:"Current Adaptable Column"},{name:"agGridColumn",kind:"R",desc:"Current AG Grid Column",ref:"unknown"},{name:"gridCell",kind:"u",desc:"Cell that has been clicked; contains cell value"},{name:"isGroupedNode",kind:"b",desc:"Whether current AG Grid row node is grouped"},{name:"isRowGroupColumn",kind:"b",desc:"Whether current Column is Row Grouped"},{name:"isSelectedCell",kind:"b",desc:"Whether cell that was clicked is also currently selected"},{name:"isSelectedRow",kind:"b",desc:"Whether cell that was clicked is in a Row that is currently selected"},{name:"isSingleSelectedCell",kind:"b",desc:"Whether the clicked cell is the only selected cell"},{name:"isSingleSelectedColumn",kind:"b",desc:"Whether Column that was clicked is only column with selected cells"},{name:"primaryKeyValue",kind:"u",desc:"Value of Primary Key column in current row"},{name:"rowNode",kind:"u",desc:"Current AG Grid row node"},{name:"selectedCellInfo",kind:"u",desc:"Currently selected cells in the grid"},{name:"selectedRowInfo",kind:"u",desc:"Currently selected rows in the grid"}]},CreateActionRowFormContext:{name:"CreateActionRowFormContext",kind:"I",desc:"Context used in a Create Row Form",props:[{name:"clonedRowNode",kind:"u",desc:"The RowNode being cloned",isOpt:!0},{name:"type",kind:"u",desc:"Type of the Context"}]},CustomDestination:{name:"CustomDestination",kind:"I",desc:"Defines a custom Export destination",props:[{name:"form",kind:"u",desc:"Optional Adaptable Form; if provided, it must include Buttons that will execute the Export",isOpt:!0},{name:"name",kind:"s",desc:"Name of Custom Destination (mandatory)"},{name:"onExport",kind:"f",desc:"Optional Function invoked when Export is applied (used if no form is supplied)",isOpt:!0}]},CustomDisplayFormatter:{name:"CustomDisplayFormatter",kind:"I",desc:"Defines a Custom Display Format",props:[{name:"handler",kind:"f",desc:"Function used to render Custom Display Format"},{name:"id",kind:"s",desc:"Format Id"},{name:"label",kind:"s",desc:"Format Description",isOpt:!0},{name:"scope",kind:"R",desc:"Where Custom Display Format can be applied",ref:"AdaptableScope"}]},CustomDisplayFormatterContext:{name:"CustomDisplayFormatterContext",kind:"I",desc:"Context used in handler of CustomDisplayFormatter",props:[{name:"adaptableColumn",kind:"R",desc:"Column where Custom Display Format will apply",ref:"AdaptableColumn"},{name:"cellValue",kind:"u",desc:"Non-formatted Cell Value"},{name:"rowNode",kind:"R",desc:"Node where Custom Display Format will apply",ref:"unknown"}]},CustomIcon:{name:"CustomIcon",kind:"I",desc:"Defines a bespoke Icon provided by a developer",props:[{name:"icon",kind:"R",desc:"AdapTable Icon definition",ref:"AdaptableIcon"},{name:"name",kind:"s",desc:"Name of Icon"}]},CustomQueryVariableContext:{name:"CustomQueryVariableContext",kind:"I",desc:"Context passed when evaluating customQueryVariables",props:[{name:"args",kind:"a",desc:"Optional variable arguments",isOpt:!0}]},CustomRenderContext:{name:"CustomRenderContext",kind:"I",desc:"Context provided for any custom rendering",props:[{name:"element",kind:"R",desc:"Current Div Element",ref:"unknown"},{name:"visible",kind:"b",desc:"Whether Tool Panel is currently visible"}]},CustomSettingsPanel:{name:"CustomSettingsPanel",kind:"I",desc:"Definition of a Custom Panel to add to the Adaptable Settings Panel",props:[{name:"frameworkComponent",kind:"R",desc:"Framework-specific (Angular or React) component to be rendered",isOpt:!0,ref:"AdaptableFrameworkComponent"},{name:"icon",kind:"R",desc:"Icon rendered inside settings-panel name, inside the navigation",isOpt:!0,ref:"AdaptableIcon"},{name:"name",kind:"s",desc:"Appears in Settings Panel Navigation and must be included in settingsPanelOptions.navigation for it to be displayed (by default added to the end)"},{name:"render",kind:"f",desc:"Function to provide bespoke content when NOT using a Framework wrapper",isOpt:!0}]},CustomSharedEntity:{name:"CustomSharedEntity",kind:"I",desc:"Defines a Custom object that will be shared using Team Sharing",props:[{name:"ChangedAt",kind:"n",desc:"Last time when the object was changed"},{name:"ChangedBy",kind:"s",desc:"Last User who changed the object"},{name:"Description",kind:"s",desc:"Description of object being shared"},{name:"Entity",kind:"u",desc:"Custom Object being shared"},{name:"EntityType",kind:"u",desc:"Type of shared entity (either Adaptable specific or custom object)"},{name:"IsReadOnly",kind:"b",desc:"Sets Entity to ReadOnly (overwriting a Strategy Entitlement of &#39;Full&#39;)",isOpt:!0},{name:"Name",kind:"s",desc:"Name of object being shared"},{name:"Tags",kind:"a",desc:"List of Tags associated with the Object",isOpt:!0},{name:"Timestamp",kind:"n",desc:"When the object was shared"},{name:"UserName",kind:"s",desc:"User who shared the object"},{name:"Uuid",kind:"R",desc:"Unique identifier for the Custom Shared Entity",ref:"unknown"}]},CustomSharedEntityConfig:{name:"CustomSharedEntityConfig",kind:"I",desc:"Describes a custom Object which is being Team Shared",props:[{name:"Description",kind:"s",desc:"Description of object being shared"},{name:"Name",kind:"s",desc:"Name of object being shared"},{name:"Tags",kind:"a",desc:"List of Tags associated with the Object",isOpt:!0},{name:"Uuid",kind:"s",desc:"Optional technical ID; if not provided, it will be auto-generated by Adaptable",isOpt:!0}]},CustomSort:{name:"CustomSort",kind:"I",desc:"Custom Sort object used in Custom Sort function.",props:[{name:"ColumnId",kind:"s",desc:"Id of Column on which Custom Sort will be applied"},{name:"SortedValues",kind:"a",desc:"Order of values by which Column will be sorted",isOpt:!0}]},CustomSortOptions:{name:"CustomSortOptions",kind:"I",desc:"Options for providing Custom Sorts comparers",props:[{name:"customSortComparers",kind:"u",desc:"CustomSort column comparer functions",isOpt:!0}]},CustomSortPermittedValues:{name:"CustomSortPermittedValues",kind:"I",desc:"Custom column values for Custom Sort",props:[{name:"values",kind:"u",desc:"Function returning Values to display in Custom Sort Wizard - can be async"}]},CustomSortState:{name:"CustomSortState",kind:"I",desc:"Predefined Configuration for Custom Sort Module",props:[{name:"CustomSorts",kind:"a",desc:"Collection of Custom Sort objects.",isOpt:!0}]},CustomToolbar:{name:"CustomToolbar",kind:"I",desc:"Custom Toolbar (which AdapTable will manage) enabling devs to populate Dashboard with bepoke content",props:[{name:"frameworkComponent",kind:"R",desc:"The Framework-specific (Angular or React) component to be rendered",isOpt:!0,ref:"AdaptableFrameworkComponent"},{name:"name",kind:"s",desc:"How Toolbar is referenced (e.g. in Dashboard Popup when managing toolbars)"},{name:"render",kind:"f",desc:"Function to provide custom content when NOT using a Framework wrapper",isOpt:!0},{name:"showCloseButton",kind:"b",desc:"Shows a Close button at the bottom of Custom Toolbar",isOpt:!0},{name:"showConfigureButton",kind:"b",desc:"Shows a Configure (wrench) button which when clicked fires `CustomToolbarConfigured` event",isOpt:!0},{name:"title",kind:"s",desc:"Title to display in Toolbar; if unset or empty string, nothing will show",isOpt:!0},{name:"toolbarButtons",kind:"a",desc:"Optional set of buttons to show in the Toolbar",isOpt:!0}]},CustomToolbarButtonContext:{name:"CustomToolbarButtonContext",kind:"I",desc:"Context required by functions when using a Custom Toolbar Button",props:[{name:"customToolbar",kind:"R",desc:"Custom Toolbar which hosts the Button",ref:"CustomToolbar"}]},CustomToolPanel:{name:"CustomToolPanel",kind:"I",desc:"Defines a Custom ToolPanel - provided by Users and contains custom content",props:[{name:"buttons",kind:"a",desc:"Optional set of buttons to show in the ToolPanel",isOpt:!0},{name:"frameworkComponent",kind:"R",desc:"Framework-specific (Angular or React) component to be rendered",isOpt:!0,ref:"AdaptableFrameworkComponent"},{name:"name",kind:"s",desc:"Name of Custom ToolPanel - should be unique"},{name:"render",kind:"f",desc:"Function to provide bespoke content when using AdapTable Vanilla",isOpt:!0},{name:"title",kind:"s",desc:"Title to display in Custom ToolPanel; if undefined, will default to `name` property",isOpt:!0}]},CustomToolPanelButtonContext:{name:"CustomToolPanelButtonContext",kind:"I",desc:"Context used for Custom Tool Panels containing Buttons",props:[{name:"customToolPanel",kind:"R",desc:"The Custom ToolPanel which contains the button",ref:"CustomToolPanel"}]},DashboardButtonContext:{name:"DashboardButtonContext",kind:"I",desc:"Context required by functions when using a Dashboard Button",props:[{name:"dashboardState",kind:"R",desc:"Current Dashboard State",ref:"DashboardState"}]},DashboardOptions:{name:"DashboardOptions",kind:"I",desc:"Options related to the Dashboard in Adaptable.",props:[{name:"buttonsLocation",kind:"'left' | 'right'",desc:"Where in Dashboard to display Module and Custom Buttons",isOpt:!0,noCode:"item",defVal:"&#39;right&#39;"},{name:"canFloat",kind:"b",desc:"Whether the Dashboard can be floated; if true (the default), double-clicking Dashboard puts it in float mode",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"customDashboardButtons",kind:"a",desc:"Custom Adaptable Buttons to appear in Dashboard (alongside Module Buttons)",isOpt:!0},{name:"customToolbars",kind:"a",desc:"Toolbars provided by Users which contain custom content",isOpt:!0},{name:"showQuickSearchInHeader",kind:"b",desc:"Shows Quick Search textbox in the Dashboard Header",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"}]},DashboardState:{name:"DashboardState",kind:"I",desc:"Predefined Configuration for the AdapTable Dashboard",props:[{name:"ActiveTabIndex",kind:"n",desc:"Index of Active Tab (in Tabs collection)",isOpt:!0},{name:"DashboardTitle",kind:"s",desc:"Title displayed in Dashboard Header",isOpt:!0,defVal:"`adaptableId` in Adaptable Options"},{name:"FloatingPosition",kind:"R",desc:"Position of Dashboard when in Floating mode",isOpt:!0,ref:"AdaptableCoordinate"},{name:"IsCollapsed",kind:"b",desc:"Is Dashboard collapsed; if true, header is visible (but not Tabs&#39; contents)",isOpt:!0,defVal:"false"},{name:"IsFloating",kind:"b",desc:"Is Dashboard floating; if true, appears in draggable, minmised form (double-click to revert to default position)",isOpt:!0,defVal:"false"},{name:"IsHidden",kind:"b",desc:"Whether Dashboard is completely hidden - can be made visible again in Column Menu and Tool Panel",isOpt:!0,defVal:"false"},{name:"IsInline",kind:"b",desc:"Alternative way of rendering Dashboard, with headers section to left of Toolbars",isOpt:!0,defVal:"false"},{name:"ModuleButtons",kind:"R",desc:"Buttons which open the Settings Panel screen for associated AdapTable Module",isOpt:!0,defVal:"[&#39;SettingsPanel&#39;]",ref:"unknown"},{name:"Tabs",kind:"a",desc:"Named group of Toolbars",isOpt:!0,defVal:"Empty Array"}]},DashboardTab:{name:"DashboardTab",kind:"I",desc:"Defines a named set of Toolbars in the AdapTable Dashboard",props:[{name:"Name",kind:"s",desc:"Name of the tab - as appears in the Dashboard"},{name:"Toolbars",kind:"u",desc:"List of Toolbars to show in the Tab"}]},DataChangedScope:{name:"DataChangedScope",kind:"I",desc:"Defines where a Data Change should be monitored",props:[{name:"columnIds",kind:"u",desc:"Scopes a group of Column Ids"},{name:"wholeRow",kind:"b",desc:"Scopes every Column in the Row"}]},DataChangeHistoryButton:{name:"DataChangeHistoryButton",kind:"I",desc:"A custom AdaptableButton which provides a build in `undo` action"},DataChangeHistoryContext:{name:"DataChangeHistoryContext",kind:"I",desc:"The context for the DataChangeHistoryButton",props:[{name:"clearRow",kind:"u",desc:"Helper function to row from Grid"},{name:"dataChangedInfo",kind:"u",desc:"The initial data change"},{name:"isGroupNode",kind:"b",desc:"If the change references a group node."},{name:"parentAdapTableApi",kind:"R",desc:"AdapTable API of underlying Grid (not from Data History Monitor)",ref:"unknown"},{name:"undoDataChange",kind:"u",desc:"Helper function to undo the change."}]},DataChangeHistoryOptions:{name:"DataChangeHistoryOptions",kind:"I",desc:"Options to manage the &#39;Data Change History Module&#39;, which provides an overview of all previous changes, giving the possibility to undo specific changes",props:[{name:"activeByDefault",kind:"b",desc:"Whether data change history should be active by default",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"changeHistoryButton",kind:"u",desc:"Action button definition; can be used to implement undo functionality",isOpt:!0,defVal:"undefined"},{name:"showDataChange",kind:"u",desc:"Function specifying which data changes to include in Data Change History",isOpt:!0,gridInfo:"item",defVal:"undefined (all data changes are logged)"}]},DataFormatType:{name:"DataFormatType",kind:"A",desc:"Format of exported Data - &#39;rawValue&#39; or &#39;formattedValue&#39;"},DataSet:{name:"DataSet",kind:"I",desc:"Defines a Data Set object that can provide data to AdapTable",props:[{name:"description",kind:"s",desc:"Describes the Data Set"},{name:"form",kind:"u",desc:"Params for Data Set popup form",isOpt:!0},{name:"info",kind:"u",desc:"Additional info for Data Set",isOpt:!0},{name:"name",kind:"s",desc:"Name of Data Set"}]},DataSetFormContext:{name:"DataSetFormContext",kind:"I",desc:"Used when a DataSet displays a Form",props:[{name:"dataSet",kind:"R",desc:"The DataSet which triggered the Form",ref:"DataSet"}]},DataSetOptions:{name:"DataSetOptions",kind:"I",desc:"Options to provide Data Sets",props:[{name:"dataSets",kind:"a",desc:"Collection of Data Sets to provide Data to AdapTable",isOpt:!0}]},DataUpdateConfig:{name:"DataUpdateConfig",kind:"I",desc:"Object passed into Adaptable Grid Api data management methods",props:[{name:"addIndex",kind:"n",desc:"Index where to add new rows",isOpt:!0},{name:"callback",kind:"u",desc:"Callback function invoked when a batch successfully updates",isOpt:!0},{name:"runAsync",kind:"b",desc:"Whether data should be updated asynchronously",isOpt:!0}]},DateFormatterOptions:{name:"DateFormatterOptions",kind:"I",desc:"Formatter Options for Date Columns - contains a single `Pattern` property",props:[{name:"Pattern",kind:"s",desc:"Pattern to use for Date Format",isOpt:!0}]},DateInputOptions:{name:"DateInputOptions",kind:"I",desc:"Options for managing and customizing the date inputs.",props:[{name:"dateFormat",kind:"s",desc:"Format string for formatting date input field",isOpt:!0,defVal:"&#39;yyyy-MM-dd&#39;"},{name:"datepickerButtons",kind:"a",desc:"List of buttons which are displayed in the datepicker overlay in the given order (provide empty array to display no buttons); custom button layout and positioning is achievable with the special elements `-` and `|`",isOpt:!0,defVal:"[&#39;close&#39;,&#39;today&#39;]"},{name:"locale",kind:"u",desc:"Locale object (to localize Date Picker)",isOpt:!0,defVal:"`en-US`"},{name:"showOutsideDays",kind:"b",desc:"Display outside days (i.e. those falling in next or previous month)",isOpt:!0,defVal:"true"},{name:"showWeekNumber",kind:"b",desc:"Display the week numbers column",isOpt:!0,defVal:"false"},{name:"useNativeInput",kind:"b",desc:"Use browser specific date input instead of AdapTable&#39;s Date Picker",isOpt:!0,defVal:"false"}]},DefaultAccessLevelContext:{name:"DefaultAccessLevelContext",kind:"I",desc:"Provided to defaultAccessLevel function when setting Default Entitlement value programatically"},DetailInitContext:{name:"DetailInitContext",kind:"I",desc:"Context passed to Detail Grids when using Master Detail Plugin",props:[{name:"data",kind:"u",desc:"The data in the Master Grid Row that was opened"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key Value of Master Grid Row that was opened"},{name:"rowNode",kind:"R",desc:"Row Node in the Master Grid that was opened",ref:"unknown"}]},EditActionRowFormContext:{name:"EditActionRowFormContext",kind:"I",desc:"Context used in an Edit Row Form",props:[{name:"rowNode",kind:"u",desc:"The RowNode being edited"},{name:"type",kind:"u",desc:"Type of the Context"}]},EditLookUpContext:{name:"EditLookUpContext",kind:"I",desc:"Context used when getting EditLookUpPermittedValues via a function",props:[{name:"gridCell",kind:"u",desc:"Cell being edited",isOpt:!0}]},EditLookUpPermittedValues:{name:"EditLookUpPermittedValues",kind:"I",desc:"Used to define permitted values for inline column editor",props:[{name:"values",kind:"u",desc:"Values to display in Edit Look Up: either hardcoded list or a function that returns a list",isOpt:!0}]},EditOptions:{name:"EditOptions",kind:"I",desc:"Options related to Editing in AdapTable - includes Server Validation, Smart Edit Operations and Row Forms",props:[{name:"displayServerValidationMessages",kind:"b",desc:"Whether to display message after Server Validation runs",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"isCellEditable",kind:"u",desc:"Function which checks if a given Grid Cell is editable",isOpt:!0},{name:"smartEditCustomOperations",kind:"u",desc:"Custom Operations to use in Smart Edit",isOpt:!0},{name:"validateOnServer",kind:"u",desc:"Function to validate AdapTable data edits on Server",isOpt:!0}]},Entitlement:{name:"Entitlement",kind:"I",desc:"Defines a Permission in AdapTable - Module and Access Level",props:[{name:"accessLevel",kind:"R",desc:"Access Level for an Entitlement; options are: `Full` `ReadOnly` `Hidden`",ref:"AccessLevel"},{name:"adaptableModule",kind:"R",desc:"Name of Adaptable Module that has the Entitlement applied",ref:"AdaptableModule"}]},EntitlementContext:{name:"EntitlementContext",kind:"I",desc:"Provided to moduleEntitlements function when setting Entitlements programatically",props:[{name:"adaptableModule",kind:"R",desc:"Module being entitled",ref:"AdaptableModule"},{name:"defaultAccessLevel",kind:"R",desc:"The default Access Level for the current instance",ref:"AccessLevel"}]},EntitlementOptions:{name:"EntitlementOptions",kind:"I",desc:"Options for managing Entitlements in AdapTable, ie. which Modules are available to the User and whether as *Full*, *ReadOnly* or *Hidden*.",props:[{name:"defaultAccessLevel",kind:"u",desc:"AccessLevel to use when an Entitlement is not explicitly set; can be hardcoded value or a function to invoke",isOpt:!0,gridInfo:"item",defVal:"&#39;Full&#39;"},{name:"moduleEntitlements",kind:"u",desc:"Returns either collection of `Entitlements`, or a function to invoke when an Entitlement is required",isOpt:!0,gridInfo:"item"}]},EvaluateExpressionExternallyContext:{name:"EvaluateExpressionExternallyContext",kind:"I",desc:"Context passed when evaluating `expressionOptions.evaluateExpressionExternally()`",props:[{name:"expression",kind:"s",desc:"Expression to evaluate",isOpt:!0},{name:"module",kind:"R",desc:"Module where Expression is being evaluated",ref:"AdaptableQLModule"},{name:"object",kind:"R",desc:"AdapTable Object which contains the Expression or Predicates",isOpt:!0,ref:"AdaptableObject"},{name:"predicates",kind:"a",desc:"Any Predicates to evaluate",isOpt:!0},{name:"referencedColumns",kind:"u",desc:"Columns contained in Expression",isOpt:!0}]},ExportableColumnContext:{name:"ExportableColumnContext",kind:"I",desc:"Context used for setting whether a Column is exportable",props:[{name:"adaptableColumn",kind:"R",desc:"Column to be exported",ref:"AdaptableReportColumn"}]},ExportFormContext:{name:"ExportFormContext",kind:"I",desc:"Context required by functions when using an Export Button",props:[{name:"customDestination",kind:"R",desc:"Custom Export destination",ref:"CustomDestination"},{name:"report",kind:"R",desc:"The exported report",ref:"Report"},{name:"reportData",kind:"R",desc:"The data in the report",ref:"ReportData"}]},ExportOptions:{name:"ExportOptions",kind:"I",desc:"Options regarding Exporting data from AdapTable",props:[{name:"appendFileTimestamp",kind:"b",desc:"Whether to add a timestamp as a suffix to exported file name",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"customDestinations",kind:"a",desc:"User-provided Report Destinations (in addition to those shipped in AdapTable)",isOpt:!0},{name:"exportDateFormat",kind:"s",desc:"Optional custom format for Date columns when exporting",isOpt:!0,gridInfo:"item",defVal:"undefined"},{name:"exportFormatType",kind:"u",desc:"Format of exported values; can be set either for whole grid or specifically for each column type",isOpt:!0,defVal:"rawValue"},{name:"externalReports",kind:"a",desc:"Reports generated entirely by users (and not AdapTable)",isOpt:!0},{name:"isColumnExportable",kind:"f",desc:"Whether a Column is included in System Reports and available in UI for selection",isOpt:!0,defVal:"true"},{name:"preProcessExport",kind:"u",desc:"Function invoked when a Report is run, enabling users to preload the data before it is exported",isOpt:!0},{name:"systemExportDestinations",kind:"R",desc:"Export destinations to use; leave blank for all, empty array for none",isOpt:!0,gridInfo:"item",defVal:"&#39;Excel&#39;, &#39;CSV&#39;, &#39;Clipboard&#39;, &#39;JSON, &#39;Table&#39;",ref:"SystemExportDestinations"},{name:"systemReportNames",kind:"R",desc:"System Reports to use; leave blank for all, empty array for none",isOpt:!0,gridInfo:"item",defVal:"&#39;Visual Data&#39;, &#39;All Data&#39;, &#39;Current Data&#39;, &#39;Selected Cells&#39;, &#39;Selected Rows&#39;,",ref:"SystemReportNames"}]},ExportState:{name:"ExportState",kind:"I",desc:"Predefined Configuration for Export Module",props:[{name:"CurrentDestination",kind:"u",desc:"Currently selected Report Destination in Export Toolbar &amp; Tool Panel",isOpt:!0},{name:"CurrentReport",kind:"s",desc:"Currently selected Report - in Export Toolbar &amp; Tool Panel",isOpt:!0},{name:"Reports",kind:"a",desc:"User-created Reports; each has Name and Row and Column Scope",isOpt:!0}]},ExpressionCategory:{name:"ExpressionCategory",kind:"A",desc:"Categories for Expression Functions"},ExpressionContext:{name:"ExpressionContext",kind:"I",desc:"Provides context to an Expression Function, including current row node and AdaptableApi",props:[{name:"evaluateCustomQueryVariable",kind:"u",desc:"Evaluate custom variables"},{name:"filterFn",kind:"u",desc:"Optional filter function to be applied before evaluating the expression",isOpt:!0},{name:"functions",kind:"u",desc:"All Expression Functions available to AdaptableQL"},{name:"namedQueryCallStack",kind:"a",desc:"All Named Query evaluations: tracked in order to detect circular dependencies",isOpt:!0},{name:"node",kind:"u",desc:"Current AG Grid Row Node being evaluated"},{name:"whereClauseFunctions",kind:"u",desc:"Expression Functions available to AdaptableQL in (optional) WHERE clause",isOpt:!0}]},ExpressionFunction:{name:"ExpressionFunction",kind:"I",desc:"Defines an AdaptableQL Function used in an Adaptable Expression",props:[{name:"category",kind:"R",desc:"Used to group Functions Expression Editor dropdown",isOpt:!0,ref:"ExpressionCategory"},{name:"description",kind:"s",desc:"What the AdaptableQL Function does",isOpt:!0},{name:"examples",kind:"a",desc:"Examples that demonstrate the AdaptableQL Function",isOpt:!0},{name:"handler",kind:"R",desc:"Actual AdaptableQL Function called by the Expression (mandatory prop)",ref:"ExpressionFunctionHandler"},{name:"hasEagerEvaluation",kind:"b",desc:"Whether Expression is evaluated eagerly (without handling inner AST nodes)",isOpt:!0},{name:"isHiddenFromMenu",kind:"b",desc:"Removes entry from Expression Editor&#39;s Functions dropdown",isOpt:!0},{name:"returnType",kind:"'boolean' | 'number' | 'string' | 'date' | 'null' | 'any'",desc:"Type returned by Function: boolean, number, string, date, any",isOpt:!0},{name:"signatures",kind:"a",desc:"How the AdaptableQL Function should be called",isOpt:!0}]},ExpressionFunctionDocBlock:{name:"ExpressionFunctionDocBlock",kind:"A",desc:"Defines how an AdaptableQL Function is described in Expression Editor"},ExpressionFunctionHandler:{name:"ExpressionFunctionHandler",kind:"A",desc:"The javascript function which is invoked by an AdaptableQL Function"},ExpressionFunctionMap:{name:"ExpressionFunctionMap",kind:"A",desc:"Key-Value map of Expression Names and their implementation"},ExpressionOptions:{name:"ExpressionOptions",kind:"I",desc:"Options for managing Expressions in AdapTable&#39;s Query Language",props:[{name:"caseSensitiveExpressions",kind:"b",desc:"Perform case-sensitive text comparisons when evaluating Expressions",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"customBooleanFunctions",kind:"u",desc:"Custom Boolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (none)"},{name:"customQueryVariables",kind:"u",desc:"Custom query variables allow values to be attached to variables so that a single value can easily be expressed multiple times within a query, or quickly changed to affect the results of a query. Variables are evaluated synchronously with each expression evaluation.",isOpt:!0},{name:"customScalarFunctions",kind:"u",desc:"Custom Scalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (none)"},{name:"displayColumnFriendlyNamesForExpressions",kind:"b",desc:"Reference a Column&#39;s Header (i.e. FriendlyName) in all Expression overviews (instead of ColumnId)",isOpt:!0,noCode:"item",defVal:"true"},{name:"evaluateAdaptableQLExternally",kind:"u",desc:"Whether a Module (or specific expression) should be evaluated by AdapTableQL",isOpt:!0,defVal:"All Modules are evaluated by AdapTable"},{name:"isColumnQueryable",kind:"f",desc:"Can a given column be included in Expressions",isOpt:!0},{name:"maxTimeframeSize",kind:"n",desc:"Maximum time (in milliseconds) to hold a Data Change event in a trailing timeframe",isOpt:!0,gridInfo:"item",defVal:"28800000 (~8 hours)"},{name:"moduleExpressionFunctions",kind:"u",desc:"Module-specific Expression Functions available",isOpt:!0,gridInfo:"item",defVal:"undefined (defaults to available System &amp; Custom values)"},{name:"performExpressionValidation",kind:"b",desc:"Validate Expressions before they can be run or saved",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"systemAggregatedBooleanFunctions",kind:"u",desc:"System AggregatedBoolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemAggregatedScalarFunctions",kind:"u",desc:"System AggregatedScalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"undefined (sets all)"},{name:"systemBooleanFunctions",kind:"u",desc:"System Boolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemObservableFunctions",kind:"u",desc:"System Observable Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemScalarFunctions",kind:"u",desc:"System Scalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"}]},ExternalReport:{name:"ExternalReport",kind:"I",desc:"Defines a Report where all the data is provided entirely by the user",props:[{name:"name",kind:"s",desc:"Name of the Report"},{name:"onRunReport",kind:"f",desc:"Function invoked to return the data (in the form of a `ReportData` object)"}]},FDC3ActionColumn:{name:"FDC3ActionColumn",kind:"I",desc:"Action Column used for FDC3 workflows",props:[{name:"button",kind:"R",desc:"FDC3 Button to display",ref:"Fdc3AdaptableButton"},{name:"columnId",kind:"s",desc:"Id of the Column"},{name:"defaultWidth",kind:"n",desc:"Default Width of column",isOpt:!0},{name:"friendlyName",kind:"s",desc:"Column&#39;s friendly name",isOpt:!0}]},Fdc3AdaptableButton:{name:"Fdc3AdaptableButton",kind:"I",desc:"Button used in FDC3 Action Columns",props:[{name:"buttonStyle",kind:"u",desc:"Button&#39;s Style; can be object or function that provides `ButtonStyle` object",isOpt:!0},{name:"disabled",kind:"u",desc:"Function to disable / enable button based on evaluation result",isOpt:!0},{name:"hidden",kind:"u",desc:"Function to hide the Button",isOpt:!0},{name:"icon",kind:"u",desc:"Button&#39;s Icon; can be object or function that provides `AdaptableIcon` object",isOpt:!0},{name:"id",kind:"s",desc:"Unique id for the button"},{name:"label",kind:"u",desc:"Button&#39;s Label; can be string or function that provides string",isOpt:!0},{name:"tooltip",kind:"u",desc:"Button&#39;s Tooltip; can be string or function that provides string",isOpt:!0}]},Fdc3ButtonContext:{name:"Fdc3ButtonContext",kind:"I",desc:"Context provided in dynamic FDC3 Buttons",props:[{name:"context",kind:"R",desc:"The FDC3 Context",ref:"Fdc3Context"},{name:"intent",kind:"R",desc:"The FDC3 Intent",isOpt:!0,ref:"Fdc3IntentType"},{name:"primaryKeyValue",kind:"u",desc:"Primary key value of row"},{name:"rowData",kind:"u",desc:"The row data which is the source of the context data"},{name:"rowNode",kind:"R",desc:"The row node which is the source of the context data",ref:"unknown"}]},Fdc3Context:{name:"Fdc3Context",kind:"A",desc:"FDC3 (2.0) Generic Context (Standard or Custom)"},Fdc3ContextOptions:{name:"Fdc3ContextOptions",kind:"I",desc:"Options for configuring FDC3 Context Behaviour in AdapTable",props:[{name:"broadcasts",kind:"R",desc:"Broadcasts given standard Context(s) on various Grid Actions",isOpt:!0,ref:"unknown"},{name:"handleContext",kind:"f",desc:"Handles incoming Contexts (standard and custom)",isOpt:!0},{name:"listensFor",kind:"a",desc:"Subscribe to given standard Context(s)",isOpt:!0}]},Fdc3CustomContext:{name:"Fdc3CustomContext",kind:"A",desc:"FDC3 (2.0) Custom Context"},Fdc3CustomIntentType:{name:"Fdc3CustomIntentType",kind:"A",desc:"Custom FDC3 intent"},Fdc3IntentOptions:{name:"Fdc3IntentOptions",kind:"I",desc:"Options for configuring FDC3 Intent Behaviour in AdapTable",props:[{name:"handleIntent",kind:"u",desc:"Handles incoming Intents (standard and custom)",isOpt:!0},{name:"handleIntentResolution",kind:"u",desc:"Handles the IntentResolution that a raised Intent might return",isOpt:!0},{name:"listensFor",kind:"a",desc:"Subscribe to given standard Intent(s)",isOpt:!0},{name:"raises",kind:"R",desc:"Raises given standard Intent(s) on various Grid Actions",isOpt:!0,ref:"unknown"}]},Fdc3IntentType:{name:"Fdc3IntentType",kind:"A",desc:"Generic FDC3 intent (standard or custom)"},Fdc3Options:{name:"Fdc3Options",kind:"I",desc:"Options for configuring FDC3 in AdapTable",props:[{name:"actionColumnDefaultConfiguration",kind:"R",desc:"Configures the default FDC3 Actions column",isOpt:!0,ref:"ActionColumnDefaultConfiguration"},{name:"contexts",kind:"R",desc:"Configures FDC3 standard Contexts that AdapTable will listen for and broadcast",isOpt:!0,ref:"Fdc3ContextOptions"},{name:"enableLogging",kind:"b",desc:"Enable logging message exchanges to Console",isOpt:!0,defVal:"false"},{name:"gridDataContextMapping",kind:"R",desc:"Maps Context Type to AdapTable Grid Data",isOpt:!0,ref:"GridDataContextMapping"},{name:"intents",kind:"R",desc:"Configures FDC3 standard Intents that AdapTable will listen for and raise",isOpt:!0,ref:"Fdc3IntentOptions"},{name:"resolveContextData",kind:"u",desc:"Builds Context Data (useful for postprocessing Context Data mapped from Grid data)",isOpt:!0},{name:"uiControlsDefaultConfiguration",kind:"u",desc:"Customises FDC3 UI Controls",isOpt:!0}]},Fdc3StandardContextType:{name:"Fdc3StandardContextType",kind:"A",desc:"FDC3 (2.0) Standard Context Types supported by AdapTable"},Fdc3StandardIntentType:{name:"Fdc3StandardIntentType",kind:"A",desc:"All FDC3 standard intents"},FilterActionOnDataChange:{name:"FilterActionOnDataChange",kind:"I",desc:"Whether Adaptable re-applies filtering after data edits; if `applyFilter` value is &#39;Throttle&#39;, `throttleDelay` should be set",props:[{name:"applyFilter",kind:"'Always' | 'Never' | 'Throttle'",desc:"When to re-apply Filters: &#39;Always&#39;, &#39;Never&#39; or &#39;Throttle&#39;"},{name:"throttleDelay",kind:"n",desc:"Delay in ms (when `applyFilter` is set to &#39;Throttle&#39;)",isOpt:!0}]},FilterContext:{name:"FilterContext",kind:"I",desc:"Context provided when Filtering",props:[{name:"column",kind:"u",desc:"Column being filtered"}]},FilterOptions:{name:"FilterOptions",kind:"I",desc:"Options for managing Filtering in AdapTable",props:[{name:"autoApplyFilter",kind:"b",desc:"Apply selected filters (in Filter Form or Quick Filter Bar) as soon as they are clicked; if false an Apply Filter button is displayed",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"clearFiltersOnStartUp",kind:"b",desc:"Clears saved Column Filters when AdapTable loads",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"defaultDateColumnFilter",kind:"u",desc:"Default filter type for date Columns",isOpt:!0,gridInfo:"item",defVal:"On"},{name:"defaultFilterFormTab",kind:"'Values' | 'Predicates'",desc:"Whether to open the Filter Form on the Values or Predicates tab",isOpt:!0,gridInfo:"item",defVal:"&#39;Values&#39;"},{name:"defaultNumericColumnFilter",kind:"u",desc:"Default filter type for numeric Columns",isOpt:!0,gridInfo:"item",defVal:"Equals"},{name:"defaultStringColumnFilter",kind:"u",desc:"Default filter type for string Columns",isOpt:!0,gridInfo:"item",defVal:"Contains"},{name:"enableFilterOnSpecialColumns",kind:"b",desc:"Allows filtering on Calculated &amp; FreeText columns",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"filterActionOnExternalDataChange",kind:"R",desc:"When to re-filter grid after data ticks: &#39;Always&#39;, &#39;Never&#39; or &#39;Throttle&#39; (which requires a &#39;ThrottleDelay&#39;)",isOpt:!0,defVal:"&#39;Never&#39;",ref:"FilterActionOnDataChange"},{name:"filterActionOnUserDataChange",kind:"R",desc:"When to re-filter grid after user edits data: &#39;Always&#39;, &#39;Never&#39; or &#39;Throttle&#39; (which requires a &#39;ThrottleDelay&#39;)",isOpt:!0,defVal:"&#39;Always&#39;",ref:"FilterActionOnDataChange"},{name:"filterUsingTime",kind:"b",desc:"If Values filter should filter on datetime rather than date",isOpt:!0,noCode:"item",defVal:"true"},{name:"hideQuickFilterDropdown",kind:"u",desc:"Hides Dropdown in Quick Filter Bar for a given Column",isOpt:!0,defVal:"undefined"},{name:"hideQuickFilterInput",kind:"u",desc:"Hides Input in Quick Filter Bar for a given Column",isOpt:!0,defVal:"undefined"},{name:"includeBlankFilterValues",kind:"b",desc:"Includes a [BLANKS] entry in Values filter",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"indicateFilteredColumns",kind:"b",desc:"Make Column header distinctive for filtered columns, helps users see currently filtered columns",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"maxFilterValuesToDisplay",kind:"n",desc:"Distinct column items to display in Filter Form; useful with large datasource (though AdapTable offers virtualisation)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"2,000"},{name:"quickFilterDebounce",kind:"n",desc:"Time to wait (in ms) before Filter Bar reacts to new value",isOpt:!0,gridInfo:"item",defVal:"250"},{name:"quickFilterHeight",kind:"n",desc:"Sets a height for Quick Filter Bar (if not provided AG Grid&#39;s default is used)",isOpt:!0,gridInfo:"item",defVal:"null"},{name:"quickFilterTrigger",kind:"'mouseenter' | 'click'",desc:"Whether to open Quick Filter dropdown with mouse hover or click",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"&#39;mouseenter&#39;"},{name:"quickFilterValuesTrigger",kind:"'mouseenter' | 'click'",desc:"Whether to open Quick Filter Values dropdown with mouse hover or click",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"&#39;mouseenter&#39;"},{name:"quickFilterValuesWidth",kind:"'auto' | number",desc:"Width of Values popup in Filter Bar - can be set width or same size as Column",isOpt:!0,defVal:"&#39;180&#39;"},{name:"quickFilterWildcards",kind:"u",desc:"Shortcut Keys to activate a Quick Filter Predicate",isOpt:!0},{name:"showClearFilterButton",kind:"b",desc:"Display Clear Filter button in Toolbar and Tool Panel",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"showDistinctFilteredValuesOnly",kind:"b",desc:"Display only currently filtered distinct values in Filter controls",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"showQuickFilter",kind:"b",desc:"Whether to display Quick Filter Bar between Column Header and the Grid (provided its been setup)",isOpt:!0,noCode:"item",defVal:"true"},{name:"showSuspendFilterButton",kind:"b",desc:"Display Suspend / Unsuspend Button in Toolbar and Tool Panel",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"showValuesCount",kind:"u",desc:"Show the count of each distinct item for given column in the Values (IN) Filter",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"sortColumnValuesInFilter",kind:"b",desc:"Whether column values in filter dropdown should apply column&#39;s current Sort Order for the column",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"useAdaptableFilterForm",kind:"boolean | string[]",desc:"Uses Adaptable&#39;s Filter Form in Column Menu for all columns if &#39;true&#39; (the default) or those listed, in preference to AG Grid&#39;s Filter Form",isOpt:!0,noCode:"item",defVal:"true"},{name:"useAdaptableQuickFilter",kind:"boolean | string[]",desc:"Use Adaptable&#39;s Quick Filter Bar for all columns if &#39;true&#39; (the default) or those listed, in preference to AG Grid&#39;s Floating Filter",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"useAgGridFilterFormStyle",kind:"b",desc:"Styles Adaptable Filter Form to match AG Grid&#39;s styling (if using Balham theme)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"}]},FilterPermittedValues:{name:"FilterPermittedValues",kind:"I",desc:"Used to define values inside the Filter Bar and Filter Form",props:[{name:"suppressFilterSearchBar",kind:"b",desc:"Prevents AdapTable from filtering the list of values client-side; When true, values is called each time the search bar is changed",isOpt:!0,defVal:"false"},{name:"values",kind:"u",desc:"Function returning Values to display in &#39;IN&#39; Filter - can be async"}]},FilterPermittedValuesContext:{name:"FilterPermittedValuesContext",kind:"I",desc:"Context used when getting FilterPermittedValues via a function",props:[{name:"searchFilter",kind:"s",desc:"A search string"}]},FinsemblePluginOptions:{name:"FinsemblePluginOptions",kind:"I",desc:"Options required for when using the Finsemble plugin",props:[{name:"applicationName",kind:"s",desc:"Application name - used to identify the application in Finsemble console",isOpt:!0},{name:"showAdaptableAlertsAsNotifications",kind:"b",desc:"Should Adaptable&#39;s Alerts appear as Finsemble Notifications",isOpt:!0,defVal:"true"},{name:"stateOptions",kind:"R",desc:"Options for managing Adaptable State with Finsemble State",isOpt:!0,ref:"FinsemblePluginStateOptions"}]},FinsemblePluginStateOptions:{name:"FinsemblePluginStateOptions",kind:"I",desc:"Options for managing state while using Finsemble",props:[{name:"key",kind:"s",desc:"Key used to persist/load AdapTable State in Finsemble"},{name:"persistInFinsemble",kind:"b",desc:"Whether to persist AdapTable State inside Finsemble"},{name:"topic",kind:"s",desc:"Topic used to persist/load AdapTable State in Finsemble"}]},FlashingCellDefinition:{name:"FlashingCellDefinition",kind:"I",desc:"The Flashing Cell Definition",props:[{name:"DownChangeStyle",kind:"R",desc:"Style for &#39;Down&#39; value changes",isOpt:!0,defVal:"Red BackColour",ref:"AdaptableStyle"},{name:"FlashDuration",kind:"number | 'always'",desc:"Duration of Flash - can be number (in ms) or &#39;always&#39;",isOpt:!0,defVal:"500ms"},{name:"FlashTarget",kind:"u",desc:"Should a cell or whole row flash",isOpt:!0,defVal:"&#39;cell&#39;"},{name:"NeutralChangeStyle",kind:"R",desc:"Style for &#39;Neutral&#39; value changes",isOpt:!0,defVal:"Gray BackColour",ref:"AdaptableStyle"},{name:"Rule",kind:"R",desc:"When Flashing Cell should be triggered",ref:"unknown"},{name:"Scope",kind:"R",desc:"Where Flashing Cell can display: Column[s] or DataType[s]",ref:"AdaptableScope"},{name:"UpChangeStyle",kind:"R",desc:"Style for &#39;Up&#39; value changes",isOpt:!0,defVal:"Green BackColour",ref:"AdaptableStyle"}]},FlashingCellOptions:{name:"FlashingCellOptions",kind:"I",desc:"Properties for Flashing Cell",props:[{name:"defaultDownChangeStyle",kind:"R",desc:"Style for &#39;Down&#39; value changes",isOpt:!0,defVal:"Red BackColour",ref:"AdaptableStyle"},{name:"defaultFlashDuration",kind:"number | 'always'",desc:"Duration of Flash - can be number (in ms) or &#39;always&#39;",isOpt:!0,defVal:"500ms"},{name:"defaultFlashTarget",kind:"'row' | 'cell'",desc:"Should a cell or whole row flash",isOpt:!0,defVal:"&#39;cell&#39;"},{name:"defaultNeutralChangeStyle",kind:"R",desc:"Style for &#39;Neutral&#39; value changes",isOpt:!0,defVal:"Gray BackColour",ref:"AdaptableStyle"},{name:"defaultUpChangeStyle",kind:"R",desc:"Style for &#39;Up&#39; value changes",isOpt:!0,defVal:"Green BackColour",ref:"AdaptableStyle"}]},FlashingCellState:{name:"FlashingCellState",kind:"I",desc:"Predefined Configuration for Flashing Cell module",props:[{name:"FlashingCellDefinitions",kind:"a",desc:"Flashing Cell Definitions - will colour cells/rows when rule is met",isOpt:!0}]},FormatColumn:{name:"FormatColumn",kind:"I",desc:"Object used in Format Column function",props:[{name:"CellAlignment",kind:"'Left' | 'Right' | 'Center'",desc:"Aligns cells &#39;Left&#39; or &#39;Right&#39; or &#39;Center&#39;",isOpt:!0},{name:"ColumnStyle",kind:"R",desc:"",isOpt:!0,ref:"unknown"},{name:"DisplayFormat",kind:"R",desc:"Display Format to apply to Column can be Numeric, String or Date",isOpt:!0,ref:"AdaptableFormat"},{name:"IncludeGroupedRows",kind:"b",desc:"Whether to Format the Column in Grouped Rows",isOpt:!0,defVal:"false"},{name:"Rule",kind:"R",desc:"Rule used to decide whether to apply the Format; if undefined Format is always applied",isOpt:!0,ref:"FormatColumnRule"},{name:"Scope",kind:"R",desc:"Where Format will be applied - whole Row, some Columns or all Columns of given DataType",ref:"AdaptableScope"},{name:"Style",kind:"R",desc:"Style to apply",isOpt:!0,ref:"AdaptableStyle"}]},FormatColumnOptions:{name:"FormatColumnOptions",kind:"I",desc:"Provides Custom Formats used in Format Column Module",props:[{name:"customDisplayFormatters",kind:"a",desc:"Custom Formatters to use in Format Column Module",isOpt:!0}]},FormatColumnPredicate:{name:"FormatColumnPredicate",kind:"I",desc:"Predicate used when creating a Format Column"},FormatColumnRule:{name:"FormatColumnRule",kind:"A",desc:"The Format Column Rule - can be either a Predicate or a BooleanExpression"},FormatColumnState:{name:"FormatColumnState",kind:"I",desc:"Predefined Configuration for Format Column Module",props:[{name:"FormatColumns",kind:"a",desc:"Collection of Format Columns",isOpt:!0}]},FormContext:{name:"FormContext",kind:"I",desc:"Context supplied to Buttons that appear in an Adaptable Form",props:[{name:"formData",kind:"R",desc:"Adaptable Form Data",ref:"AdaptableFormData"}]},FreeTextColumn:{name:"FreeTextColumn",kind:"I",desc:"The FreeTextColumn object used in the Free Text Column function",props:[{name:"ColumnId",kind:"s",desc:"Id of Column"},{name:"DefaultValue",kind:"u",desc:"Initial value to use for each cell in the Column",isOpt:!0},{name:"FreeTextColumnSettings",kind:"R",desc:"Additional optional properties for Column (e.g. filterable, resizable)",ref:"FreeTextColumnSettings"},{name:"FreeTextStoredValues",kind:"a",desc:"Collection of Stored Values to aplly in the Column",isOpt:!0},{name:"FriendlyName",kind:"s",desc:"Friendly Name to use to refer to Column; if unset `ColumnId` is used",isOpt:!0},{name:"TextEditor",kind:"'Inline' | 'Large'",desc:"Cell editor to use when editing a string Free Text Column",isOpt:!0,defVal:"&#39;Inline&#39;"}]},FreeTextColumnSettings:{name:"FreeTextColumnSettings",kind:"I",desc:"Set of optional properties that define a FreeText Columns behaviour"},FreeTextColumnState:{name:"FreeTextColumnState",kind:"I",desc:"Predefined Configuration for the Free Text Column Module",props:[{name:"FreeTextColumns",kind:"a",desc:"Collection of Free Text Columns",isOpt:!0}]},FreeTextStoredValue:{name:"FreeTextStoredValue",kind:"I",desc:"Defines a cell value stored in a Free Text Column",props:[{name:"FreeText",kind:"u",desc:"Value to store in the cell"},{name:"PrimaryKey",kind:"u",desc:"Primary Key Column value for the row"}]},GlobalExpressionFunctionsContext:{name:"GlobalExpressionFunctionsContext",kind:"I",desc:"Context provided to global expression functions properties property callback",props:[{name:"availableExpressionFunctionNames",kind:"u",desc:"The names of all expression functions available in this context"}]},Glue42PluginOptions:{name:"Glue42PluginOptions",kind:"I",desc:"Options for using the Glue42 Desktop plugin",props:[{name:"gatewayURL",kind:"s",desc:"Gateway URL",isOpt:!0},{name:"glue",kind:"u",desc:"Main Glue desktop object",isOpt:!0},{name:"glue42Office",kind:"u",desc:"Main Glue42 Office object",isOpt:!0},{name:"password",kind:"s",desc:"Password to use to login to Glue42; typically sourced from PC Credentials",isOpt:!0},{name:"username",kind:"s",desc:"UserName to use to login to Glue42; typically sourced from PC Credentials",isOpt:!0}]},Glue42Report:{name:"Glue42Report",kind:"I",desc:"Glue42 report - currently just contains name of Report",props:[{name:"ReportName",kind:"s",desc:"The Report&#39;s name (as exists in Export State)"}]},Glue42Schedule:{name:"Glue42Schedule",kind:"I",desc:"Defines Glue42 Scheduled Report; used in Schedule Module (where State is stored)",props:[{name:"Glue42Report",kind:"R",desc:"The Glue42 Report which will be sent when the Schedule runs",ref:"Glue42Report"},{name:"Transmission",kind:"'Snapshot' | 'Live Data'",desc:"Whether its a one-off or &#39;streaming&#39; transmission"}]},Glue42State:{name:"Glue42State",kind:"I",desc:"Internal State used by AdapTable for managing the Glue42 plugin",props:[{name:"CurrentLiveGlue42Report",kind:"R",desc:"Which Glue42 Report is currently live",isOpt:!0,ref:"Glue42Report"},{name:"Glue42LoginErrorMessage",kind:"s",desc:"Message to show when Login Fails",isOpt:!0},{name:"IsGlue42Available",kind:"b",desc:"Whether Glue42 is available",isOpt:!0},{name:"IsGlue42Running",kind:"b",desc:"Whether Glue42 is running",isOpt:!0}]},Glue42WebPluginOptions:{name:"Glue42WebPluginOptions",kind:"I",desc:"Options for using the Glue42 Web plugin",props:[{name:"showAdaptableAlertsAsNotifications",kind:"b",desc:"Converts AdapTable Alerts configured to display in popup as Glue42 Notifications",isOpt:!0,defVal:"true"}]},GradientStyle:{name:"GradientStyle",kind:"I",desc:"Used to display Gradient Styles in Special Column Style"},GridCell:{name:"GridCell",kind:"I",desc:"Defines a Cell in Adaptable - every cell is an intersection of a Column Id and a Primary Key Value",props:[{name:"column",kind:"u",desc:"Column in which cell is situated"},{name:"displayValue",kind:"u",desc:"Display value of cell (e.g. if formatted)"},{name:"normalisedValue",kind:"u",desc:"Normalised value of cell"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key column&#39;s value in row - how Adaptable locates the cell",isOpt:!0},{name:"rawValue",kind:"u",desc:"Actual raw value of cell"},{name:"rowNode",kind:"u",desc:"AG Grid Row Node that holds the cell"}]},GridCellRange:{name:"GridCellRange",kind:"I",desc:"Defines a range of Cell - used in Grid Api Selection methods Typically use either PrimaryKey Values or Row Indexes",props:[{name:"columnIds",kind:"a",desc:"Columns to select"},{name:"primaryKeyValueEnd",kind:"u",desc:"Primary Key value of row at end of range",isOpt:!0},{name:"primaryKeyValueStart",kind:"u",desc:"Primary Key value of row at start of range",isOpt:!0},{name:"rowIndexEnd",kind:"u",desc:"Index of row at end of range",isOpt:!0},{name:"rowIndexStart",kind:"u",desc:"Index of row at start of range",isOpt:!0}]},GridDataContextMapping:{name:"GridDataContextMapping",kind:"I",desc:"Mapping of FDC3 Context Types to Grid Data/Columns"},GridInfoSection:{name:"GridInfoSection",kind:"A",desc:"Tabs available in the Grid Info Settings Panel"},GridInfoSections:{name:"GridInfoSections",kind:"A",desc:"Sets of Tabs avilable in Grid Info Settings Panel"},GridRow:{name:"GridRow",kind:"I",desc:"Detailed information about a Row in AdapTable",props:[{name:"primaryKeyValue",kind:"u",desc:"Primary Key column&#39;s value for Row - how Adaptable locates a cell"},{name:"rowData",kind:"u",desc:"Actual data in the Row",isOpt:!0},{name:"rowInfo",kind:"R",desc:"Object which provides &#39;meta data&#39; about the Row",isOpt:!0,ref:"RowInfo"},{name:"rowNode",kind:"u",desc:"AG Grid Row Node object for the Row",isOpt:!0}]},GroupingOptions:{name:"GroupingOptions",kind:"I",desc:"Options for managing Row and Column Groups in AdapTable",props:[{name:"autoOrderGroupedColumns",kind:"b",desc:"Order Row Grouped Columns automatically, using Adaptable State if available (Custom or Column Sort)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"restoreUngroupedColumns",kind:"b",desc:"Places ungrouped columns at pre-grouping indexed position",isOpt:!0,noCode:"item",defVal:"false"},{name:"showGroupingTotalsAsHeader",kind:"b",desc:"Show aggregated totals row at top of Grid when row grouping",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"unbalancedGroupsKey",kind:"u",desc:"Value to use for &#39;Unbalanced Groups&#39; (string columns)",isOpt:!0}]},HandleFdc3Context:{name:"HandleFdc3Context",kind:"I",desc:"Context used when handling incoming FDC3 messages",props:[{name:"context",kind:"R",desc:"The FDC3 Context",ref:"unknown"},{name:"metadata",kind:"R",desc:"The FDC3 Context Metadata related to the context",isOpt:!0,ref:"unknown"}]},HandleFdc3IntentContext:{name:"HandleFdc3IntentContext",kind:"I",desc:"Context used when handling incoming FDC3 Intents",props:[{name:"intent",kind:"R",desc:"The FDC3 Intent",ref:"Fdc3IntentType"}]},HandleFdc3IntentResolutionContext:{name:"HandleFdc3IntentResolutionContext",kind:"I",desc:"Context provided in `handleIntentResolution` callback",props:[{name:"intentResolution",kind:"R",desc:"The FDC3 Intent Resolution",ref:"unknown"}]},IAdaptableNoCodeWizard:{name:"IAdaptableNoCodeWizard",kind:"I",desc:"When you want to configure an Adaptable via json file D&amp;D, use this instead of the normal Adaptable constructor"},IPushPullDomain:{name:"IPushPullDomain",kind:"I",desc:"Internal object that maps an IPushPull Domain object",props:[{name:"FolderId",kind:"n",desc:"the Id of the Folder"},{name:"Name",kind:"s",desc:"the Name of the Domain / Folder"},{name:"Pages",kind:"a",desc:"The names of the pages within the (Folder)"}]},IPushPullPluginOptions:{name:"IPushPullPluginOptions",kind:"I",desc:"Options available in ipushpull plugin; allows users to collborate and share data in powerful ways",props:[{name:"autoLogin",kind:"b",desc:"Whether AdapTable should try log in to ipushpull automatically at start-up",isOpt:!0,defVal:"false"},{name:"includeSystemReports",kind:"b",desc:"Whether AdapTable will include System Reports (e.g. &#39;All Data&#39;, &#39;Selected Cells&#39; etc) in the ipushpull toolbar dropdown",isOpt:!0,defVal:"true"},{name:"ippConfig",kind:"u",desc:"The config required to run ipushpull; use your ipushpull credentials",isOpt:!0},{name:"password",kind:"s",desc:"The user&#39;s ipushpull password; if supplied, pre-populates the login screen&#39;s password textbox",isOpt:!0},{name:"throttleTime",kind:"n",desc:"How many miliseconds AdapTable should throttle when sending data updates to ipushpull",isOpt:!0,defVal:"2000"},{name:"username",kind:"s",desc:"User&#39;s ipushpull user name (usually email address); if supplied, pre-populates the login screen&#39;s username textbox",isOpt:!0}]},IPushPullReport:{name:"IPushPullReport",kind:"I",desc:"An ipushpull report",props:[{name:"Folder",kind:"s",desc:"ipushpull Folder which contains the Page"},{name:"Page",kind:"s",desc:"ipushpull Page which will contain the data"},{name:"ReportName",kind:"s",desc:"Name of the Report"}]},IPushPullSchedule:{name:"IPushPullSchedule",kind:"I",desc:"Defines an ipushpull Schedule",props:[{name:"IPushPullReport",kind:"R",desc:"The report being exported to Excel (via ipushpull)",ref:"IPushPullReport"},{name:"Transmission",kind:"'Snapshot' | 'Live Data'",desc:"How data is sent: &#39;Snapshot&#39; or &#39;Live Data&#39;"}]},IPushPullState:{name:"IPushPullState",kind:"I",desc:"Internal State used by AdapTable for managing the ipushpull plugin"},Layout:{name:"Layout",kind:"I",desc:"Defines a Layout; contains everything required i.e. Columns, Sorts, Widths, Aggregations, Grouping &amp; Pivoting",props:[{name:"AggregationColumns",kind:"R",desc:"Columns showing aggregated values in grouped rows; 1st value in record is Column name, 2nd is either aggfunc (e.g. sum, avg etc.) or &#39;true&#39; (to use default aggfunc)",isOpt:!0,ref:"AggregationColumns"},{name:"ColumnFilters",kind:"a",desc:"Collection of Column Filters.",isOpt:!0},{name:"ColumnHeadersMap",kind:"u",desc:"Set of custom header names for some (or all columns)",isOpt:!0},{name:"Columns",kind:"a",desc:"Which columns should be visible in the Layout and in which order"},{name:"ColumnSorts",kind:"a",desc:"Sorting to apply in the Layout",isOpt:!0},{name:"ColumnWidthMap",kind:"u",desc:"Set of widths for some (or all columns)",isOpt:!0},{name:"EnablePivot",kind:"b",desc:"Whether pivoting should be enabled in the Grid when this Layout loads",isOpt:!0},{name:"ExpandedRowGroupValues",kind:"a",desc:"Opened Row Groups - set if `displayRowGroups` in LayoutOptions is &#39;dynamic&#39;",isOpt:!0},{name:"Name",kind:"s",desc:"Name of Layout as will appear in Layout toolbar and tool panel"},{name:"PinnedColumnsMap",kind:`{
577
577
  [columnId: string]: 'left' | 'right';
578
- }`,desc:"Set of pinned Columns",isOpt:!0},{name:"PivotColumns",kind:"a",desc:"List of Columns which should be pivoted when grid is in pivot mode",isOpt:!0},{name:"RowGroupedColumns",kind:"a",desc:"Columns which are row-grouped when the Layout is applied",isOpt:!0},{name:"SuppressAggFuncInHeader",kind:"b",desc:"Whether to include the aggFunc name in the column header: e.g. &#39;sum(Bank Balance)&#39; will just be &#39;Bank Balance&#39;",isOpt:!0}]},LayoutAssociatedObject:{name:"LayoutAssociatedObject",kind:"A",desc:"Types of Adaptable Objects that can be associated with a Layout"},LayoutAvailableContext:{name:"LayoutAvailableContext",kind:"I",desc:"Context for `LayoutOptions.isObjectAvailableInLayout` functions",props:[{name:"adaptableObject",kind:"R",desc:"Object being checked",ref:"LayoutAssociatedObject"},{name:"layout",kind:"R",desc:"Current Layout",ref:"Layout"},{name:"module",kind:"R",desc:"Current Adaptable Module",ref:"AdaptableModule"}]},LayoutOptions:{name:"LayoutOptions",kind:"I",desc:"Options for configuring Layouts; these manage Column visibility, order, sorting, grouping and width",props:[{name:"autoSaveLayouts",kind:"b",desc:"Layouts save whenever Grid&#39;s column / sort info changes; if false, a Save button will display",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"autoSizeColumnsInLayout",kind:"b",desc:"Columns auto-size when Layout loads for first time",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"autoSizeColumnsInPivotLayout",kind:"b",desc:"Columns auto-size when Pivot Layout loads first time (overriding Layout width properties)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"createDefaultLayout",kind:"b",desc:"Whether a &quot;Default Layout&quot; will be created in addition to Layouts provided in Config",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"displayRowGroups",kind:"'dynamic' | 'expanded' | 'closed'",desc:"Whether Row Groups display all as expanded, all as closed or dynamically (i.e. saved in Layout)",isOpt:!0,gridInfo:"item",defVal:"&#39;closed&#39;"},{name:"layoutTagOptions",kind:"R",desc:"Options for leveraging Object Tags to extend Layouts",isOpt:!0,ref:"LayoutTagOptions"},{name:"layoutViewOptions",kind:"R",desc:"Customize how Layouts are displayed in Settings Panel",isOpt:!0,ref:"LayoutViewOptions"},{name:"pivotPreviewColumns",kind:"u",desc:"Columns displayed in Table that opens when viewing contents of Pivot Cells",isOpt:!0}]},LayoutState:{name:"LayoutState",kind:"I",desc:"Predefined Configuration for the Layout Module",props:[{name:"CurrentLayout",kind:"s",desc:"Layout which will be loaded when AdapTable starts - must match `Name` property in Layout",isOpt:!0},{name:"Layouts",kind:"a",desc:"Collection of Layout objects - listed in Layout toolbar and Tool Panel",isOpt:!0}]},LayoutTagOptions:{name:"LayoutTagOptions",kind:"I",desc:"Options for managing Tags in Layouts (used to enhance Layouts)",props:[{name:"autoCheckTagsForLayouts",kind:"b",desc:"Automatically assumes that any `LayoutAssociatedObject` is available in the current Layout if it has a tag with the Layouts name (or no tags at all)",isOpt:!0,defVal:"false"},{name:"autoGenerateTagsForLayouts",kind:"u",desc:"Automatically generate an AdaptableObjectTag for each Layout",isOpt:!0,defVal:"false"},{name:"isObjectAvailableInLayout",kind:"f",desc:"Checks if the provided Adaptable Object is available in the given Layout",isOpt:!0,defVal:"undefined"}]},LayoutViewOptions:{name:"LayoutViewOptions",kind:"I",desc:"Customize how Layouts are displayed in Settings Panel",props:[{name:"maxColumnsToDisplay",kind:"n",desc:"How many Column Names to display in inline Layout preview",isOpt:!0,defVal:"10"}]},MasterDetailPluginOptions:{name:"MasterDetailPluginOptions",kind:"I",desc:"Plugin Options used when creating a Master / Detail grid - passed into the plugin as the only argument.",props:[{name:"detailAdaptableOptions",kind:"R",desc:"`AdaptableOptions` used in Detail Grids; all share same behaviour &amp; State",ref:"AdaptableOptions"},{name:"onDetailInit",kind:"f",desc:"Function called when a Detail Grid is initialised, receives context including Adaptable Api",isOpt:!0}]},MenuOptions:{name:"MenuOptions",kind:"I",desc:"Options for managing menus in AdapTable",props:[{name:"columnMenuItems",kind:"a",desc:"User-defined Menu Items to add to the Column Menu",isOpt:!0},{name:"columnMenuOrder",kind:"u",desc:"Order in which AG Grid, AdapTable and User Menu items will appear in Column Menu",isOpt:!0,gridInfo:"item",defVal:"&#39;aggrid&#39;, &#39;adaptable&#39;, &#39;user&#39;"},{name:"contextMenuItems",kind:"a",desc:"User-defined Menu Items to add to the Context Menu",isOpt:!0},{name:"contextMenuOrder",kind:"u",desc:"Order in which AG Grid, AdapTable and User Menu items will appear in Context Menu",isOpt:!0,gridInfo:"item",defVal:"&#39;aggrid&#39;, &#39;adaptable&#39;, &#39;user&#39;"},{name:"showAdaptableColumnMenu",kind:"u",desc:"Show Adaptable Column Menu (or specific items); can be boolean value or function invoked for each menu item",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"showAdaptableContextMenu",kind:"u",desc:"Show Adaptable Context Menu (or specific items); can be boolean value or function invoked for each menu item",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"showUngroupColumnMenuItem",kind:"b",desc:"Adds &#39;Ungroup&#39; Column Menu item to a row grouped column",isOpt:!0,gridInfo:"item",defVal:"true"}]},ModuleExpressionFunctions:{name:"ModuleExpressionFunctions",kind:"I",desc:"Type specific Expression Functions",props:[{name:"customBooleanFunctions",kind:"u",desc:"Custom Boolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (none)"},{name:"customScalarFunctions",kind:"u",desc:"Custom Scalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (none)"},{name:"systemAggregatedBooleanFunctions",kind:"u",desc:"System AggregatedBoolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemAggregatedScalarFunctions",kind:"u",desc:"System AggregatedScalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemBooleanFunctions",kind:"u",desc:"System Boolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemObservableFunctions",kind:"u",desc:"System Observable Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemScalarFunctions",kind:"u",desc:"System Scalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"}]},ModuleExpressionFunctionsContext:{name:"ModuleExpressionFunctionsContext",kind:"I",desc:"Context provided to moduleExpressionFunctions property callback",props:[{name:"availableAggregatedBooleanFunctionNames",kind:"a",desc:"The global aggregated boolean expression functions"},{name:"availableAggregatedScalarFunctionNames",kind:"a",desc:"The global aggregated scalar expression functions"},{name:"availableBooleanFunctionNames",kind:"a",desc:"The global boolean expression functions"},{name:"availableObservableFunctionNames",kind:"a",desc:"The global observable expression functions"},{name:"availableScalarFunctionNames",kind:"a",desc:"The global scalar expression functions"},{name:"module",kind:"R",desc:"The Adaptable Module requesting the expression functions",ref:"AdaptableModule"}]},ModuleExpressionFunctionsMap:{name:"ModuleExpressionFunctionsMap",kind:"A",desc:"Module specific Expression Functions"},NamedQuery:{name:"NamedQuery",kind:"I",desc:"Defines a Query which can be used in multiple AdapTable Modules",props:[{name:"Name",kind:"s",desc:"Name of the Query - how it will appear in Query dropdown"}]},NotificationsOptions:{name:"NotificationsOptions",kind:"I",desc:"Options related to System Status Messages and Notifications in Adaptable.",props:[{name:"closeWhenClicked",kind:"b",desc:"Closes Notification automatically when its clicked",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"duration",kind:"number | 'always'",desc:"How long (in ms) Notifications display for",isOpt:!0,gridInfo:"item",defVal:"3000"},{name:"isDraggable",kind:"b",desc:"Can Notification be dragged",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"maxNotifications",kind:"n",desc:"How many Notifications can be displayed at one time",isOpt:!0,gridInfo:"item",defVal:"3"},{name:"maxSystemMessagesInStore",kind:"n",desc:"How many System Status Messages to hold in State; when limit is reached, oldest Message is removed",isOpt:!0,gridInfo:"item",defVal:"100"},{name:"pauseWhenHovering",kind:"b",desc:"Pauses the Notification when mouse hovers over it",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"position",kind:"R",desc:"Where Notification will appear (if anywhere)",isOpt:!0,gridInfo:"item",defVal:"&#39;BottomRight&#39;",ref:"TOAST_POSITIONS"},{name:"showApplicationIcon",kind:"b",desc:"Displays the application icon in Notifications",isOpt:!0,defVal:"false"},{name:"showProgressBar",kind:"b",desc:"Shows a Progress Bar in the Notification",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"showSystemStatusMessageNotifications",kind:"b",desc:"Display System Status Messages as Notifications",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"transition",kind:"'Bounce' | 'Slide' | 'Zoom' | 'Flip'",desc:"How Notification will appear: Bounce, Slide, Zoom or Flip",isOpt:!0,gridInfo:"item",defVal:"&#39;Slide&#39;"}]},NumberFormatterOptions:{name:"NumberFormatterOptions",kind:"I",desc:"Formatter Options for Numeric Columns",props:[{name:"Abs",kind:"b",desc:"Returns absolute value of a number",isOpt:!0},{name:"Ceiling",kind:"b",desc:"Returns smallest integer number",isOpt:!0},{name:"Content",kind:"string | number",desc:"Replaces cell value with supplied value",isOpt:!0},{name:"Floor",kind:"b",desc:"Returns largest intger number",isOpt:!0},{name:"FractionDigits",kind:"n",desc:"Number of digits to show in Fractions (up to 20)",isOpt:!0},{name:"FractionSeparator",kind:"s",desc:"Separator to use in fractions",isOpt:!0},{name:"IntegerDigits",kind:"n",desc:"Number of digits to show for Integers (up to 20)",isOpt:!0},{name:"IntegerSeparator",kind:"s",desc:"Separator to use in Integers",isOpt:!0},{name:"Multiplier",kind:"n",desc:"Multiplier to use on the number",isOpt:!0},{name:"Parentheses",kind:"b",desc:"Shows negative numbers in parentheses",isOpt:!0},{name:"Prefix",kind:"s",desc:"Prefix to use before the number",isOpt:!0},{name:"Round",kind:"b",desc:"Rounds a Number",isOpt:!0},{name:"Suffix",kind:"s",desc:"Suffix to use after the number",isOpt:!0},{name:"Truncate",kind:"b",desc:"Truncates a number",isOpt:!0}]},NumericStyledColumn:{name:"NumericStyledColumn",kind:"I",desc:"Base type for Numeric Styled Columns (i.e. Gradient and Percent Bar)",props:[{name:"CellRanges",kind:"a",desc:"Ranges (e.g. to create traffic light effect)",isOpt:!0},{name:"ColumnComparison",kind:"R",desc:"Compares Cell values to another Column",isOpt:!0,ref:"ColumnComparison"},{name:"RangeValueType",kind:"R",desc:"If using Ranges, they can provide &#39;Number&#39; (any number or Col-Min/Col-Max) or &#39;Percentage&#39; (values 0-100)",isOpt:!0,defVal:"Number",ref:"RangeValueType"}]},ObjectTagsContext:{name:"ObjectTagsContext",kind:"I",desc:"Context used when evaluating Object Tags"},OpenFinPluginOptions:{name:"OpenFinPluginOptions",kind:"I",desc:"Options required for when using the OpenFin plugin",props:[{name:"notificationTimeout",kind:"number | false",desc:"Timeout (in ms) for OpenFin Notifications to expire; set false for notifications not to auto-dismiss",isOpt:!0,defVal:"5000"},{name:"onNotificationAction",kind:"u",desc:"Function which is invoked when a button in OpenFin notification is clicked",isOpt:!0},{name:"onShowNotification",kind:"f",desc:"Updates OpenFin Notification object before it&#39;s displayed (just add/remove properties); return false to stop Notification showing",isOpt:!0},{name:"onValidationFailureInExcel",kind:"'override' | 'show-notification' | 'show-undo-notification'",desc:"Action to perform when a data change in Live Excel report triggers Prevent Edit Alert failure",isOpt:!0},{name:"showAdaptableAlertsAsNotifications",kind:"b",desc:"Converts AdapTable Alerts configured to display in popup as OpenFin Notifications",isOpt:!0,defVal:"true"},{name:"showAppIconInNotifications",kind:"u",desc:"Icon to show in Notification - uses the value supplied in UserInterfaceOptions",isOpt:!0,defVal:"true"},{name:"throttleTime",kind:"n",desc:"How long (in ms) AdapTable throttles when sending data update to OpenFin",isOpt:!0,defVal:"2000"}]},OpenFinReport:{name:"OpenFinReport",kind:"I",desc:"An OpenFin report",props:[{name:"ReportName",kind:"s",desc:"Name of Report (which will exist in the Export State)"}]},OpenFinSchedule:{name:"OpenFinSchedule",kind:"I",desc:"Defines a OpenFin Schedule - used in Schedule Module",props:[{name:"OpenFinReport",kind:"R",desc:"Report being exported to Excel (via OpenFin)",ref:"OpenFinReport"},{name:"Transmission",kind:"u",desc:"Whether Snapshot or Live Data (currently only the latter is supported)"}]},OpenFinState:{name:"OpenFinState",kind:"I",desc:"Internal State used by AdapTable for managing the OpenFin plugin"},PercentBarStyle:{name:"PercentBarStyle",kind:"I",desc:"Style used to display Percent Bars in Special Column Style",props:[{name:"BackColor",kind:"s",desc:"Background colour for &#39;Percent Bar&#39;; leave unset if none required",isOpt:!0,defVal:"undefined"},{name:"CellText",kind:"R",desc:"Whether Cell shows Cell Value, Percent Value, both or none",isOpt:!0,ref:"CellTextOptions"},{name:"CellTextPosition",kind:"'Above' | 'Below' | 'Merged'",desc:"Position of text in Cell relative to Percent Bar, &quot;Above&quot;, &quot;Below&quot; or &quot;Merged&quot;",isOpt:!0,defVal:"Below"},{name:"ToolTipText",kind:"R",desc:"Whether Tooltip shows Cell Value, Percent Value, both or none",isOpt:!0,ref:"CellTextOptions"}]},PermittedValues:{name:"PermittedValues",kind:"I",desc:"Permitted/possible values, when column values can be selected (e.g. sort, bulk-update)",props:[{name:"values",kind:"u",desc:"Values to display: either hardcoded list or a function that returns a list",isOpt:!0}]},PermittedValuesContext:{name:"PermittedValuesContext",kind:"I",desc:"Context used when getting PermittedValues via a function",props:[{name:"column",kind:"u",desc:"Column whose values are being displayed"}]},PivotPreviewColumnsContext:{name:"PivotPreviewColumnsContext",kind:"I",desc:"Context uses for pivotPreviewColumns function in Layout Options",props:[{name:"columnId",kind:"s",desc:"Column being opened"},{name:"layout",kind:"R",desc:"Current Layout",ref:"Layout"}]},PlusMinusNudge:{name:"PlusMinusNudge",kind:"I",desc:"Defines a Plus Minus Rule - used in the Plus Minus Module",props:[{name:"NudgeValue",kind:"n",desc:"Amount by which to update cell when Rule is applied"},{name:"Rule",kind:"R",desc:"(Optional) Boolean Expression to determine whether to apply the Nudge",isOpt:!0,ref:"AdaptableBooleanQuery"},{name:"Scope",kind:"R",desc:"Where Rule is applied",ref:"AdaptableScope"}]},PlusMinusState:{name:"PlusMinusState",kind:"I",desc:"Predefined Configuration for Plus Minus Module",props:[{name:"PlusMinusNudges",kind:"a",desc:"Array of Plus Minus Nudges",isOpt:!0}]},PredefinedConfig:{name:"PredefinedConfig",kind:"I",desc:"This is the main Predefined Config interface which developers will populate at design-time",props:[{name:"Alert",kind:"R",desc:"Collection of `AlertDefinitions` which will fire Alerts when the rule is met",isOpt:!0,ref:"AlertState"},{name:"Application",kind:"R",desc:"Empty state section (only populated at Design Time) available for User to store their own data with the rest of AdapTable state.",isOpt:!0,ref:"ApplicationState"},{name:"CalculatedColumn",kind:"R",desc:"Supplies a collection of *CalculatedColumn* objects that will display a value based on other cells in the row (using a Calculated Column Expression)",isOpt:!0,ref:"CalculatedColumnState"},{name:"Charting",kind:"R",desc:"Named Charts (wrapping Chart models)",isOpt:!0,ref:"ChartingState"},{name:"ConditionalStyle",kind:"R",desc:"",isOpt:!0,ref:"unknown"},{name:"CustomSort",kind:"R",desc:"Supplies a collection of *Custom Sort* objects to allow some columns to be sorted in non-standard (e.g. non alphabetical) ways",isOpt:!0,ref:"CustomSortState"},{name:"Dashboard",kind:"R",desc:"Large series of properties to give users full control over the look and feel of the *Dashboard* - the section above the grid with toolbars and buttons",isOpt:!0,ref:"DashboardState"},{name:"Export",kind:"R",desc:"Supplies a collection of *Report* objects, together with name of the Current Report, as part of AdapTable export Module",isOpt:!0,ref:"ExportState"},{name:"FlashingCell",kind:"R",desc:"* Objects which define which cells flash in response to data changes",isOpt:!0,ref:"FlashingCellState"},{name:"FormatColumn",kind:"R",desc:"Supplies a collection of *FormatColumn* objects that will style an entire column either fully or using a Condition",isOpt:!0,ref:"FormatColumnState"},{name:"FreeTextColumn",kind:"R",desc:"Supplies a collection of *FreeText* objects so users can make their own notes in bespoke columns that will get stored with their state (and not with the DataSource). Useful if needing a &#39;Comments&#39; column.",isOpt:!0,ref:"FreeTextColumnState"},{name:"Layout",kind:"R",desc:"Supplies a collection of *Layout* objects to name and manage groups of column visibility, order and sorts.",isOpt:!0,ref:"LayoutState"},{name:"PlusMinus",kind:"R",desc:"Supplies a collection of *PlusMinus* rule objects to stipulate what happens when the user clicks &#39;+&#39; or &#39;-&#39; in a numeric cell",isOpt:!0,ref:"PlusMinusState"},{name:"Query",kind:"R",desc:"Named Queries available for use across multiple AdapTable Modules; and `CurrentQuery` - an Expression to run at start-up",isOpt:!0,ref:"QueryState"},{name:"QuickSearch",kind:"R",desc:"Configues how Quick Search will run i.e. how and whether to highlight matching cells and to filter out non-matching rows",isOpt:!0,ref:"QuickSearchState"},{name:"Schedule",kind:"R",desc:"Supplies a collection of *Schedule* objects",isOpt:!0,ref:"ScheduleState"},{name:"Shortcut",kind:"R",desc:"Supplies a collection of *Shortcut* objects to aid data entry and prevent &#39;fat finger&#39; issues",isOpt:!0,ref:"ShortcutState"},{name:"StatusBar",kind:"R",desc:"Configures the Adaptable Status Bar",isOpt:!0,ref:"StatusBarState"},{name:"StyledColumn",kind:"R",desc:"Supplies a collection of Special Column Styles",isOpt:!0,ref:"StyledColumnState"},{name:"Theme",kind:"R",desc:"Specifies the current Theme and lists the User and System themes available for selection.",isOpt:!0,ref:"ThemeState"},{name:"ToolPanel",kind:"R",desc:"Sets the order and visibility of the Tool Panel controls in the AdapTable ToolPanel (on right of grid)",isOpt:!0,ref:"ToolPanelState"}]},PredicateDefHandlerContext:{name:"PredicateDefHandlerContext",kind:"I",desc:"Object passed into an Adaptable Predicate Definition",props:[{name:"column",kind:"R",desc:"Adaptable Column which contains the cell",ref:"AdaptableColumn"},{name:"displayValue",kind:"u",desc:"Display value in cell being evaluated"},{name:"inputs",kind:"a",desc:"Any (optional) inputs required to perform evaluation",isOpt:!0},{name:"node",kind:"R",desc:"AG Grid Row node which contains the cell",ref:"unknown"},{name:"oldValue",kind:"u",desc:"Previous value in cell (e.g. if evaluating an edit)"},{name:"value",kind:"u",desc:"Raw value in cell being evaluated"}]},PredicateDefInput:{name:"PredicateDefInput",kind:"I",desc:"Defines an Input to a Predicate"},PredicateDefToStringParams:{name:"PredicateDefToStringParams",kind:"I",desc:"Inputs required for a Predicate"},PredicateModuleScope:{name:"PredicateModuleScope",kind:"A",desc:"Defines which in Modules the Predicate is available"},PredicateOptions:{name:"PredicateOptions",kind:"I",desc:"Options for managing Adaptable Predicates using AdaptableQL",props:[{name:"caseSensitivePredicates",kind:"b",desc:"Perform case-sensitive text comparisons when evaluating Predicates",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"customPredicateDefs",kind:"a",desc:"Definitions for Custom provided Predicates",isOpt:!0},{name:"systemAlertPredicates",kind:"u",desc:"Which System Alert Predicates are available",isOpt:!0},{name:"systemBadgeStylePredicates",kind:"u",desc:"Which System Badge Style Predicates are available",isOpt:!0},{name:"systemFilterPredicates",kind:"u",desc:"Which System Filter Predicates are available",isOpt:!0},{name:"systemFlashingCellPredicates",kind:"u",desc:"Which System Flashing Cell Predicates are available",isOpt:!0},{name:"systemFormatColumnPredicates",kind:"u",desc:"Which System Format Column Predicates are available",isOpt:!0}]},PreProcessExportContext:{name:"PreProcessExportContext",kind:"I",desc:"Context provided to `ExportOptions.processExport()` callback used when pre-processing Export",props:[{name:"getReportColumns",kind:"u",desc:"Returns Columns to export based on Report&#39;s `ReportColumnScope`"},{name:"getReportRowData",kind:"u",desc:"Returns row data which would typically be exported based on the Report&#39;s `ReportRowScope`"},{name:"report",kind:"R",desc:"Report being exported",ref:"Report"}]},QueryableColumnContext:{name:"QueryableColumnContext",kind:"I",desc:"Context passed when evaluating Queryable Columns",props:[{name:"adaptableColumn",kind:"R",desc:"Basic Column Info - just ColumnId, DataType and FriendlyName",ref:"AdaptableColumnBase"}]},QueryState:{name:"QueryState",kind:"I",desc:"Predefined Configuration for Query Module",props:[{name:"CurrentQuery",kind:"s",desc:"Expression used for the Query currently being run",isOpt:!0},{name:"NamedQueries",kind:"a",desc:"Named Queries - can be referenced in other Expressions",isOpt:!0}]},QuickSearchOptions:{name:"QuickSearchOptions",kind:"I",desc:"Options for configuring Quick Search",props:[{name:"clearSearchesOnStartUp",kind:"b",desc:"Clears saved searches (and Queries) when AdapTable loads",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"excludeColumnFromQuickSearch",kind:"u",desc:"Function enabling specific Columns to be excluded from Quick Search",isOpt:!0,defVal:"undefined"},{name:"filterResultsAfterQuickSearch",kind:"b",desc:"Filters the quick search results so only matching rows are displayed",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"quickSearchPlaceholder",kind:"s",desc:"Value to use as placeholder in QuickSearch controls (e.g. in Dashboard)",isOpt:!0,gridInfo:"item",defVal:"&#39;Search&#39;"},{name:"runQuickSearchOnRowGroups",kind:"b",desc:"Include Aggregrated Columns in Grouped Rows when Quick Searching (highlight only)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"runQuickSearchWithCaseSensitivity",kind:"b",desc:"Run Quick Search using Case Sensitivity",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"}]},QuickSearchState:{name:"QuickSearchState",kind:"I",desc:"Predefined Configuration for Quick Search Module",props:[{name:"QuickSearchText",kind:"s",desc:"Last Quick Search that was run (and will run again at start up)",isOpt:!0},{name:"Style",kind:"R",desc:"Style to use to highlight matching cells - uses common `AdaptableStyle` object",isOpt:!0,ref:"AdaptableStyle"}]},RaiseIntentConfig:{name:"RaiseIntentConfig",kind:"I",desc:"Config used when raising an FDC3 Intent",props:[{name:"actionButton",kind:"R",desc:"Definition of Action Button (to be put in default FDC3 Action Column)",isOpt:!0,ref:"Fdc3AdaptableButton"},{name:"actionColumn",kind:"u",desc:"Custom FDC3 Action Column definition for the Intent",isOpt:!0},{name:"contextMenu",kind:"u",desc:"Columns to display a &#39;Raise Intent&#39; Context Menu item",isOpt:!0},{name:"contextType",kind:"u",desc:"Key of Context being Raised"},{name:"handleIntentResolution",kind:"u",desc:"Handles the IntentResolution for this specific raise intent configuration",isOpt:!0}]},RangeValueType:{name:"RangeValueType",kind:"A",desc:"Whether the Range is Number or Percent based"},ReactFrameworkComponent:{name:"ReactFrameworkComponent",kind:"A",desc:"A function that returns a ReactNode"},ReminderSchedule:{name:"ReminderSchedule",kind:"I",desc:"Schedules a Reminder to appear at a given point in time",props:[{name:"DisplayNotification",kind:"b",desc:"Displays Reminder as a Toast Notification"},{name:"DisplaySystemStatusMessage",kind:"b",desc:"Shows Reminder as System Status Message",isOpt:!0},{name:"Header",kind:"s",desc:"Reminder header text"},{name:"Message",kind:"s",desc:"Reminder body text"},{name:"MessageType",kind:"R",desc:"Type of Message - &#39;Success&#39;, &#39;Info&#39;, &#39;Warning&#39; or &#39;Error&#39;",ref:"AdaptableMessageType"}]},Report:{name:"Report",kind:"I",desc:"A Report which can export data from AdapTable",props:[{name:"Name",kind:"u",desc:"Name of Report"},{name:"Query",kind:"R",desc:"Query to use; only required if `ReportRowScope` is &#39;ExpressionRows&#39;",isOpt:!0,ref:"AdaptableBooleanQuery"},{name:"ReportColumnScope",kind:"R",desc:"Columns to display: &#39;AllColumns&#39;, &#39;VisibleColumns&#39;, &#39;SelectedColumns&#39;, &#39;ScopeColumns&#39;",ref:"ReportColumnScope"},{name:"ReportRowScope",kind:"R",desc:"Rows to export: &#39;AllRows&#39;, &#39;VisibleRows&#39;, &#39;SelectedCellRows&#39;, &#39;SelectedRows&#39;, &#39;ExpressionRows&#39;",ref:"ReportRowScope"},{name:"Scope",kind:"R",desc:"Columns Scope; only required if `ReportColumnScope` is &#39;ScopeColumns&#39;",isOpt:!0,ref:"AdaptableScope"}]},ReportColumnScope:{name:"ReportColumnScope",kind:"A",desc:"Columns to be included in a Report"},ReportContext:{name:"ReportContext",kind:"I",desc:"Report Context sent when using Custom Export Destinations",props:[{name:"report",kind:"R",desc:"Definition of Report being Run",ref:"Report"},{name:"reportData",kind:"R",desc:"Data being exported in the Report",ref:"ReportData"}]},ReportData:{name:"ReportData",kind:"I",desc:"Defines the data in a Report run by AdapTable",props:[{name:"columns",kind:"a",desc:"Columns in the Report"},{name:"rows",kind:"u",desc:"Row Data in the Report"}]},ReportRowScope:{name:"ReportRowScope",kind:"A",desc:"AG Grid Row Data to be included in a Report"},ReportSchedule:{name:"ReportSchedule",kind:"I",desc:"Defines a Scheduled Report - used in Schedule Module (where State is stored)",props:[{name:"ExportDestination",kind:"'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string",desc:"Where report data will be exported"},{name:"ExportDestinationData",kind:"R",desc:"Additional data for a Custom Destination produced by a Dynamic Form",isOpt:!0,ref:"AdaptableFormData"},{name:"ReportName",kind:"s",desc:"Name of Report to run on Schedule"}]},ResolveContextDataContext:{name:"ResolveContextDataContext",kind:"I",desc:"Used to build Context Data",props:[{name:"contextMappedFromGridData",kind:"R",desc:"FDC3 Context Data which has been mapped from the grid data based on the given configuration in `gridDataContextMapping`",isOpt:!0,ref:"Fdc3Context"},{name:"contextType",kind:"R",desc:"FDC3 Context Type",ref:"unknown"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key value of row"},{name:"rowData",kind:"u",desc:"Row data which is the source of the context data"},{name:"rowNode",kind:"R",desc:"Row Node which is source of the context data",ref:"unknown"}]},RowHighlightInfo:{name:"RowHighlightInfo",kind:"I",desc:"Define how to highlight a Row",props:[{name:"highlightStyle",kind:"R",desc:"Highlight style",ref:"AdaptableStyle"},{name:"primaryKeyValue",kind:"u",desc:"Primary key value for the row to be highlighted"},{name:"timeout",kind:"n",desc:"Timeout after which the highlight is removed",isOpt:!0}]},RowInfo:{name:"RowInfo",kind:"I",desc:"Provides meta data about a Row in Adaptable",props:[{name:"isDisplayed",kind:"b",desc:"Is Row displayed (ie. filtered, not necessarily in viewport)",isOpt:!0},{name:"isExpanded",kind:"b",desc:"Is Row expanded (if a group row)",isOpt:!0},{name:"isGroup",kind:"b",desc:"Is Row grouped",isOpt:!0},{name:"isMaster",kind:"b",desc:"Is Row a Master Row (in a Master-Detail grid)",isOpt:!0},{name:"isSelected",kind:"b",desc:"Is Row selected",isOpt:!0},{name:"rowGroupLevel",kind:"n",desc:"What level the Row is (if Row Grouping is active)",isOpt:!0}]},RowsHighlightInfo:{name:"RowsHighlightInfo",kind:"I",desc:"Defines how to highlight a set of Rows",props:[{name:"highlightStyle",kind:"R",desc:"Highlight style",ref:"AdaptableStyle"},{name:"primaryKeyValues",kind:"a",desc:"Primary key valuse for the rows to be highlighted"},{name:"timeout",kind:"n",desc:"Timeout after which the highlight is removed",isOpt:!0}]},Schedule:{name:"Schedule",kind:"I",desc:"Defines when an action will be run - either one-off or recurring",props:[{name:"DaysOfWeek",kind:"R",desc:"Days on which Schedule will run",isOpt:!0,ref:"unknown"},{name:"Hour",kind:"n",desc:"Hour the Schedule will run"},{name:"Minute",kind:"n",desc:"Minute the Schedule will run"},{name:"OneOffDate",kind:"s",desc:"A one off date on which the Schedule will run",isOpt:!0}]},ScheduleState:{name:"ScheduleState",kind:"I",desc:"Predefined Configuration for the Schedule Module",props:[{name:"Glue42Schedules",kind:"a",desc:"Schedules connected to Glue42 exports - available if Glue42 plugin is running",isOpt:!0},{name:"IPushPullSchedules",kind:"a",desc:"Schedules connected to ipushpull Reports - available if ipushpull plugin is running",isOpt:!0},{name:"OpenFinSchedules",kind:"a",desc:"Schedules connected to OpenFin exports - available if OpenFin plugin is running",isOpt:!0},{name:"Reminders",kind:"a",desc:"Schedules connected to Reminders - Alerts that fire at set times",isOpt:!0},{name:"ReportSchedules",kind:"a",desc:"Schedules connected to Reports (created in the Export function)",isOpt:!0}]},SelectedCellInfo:{name:"SelectedCellInfo",kind:"I",desc:"Describes which Cells are currently selected in AdapTable",props:[{name:"columns",kind:"u",desc:"Array of Columns which have selected cells"},{name:"gridCells",kind:"u",desc:"Array of GridCells (which provide cell value, primary kev value and other info)"}]},SelectedRowInfo:{name:"SelectedRowInfo",kind:"I",desc:"Describes which Rows are currently selected in AdapTable",props:[{name:"gridRows",kind:"u",desc:"Array of Grid Rows containing full information about a row in AdapTable"}]},ServerValidationContext:{name:"ServerValidationContext",kind:"I",desc:"Context used when validating data edits on Server",props:[{name:"cellDataChangedInfo",kind:"u",desc:"Details of Cell Edit"}]},SetPrimaryKeyValueContext:{name:"SetPrimaryKeyValueContext",kind:"I",desc:"The context for the SetPrimaryKeyValueContext function",props:[{name:"rowData",kind:"u",desc:"Data in the row being created or cloned"}]},SettingsPanelOptions:{name:"SettingsPanelOptions",kind:"I",desc:"Options for managing the AdapTable Settings Panel",props:[{name:"alwaysShowInDashboard",kind:"b",desc:"Whether a Settings Panel button should always be displayed in `ModuleButtons` area of Dashboard",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"alwaysShowInToolPanel",kind:"b",desc:"Whether a Settings Panel button should always be displayed in `ModuleButtons` area of ToolPanel",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"customSettingsPanels",kind:"a",desc:"Custom Settings Panels provided by developers at design-time",isOpt:!0},{name:"icon",kind:"u",desc:"Settings Panel Icon: `ConfigurationIcon`, `ApplicationIcon` or custom Icon",isOpt:!0,defVal:"`ConfigurationIcon`"},{name:"navigation",kind:"u",desc:"Ordered items to display at side of Settings Panel",isOpt:!0,defVal:"all available AdapTable modules"},{name:"popupType",kind:"'modal' | 'window'",desc:"How Settings Panel behaves: can be &#39;window&#39; (movable, resizable no backdrop) or &#39;modal&#39; (centre of screen with backdrop)",isOpt:!0,defVal:"&#39;window&#39;"},{name:"position",kind:"u",desc:"Initial position of Settings Panel window",isOpt:!0,defVal:"Middle of Screen"},{name:"size",kind:"u",desc:"Initial size of Settings Panel",isOpt:!0,defVal:"Computed based on size of screen"},{name:"title",kind:"s",desc:"Title for the Settings Panel",isOpt:!0,gridInfo:"item",defVal:"&#39;Settings Panel&#39;"}]},SharedEntitiesContext:{name:"SharedEntitiesContext",kind:"I",desc:"Context provided to `TeamSharingOptions.loadSharedEntities()` callback"},SharedEntity:{name:"SharedEntity",kind:"A",desc:"Defines an object used in Team Sharing. The union type is discriminated by the `EntityType` property (`adaptableEntity` / `customEntity`)."},SharedEntityType:{name:"SharedEntityType",kind:"A",desc:"Type of Shared Entity - Snapshot or Active"},Shortcut:{name:"Shortcut",kind:"I",desc:"Used to define a Shortcut as used in Shortcut State",props:[{name:"Scope",kind:"u",desc:"Numeric Columns where Shortcut is applied"},{name:"ShortcutKey",kind:"s",desc:"Key which triggers the Shortcut when pressed"},{name:"ShortcutOperation",kind:"'Add' | 'Subtract' | 'Multiply' | 'Divide'",desc:"The Operation: &#39;Add&#39;, &#39;Subtract&#39;, &#39;Multiply&#39;, &#39;Divide&#39;"},{name:"ShortcutValue",kind:"n",desc:"Value acting as 2nd operand for ShortcutOperation (1st operand is the cell value)"}]},ShortcutScopeDataType:{name:"ShortcutScopeDataType",kind:"A",desc:"Shortcut scope data type."},ShortcutState:{name:"ShortcutState",kind:"I",desc:"Predefined Configuration for Shortcut Module",props:[{name:"Shortcuts",kind:"a",desc:"Collection of Shortcuts - designed to speed up data entry",isOpt:!0}]},SmartEditCustomOperation:{name:"SmartEditCustomOperation",kind:"A",desc:"Custom Operation used in Smart Edit Module"},SmartEditOperation:{name:"SmartEditOperation",kind:"A",desc:"Operation used by Smart Edit - either System or Custom"},SmartEditOperationContext:{name:"SmartEditOperationContext",kind:"I",desc:"Context used in Custom Smart Edit Operations",props:[{name:"currentCell",kind:"u",desc:"Current selected grid cell - contains column, row and cell value information"},{name:"smartEditValue",kind:"n",desc:"Smart Edit value"}]},SparkLineStyle:{name:"SparkLineStyle",kind:"A",desc:"Style to show for a Sparkline Column"},SpecialColumnSettings:{name:"SpecialColumnSettings",kind:"I",desc:"Base Settings for both Calculated and FreeText Columns",props:[{name:"Aggregatable",kind:"b",desc:"Whether Column can be used in an aggregation when grouping",isOpt:!0,defVal:"false"},{name:"ColumnTypes",kind:"a",desc:"Custom column types added to AG Grid Column Types when object is created",isOpt:!0},{name:"DataType",kind:"'String' | 'Number' | 'Boolean' | 'Date' | 'NumberArray'",desc:"Expression&#39;s return value DataType, only mandatory property"},{name:"Filterable",kind:"b",desc:"Whether Column is filterable",isOpt:!0,defVal:"false"},{name:"Groupable",kind:"b",desc:"Whether Column can be grouped",isOpt:!0,defVal:"false"},{name:"HeaderToolTip",kind:"s",desc:"Tooltip to show in the Column Header (not cells)",isOpt:!0},{name:"Pivotable",kind:"b",desc:"Whether Column can be used when grid is in pivot mode",isOpt:!0,defVal:"false"},{name:"Resizable",kind:"b",desc:"Whether Column can be resized (by dragging column header edges)",isOpt:!0,defVal:"false"},{name:"Sortable",kind:"b",desc:"Whether Column is sortable",isOpt:!0,defVal:"false"},{name:"SuppressMenu",kind:"b",desc:"Whether if no menu should be shown for this Column header.",isOpt:!0,defVal:"false"},{name:"SuppressMovable",kind:"b",desc:"Whether if this Column should be movable via dragging",isOpt:!0,defVal:"false"},{name:"Width",kind:"n",desc:"Preferred (pixel) Column Width; if unset, calculated dynamically by AG Grid",isOpt:!0}]},StateOptions:{name:"StateOptions",kind:"I",desc:"Options related to Adaptable State hydration/dehydration - allows users to intercept state persistence and state loading with custom functionality",props:[{name:"applyState",kind:"u",desc:"Allows hooking into Adaptable State hydration",isOpt:!0},{name:"clearState",kind:"R",desc:"Allows clearing of remote Adaptable State",isOpt:!0,defVal:"undefined",ref:"AdaptableClearStateFunction"},{name:"debounceStateDelay",kind:"n",desc:"Delay (in ms) to debounce `saveState` / `persistState` calls enabling grouping multiple sequential calls in single one (e.g. elevator doors)",isOpt:!0,defVal:"400"},{name:"loadState",kind:"R",desc:"Allows customization of Adaptable State loading",isOpt:!0,ref:"AdaptableLoadStateFunction"},{name:"persistState",kind:"R",desc:"Allows customization of Adaptable State persistence",isOpt:!0,ref:"AdaptablePersistStateFunction"},{name:"saveState",kind:"R",desc:"Allows customization of Adaptable State about to be persisted",isOpt:!0,ref:"AdaptableSaveStateFunction"}]},StatusBarState:{name:"StatusBarState",kind:"I",desc:"Predefined Configuration for the Adaptable Status Bar",props:[{name:"StatusBars",kind:"a",desc:"Adaptable Status Bars to display - can be unlimited and displayed in 3 locations",isOpt:!0,defVal:"null"}]},StringFormatterOptions:{name:"StringFormatterOptions",kind:"I",desc:"Formatter Options for String Columns",props:[{name:"Case",kind:"'Upper' | 'Lower' | 'Sentence'",desc:"Sets text to Upper or Lower case",isOpt:!0},{name:"Content",kind:"s",desc:"Replaces cell value; useful when using Condition (e.g. replace null with &#39;N/A&#39;)",isOpt:!0},{name:"Empty",kind:"b",desc:"Show nothing in cell (but underlying value remains)",isOpt:!0},{name:"Prefix",kind:"s",desc:"Prefix to use before the cell text",isOpt:!0},{name:"Suffix",kind:"s",desc:"Suffix to use after the cell text",isOpt:!0},{name:"Trim",kind:"b",desc:"Trims text (both start and end)",isOpt:!0}]},StyledColumn:{name:"StyledColumn",kind:"I",desc:"Object used in Special Column Style function",props:[{name:"BadgeStyle",kind:"R",desc:"Displays cell values in Column as a Badge",isOpt:!0,ref:"BadgeStyle"},{name:"CheckBoxStyle",kind:"b",desc:"Renders a Checkbox in a boolean column",isOpt:!0},{name:"ColumnId",kind:"s",desc:"Column being styled"},{name:"GradientStyle",kind:"R",desc:"Styles a numeric column with a Gradient",isOpt:!0,ref:"GradientStyle"},{name:"IncludeGroupedRows",kind:"b",desc:"Includes Styled Column in Grouped Rows",isOpt:!0,defVal:"false"},{name:"PercentBarStyle",kind:"R",desc:"Styles a numeric column so each cell displays a &#39;Bar&#39;",isOpt:!0,ref:"PercentBarStyle"},{name:"SparkLineStyle",kind:"R",desc:"Displays a Sparkline Chart in an array column",isOpt:!0,ref:"SparkLineStyle"}]},StyledColumnState:{name:"StyledColumnState",kind:"I",desc:"Predefined Configuration for Styled Column Module",props:[{name:"StyledColumns",kind:"a",desc:"Collection of Special Column Styles",isOpt:!0}]},SuspendableObject:{name:"SuspendableObject",kind:"I",desc:"Interface that extends Adaptable Object for those config items that can be suspended at run-time",props:[{name:"IsSuspended",kind:"b",desc:"Suspends (i.e. turns off) an Adaptable Object",isOpt:!0}]},SystemAlertPredicateId:{name:"SystemAlertPredicateId",kind:"A",desc:"List of System Predicates available for Alerts"},SystemAlertPredicateIds:{name:"SystemAlertPredicateIds",kind:"A",desc:"Array containing all System Alert Predicates"},SystemBadgeStylePredicateId:{name:"SystemBadgeStylePredicateId",kind:"A",desc:"Predicates available when creating a Badge Style Rule"},SystemBadgeStylePredicateIds:{name:"SystemBadgeStylePredicateIds",kind:"A",desc:"System Predicate Ids available for Badge Style"},SystemExportDestination:{name:"SystemExportDestination",kind:"A",desc:"Export Destinations provided by AdapTable"},SystemExportDestinations:{name:"SystemExportDestinations",kind:"A",desc:"List of System Export Destinations"},SystemFilterPredicateId:{name:"SystemFilterPredicateId",kind:"A",desc:"List of System Predicates available for Filters"},SystemFilterPredicateIds:{name:"SystemFilterPredicateIds",kind:"A",desc:"Array containing all System Filter Predicates"},SystemFlashingCellPredicateId:{name:"SystemFlashingCellPredicateId",kind:"A",desc:"List of System Predicates available for Flashing Cells"},SystemFlashingCellPredicateIds:{name:"SystemFlashingCellPredicateIds",kind:"A",desc:"Array containing all System Flashing Cell Predicates"},SystemFormatColumnPredicateId:{name:"SystemFormatColumnPredicateId",kind:"A",desc:"List of System Predicates available for Format Columns"},SystemFormatColumnPredicateIds:{name:"SystemFormatColumnPredicateIds",kind:"A",desc:"Array containing all System Format Column Predicates"},SystemPredicatesContext:{name:"SystemPredicatesContext",kind:"I",desc:"Context used for setting which System Predicates are available",props:[{name:"columnScope",kind:"R",desc:"Current Scope where Predicates are being used",ref:"AdaptableScope"},{name:"moduleScope",kind:"R",desc:"Module for which Predicates are being retrieved",ref:"PredicateModuleScope"},{name:"systemPredicateDefs",kind:"a",desc:"AdapTable-provided System Predicate Definitions"}]},SystemReportName:{name:"SystemReportName",kind:"A",desc:"Names of Reports provided by AdapTable"},SystemReportNames:{name:"SystemReportNames",kind:"A",desc:"Array containing all System Report names"},SystemStatusMessageInfo:{name:"SystemStatusMessageInfo",kind:"I",desc:"Wraps a System Status Message",props:[{name:"statusFurtherInformation",kind:"s",desc:"Additional information to display (optional)",isOpt:!0},{name:"statusMessage",kind:"s",desc:"The Message to be displayed"},{name:"statusType",kind:"R",desc:"Type of Message i.e. Succcess, Warning, Error, Info",ref:"AdaptableMessageType"},{name:"timestamp",kind:"d",desc:"When Message was sent",isOpt:!0}]},TeamSharingOptions:{name:"TeamSharingOptions",kind:"I",desc:"Options for managing Team Sharing - which enables Adaptable Objects to be shared between colleagues",props:[{name:"applySharedEntities",kind:"u",desc:"Allows hooking into Shared Entities loading process",isOpt:!0},{name:"enableTeamSharing",kind:"b",desc:"Whether Team Sharing is enabled",gridInfo:"item",defVal:"false"},{name:"handleCustomSharedEntityImport",kind:"u",desc:"Handles import of Custom Shared Entities",isOpt:!0},{name:"loadSharedEntities",kind:"u",desc:"(Async) Loads available Shared Entities - user can download and auto-merge with Adaptable State",defVal:"null"},{name:"persistSharedEntities",kind:"u",desc:"(Async) Persists Shared Entities so that they can be downloaded by other team members",defVal:"null"},{name:"saveSharedEntities",kind:"u",desc:"Allows hooking into Shared Entities persistence process",isOpt:!0},{name:"showUpdateNotificationOncePerUpdate",kind:"b",desc:"Whether to show update notification once per update",isOpt:!0,defVal:"false"},{name:"suppressOverrideConfigWarning",kind:"b",desc:"Suppress warning when an Import overrides existing Config item",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"updateInterval",kind:"n",desc:"Frequency (in minutes) to check if Active Shared Entities have a newer revision",isOpt:!0,gridInfo:"item",defVal:"0 (never)"},{name:"updateNotification",kind:"'Alert' | 'AlertWithNotification' | 'SystemStatus'",desc:"How user is informed when Active Shared Entities have newer revisions",isOpt:!0,gridInfo:"item",defVal:"null (none)"}]},TeamSharingState:{name:"TeamSharingState",kind:"I",desc:"State for Team Sharing; this is internal so not designed to be provided as part of Predefined Config",props:[{name:"ActiveSharedEntityMap",kind:"u",desc:"Mapping of active AdaptableObjects which are shared with the local state. Maps UUIDs of local AdaptableObjects to a snapshot of the latest synchronized SharedEntity"},{name:"importProcessInProgress",kind:"b",desc:"TRUE if an import is in progress, FALSE otherwise. This is required to skip the TEAMSHARING_UPDATE_ITEM action as a result of the import"},{name:"SharedEntities",kind:"a",desc:"List of objects currently being Team Shared"}]},ThemeState:{name:"ThemeState",kind:"I",desc:"Theme section of Adaptable State",props:[{name:"CurrentTheme",kind:"u",desc:"Name of current theme (or theme to set at startup); leave blank if using &#39;Light Theme&#39;, set to &#39;dark&#39; for &#39;Dark Theme&#39; or provide name of Custom Theme",isOpt:!0},{name:"SystemThemes",kind:"u",desc:"Which, if any, of the 2 themes shipped by Adaptable should be available; leave unset to provide both, or an empty array to provide neither.",isOpt:!0},{name:"UserThemes",kind:"a",desc:"Custom themes (of type AdaptableTheme) provided by developers",isOpt:!0}]},TOAST_POSITIONS:{name:"TOAST_POSITIONS",kind:"A",desc:"Different positions offered by Notifications"},ToolPanelButtonContext:{name:"ToolPanelButtonContext",kind:"I",desc:"Context required by functions when using a ToolPanel Button",props:[{name:"toolPanelState",kind:"R",desc:"Current ToolPanel State",ref:"ToolPanelState"}]},ToolPanelOptions:{name:"ToolPanelOptions",kind:"I",desc:"Options related to managing the AdapTable ToolPanel Component",props:[{name:"customButtons",kind:"a",desc:"ToolPanel Buttons provided by Users which perform custom behaviour",isOpt:!0},{name:"customToolPanels",kind:"a",desc:"ToolPanels provided by Users which contain custom content",isOpt:!0},{name:"showToolPanelsDropdown",kind:"b",desc:"Display the Tool Panels dropdown",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"}]},ToolPanelState:{name:"ToolPanelState",kind:"I",desc:"Predefined Configuration for the Adaptable ToolPanel",props:[{name:"ModuleButtons",kind:"R",desc:"AdapTable Module Buttons visible in ToolPanel",isOpt:!0,defVal:"Empty Array",ref:"unknown"},{name:"ToolPanels",kind:"a",desc:"Adaptable Tool Panels which are viaible",isOpt:!0,defVal:"ToolPanels for all available Modules (subject to Entitlement rules)"}]},ToolPanelVisibilityMode:{name:"ToolPanelVisibilityMode",kind:"A",desc:"Whether a ToolPanel displays as expanded or collapsed"},UIControlConfig:{name:"UIControlConfig",kind:"I",desc:"Used to customise FDC3 controls (e.g. Action Columns)",props:[{name:"icon",kind:"R",desc:"Icon to display",isOpt:!0,ref:"AdaptableIcon"}]},UnbalancedGroupsKeyContext:{name:"UnbalancedGroupsKeyContext",kind:"I",desc:"Context used when setting a value for Unbalanced Row Groups",props:[{name:"adaptableColumn",kind:"u",desc:"Adaptable Column being grouped"},{name:"params",kind:"u",desc:"AG Grid&#39;s Key Creator Params"}]},UserInterfaceOptions:{name:"UserInterfaceOptions",kind:"I",desc:"Options for managing the User Interface of AdapTable",props:[{name:"alternativeModuleNames",kind:"a",desc:"Alternative names to use for Adaptable Modules in toolbars and menus",isOpt:!0,defVal:"null"},{name:"applicationIcon",kind:"R",desc:"The application icon to appear in Dashboard and elsewhere (e.g. OpenFin notifications)",isOpt:!0,defVal:"null",ref:"AdaptableIcon"},{name:"bulkUpdatePermittedValues",kind:"u",desc:"Custom column values for editing via bulk-update",isOpt:!0},{name:"colorPalette",kind:"u",desc:"Colours to display in Colour Picker (in place of AdapTable&#39;s default set); can be hardcoded list or function",isOpt:!0},{name:"customIcons",kind:"a",desc:"Bespoke icons that can be used in Adaptable (e.g. Badge Styles and Buttons)",isOpt:!0},{name:"customSortPermittedValues",kind:"u",desc:"Custom column values for defining Custom Sort",isOpt:!0},{name:"dateInputOptions",kind:"R",desc:"Options for managing and customizing date inputs in AdapTable",isOpt:!0,ref:"DateInputOptions"},{name:"disableDeleteConfirmation",kind:"b",desc:"Hides confirmation dialog which displays whenever an AdaptableObject is deleted",isOpt:!0,noCode:"item",defVal:"false"},{name:"editableCellStyle",kind:"R",desc:"Style to set for editable cells",isOpt:!0,ref:"AdaptableStyle"},{name:"editLookUpItems",kind:"u",desc:"Dropdown values displayed when column is being edited",isOpt:!0},{name:"englishVariant",kind:"'GB' | 'US'",desc:"English variant to use in AdapTable UI",isOpt:!0,gridInfo:"item",defVal:"&#39;GB&#39;"},{name:"filterPermittedValues",kind:"u",desc:"Custom column values for Values (&#39;IN&#39;) Filter",isOpt:!0},{name:"gridInfoSections",kind:"R",desc:"Which sections to show in the Grid Info Screen",isOpt:!0,defVal:"[&#39;GridSummary&#39;, &#39;AdaptableOptions&#39;, &#39;ColumnInfo&#39;, &#39;AdaptableObjects&#39;]",ref:"GridInfoSections"},{name:"objectTags",kind:"u",desc:"Optional list of AdaptableObjectTags that can be associated with AdaptableObjects",isOpt:!0},{name:"permittedValues",kind:"u",desc:"List of Column values to display (e.g. in Filter, Custom Sort etc.)",isOpt:!0},{name:"readOnlyCellStyle",kind:"R",desc:"Style to set for non-editable cells",isOpt:!0,ref:"AdaptableStyle"},{name:"showAdapTableVersion",kind:"b",desc:"Displays the AdapTable version in Grid Info section of Settings Panel",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"showDocumentationLinks",kind:"b",desc:"Provide links to AdapTable documentation (in Module popups and Expression Editor)",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"styleClassNames",kind:"a",desc:"Optional list of CSS styles that can be used when creating Adaptable Styles in Adaptable (e.g. in Format Column and other Modules)",isOpt:!0,gridInfo:"item"},{name:"useCustomMacLikeScrollbars",kind:"b",desc:"Show Mac-like scrollbars; size is configurable via CSS variable `--ab-custom-scrollbar-size` (default: `10px`)",isOpt:!0,gridInfo:"item",defVal:"false"}]},UserMenuItem:{name:"UserMenuItem",kind:"I",desc:"Menu Item which is added to Column or Context Menu - can contain sub items",props:[{name:"disabled",kind:"u",desc:"Function evaluating whether Menu Item is enabled",isOpt:!0},{name:"hidden",kind:"u",desc:"Function evaluating whether Menu Item is visible",isOpt:!0},{name:"icon",kind:"R",desc:"Optional icon to display",isOpt:!0,ref:"AdaptableIcon"},{name:"label",kind:"u",desc:"Text to appear in the Menu Item"},{name:"onClick",kind:"u",desc:"Function invoked when the Menu Item is clicked",isOpt:!0},{name:"subMenuItems",kind:"u",desc:"Array of Menu Items, enabling limitless levels of menus",isOpt:!0}]},ValidationResult:{name:"ValidationResult",kind:"I",desc:"Used for Server Validation ie. after an edit in AG Grid which must be checked on Server",props:[{name:"MessageType",kind:"R",desc:"Type of Message to Display",isOpt:!0,defVal:"Info",ref:"AdaptableMessageType"},{name:"NewValue",kind:"u",desc:"Cell Value to use for after Server Validation",isOpt:!0},{name:"ValidationHeader",kind:"s",desc:"Header to diplay with validation",isOpt:!0,defVal:"&#39;Server Validation Message&#39;,"},{name:"ValidationMessage",kind:"s",desc:"Message to diplay with validation",isOpt:!0}]},WeightedAverageAggregation:{name:"WeightedAverageAggregation",kind:"I",desc:"Defines a Weighted Average Agg",props:[{name:"type",kind:"u",desc:"Type is always &#39;weightedAverage&#39;"},{name:"weightedColumnId",kind:"s",desc:"Column which is weighted"}]}};var Xke=["s","n","b","a","f","R"],hI=class{constructor(e){this.gridInfoOptions=new Map;this.getAdaptableOptions=()=>null;this.getAdaptableOptions=e,this.gridInfoOptions=this.buildGridInfoOptions()}getGridInfoOptions(){return this.gridInfoOptions}getGridInfoNoCodeOptions(){return this.buildGridInfoOptions({filterItemProperty:e=>e.noCode==="item",filterEmptyAdaptableOptions:!1})}validateAdaptableOptionsValues(){var i;let e=this.getAdaptableOptions(),t=this.getAdaptableOptionsMetamodel(),n=this.getAdaptableOptionsDefaultValues();(i=e.adaptableId)!=null&&i.includes(".")&&xi.consoleWarnBase("The 'AdaptableOptions.adaptableId' property should NOT include a '.' character. We strongly recommend to remove it to avoid unexpected AdapTable behavior.");let r=[];this.validateOptionsObject(r,"AdaptableOptions",e,t,n),r.length&&xi.consoleWarnBase(["AdaptableOptions validation errors:",`
578
+ }`,desc:"Set of pinned Columns",isOpt:!0},{name:"PivotColumns",kind:"a",desc:"List of Columns which should be pivoted when grid is in pivot mode",isOpt:!0},{name:"RowGroupedColumns",kind:"a",desc:"Columns which are row-grouped when the Layout is applied",isOpt:!0},{name:"SuppressAggFuncInHeader",kind:"b",desc:"Whether to include the aggFunc name in the column header: e.g. &#39;sum(Bank Balance)&#39; will just be &#39;Bank Balance&#39;",isOpt:!0}]},LayoutAssociatedObject:{name:"LayoutAssociatedObject",kind:"A",desc:"Types of Adaptable Objects that can be associated with a Layout"},LayoutAvailableContext:{name:"LayoutAvailableContext",kind:"I",desc:"Context for `LayoutOptions.isObjectAvailableInLayout` functions",props:[{name:"adaptableObject",kind:"R",desc:"Object being checked",ref:"LayoutAssociatedObject"},{name:"layout",kind:"R",desc:"Current Layout",ref:"Layout"},{name:"module",kind:"R",desc:"Current Adaptable Module",ref:"AdaptableModule"}]},LayoutOptions:{name:"LayoutOptions",kind:"I",desc:"Options for configuring Layouts; these manage Column visibility, order, sorting, grouping and width",props:[{name:"autoSaveLayouts",kind:"b",desc:"Layouts save whenever Grid&#39;s column / sort info changes; if false, a Save button will display",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"autoSizeColumnsInLayout",kind:"b",desc:"Columns auto-size when Layout loads for first time",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"autoSizeColumnsInPivotLayout",kind:"b",desc:"Columns auto-size when Pivot Layout loads first time (overriding Layout width properties)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"createDefaultLayout",kind:"b",desc:"Whether a &quot;Default Layout&quot; will be created in addition to Layouts provided in Config",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"displayRowGroups",kind:"'dynamic' | 'expanded' | 'closed'",desc:"Whether Row Groups display all as expanded, all as closed or dynamically (i.e. saved in Layout)",isOpt:!0,gridInfo:"item",defVal:"&#39;closed&#39;"},{name:"layoutTagOptions",kind:"R",desc:"Options for leveraging Object Tags to extend Layouts",isOpt:!0,ref:"LayoutTagOptions"},{name:"layoutViewOptions",kind:"R",desc:"Customize how Layouts are displayed in Settings Panel",isOpt:!0,ref:"LayoutViewOptions"},{name:"pivotPreviewColumns",kind:"u",desc:"Columns displayed in Table that opens when viewing contents of Pivot Cells",isOpt:!0}]},LayoutState:{name:"LayoutState",kind:"I",desc:"Predefined Configuration for the Layout Module",props:[{name:"CurrentLayout",kind:"s",desc:"Layout which will be loaded when AdapTable starts - must match `Name` property in Layout",isOpt:!0},{name:"Layouts",kind:"a",desc:"Collection of Layout objects - listed in Layout toolbar and Tool Panel",isOpt:!0}]},LayoutTagOptions:{name:"LayoutTagOptions",kind:"I",desc:"Options for managing Tags in Layouts (used to enhance Layouts)",props:[{name:"autoCheckTagsForLayouts",kind:"b",desc:"Automatically assumes that any `LayoutAssociatedObject` is available in the current Layout if it has a tag with the Layouts name (or no tags at all)",isOpt:!0,defVal:"false"},{name:"autoGenerateTagsForLayouts",kind:"u",desc:"Automatically generate an AdaptableObjectTag for each Layout",isOpt:!0,defVal:"false"},{name:"isObjectAvailableInLayout",kind:"f",desc:"Checks if the provided Adaptable Object is available in the given Layout",isOpt:!0,defVal:"undefined"}]},LayoutViewOptions:{name:"LayoutViewOptions",kind:"I",desc:"Customize how Layouts are displayed in Settings Panel",props:[{name:"maxColumnsToDisplay",kind:"n",desc:"How many Column Names to display in inline Layout preview",isOpt:!0,defVal:"10"}]},MasterDetailPluginOptions:{name:"MasterDetailPluginOptions",kind:"I",desc:"Plugin Options used when creating a Master / Detail grid - passed into the plugin as the only argument.",props:[{name:"detailAdaptableOptions",kind:"R",desc:"`AdaptableOptions` used in Detail Grids; all share same behaviour &amp; State",ref:"AdaptableOptions"},{name:"onDetailInit",kind:"f",desc:"Function called when a Detail Grid is initialised, receives context including Adaptable Api",isOpt:!0}]},MenuOptions:{name:"MenuOptions",kind:"I",desc:"Options for managing menus in AdapTable",props:[{name:"columnMenuItems",kind:"a",desc:"User-defined Menu Items to add to the Column Menu",isOpt:!0},{name:"columnMenuOrder",kind:"f",desc:"Order in which AG Grid, AdapTable and User Menu sections will appear in Column Menu (list or function)",isOpt:!0,gridInfo:"item",defVal:"&#39;aggrid&#39;, &#39;adaptable&#39;, &#39;user&#39;"},{name:"contextMenuItems",kind:"a",desc:"User-defined Menu Items to add to the Context Menu",isOpt:!0},{name:"contextMenuOrder",kind:"f",desc:"Order in which AG Grid, AdapTable and User Menu sections will appear in Context Menu (list or function)",isOpt:!0,gridInfo:"item",defVal:"&#39;aggrid&#39;, &#39;adaptable&#39;, &#39;user&#39;"},{name:"showAdaptableColumnMenu",kind:"u",desc:"Show Adaptable Column Menu (or specific items); can be boolean value or function invoked for each menu item",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"showAdaptableContextMenu",kind:"u",desc:"Show Adaptable Context Menu (or specific items); can be boolean value or function invoked for each menu item",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"showUngroupColumnMenuItem",kind:"b",desc:"Adds &#39;Ungroup&#39; Column Menu item to a row grouped column",isOpt:!0,gridInfo:"item",defVal:"true"}]},MenuOrderContext:{name:"MenuOrderContext",kind:"I",desc:"Context used when ordering Menu Sections",props:[{name:"column",kind:"R",desc:"Column in which Menu will appear",ref:"AdaptableColumn"}]},ModuleExpressionFunctions:{name:"ModuleExpressionFunctions",kind:"I",desc:"Type specific Expression Functions",props:[{name:"customBooleanFunctions",kind:"u",desc:"Custom Boolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (none)"},{name:"customScalarFunctions",kind:"u",desc:"Custom Scalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (none)"},{name:"systemAggregatedBooleanFunctions",kind:"u",desc:"System AggregatedBoolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemAggregatedScalarFunctions",kind:"u",desc:"System AggregatedScalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemBooleanFunctions",kind:"u",desc:"System Boolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemObservableFunctions",kind:"u",desc:"System Observable Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemScalarFunctions",kind:"u",desc:"System Scalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"}]},ModuleExpressionFunctionsContext:{name:"ModuleExpressionFunctionsContext",kind:"I",desc:"Context provided to moduleExpressionFunctions property callback",props:[{name:"availableAggregatedBooleanFunctionNames",kind:"a",desc:"The global aggregated boolean expression functions"},{name:"availableAggregatedScalarFunctionNames",kind:"a",desc:"The global aggregated scalar expression functions"},{name:"availableBooleanFunctionNames",kind:"a",desc:"The global boolean expression functions"},{name:"availableObservableFunctionNames",kind:"a",desc:"The global observable expression functions"},{name:"availableScalarFunctionNames",kind:"a",desc:"The global scalar expression functions"},{name:"module",kind:"R",desc:"The Adaptable Module requesting the expression functions",ref:"AdaptableModule"}]},ModuleExpressionFunctionsMap:{name:"ModuleExpressionFunctionsMap",kind:"A",desc:"Module specific Expression Functions"},NamedQuery:{name:"NamedQuery",kind:"I",desc:"Defines a Query which can be used in multiple AdapTable Modules",props:[{name:"Name",kind:"s",desc:"Name of the Query - how it will appear in Query dropdown"}]},NotificationsOptions:{name:"NotificationsOptions",kind:"I",desc:"Options related to System Status Messages and Notifications in Adaptable.",props:[{name:"closeWhenClicked",kind:"b",desc:"Closes Notification automatically when its clicked",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"duration",kind:"number | 'always'",desc:"How long (in ms) Notifications display for",isOpt:!0,gridInfo:"item",defVal:"3000"},{name:"isDraggable",kind:"b",desc:"Can Notification be dragged",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"maxNotifications",kind:"n",desc:"How many Notifications can be displayed at one time",isOpt:!0,gridInfo:"item",defVal:"3"},{name:"maxSystemMessagesInStore",kind:"n",desc:"How many System Status Messages to hold in State; when limit is reached, oldest Message is removed",isOpt:!0,gridInfo:"item",defVal:"100"},{name:"pauseWhenHovering",kind:"b",desc:"Pauses the Notification when mouse hovers over it",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"position",kind:"R",desc:"Where Notification will appear (if anywhere)",isOpt:!0,gridInfo:"item",defVal:"&#39;BottomRight&#39;",ref:"TOAST_POSITIONS"},{name:"showApplicationIcon",kind:"b",desc:"Displays the application icon in Notifications",isOpt:!0,defVal:"false"},{name:"showProgressBar",kind:"b",desc:"Shows a Progress Bar in the Notification",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"showSystemStatusMessageNotifications",kind:"b",desc:"Display System Status Messages as Notifications",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"transition",kind:"'Bounce' | 'Slide' | 'Zoom' | 'Flip'",desc:"How Notification will appear: Bounce, Slide, Zoom or Flip",isOpt:!0,gridInfo:"item",defVal:"&#39;Slide&#39;"}]},NumberFormatterOptions:{name:"NumberFormatterOptions",kind:"I",desc:"Formatter Options for Numeric Columns",props:[{name:"Abs",kind:"b",desc:"Returns absolute value of a number",isOpt:!0},{name:"Ceiling",kind:"b",desc:"Returns smallest integer number",isOpt:!0},{name:"Content",kind:"string | number",desc:"Replaces cell value with supplied value",isOpt:!0},{name:"Floor",kind:"b",desc:"Returns largest intger number",isOpt:!0},{name:"FractionDigits",kind:"n",desc:"Number of digits to show in Fractions (up to 20)",isOpt:!0},{name:"FractionSeparator",kind:"s",desc:"Separator to use in fractions",isOpt:!0},{name:"IntegerDigits",kind:"n",desc:"Number of digits to show for Integers (up to 20)",isOpt:!0},{name:"IntegerSeparator",kind:"s",desc:"Separator to use in Integers",isOpt:!0},{name:"Multiplier",kind:"n",desc:"Multiplier to use on the number",isOpt:!0},{name:"Parentheses",kind:"b",desc:"Shows negative numbers in parentheses",isOpt:!0},{name:"Prefix",kind:"s",desc:"Prefix to use before the number",isOpt:!0},{name:"Round",kind:"b",desc:"Rounds a Number",isOpt:!0},{name:"Suffix",kind:"s",desc:"Suffix to use after the number",isOpt:!0},{name:"Truncate",kind:"b",desc:"Truncates a number",isOpt:!0}]},NumericStyledColumn:{name:"NumericStyledColumn",kind:"I",desc:"Base type for Numeric Styled Columns (i.e. Gradient and Percent Bar)",props:[{name:"CellRanges",kind:"a",desc:"Ranges (e.g. to create traffic light effect)",isOpt:!0},{name:"ColumnComparison",kind:"R",desc:"Compares Cell values to another Column",isOpt:!0,ref:"ColumnComparison"},{name:"RangeValueType",kind:"R",desc:"If using Ranges, they can provide &#39;Number&#39; (any number or Col-Min/Col-Max) or &#39;Percentage&#39; (values 0-100)",isOpt:!0,defVal:"Number",ref:"RangeValueType"}]},ObjectTagsContext:{name:"ObjectTagsContext",kind:"I",desc:"Context used when evaluating Object Tags"},OpenFinPluginOptions:{name:"OpenFinPluginOptions",kind:"I",desc:"Options required for when using the OpenFin plugin",props:[{name:"notificationTimeout",kind:"number | false",desc:"Timeout (in ms) for OpenFin Notifications to expire; set false for notifications not to auto-dismiss",isOpt:!0,defVal:"5000"},{name:"onNotificationAction",kind:"u",desc:"Function which is invoked when a button in OpenFin notification is clicked",isOpt:!0},{name:"onShowNotification",kind:"f",desc:"Updates OpenFin Notification object before it&#39;s displayed (just add/remove properties); return false to stop Notification showing",isOpt:!0},{name:"onValidationFailureInExcel",kind:"'override' | 'show-notification' | 'show-undo-notification'",desc:"Action to perform when a data change in Live Excel report triggers Prevent Edit Alert failure",isOpt:!0},{name:"showAdaptableAlertsAsNotifications",kind:"b",desc:"Converts AdapTable Alerts configured to display in popup as OpenFin Notifications",isOpt:!0,defVal:"true"},{name:"showAppIconInNotifications",kind:"u",desc:"Icon to show in Notification - uses the value supplied in UserInterfaceOptions",isOpt:!0,defVal:"true"},{name:"throttleTime",kind:"n",desc:"How long (in ms) AdapTable throttles when sending data update to OpenFin",isOpt:!0,defVal:"2000"}]},OpenFinReport:{name:"OpenFinReport",kind:"I",desc:"An OpenFin report",props:[{name:"ReportName",kind:"s",desc:"Name of Report (which will exist in the Export State)"}]},OpenFinSchedule:{name:"OpenFinSchedule",kind:"I",desc:"Defines a OpenFin Schedule - used in Schedule Module",props:[{name:"OpenFinReport",kind:"R",desc:"Report being exported to Excel (via OpenFin)",ref:"OpenFinReport"},{name:"Transmission",kind:"u",desc:"Whether Snapshot or Live Data (currently only the latter is supported)"}]},OpenFinState:{name:"OpenFinState",kind:"I",desc:"Internal State used by AdapTable for managing the OpenFin plugin"},PercentBarStyle:{name:"PercentBarStyle",kind:"I",desc:"Style used to display Percent Bars in Special Column Style",props:[{name:"BackColor",kind:"s",desc:"Background colour for &#39;Percent Bar&#39;; leave unset if none required",isOpt:!0,defVal:"undefined"},{name:"CellText",kind:"R",desc:"Whether Cell shows Cell Value, Percent Value, both or none",isOpt:!0,ref:"CellTextOptions"},{name:"CellTextPosition",kind:"'Above' | 'Below' | 'Merged'",desc:"Position of text in Cell relative to Percent Bar, &quot;Above&quot;, &quot;Below&quot; or &quot;Merged&quot;",isOpt:!0,defVal:"Below"},{name:"ToolTipText",kind:"R",desc:"Whether Tooltip shows Cell Value, Percent Value, both or none",isOpt:!0,ref:"CellTextOptions"}]},PermittedValues:{name:"PermittedValues",kind:"I",desc:"Permitted/possible values, when column values can be selected (e.g. sort, bulk-update)",props:[{name:"values",kind:"u",desc:"Values to display: either hardcoded list or a function that returns a list",isOpt:!0}]},PermittedValuesContext:{name:"PermittedValuesContext",kind:"I",desc:"Context used when getting PermittedValues via a function",props:[{name:"column",kind:"u",desc:"Column whose values are being displayed"}]},PivotPreviewColumnsContext:{name:"PivotPreviewColumnsContext",kind:"I",desc:"Context uses for pivotPreviewColumns function in Layout Options",props:[{name:"columnId",kind:"s",desc:"Column being opened"},{name:"layout",kind:"R",desc:"Current Layout",ref:"Layout"}]},PlusMinusNudge:{name:"PlusMinusNudge",kind:"I",desc:"Defines a Plus Minus Rule - used in the Plus Minus Module",props:[{name:"NudgeValue",kind:"n",desc:"Amount by which to update cell when Rule is applied"},{name:"Rule",kind:"R",desc:"(Optional) Boolean Expression to determine whether to apply the Nudge",isOpt:!0,ref:"AdaptableBooleanQuery"},{name:"Scope",kind:"R",desc:"Where Rule is applied",ref:"AdaptableScope"}]},PlusMinusState:{name:"PlusMinusState",kind:"I",desc:"Predefined Configuration for Plus Minus Module",props:[{name:"PlusMinusNudges",kind:"a",desc:"Array of Plus Minus Nudges",isOpt:!0}]},PredefinedConfig:{name:"PredefinedConfig",kind:"I",desc:"This is the main Predefined Config interface which developers will populate at design-time",props:[{name:"Alert",kind:"R",desc:"Collection of `AlertDefinitions` which will fire Alerts when the rule is met",isOpt:!0,ref:"AlertState"},{name:"Application",kind:"R",desc:"Empty state section (only populated at Design Time) available for User to store their own data with the rest of AdapTable state.",isOpt:!0,ref:"ApplicationState"},{name:"CalculatedColumn",kind:"R",desc:"Supplies a collection of *CalculatedColumn* objects that will display a value based on other cells in the row (using a Calculated Column Expression)",isOpt:!0,ref:"CalculatedColumnState"},{name:"Charting",kind:"R",desc:"Named Charts (wrapping Chart models)",isOpt:!0,ref:"ChartingState"},{name:"ConditionalStyle",kind:"R",desc:"",isOpt:!0,ref:"unknown"},{name:"CustomSort",kind:"R",desc:"Supplies a collection of *Custom Sort* objects to allow some columns to be sorted in non-standard (e.g. non alphabetical) ways",isOpt:!0,ref:"CustomSortState"},{name:"Dashboard",kind:"R",desc:"Large series of properties to give users full control over the look and feel of the *Dashboard* - the section above the grid with toolbars and buttons",isOpt:!0,ref:"DashboardState"},{name:"Export",kind:"R",desc:"Supplies a collection of *Report* objects, together with name of the Current Report, as part of AdapTable export Module",isOpt:!0,ref:"ExportState"},{name:"FlashingCell",kind:"R",desc:"* Objects which define which cells flash in response to data changes",isOpt:!0,ref:"FlashingCellState"},{name:"FormatColumn",kind:"R",desc:"Supplies a collection of *FormatColumn* objects that will style an entire column either fully or using a Condition",isOpt:!0,ref:"FormatColumnState"},{name:"FreeTextColumn",kind:"R",desc:"Supplies a collection of *FreeText* objects so users can make their own notes in bespoke columns that will get stored with their state (and not with the DataSource). Useful if needing a &#39;Comments&#39; column.",isOpt:!0,ref:"FreeTextColumnState"},{name:"Layout",kind:"R",desc:"Supplies a collection of *Layout* objects to name and manage groups of column visibility, order and sorts.",isOpt:!0,ref:"LayoutState"},{name:"PlusMinus",kind:"R",desc:"Supplies a collection of *PlusMinus* rule objects to stipulate what happens when the user clicks &#39;+&#39; or &#39;-&#39; in a numeric cell",isOpt:!0,ref:"PlusMinusState"},{name:"Query",kind:"R",desc:"Named Queries available for use across multiple AdapTable Modules; and `CurrentQuery` - an Expression to run at start-up",isOpt:!0,ref:"QueryState"},{name:"QuickSearch",kind:"R",desc:"Configues how Quick Search will run i.e. how and whether to highlight matching cells and to filter out non-matching rows",isOpt:!0,ref:"QuickSearchState"},{name:"Schedule",kind:"R",desc:"Supplies a collection of *Schedule* objects",isOpt:!0,ref:"ScheduleState"},{name:"Shortcut",kind:"R",desc:"Supplies a collection of *Shortcut* objects to aid data entry and prevent &#39;fat finger&#39; issues",isOpt:!0,ref:"ShortcutState"},{name:"StatusBar",kind:"R",desc:"Configures the Adaptable Status Bar",isOpt:!0,ref:"StatusBarState"},{name:"StyledColumn",kind:"R",desc:"Supplies a collection of Special Column Styles",isOpt:!0,ref:"StyledColumnState"},{name:"Theme",kind:"R",desc:"Specifies the current Theme and lists the User and System themes available for selection.",isOpt:!0,ref:"ThemeState"},{name:"ToolPanel",kind:"R",desc:"Sets the order and visibility of the Tool Panel controls in the AdapTable ToolPanel (on right of grid)",isOpt:!0,ref:"ToolPanelState"}]},PredicateDefHandlerContext:{name:"PredicateDefHandlerContext",kind:"I",desc:"Object passed into an Adaptable Predicate Definition",props:[{name:"column",kind:"R",desc:"Adaptable Column which contains the cell",ref:"AdaptableColumn"},{name:"displayValue",kind:"u",desc:"Display value in cell being evaluated"},{name:"inputs",kind:"a",desc:"Any (optional) inputs required to perform evaluation",isOpt:!0},{name:"node",kind:"R",desc:"AG Grid Row node which contains the cell",ref:"unknown"},{name:"oldValue",kind:"u",desc:"Previous value in cell (e.g. if evaluating an edit)"},{name:"value",kind:"u",desc:"Raw value in cell being evaluated"}]},PredicateDefInput:{name:"PredicateDefInput",kind:"I",desc:"Defines an Input to a Predicate"},PredicateDefToStringParams:{name:"PredicateDefToStringParams",kind:"I",desc:"Inputs required for a Predicate"},PredicateModuleScope:{name:"PredicateModuleScope",kind:"A",desc:"Defines which in Modules the Predicate is available"},PredicateOptions:{name:"PredicateOptions",kind:"I",desc:"Options for managing Adaptable Predicates using AdaptableQL",props:[{name:"caseSensitivePredicates",kind:"b",desc:"Perform case-sensitive text comparisons when evaluating Predicates",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"customPredicateDefs",kind:"a",desc:"Definitions for Custom provided Predicates",isOpt:!0},{name:"systemAlertPredicates",kind:"u",desc:"Which System Alert Predicates are available",isOpt:!0},{name:"systemBadgeStylePredicates",kind:"u",desc:"Which System Badge Style Predicates are available",isOpt:!0},{name:"systemFilterPredicates",kind:"u",desc:"Which System Filter Predicates are available",isOpt:!0},{name:"systemFlashingCellPredicates",kind:"u",desc:"Which System Flashing Cell Predicates are available",isOpt:!0},{name:"systemFormatColumnPredicates",kind:"u",desc:"Which System Format Column Predicates are available",isOpt:!0}]},PreProcessExportContext:{name:"PreProcessExportContext",kind:"I",desc:"Context provided to `ExportOptions.processExport()` callback used when pre-processing Export",props:[{name:"getReportColumns",kind:"u",desc:"Returns Columns to export based on Report&#39;s `ReportColumnScope`"},{name:"getReportRowData",kind:"u",desc:"Returns row data which would typically be exported based on the Report&#39;s `ReportRowScope`"},{name:"report",kind:"R",desc:"Report being exported",ref:"Report"}]},QueryableColumnContext:{name:"QueryableColumnContext",kind:"I",desc:"Context passed when evaluating Queryable Columns",props:[{name:"adaptableColumn",kind:"R",desc:"Basic Column Info - just ColumnId, DataType and FriendlyName",ref:"AdaptableColumnBase"}]},QueryState:{name:"QueryState",kind:"I",desc:"Predefined Configuration for Query Module",props:[{name:"CurrentQuery",kind:"s",desc:"Expression used for the Query currently being run",isOpt:!0},{name:"NamedQueries",kind:"a",desc:"Named Queries - can be referenced in other Expressions",isOpt:!0}]},QuickSearchOptions:{name:"QuickSearchOptions",kind:"I",desc:"Options for configuring Quick Search",props:[{name:"clearSearchesOnStartUp",kind:"b",desc:"Clears saved searches (and Queries) when AdapTable loads",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"excludeColumnFromQuickSearch",kind:"u",desc:"Function enabling specific Columns to be excluded from Quick Search",isOpt:!0,defVal:"undefined"},{name:"filterResultsAfterQuickSearch",kind:"b",desc:"Filters the quick search results so only matching rows are displayed",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"quickSearchPlaceholder",kind:"s",desc:"Value to use as placeholder in QuickSearch controls (e.g. in Dashboard)",isOpt:!0,gridInfo:"item",defVal:"&#39;Search&#39;"},{name:"runQuickSearchOnRowGroups",kind:"b",desc:"Include Aggregrated Columns in Grouped Rows when Quick Searching (highlight only)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"runQuickSearchWithCaseSensitivity",kind:"b",desc:"Run Quick Search using Case Sensitivity",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"}]},QuickSearchState:{name:"QuickSearchState",kind:"I",desc:"Predefined Configuration for Quick Search Module",props:[{name:"QuickSearchText",kind:"s",desc:"Last Quick Search that was run (and will run again at start up)",isOpt:!0},{name:"Style",kind:"R",desc:"Style to use to highlight matching cells - uses common `AdaptableStyle` object",isOpt:!0,ref:"AdaptableStyle"}]},RaiseIntentConfig:{name:"RaiseIntentConfig",kind:"I",desc:"Config used when raising an FDC3 Intent",props:[{name:"actionButton",kind:"R",desc:"Definition of Action Button (to be put in default FDC3 Action Column)",isOpt:!0,ref:"Fdc3AdaptableButton"},{name:"actionColumn",kind:"u",desc:"Custom FDC3 Action Column definition for the Intent",isOpt:!0},{name:"contextMenu",kind:"u",desc:"Columns to display a &#39;Raise Intent&#39; Context Menu item",isOpt:!0},{name:"contextType",kind:"u",desc:"Key of Context being Raised"},{name:"handleIntentResolution",kind:"u",desc:"Handles the IntentResolution for this specific raise intent configuration",isOpt:!0}]},RangeValueType:{name:"RangeValueType",kind:"A",desc:"Whether the Range is Number or Percent based"},ReactFrameworkComponent:{name:"ReactFrameworkComponent",kind:"A",desc:"A function that returns a ReactNode"},ReminderSchedule:{name:"ReminderSchedule",kind:"I",desc:"Schedules a Reminder to appear at a given point in time",props:[{name:"DisplayNotification",kind:"b",desc:"Displays Reminder as a Toast Notification"},{name:"DisplaySystemStatusMessage",kind:"b",desc:"Shows Reminder as System Status Message",isOpt:!0},{name:"Header",kind:"s",desc:"Reminder header text"},{name:"Message",kind:"s",desc:"Reminder body text"},{name:"MessageType",kind:"R",desc:"Type of Message - &#39;Success&#39;, &#39;Info&#39;, &#39;Warning&#39; or &#39;Error&#39;",ref:"AdaptableMessageType"}]},Report:{name:"Report",kind:"I",desc:"A Report which can export data from AdapTable",props:[{name:"Name",kind:"u",desc:"Name of Report"},{name:"Query",kind:"R",desc:"Query to use; only required if `ReportRowScope` is &#39;ExpressionRows&#39;",isOpt:!0,ref:"AdaptableBooleanQuery"},{name:"ReportColumnScope",kind:"R",desc:"Columns to display: &#39;AllColumns&#39;, &#39;VisibleColumns&#39;, &#39;SelectedColumns&#39;, &#39;ScopeColumns&#39;",ref:"ReportColumnScope"},{name:"ReportRowScope",kind:"R",desc:"Rows to export: &#39;AllRows&#39;, &#39;VisibleRows&#39;, &#39;SelectedCellRows&#39;, &#39;SelectedRows&#39;, &#39;ExpressionRows&#39;",ref:"ReportRowScope"},{name:"Scope",kind:"R",desc:"Columns Scope; only required if `ReportColumnScope` is &#39;ScopeColumns&#39;",isOpt:!0,ref:"AdaptableScope"}]},ReportColumnScope:{name:"ReportColumnScope",kind:"A",desc:"Columns to be included in a Report"},ReportContext:{name:"ReportContext",kind:"I",desc:"Report Context sent when using Custom Export Destinations",props:[{name:"report",kind:"R",desc:"Definition of Report being Run",ref:"Report"},{name:"reportData",kind:"R",desc:"Data being exported in the Report",ref:"ReportData"}]},ReportData:{name:"ReportData",kind:"I",desc:"Defines the data in a Report run by AdapTable",props:[{name:"columns",kind:"a",desc:"Columns in the Report"},{name:"rows",kind:"u",desc:"Row Data in the Report"}]},ReportRowScope:{name:"ReportRowScope",kind:"A",desc:"AG Grid Row Data to be included in a Report"},ReportSchedule:{name:"ReportSchedule",kind:"I",desc:"Defines a Scheduled Report - used in Schedule Module (where State is stored)",props:[{name:"ExportDestination",kind:"'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string",desc:"Where report data will be exported"},{name:"ExportDestinationData",kind:"R",desc:"Additional data for a Custom Destination produced by a Dynamic Form",isOpt:!0,ref:"AdaptableFormData"},{name:"ReportName",kind:"s",desc:"Name of Report to run on Schedule"}]},ResolveContextDataContext:{name:"ResolveContextDataContext",kind:"I",desc:"Used to build Context Data",props:[{name:"contextMappedFromGridData",kind:"R",desc:"FDC3 Context Data which has been mapped from the grid data based on the given configuration in `gridDataContextMapping`",isOpt:!0,ref:"Fdc3Context"},{name:"contextType",kind:"R",desc:"FDC3 Context Type",ref:"unknown"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key value of row"},{name:"rowData",kind:"u",desc:"Row data which is the source of the context data"},{name:"rowNode",kind:"R",desc:"Row Node which is source of the context data",ref:"unknown"}]},RowHighlightInfo:{name:"RowHighlightInfo",kind:"I",desc:"Define how to highlight a Row",props:[{name:"highlightStyle",kind:"R",desc:"Highlight style",ref:"AdaptableStyle"},{name:"primaryKeyValue",kind:"u",desc:"Primary key value for the row to be highlighted"},{name:"timeout",kind:"n",desc:"Timeout after which the highlight is removed",isOpt:!0}]},RowInfo:{name:"RowInfo",kind:"I",desc:"Provides meta data about a Row in Adaptable",props:[{name:"isDisplayed",kind:"b",desc:"Is Row displayed (ie. filtered, not necessarily in viewport)",isOpt:!0},{name:"isExpanded",kind:"b",desc:"Is Row expanded (if a group row)",isOpt:!0},{name:"isGroup",kind:"b",desc:"Is Row grouped",isOpt:!0},{name:"isMaster",kind:"b",desc:"Is Row a Master Row (in a Master-Detail grid)",isOpt:!0},{name:"isSelected",kind:"b",desc:"Is Row selected",isOpt:!0},{name:"rowGroupLevel",kind:"n",desc:"What level the Row is (if Row Grouping is active)",isOpt:!0}]},RowsHighlightInfo:{name:"RowsHighlightInfo",kind:"I",desc:"Defines how to highlight a set of Rows",props:[{name:"highlightStyle",kind:"R",desc:"Highlight style",ref:"AdaptableStyle"},{name:"primaryKeyValues",kind:"a",desc:"Primary key valuse for the rows to be highlighted"},{name:"timeout",kind:"n",desc:"Timeout after which the highlight is removed",isOpt:!0}]},Schedule:{name:"Schedule",kind:"I",desc:"Defines when an action will be run - either one-off or recurring",props:[{name:"DaysOfWeek",kind:"R",desc:"Days on which Schedule will run",isOpt:!0,ref:"unknown"},{name:"Hour",kind:"n",desc:"Hour the Schedule will run"},{name:"Minute",kind:"n",desc:"Minute the Schedule will run"},{name:"OneOffDate",kind:"s",desc:"A one off date on which the Schedule will run",isOpt:!0}]},ScheduleState:{name:"ScheduleState",kind:"I",desc:"Predefined Configuration for the Schedule Module",props:[{name:"Glue42Schedules",kind:"a",desc:"Schedules connected to Glue42 exports - available if Glue42 plugin is running",isOpt:!0},{name:"IPushPullSchedules",kind:"a",desc:"Schedules connected to ipushpull Reports - available if ipushpull plugin is running",isOpt:!0},{name:"OpenFinSchedules",kind:"a",desc:"Schedules connected to OpenFin exports - available if OpenFin plugin is running",isOpt:!0},{name:"Reminders",kind:"a",desc:"Schedules connected to Reminders - Alerts that fire at set times",isOpt:!0},{name:"ReportSchedules",kind:"a",desc:"Schedules connected to Reports (created in the Export function)",isOpt:!0}]},SelectedCellInfo:{name:"SelectedCellInfo",kind:"I",desc:"Describes which Cells are currently selected in AdapTable",props:[{name:"columns",kind:"u",desc:"Array of Columns which have selected cells"},{name:"gridCells",kind:"u",desc:"Array of GridCells (which provide cell value, primary kev value and other info)"}]},SelectedRowInfo:{name:"SelectedRowInfo",kind:"I",desc:"Describes which Rows are currently selected in AdapTable",props:[{name:"gridRows",kind:"u",desc:"Array of Grid Rows containing full information about a row in AdapTable"}]},ServerValidationContext:{name:"ServerValidationContext",kind:"I",desc:"Context used when validating data edits on Server",props:[{name:"cellDataChangedInfo",kind:"u",desc:"Details of Cell Edit"}]},SetPrimaryKeyValueContext:{name:"SetPrimaryKeyValueContext",kind:"I",desc:"The context for the SetPrimaryKeyValueContext function",props:[{name:"rowData",kind:"u",desc:"Data in the row being created or cloned"}]},SettingsPanelOptions:{name:"SettingsPanelOptions",kind:"I",desc:"Options for managing the AdapTable Settings Panel",props:[{name:"alwaysShowInDashboard",kind:"b",desc:"Whether a Settings Panel button should always be displayed in `ModuleButtons` area of Dashboard",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"alwaysShowInToolPanel",kind:"b",desc:"Whether a Settings Panel button should always be displayed in `ModuleButtons` area of ToolPanel",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"customSettingsPanels",kind:"a",desc:"Custom Settings Panels provided by developers at design-time",isOpt:!0},{name:"icon",kind:"u",desc:"Settings Panel Icon: `ConfigurationIcon`, `ApplicationIcon` or custom Icon",isOpt:!0,defVal:"`ConfigurationIcon`"},{name:"navigation",kind:"u",desc:"Ordered items to display at side of Settings Panel",isOpt:!0,defVal:"all available AdapTable modules"},{name:"popupType",kind:"'modal' | 'window'",desc:"How Settings Panel behaves: can be &#39;window&#39; (movable, resizable no backdrop) or &#39;modal&#39; (centre of screen with backdrop)",isOpt:!0,defVal:"&#39;window&#39;"},{name:"position",kind:"u",desc:"Initial position of Settings Panel window",isOpt:!0,defVal:"Middle of Screen"},{name:"size",kind:"u",desc:"Initial size of Settings Panel",isOpt:!0,defVal:"Computed based on size of screen"},{name:"title",kind:"s",desc:"Title for the Settings Panel",isOpt:!0,gridInfo:"item",defVal:"&#39;Settings Panel&#39;"}]},SharedEntitiesContext:{name:"SharedEntitiesContext",kind:"I",desc:"Context provided to `TeamSharingOptions.loadSharedEntities()` callback"},SharedEntity:{name:"SharedEntity",kind:"A",desc:"Defines an object used in Team Sharing. The union type is discriminated by the `EntityType` property (`adaptableEntity` / `customEntity`)."},SharedEntityType:{name:"SharedEntityType",kind:"A",desc:"Type of Shared Entity - Snapshot or Active"},Shortcut:{name:"Shortcut",kind:"I",desc:"Used to define a Shortcut as used in Shortcut State",props:[{name:"Scope",kind:"u",desc:"Numeric Columns where Shortcut is applied"},{name:"ShortcutKey",kind:"s",desc:"Key which triggers the Shortcut when pressed"},{name:"ShortcutOperation",kind:"'Add' | 'Subtract' | 'Multiply' | 'Divide'",desc:"The Operation: &#39;Add&#39;, &#39;Subtract&#39;, &#39;Multiply&#39;, &#39;Divide&#39;"},{name:"ShortcutValue",kind:"n",desc:"Value acting as 2nd operand for ShortcutOperation (1st operand is the cell value)"}]},ShortcutScopeDataType:{name:"ShortcutScopeDataType",kind:"A",desc:"Shortcut scope data type."},ShortcutState:{name:"ShortcutState",kind:"I",desc:"Predefined Configuration for Shortcut Module",props:[{name:"Shortcuts",kind:"a",desc:"Collection of Shortcuts - designed to speed up data entry",isOpt:!0}]},SmartEditCustomOperation:{name:"SmartEditCustomOperation",kind:"A",desc:"Custom Operation used in Smart Edit Module"},SmartEditOperation:{name:"SmartEditOperation",kind:"A",desc:"Operation used by Smart Edit - either System or Custom"},SmartEditOperationContext:{name:"SmartEditOperationContext",kind:"I",desc:"Context used in Custom Smart Edit Operations",props:[{name:"currentCell",kind:"u",desc:"Current selected grid cell - contains column, row and cell value information"},{name:"smartEditValue",kind:"n",desc:"Smart Edit value"}]},SparkLineStyle:{name:"SparkLineStyle",kind:"A",desc:"Style to show for a Sparkline Column"},SpecialColumnSettings:{name:"SpecialColumnSettings",kind:"I",desc:"Base Settings for both Calculated and FreeText Columns",props:[{name:"Aggregatable",kind:"b",desc:"Whether Column can be used in an aggregation when grouping",isOpt:!0,defVal:"false"},{name:"ColumnTypes",kind:"a",desc:"Custom column types added to AG Grid Column Types when object is created",isOpt:!0},{name:"DataType",kind:"'String' | 'Number' | 'Boolean' | 'Date' | 'NumberArray'",desc:"Expression&#39;s return value DataType, only mandatory property"},{name:"Filterable",kind:"b",desc:"Whether Column is filterable",isOpt:!0,defVal:"false"},{name:"Groupable",kind:"b",desc:"Whether Column can be grouped",isOpt:!0,defVal:"false"},{name:"HeaderToolTip",kind:"s",desc:"Tooltip to show in the Column Header (not cells)",isOpt:!0},{name:"Pivotable",kind:"b",desc:"Whether Column can be used when grid is in pivot mode",isOpt:!0,defVal:"false"},{name:"Resizable",kind:"b",desc:"Whether Column can be resized (by dragging column header edges)",isOpt:!0,defVal:"false"},{name:"Sortable",kind:"b",desc:"Whether Column is sortable",isOpt:!0,defVal:"false"},{name:"SuppressMenu",kind:"b",desc:"Whether if no menu should be shown for this Column header.",isOpt:!0,defVal:"false"},{name:"SuppressMovable",kind:"b",desc:"Whether if this Column should be movable via dragging",isOpt:!0,defVal:"false"},{name:"Width",kind:"n",desc:"Preferred (pixel) Column Width; if unset, calculated dynamically by AG Grid",isOpt:!0}]},StateOptions:{name:"StateOptions",kind:"I",desc:"Options related to Adaptable State hydration/dehydration - allows users to intercept state persistence and state loading with custom functionality",props:[{name:"applyState",kind:"u",desc:"Allows hooking into Adaptable State hydration",isOpt:!0},{name:"clearState",kind:"R",desc:"Allows clearing of remote Adaptable State",isOpt:!0,defVal:"undefined",ref:"AdaptableClearStateFunction"},{name:"debounceStateDelay",kind:"n",desc:"Delay (in ms) to debounce `saveState` / `persistState` calls enabling grouping multiple sequential calls in single one (e.g. elevator doors)",isOpt:!0,defVal:"400"},{name:"loadState",kind:"R",desc:"Allows customization of Adaptable State loading",isOpt:!0,ref:"AdaptableLoadStateFunction"},{name:"persistState",kind:"R",desc:"Allows customization of Adaptable State persistence",isOpt:!0,ref:"AdaptablePersistStateFunction"},{name:"saveState",kind:"R",desc:"Allows customization of Adaptable State about to be persisted",isOpt:!0,ref:"AdaptableSaveStateFunction"}]},StatusBarState:{name:"StatusBarState",kind:"I",desc:"Predefined Configuration for the Adaptable Status Bar",props:[{name:"StatusBars",kind:"a",desc:"Adaptable Status Bars to display - can be unlimited and displayed in 3 locations",isOpt:!0,defVal:"null"}]},StringFormatterOptions:{name:"StringFormatterOptions",kind:"I",desc:"Formatter Options for String Columns",props:[{name:"Case",kind:"'Upper' | 'Lower' | 'Sentence'",desc:"Sets text to Upper or Lower case",isOpt:!0},{name:"Content",kind:"s",desc:"Replaces cell value; useful when using Condition (e.g. replace null with &#39;N/A&#39;)",isOpt:!0},{name:"Empty",kind:"b",desc:"Show nothing in cell (but underlying value remains)",isOpt:!0},{name:"Prefix",kind:"s",desc:"Prefix to use before the cell text",isOpt:!0},{name:"Suffix",kind:"s",desc:"Suffix to use after the cell text",isOpt:!0},{name:"Trim",kind:"b",desc:"Trims text (both start and end)",isOpt:!0}]},StyledColumn:{name:"StyledColumn",kind:"I",desc:"Object used in Special Column Style function",props:[{name:"BadgeStyle",kind:"R",desc:"Displays cell values in Column as a Badge",isOpt:!0,ref:"BadgeStyle"},{name:"CheckBoxStyle",kind:"b",desc:"Renders a Checkbox in a boolean column",isOpt:!0},{name:"ColumnId",kind:"s",desc:"Column being styled"},{name:"GradientStyle",kind:"R",desc:"Styles a numeric column with a Gradient",isOpt:!0,ref:"GradientStyle"},{name:"IncludeGroupedRows",kind:"b",desc:"Includes Styled Column in Grouped Rows",isOpt:!0,defVal:"false"},{name:"PercentBarStyle",kind:"R",desc:"Styles a numeric column so each cell displays a &#39;Bar&#39;",isOpt:!0,ref:"PercentBarStyle"},{name:"SparkLineStyle",kind:"R",desc:"Displays a Sparkline Chart in an array column",isOpt:!0,ref:"SparkLineStyle"}]},StyledColumnState:{name:"StyledColumnState",kind:"I",desc:"Predefined Configuration for Styled Column Module",props:[{name:"StyledColumns",kind:"a",desc:"Collection of Special Column Styles",isOpt:!0}]},SuspendableObject:{name:"SuspendableObject",kind:"I",desc:"Interface that extends Adaptable Object for those config items that can be suspended at run-time",props:[{name:"IsSuspended",kind:"b",desc:"Suspends (i.e. turns off) an Adaptable Object",isOpt:!0}]},SystemAlertPredicateId:{name:"SystemAlertPredicateId",kind:"A",desc:"List of System Predicates available for Alerts"},SystemAlertPredicateIds:{name:"SystemAlertPredicateIds",kind:"A",desc:"Array containing all System Alert Predicates"},SystemBadgeStylePredicateId:{name:"SystemBadgeStylePredicateId",kind:"A",desc:"Predicates available when creating a Badge Style Rule"},SystemBadgeStylePredicateIds:{name:"SystemBadgeStylePredicateIds",kind:"A",desc:"System Predicate Ids available for Badge Style"},SystemExportDestination:{name:"SystemExportDestination",kind:"A",desc:"Export Destinations provided by AdapTable"},SystemExportDestinations:{name:"SystemExportDestinations",kind:"A",desc:"List of System Export Destinations"},SystemFilterPredicateId:{name:"SystemFilterPredicateId",kind:"A",desc:"List of System Predicates available for Filters"},SystemFilterPredicateIds:{name:"SystemFilterPredicateIds",kind:"A",desc:"Array containing all System Filter Predicates"},SystemFlashingCellPredicateId:{name:"SystemFlashingCellPredicateId",kind:"A",desc:"List of System Predicates available for Flashing Cells"},SystemFlashingCellPredicateIds:{name:"SystemFlashingCellPredicateIds",kind:"A",desc:"Array containing all System Flashing Cell Predicates"},SystemFormatColumnPredicateId:{name:"SystemFormatColumnPredicateId",kind:"A",desc:"List of System Predicates available for Format Columns"},SystemFormatColumnPredicateIds:{name:"SystemFormatColumnPredicateIds",kind:"A",desc:"Array containing all System Format Column Predicates"},SystemPredicatesContext:{name:"SystemPredicatesContext",kind:"I",desc:"Context used for setting which System Predicates are available",props:[{name:"columnScope",kind:"R",desc:"Current Scope where Predicates are being used",ref:"AdaptableScope"},{name:"moduleScope",kind:"R",desc:"Module for which Predicates are being retrieved",ref:"PredicateModuleScope"},{name:"systemPredicateDefs",kind:"a",desc:"AdapTable-provided System Predicate Definitions"}]},SystemReportName:{name:"SystemReportName",kind:"A",desc:"Names of Reports provided by AdapTable"},SystemReportNames:{name:"SystemReportNames",kind:"A",desc:"Array containing all System Report names"},SystemStatusMessageInfo:{name:"SystemStatusMessageInfo",kind:"I",desc:"Wraps a System Status Message",props:[{name:"statusFurtherInformation",kind:"s",desc:"Additional information to display (optional)",isOpt:!0},{name:"statusMessage",kind:"s",desc:"The Message to be displayed"},{name:"statusType",kind:"R",desc:"Type of Message i.e. Succcess, Warning, Error, Info",ref:"AdaptableMessageType"},{name:"timestamp",kind:"d",desc:"When Message was sent",isOpt:!0}]},TeamSharingOptions:{name:"TeamSharingOptions",kind:"I",desc:"Options for managing Team Sharing - which enables Adaptable Objects to be shared between colleagues",props:[{name:"applySharedEntities",kind:"u",desc:"Allows hooking into Shared Entities loading process",isOpt:!0},{name:"enableTeamSharing",kind:"b",desc:"Whether Team Sharing is enabled",gridInfo:"item",defVal:"false"},{name:"handleCustomSharedEntityImport",kind:"u",desc:"Handles import of Custom Shared Entities",isOpt:!0},{name:"loadSharedEntities",kind:"u",desc:"(Async) Loads available Shared Entities - user can download and auto-merge with Adaptable State",defVal:"null"},{name:"persistSharedEntities",kind:"u",desc:"(Async) Persists Shared Entities so that they can be downloaded by other team members",defVal:"null"},{name:"saveSharedEntities",kind:"u",desc:"Allows hooking into Shared Entities persistence process",isOpt:!0},{name:"showUpdateNotificationOncePerUpdate",kind:"b",desc:"Whether to show update notification once per update",isOpt:!0,defVal:"false"},{name:"suppressOverrideConfigWarning",kind:"b",desc:"Suppress warning when an Import overrides existing Config item",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"updateInterval",kind:"n",desc:"Frequency (in minutes) to check if Active Shared Entities have a newer revision",isOpt:!0,gridInfo:"item",defVal:"0 (never)"},{name:"updateNotification",kind:"'Alert' | 'AlertWithNotification' | 'SystemStatus'",desc:"How user is informed when Active Shared Entities have newer revisions",isOpt:!0,gridInfo:"item",defVal:"null (none)"}]},TeamSharingState:{name:"TeamSharingState",kind:"I",desc:"State for Team Sharing; this is internal so not designed to be provided as part of Predefined Config",props:[{name:"ActiveSharedEntityMap",kind:"u",desc:"Mapping of active AdaptableObjects which are shared with the local state. Maps UUIDs of local AdaptableObjects to a snapshot of the latest synchronized SharedEntity"},{name:"importProcessInProgress",kind:"b",desc:"TRUE if an import is in progress, FALSE otherwise. This is required to skip the TEAMSHARING_UPDATE_ITEM action as a result of the import"},{name:"SharedEntities",kind:"a",desc:"List of objects currently being Team Shared"}]},ThemeState:{name:"ThemeState",kind:"I",desc:"Theme section of Adaptable State",props:[{name:"CurrentTheme",kind:"u",desc:"Name of current theme (or theme to set at startup); leave blank if using &#39;Light Theme&#39;, set to &#39;dark&#39; for &#39;Dark Theme&#39; or provide name of Custom Theme",isOpt:!0},{name:"SystemThemes",kind:"u",desc:"Which, if any, of the 2 themes shipped by Adaptable should be available; leave unset to provide both, or an empty array to provide neither.",isOpt:!0},{name:"UserThemes",kind:"a",desc:"Custom themes (of type AdaptableTheme) provided by developers",isOpt:!0}]},TOAST_POSITIONS:{name:"TOAST_POSITIONS",kind:"A",desc:"Different positions offered by Notifications"},ToolPanelButtonContext:{name:"ToolPanelButtonContext",kind:"I",desc:"Context required by functions when using a ToolPanel Button",props:[{name:"toolPanelState",kind:"R",desc:"Current ToolPanel State",ref:"ToolPanelState"}]},ToolPanelOptions:{name:"ToolPanelOptions",kind:"I",desc:"Options related to managing the AdapTable ToolPanel Component",props:[{name:"customButtons",kind:"a",desc:"ToolPanel Buttons provided by Users which perform custom behaviour",isOpt:!0},{name:"customToolPanels",kind:"a",desc:"ToolPanels provided by Users which contain custom content",isOpt:!0},{name:"showToolPanelsDropdown",kind:"b",desc:"Display the Tool Panels dropdown",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"}]},ToolPanelState:{name:"ToolPanelState",kind:"I",desc:"Predefined Configuration for the Adaptable ToolPanel",props:[{name:"ModuleButtons",kind:"R",desc:"AdapTable Module Buttons visible in ToolPanel",isOpt:!0,defVal:"Empty Array",ref:"unknown"},{name:"ToolPanels",kind:"a",desc:"Adaptable Tool Panels which are viaible",isOpt:!0,defVal:"ToolPanels for all available Modules (subject to Entitlement rules)"}]},ToolPanelVisibilityMode:{name:"ToolPanelVisibilityMode",kind:"A",desc:"Whether a ToolPanel displays as expanded or collapsed"},UIControlConfig:{name:"UIControlConfig",kind:"I",desc:"Used to customise FDC3 controls (e.g. Action Columns)",props:[{name:"icon",kind:"R",desc:"Icon to display",isOpt:!0,ref:"AdaptableIcon"}]},UnbalancedGroupsKeyContext:{name:"UnbalancedGroupsKeyContext",kind:"I",desc:"Context used when setting a value for Unbalanced Row Groups",props:[{name:"adaptableColumn",kind:"u",desc:"Adaptable Column being grouped"},{name:"params",kind:"u",desc:"AG Grid&#39;s Key Creator Params"}]},UserInterfaceOptions:{name:"UserInterfaceOptions",kind:"I",desc:"Options for managing the User Interface of AdapTable",props:[{name:"alternativeModuleNames",kind:"a",desc:"Alternative names to use for Adaptable Modules in toolbars and menus",isOpt:!0,defVal:"null"},{name:"applicationIcon",kind:"R",desc:"The application icon to appear in Dashboard and elsewhere (e.g. OpenFin notifications)",isOpt:!0,defVal:"null",ref:"AdaptableIcon"},{name:"bulkUpdatePermittedValues",kind:"u",desc:"Custom column values for editing via bulk-update",isOpt:!0},{name:"colorPalette",kind:"u",desc:"Colours to display in Colour Picker (in place of AdapTable&#39;s default set); can be hardcoded list or function",isOpt:!0},{name:"customIcons",kind:"a",desc:"Bespoke icons that can be used in Adaptable (e.g. Badge Styles and Buttons)",isOpt:!0},{name:"customSortPermittedValues",kind:"u",desc:"Custom column values for defining Custom Sort",isOpt:!0},{name:"dateInputOptions",kind:"R",desc:"Options for managing and customizing date inputs in AdapTable",isOpt:!0,ref:"DateInputOptions"},{name:"disableDeleteConfirmation",kind:"b",desc:"Hides confirmation dialog which displays whenever an AdaptableObject is deleted",isOpt:!0,noCode:"item",defVal:"false"},{name:"editableCellStyle",kind:"R",desc:"Style to set for editable cells",isOpt:!0,ref:"AdaptableStyle"},{name:"editLookUpItems",kind:"u",desc:"Dropdown values displayed when column is being edited",isOpt:!0},{name:"englishVariant",kind:"'GB' | 'US'",desc:"English variant to use in AdapTable UI",isOpt:!0,gridInfo:"item",defVal:"&#39;GB&#39;"},{name:"filterPermittedValues",kind:"u",desc:"Custom column values for Values (&#39;IN&#39;) Filter",isOpt:!0},{name:"gridInfoSections",kind:"R",desc:"Which sections to show in the Grid Info Screen",isOpt:!0,defVal:"[&#39;GridSummary&#39;, &#39;AdaptableOptions&#39;, &#39;ColumnInfo&#39;, &#39;AdaptableObjects&#39;]",ref:"GridInfoSections"},{name:"objectTags",kind:"u",desc:"Optional list of AdaptableObjectTags that can be associated with AdaptableObjects",isOpt:!0},{name:"permittedValues",kind:"u",desc:"List of Column values to display (e.g. in Filter, Custom Sort etc.)",isOpt:!0},{name:"readOnlyCellStyle",kind:"R",desc:"Style to set for non-editable cells",isOpt:!0,ref:"AdaptableStyle"},{name:"showAdapTableVersion",kind:"b",desc:"Displays the AdapTable version in Grid Info section of Settings Panel",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"showDocumentationLinks",kind:"b",desc:"Provide links to AdapTable documentation (in Module popups and Expression Editor)",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"styleClassNames",kind:"a",desc:"Optional list of CSS styles that can be used when creating Adaptable Styles in Adaptable (e.g. in Format Column and other Modules)",isOpt:!0,gridInfo:"item"},{name:"useCustomMacLikeScrollbars",kind:"b",desc:"Show Mac-like scrollbars; size is configurable via CSS variable `--ab-custom-scrollbar-size` (default: `10px`)",isOpt:!0,gridInfo:"item",defVal:"false"}]},UserMenuItem:{name:"UserMenuItem",kind:"I",desc:"Menu Item which is added to Column or Context Menu - can contain sub items",props:[{name:"disabled",kind:"u",desc:"Function evaluating whether Menu Item is enabled",isOpt:!0},{name:"hidden",kind:"u",desc:"Function evaluating whether Menu Item is visible",isOpt:!0},{name:"icon",kind:"R",desc:"Optional icon to display",isOpt:!0,ref:"AdaptableIcon"},{name:"label",kind:"u",desc:"Text to appear in the Menu Item"},{name:"onClick",kind:"u",desc:"Function invoked when the Menu Item is clicked",isOpt:!0},{name:"subMenuItems",kind:"u",desc:"Array of Menu Items, enabling limitless levels of menus",isOpt:!0}]},ValidationResult:{name:"ValidationResult",kind:"I",desc:"Used for Server Validation ie. after an edit in AG Grid which must be checked on Server",props:[{name:"MessageType",kind:"R",desc:"Type of Message to Display",isOpt:!0,defVal:"Info",ref:"AdaptableMessageType"},{name:"NewValue",kind:"u",desc:"Cell Value to use for after Server Validation",isOpt:!0},{name:"ValidationHeader",kind:"s",desc:"Header to diplay with validation",isOpt:!0,defVal:"&#39;Server Validation Message&#39;,"},{name:"ValidationMessage",kind:"s",desc:"Message to diplay with validation",isOpt:!0}]},WeightedAverageAggregation:{name:"WeightedAverageAggregation",kind:"I",desc:"Defines a Weighted Average Agg",props:[{name:"type",kind:"u",desc:"Type is always &#39;weightedAverage&#39;"},{name:"weightedColumnId",kind:"s",desc:"Column which is weighted"}]}};var Xke=["s","n","b","a","f","R"],hI=class{constructor(e){this.gridInfoOptions=new Map;this.getAdaptableOptions=()=>null;this.getAdaptableOptions=e,this.gridInfoOptions=this.buildGridInfoOptions()}getGridInfoOptions(){return this.gridInfoOptions}getGridInfoNoCodeOptions(){return this.buildGridInfoOptions({filterItemProperty:e=>e.noCode==="item",filterEmptyAdaptableOptions:!1})}validateAdaptableOptionsValues(){var i;let e=this.getAdaptableOptions(),t=this.getAdaptableOptionsMetamodel(),n=this.getAdaptableOptionsDefaultValues();(i=e.adaptableId)!=null&&i.includes(".")&&xi.consoleWarnBase("The 'AdaptableOptions.adaptableId' property should NOT include a '.' character. We strongly recommend to remove it to avoid unexpected AdapTable behavior.");let r=[];this.validateOptionsObject(r,"AdaptableOptions",e,t,n),r.length&&xi.consoleWarnBase(["AdaptableOptions validation errors:",`
579
579
  `,...r,`
580
580
  `,`See AdaptableOptions documentation at ${yOe} for details`].join(`
581
581
  `))}validateOptionsObject(e,t,n,r,i){Object.entries(n).forEach(([a,s])=>{var p;if(a==="gridOptions"){e.push("gridOptions was removed from AdapTable Options in Version 16 and is no longer used");return}if(a==="_gridOptions"||a==="fdc3Options")return;let l=(p=r==null?void 0:r.props)==null?void 0:p.find(m=>m.name===a);if(!l){e.push(`${t}.${a} (value=${s}) :: unknown/unsupported property, will be ignored`);return}let u=this.getExpectedOptionsValueType(l),c=Array.isArray(s)?"a":typeof s;if(!!u)if(u==="R"){let m=l.ref,h=n[a],C=this.getAdaptableMetamodel()[m];h&&(C==null?void 0:C.kind)==="I"&&this.validateOptionsObject(e,m,h,C,i==null?void 0:i[a])}else Xke.includes(c)&&c!==u&&e.push(`${t}.${a} (value=${s}) :: wrong type (${c}), expected ${u}`)})}getExpectedOptionsValueType(e){let t=e.kind;if(Xke.includes(t))return t}buildGridInfoOptions(e){let{filterItemProperty:t,filterEmptyAdaptableOptions:n=!0}=e||{},r=new Map,i=this.getAdaptableMetamodel(),a=this.getAdaptableOptionsMetamodel(),s=this.getAdaptableOptions(),l=this.getAdaptableOptionsDefaultValues();if(!a)return r;let u=this.mapGridInfoContainerItems(a,s,l,t);return r.set("baseOptions",{containerLabel:"Base Options",items:u}),a.props.filter(c=>c.gridInfo==="container").forEach(c=>{let p=c.ref,m=c.name,h=i[p],C=s[m],y=l[m];if(!h||!C&&n||!y)return;let v=this.mapGridInfoContainerItems(h,C,y,t);r.set(c.name,{containerLabel:this.extractUiLabel(c),items:v})}),r}mapGridInfoContainerItems(e,t,n,r=i=>i.gridInfo==="item"){return e.props.filter(r).map(i=>({name:i.name,value:t==null?void 0:t[i.name],defaultValue:n[i.name],kind:i.kind,description:nt.UnescapeHtmlEntities(i.desc),uiLabel:this.extractUiLabel(i)}))}getAdaptableOptionsDefaultValues(){return Eo}getAdaptableMetamodel(){return Yke}getAdaptableOptionsMetamodel(){return this.getAdaptableMetamodel().AdaptableOptions}extractUiLabel(e){return e.uiLabel||this.formatCamelCaseToHumanText(e.name)}formatCamelCaseToHumanText(e){if(!e||e==null)return null;let t=/([A-Z])([A-Z])([a-z])|([a-z])([A-Z])/g;return e.replace(t,"$1$4 $2$3$5").replace("."," ").split(" ").map(r=>r.substring(0,1).toUpperCase()+(r.length>1?r.substring(1,r.length):"")).join(" ")}};var G0t=250,H0t=["s","n","b"],U0t=o=>{let{name:e,defaultValue:t,value:n,description:r,uiLabel:i}=o.option,a=i!=null?i:nt.Humanize(e),s=ni.createElement(ni.Fragment,null),l=ni.createElement(xb.Box,{ml:2},ni.createElement(Jn,{headerText:null,bodyText:[r]})),u=y=>o.onChange(T(S({},o.option),{value:y.currentTarget.value})),c=y=>o.onChange(T(S({},o.option),{value:y})),p=S({},o.option);if((y=>y.kind.includes("|")&&y.kind.split("|").some(x=>!/['"]/.test(x)))(p)){let y=p.kind.split("|").find(v=>H0t.includes(v.trim())).trim();y&&(p.kind=y)}let h={value:n!=null?n:t,minWidth:200,fontSize:3,mr:2};if(p.kind.includes("|")){let y=p.kind.split("|").map(v=>v.trim().replace(/['"]/g,"")).map(v=>({label:nt.Humanize(v),onClick:()=>o.onChange(T(S({},p),{value:v}))}));s=ni.createElement(Qe,T(S({},h),{columns:["label"],items:y}),nt.Humanize(n))}else switch(p.kind){case"n":s=ni.createElement(mt,S({type:"number",onChange:u},h));break;case"s":s=ni.createElement(mt,S({type:"text",onChange:u},h));break;case"b":s=ni.createElement(Ne,{onChange:c,checked:Boolean(n),type:"date"},a);break}let C=ni.createElement(ni.Fragment,null,ni.createElement(xb.Flex,{minWidth:G0t,alignItems:"center"},a," ",l),s);return p.kind==="b"&&(C=ni.createElement(xb.Flex,{alignItems:"center"},s," ",l)),ni.createElement(xb.Flex,{mb:2,pl:1},C)},W0t=o=>{var e;return o.options.length?ni.createElement(xb.Box,{mb:2},ni.createElement(Qt,{mb:2},(e=o.name)!=null?e:o.id),o.options.map((t,n)=>ni.createElement(U0t,{key:n,option:t,onChange:o.onChange}))):ni.createElement(ni.Fragment,null)},Zke=o=>{let e=ni.useMemo(()=>[...new hI(()=>o.adaptableOptions).getGridInfoNoCodeOptions()],[o.adaptableOptions]),t=n=>r=>{let i=S({},o.adaptableOptions);n==="baseOptions"?i[r.name]=r.value:i[n]=T(S({},i[n]),{[r.name]:r.value}),o.onChangedAdaptableOptions(i)};return ni.createElement(xb.Box,{p:2},e.map(([n,{containerLabel:r,items:i}])=>ni.createElement(W0t,{onChange:t(n),key:n,id:n,name:r,options:i})))};var Jke=o=>{let[e,t]=Ks.useState(!0),[n,r]=(0,Jee.useState)(()=>{let v=S(S({},{sideBar:{toolPanels:["columns","filters","adaptable"]}}),o.adaptableConfig.gridOptions),x=jt.assignAdaptableOptions(o.adaptableConfig.adaptableOptions);return{gridOptions:v,adaptableOptions:x}}),[i,a]=(0,Jee.useState)(()=>{var y,v;return(v=(y=o.adaptableConfig.gridOptions)==null?void 0:y.columnDefs)==null?void 0:v.reduce((x,A)=>(x[A.field]=!0,x),{})}),s=Ks.useRef(),l=()=>{let y=S({},n.adaptableOptions),v=S({},n.gridOptions);s.current&&(n.gridOptions.columnDefs=s.current.getColumns().map(A=>{let R=T(S({},A),{headerName:A.caption||nt.Humanize(A.field)});return delete R.caption,R}),y.primaryKey=s.current.getPrimaryKey());let x={adaptableOptions:y,gridOptions:v};r(x),o.onFinish(x)},u=Ks.useCallback(y=>{t(y)},[]),c=Ks.useCallback(y=>{r(v=>T(S({},v),{gridOptions:T(S({},v.gridOptions),{columnDefs:y})}))},[]),p=Ks.useCallback((y,v)=>{a(x=>{let A=x!=null?x:{};return A[y.field]=v,A})},[]),m=Ks.useCallback(y=>{r(v=>T(S({},v),{adaptableOptions:y}))},[]),h=Ks.useCallback(y=>{r(v=>T(S({},v),{gridOptions:y}))},[]),C=[{title:"Columns",details:"Configure Columns",isValid:()=>e?!0:"Primary key column must be included",render:()=>Ks.createElement(kke,{adaptableConfig:n,setPrimaryKeyIsNotSelected:u,onChange:r,selectedColumns:i,onSelectionChange:p,onColumnChange:c,columnsHandle:s})},{title:"AdapTable Options",details:"Configure Adaptable Options",isValid:()=>n.adaptableOptions.adaptableId?!0:"Adaptable ID is required",render:()=>Ks.createElement(Zke,{adaptableOptions:n.adaptableOptions,onChangedAdaptableOptions:m})},{title:"AG Grid Options",details:"Configure AG Grid Options",render:()=>Ks.createElement(Vke,{gridOptions:n.gridOptions,onChangedGridOptions:h})},{title:"UI Elements",details:"Configure UI Elements",render:()=>Ks.createElement(qke,{adaptableOptions:n.adaptableOptions,gridOptions:n.gridOptions,onChangedAdaptableOptions:m,onChangedGridOptions:h})},{title:"Entitlements",details:"Configure Entitlements",render:()=>Ks.createElement(Gke,{adaptableOptions:n.adaptableOptions,onChangedAptableOptions:m})}].filter(Boolean);return o.startSections&&(C=[...o.startSections.map(y=>({title:y.title,isValid:y.isValid,isVisible:y.isVisible,render:()=>y.render(n,r,a)})),...C]),Ks.createElement(T3,{data:n,name:"Configure",defaultCurrentSectionName:"default section name",onHide:()=>null,onFinish:l,sections:C})};var eBe=Jke;d();var tBe=o=>{if(!o||!Array.isArray(o.columns))throw"We can't find any columns in your configuration";if(!o.columns.length)throw"You should have at least one column";if(!o.columns.reduce((t,n)=>!n||typeof n!="string"?!1:t,!0))throw"Some of your columns are not strings";if(!Array.isArray(o.data))throw"We can't find the data array in your configuration";return!0};var z0t={dropped:!1},j0t=(o,e)=>e.type==="DROPPED"?T(S({},o),{adaptableOptions:e.payload.adaptableOptions,gridOptions:e.payload.gridOptions,dropped:!0,error:null}):e.type==="ERROR"?T(S({},o),{dropped:!1,error:e.payload}):e.type==="CANCEL"?T(S({},o),{error:null,dropped:!1}):o,nBe=o=>{var c;let[e,t]=(0,mx.useReducer)(j0t,T(S({},z0t),{adaptableOptions:o.adaptableOptions,gridOptions:o.gridOptions})),[n,r]=(0,mx.useState)(Date.now()),[i,a]=(0,mx.useState)(!1),s=(p,m)=>{let h=(o.prepareData||Tke)(p,m);try{tBe(h)}catch(x){return t({type:"ERROR",payload:`Invalid adaptable configuration - ${x}`})}let C=Ike(h,o.gridOptions),y=S({},o.adaptableOptions);y.adaptableId=y.adaptableId||(m?m.name:""),h.primaryKey&&(y.primaryKey=h.primaryKey),(o.fetchData?Boolean(o.showFetchDataWizard):!0)?t({type:"DROPPED",payload:{adaptableOptions:y,gridOptions:C}}):o.onInit(y,C)},l;(o.skipToWizard||e.dropped)&&(l=px.createElement(eBe,{startSections:o.startSections,adaptableConfig:{adaptableOptions:e.adaptableOptions,gridOptions:e.gridOptions},onCancel:()=>{r(Date.now()),t({type:"CANCEL"})},onFinish:p=>{o.onInit(p.adaptableOptions,p.gridOptions)}})),(0,mx.useEffect)(()=>{o.fetchData&&(a(!0),o.fetchData().then(p=>{s(p),a(!1)}))},[]);let u=(c=o.ddEnabled)!=null?c:!o.fetchData;return px.createElement(px.Fragment,null,u&&px.createElement(Z_e,{key:n,className:"ab-NocodeWizard",toJSON:o.fileContentsToJSON,readFile:o.readFile,fileAccept:o.fileAccept,helpText:o.helpText,message:e.error,defaultText:o.defaultActionMessage,dragOverText:o.dragOverActionMessage,loadingText:o.loadingMessage,onDropSuccess:s}),i&&px.createElement(oBe.Flex,{className:"ab-NocodeWizard",alignItems:"center",justifyContent:"center",flexDirection:"column"},o.loadingMessage||"Loading ..."),l)};var K0t=o=>ete.createElement(rBe.ThemeProvider,{theme:tT},ete.createElement(nBe,S({},o))),UW=K0t;d();var bs=I(require("react")),nte=I(KT());var jW=I(Ce());d();var WW=I(require("react"));var fI=class extends WW.Component{render(){return WW.createElement(ue,T(S({"data-name":"configure",tooltip:"Configure",iconSize:18,icon:"spanner"},this.props),{variant:"text"}))}};d();var Rb=I(require("react"));d();var hx=I(require("react")),gI=require("react");var sBe=I(KT()),lBe=o=>{var l;let{customToolPanel:e}=o,{api:t}=pe(),n=(0,gI.useRef)(),r=`ab-ToolPanel__${e.name}__contents`,i=`ab-ToolPanel__${e.name}__buttons`,[a,s]=(0,gI.useState)("");return(0,gI.useLayoutEffect)(()=>{let u=n.current;if(iBe(e)){let c={visible:!0,element:u,adaptableApi:t,userName:t.optionsApi.getUserName(),adaptableId:t.optionsApi.getAdaptableId()},p=e.render(c);s(p)}else aBe(e)&&t.internalApi.createFrameworkComponent(u,e.frameworkComponent,"toolPanel");return()=>{iBe(e)?e.render({visible:!1,element:u,adaptableApi:t,userName:t.optionsApi.getUserName(),adaptableId:t.optionsApi.getAdaptableId()}):aBe(e)&&!t.isDestroyed()&&t.internalApi.destroyFrameworkComponent(u,e.frameworkComponent,"toolPanel")}},[]),hx.createElement(hx.Fragment,null,hx.createElement("div",{ref:n,id:r,className:r,dangerouslySetInnerHTML:{__html:a},style:{width:"100%"}}),((l=e.buttons)==null?void 0:l.length)&&hx.createElement("div",{id:i,className:`ab-ToolPanel__custom-content__buttons ${i}`},e.buttons.map(u=>{let c={adaptableApi:t,userName:t.optionsApi.getUserName(),adaptableId:t.optionsApi.getAdaptableId(),toolPanelState:t.toolPanelApi.getToolPanelState(),customToolPanel:e},p=t.internalApi.getIconForButton(u,c),m=t.internalApi.getStyleForButton(u,c),h=t.internalApi.getLabelForButton(u,c),C=t.internalApi.getTooltipForButton(u,c);if(u.hidden&&u.hidden(u,c))return null;let y=u.disabled&&u.disabled(u,c),v=m&&m.variant?m.variant:"text",x=m&&m.tone?m.tone:"none",A=h!=null?h:Ns();return hx.createElement(ue,{key:A,variant:v,tone:x,className:`ab-ToolPanel__Home__${(0,sBe.default)(h)} ${(m==null?void 0:m.className)||""}`,tooltip:C,icon:p,disabled:y,onClick:()=>u.onClick(u,c),accessLevel:"Full"},h)})))},iBe=o=>o.render,aBe=o=>o.frameworkComponent;var dBe=I(Ce());d();var Xc=I(require("react"));d();var zW=I(require("react"));var CI=class extends zW.Component{render(){return zW.createElement(ue,T(S({"data-name":"close",tooltip:"Close",iconSize:20,icon:"close"},this.props),{variant:"text"}))}};var uBe=I(Ce());var E0=class extends Xc.Component{render(){let u=this.props,{useDefaultPanelStyle:e,isMinimised:t,onMinimiseChanged:n,headerText:r,onClose:i,onConfigure:a}=u,s=ut(u,["useDefaultPanelStyle","isMinimised","onMinimiseChanged","headerText","onClose","onConfigure"]),l=Xc.createElement(Xc.Fragment,null,t?Xc.createElement(tI,{className:"ab-ToolPanelPanel__header-maximise",onClick:()=>n(),marginRight:1}):Xc.createElement(eI,{className:"ab-ToolPanelPanel__header-minimise",onClick:()=>n(),marginRight:1}),Xc.createElement(uBe.Flex,{className:"ab-ToolPanelPanel__header-text",flex:1,alignItems:"center",marginLeft:0},r),a&&Xc.createElement(fI,{iconSize:16,marginLeft:1,className:"ab-ToolPanelPanel__header-configure-button",tooltip:"Configure "+r,onClick:()=>a()}),i&&Xc.createElement(CI,{marginLeft:0,className:"ab-ToolPanelPanel__header-close-button",tooltip:"Close "+r,onClick:()=>i(),disabled:s.disabled}));return Xc.createElement(Sn,T(S({border:"var(--ab-cmp-toolpanelpanel__border)"},s),{className:$e("ab-ToolPanelPanel",s.className),header:l,style:S({color:"var(--ab-cmp-toolpanelpanel__color)",fill:"var(--ab-cmp-toolpanelpanel__fill)"},s.style),headerProps:T(S({},s.headerProps),{alignItems:"stretch",style:S({padding:"var(--ab-cmp-toolpanelpanel_header__padding)",background:"var(--ab-cmp-toolpanelpanel_header__background)",color:"var(--ab-cmp-toolpanelpanel_header__color)",fill:"var(--ab-cmp-toolpanelpanel_header__fill)"},s.headerProps?s.headerProps.style:null)}),bodyProps:T(S({},s.bodyProps),{style:T(S({padding:"var(--ab-cmp-dashboardpanel_body__padding)",background:"var(--ab-cmp-dashboardpanel_body__background)"},s.bodyProps?s.bodyProps.style:null),{display:"flex",flexDirection:"column"})})}))}};E0.defaultProps={headerText:"",onClose:null,onConfigure:null,onMinimiseChanged:null,isMinimised:!0};var tte=o=>{let{adaptableToolPanel:e,customToolPanel:t,visibilityMode:n,onVisibilityModeChange:r}=o,{api:i}=pe(),a=()=>{var C;if(e){let y=i.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(e),v=i.internalApi.getModuleService().getModuleInfoByModule(e),x=FW.get(e);return[e,v.FriendlyName,x?Rb.createElement(x,{viewType:"ToolPanel",api:i,accessLevel:y,moduleInfo:v}):null,v]}else return[t.name,(C=t==null?void 0:t.title)!=null?C:t.name,Rb.createElement(lBe,{customToolPanel:t})]},[s,l,u,c]=a(),p=n==="collapsed",m=!!c&&s!=="OpenFin"&&s!=="IPushPull"&&s!=="Glue42",h=i.internalApi.getModuleService().getModuleById(yd).isModuleEditable();return Rb.createElement(Rb.Fragment,null,u&&Rb.createElement(dBe.Box,{marginTop:1,className:`ab-ToolPanel__container ab-ToolPanel__container--${s}`},Rb.createElement(E0,{className:`ab-ToolPanel__${s}`,"data-name":`ab-ToolPanel__${s}`,headerText:l,disabled:!h,onMinimiseChanged:()=>{r(p?"expanded":"collapsed")},isMinimised:p,onConfigure:m?()=>{let C=i.internalApi.getModuleService().getPopupMaxWidth(c.ModuleName),y=C?{maxWidth:C,source:"Toolbar"}:{source:"Toolbar"};i.internalApi.dispatchReduxAction(En(c.ModuleName,c.Popup,y))}:null,onClose:()=>i.internalApi.dispatchReduxAction(mB(s))},p?null:u)))};var Q0t=o=>o.preventDefault(),$0t=o=>{var P;let e=bs.createElement(mo,{name:"align-justify"}),t=o.api.internalApi.getEntitlementService(),n=o.api.internalApi.getModuleService(),r=o.api.optionsApi.getAdaptableOptions(),i=r.toolPanelOptions,a=r.settingsPanelOptions;if(t.isModuleHiddenEntitlement("ToolPanel"))return bs.createElement(Qt,{mt:2,mb:2,p:2,style:{fontSize:"var(--ab-font-size-3)"}},"Not enough rights");let l=o.MainMenuItems.filter(D=>D.isVisible).map(D=>D.module);t.isModuleHiddenEntitlement("Dashboard")||l.push("Dashboard"),o.api.pluginsApi.getipushpullPluginApi()&&!t.isModuleHiddenEntitlement("IPushPull")&&l.push("IPushPull"),o.api.pluginsApi.getOpenFinPluginApi()&&!t.isModuleHiddenEntitlement("OpenFin")&&l.push("OpenFin");let u=NT.filter(D=>We.ContainsItem(l,D)),c=(D,F)=>{F==="expanded"?o.onExpandToolPanel(D):o.onCollapseToolPanel(D)},p=o.api.internalApi.getModuleService().getModuleById(yd).isModuleEditable(),m=[],h=((P=o.ToolPanels)!=null?P:[]).map(D=>{var O;let F=(O=D.VisibilityMode)!=null?O:"collapsed",M=o.api.toolPanelApi.getCustomToolPanelByName(D.Name);if(M)return m.push(M.name),bs.createElement(tte,{key:M.name,customToolPanel:M,visibilityMode:F,onVisibilityModeChange:_=>c(M.name,_)});if(u.some(_=>_===D.Name)){let _=D.Name;return m.push(_),bs.createElement(tte,{key:_,adaptableToolPanel:_,visibilityMode:F,onVisibilityModeChange:H=>c(_,H)})}}),C=()=>{if(!i.showToolPanelsDropdown)return;let D=[{clickable:!1,label:bs.createElement("div",{key:"toolPanelTitle"}," ","\xA0\xA0",bs.createElement("b",null,"Tool Panels"),R("ToolPanels"))}],F=O=>m.includes(O),M=(O,_,H)=>({id:O,onClick:()=>{A(O,!H)},label:bs.createElement(Ne,{className:"ab-dd-checkbox",variant:"agGrid",my:0,as:"div",value:O,key:O,checked:H,onMouseDown:Q0t},O)});return o.api.toolPanelApi.getCustomToolPanels().forEach(O=>{let _=O.name;D.push(M(_,_,F(_)))}),u.forEach(O=>{let _=n.getModuleInfoByModule(O).FriendlyName;D.push(M(O,_,F(O)))}),D.sort((O,_)=>O.label<_.label?-1:O.label>_.label?1:0),bs.createElement(Qe,{variant:"text",tone:"none",collapseOnItemClick:!1,key:"dropdown-toolpanels",id:"dropdown-toolpanels",className:"ab-ToolPanel__toolbars",columns:["label"],items:D,tooltip:"Manage Tool Panels"},e)},y=()=>{let D=[],F=o.ModuleButtons;return a.alwaysShowInToolPanel&&!o.api.internalApi.getEntitlementService().isModuleHiddenEntitlement("SettingsPanel")&&!F.includes("SettingsPanel")&&(F=["SettingsPanel",...F]),F!=null&&F.length&&D.push(F.map(O=>{let _=o.MainMenuItems.find(H=>H.isVisible&&H.module==O);if(_)return bs.createElement(ue,{"data-name":_.module,key:_.label,icon:_.icon,tone:"none",variant:"text",className:`ab-ToolPanel__Home__${(0,nte.default)(_.label)}`,tooltip:_.label,onClick:()=>o.onClick(_.reduxAction),accessLevel:"Full"})})),D},v=()=>o.api.toolPanelApi.getCustomToolPanelButtons().map(D=>{let F={adaptableApi:o.api,userName:o.api.optionsApi.getUserName(),adaptableId:o.api.optionsApi.getAdaptableId(),toolPanelState:o.api.toolPanelApi.getToolPanelState()},M=o.api.internalApi.getIconForButton(D,F),O=o.api.internalApi.getStyleForButton(D,F),_=o.api.internalApi.getLabelForButton(D,F),H=o.api.internalApi.getTooltipForButton(D,F);if(D.hidden&&D.hidden(D,F))return null;let j=D.disabled&&D.disabled(D,F),B=O&&O.variant?O.variant:"text",V=O&&O.tone?O.tone:"none",$=_!=null?_:Ns();return bs.createElement(ue,{key:$,variant:B,tone:V,className:`ab-ToolPanel__Home__${(0,nte.default)(_)} ${(O==null?void 0:O.className)||""}`,tooltip:H,icon:M,disabled:j,onClick:()=>D.onClick(D,F),accessLevel:"Full"},_)}),x=D=>{let F=o.api.columnApi.getColumnWithColumnId(D),M=[].concat(o.Columns);F=Object.assign({},F,{Visible:!F.visible});let O=M.findIndex(_=>_.columnId==D);M[O]=F,o.onNewColumnListOrder(M.filter(_=>_.visible).map(_=>_.columnId))},A=(D,F)=>{F?o.onShowToolPanel(D):o.onHideToolPanel(D)},R=D=>{let F=D?{source:"Other",config:{initialTab:D}}:void 0;return bs.createElement(fI,{iconSize:16,tone:"none",marginLeft:2,className:"ab-ToolPanel__configure-button",tooltip:"Configure ToolPanels",onClick:()=>{o.api.internalApi.showSettingsPanel("ToolPanel",F)}})},w=y();return bs.createElement(jW.Flex,{className:"ab-ToolPanel","data-name":"adaptable-tool-panel",flexDirection:"column",justifyContent:"center",padding:2,style:{width:"100%"}},bs.createElement(jW.Flex,{className:"ab-ToolPanel__header",flexDirection:"row",justifyContent:"left",padding:1,flexWrap:"wrap",style:{width:"100%"}},p&&C(),w,p&&R()),Boolean(o.api.toolPanelApi.getCustomToolPanelButtons().length)&&bs.createElement(jW.Flex,{className:"ab-ToolPanel__header__buttons",flexDirection:"row",justifyContent:"left",padding:1,flexWrap:"wrap"},v()),h)};function q0t(o){return{ToolPanels:o.ToolPanel.ToolPanels,ModuleButtons:o.ToolPanel.ModuleButtons,MainMenuItems:o.Grid.SettingPanelModuleMenuItems,Columns:o.Grid.Columns}}function Y0t(o){return{onClick:e=>o(e),onNewColumnListOrder:e=>o(Nme(e)),onSetToolPanelVisibility:e=>o(Pv(e)),onShowToolPanel:e=>o(bSe(e)),onHideToolPanel:e=>o(mB(e)),onExpandToolPanel:e=>o(hB(e)),onCollapseToolPanel:e=>o(fB(e))}}var cBe=bt(q0t,Y0t)($0t),ote={width:"100%",overflow:"auto"},pBe=o=>{function e(){return"adaptable-tool-panel_"+o.adaptableOptions.adaptableId}return o.variant==="react"?()=>{let t=Oi(bs.createElement(cBe,{api:o.api,teamSharingActivated:!1}),o);return bs.createElement("div",{id:e(),className:"ag-adaptable-panel",style:ote},t)}:class{init(n){let r=o.api;this.gui=document.createElement("div"),this.gui.id=e(),this.gui.className="ag-adaptable-panel",Object.keys(ote).forEach(i=>{this.gui.style[i]=ote[i]}),this.unmountReactRoot=o.renderReactRoot(Oi(bs.createElement(cBe,{api:r,teamSharingActivated:!1}),o),this.gui)}getGui(){return this.gui||this.init(),this.gui}refresh(){}destroy(){var n;(n=this.unmountReactRoot)==null||n.call(this)}}};d();d();d();d();var KW=class{constructor(e,t,n,r,i){this.label=e,this.module=t,this.isVisible=i,this.icon={name:r},this.reduxAction=n}},QW=class{constructor(e,t,n,r,i){this.label=e,this.module=t,this.isVisible=i,this.icon={name:r},this.onClick=n}},w0=class{constructor(e,t,n,r,i,a){this.label=e,this.module=t,this.isVisible=i,this.icon={name:r},this.reduxAction=En(t,n,a)}};var It=class{constructor(e,t,n,r,i,a){this.api=a;this.moduleInfo={ModuleName:e,FriendlyName:this.getFriendlyName(e,t),Description:i,HelpPage:this.api.internalApi.getModuleService().getModuleDocumentationPageByModule(e),Glyph:n,Popup:r},this.api=a,this.api.eventApi.on("AdaptableReady",()=>{this.handleAdaptableReady(),this.api.configApi.dispatchStateReadyAction(this.moduleInfo.ModuleName)}),this.api.eventApi.on("AdaptableStateReloaded",s=>{this.handleConfigReloaded(s)})}getViewAccessLevel(){return"ReadOnly"}getEditAccessLevel(){return"Full"}isModuleAvailable(){return this.hasRequiredAccessLevel(this.getViewAccessLevel())}isModuleObjectsShareable(){return!0}isModuleEditable(){return this.hasRequiredAccessLevel(this.getEditAccessLevel())}updateOldConfig(){}getModuleAdaptableObjects(){return[]}getExplicitlyReferencedColumnIds(e){return[]}getReferencedNamedQueryNames(e){return[]}hasNamedQueryReferences(){return!0}handleAdaptableReady(){}handleConfigReloaded(e){}setModuleEntitlement(){this.AccessLevel=this.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName)}addModuleMenuItem(e){if(this.isModuleAvailable()&&this.moduleInfo.Popup){let t={source:e,maxWidth:this.getPopupMaxWidth()};return this.createMainMenuItemShowPopup({Label:this.moduleInfo.FriendlyName,ComponentName:this.moduleInfo.Popup,Icon:this.moduleInfo.Glyph,PopupParams:t})}}addModuleButtonMenuItem(){}addColumnMenuItems(e){}addContextMenuItems(e){}createMainMenuItemShowPopup({Label:e,ComponentName:t,Icon:n,PopupParams:r}){return new w0(e,this.moduleInfo.ModuleName,t,n,!0,r)}createColumnMenuItemClickFunction(e,t,n){return new QW(e,this.moduleInfo.ModuleName,n,t,!0)}createColumnMenuItemReduxAction(e,t,n){return new KW(e,this.moduleInfo.ModuleName,n,t,!0)}createColumnMenuItemShowPopup(e,t,n,r){return new w0(e,this.moduleInfo.ModuleName,t,n,!0,r)}canCreateColumnMenuItem(e,t,n){if(!this.hasRequiredAccessLevel(t)||!e)return!1;if(ct.IsNotNullOrEmpty(n)){if(n=="sort"&&!e.isSparkline)return e.sortable;if(n=="editable")return!e.readOnly;if(n=="style")return!e.isSparkline;if(n=="numeric")return e.dataType=="Number";if(n=="filter")return e.filterable;if(n=="quickfilter")return this.api.columnApi.internalApi.usesAdaptableQuickFilter(e.columnId)}return!0}getTeamSharingAction(){}getModuleNamedQueryReferences(){if(!this.hasNamedQueryReferences())return[];let e=[];return this.getModuleAdaptableObjects().forEach(t=>e.push(...this.getReferencedNamedQueryNames(t))),e}getModuleCalculatedColumnReferences(){let e=[],t=this.api.calculatedColumnApi.getCalculatedColumns();return this.getModuleAdaptableObjects().forEach(n=>{this.getExplicitlyReferencedColumnIds(n).forEach(i=>{let a=t.find(s=>s.ColumnId===i);a&&e.push(a)})}),e}getModuleFreeTextColumnReferences(){let e=[],t=this.api.freeTextColumnApi.getFreeTextColumns();return this.getModuleAdaptableObjects().forEach(n=>{this.getExplicitlyReferencedColumnIds(n).forEach(i=>{let a=t.find(s=>s.ColumnId===i);a&&e.push(a)})}),e}getTeamSharingReferences(e){let t=[],n=this.getExplicitlyReferencedColumnIds(e);if(n.length){let i=this.api.calculatedColumnApi.getCalculatedColumns(),a=this.api.freeTextColumnApi.getFreeTextColumns();n.forEach(s=>{let l=i.find(c=>c.ColumnId===s);l&&t.push({Module:"CalculatedColumn",Reference:l});let u=!l&&a.find(c=>c.ColumnId===s);u&&t.push({Module:"FreeTextColumn",Reference:u})})}return this.getReferencedNamedQueryNames(e).map(i=>this.api.queryApi.getNamedQueryByName(i)).forEach(i=>{t.push({Module:"Query",Reference:i})}),t}getPopupMaxWidth(){}canBeAssociatedWithLayouts(){return!1}showLayoutNotAssociatedObjects(){return this.api.layoutApi.internalApi.showLayoutNotAssociatedObjects()}getFriendlyName(e,t){let n=t,r=this.api.optionsApi.getUserInterfaceOptions();return r&&We.IsNotNullOrEmpty(r.alternativeModuleNames)&&r.alternativeModuleNames.forEach(i=>{e==i.adaptableModule&&(n=i.newName)}),n}hasRequiredAccessLevel(e){return this.AccessLevel==="Hidden"?!1:e==="ReadOnly"?this.AccessLevel==="ReadOnly"||this.AccessLevel==="Full":e==="Full"?this.AccessLevel==="Full":!1}};d();var Ci=I(require("react")),lte=require("react"),fx=I(Ce());d();var rte=I(require("react")),mBe=I(Ce());var hBe=o=>{let{data:e,api:t}=ke(),n=!0,r=!0;return o.alertType==="DataChange"&&(n=!1,r=!1),rte.createElement(mBe.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},rte.createElement(Wc,{disableColumns:r,disableDataTypes:n,descriptions:{rowScope:"Changes in any Column in the row will trigger an Alert",columnScope:"Changes in selected Columns will trigger an Alert",dataTypeScope:"Changes in any Column which is of the selected Data Type(s) will trigger an Alert"},scope:e.Scope,updateScope:i=>{let a=T(S({},e),{Scope:i});a.Rule.Predicates&&(a.Rule={Predicates:[{PredicateId:"Any"}]}),a.Rule.ObservableExpression!==void 0&&!t.scopeApi.scopeIsAll(i)&&(delete a.Rule.ObservableExpression,a.Rule.BooleanExpression=""),a.Rule.AggregatedBooleanExpression!==void 0&&!t.scopeApi.scopeIsAll(i)&&(delete a.Rule.AggregatedBooleanExpression,a.Rule.BooleanExpression=""),o.onChange(a)}}))};d();var sn=I(require("react"));d();var ite=(o,e,t)=>{let n=[];return t==="DataChange"?(n=o.alertApi.internalApi.getAlertPredicateDefsForScope(e).filter(r=>!["AddedRow","RemovedRow"].includes(r.id)),n=[...n].sort((r,i)=>r.id==="Any"?-1:i.id==="Any"?1:0)):t==="RowChange"&&(n=o.alertApi.internalApi.getAlertPredicateDefsForScope(e).filter(r=>["AddedRow","RemovedRow"].includes(r.id))),n};var fBe=I(Ce());var gBe=o=>{switch(o){case"DataChange":return sn.createElement(sn.Fragment,null,"Build the Rule ",sn.createElement("b",null,"when")," the Alert should trigger, using a Predicate or a Query");case"RowChange":return sn.createElement(sn.Fragment,null,"Specify which type of Row Change will trigger the Alert");case"Aggregation":return sn.createElement(sn.Fragment,null,"Build an Aggregation Boolean Rule to specify when the Alert should trigger");case"Observable":return sn.createElement(sn.Fragment,null,"Build an Observable Rule to specify when the Alert should trigger")}return""},CBe=o=>sn.createElement(XT,{data:o,renderPredicate:e=>sn.createElement(sn.Fragment,null,"Alert Rule ",sn.createElement(rt,null,e)),renderQueryExpression:e=>sn.createElement(sn.Fragment,null,"Alert when ",sn.createElement(rt,null,e))}),X0t=o=>{var n,r,i;let e=(i=(r=(n=o.alert.Rule)==null?void 0:n.Predicates)==null?void 0:r[0])!=null?i:{PredicateId:null},t=a=>{o.onChange(T(S({},o.alert),{Rule:{Predicates:[{PredicateId:a}]}}))};return sn.createElement(fBe.Box,{p:2},sn.createElement(J,null,sn.createElement(J.Tab,null,"Row Change"),sn.createElement(J.Content,null,sn.createElement(Xe,{onClick:()=>t("AddedRow"),checked:e.PredicateId==="AddedRow"},"Row Added"),sn.createElement(Xe,{onClick:()=>t("RemovedRow"),checked:e.PredicateId==="RemovedRow"},"Row Removed"))))},yBe=o=>{let{data:e,api:t,moduleInfo:n}=ke(),r=ite(t,e.Scope,o.alertType),i=o.alertType==="Observable",a=o.alertType==="Aggregation",s=o.alertType==="DataChange",l=o.alertType==="DataChange"||o.alertType==="RowChange",u=o.alertType==="DataChange";return o.alertType==="RowChange"?sn.createElement(X0t,{alert:e,onChange:o.onChange}):sn.createElement(ab,{module:n.ModuleName,defaultPredicateId:"Any",data:e,predicateDefs:r,enablePredicateColumnId:u,getPredicateDefsForColId:c=>ite(t,{ColumnIds:[c]},o.alertType),onChange:o.onChange,showAggregation:a,showObservable:i,showBoolean:s,showPredicate:l,descriptions:{selectPredicate:"Create an Alert Rule - to be applied when data changes",useBooleanQuery:sn.createElement(sn.Fragment,null,"Use an BooleanQuery if ",sn.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:sn.createElement(sn.Fragment,null,"Use an ObservableQuery if ",sn.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:sn.createElement(sn.Fragment,null,"Use an AggregatedBooleanQuery if ",sn.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")}})};d();var bBe=(o,e,t)=>{var r;if(!((r=o.Rule.Predicates)!=null&&r.length)&&!o.Rule.BooleanExpression&&!o.Rule.ObservableExpression&&!o.Rule.AggregatedBooleanExpression)return"No Rule defined for Alert";let n=sb(o,e,t);if(typeof n=="string")return n;if(t.namedQuery!=!1){let i=e.queryApi.isValidNamedQueryName(t.namedQuery);if(!i.valid)return i.message}return!0};d();var _n=I(require("react"));var Ag=I(Ce());var SBe=o=>{let e=pe(),t=[{label:"Use Message Type",onClick:()=>{o.onChange(!0)}},{label:"Custom Style",onClick:()=>{let n=it.CreateEmptyStyle();o.onChange(n)}}];return _n.createElement(Ag.Box,{"data-name":o.dataName},_n.createElement(Ag.Flex,null,_n.createElement(Ne,{mr:2,style:{alignItems:"flex-start"},checked:Boolean(o.highlight),onChange:n=>{o.onChange(n)}},o.label),Boolean(o.highlight)&&_n.createElement(Qe,{items:t,columns:["label"]},typeof o.highlight=="boolean"?_n.createElement(Ag.Text,{fontSize:2,mt:1},"Use Message Type's ",e.api.internalApi.getCorrectEnglishVariant("Colour")):_n.createElement(Ag.Text,{fontSize:2,mt:1},"Create a Custom Style"))),typeof o.highlight=="object"&&_n.createElement(Sn,{margin:2},_n.createElement(Ag.Box,{paddingLeft:3},_n.createElement(_u,{headless:!0,api:e.api,Style:o.highlight,UpdateStyle:n=>{o.onChange(n)}}))))},vBe=o=>{let{api:e}=ke();return ate(o,e)},ate=(o,e,t=!1)=>{let{AlertProperties:n={}}=o,r=[n.PreventEdit?{label:"Prevent Cell Edit",id:"preventCellEdit"}:null,n.HighlightCell?{label:"Highlight Cell",id:"highlightCell"}:null,n.HighlightRow?{label:"Highlight Row",id:"highlightRow"}:null,n.JumpToCell?{label:"Jump To Cell",id:"jumptocell"}:null,n.JumpToRow?{label:"Jump To Row",id:"jumptorow"}:null,n.ShowInDiv?{label:_n.createElement(_n.Fragment,null,"Show in ",_n.createElement(La,{ml:1,p:0},"<div />")),id:"showInDiv"}:null,n.LogToConsole?{label:"Log To Console",id:"logtoconsole"}:null].filter(Boolean);return r.length||r.push({label:"No "+e.internalApi.getCorrectEnglishVariant("Behaviour")+" Selected",id:"none"}),_n.createElement(Va,{allowWrap:t,options:r,value:r.map(i=>i.id),readOnly:!0,toIdentifier:i=>i.id,toLabel:i=>i.id==="highlightCell"&&typeof n.HighlightCell=="object"?_n.createElement(kd,{padding:0,mt:0,styleObject:n.HighlightCell},"Highlight Cell"):i.id==="highlightRow"&&typeof n.HighlightRow=="object"?_n.createElement(kd,{padding:0,mt:0,styleObject:n.HighlightRow},"Highlight Row"):_n.createElement(_n.Fragment,null,i.label)})},ABe=o=>{let{data:e,api:t}=ke(),{AlertProperties:n={}}=e,r=t.alertApi.internalApi.isAlertDefinitionForRemovedRowChangeEvent(e),i=o.alertType==="DataChange",a=o.alertType!=="RowChange",s=!r,l=o.alertType!=="RowChange",u=!0,c=!0,p=!r,m=h=>{o.onChange(T(S({},e),{AlertProperties:S(S({},e.AlertProperties),h)}))};return _n.createElement(J,null,_n.createElement(J.Tab,null,t.internalApi.getCorrectEnglishVariant("Behaviour")),_n.createElement(J.Content,null,i&&_n.createElement(Ne,{"data-name":"prevent-cell-edit",style:{alignItems:"flex-start"},checked:n.PreventEdit,onChange:h=>{m({PreventEdit:h})}},"Prevent Cell Edit",_n.createElement(Ag.Text,{fontSize:2,mt:1},"(automatically undo data change which triggered Alert)")),a&&_n.createElement(SBe,{dataName:"highlight-cell",highlight:n.HighlightCell,label:"Highlight Cell",onChange:h=>{m({HighlightCell:h})}}),s&&_n.createElement(SBe,{dataName:"highlight-row",highlight:n.HighlightRow,label:"Highlight Row",onChange:h=>{m({HighlightRow:h})}}),l&&_n.createElement(Ne,{"data-name":"jump-to-cell",checked:n.JumpToCell,onChange:h=>{m({JumpToCell:h})}},"Jump To Cell"),p&&_n.createElement(Ne,{"data-name":"jump-to-row",checked:n.JumpToRow,onChange:h=>{m({JumpToRow:h})}},"Jump To Row"),u&&_n.createElement(Ne,{"data-name":"show-in-div",checked:n.ShowInDiv,onChange:h=>{m({ShowInDiv:h})}},"Show in separate ",_n.createElement(La,null,"<div />")," element"),c&&_n.createElement(Ne,{"data-name":"log-to-console",checked:n.LogToConsole,onChange:h=>{m({LogToConsole:h})}},"Log To Console")))};d();var fi=I(require("react"));var ste=I(Ce());var xBe=()=>{let{data:o}=ke();return fi.createElement(ste.Text,{fontSize:2},"Message Type ",fi.createElement(La,null,o.MessageType))},RBe=o=>{let{data:e,api:t}=ke(),n=e.MessageType,r=t.alertApi.internalApi.getAlertDescription(e),i=e.MessageHeader,a=l=>{let{value:u}=l.target;o.onChange(T(S({},e),{MessageText:u}))},s=l=>{let{value:u}=l.target;o.onChange(T(S({},e),{MessageHeader:u}))};return fi.createElement(fi.Fragment,null,fi.createElement(J,{"data-name":"message-type"},fi.createElement(J.Tab,null,"Message Type"),fi.createElement(J.Content,null,fi.createElement(ZDe,{value:n,name:"messageType",orientation:"horizontal",onRadioChange:l=>{o.onChange(T(S({},e),{MessageType:l}))}},fi.createElement(Xe,{marginLeft:1,value:"Info"},"Info"),fi.createElement(Xe,{marginLeft:4,value:"Success"},"Success"),fi.createElement(Xe,{marginLeft:4,value:"Warning"},"Warning"),fi.createElement(Xe,{marginLeft:4,value:"Error"},"Error")))),fi.createElement(J,{"data-name":"message-text",mt:2,mb:3,autoFocus:!1},fi.createElement(J.Tab,null,"Message Text"),fi.createElement(J.Content,null,fi.createElement(ste.Text,{fontSize:2,mt:3,mb:2},"The text to display as the Alert Message (leave blank to show automated Message based on Alert Type)")," ",fi.createElement(Ke,null,fi.createElement(de,{label:"Header"},fi.createElement(oo,{minWidth:250,placeholder:"use defaults",marginTop:2,type:"text",autoFocus:!1,value:i!=null?i:"",onChange:l=>s(l)})),fi.createElement(de,{label:"Message"},fi.createElement(oo,{minWidth:250,marginTop:2,type:"text",autoFocus:!1,value:r!=null?r:"",onChange:l=>a(l)}))))))};d();var fa=I(require("react")),Eb=I(Ce());var $W=o=>{let{api:{scopeApi:e}}=ke(),t=e.getColumnsForScope(o.Scope);return fa.createElement(fa.Fragment,null,fa.createElement(Eb.Box,null,fa.createElement(Eb.Text,{fontSize:2},e.scopeIsAll(o.Scope)?"Changes to any Column in the row will trigger an Alert":null)),fa.createElement(Eb.Box,{style:{overflow:"hidden"}},"ColumnIds"in o.Scope?fa.createElement(fa.Fragment,null,fa.createElement(Eb.Text,{fontSize:2,mb:t.length?2:0},"Changes in selected columns will trigger an alert"),t.length?fa.createElement(Va,{options:t,value:t.map(n=>n.columnId),toLabel:n=>n.friendlyName,allowWrap:!0,readOnly:!0,renderLabel:n=>fa.createElement(fa.Fragment,null,n),toIdentifier:n=>n.columnId}):null):null),fa.createElement(Eb.Box,null,"DataTypes"in o.Scope?fa.createElement(fa.Fragment,null,fa.createElement(Eb.Text,{fontSize:2,mb:2},"Changes in Columns with these Data Types trigger an Alert"),fa.createElement(Va,{readOnly:!0,options:o.Scope.DataTypes,value:o.Scope.DataTypes,toLabel:n=>n,allowWrap:!0,renderLabel:n=>fa.createElement(fa.Fragment,null,`DataType: ${n}`),toIdentifier:n=>n})):null))};d();var Sm=I(require("react"));d();var yI=o=>{if(o.Rule.ObservableExpression)return"Observable";if(o.Rule.AggregatedBooleanExpression)return"Aggregation";if(o.Rule.BooleanExpression)return"DataChange";let e=o.Rule.Predicates;return e?e.some(t=>["AddedRow","RemovedRow"].includes(t.PredicateId))?"RowChange":"DataChange":null},wb=o=>{let e="";switch(o){case"DataChange":e="Data Change";break;case"RowChange":e="Row Change";break;case"Aggregation":e="Aggregation";break;case"Observable":e="Observable";break}return e};var qW=I(Ce());d();var T0=I(require("react")),I0=I(Ce());var Wh=o=>T0.createElement(Xe,{onClick:()=>o.onClick(),checked:o.checked},T0.createElement(I0.Flex,{flexDirection:"column"},T0.createElement(I0.Text,null,o.text),T0.createElement(I0.Text,{fontSize:2,marginTop:1},o.description)));var wBe=o=>{let e=wb(o);return Sm.createElement(qW.Box,null,Sm.createElement(rt,null,e))},TBe=o=>Sm.createElement(J,null,Sm.createElement(J.Tab,null,"Alert Type"),Sm.createElement(J.Content,null,Sm.createElement(qW.Flex,{flexDirection:"column"},Sm.createElement(Wh,{text:wb("DataChange"),description:"A change has been made to the Grid's underlying data",checked:o.alertType==="DataChange",onClick:()=>o.onAlertTypeChange("DataChange")}),Sm.createElement(Wh,{text:wb("RowChange"),description:"A Row was added or removed from the data source",checked:o.alertType==="RowChange",onClick:()=>o.onAlertTypeChange("RowChange")}),Sm.createElement(Wh,{text:wb("Aggregation"),description:"A change has been made to aggregated data (i.e. from multiple Rows)",onClick:()=>o.onAlertTypeChange("Aggregation"),checked:o.alertType==="Aggregation"}),Sm.createElement(Wh,{text:wb("Observable"),description:"A specified change (or lack of change) over time has been observed in the Grid",onClick:()=>o.onAlertTypeChange("Observable"),checked:o.alertType==="Observable"}))));d();var IBe=(o,e)=>{var r;let t=o.alertApi.internalApi.isAlertDefinitionForRemovedRowChangeEvent(e),n=i=>{if(t)return i==="highlight-row"||i==="jump-to-row"?null:i};if(e.AlertForm&&typeof e.AlertForm!="string"){let i=(r=e.AlertForm)==null?void 0:r.Buttons;i==null||i.forEach(a=>{let s=a.Action;Array.isArray(s)?a.Action=s.map(n).filter(Boolean):a.Action=n(s)})}return t&&(delete e.AlertProperties.HighlightRow,delete e.AlertProperties.JumpToRow),e};d();var PBe=(o,e)=>{let t=T(S({},it.CreateEmptyAlertDefinition()),{Uuid:o.Uuid});return(e==="Observable"||e==="Aggregation"||e==="RowChange")&&(t.Scope={All:!0}),e==="RowChange"&&(t.Rule={Predicates:[{PredicateId:"AddedRow"}]}),t};d();var gi=I(require("react"));var bI=I(Ce());d();var zd=I(Ce()),ri=I(require("react"));var DBe=o=>{let{api:e,adaptableAlert:t}=o,n=y=>{o.onChange(y)},r=t.alertDefinition,i=e.alertApi.internalApi.isAlertDefinitionForAddedRowChangeEvent(r),a=e.alertApi.internalApi.isAlertDefinitionForRemovedRowChangeEvent(r),s=o.alertType!=="RowChange",l=!a,u=o.alertType!=="RowChange",c=!a,p=!0,m=o.alertType==="DataChange",h=zo(o.AlertButtons||[])||[],C=[];return l&&C.push("highlight-row"),c&&C.push("jump-to-row"),s&&C.push("highlight-cell"),u&&C.push("jump-to-cell"),m&&C.push("undo"),p&&C.push("suspend"),ri.createElement(ri.Fragment,null,ri.createElement(zd.Flex,{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},ri.createElement(zd.Text,{fontSize:2,mt:3,mb:2},"Add buttons to Alert, and Actions to perform when button is clicked"),ri.createElement(ue,{icon:"plus",onClick:()=>{n([...h||[],{Label:"OK",ButtonStyle:{variant:"raised"}}])}},"Add")),h.map((y,v)=>{var M,O;let x=y.ButtonStyle,A=y.Label,R=[];y.Action&&typeof y.Action=="string"?R=[y.Action]:y.Action&&Array.isArray(y.Action)&&(R=y.Action);let w=R.filter(_=>!C.includes(_)),P=_=>{n(h.map((H,j)=>{if(j===v){let B=S({},H.ButtonStyle);return B.variant=_,T(S({},H),{ButtonStyle:B})}return H}))},D=_=>{n(h.map((H,j)=>{if(j===v){let B=S({},H.ButtonStyle);return _==null?delete B.tone:B.tone=_,T(S({},H),{ButtonStyle:B})}return H}))},F=(_,H)=>{let j=R;_?j=[...j,H]:j=j.filter(B=>B!==H),n(h.map((B,V)=>V===v?T(S({},B),{Action:j.length?j:void 0}):B))};return ri.createElement(zd.Box,{key:v,marginLeft:3,style:{borderTop:v?"1px dashed var(--ab-color-inputborder)":""}},ri.createElement(Ke,{marginBottom:2,paddingTop:2},ri.createElement(de,{label:ri.createElement(zd.Text,{fontSize:2,style:{whiteSpace:"nowrap"}},"Button Text")},ri.createElement(zd.Flex,{flexDirection:"row"},ri.createElement(mt,{value:A,style:{width:80},onChange:_=>{n(h.map((H,j)=>j===v?T(S({},H),{Label:_.target.value}):H))}}),ri.createElement(Qe,{marginLeft:2,columns:["label"],style:{minWidth:110},items:["text","outlined","raised"].map(_=>({label:nt.CapitaliseFirstLetter(_),value:_,onClick:()=>P(_)}))},ri.createElement(zd.Text,{fontSize:2},"Variant:"," ",nt.CapitaliseFirstLetter((M=x==null?void 0:x.variant)!=null?M:"raised"))),ri.createElement(Qe,{columns:["label"],marginLeft:2,style:{minWidth:120},items:[{label:"Use Alert Tone",value:"text",onClick:()=>D(null)},...["success","info","error","warning","accent","neutral"].map(_=>({label:nt.CapitaliseFirstLetter(_),value:_,onClick:()=>D(_)}))]},ri.createElement(zd.Text,{fontSize:2},"Tone:"," ",nt.CapitaliseFirstLetter((O=x==null?void 0:x.tone)!=null?O:"Use alert tone"))),ri.createElement(ue,{icon:"close",tone:"error",disabled:h.length<=1,marginLeft:1,variant:"text",tooltip:h.length<=1?"Cannot remove last button":"Remove button",onClick:()=>{n(h.filter(_=>_!==y))}}))),ri.createElement(de,{label:ri.createElement(zd.Text,{fontSize:2},"Actions")},C.map(_=>ri.createElement(Ne,{key:_,marginRight:3,onChange:H=>F(H,_),checked:y.Action===_||Array.isArray(y.Action)&&y.Action.includes(_)},ri.createElement(zd.Text,{fontSize:2},a1(_)))),w.length?ri.createElement(Ne,{checked:!0,disabled:!0},ri.createElement(zd.Text,{fontSize:2},"User function",w.length>1?"s":"",":"," ",w.join(", "))):null)))}))};var OBe=[{Label:"OK",ButtonStyle:{variant:"raised"}}],FBe=()=>{var t;let{data:o,api:e}=ke();return(t=o.AlertProperties)!=null&&t.DisplayNotification?gi.createElement(YW,{api:e,alertDefinition:o}):gi.createElement(bI.Text,{fontSize:2},"No Alert Notification will be displayed")},YW=r=>{var i=r,{alertDefinition:o,api:e,focusFirstButton:t}=i,n=ut(i,["alertDefinition","api","focusFirstButton"]);let a=gi.useCallback(l=>{let u=l.ButtonStyle;return u&&u.tone==null&&(o==null?void 0:o.MessageType)?T(S({},l),{ButtonStyle:S({tone:o.MessageType.toLowerCase()},u)}):l},[o==null?void 0:o.MessageType]),s=gi.useMemo(()=>{var p;let l=o.AlertForm||{},u=((p=l==null?void 0:l.Buttons)!=null&&p.length?l.Buttons:OBe).map(a);return{alertType:"generic",header:e.alertApi.internalApi.getAlertMessageHeader(o),message:e.alertApi.internalApi.getAlertDescription(o),alertDefinition:T(S({},o),{AlertForm:T(S({},l),{Buttons:u})})}},[o]);return gi.createElement(bI.Box,T(S({},n),{className:$e(n.className,"ab-AlertPreview"),style:S({border:"1px solid var(--ab-color-inputborder)"},n.style)}),gi.createElement(SH,{headless:!0,focusFirstButton:t,adaptableAlert:s,onClose:()=>{}}))},MBe=o=>{var r,i,a,s;let{data:e,api:t}=ke(),n={alertType:"generic",header:e.MessageType,message:"",alertDefinition:e};return gi.createElement(gi.Fragment,null,gi.createElement(J,{"data-name":"display-options",mt:2,mb:3,autoFocus:!1},gi.createElement(J.Tab,null,"Notification Options"),gi.createElement(J.Content,null,gi.createElement(Ne,{checked:(r=e.AlertProperties)==null?void 0:r.DisplayNotification,onChange:l=>{let u=T(S({},e),{AlertProperties:T(S({},e.AlertProperties),{DisplayNotification:l})});!l&&typeof u.AlertForm=="object"&&delete u.AlertForm.Buttons,o.onChange(u)}},"Show a Notification when Alert is triggered (with action buttons)"),(i=e.AlertProperties)!=null&&i.DisplayNotification?typeof e.AlertForm=="string"?gi.createElement(bI.Text,{fontSize:2},"Alert buttons cannot be customized because form is dynamically driven"):gi.createElement(DBe,{alertType:o.alertType,AlertButtons:((a=e.AlertForm)==null?void 0:a.Buttons)||OBe,api:t,adaptableAlert:n,onChange:l=>{o.onChange(T(S({},e),{AlertForm:T(S({},e.AlertForm),{Buttons:l})}))}}):null)),(s=e.AlertProperties)!=null&&s.DisplayNotification?gi.createElement(J,{"data-name":"alert-preview",autoFocus:!1},gi.createElement(J.Tab,null,"Alert Preview"),gi.createElement(J.Content,null,typeof e.AlertForm=="string"?gi.createElement(bI.Text,{fontSize:2},"Preview not available because form is dynamically driven"):gi.createElement(YW,{alertDefinition:e,api:t}))):null)};var NBe=o=>{let{api:e}=pe(),t=yt(),n=e.internalApi.getCorrectEnglishVariant("Behaviour"),[r,i]=(0,lte.useState)(()=>{var m;let p=o.data?zo(o.data):it.CreateEmptyAlertDefinition();return!p.Rule.BooleanExpression&&!p.Rule.ObservableExpression&&!p.Rule.AggregatedBooleanExpression&&!p.Rule.Predicates&&(p.Rule.BooleanExpression=""),p.MessageType=(m=p.MessageType)!=null?m:HD,p}),[a,s]=(0,lte.useState)(()=>{var p;return(p=yI(r))!=null?p:"DataChange"}),l=()=>{o.data?t(cv(r)):t(IE(r)),o.onCloseWizard()},u=p=>{i(IBe(e,p))},c=p=>{s(p),i(PBe(r,p))};return Ci.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:r,onHide:o.onCloseWizard,onFinish:l,sections:[{title:"Type",details:Ci.createElement(Ci.Fragment,null,"Select ",Ci.createElement("b",null,"what")," type of change in AdapTable will cause the Alert to fire"),render:()=>Ci.createElement(fx.Box,{padding:2},Ci.createElement(TBe,{alertType:a,onAlertTypeChange:c})),renderSummary:()=>wBe(a)},{title:"Trigger",isVisible:()=>a==="DataChange",details:Ci.createElement(Ci.Fragment,null,"Specify ",Ci.createElement("b",null,"where")," data changes should trigger the Alert"),isValid:Bh,render:()=>Ci.createElement(hBe,{alertType:a,onChange:i}),renderSummary:$W},{title:"Rule",details:gBe(a),isValid:bBe,render:()=>Ci.createElement(yBe,{alertType:a,onChange:u,module:"alert"}),renderSummary:CBe},{title:"Message",details:"Select the Alert's Message Type and Text",render:()=>Ci.createElement(fx.Box,{padding:2},Ci.createElement(RBe,{alertType:a,onChange:i})),renderSummary:xBe},{title:"Notification",details:"Create a Notification for the Alert",render:()=>Ci.createElement(fx.Box,{padding:2},Ci.createElement(MBe,{alertType:a,onChange:i})),renderSummary:FBe},{title:n,details:"Configure "+n+" for the Alert",render:()=>Ci.createElement(fx.Box,{padding:2},Ci.createElement(ABe,{alertType:a,onChange:i})),renderSummary:vBe},{details:"Select Alert Tags",title:"Tags",isVisible:()=>e.internalApi.shouldDisplayTagSections(),render:()=>Ci.createElement(fx.Box,{padding:2},Ci.createElement(Pr,{onChange:i})),renderSummary:Dr},"-",{details:"Review your Alert",render:()=>Ci.createElement(fx.Box,{padding:2},Ci.createElement(Ir,null)),title:"Summary"}]})};d();var Tb=(o,e)=>{var t,n,r;return{name:"Condition",values:[(t=o==null?void 0:o.Predicates)!=null&&t.length?(n=o==null?void 0:o.Predicates)==null?void 0:n.map(i=>e.predicateApi.predicateToString(i)).join(" AND "):(r=e.internalApi.getAdaptableQueryExpressionText(o))!=null?r:"No condition"]}};d();var ute=I(require("react"));var LBe=(o,e)=>({name:"Type and Display",view:()=>{var t;return(t=o==null?void 0:o.AlertProperties)!=null&&t.DisplayNotification?ute.createElement(YW,{focusFirstButton:!1,style:{maxWidth:400},mt:2,api:e,alertDefinition:o}):ute.createElement(rt,null,o.MessageType)}});d();var Z0t=o=>{let e=pe();return ate(o.data,e.api,!0)},_Be=o=>({name:o.internalApi.getCorrectEnglishVariant("Behaviour"),view:Z0t});d();var kBe=o=>{let e=yI(o),t=wb(e);return{name:"Type",values:[t]}};d();var XW=I(require("react"));var BBe=o=>{let n=pe().api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName)=="ReadOnly"?"You have no Alert Definitions.":"Click 'New' to start creating Alert Definitions. An Alert is triggered whenever an edit - or external data change - matches the Rule in the Alert Definition.";return XW.createElement(XW.Fragment,null,n)};d();var Jc=I(require("react"));d();var Zc=I(require("react")),ZW=I(Ce());var SI=o=>{var R;let A=o,{icon:e,content:t,popover:n,popoverMinWidth:r,view:i,onAction:a,extraActions:s,triggerActionOnWrapperClick:l=!0,tooltip:u}=A,c=ut(A,["icon","content","popover","popoverMinWidth","view","onAction","extraActions","triggerActionOnWrapperClick","tooltip"]),p=()=>a();if(i)return Zc.createElement(i,null);let m="ab-StatusBar__SubPanel",h=Zc.useCallback(()=>{p()},[]),C=l&&!n,y=Zc.useCallback(()=>{C&&p()},[n,l]),v=typeof n=="function"?Zc.createElement(n):n,x=typeof t=="function"?Zc.createElement(t):t;return Zc.createElement(ZW.Flex,T(S({},c),{alignItems:"center",justifyContent:"center",className:m,onClick:y,style:{cursor:C?"pointer":"default"}}),o.icon&&Zc.createElement(ue,{tooltip:u,color:o.color,icon:o.icon,iconSize:15,variant:"text",onClick:h,mr:x?1:0}),n?Zc.createElement(Jn,{alignPosition:[["BottomCenter","TopCenter"]],tooltipText:u,showIcon:!1,bodyText:[v],MessageType:"Info",showEvent:"focus",hideEvent:"blur",popoverMinWidth:r},x):x,We.IsNotNullOrEmpty(s)&&Zc.createElement(ZW.Box,{ml:1},(R=s==null?void 0:s.map)==null?void 0:R.call(s,(w,P)=>Zc.createElement(w,{key:P}))))};var VBe={color:"",background:""},GBe=()=>{let o=pe(),[e,t]=Jc.useState(VBe),n=o.ModuleService.getModuleById(Ri),r=o.adaptableOptions.alertOptions.statusbarHighlightDuration,i=_t(p=>p.System.AdaptableAlerts),a=i.length==0?"0 Alerts":i.length==1?"1 Alert":i.length+" Alerts",s=Jc.useCallback(()=>o.api.alertApi.openAlertSettingsPanel(),[]),l=Jc.useRef(i),u=Jc.useRef();Jc.useEffect(()=>{let p=l.current.length===i.length;if(l.current=i,!i.length||p)return;let{color:m,background:h}=rW(i);t({color:m,background:h}),u.current&&(clearTimeout(u.current),u.current=null),u.current=setTimeout(()=>{t(VBe)},r)},[i]);let c=Jc.createElement(aW,null);return Jc.createElement(SI,{tooltip:n.moduleInfo.ModuleName,"data-name":n.moduleInfo.ModuleName,color:e.color,backgroundColor:e.background,onAction:s,icon:n.moduleInfo.Glyph,popover:i.length?c:null,content:a})};d();var JW=I(require("react")),ez=I(Ce());var HBe=o=>{let e=Uo.getColorByMessageType(o.data.alertDefinition.MessageType),t={color:e,fill:e},n=Uo.getGlyphByMessageType(o.data.alertDefinition.MessageType),r=Rd[n],i=r?JW.createElement(r,null):null;return JW.createElement(ez.Box,null,JW.createElement(ez.Text,{style:S({float:"left"},t)},i),o.data.header)};d();var dte=I(require("react"));var er=(o,e)=>{var r,i,a,s;if(!e.internalApi.shouldDisplayTagSections()||!((r=o==null?void 0:o.Tags)!=null&&r.length))return;let t=e.layoutApi.getCurrentLayoutName(),n=(a=(i=o==null?void 0:o.Tags)!=null?i:[])==null?void 0:a.includes(t);return{name:"Tags",values:(s=o==null?void 0:o.Tags)==null?void 0:s.map(l=>e.internalApi.getLabelForTag(l)),viewAfter:l=>{let u=yt(),c=l.module.getViewProperties(),p=dte.default.useCallback(()=>{var y;let m=(y=l.data.Tags)!=null?y:[];n?m=m.filter(v=>v!==t):m.push(t);let h=T(S({},l.data),{Tags:m}),C=c.getEditAction(h);u(C)},[n,l.data]);return dte.default.createElement(ue,{onClick:p,mt:1,icon:n?"minus":"plus"},n?"Remove from Layout":"Add to Layout")}}};d();function vI(o){var e;return"Predicate"in o&&o.Predicate&&(o.Predicates=[o.Predicate,...(e=o.Predicates)!=null?e:[]],delete o.Predicate),o}var tz=class extends It{constructor(e){super(Ri,u7,"alert","AlertPopup","Get notified when things happen in Adaptable that you need to know about",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{if(!(t.trigger==="undo"||t.trigger==="aggChange")){if(this.api.optionsApi.getAlertOptions().dataChangeDetectionPolicy==="formattedValue"){let{oldValue:n,newValue:r,rowNode:i}=t,a=t.column.columnId,s=this.api.gridApi.getDisplayValueFromRawValue(i,a,n),l=this.api.gridApi.getDisplayValueFromRawValue(i,a,r);if(s===l)return}this.handleCellDataChanged(t)}}),this.api.eventApi.on("GridDataChanged",t=>{t.rowTrigger!=="Edit"&&this.handleGridDataChanged(t)}),this.api.internalApi.getAlertService().onReactiveAlertTriggered(t=>this.handleReactiveAlertTriggered(t))}getModuleAdaptableObjects(e){return this.api.alertApi.getAlertDefinitions(e)}getExplicitlyReferencedColumnIds(e){let t=this.api.expressionApi.getAdaptableQueryExpression(e.Rule);return t?this.api.expressionApi.getColumnsFromExpression(t):this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(n=>n.columnId):[]}getReferencedNamedQueryNames(e){let t=this.api.expressionApi.getAdaptableQueryExpression(e.Rule);return t?this.api.queryApi.internalApi.getReferencedNamedQueryNames(t):[]}updateOldConfig(){var r;this.updateAlertSingleToMultiplePredicates();let e=this.api.alertApi.getAlertState(),t=e.FlashingAlertDefinitions,n=this.api.flashingCellApi.getFlashingCellDefinitions();pt.IsEmpty(n)&&pt.IsNotNullOrEmpty(t)&&(this.api.flashingCellApi.setFlashingCellDefinitions(t),this.api.flashingCellApi.internalApi.clearFlashingCellState()),(r=e.AlertDefinitions)==null||r.forEach(i=>{if(i.AlertProperties&&i.AlertProperties.ShowPopup&&i.AlertProperties.ShowPopup==!0&&!i.AlertProperties.DisplayNotification&&(i.AlertProperties.DisplayNotification=!0,i.AlertProperties.ShowPopup=void 0),i.Rule){let a=i.Rule.AggregationExpression;a&&(i.Rule.AggregatedBooleanExpression=a)}else if(i.Predicate&&i.Predicate!=null){let a=i.Predicate;i.Rule={Predicate:a},i.Predicate=void 0}})}updateAlertSingleToMultiplePredicates(){this.api.alertApi.getAlertDefinitions({includeLayoutNotAssociatedObjects:!0}).forEach(t=>{if(t.Rule&&"Predicate"in t.Rule){let n=zo(t);vI(n.Rule),this.api.alertApi.editAlertDefinition(n)}})}addContextMenuItems(e){let t=[];if(!e.isRowGroupColumn&&this.isModuleAvailable()&&e.adaptableColumn&&e.rowNode){let n;n=this.api.alertApi.internalApi.getAdaptableAlertWithHighlightCell(e.adaptableColumn.columnId,e.rowNode),n||(n=this.api.alertApi.internalApi.getAdaptableAlertWithHighlightRow(e.rowNode)),n&&t.push(this.createColumnMenuItemReduxAction("Clear Alert",this.moduleInfo.Glyph,zD(n)))}return t}handleCellDataChanged(e){let t=this.api.alertApi.internalApi.getAlertDefinitionsForCellDataChange(e);pt.IsNotNullOrEmpty(t)&&this.api.alertApi.internalApi.showAlertForDefinitions(e,t)}handleGridDataChanged(e){let t=this.api.alertApi.internalApi,n=this.getAlertDefinitionsForGridDataChange(e),r=e.rowTrigger==="Add",i=e.rowNodes.length,a=r?"Added":"Removed",s=i>1?`${a} Rows`:`${a} Row `,l=i>1?`${i} rows were ${a.toLowerCase()}`:`${i} row was ${a.toLowerCase()}`;n==null||n.forEach(u=>{if(t.shouldFireAlertOnClient(u)){let c=t.getCustomAlertDescription(u,{gridDataChangedInfo:e}),p=t.getCustomAlertMessageHeader(u,{gridDataChangedInfo:e}),m=u.MessageText?u.MessageText:c!=null?c:l,h=it.CreateRowChangedAlert(p!=null?p:s,m,u,e);this.api.alertApi.showAdaptableAlert(h)}})}handleReactiveAlertTriggered(e){var t;e.dataChangeLogEntry.rowNode=this.api.gridApi.getRowNodeForPrimaryKey(e.dataChangeLogEntry.primaryKeyValue),e.dataChangeLogEntry.rowData=(t=e.dataChangeLogEntry.rowNode)==null?void 0:t.data,e.type==="alert"&&this.api.alertApi.internalApi.showAlertForDefinitions(e.dataChangeLogEntry,[e.alertDefinition])}getAlertDefinitionsForGridDataChange(e){return this.api.alertApi.internalApi.getActiveNonReactiveAlertDefinitions().filter(t=>this.api.alertApi.internalApi.isAlertDefinitionForRowChangeEvent(t)).filter(t=>{var n,r;return e.rowTrigger==="Add"?(n=t.Rule)==null?void 0:n.Predicates.some(i=>(i==null?void 0:i.PredicateId)==="AddedRow"):e.rowTrigger==="Delete"?(r=t.Rule)==null?void 0:r.Predicates.some(i=>(i==null?void 0:i.PredicateId)==="RemovedRow"):!1})}getTeamSharingAction(){return{ModuleEntities:this.api.alertApi.getAlertDefinitions(),AddAction:IE,EditAction:cv}}toViewCompact(e){return{item:{name:e.header,label:HBe,values:[e.message]},abObject:e}}toView(e){let t=yI(e);return{items:[kBe(e),t==="DataChange"&&T(S({},zc(e.Scope,this.api)),{label:"Trigger",name:"Trigger"}),T(S({},Tb(e.Rule,this.api)),{label:"Rule",name:"Rule"}),_Be(this.api),LBe(e,this.api),er(e,this.api)].filter(Boolean),abObject:e}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{getDeleteAction:u1,getEditAction:cv,getSuspendAction:d1,getUnSuspendAction:c1,getSuspendAllAction:Bge,getUnSuspendAllAction:Vge,getCompactDeleteAction:zD,getDeleteAllAction:()=>{let e=this.api.internalApi.getState().System.AdaptableAlerts;return k_(e)},emptyView:BBe,getEditWizard:()=>NBe,getStatusBarPanelProps:()=>({popoverMinWidth:360,view:GBe})}}canBeAssociatedWithLayouts(){return!0}};d();var oz=class extends It{constructor(e){super(bu,c7,"edit-table","BulkUpdatePopup","Update multiple cell simultaneously with a new or existing value",e)}getViewAccessLevel(){return"Full"}addContextMenuItems(e){let t;if(!e.isRowGroupColumn&&this.isModuleEditable()&&e.adaptableColumn&&!e.adaptableColumn.readOnly&&e.isSelectedCell&&e.isSingleSelectedColumn&&this.api.gridApi.isEveryCellEditable(e.selectedCellInfo.gridCells)){let n={source:"ContextMenu"};t=this.createMainMenuItemShowPopup({Label:"Apply Bulk Update",ComponentName:this.moduleInfo.Popup,Icon:this.moduleInfo.Glyph,PopupParams:n})}return[t]}checkCorrectCellSelection(){let e=this.api.gridApi.getSelectedCellInfo();if(this.api.internalApi.isGridInPivotMode())return{IsValid:!1,Alert:{alertType:"generic",header:"Bulk Update Error",message:"Cannot edit while Grid is in Pivot Mode.",alertDefinition:it.CreateInternalAlertDefinitionForMessages("Error")}};if(e==null||We.IsNullOrEmpty(e.columns))return{IsValid:!1,Alert:{alertType:"generic",header:"Bulk Update Error",message:`No cells are selected.
@@ -587,7 +587,7 @@ Please adjust the cell selection.`,alertDefinition:it.CreateInternalAlertDefinit
587
587
 
588
588
 
589
589
  Create Column Filters by using the Filter Bar, the Filter Form (in the Column Header Menu) or by editing a Layout.
590
- `,getStatusBarPanelProps(){let t,n=e.filterApi.getColumnFilters();n.length===0?t="0 Filters":n.length===1?t="1 Filter":t=n.length+" Filters";let r=n.length?pVe:null;return{content:t,popover:r,popoverMinWidth:320}}}}};d();d();var mVe=o=>{var t;let e=[`Cell alignment: ${(t=o.CellAlignment)!=null?t:"default"}`,`Include grouped rows: ${o.IncludeGroupedRows?"Yes":"No"}`].filter(Boolean);return{name:"Settings",values:e}};d();var hVe=I(require("react")),fVe=I(Ce());var gVe=(o,e)=>hVe.createElement(fVe.Box,{mt:2},see(o,e));d();var vm=I(require("react"));var CVe=o=>{let e=yt(),n=pe().api.formatColumnApi.getFormatColumns(),r=vm.useCallback(()=>{e(kk(o.data))},[]),i=vm.useCallback(()=>{e(Bk(o.data))},[]);return(n==null?void 0:n.length)<=1?vm.createElement(vm.Fragment,null):vm.createElement(vm.Fragment,null,vm.createElement(ue,{"data-id":"move-up",title:"move up",onClick:r,variant:"text",icon:"arrow-up"}),vm.createElement(ue,{"data-name":"move-down",title:"move down",onClick:i,variant:"text",icon:"arrow-down"}))};var hz=class extends It{constructor(e){super(Ui,A7,"color-palette","FormatColumnPopup","Create a column style, display format or cell alignment",e)}getModuleAdaptableObjects(e){return this.api.formatColumnApi.getFormatColumns(e)}getExplicitlyReferencedColumnIds(e){let t=e.Rule&&this.api.expressionApi.getAdaptableQueryExpression(e.Rule);return t?this.api.expressionApi.getColumnsFromExpression(t):this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(n=>n.columnId):[]}getReferencedNamedQueryNames(e){let t=e.Rule&&this.api.expressionApi.getAdaptableQueryExpression(e.Rule);return t?this.api.queryApi.internalApi.getReferencedNamedQueryNames(t):[]}updateOldConfig(){this.updateFormatColumnSingleToMultiplePredicates();let e=this.api.internalApi.getState().StatusBar.StatusBars,t=!1,n=e.map(a=>T(S({},a),{StatusBarPanels:[...new Set(a.StatusBarPanels.map(s=>s==="ConditionalStyle"?(t=!0,"FormatColumn"):s))]}));t&&this.api.statusBarApi.setStatusBarPanels(n);let r=this.api.internalApi.getState().Dashboard.ModuleButtons;if(r.includes("ConditionalStyle")){r[r.indexOf("ConditionalStyle")]="FormatColumn";let a=r;this.api.dashboardApi.setModuleButtons([...new Set(r)])}let i=this.api.internalApi.getState().ToolPanel.ModuleButtons;i.includes("ConditionalStyle")&&(i[i.indexOf("ConditionalStyle")]="FormatColumn",this.api.toolPanelApi.setModuleButtons([...new Set(r)]))}updateFormatColumnSingleToMultiplePredicates(){this.api.formatColumnApi.getFormatColumns().forEach(t=>{if(t.Rule&&"Predicate"in t.Rule){let n=zo(t);vI(n.Rule),this.api.formatColumnApi.editFormatColumn(n)}})}addColumnMenuItems(e){let t=[];if(e&&this.isModuleEditable()&&!e.isSparkline){let n={column:e,action:"New",source:"ColumnMenu"},r=this.createColumnMenuItemShowPopup("Create",this.moduleInfo.Popup,"plus",n),i=this.api.formatColumnApi.getFormatColumnsForColumnId(e.columnId);if(We.IsNullOrEmpty(i))t.push(this.createColumnMenuItemShowPopup("Create Format Column",this.moduleInfo.Popup,this.moduleInfo.Glyph,n));else if(i.length==1){let a={column:e,action:"Edit",value:i[0],source:"ColumnMenu"},s=this.createColumnMenuItemShowPopup("Edit",this.moduleInfo.Popup,"edit",a);t.push({label:"Format Column",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:this.moduleInfo.Glyph},subItems:[r,s]})}else{let a=this.api.internalApi.getModuleService().getModuleInfoByModule("FormatColumn"),s=this.createColumnMenuItemReduxAction("Show Current",this.moduleInfo.Glyph,En("FormatColumn",a.Popup));t.push({label:"Format Column",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:this.moduleInfo.Glyph},subItems:[r,s]})}}return t}getTeamSharingAction(){return{ModuleEntities:this.api.formatColumnApi.getFormatColumns(),AddAction:XC,EditAction:lh}}toView(e){return{abObject:e,items:[zc(e.Scope,this.api),e.Rule&&Tb(e.Rule,this.api),{name:"Style",view:()=>gVe(e,this.api)},{name:"Display Format",values:[uee(e)]},mVe(e),er(e,this.api)].filter(Boolean)}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{actions:[CVe],getEditAction:lh,getDeleteAction:qE,getSuspendAction:Vk,getUnSuspendAction:Gk,getSuspendAllAction:_be,getUnSuspendAllAction:kbe,getEditWizard(){return k3}}}canBeAssociatedWithLayouts(){return!0}};d();var fz=class extends It{constructor(e){super(Pa,x7,"horizontal-lines","FreeTextColumnPopup","Dynamic column showing custom content (stored in state and not with grid data)",e)}isModuleAvailable(){return super.isModuleAvailable()&&!this.api.optionsApi.getAutogeneratePrimaryKey()}getModuleAdaptableObjects(){return this.api.freeTextColumnApi.getFreeTextColumns()}hasNamedQueryReferences(){return!1}updateOldConfig(){let e=this.getModuleAdaptableObjects();for(let t of e){let n=t;if(n.DataType){let r=n.DataType;delete n.DataType,t.FreeTextColumnSettings?t.FreeTextColumnSettings.DataType=r:t.FreeTextColumnSettings={DataType:r},this.api.freeTextColumnApi.editFreeTextColumn(t)}t.FreeTextColumnSettings||(t.FreeTextColumnSettings={DataType:"String"},this.api.freeTextColumnApi.editFreeTextColumn(t)),t.FreeTextColumnSettings.DataType||(t.FreeTextColumnSettings.DataType="String",this.api.freeTextColumnApi.editFreeTextColumn(t))}}addColumnMenuItems(e){if(e&&this.isModuleEditable()&&this.api.freeTextColumnApi.getFreeTextColumns().find(t=>t.ColumnId==e.columnId)){let t={column:e,action:"Edit",source:"ColumnMenu"};return[this.createColumnMenuItemShowPopup("Edit Free Text Column",this.moduleInfo.Popup,this.moduleInfo.Glyph,t)]}}getTeamSharingAction(){return{ModuleEntities:this.api.freeTextColumnApi.getFreeTextColumns(),AddAction:ZC,EditAction:Kf}}toView(e){var t;return{abObject:e,items:[{name:"Settings",label:"Column Id",values:[e.ColumnId]},e.FriendlyName&&{name:"Settings",label:"Column Name",values:[e.FriendlyName]},{name:"Settings",label:"Data Type",values:[(t=e.FreeTextColumnSettings.DataType)!=null?t:"Not specified"]},Boolean(e.DefaultValue)&&{name:"Settings",label:"Default Value",values:[e.DefaultValue]},e.TextEditor&&{name:"Editor Type",label:"Editor",values:[e.TextEditor]},er(e,this.api)].filter(Boolean)}}toViewAll(){return this.getModuleAdaptableObjects().map(e=>this.toView(e))}getViewProperties(){return{getDeleteAction:ZE,getEditWizard(){return W3}}}};d();var gz=class extends It{constructor(e){super(Vf,E7,"info","GridInfoPopup","Display information about the Grid, the Options selected and all columns",e)}getViewAccessLevel(){return"Full"}addColumnMenuItems(e){if(this.isModuleAvailable()){let t=this.api.internalApi.getEntitlementService().isGridInfoSectionVisible("GridSummary"),n=this.api.internalApi.getEntitlementService().isGridInfoSectionVisible("ColumnInfo"),r=[];if(t&&r.push(this.createMainMenuItemShowPopup({Label:"Grid",ComponentName:this.moduleInfo.Popup,Icon:"align-justify"})),e&&n&&r.push(this.createMainMenuItemShowPopup({Label:"Column",ComponentName:this.moduleInfo.Popup,Icon:"columns",PopupParams:{column:e,source:"ColumnMenu"}})),t||n)return[{label:"Show Info",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:this.moduleInfo.Glyph},subItems:r}]}}addContextMenuItems(e){if(this.isModuleAvailable()){let t=[],n=this.api.internalApi.getEntitlementService().isGridInfoSectionVisible("GridSummary"),r=this.api.internalApi.getEntitlementService().isGridInfoSectionVisible("ColumnInfo"),i={source:"ContextMenu"};if(n&&t.push(this.createMainMenuItemShowPopup({Label:"Grid",ComponentName:this.moduleInfo.Popup,Icon:"align-justify",PopupParams:i})),r&&!e.isRowGroupColumn){let a={source:"ContextMenu",column:e.adaptableColumn};t.push(this.createMainMenuItemShowPopup({Label:"Column",ComponentName:this.moduleInfo.Popup,Icon:"columns",PopupParams:a}))}if(n||r)return[{label:"Show Info",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:this.moduleInfo.Glyph},subItems:t}]}}};d();d();var Cz=I(require("react"));var yVe=({data:o})=>{let e=pe(),t=e.api.layoutApi.getCurrentLayout(),n=e.api.layoutApi.getLayouts(),r=(n==null?void 0:n.length)===1,i=t.Name===o.Name,a=Cz.useCallback(()=>{e.api.layoutApi.setLayout(o.Name)},[i]);return Cz.createElement(Xe,{"data-name":"layout-select-button","data-value":o.Name,disabled:r,checked:i,onClick:a})};d();var bVe=I(require("react"));var SVe=()=>{let o=pe(),t=o.api.layoutApi.getLayouts().map(r=>({label:r.Name,value:r.Uuid}));return bVe.createElement(AI,{options:t,onChange:r=>{o.api.layoutApi.setLayout(r.label)}})};d();var yz=I(require("react"));var vVe=()=>{let o=pe(),e=yz.useCallback(()=>{o.api.layoutApi.showLayoutEditor()},[]);return yz.createElement(ue,{ml:1,variant:"text",iconSize:15,icon:"edit",onClick:e})};d();var bz=I(require("react"));var AVe=({data:o,accessLevel:e})=>{let t=pe(),n=e==="ReadOnly",r=bz.useCallback(()=>{t.api.layoutApi.showLayoutEditor(o.Name,"Clone")},[]);return bz.createElement(ue,{onClick:r,disabled:n,variant:"text",icon:"clone"})};d();var Cx=I(require("react"));var xVe=()=>{let o=pe(),e=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(Su),t=yt(),n=_t(s=>s.Grid.CurrentLayout),r=!o.api.layoutApi.shouldAutoSaveLayouts(),i=Cx.useCallback(s=>{t(rh(s)),t(ah(null))},[]),a=n&&!o.api.layoutApi.internalApi.areDraftAndCurrentLayoutEqual();return r?Cx.createElement(yb,{ml:1,variant:"text",iconSize:15,onClick:()=>i(n),tooltip:"Save Changes to Current Layout",disabled:!a,accessLevel:e}):Cx.createElement(Cx.Fragment,null)};d();var Sr=I(require("react"));d();var ji=I(require("react")),O0=I(Ce());var RVe=()=>{let{data:o}=ke();return ji.createElement(O0.Box,null,ji.createElement(rt,{mr:2},"Layout Name: ",o.Name),ji.createElement(rt,{mr:2},"Layout Grid Type: ",o.EnablePivot?"Pivot":"Table"),ji.createElement(rt,{mr:2},"Suppress Aggregation Function in Header: ",o.SuppressAggFuncInHeader?"Yes":"No"))},EVe=o=>{var r;let{data:e}=ke(),t=i=>{o.onChange(T(S({},e),{Name:i.target.value}))},n=i=>{o.onChange(T(S({},e),{EnablePivot:i}))};return ji.createElement(ji.Fragment,null,ji.createElement(J,{mb:3},ji.createElement(J.Tab,null,"Settings"),ji.createElement(J.Content,null,ji.createElement(O0.Flex,{flexDirection:"row"},ji.createElement(Ke,{width:"100%",style:{maxWidth:300}},ji.createElement(de,{label:"Name"},ji.createElement(mt,{width:"100%","data-name":"layout-name",onChange:t,value:(r=e==null?void 0:e.Name)!=null?r:""})))))),ji.createElement(J,{mb:2},ji.createElement(J.Tab,null,"Grid Type"),ji.createElement(J.Content,null,ji.createElement(O0.Flex,{flexDirection:"column"},ji.createElement(Xe,{"data-name":"layout-type-table",onClick:()=>n(!1),checked:!Boolean(e.EnablePivot)},"Table"),ji.createElement(Xe,{"data-name":"layout-type-pivot",onClick:()=>n(!0),checked:Boolean(e.EnablePivot)},"Pivot")))))};var Rg=I(Ce());d();var to=I(require("react")),Zl=I(Ce());d();var wVe=({oldColumns:o,newColumns:e})=>{let t=n=>{let r="",i=0;return n.forEach(a=>{var s,l;a&&a.columnGroup&&a.columnGroup.groupCount>1&&!a.columnGroup.allowGroupSplit&&r!==a.columnGroup.columnGroupId&&i++,r=(l=(s=a==null?void 0:a.columnGroup)==null?void 0:s.columnGroupId)!=null?l:""}),i};return t(o)==t(e)};d();var jh=(o,e)=>[o.friendlyName,o.columnId].some(t=>t==null?void 0:t.toLowerCase().includes(e.toLowerCase()));d();var yx=I(require("react")),bx=I(Ce());var hte=o=>{let c=o,{children:e,showBoth:t,showTitle:n,flexDirection:r="row",labels:i}=c,a=ut(c,["children","showBoth","showTitle","flexDirection","labels"]),s=["Aggregatable","Filterable","Groupable","Moveable","Pivotable","Sortable"],l=s.map(p=>a[p.toLocaleLowerCase()]?p.charAt(0):""),u={[r==="row"?"alignItems":"justifyContent"]:"center"};return yx.createElement(bx.Flex,T(S({className:"ab-LayoutEditor__Legend",flexDirection:r},u),{width:"100%"}),n?yx.createElement(bx.Text,{mr:2},pe().api.internalApi.getCorrectEnglishVariant("Behaviours:")):null,l.map((p,m)=>{let h=!!p,C=s[m],y=C.charAt(0),v=(x,A)=>yx.createElement(bx.Flex,{className:"ab-LayoutEditor__LegendLetter",width:"20px",height:"20px",alignItems:"center",justifyContent:"center",fontSize:2,ml:2,backgroundColor:"defaultbackground",title:x?C:`Not ${C}`,style:{overflow:"hidden",cursor:"auto",position:"relative",fontWeight:600,lineHeight:0,border:`1px solid var(--ab-color-${x?"accent":"inputborder"})`,borderRadius:"var(--ab__border-radius)",opacity:x?1:.5},key:`${y}${A||""}`},x?null:yx.createElement("div",{style:{background:"currentColor",position:"absolute",bottom:"-100%",right:0,width:2,height:"200%",transform:"skewX(45deg)"}}),y);return yx.createElement(bx.Flex,{key:y,mt:r==="row"?0:2,flexDirection:"row",alignItems:"center"},v(h),t?v(!h,"label"):null,i?yx.createElement(bx.Flex,{key:"labelProps",flex:1,ml:2,className:"ab-LayoutEditor__LegendLetterDescription"},i[C]):null)}),e)};var TVe=o=>to.createElement(Zl.Text,{fontWeight:600,fontSize:2},o.children),IVe=()=>{let o=pe(),{data:e}=ke(),t=40,r=40+VC(t*e.Columns.length,100,360),i=to.useMemo(()=>e.Columns.map(l=>{var A,R,w,P,D,F,M,O,_,H,j;if(o.api.columnApi.isAutoPivotColumn(l)||o.api.columnApi.isAutoRowGroupColumn(l))return null;let u=o.api.columnApi.getFriendlyNameForColumnId(l),c=(R=(A=e.ColumnHeadersMap)==null?void 0:A[l])!=null?R:"",p=(w=e.ColumnWidthMap)==null?void 0:w[l],m=(P=e.PinnedColumnsMap)==null?void 0:P[l],h=(D=e.AggregationColumns)==null?void 0:D[l];h=typeof h=="object"?h.type:h;let C=((F=e==null?void 0:e.ColumnSorts)!=null?F:[]).findIndex(B=>B.ColumnId===l),y=C!=-1?{index:C+1,sort:(O=(M=e.ColumnSorts[C])==null?void 0:M.SortOrder)!=null?O:null}:{},v=(H=(_=e.RowGroupedColumns)==null?void 0:_.indexOf)==null?void 0:H.call(_,l);v=v!=-1?v+1:null;let x=(j=e.ColumnFilters)==null?void 0:j.find(B=>B.ColumnId===l);return{columnId:l,agg:h,friendlyName:u,header:c,columnWidth:p,columnPinning:m,sortOrder:y,grouping:v,filter:x}}).filter(Boolean),[e]),a=to.useMemo(()=>({name:{header:"Name",field:"friendlyName",minWidth:100},header:{header:"Header",field:"header",minWidth:120},colId:{header:"ID",field:"columnId"},agg:{header:"Agg",field:"agg",minWidth:70},width:{header:"Width",field:"columnWidth",minWidth:70},pin:{header:"Pin",field:"columnPinning",minWidth:80},sort:{header:"Sort",field:"sortOrder",minWidth:50,align:"center",render:l=>{var u,c,p,m,h,C,y;return(c=(u=l.data)==null?void 0:u.sortOrder)!=null&&c.sort?to.createElement(Zl.Flex,null,to.createElement(mo,{name:((m=(p=l.data)==null?void 0:p.sortOrder)==null?void 0:m.sort)==="Asc"?"arrow-up-long":"arrow-down-long"})," ",to.createElement(TVe,null,(y=(C=(h=l.data)==null?void 0:h.sortOrder)==null?void 0:C.index)!=null?y:"")):to.createElement(to.Fragment,null)}},filter:{header:"Filter",field:"filter",align:"center",minWidth:50,render:l=>{var u;return(u=l.data)!=null&&u.filter?to.createElement(Ne,{checked:!0}):to.createElement(to.Fragment,null)}},group:{header:"Group",minWidth:50,field:"columnGroupping",align:"center",render:l=>{var u;return l.data.grouping?to.createElement(Zl.Flex,null,to.createElement(Ne,{margin:0,mr:1,checked:!0}),to.createElement(TVe,null,(u=l.data)==null?void 0:u.grouping)):to.createElement(to.Fragment,null)}}}),[]);return to.createElement(da,{data:i,primaryKey:"columnId"},to.createElement(mi,{columnTypes:{default:{defaultFlex:1}},rowHeight:t,domProps:{style:{height:"100%",minWidth:"10rem",minHeight:r}},columns:a}))},eNt=o=>{var c,p,m,h;let[e,t]=to.useState(!1),n=pe(),r=n.api.columnApi.getFriendlyNameForColumnId(o.column.columnId),i=(p=(c=o.layout.ColumnHeadersMap)==null?void 0:c[o.column.columnId])!=null?p:r,a=((m=o.layout.PinnedColumnsMap)==null?void 0:m[o.column.columnId])||"None",s=[{value:"None",label:"None",onClick:()=>o.onPinChange(o.column.columnId,null)},{value:"left",label:"Left",onClick:()=>o.onPinChange(o.column.columnId,"left")},{value:"right",label:"Right",onClick:()=>o.onPinChange(o.column.columnId,"right")}],l="Column "+n.api.internalApi.getCorrectEnglishVariant("Behaviours"),u=(h=o.layout.ColumnWidthMap)==null?void 0:h[o.column.columnId];return to.createElement(Zl.Box,{"data-name":o.column.columnId,className:"ab-Layout-Wizard__ColumnRow"},to.createElement(Zl.Flex,{className:"ab-Layout-Wizard__ColumnRow__Header",mt:1,mb:1,onClick:()=>t(!e)},to.createElement(Zl.Flex,{mr:2,alignItems:"center"},r),o.column.columnGroup&&o.column.columnGroup.groupCount>1?to.createElement(Zl.Box,{className:"ab-Layout-Wizard__ColumnRow__Title",ml:2,mr:2,padding:1},"Group: ",o.column.columnGroup.friendlyName):null,to.createElement(Zl.Flex,{mr:2},to.createElement(hte,{showTitle:!1,sortable:o.column.sortable,filterable:o.column.filterable,pivotable:o.column.pivotable,moveable:o.column.moveable,groupable:o.column.groupable,aggregatable:o.column.aggregatable})),to.createElement(Zl.Box,{flex:1}),to.createElement(ue,{"data-name":"expand-collapse","data-value":e?"expanded":"collapsed",ml:10,padding:0,iconSize:24,variant:"text",onClick:()=>t(!e),icon:e?"triangle-up":"triangle-down"})),e&&to.createElement(Zl.Box,{className:"ab-Layout-Wizard__ColumnRow__Expanded-Container",mb:2,padding:2,mt:2},to.createElement(Zl.Flex,{mb:2},to.createElement(Ke,{width:"100%",mr:3},to.createElement(de,{label:"ColumnId"},to.createElement(rt,null,o.column.columnId)),to.createElement(de,{label:"Header"},to.createElement(mt,{"data-name":"column-header",className:"ab-Layout-Wizard__ColumnRow__Input",placehoder:"Custom name (optional)",onChange:()=>{o.onColumnNameChange(o.column.columnId,event.target.value)},value:i})),to.createElement(de,{label:"Width"},to.createElement(mt,{"data-name":"column-width",className:"ab-Layout-Wizard__ColumnRow__Input",type:"number",placeholder:"Column width",onChange:C=>{let y=parseFloat(C.target.value);y=typeof y=="number"&&!isNaN(y)?y:void 0,o.onColumnWidthChange(o.column.columnId,y)},value:u})),to.createElement(de,{label:"Pinning"},to.createElement(Qe,{"data-name":"column-pinning",columns:["label"],items:s},s.find(C=>C.value===a).label))))))},PVe=o=>{let e=pe(),{data:t}=ke(),n=e.api.columnApi.getColumns(),r=to.useMemo(()=>ku(n.map(u=>u.columnId),t.Columns,{sortUnorderedItems:!1}).map(u=>e.api.columnApi.getColumnWithColumnId(u)),[t,n]),i=(u,c)=>{o.onChange(T(S({},t),{PinnedColumnsMap:T(S({},t.PinnedColumnsMap),{[u]:c})}))},a=(u,c)=>{o.onChange(T(S({},t),{ColumnHeadersMap:T(S({},t.ColumnHeadersMap),{[u]:c})}))},s=u=>{var m,h;let c=(m=t.Columns.map(C=>e.api.columnApi.getColumnWithColumnId(C)))!=null?m:[],p=(h=u.map(C=>e.api.columnApi.getColumnWithColumnId(C)))!=null?h:[];!wVe({oldColumns:c,newColumns:p})||o.onChange(T(S({},t),{Columns:u}))},l=(u,c)=>{o.onChange(T(S({},t),{ColumnWidthMap:T(S({},t.ColumnWidthMap),{[u]:c})}))};return to.createElement(J,{style:{height:"100%"}},to.createElement(J.Tab,null,"Columns"),to.createElement(J.Content,null,to.createElement(Zl.Flex,{mt:2,mb:3},to.createElement(hte,{flexDirection:"row",showBoth:!1,labels:{Sortable:"Sortable",Filterable:"Filterable",Aggregatable:"Aggregatable",Groupable:"Groupable",Moveable:"Moveable",Pivotable:"Pivotable"},sortable:!0,filterable:!0,moveable:!0,pivotable:!0,groupable:!0,aggregatable:!0})),to.createElement(Ba,{showSelectedOnlyPosition:"top",showFilterInput:!0,filter:jh,toIdentifier:u=>`${u.columnId}`,toLabel:u=>{var c;return(c=u.friendlyName)!=null?c:u.columnId},toListLabel:u=>to.createElement(eNt,{onColumnNameChange:a,onColumnWidthChange:l,onPinChange:i,layout:t,column:u}),options:r,value:t.Columns,allowReorder:!0,xSelectedLabel:()=>"Selected Columns:",onChange:s})))};d();var Kh=I(require("react")),DVe=I(Ce());var OVe=()=>{var t;let o=pe(),{data:e}=ke();return Kh.createElement(DVe.Box,{p:2,style:{borderRadius:"var(--ab__border-radius)"},backgroundColor:"var(--ab-color-defaultbackground)"},(t=e.PivotColumns)!=null&&t.length?e.PivotColumns.map(n=>Kh.createElement(rt,{mr:1,key:n},o.api.columnApi.getFriendlyNameForColumnId(n))):Kh.createElement(rt,null,"No Column Pivoting"))},FVe=o=>{var a;let e=pe(),{data:t}=ke(),n=e.api.columnApi.getPivotableColumns(),r=Kh.useMemo(()=>{var s;return ku(n.map(l=>l.columnId),(s=t.PivotColumns)!=null?s:[],{sortUnorderedItems:!1}).map(l=>e.api.columnApi.getColumnWithColumnId(l))},[t,n]),i=s=>{o.onChange(T(S({},t),{PivotColumns:s}))};return Kh.createElement(J,{style:{height:"100%"}},Kh.createElement(J.Tab,null,"Pivot Columns"),Kh.createElement(J.Content,null,Kh.createElement(Ba,{showFilterInput:!0,showSelectedOnlyPosition:"top",filter:jh,toIdentifier:s=>`${s.columnId}`,toLabel:s=>{var l;return(l=s.friendlyName)!=null?l:s.columnId},options:r,value:(a=t.PivotColumns)!=null?a:[],allowReorder:!0,xSelectedLabel:()=>"Selected Columns:",onChange:i})))};d();var Al=I(require("react")),fte=I(Ce());var MVe=()=>{var t;let o=pe(),{data:e}=ke();return Al.createElement(fte.Box,null,(t=e.RowGroupedColumns)!=null&&t.length?e.RowGroupedColumns.map(n=>Al.createElement(rt,{mr:1,key:n},o.api.columnApi.getFriendlyNameForColumnId(n))):Al.createElement(rt,null,"No Row Grouping"))},NVe=o=>{var a,s,l;let e=pe(),{data:t}=ke(),n=e.api.columnApi.getGroupableColumns(),r=Al.useMemo(()=>{var u;return ku(n.map(c=>c.columnId),(u=t.RowGroupedColumns)!=null?u:[],{sortUnorderedItems:!1}).map(c=>e.api.columnApi.getColumnWithColumnId(c))},[t,n]),i=u=>{o.onChange(T(S({},t),{RowGroupedColumns:u}))};return Al.createElement(J,{style:{height:"100%"}},Al.createElement(J.Tab,null,"Grouped Rows"),((a=t.ExpandedRowGroupValues)==null?void 0:a.length)&&Al.createElement(J.Tab,null,"Expanded Rows"),Al.createElement(J.Content,null,Al.createElement(Ba,{showFilterInput:!0,showSelectedOnlyPosition:"top",filter:jh,toIdentifier:u=>`${u.columnId}`,toLabel:u=>{var c;return(c=u.friendlyName)!=null?c:u.columnId},options:r,value:(s=t.RowGroupedColumns)!=null?s:[],allowReorder:!0,xSelectedLabel:()=>"Selected Columns:",onChange:i})),((l=t.ExpandedRowGroupValues)==null?void 0:l.length)&&Al.createElement(J.Content,null,Al.createElement(fte.Box,{backgroundColor:"var(--ab-color-defaultbackground)"},Al.createElement(Ke,{p:2},Al.createElement(de,{label:"Values"},t.ExpandedRowGroupValues.map((u,c)=>Al.createElement(rt,{mb:2,mr:2,key:c},u)))))))};d();var jr=I(require("react")),Ib=I(Ce());var Sz="weightedAvg",LVe=o=>{let e=o.AggregationColumns?Object.values(o.AggregationColumns).find(t=>typeof t=="object"&&t.type==="weightedAverage"):null;return e&&!e.weightedColumnId?"The Weighted Average Aggregation requires a Weighted Column":!0},_Ve=()=>{let o=pe(),{data:e}=ke(),t=e.AggregationColumns,n=Object.entries(t!=null?t:{}),r=null;return n.length?r=jr.createElement(Ke,null,n.map(([i,a])=>jr.createElement(de,{key:i,label:o.api.columnApi.getFriendlyNameForColumnId(i)},jr.createElement(rt,null,typeof a=="object"?a.type:a)))):r=jr.createElement(rt,null,"No Aggregations"),jr.createElement(Ib.Box,null,r)},tNt=o=>{var l,u;let e=pe(),t=(u=(l=o.layout)==null?void 0:l.AggregationColumns)==null?void 0:u[o.column.columnId],n=[];o.column.dataType==="Number"&&n.push(Sz);let r=[...o.column.availableAggregationFunctions,...n].map(c=>({label:c,onClick:()=>{let p=S({},o.layout.AggregationColumns);!p||(c===Sz?p[o.column.columnId]={type:"weightedAverage",weightedColumnId:null}:p[o.column.columnId]=c,o.onChangeAggFunction(p))}})),i=o.numberColumns.filter(c=>c.columnId!==o.column.columnId).map(c=>({label:c.friendlyName,onClick:()=>{let p=S({},o.layout.AggregationColumns);!p||(p[o.column.columnId]={type:"weightedAverage",weightedColumnId:c.columnId},o.onChangeAggFunction(p))}})),a=o.aggregationColumnsMap[o.column.columnId],s=null;return typeof t=="object"&&t.type==="weightedAverage"&&(s=t.weightedColumnId?e.api.columnApi.getFriendlyNameForColumnId(t.weightedColumnId):"Select Weight"),jr.createElement(Ib.Flex,{alignItems:"center"},o.column.friendlyName,t&&jr.createElement(Qe,{columns:["label"],items:r,ml:2},a),a===Sz&&jr.createElement(Ib.Flex,{backgroundColor:"primary",ml:3,alignItems:"center"},jr.createElement(Ib.Text,null,"Weight")," ",jr.createElement(Qe,{columns:["label"],items:i,ml:2},s)))},kVe=o=>{var p,m;let e=pe(),{data:t}=ke(),n=e.api.columnApi.getAggregatableColumns(),r=e.api.columnApi.getColumns(),i=e.api.columnApi.getNumericColumns(),a=jr.useMemo(()=>{var h,C;return ku(n.map(y=>y.columnId),(C=Object.keys((h=t.AggregationColumns)!=null?h:{}))!=null?C:[],{sortUnorderedItems:!1}).map(y=>e.api.columnApi.getColumnWithColumnId(y))},[t,n]),s=jr.useCallback(h=>{o.onChange(T(S({},t),{AggregationColumns:h.reduce((C,y)=>{var v,x;return C[y]=(x=(v=t.AggregationColumns)==null?void 0:v[y])!=null?x:e.api.columnApi.getDefaultAggFunc(y),C},{})}))},[t]),l=jr.useCallback(h=>{o.onChange(T(S({},t),{AggregationColumns:h}))},[t]),u=jr.useMemo(()=>{let h=r.reduce((C,y)=>(C[y.columnId]=y,C),{});return Object.keys(t.AggregationColumns||{}).reduce((C,y)=>{var A;let v=(A=t.AggregationColumns)==null?void 0:A[y],x="";return typeof v=="boolean"&&(x=h[y].aggregationFunction),typeof v=="object"&&v.type==="weightedAverage"?x=Sz:typeof v=="string"&&(x=v),C[y]=x,C},{})},[t]),c=h=>{o.onChange(T(S({},t),{SuppressAggFuncInHeader:h}))};return jr.createElement(J,{style:{height:"100%"}},jr.createElement(J.Tab,null,"Columns Aggregations"),jr.createElement(J.Content,null,jr.createElement(Ib.Flex,null,jr.createElement(Ke,null,jr.createElement(Ne,{checked:t.SuppressAggFuncInHeader,onChange:c},"Suppress Aggregation Function in Header"))),jr.createElement(Ba,{showFilterInput:!0,showSelectedOnlyPosition:"top",filter:jh,toIdentifier:h=>`${h.columnId}`,toLabel:h=>{var C;return(C=h.friendlyName)!=null?C:h.columnId},toListLabel:h=>jr.createElement(tNt,{onChangeAggFunction:l,layout:t,column:h,aggregationColumnsMap:u,numberColumns:i}),options:a,value:(m=Object.keys((p=t.AggregationColumns)!=null?p:{}))!=null?m:[],allowReorder:()=>!1,xSelectedLabel:()=>"Active aggregations:",onChange:s})))};d();var xl=I(require("react")),gte=I(Ce());d();var vz=(o,e)=>{var n;let t=r=>e.columnApi.getFriendlyNameForColumnId(r);return{name:"Sort",values:((n=o.ColumnSorts)!=null?n:[]).map(r=>`[${t(r.ColumnId)}: ${r.SortOrder}]`)}};var BVe=()=>{let{data:o}=ke(),e=pe(),t=vz(o,e.api);return xl.createElement(gte.Box,null,t.values.length?t.values.map(n=>xl.createElement(rt,{key:n,mb:1,mr:1},n)):xl.createElement(rt,null,"No Sorts"))},oNt=o=>{var n,r,i;let e=(i=((r=(n=o.layout)==null?void 0:n.ColumnSorts)!=null?r:[]).find(a=>a.ColumnId===o.column.columnId))==null?void 0:i.SortOrder,t=e==="Asc"?"sort-asc":"sort-desc";return xl.createElement(gte.Box,null,o.column.friendlyName,e&&xl.createElement(ue,{ml:2,onClick:()=>o.onSortChange(o.column.columnId,e==="Asc"?"Desc":"Asc"),variant:"raised",icon:t}))},VVe=o=>{var s;let e=pe(),{data:t}=ke(),n=e.api.columnApi.getSortableColumns(),r=xl.useMemo(()=>{var l;return ku(n.map(u=>u.columnId),((l=t.ColumnSorts)!=null?l:[]).map(u=>u.ColumnId),{sortUnorderedItems:!1}).map(u=>e.api.columnApi.getColumnWithColumnId(u))},[t,n]),i=xl.useCallback(l=>{o.onChange(T(S({},t),{ColumnSorts:(l||[]).map(u=>{var p,m,h;let c=(h=(m=(p=t.ColumnSorts)==null?void 0:p.find(C=>C.ColumnId===u))==null?void 0:m.SortOrder)!=null?h:"Asc";return{ColumnId:u,SortOrder:c}})}))},[t]),a=xl.useCallback((l,u)=>{var c;o.onChange(T(S({},t),{ColumnSorts:(c=t.ColumnSorts)==null?void 0:c.map(p=>p.ColumnId===l?T(S({},p),{SortOrder:u}):p)}))},[t]);return xl.createElement(J,{style:{height:"100%"}},xl.createElement(J.Tab,null,"Column Sorts"),xl.createElement(J.Content,null,xl.createElement(Ba,{showFilterInput:!0,showSelectedOnlyPosition:"top",filter:jh,toIdentifier:l=>`${l.columnId}`,toLabel:l=>{var u;return(u=l.friendlyName)!=null?u:l.columnId},toListLabel:l=>xl.createElement(oNt,{onSortChange:a,layout:t,column:l}),options:r,value:((s=t.ColumnSorts)!=null?s:[]).map(l=>l.ColumnId),allowReorder:()=>!0,xSelectedLabel:()=>"Active aggregations:",onChange:i})))};d();var Ss=I(require("react")),Cte=I(Ce());d();var Az=(o,e)=>{var n;let t=r=>e.columnApi.getFriendlyNameForColumnId(r);return{name:"Filter",values:((n=o.ColumnFilters)!=null?n:[]).map(r=>{var i,a;return`[${t(r.ColumnId)}: ${r.Predicate.PredicateId} ${((a=(i=r.Predicate)==null?void 0:i.Inputs)!=null?a:[]).map(s=>typeof s=="string"?s:typeof(s==null?void 0:s.toString)=="function"?s.toString():"").filter(Boolean).join(", ")}]`})}};var GVe=o=>{var t,n;return((n=(t=o.ColumnFilters)!=null?t:[])==null?void 0:n.filter(r=>{var i;return!((i=r==null?void 0:r.Predicate)!=null&&i.PredicateId)})).length>0?"Please select a predicate for each column filter":!0},HVe=()=>{let{data:o}=ke(),e=pe(),t=Az(o,e.api);return Ss.createElement(Cte.Box,null,t.values.length?t.values.map(n=>Ss.createElement(rt,{key:n,mb:1,mr:1},n)):Ss.createElement(rt,null,"No Filters"))},UVe=o=>{var l;let e=pe(),t=e.ModuleService.getModuleById(wi),{data:n}=ke(),r=(l=n.ColumnFilters)!=null?l:[],i=Ss.useCallback(u=>{o.onChange(T(S({},n),{ColumnFilters:r.filter(c=>c.ColumnId!==u.ColumnId)}))},[n]),a=Ss.useCallback((u,c)=>{o.onChange(T(S({},n),{ColumnFilters:r.map(p=>p.ColumnId===c.ColumnId?T(S({},c),{Predicate:u}):p)}))},[n.ColumnFilters]),s=Ss.useMemo(()=>e.api.columnApi.getFilterableColumns().filter(u=>{var c;return!((c=n.ColumnFilters)!=null&&c.some(p=>u.columnId===p.ColumnId))}).map(({columnId:u})=>({label:e.api.columnApi.getFriendlyNameForColumnId(u),onClick:()=>{o.onChange(T(S({},n),{ColumnFilters:[...r,{ColumnId:u,Predicate:null}]}))}})),[n,r]);return Ss.createElement(J,{style:{height:"100%"}},Ss.createElement(J.Tab,null,"Column Filters"),Ss.createElement(J.Content,null,Ss.createElement(Ke,{mb:2},Ss.createElement(de,{label:"Add new filter"},Ss.createElement(Qe,{"data-name":"select-column",minWidth:250,items:s,mr:2,columns:["label"]},"Select Column"))),(r==null?void 0:r.length)>0&&Ss.createElement(Cte.Box,{p:0,as:"ul"},r.map(u=>{let c=e.api.filterApi.getFilterPredicateDefsForColumnId(u.ColumnId),p=[...t.toView(u).items,{name:"Filter",view:Ss.createElement(YT,{columnId:u.ColumnId,predicate:u.Predicate,predicateDefs:c,onChange:m=>a(m,u),onClear:()=>a(null,u)})}];return Ss.createElement(yee,{module:t,abObject:u,entityType:"Filter",showActions:!0,showEditButton:!1,items:p,onDelete:()=>i(u),key:u.ColumnId})}))))};var WVe=o=>{var u,c;let e=yt(),t=pe(),n=t.api.layoutApi.getLayouts(),r=(c=o.data)!=null?c:(u=o.popupParams)==null?void 0:u.value,[i,a]=Sr.useState(()=>{var m;let p=null;return r?(p=zo(r),((m=o==null?void 0:o.popupParams)==null?void 0:m.action)==="Clone"&&(p.Name="")):p=it.CreateEmptyLayout({Name:""}),p.SuppressAggFuncInHeader===void 0&&(p.SuppressAggFuncInHeader=!!t.api.gridApi.getAgGridInstance().suppressAggFuncInHeader),p}),s=()=>{var m;let p=(m=o==null?void 0:o.popupParams)==null?void 0:m.action;switch(p||(p=r?"Edit":"New"),p){case"Edit":let h=t.api.layoutApi.getCurrentLayout();e(rh(i)),h.Uuid===i.Uuid&&e(ih(i.Name));break;case"Clone":let C=S({},i);delete C.Uuid,e($C(C)),e(ih(C.Name));break;case"New":e($C(i)),e(ih(i.Name))}o.onFinishWizard(i)},l=t.api.layoutApi.internalApi.getLayoutSupportedFeatures();return Sr.createElement(rr,{titleContainerStyle:{width:180},defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:i,onHide:o.onCloseWizard,onFinish:s,sections:[{title:"Settings",details:"Configure Layout",isValid:()=>i.Name?n.some(p=>p.Name===i.Name&&p.Uuid!==i.Uuid)?"A Layout already exists with that name":!0:"Layout name cannot be blank",renderSummary:()=>Sr.createElement(RVe,null),render:()=>Sr.createElement(Rg.Box,{padding:2},Sr.createElement(EVe,{onChange:p=>a(p)}))},{title:"Columns",details:"Select Columns",isVisible:()=>!(i!=null&&i.EnablePivot),renderSummary:()=>Sr.createElement(IVe,null),render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(PVe,{onChange:a}))},{title:"Pivot Columns",details:"Select Pivot Columns",isVisible:()=>(i==null?void 0:i.EnablePivot)&&l.PivotColumns,renderSummary:()=>Sr.createElement(OVe,null),render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(FVe,{onChange:p=>a(p)}))},{title:"Row Groups",isVisible:()=>l.RowGroupedColumns,details:"Configure Row Grouping",renderSummary:()=>Sr.createElement(MVe,null),render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(NVe,{onChange:a}))},{title:"Aggregations",isVisible:()=>l.AggregationColumns,details:"Select Column Aggregations",renderSummary:()=>Sr.createElement(_Ve,null),isValid:p=>LVe(p),render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(kVe,{onChange:a}))},{title:"Sort",isVisible:()=>l.ColumnSorts,renderSummary:()=>Sr.createElement(BVe,null),details:"Configure Column Sorts",render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(VVe,{onChange:p=>a(p)}))},{title:"Filters",isVisible:()=>l.ColumnFilters,isValid:p=>GVe(p),details:"View Column Filters",renderSummary:()=>Sr.createElement(HVe,null),render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(UVe,{onChange:p=>a(p)}))},"-",{details:"Review your Layout",render:()=>Sr.createElement(Rg.Box,{padding:2},Sr.createElement(Ir,null)),title:"Summary"}]})};d();var RI="weightedAvg";var ZVe=I(XVe());var xz=class extends It{constructor(t){super(Su,I7,"grid","LayoutPopup","Named sets of column visibility, order, groupings, aggregation, pivots etc.",t);this.clearUnsuportedFeaturesFromLayout=t=>{let n=this.api.layoutApi.internalApi.getLayoutSupportedFeatures(),r=!1,i=S({},t);!n.RowGroupedColumns&&t.RowGroupedColumns&&(delete i.RowGroupedColumns,r=!0),!n.AggregationColumns&&t.AggregationColumns&&(delete i.AggregationColumns,r=!0),!n.PivotColumns&&t.PivotColumns&&(delete i.PivotColumns,delete i.EnablePivot,r=!0),!n.ColumnFilters&&t.ColumnFilters&&(delete i.ColumnFilters,r=!0),!n.ColumnSorts&&t.ColumnSorts&&(delete i.ColumnSorts,r=!0),r&&this.api.layoutApi.createOrUpdateLayout(i)};this.api.eventApi.on("LayoutChanged",n=>{var r;n.newLayoutState.CurrentLayout!==((r=n.oldLayoutState)==null?void 0:r.CurrentLayout)&&this.handleLayoutChange()})}updateOldConfig(){this.api.gridApi.getRowModelType()==="viewport"&&this.api.layoutApi.getLayouts().forEach(this.clearUnsuportedFeaturesFromLayout)}getModuleAdaptableObjects(){return this.api.layoutApi.getLayouts()}getExplicitlyReferencedColumnIds(t){let n=[];return n.push(...t.Columns),t.AggregationColumns&&n.push(...Object.keys(t.AggregationColumns)),t.PivotColumns&&n.push(...t.PivotColumns),t.RowGroupedColumns&&n.push(...t.RowGroupedColumns),Array.from(new Set(n))}getTeamSharingReferences(t){let n=super.getTeamSharingReferences(t),r=t.Name;if(this.api.layoutApi.internalApi.hasLayoutSpecificObjects()&&!!r){let i=[],a={associatedWithLayout:r};this.api.alertApi.getAlertDefinitions(a).forEach(s=>i.push({Reference:s,Module:"Alert"})),this.api.customSortApi.getCustomSorts(a).forEach(s=>i.push({Reference:s,Module:"CustomSort"})),this.api.flashingCellApi.getFlashingCellDefinitions(a).forEach(s=>i.push({Reference:s,Module:"FlashingCell"})),this.api.formatColumnApi.getFormatColumns(a).forEach(s=>i.push({Reference:s,Module:"FormatColumn"})),this.api.plusMinusApi.getAllPlusMinus(a).forEach(s=>i.push({Reference:s,Module:"PlusMinus"})),this.api.shortcutApi.getShortcuts(a).forEach(s=>i.push({Reference:s,Module:"Shortcut"})),[...this.api.scheduleApi.getReportSchedules(a),...this.api.scheduleApi.getReminderSchedules(a),...this.api.scheduleApi.getGlue42Schedules(a),...this.api.scheduleApi.getIPushPullSchedules(a),...this.api.scheduleApi.getOpenFinSchedules(a)].forEach(s=>i.push({Reference:s,Module:"Schedule"})),n.push(...i)}return n}hasNamedQueryReferences(){return!1}handleAdaptableReady(){requestAnimationFrame(()=>{this.api.layoutApi.internalApi.fireLayoutChangedEvent("ADAPTABLE_READY",null,this.api.layoutApi.getLayoutState())})}addColumnMenuItems(t){var r,i;let n=[];if(this.isModuleEditable()){let a=this.api.layoutApi.isCurrentLayoutReadOnly();a||n.push(this.createColumnMenuItemShowPopup("Edit Layout",this.moduleInfo.Popup,this.moduleInfo.Glyph,{action:"Edit",source:"ColumnMenu",value:this.api.layoutApi.getCurrentLayout()})),t&&(a||n.push(this.createColumnMenuItemClickFunction("Change Caption","edit",()=>this.api.layoutApi.showChangeColumnCaption(t))),t.hideable&&n.push(this.createColumnMenuItemClickFunction("Hide Column","visibility-off-bold",()=>{this.api.columnApi.hideColumn(t.columnId)})));let s=[];t&&(((i=(r=this.api.gridApi.getSelectedCellInfo())==null?void 0:r.gridCells)==null?void 0:i.length)?(s.push(this.createColumnMenuItemClickFunction("Column (Preserve Selection)","column-add",()=>{this.api.columnApi.addColumnToSelection(t.columnId)})),s.push(this.createColumnMenuItemClickFunction("Column (Reset Selection)","columns",()=>{this.api.columnApi.selectColumn(t.columnId)}))):s.push(this.createColumnMenuItemClickFunction("Column","columns",()=>{this.api.columnApi.selectColumn(t.columnId)}))),s.push(this.createColumnMenuItemClickFunction("Whole Grid",this.moduleInfo.Glyph,()=>{this.api.gridApi.selectAll()})),n.push({label:"Select",isVisible:!0,module:this.moduleInfo.ModuleName,icon:{name:"tab-unselected"},subItems:s})}return n}addContextMenuItems(t){let n=[];if(this.isModuleEditable()&&!this.api.layoutApi.isCurrentLayoutReadOnly()&&n.push(this.createColumnMenuItemShowPopup("Edit Layout",this.moduleInfo.Popup,this.moduleInfo.Glyph,{action:"Edit",source:"ColumnMenu"})),t.selectedCellInfo&&We.IsNotNullOrEmpty(t.selectedCellInfo.columns)||t.selectedRowInfo&&We.IsNotNullOrEmpty(t.selectedRowInfo.gridRows)){let i=()=>{this.api.gridApi.deselectAll()};if(n.push(this.createColumnMenuItemClickFunction("Clear Selected Cells","undo",i)),this.isModuleAvailable()){let a=[],s=()=>{this.api.columnApi.autosizeAllColumns()};a.push(this.createColumnMenuItemClickFunction("Auto Size","arrow-expand",s));let l=()=>{this.api.gridApi.selectAll()};a.push(this.createColumnMenuItemClickFunction("Select","tab-unselected",l)),n.push({label:"Grid",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:"align-justify"},subItems:a})}}let r=this.createViewPivotItemsMenuItem(t);return r&&n.push(r),n}createViewPivotItemsMenuItem(t){var y,v,x,A,R,w,P,D,F,M;if(((v=(y=t.selectedCellInfo)==null?void 0:y.gridCells)==null?void 0:v.length)!==1)return;let n=this.api.layoutApi.getCurrentLayout();if(!n.EnablePivot)return;let{agGridColumn:r}=t,i=r.getColId(),a=this.api.columnApi.isAutoPivotColumn(i);if(!a&&this.api.columnApi.getColumnDataTypeForColumnId(i)!=="Number")return;let s=(w=(R=(A=(x=r==null?void 0:r.getColDef)==null?void 0:x.call(r).pivotValueColumn)==null?void 0:A.getColDef)==null?void 0:R.call(A))==null?void 0:w.field,l=(F=(D=(P=r==null?void 0:r.getColDef)==null?void 0:P.call(r))==null?void 0:D.pivotKeys)==null?void 0:F[0],u=(M=n==null?void 0:n.PivotColumns)==null?void 0:M[0];function c(O){return[...O.map(_=>_.childrenAfterFilter?c(_.childrenAfterFilter):_.data)]}let p=(0,ZVe.default)(c(t.rowNode.childrenAfterFilter)),m=n.RowGroupedColumns,h=a?t.rowNode.aggData[i]:t.gridCell.displayValue,C={hasPivotValue:a,columnId:i,rowGroups:m,rows:p,layout:n,aggColumn:s,pivotValue:l,pivotColumnId:u};return{isVisible:!0,label:"Expand Aggregated Value",onClick:()=>{this.api.internalApi.showPopupWindow({id:K2,factoryId:K2,title:`Rows for Aggregated Value: ${h}`,icon:void 0,popupProps:C})},icon:{name:"arrow-expand"}}}getTeamSharingAction(){return{ModuleEntities:this.api.layoutApi.getLayouts(),AddAction:$C,EditAction:rh}}toViewAll(){return this.getModuleAdaptableObjects().map(t=>this.toView(t))}toView(t){var a,s,l,u,c,p;let n=(s=(a=this.api.optionsApi.getLayoutOptions().layoutViewOptions)==null?void 0:a.maxColumnsToDisplay)!=null?s:10,r=m=>this.api.columnApi.getFriendlyNameForColumnId(m),i=t.Columns.filter(m=>!this.api.columnApi.isAutoRowGroupColumn(m)).filter(m=>!this.api.columnApi.isAutoPivotColumn(m));if(i.length>n+1){let m=i.length-n;i=[...i.slice(0,n).map(C=>r(C)),`and other ${m}`]}else i=i.map(m=>r(m));return{items:[{name:"Name",values:[t.Name]},{name:"Layout Grid Type",values:[t!=null&&t.EnablePivot?"Pivot":"Table"]},!t.EnablePivot&&{name:"Columns",values:i},((l=t.ColumnSorts)==null?void 0:l.length)&&vz(t,this.api),((u=t==null?void 0:t.ColumnFilters)==null?void 0:u.length)&&Az(t,this.api),((c=t==null?void 0:t.RowGroupedColumns)==null?void 0:c.length)&&{name:"Grouped Columns",values:t.RowGroupedColumns.map(m=>r(m))},((p=t==null?void 0:t.PivotColumns)==null?void 0:p.length)&&{name:"Pivot Columns",values:t.PivotColumns.map(m=>r(m))},(t==null?void 0:t.AggregationColumns)&&Object.keys(t==null?void 0:t.AggregationColumns).length&&{name:"Aggregation Columns",values:Object.entries(t==null?void 0:t.AggregationColumns).map(([m,h])=>{if(m==="Source"||m==="Uuid")return"";let C="";return typeof h=="string"?C=h:typeof h=="object"&&h.type==="weightedAverage"&&(C=RI),`${C}(${r(m)})`}).filter(Boolean)}].filter(Boolean),abObject:t}}getViewProperties(){return{actions:[yVe,AVe],getDeleteAction:t=>this.getModuleAdaptableObjects().length===1?null:GE(t),getEditWizard:()=>WVe,getStatusBarPanelProps:()=>{let t=this.api.layoutApi.getCurrentLayoutName(),r=this.api.layoutApi.getLayouts().length>1?SVe:null;return{content:t,popover:r,popoverMinWidth:150,extraActions:[vVe,xVe]}}}}handleLayoutChange(){!this.api.layoutApi.internalApi.hasLayoutSpecificObjects()||(this.api.internalApi.getModuleService().getModuleById("PlusMinus").checkListenToKeyDown(),this.api.internalApi.getModuleService().getModuleById("Shortcut").checkListenToKeyDown(),this.api.internalApi.getModuleService().getModuleById("Schedule").setUpScheduleJobs(),this.api.internalApi.getAdaptableInstance().setupColumns())}};d();var Rz=class extends It{constructor(t){super(di,D7,"add-circle","PlusMinusPopup","Configure how a cell value will edit when the + or - keys are pressed",t);this.shouldHandleKeyDown=!1,this.adaptable=t.internalApi.getAdaptableInstance()}getModuleAdaptableObjects(t){return this.api.plusMinusApi.getAllPlusMinus(t)}getExplicitlyReferencedColumnIds(t){return this.api.scopeApi.scopeHasColumns(t.Scope)?this.api.scopeApi.getColumnsForScope(t.Scope).map(n=>n.columnId):[]}getReferencedNamedQueryNames(t){var n,r;return(n=t.Rule)!=null&&n.BooleanExpression?this.api.queryApi.internalApi.getReferencedNamedQueryNames((r=t.Rule)==null?void 0:r.BooleanExpression):[]}handleAdaptableReady(){let t=this.api.plusMinusApi.getAllPlusMinus();this.shouldHandleKeyDown=pt.IsNotNullOrEmpty(t),this.shouldHandleKeyDown&&this.adaptable._on("KeyDown",n=>{this.handleKeyDown(n)})}checkListenToKeyDown(){let t=this.shouldHandleKeyDown,n=pt.IsNotNullOrEmpty(this.api.plusMinusApi.getAllPlusMinus());!t&&n&&this.adaptable._on("KeyDown",r=>{this.handleKeyDown(r)}),this.shouldHandleKeyDown=n}addColumnMenuItems(t){if(t&&this.isModuleEditable()&&t.dataType=="Number"){let n={column:t,action:"New",source:"ColumnMenu"};return[this.createColumnMenuItemShowPopup("Create Plus/Minus Rule",this.moduleInfo.Popup,this.moduleInfo.Glyph,n)]}}handleKeyDown(t){if(this.shouldHandleKeyDown){let n=qo.getStringRepresentionFromKey(t);if(n=="-"||n=="+"){let r=this.api.plusMinusApi.getAllActivePlusMinus();if(pt.IsNotNullOrEmpty(r)){let i=n=="-"?"down":"up",a=this.api.gridApi.getSelectedCellInfo();this.applyPlusMinus(r,a.gridCells,i)&&t.preventDefault()}}}}applyPlusMinus(t,n,r){let i=!1,a=[],s=[],l=r=="up"?1:-1;if(n.forEach(u=>{if(u.column&&u.column.dataType=="Number"&&!u.column.readOnly){let c,p;if(t.forEach(m=>{if(!c&&this.api.scopeApi.isColumnInScope(u.column,m.Scope)&&this.api.gridApi.isCellEditable(u)&&(typeof u.rawValue!="number"&&(u.rawValue=parseFloat(u.rawValue)),this.isPlusMinusNudgeApplied(m,u))){c=m,i=!0;let C=u.rawValue+m.NudgeValue*l;p={primaryKeyValue:u.primaryKeyValue,column:u.column,rawValue:C,displayValue:C,normalisedValue:C,rowNode:u.rowNode}}}),c&&p){let m=this.api.internalApi.buildDataChangedInfo({oldValue:Number(u.rawValue),newValue:p.rawValue,column:u.column,primaryKeyValue:u.primaryKeyValue,rowNode:u.rowNode,trigger:"edit"}),h=this.api.internalApi.getValidationService().getValidationRulesForDataChange(m);h.length>0?s.push(h[0]):a.push(p)}}}),this.ShowErrorPreventMessage(s),pt.IsNotNullOrEmpty(a)){let u=[];a.forEach(c=>{u.push({columnId:c.column.columnId,newValue:c.normalisedValue,primaryKeyValue:c.primaryKeyValue,rowNode:c.rowNode})}),this.api.plusMinusApi.applyPlusMinus(u)}return i}isPlusMinusNudgeApplied(t,n){var r;return(r=t.Rule)!=null&&r.BooleanExpression?this.evaluateExpression(t,n.rowNode):!0}evaluateExpression(t,n){var r;return this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression((r=t.Rule)==null?void 0:r.BooleanExpression,di,n)}ShowErrorPreventMessage(t){if(t.length>0){let n=[];t.forEach(r=>{let i=this.api.internalApi.getValidationService().createValidationMessage(r)+`
590
+ `,getStatusBarPanelProps(){let t,n=e.filterApi.getColumnFilters();n.length===0?t="0 Filters":n.length===1?t="1 Filter":t=n.length+" Filters";let r=n.length?pVe:null;return{content:t,popover:r,popoverMinWidth:320}}}}};d();d();var mVe=o=>{var t;let e=[`Cell alignment: ${(t=o.CellAlignment)!=null?t:"default"}`,`Include grouped rows: ${o.IncludeGroupedRows?"Yes":"No"}`].filter(Boolean);return{name:"Settings",values:e}};d();var hVe=I(require("react")),fVe=I(Ce());var gVe=(o,e)=>hVe.createElement(fVe.Box,{mt:2},see(o,e));d();var vm=I(require("react"));var CVe=o=>{let e=yt(),n=pe().api.formatColumnApi.getFormatColumns(),r=vm.useCallback(()=>{e(kk(o.data))},[]),i=vm.useCallback(()=>{e(Bk(o.data))},[]);return(n==null?void 0:n.length)<=1?vm.createElement(vm.Fragment,null):vm.createElement(vm.Fragment,null,vm.createElement(ue,{"data-id":"move-up",title:"move up",onClick:r,variant:"text",icon:"arrow-up"}),vm.createElement(ue,{"data-name":"move-down",title:"move down",onClick:i,variant:"text",icon:"arrow-down"}))};var hz=class extends It{constructor(e){super(Ui,A7,"color-palette","FormatColumnPopup","Create a column style, display format or cell alignment",e)}getModuleAdaptableObjects(e){return this.api.formatColumnApi.getFormatColumns(e)}getExplicitlyReferencedColumnIds(e){let t=e.Rule&&this.api.expressionApi.getAdaptableQueryExpression(e.Rule);return t?this.api.expressionApi.getColumnsFromExpression(t):this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(n=>n.columnId):[]}getReferencedNamedQueryNames(e){let t=e.Rule&&this.api.expressionApi.getAdaptableQueryExpression(e.Rule);return t?this.api.queryApi.internalApi.getReferencedNamedQueryNames(t):[]}updateOldConfig(){this.updateFormatColumnSingleToMultiplePredicates();let e=this.api.internalApi.getState().StatusBar.StatusBars,t=!1,n=e.map(a=>T(S({},a),{StatusBarPanels:[...new Set(a.StatusBarPanels.map(s=>s==="ConditionalStyle"?(t=!0,"FormatColumn"):s))]}));t&&this.api.statusBarApi.setStatusBarPanels(n);let r=this.api.internalApi.getState().Dashboard.ModuleButtons;if(r.includes("ConditionalStyle")){r[r.indexOf("ConditionalStyle")]="FormatColumn";let a=r;this.api.dashboardApi.setModuleButtons([...new Set(r)])}let i=this.api.internalApi.getState().ToolPanel.ModuleButtons;i.includes("ConditionalStyle")&&(i[i.indexOf("ConditionalStyle")]="FormatColumn",this.api.toolPanelApi.setModuleButtons([...new Set(r)]))}updateFormatColumnSingleToMultiplePredicates(){this.api.formatColumnApi.getFormatColumns().forEach(t=>{if(t.Rule&&"Predicate"in t.Rule){let n=zo(t);vI(n.Rule),this.api.formatColumnApi.editFormatColumn(n)}})}addColumnMenuItems(e){let t=[];if(e&&this.isModuleEditable()&&!e.isSparkline){let n={column:e,action:"New",source:"ColumnMenu"},r=this.createColumnMenuItemShowPopup("Create",this.moduleInfo.Popup,"plus",n),i=this.api.formatColumnApi.getFormatColumnsForColumnId(e.columnId);if(We.IsNullOrEmpty(i))t.push(this.createColumnMenuItemShowPopup("Create Format Column",this.moduleInfo.Popup,this.moduleInfo.Glyph,n));else if(i.length==1){let a={column:e,action:"Edit",value:i[0],source:"ColumnMenu"},s=this.createColumnMenuItemShowPopup("Edit",this.moduleInfo.Popup,"edit",a);t.push({label:"Format Column",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:this.moduleInfo.Glyph},subItems:[r,s]})}else{let a=this.api.internalApi.getModuleService().getModuleInfoByModule("FormatColumn"),s=this.createColumnMenuItemReduxAction("Show Current",this.moduleInfo.Glyph,En("FormatColumn",a.Popup));t.push({label:"Format Column",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:this.moduleInfo.Glyph},subItems:[r,s]})}}return t}getTeamSharingAction(){return{ModuleEntities:this.api.formatColumnApi.getFormatColumns(),AddAction:XC,EditAction:lh}}toView(e){return{abObject:e,items:[zc(e.Scope,this.api),e.Rule&&Tb(e.Rule,this.api),{name:"Style",view:()=>gVe(e,this.api)},{name:"Display Format",values:[uee(e)]},mVe(e),er(e,this.api)].filter(Boolean)}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{actions:[CVe],getEditAction:lh,getDeleteAction:qE,getSuspendAction:Vk,getUnSuspendAction:Gk,getSuspendAllAction:_be,getUnSuspendAllAction:kbe,getEditWizard(){return k3}}}canBeAssociatedWithLayouts(){return!0}};d();var fz=class extends It{constructor(e){super(Pa,x7,"horizontal-lines","FreeTextColumnPopup","Dynamic column showing custom content (stored in state and not with grid data)",e)}isModuleAvailable(){return super.isModuleAvailable()&&!this.api.optionsApi.getAutogeneratePrimaryKey()}getModuleAdaptableObjects(){return this.api.freeTextColumnApi.getFreeTextColumns()}hasNamedQueryReferences(){return!1}updateOldConfig(){let e=this.getModuleAdaptableObjects();for(let t of e){let n=t;if(n.DataType){let r=n.DataType;delete n.DataType,t.FreeTextColumnSettings?t.FreeTextColumnSettings.DataType=r:t.FreeTextColumnSettings={DataType:r},this.api.freeTextColumnApi.editFreeTextColumn(t)}t.FreeTextColumnSettings||(t.FreeTextColumnSettings={DataType:"String"},this.api.freeTextColumnApi.editFreeTextColumn(t)),t.FreeTextColumnSettings.DataType||(t.FreeTextColumnSettings.DataType="String",this.api.freeTextColumnApi.editFreeTextColumn(t))}}addColumnMenuItems(e){if(e&&this.isModuleEditable()&&this.api.freeTextColumnApi.getFreeTextColumns().find(t=>t.ColumnId==e.columnId)){let t={column:e,action:"Edit",source:"ColumnMenu"};return[this.createColumnMenuItemShowPopup("Edit Free Text Column",this.moduleInfo.Popup,this.moduleInfo.Glyph,t)]}}getTeamSharingAction(){return{ModuleEntities:this.api.freeTextColumnApi.getFreeTextColumns(),AddAction:ZC,EditAction:Kf}}toView(e){var t;return{abObject:e,items:[{name:"Settings",label:"Column Id",values:[e.ColumnId]},e.FriendlyName&&{name:"Settings",label:"Column Name",values:[e.FriendlyName]},{name:"Settings",label:"Data Type",values:[(t=e.FreeTextColumnSettings.DataType)!=null?t:"Not specified"]},Boolean(e.DefaultValue)&&{name:"Settings",label:"Default Value",values:[e.DefaultValue]},e.TextEditor&&{name:"Editor Type",label:"Editor",values:[e.TextEditor]},er(e,this.api)].filter(Boolean)}}toViewAll(){return this.getModuleAdaptableObjects().map(e=>this.toView(e))}getViewProperties(){return{getDeleteAction:ZE,getEditWizard(){return W3}}}};d();var gz=class extends It{constructor(e){super(Vf,E7,"info","GridInfoPopup","Display information about the Grid, the Options selected and all columns",e)}getViewAccessLevel(){return"Full"}addColumnMenuItems(e){if(this.isModuleAvailable()){let t=this.api.internalApi.getEntitlementService().isGridInfoSectionVisible("GridSummary"),n=this.api.internalApi.getEntitlementService().isGridInfoSectionVisible("ColumnInfo"),r=[];if(t&&r.push(this.createMainMenuItemShowPopup({Label:"Grid",ComponentName:this.moduleInfo.Popup,Icon:"align-justify"})),e&&n&&r.push(this.createMainMenuItemShowPopup({Label:"Column",ComponentName:this.moduleInfo.Popup,Icon:"columns",PopupParams:{column:e,source:"ColumnMenu"}})),t||n)return[{label:"Show Info",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:this.moduleInfo.Glyph},subItems:r}]}}addContextMenuItems(e){if(this.isModuleAvailable()){let t=[],n=this.api.internalApi.getEntitlementService().isGridInfoSectionVisible("GridSummary"),r=this.api.internalApi.getEntitlementService().isGridInfoSectionVisible("ColumnInfo"),i={source:"ContextMenu"};if(n&&t.push(this.createMainMenuItemShowPopup({Label:"Grid",ComponentName:this.moduleInfo.Popup,Icon:"align-justify",PopupParams:i})),r&&!e.isRowGroupColumn){let a={source:"ContextMenu",column:e.adaptableColumn};t.push(this.createMainMenuItemShowPopup({Label:"Column",ComponentName:this.moduleInfo.Popup,Icon:"columns",PopupParams:a}))}if(n||r)return[{label:"Show Info",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:this.moduleInfo.Glyph},subItems:t}]}}};d();d();var Cz=I(require("react"));var yVe=({data:o})=>{let e=pe(),t=e.api.layoutApi.getCurrentLayout(),n=e.api.layoutApi.getLayouts(),r=(n==null?void 0:n.length)===1,i=t.Name===o.Name,a=Cz.useCallback(()=>{e.api.layoutApi.setLayout(o.Name)},[i]);return Cz.createElement(Xe,{"data-name":"layout-select-button","data-value":o.Name,disabled:r,checked:i,onClick:a})};d();var bVe=I(require("react"));var SVe=()=>{let o=pe(),t=o.api.layoutApi.getLayouts().map(r=>({label:r.Name,value:r.Uuid}));return bVe.createElement(AI,{options:t,onChange:r=>{o.api.layoutApi.setLayout(r.label)}})};d();var yz=I(require("react"));var vVe=()=>{let o=pe(),e=yz.useCallback(()=>{o.api.layoutApi.showLayoutEditor()},[]);return yz.createElement(ue,{ml:1,variant:"text",iconSize:15,icon:"edit",onClick:e})};d();var bz=I(require("react"));var AVe=({data:o,accessLevel:e})=>{let t=pe(),n=e==="ReadOnly",r=bz.useCallback(()=>{t.api.layoutApi.showLayoutEditor(o.Name,"Clone")},[]);return bz.createElement(ue,{onClick:r,disabled:n,variant:"text",icon:"clone"})};d();var Cx=I(require("react"));var xVe=()=>{let o=pe(),e=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(Su),t=yt(),n=_t(s=>s.Grid.CurrentLayout),r=!o.api.layoutApi.shouldAutoSaveLayouts(),i=Cx.useCallback(s=>{t(rh(s)),t(ah(null))},[]),a=n&&!o.api.layoutApi.internalApi.areDraftAndCurrentLayoutEqual();return r?Cx.createElement(yb,{ml:1,variant:"text",iconSize:15,onClick:()=>i(n),tooltip:"Save Changes to Current Layout",disabled:!a,accessLevel:e}):Cx.createElement(Cx.Fragment,null)};d();var Sr=I(require("react"));d();var ji=I(require("react")),O0=I(Ce());var RVe=()=>{let{data:o}=ke();return ji.createElement(O0.Box,null,ji.createElement(rt,{mr:2},"Layout Name: ",o.Name),ji.createElement(rt,{mr:2},"Layout Grid Type: ",o.EnablePivot?"Pivot":"Table"),ji.createElement(rt,{mr:2},"Suppress Aggregation Function in Header: ",o.SuppressAggFuncInHeader?"Yes":"No"))},EVe=o=>{var r;let{data:e}=ke(),t=i=>{o.onChange(T(S({},e),{Name:i.target.value}))},n=i=>{o.onChange(T(S({},e),{EnablePivot:i}))};return ji.createElement(ji.Fragment,null,ji.createElement(J,{mb:3},ji.createElement(J.Tab,null,"Settings"),ji.createElement(J.Content,null,ji.createElement(O0.Flex,{flexDirection:"row"},ji.createElement(Ke,{width:"100%",style:{maxWidth:300}},ji.createElement(de,{label:"Name"},ji.createElement(mt,{width:"100%","data-name":"layout-name",onChange:t,value:(r=e==null?void 0:e.Name)!=null?r:""})))))),ji.createElement(J,{mb:2},ji.createElement(J.Tab,null,"Grid Type"),ji.createElement(J.Content,null,ji.createElement(O0.Flex,{flexDirection:"column"},ji.createElement(Xe,{"data-name":"layout-type-table",onClick:()=>n(!1),checked:!Boolean(e.EnablePivot)},"Table"),ji.createElement(Xe,{"data-name":"layout-type-pivot",onClick:()=>n(!0),checked:Boolean(e.EnablePivot)},"Pivot")))))};var Rg=I(Ce());d();var to=I(require("react")),Zl=I(Ce());d();var wVe=({oldColumns:o,newColumns:e})=>{let t=n=>{let r="",i=0;return n.forEach(a=>{var s,l;a&&a.columnGroup&&a.columnGroup.groupCount>1&&!a.columnGroup.allowGroupSplit&&r!==a.columnGroup.columnGroupId&&i++,r=(l=(s=a==null?void 0:a.columnGroup)==null?void 0:s.columnGroupId)!=null?l:""}),i};return t(o)==t(e)};d();var jh=(o,e)=>[o.friendlyName,o.columnId].some(t=>t==null?void 0:t.toLowerCase().includes(e.toLowerCase()));d();var yx=I(require("react")),bx=I(Ce());var hte=o=>{let c=o,{children:e,showBoth:t,showTitle:n,flexDirection:r="row",labels:i}=c,a=ut(c,["children","showBoth","showTitle","flexDirection","labels"]),s=["Aggregatable","Filterable","Groupable","Moveable","Pivotable","Sortable"],l=s.map(p=>a[p.toLocaleLowerCase()]?p.charAt(0):""),u={[r==="row"?"alignItems":"justifyContent"]:"center"};return yx.createElement(bx.Flex,T(S({className:"ab-LayoutEditor__Legend",flexDirection:r},u),{width:"100%"}),n?yx.createElement(bx.Text,{mr:2},pe().api.internalApi.getCorrectEnglishVariant("Behaviours:")):null,l.map((p,m)=>{let h=!!p,C=s[m],y=C.charAt(0),v=(x,A)=>yx.createElement(bx.Flex,{className:"ab-LayoutEditor__LegendLetter",width:"20px",height:"20px",alignItems:"center",justifyContent:"center",fontSize:2,ml:2,backgroundColor:"defaultbackground",title:x?C:`Not ${C}`,style:{overflow:"hidden",cursor:"auto",position:"relative",fontWeight:600,lineHeight:0,border:`1px solid var(--ab-color-${x?"accent":"inputborder"})`,borderRadius:"var(--ab__border-radius)",opacity:x?1:.5},key:`${y}${A||""}`},x?null:yx.createElement("div",{style:{background:"currentColor",position:"absolute",bottom:"-100%",right:0,width:2,height:"200%",transform:"skewX(45deg)"}}),y);return yx.createElement(bx.Flex,{key:y,mt:r==="row"?0:2,flexDirection:"row",alignItems:"center"},v(h),t?v(!h,"label"):null,i?yx.createElement(bx.Flex,{key:"labelProps",flex:1,ml:2,className:"ab-LayoutEditor__LegendLetterDescription"},i[C]):null)}),e)};var TVe=o=>to.createElement(Zl.Text,{fontWeight:600,fontSize:2},o.children),IVe=()=>{let o=pe(),{data:e}=ke(),t=40,r=40+VC(t*e.Columns.length,100,360),i=to.useMemo(()=>e.Columns.map(l=>{var A,R,w,P,D,F,M,O,_,H,j;if(o.api.columnApi.isAutoPivotColumn(l)||o.api.columnApi.isAutoRowGroupColumn(l))return null;let u=o.api.columnApi.getFriendlyNameForColumnId(l),c=(R=(A=e.ColumnHeadersMap)==null?void 0:A[l])!=null?R:"",p=(w=e.ColumnWidthMap)==null?void 0:w[l],m=(P=e.PinnedColumnsMap)==null?void 0:P[l],h=(D=e.AggregationColumns)==null?void 0:D[l];h=typeof h=="object"?h.type:h;let C=((F=e==null?void 0:e.ColumnSorts)!=null?F:[]).findIndex(B=>B.ColumnId===l),y=C!=-1?{index:C+1,sort:(O=(M=e.ColumnSorts[C])==null?void 0:M.SortOrder)!=null?O:null}:{},v=(H=(_=e.RowGroupedColumns)==null?void 0:_.indexOf)==null?void 0:H.call(_,l);v=v!=-1?v+1:null;let x=(j=e.ColumnFilters)==null?void 0:j.find(B=>B.ColumnId===l);return{columnId:l,agg:h,friendlyName:u,header:c,columnWidth:p,columnPinning:m,sortOrder:y,grouping:v,filter:x}}).filter(Boolean),[e]),a=to.useMemo(()=>({name:{header:"Name",field:"friendlyName",minWidth:100},header:{header:"Header",field:"header",minWidth:120},colId:{header:"ID",field:"columnId"},agg:{header:"Agg",field:"agg",minWidth:70},width:{header:"Width",field:"columnWidth",minWidth:70},pin:{header:"Pin",field:"columnPinning",minWidth:80},sort:{header:"Sort",field:"sortOrder",minWidth:50,align:"center",render:l=>{var u,c,p,m,h,C,y;return(c=(u=l.data)==null?void 0:u.sortOrder)!=null&&c.sort?to.createElement(Zl.Flex,null,to.createElement(mo,{name:((m=(p=l.data)==null?void 0:p.sortOrder)==null?void 0:m.sort)==="Asc"?"arrow-up-long":"arrow-down-long"})," ",to.createElement(TVe,null,(y=(C=(h=l.data)==null?void 0:h.sortOrder)==null?void 0:C.index)!=null?y:"")):to.createElement(to.Fragment,null)}},filter:{header:"Filter",field:"filter",align:"center",minWidth:50,render:l=>{var u;return(u=l.data)!=null&&u.filter?to.createElement(Ne,{checked:!0}):to.createElement(to.Fragment,null)}},group:{header:"Group",minWidth:50,field:"columnGroupping",align:"center",render:l=>{var u;return l.data.grouping?to.createElement(Zl.Flex,null,to.createElement(Ne,{margin:0,mr:1,checked:!0}),to.createElement(TVe,null,(u=l.data)==null?void 0:u.grouping)):to.createElement(to.Fragment,null)}}}),[]);return to.createElement(da,{data:i,primaryKey:"columnId"},to.createElement(mi,{columnTypes:{default:{defaultFlex:1}},rowHeight:t,domProps:{style:{height:"100%",minWidth:"10rem",minHeight:r}},columns:a}))},eNt=o=>{var c,p,m,h;let[e,t]=to.useState(!1),n=pe(),r=n.api.columnApi.getFriendlyNameForColumnId(o.column.columnId),i=(p=(c=o.layout.ColumnHeadersMap)==null?void 0:c[o.column.columnId])!=null?p:r,a=((m=o.layout.PinnedColumnsMap)==null?void 0:m[o.column.columnId])||"None",s=[{value:"None",label:"None",onClick:()=>o.onPinChange(o.column.columnId,null)},{value:"left",label:"Left",onClick:()=>o.onPinChange(o.column.columnId,"left")},{value:"right",label:"Right",onClick:()=>o.onPinChange(o.column.columnId,"right")}],l="Column "+n.api.internalApi.getCorrectEnglishVariant("Behaviours"),u=(h=o.layout.ColumnWidthMap)==null?void 0:h[o.column.columnId];return to.createElement(Zl.Box,{"data-name":o.column.columnId,className:"ab-Layout-Wizard__ColumnRow"},to.createElement(Zl.Flex,{className:"ab-Layout-Wizard__ColumnRow__Header",mt:1,mb:1,onClick:()=>t(!e)},to.createElement(Zl.Flex,{mr:2,alignItems:"center"},r),o.column.columnGroup&&o.column.columnGroup.groupCount>1?to.createElement(Zl.Box,{className:"ab-Layout-Wizard__ColumnRow__Title",ml:2,mr:2,padding:1},"Group: ",o.column.columnGroup.friendlyName):null,to.createElement(Zl.Flex,{mr:2},to.createElement(hte,{showTitle:!1,sortable:o.column.sortable,filterable:o.column.filterable,pivotable:o.column.pivotable,moveable:o.column.moveable,groupable:o.column.groupable,aggregatable:o.column.aggregatable})),to.createElement(Zl.Box,{flex:1}),to.createElement(ue,{"data-name":"expand-collapse","data-value":e?"expanded":"collapsed",ml:10,padding:0,iconSize:24,variant:"text",onClick:()=>t(!e),icon:e?"triangle-up":"triangle-down"})),e&&to.createElement(Zl.Box,{className:"ab-Layout-Wizard__ColumnRow__Expanded-Container",mb:2,padding:2,mt:2},to.createElement(Zl.Flex,{mb:2},to.createElement(Ke,{width:"100%",mr:3},to.createElement(de,{label:"ColumnId"},to.createElement(rt,null,o.column.columnId)),to.createElement(de,{label:"Header"},to.createElement(mt,{"data-name":"column-header",className:"ab-Layout-Wizard__ColumnRow__Input",placehoder:"Custom name (optional)",onChange:()=>{o.onColumnNameChange(o.column.columnId,event.target.value)},value:i})),to.createElement(de,{label:"Width"},to.createElement(mt,{"data-name":"column-width",className:"ab-Layout-Wizard__ColumnRow__Input",type:"number",placeholder:"Column width",onChange:C=>{let y=parseFloat(C.target.value);y=typeof y=="number"&&!isNaN(y)?y:void 0,o.onColumnWidthChange(o.column.columnId,y)},value:u})),to.createElement(de,{label:"Pinning"},to.createElement(Qe,{"data-name":"column-pinning",columns:["label"],items:s},s.find(C=>C.value===a).label))))))},PVe=o=>{let e=pe(),{data:t}=ke(),n=e.api.columnApi.getColumns(),r=to.useMemo(()=>ku(n.map(u=>u.columnId),t.Columns,{sortUnorderedItems:!1}).map(u=>e.api.columnApi.getColumnWithColumnId(u)),[t,n]),i=(u,c)=>{o.onChange(T(S({},t),{PinnedColumnsMap:T(S({},t.PinnedColumnsMap),{[u]:c})}))},a=(u,c)=>{o.onChange(T(S({},t),{ColumnHeadersMap:T(S({},t.ColumnHeadersMap),{[u]:c})}))},s=u=>{var m,h;let c=(m=t.Columns.map(C=>e.api.columnApi.getColumnWithColumnId(C)))!=null?m:[],p=(h=u.map(C=>e.api.columnApi.getColumnWithColumnId(C)))!=null?h:[];!wVe({oldColumns:c,newColumns:p})||o.onChange(T(S({},t),{Columns:u}))},l=(u,c)=>{o.onChange(T(S({},t),{ColumnWidthMap:T(S({},t.ColumnWidthMap),{[u]:c})}))};return to.createElement(J,{style:{height:"100%"}},to.createElement(J.Tab,null,"Columns"),to.createElement(J.Content,null,to.createElement(Zl.Flex,{mt:2,mb:3},to.createElement(hte,{flexDirection:"row",showBoth:!1,labels:{Sortable:"Sortable",Filterable:"Filterable",Aggregatable:"Aggregatable",Groupable:"Groupable",Moveable:"Moveable",Pivotable:"Pivotable"},sortable:!0,filterable:!0,moveable:!0,pivotable:!0,groupable:!0,aggregatable:!0})),to.createElement(Ba,{showSelectedOnlyPosition:"top",showFilterInput:!0,filter:jh,toIdentifier:u=>`${u.columnId}`,toLabel:u=>{var c;return(c=u.friendlyName)!=null?c:u.columnId},toListLabel:u=>to.createElement(eNt,{onColumnNameChange:a,onColumnWidthChange:l,onPinChange:i,layout:t,column:u}),options:r,value:t.Columns,allowReorder:!0,xSelectedLabel:()=>"Selected Columns:",onChange:s})))};d();var Kh=I(require("react")),DVe=I(Ce());var OVe=()=>{var t;let o=pe(),{data:e}=ke();return Kh.createElement(DVe.Box,{p:2,style:{borderRadius:"var(--ab__border-radius)"},backgroundColor:"var(--ab-color-defaultbackground)"},(t=e.PivotColumns)!=null&&t.length?e.PivotColumns.map(n=>Kh.createElement(rt,{mr:1,key:n},o.api.columnApi.getFriendlyNameForColumnId(n))):Kh.createElement(rt,null,"No Column Pivoting"))},FVe=o=>{var a;let e=pe(),{data:t}=ke(),n=e.api.columnApi.getPivotableColumns(),r=Kh.useMemo(()=>{var s;return ku(n.map(l=>l.columnId),(s=t.PivotColumns)!=null?s:[],{sortUnorderedItems:!1}).map(l=>e.api.columnApi.getColumnWithColumnId(l))},[t,n]),i=s=>{o.onChange(T(S({},t),{PivotColumns:s}))};return Kh.createElement(J,{style:{height:"100%"}},Kh.createElement(J.Tab,null,"Pivot Columns"),Kh.createElement(J.Content,null,Kh.createElement(Ba,{showFilterInput:!0,showSelectedOnlyPosition:"top",filter:jh,toIdentifier:s=>`${s.columnId}`,toLabel:s=>{var l;return(l=s.friendlyName)!=null?l:s.columnId},options:r,value:(a=t.PivotColumns)!=null?a:[],allowReorder:!0,xSelectedLabel:()=>"Selected Columns:",onChange:i})))};d();var Al=I(require("react")),fte=I(Ce());var MVe=()=>{var t;let o=pe(),{data:e}=ke();return Al.createElement(fte.Box,null,(t=e.RowGroupedColumns)!=null&&t.length?e.RowGroupedColumns.map(n=>Al.createElement(rt,{mr:1,key:n},o.api.columnApi.getFriendlyNameForColumnId(n))):Al.createElement(rt,null,"No Row Grouping"))},NVe=o=>{var a,s,l;let e=pe(),{data:t}=ke(),n=e.api.columnApi.getGroupableColumns(),r=Al.useMemo(()=>{var u;return ku(n.map(c=>c.columnId),(u=t.RowGroupedColumns)!=null?u:[],{sortUnorderedItems:!1}).map(c=>e.api.columnApi.getColumnWithColumnId(c))},[t,n]),i=u=>{o.onChange(T(S({},t),{RowGroupedColumns:u}))};return Al.createElement(J,{style:{height:"100%"}},Al.createElement(J.Tab,null,"Grouped Rows"),((a=t.ExpandedRowGroupValues)==null?void 0:a.length)&&Al.createElement(J.Tab,null,"Expanded Rows"),Al.createElement(J.Content,null,Al.createElement(Ba,{showFilterInput:!0,showSelectedOnlyPosition:"top",filter:jh,toIdentifier:u=>`${u.columnId}`,toLabel:u=>{var c;return(c=u.friendlyName)!=null?c:u.columnId},options:r,value:(s=t.RowGroupedColumns)!=null?s:[],allowReorder:!0,xSelectedLabel:()=>"Selected Columns:",onChange:i})),((l=t.ExpandedRowGroupValues)==null?void 0:l.length)&&Al.createElement(J.Content,null,Al.createElement(fte.Box,{backgroundColor:"var(--ab-color-defaultbackground)"},Al.createElement(Ke,{p:2},Al.createElement(de,{label:"Values"},t.ExpandedRowGroupValues.map((u,c)=>Al.createElement(rt,{mb:2,mr:2,key:c},u)))))))};d();var jr=I(require("react")),Ib=I(Ce());var Sz="weightedAvg",LVe=o=>{let e=o.AggregationColumns?Object.values(o.AggregationColumns).find(t=>typeof t=="object"&&t.type==="weightedAverage"):null;return e&&!e.weightedColumnId?"The Weighted Average Aggregation requires a Weighted Column":!0},_Ve=()=>{let o=pe(),{data:e}=ke(),t=e.AggregationColumns,n=Object.entries(t!=null?t:{}),r=null;return n.length?r=jr.createElement(Ke,null,n.map(([i,a])=>jr.createElement(de,{key:i,label:o.api.columnApi.getFriendlyNameForColumnId(i)},jr.createElement(rt,null,typeof a=="object"?a.type:a)))):r=jr.createElement(rt,null,"No Aggregations"),jr.createElement(Ib.Box,null,r)},tNt=o=>{var l,u;let e=pe(),t=(u=(l=o.layout)==null?void 0:l.AggregationColumns)==null?void 0:u[o.column.columnId],n=[];o.column.dataType==="Number"&&n.push(Sz);let r=[...o.column.availableAggregationFunctions,...n].map(c=>({label:c,onClick:()=>{let p=S({},o.layout.AggregationColumns);!p||(c===Sz?p[o.column.columnId]={type:"weightedAverage",weightedColumnId:null}:p[o.column.columnId]=c,o.onChangeAggFunction(p))}})),i=o.numberColumns.filter(c=>c.columnId!==o.column.columnId).map(c=>({label:c.friendlyName,onClick:()=>{let p=S({},o.layout.AggregationColumns);!p||(p[o.column.columnId]={type:"weightedAverage",weightedColumnId:c.columnId},o.onChangeAggFunction(p))}})),a=o.aggregationColumnsMap[o.column.columnId],s=null;return typeof t=="object"&&t.type==="weightedAverage"&&(s=t.weightedColumnId?e.api.columnApi.getFriendlyNameForColumnId(t.weightedColumnId):"Select Weight"),jr.createElement(Ib.Flex,{alignItems:"center"},o.column.friendlyName,t&&jr.createElement(Qe,{columns:["label"],items:r,ml:2},a),a===Sz&&jr.createElement(Ib.Flex,{backgroundColor:"primary",ml:3,alignItems:"center"},jr.createElement(Ib.Text,null,"Weight")," ",jr.createElement(Qe,{columns:["label"],items:i,ml:2},s)))},kVe=o=>{var p,m;let e=pe(),{data:t}=ke(),n=e.api.columnApi.getAggregatableColumns(),r=e.api.columnApi.getColumns(),i=e.api.columnApi.getNumericColumns(),a=jr.useMemo(()=>{var h,C;return ku(n.map(y=>y.columnId),(C=Object.keys((h=t.AggregationColumns)!=null?h:{}))!=null?C:[],{sortUnorderedItems:!1}).map(y=>e.api.columnApi.getColumnWithColumnId(y))},[t,n]),s=jr.useCallback(h=>{o.onChange(T(S({},t),{AggregationColumns:h.reduce((C,y)=>{var v,x;return C[y]=(x=(v=t.AggregationColumns)==null?void 0:v[y])!=null?x:e.api.columnApi.getDefaultAggFunc(y),C},{})}))},[t]),l=jr.useCallback(h=>{o.onChange(T(S({},t),{AggregationColumns:h}))},[t]),u=jr.useMemo(()=>{let h=r.reduce((C,y)=>(C[y.columnId]=y,C),{});return Object.keys(t.AggregationColumns||{}).reduce((C,y)=>{var A;let v=(A=t.AggregationColumns)==null?void 0:A[y],x="";return typeof v=="boolean"&&(x=h[y].aggregationFunction),typeof v=="object"&&v.type==="weightedAverage"?x=Sz:typeof v=="string"&&(x=v),C[y]=x,C},{})},[t]),c=h=>{o.onChange(T(S({},t),{SuppressAggFuncInHeader:h}))};return jr.createElement(J,{style:{height:"100%"}},jr.createElement(J.Tab,null,"Columns Aggregations"),jr.createElement(J.Content,null,jr.createElement(Ib.Flex,null,jr.createElement(Ke,null,jr.createElement(Ne,{checked:t.SuppressAggFuncInHeader,onChange:c},"Suppress Aggregation Function in Header"))),jr.createElement(Ba,{showFilterInput:!0,showSelectedOnlyPosition:"top",filter:jh,toIdentifier:h=>`${h.columnId}`,toLabel:h=>{var C;return(C=h.friendlyName)!=null?C:h.columnId},toListLabel:h=>jr.createElement(tNt,{onChangeAggFunction:l,layout:t,column:h,aggregationColumnsMap:u,numberColumns:i}),options:a,value:(m=Object.keys((p=t.AggregationColumns)!=null?p:{}))!=null?m:[],allowReorder:()=>!1,xSelectedLabel:()=>"Active aggregations:",onChange:s})))};d();var xl=I(require("react")),gte=I(Ce());d();var vz=(o,e)=>{var n;let t=r=>e.columnApi.getFriendlyNameForColumnId(r);return{name:"Sort",values:((n=o.ColumnSorts)!=null?n:[]).map(r=>`[${t(r.ColumnId)}: ${r.SortOrder}]`)}};var BVe=()=>{let{data:o}=ke(),e=pe(),t=vz(o,e.api);return xl.createElement(gte.Box,null,t.values.length?t.values.map(n=>xl.createElement(rt,{key:n,mb:1,mr:1},n)):xl.createElement(rt,null,"No Sorts"))},oNt=o=>{var n,r,i;let e=(i=((r=(n=o.layout)==null?void 0:n.ColumnSorts)!=null?r:[]).find(a=>a.ColumnId===o.column.columnId))==null?void 0:i.SortOrder,t=e==="Asc"?"sort-asc":"sort-desc";return xl.createElement(gte.Box,null,o.column.friendlyName,e&&xl.createElement(ue,{ml:2,onClick:()=>o.onSortChange(o.column.columnId,e==="Asc"?"Desc":"Asc"),variant:"raised",icon:t}))},VVe=o=>{var s;let e=pe(),{data:t}=ke(),n=e.api.columnApi.getSortableColumns(),r=xl.useMemo(()=>{var l;return ku(n.map(u=>u.columnId),((l=t.ColumnSorts)!=null?l:[]).map(u=>u.ColumnId),{sortUnorderedItems:!1}).map(u=>e.api.columnApi.getColumnWithColumnId(u))},[t,n]),i=xl.useCallback(l=>{o.onChange(T(S({},t),{ColumnSorts:(l||[]).map(u=>{var p,m,h;let c=(h=(m=(p=t.ColumnSorts)==null?void 0:p.find(C=>C.ColumnId===u))==null?void 0:m.SortOrder)!=null?h:"Asc";return{ColumnId:u,SortOrder:c}})}))},[t]),a=xl.useCallback((l,u)=>{var c;o.onChange(T(S({},t),{ColumnSorts:(c=t.ColumnSorts)==null?void 0:c.map(p=>p.ColumnId===l?T(S({},p),{SortOrder:u}):p)}))},[t]);return xl.createElement(J,{style:{height:"100%"}},xl.createElement(J.Tab,null,"Column Sorts"),xl.createElement(J.Content,null,xl.createElement(Ba,{showFilterInput:!0,showSelectedOnlyPosition:"top",filter:jh,toIdentifier:l=>`${l.columnId}`,toLabel:l=>{var u;return(u=l.friendlyName)!=null?u:l.columnId},toListLabel:l=>xl.createElement(oNt,{onSortChange:a,layout:t,column:l}),options:r,value:((s=t.ColumnSorts)!=null?s:[]).map(l=>l.ColumnId),allowReorder:()=>!0,xSelectedLabel:()=>"Active aggregations:",onChange:i})))};d();var Ss=I(require("react")),Cte=I(Ce());d();var Az=(o,e)=>{var n;let t=r=>e.columnApi.getFriendlyNameForColumnId(r);return{name:"Filter",values:((n=o.ColumnFilters)!=null?n:[]).map(r=>{var i,a;return`[${t(r.ColumnId)}: ${r.Predicate.PredicateId} ${((a=(i=r.Predicate)==null?void 0:i.Inputs)!=null?a:[]).map(s=>typeof s=="string"?s:typeof(s==null?void 0:s.toString)=="function"?s.toString():"").filter(Boolean).join(", ")}]`})}};var GVe=o=>{var t,n;return((n=(t=o.ColumnFilters)!=null?t:[])==null?void 0:n.filter(r=>{var i;return!((i=r==null?void 0:r.Predicate)!=null&&i.PredicateId)})).length>0?"Please select a predicate for each column filter":!0},HVe=()=>{let{data:o}=ke(),e=pe(),t=Az(o,e.api);return Ss.createElement(Cte.Box,null,t.values.length?t.values.map(n=>Ss.createElement(rt,{key:n,mb:1,mr:1},n)):Ss.createElement(rt,null,"No Filters"))},UVe=o=>{var l;let e=pe(),t=e.ModuleService.getModuleById(wi),{data:n}=ke(),r=(l=n.ColumnFilters)!=null?l:[],i=Ss.useCallback(u=>{o.onChange(T(S({},n),{ColumnFilters:r.filter(c=>c.ColumnId!==u.ColumnId)}))},[n]),a=Ss.useCallback((u,c)=>{o.onChange(T(S({},n),{ColumnFilters:r.map(p=>p.ColumnId===c.ColumnId?T(S({},c),{Predicate:u}):p)}))},[n.ColumnFilters]),s=Ss.useMemo(()=>e.api.columnApi.getFilterableColumns().filter(u=>{var c;return!((c=n.ColumnFilters)!=null&&c.some(p=>u.columnId===p.ColumnId))}).map(({columnId:u})=>({label:e.api.columnApi.getFriendlyNameForColumnId(u),onClick:()=>{o.onChange(T(S({},n),{ColumnFilters:[...r,{ColumnId:u,Predicate:null}]}))}})),[n,r]);return Ss.createElement(J,{style:{height:"100%"}},Ss.createElement(J.Tab,null,"Column Filters"),Ss.createElement(J.Content,null,Ss.createElement(Ke,{mb:2},Ss.createElement(de,{label:"Add new filter"},Ss.createElement(Qe,{"data-name":"select-column",minWidth:250,items:s,mr:2,columns:["label"]},"Select Column"))),(r==null?void 0:r.length)>0&&Ss.createElement(Cte.Box,{p:0,as:"ul"},r.map(u=>{let c=e.api.filterApi.getFilterPredicateDefsForColumnId(u.ColumnId),p=[...t.toView(u).items,{name:"Filter",view:Ss.createElement(YT,{columnId:u.ColumnId,predicate:u.Predicate,predicateDefs:c,onChange:m=>a(m,u),onClear:()=>a(null,u)})}];return Ss.createElement(yee,{module:t,abObject:u,entityType:"Filter",showActions:!0,showEditButton:!1,items:p,onDelete:()=>i(u),key:u.ColumnId})}))))};var WVe=o=>{var u,c;let e=yt(),t=pe(),n=t.api.layoutApi.getLayouts(),r=(c=o.data)!=null?c:(u=o.popupParams)==null?void 0:u.value,[i,a]=Sr.useState(()=>{var m;let p=null;return r?(p=zo(r),((m=o==null?void 0:o.popupParams)==null?void 0:m.action)==="Clone"&&(p.Name="")):p=it.CreateEmptyLayout({Name:""}),p.SuppressAggFuncInHeader===void 0&&(p.SuppressAggFuncInHeader=!!t.api.gridApi.getAgGridInstance().suppressAggFuncInHeader),p}),s=()=>{var m;let p=(m=o==null?void 0:o.popupParams)==null?void 0:m.action;switch(p||(p=r?"Edit":"New"),p){case"Edit":let h=t.api.layoutApi.getCurrentLayout();e(rh(i)),h.Uuid===i.Uuid&&e(ih(i.Name));break;case"Clone":let C=S({},i);delete C.Uuid,e($C(C)),e(ih(C.Name));break;case"New":e($C(i)),e(ih(i.Name))}o.onFinishWizard(i)},l=t.api.layoutApi.internalApi.getLayoutSupportedFeatures();return Sr.createElement(rr,{titleContainerStyle:{width:180},defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:i,onHide:o.onCloseWizard,onFinish:s,sections:[{title:"Settings",details:"Configure Layout",isValid:()=>i.Name?n.some(p=>p.Name===i.Name&&p.Uuid!==i.Uuid)?"A Layout already exists with that name":!0:"Layout name cannot be blank",renderSummary:()=>Sr.createElement(RVe,null),render:()=>Sr.createElement(Rg.Box,{padding:2},Sr.createElement(EVe,{onChange:p=>a(p)}))},{title:"Columns",details:"Select Columns",isVisible:()=>!(i!=null&&i.EnablePivot),renderSummary:()=>Sr.createElement(IVe,null),render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(PVe,{onChange:a}))},{title:"Pivot Columns",details:"Select Pivot Columns",isVisible:()=>(i==null?void 0:i.EnablePivot)&&l.PivotColumns,renderSummary:()=>Sr.createElement(OVe,null),render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(FVe,{onChange:p=>a(p)}))},{title:"Row Groups",isVisible:()=>l.RowGroupedColumns,details:"Configure Row Grouping",renderSummary:()=>Sr.createElement(MVe,null),render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(NVe,{onChange:a}))},{title:"Aggregations",isVisible:()=>l.AggregationColumns,details:"Select Column Aggregations",renderSummary:()=>Sr.createElement(_Ve,null),isValid:p=>LVe(p),render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(kVe,{onChange:a}))},{title:"Sort",isVisible:()=>l.ColumnSorts,renderSummary:()=>Sr.createElement(BVe,null),details:"Configure Column Sorts",render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(VVe,{onChange:p=>a(p)}))},{title:"Filters",isVisible:()=>l.ColumnFilters,isValid:p=>GVe(p),details:"View Column Filters",renderSummary:()=>Sr.createElement(HVe,null),render:()=>Sr.createElement(Rg.Box,{p:2,style:{height:"100%"}},Sr.createElement(UVe,{onChange:p=>a(p)}))},"-",{details:"Review your Layout",render:()=>Sr.createElement(Rg.Box,{padding:2},Sr.createElement(Ir,null)),title:"Summary"}]})};d();var RI="weightedAvg";var ZVe=I(XVe());var xz=class extends It{constructor(t){super(Su,I7,"grid","LayoutPopup","Named sets of column visibility, order, groupings, aggregation, pivots etc.",t);this.clearUnsuportedFeaturesFromLayout=t=>{let n=this.api.layoutApi.internalApi.getLayoutSupportedFeatures(),r=!1,i=S({},t);!n.RowGroupedColumns&&t.RowGroupedColumns&&(delete i.RowGroupedColumns,r=!0),!n.AggregationColumns&&t.AggregationColumns&&(delete i.AggregationColumns,r=!0),!n.PivotColumns&&t.PivotColumns&&(delete i.PivotColumns,delete i.EnablePivot,r=!0),!n.ColumnFilters&&t.ColumnFilters&&(delete i.ColumnFilters,r=!0),!n.ColumnSorts&&t.ColumnSorts&&(delete i.ColumnSorts,r=!0),r&&this.api.layoutApi.createOrUpdateLayout(i)};this.api.eventApi.on("LayoutChanged",n=>{var r;n.newLayoutState.CurrentLayout!==((r=n.oldLayoutState)==null?void 0:r.CurrentLayout)&&this.handleLayoutChange()})}updateOldConfig(){this.api.gridApi.getAgGridRowModelType()==="viewport"&&this.api.layoutApi.getLayouts().forEach(this.clearUnsuportedFeaturesFromLayout)}getModuleAdaptableObjects(){return this.api.layoutApi.getLayouts()}getExplicitlyReferencedColumnIds(t){let n=[];return n.push(...t.Columns),t.AggregationColumns&&n.push(...Object.keys(t.AggregationColumns)),t.PivotColumns&&n.push(...t.PivotColumns),t.RowGroupedColumns&&n.push(...t.RowGroupedColumns),Array.from(new Set(n))}getTeamSharingReferences(t){let n=super.getTeamSharingReferences(t),r=t.Name;if(this.api.layoutApi.internalApi.hasLayoutSpecificObjects()&&!!r){let i=[],a={associatedWithLayout:r};this.api.alertApi.getAlertDefinitions(a).forEach(s=>i.push({Reference:s,Module:"Alert"})),this.api.customSortApi.getCustomSorts(a).forEach(s=>i.push({Reference:s,Module:"CustomSort"})),this.api.flashingCellApi.getFlashingCellDefinitions(a).forEach(s=>i.push({Reference:s,Module:"FlashingCell"})),this.api.formatColumnApi.getFormatColumns(a).forEach(s=>i.push({Reference:s,Module:"FormatColumn"})),this.api.plusMinusApi.getAllPlusMinus(a).forEach(s=>i.push({Reference:s,Module:"PlusMinus"})),this.api.shortcutApi.getShortcuts(a).forEach(s=>i.push({Reference:s,Module:"Shortcut"})),[...this.api.scheduleApi.getReportSchedules(a),...this.api.scheduleApi.getReminderSchedules(a),...this.api.scheduleApi.getGlue42Schedules(a),...this.api.scheduleApi.getIPushPullSchedules(a),...this.api.scheduleApi.getOpenFinSchedules(a)].forEach(s=>i.push({Reference:s,Module:"Schedule"})),n.push(...i)}return n}hasNamedQueryReferences(){return!1}handleAdaptableReady(){requestAnimationFrame(()=>{this.api.layoutApi.internalApi.fireLayoutChangedEvent("ADAPTABLE_READY",null,this.api.layoutApi.getLayoutState())})}addColumnMenuItems(t){var r,i;let n=[];if(this.isModuleEditable()){let a=this.api.layoutApi.isCurrentLayoutReadOnly();a||n.push(this.createColumnMenuItemShowPopup("Edit Layout",this.moduleInfo.Popup,this.moduleInfo.Glyph,{action:"Edit",source:"ColumnMenu",value:this.api.layoutApi.getCurrentLayout()})),t&&(a||n.push(this.createColumnMenuItemClickFunction("Change Caption","edit",()=>this.api.layoutApi.showChangeColumnCaption(t))),t.hideable&&n.push(this.createColumnMenuItemClickFunction("Hide Column","visibility-off-bold",()=>{this.api.columnApi.hideColumn(t.columnId)})));let s=[];t&&(((i=(r=this.api.gridApi.getSelectedCellInfo())==null?void 0:r.gridCells)==null?void 0:i.length)?(s.push(this.createColumnMenuItemClickFunction("Column (Preserve Selection)","column-add",()=>{this.api.columnApi.addColumnToSelection(t.columnId)})),s.push(this.createColumnMenuItemClickFunction("Column (Reset Selection)","columns",()=>{this.api.columnApi.selectColumn(t.columnId)}))):s.push(this.createColumnMenuItemClickFunction("Column","columns",()=>{this.api.columnApi.selectColumn(t.columnId)}))),s.push(this.createColumnMenuItemClickFunction("Whole Grid",this.moduleInfo.Glyph,()=>{this.api.gridApi.selectAll()})),n.push({label:"Select",isVisible:!0,module:this.moduleInfo.ModuleName,icon:{name:"tab-unselected"},subItems:s})}return n}addContextMenuItems(t){let n=[];if(this.isModuleEditable()&&!this.api.layoutApi.isCurrentLayoutReadOnly()&&n.push(this.createColumnMenuItemShowPopup("Edit Layout",this.moduleInfo.Popup,this.moduleInfo.Glyph,{action:"Edit",source:"ColumnMenu"})),t.selectedCellInfo&&We.IsNotNullOrEmpty(t.selectedCellInfo.columns)||t.selectedRowInfo&&We.IsNotNullOrEmpty(t.selectedRowInfo.gridRows)){let i=()=>{this.api.gridApi.deselectAll()};if(n.push(this.createColumnMenuItemClickFunction("Clear Selected Cells","undo",i)),this.isModuleAvailable()){let a=[],s=()=>{this.api.columnApi.autosizeAllColumns()};a.push(this.createColumnMenuItemClickFunction("Auto Size","arrow-expand",s));let l=()=>{this.api.gridApi.selectAll()};a.push(this.createColumnMenuItemClickFunction("Select","tab-unselected",l)),n.push({label:"Grid",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:"align-justify"},subItems:a})}}let r=this.createViewPivotItemsMenuItem(t);return r&&n.push(r),n}createViewPivotItemsMenuItem(t){var y,v,x,A,R,w,P,D,F,M;if(((v=(y=t.selectedCellInfo)==null?void 0:y.gridCells)==null?void 0:v.length)!==1)return;let n=this.api.layoutApi.getCurrentLayout();if(!n.EnablePivot)return;let{agGridColumn:r}=t,i=r.getColId(),a=this.api.columnApi.isAutoPivotColumn(i);if(!a&&this.api.columnApi.getColumnDataTypeForColumnId(i)!=="Number")return;let s=(w=(R=(A=(x=r==null?void 0:r.getColDef)==null?void 0:x.call(r).pivotValueColumn)==null?void 0:A.getColDef)==null?void 0:R.call(A))==null?void 0:w.field,l=(F=(D=(P=r==null?void 0:r.getColDef)==null?void 0:P.call(r))==null?void 0:D.pivotKeys)==null?void 0:F[0],u=(M=n==null?void 0:n.PivotColumns)==null?void 0:M[0];function c(O){return[...O.map(_=>_.childrenAfterFilter?c(_.childrenAfterFilter):_.data)]}let p=(0,ZVe.default)(c(t.rowNode.childrenAfterFilter)),m=n.RowGroupedColumns,h=a?t.rowNode.aggData[i]:t.gridCell.displayValue,C={hasPivotValue:a,columnId:i,rowGroups:m,rows:p,layout:n,aggColumn:s,pivotValue:l,pivotColumnId:u};return{isVisible:!0,label:"Expand Aggregated Value",onClick:()=>{this.api.internalApi.showPopupWindow({id:K2,factoryId:K2,title:`Rows for Aggregated Value: ${h}`,icon:void 0,popupProps:C})},icon:{name:"arrow-expand"}}}getTeamSharingAction(){return{ModuleEntities:this.api.layoutApi.getLayouts(),AddAction:$C,EditAction:rh}}toViewAll(){return this.getModuleAdaptableObjects().map(t=>this.toView(t))}toView(t){var a,s,l,u,c,p;let n=(s=(a=this.api.optionsApi.getLayoutOptions().layoutViewOptions)==null?void 0:a.maxColumnsToDisplay)!=null?s:10,r=m=>this.api.columnApi.getFriendlyNameForColumnId(m),i=t.Columns.filter(m=>!this.api.columnApi.isAutoRowGroupColumn(m)).filter(m=>!this.api.columnApi.isAutoPivotColumn(m));if(i.length>n+1){let m=i.length-n;i=[...i.slice(0,n).map(C=>r(C)),`and other ${m}`]}else i=i.map(m=>r(m));return{items:[{name:"Name",values:[t.Name]},{name:"Layout Grid Type",values:[t!=null&&t.EnablePivot?"Pivot":"Table"]},!t.EnablePivot&&{name:"Columns",values:i},((l=t.ColumnSorts)==null?void 0:l.length)&&vz(t,this.api),((u=t==null?void 0:t.ColumnFilters)==null?void 0:u.length)&&Az(t,this.api),((c=t==null?void 0:t.RowGroupedColumns)==null?void 0:c.length)&&{name:"Grouped Columns",values:t.RowGroupedColumns.map(m=>r(m))},((p=t==null?void 0:t.PivotColumns)==null?void 0:p.length)&&{name:"Pivot Columns",values:t.PivotColumns.map(m=>r(m))},(t==null?void 0:t.AggregationColumns)&&Object.keys(t==null?void 0:t.AggregationColumns).length&&{name:"Aggregation Columns",values:Object.entries(t==null?void 0:t.AggregationColumns).map(([m,h])=>{if(m==="Source"||m==="Uuid")return"";let C="";return typeof h=="string"?C=h:typeof h=="object"&&h.type==="weightedAverage"&&(C=RI),`${C}(${r(m)})`}).filter(Boolean)}].filter(Boolean),abObject:t}}getViewProperties(){return{actions:[yVe,AVe],getDeleteAction:t=>this.getModuleAdaptableObjects().length===1?null:GE(t),getEditWizard:()=>WVe,getStatusBarPanelProps:()=>{let t=this.api.layoutApi.getCurrentLayoutName(),r=this.api.layoutApi.getLayouts().length>1?SVe:null;return{content:t,popover:r,popoverMinWidth:150,extraActions:[vVe,xVe]}}}}handleLayoutChange(){!this.api.layoutApi.internalApi.hasLayoutSpecificObjects()||(this.api.internalApi.getModuleService().getModuleById("PlusMinus").checkListenToKeyDown(),this.api.internalApi.getModuleService().getModuleById("Shortcut").checkListenToKeyDown(),this.api.internalApi.getModuleService().getModuleById("Schedule").setUpScheduleJobs(),this.api.internalApi.getAdaptableInstance().setupColumns())}};d();var Rz=class extends It{constructor(t){super(di,D7,"add-circle","PlusMinusPopup","Configure how a cell value will edit when the + or - keys are pressed",t);this.shouldHandleKeyDown=!1,this.adaptable=t.internalApi.getAdaptableInstance()}getModuleAdaptableObjects(t){return this.api.plusMinusApi.getAllPlusMinus(t)}getExplicitlyReferencedColumnIds(t){return this.api.scopeApi.scopeHasColumns(t.Scope)?this.api.scopeApi.getColumnsForScope(t.Scope).map(n=>n.columnId):[]}getReferencedNamedQueryNames(t){var n,r;return(n=t.Rule)!=null&&n.BooleanExpression?this.api.queryApi.internalApi.getReferencedNamedQueryNames((r=t.Rule)==null?void 0:r.BooleanExpression):[]}handleAdaptableReady(){let t=this.api.plusMinusApi.getAllPlusMinus();this.shouldHandleKeyDown=pt.IsNotNullOrEmpty(t),this.shouldHandleKeyDown&&this.adaptable._on("KeyDown",n=>{this.handleKeyDown(n)})}checkListenToKeyDown(){let t=this.shouldHandleKeyDown,n=pt.IsNotNullOrEmpty(this.api.plusMinusApi.getAllPlusMinus());!t&&n&&this.adaptable._on("KeyDown",r=>{this.handleKeyDown(r)}),this.shouldHandleKeyDown=n}addColumnMenuItems(t){if(t&&this.isModuleEditable()&&t.dataType=="Number"){let n={column:t,action:"New",source:"ColumnMenu"};return[this.createColumnMenuItemShowPopup("Create Plus/Minus Rule",this.moduleInfo.Popup,this.moduleInfo.Glyph,n)]}}handleKeyDown(t){if(this.shouldHandleKeyDown){let n=qo.getStringRepresentionFromKey(t);if(n=="-"||n=="+"){let r=this.api.plusMinusApi.getAllActivePlusMinus();if(pt.IsNotNullOrEmpty(r)){let i=n=="-"?"down":"up",a=this.api.gridApi.getSelectedCellInfo();this.applyPlusMinus(r,a.gridCells,i)&&t.preventDefault()}}}}applyPlusMinus(t,n,r){let i=!1,a=[],s=[],l=r=="up"?1:-1;if(n.forEach(u=>{if(u.column&&u.column.dataType=="Number"&&!u.column.readOnly){let c,p;if(t.forEach(m=>{if(!c&&this.api.scopeApi.isColumnInScope(u.column,m.Scope)&&this.api.gridApi.isCellEditable(u)&&(typeof u.rawValue!="number"&&(u.rawValue=parseFloat(u.rawValue)),this.isPlusMinusNudgeApplied(m,u))){c=m,i=!0;let C=u.rawValue+m.NudgeValue*l;p={primaryKeyValue:u.primaryKeyValue,column:u.column,rawValue:C,displayValue:C,normalisedValue:C,rowNode:u.rowNode}}}),c&&p){let m=this.api.internalApi.buildDataChangedInfo({oldValue:Number(u.rawValue),newValue:p.rawValue,column:u.column,primaryKeyValue:u.primaryKeyValue,rowNode:u.rowNode,trigger:"edit"}),h=this.api.internalApi.getValidationService().getValidationRulesForDataChange(m);h.length>0?s.push(h[0]):a.push(p)}}}),this.ShowErrorPreventMessage(s),pt.IsNotNullOrEmpty(a)){let u=[];a.forEach(c=>{u.push({columnId:c.column.columnId,newValue:c.normalisedValue,primaryKeyValue:c.primaryKeyValue,rowNode:c.rowNode})}),this.api.plusMinusApi.applyPlusMinus(u)}return i}isPlusMinusNudgeApplied(t,n){var r;return(r=t.Rule)!=null&&r.BooleanExpression?this.evaluateExpression(t,n.rowNode):!0}evaluateExpression(t,n){var r;return this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression((r=t.Rule)==null?void 0:r.BooleanExpression,di,n)}ShowErrorPreventMessage(t){if(t.length>0){let n=[];t.forEach(r=>{let i=this.api.internalApi.getValidationService().createValidationMessage(r)+`
591
591
  `;n.find(s=>s==i)==null&&n.push(i)}),this.api.alertApi.showAlertError("Nudge(s) failed rule",n.toString())}}getTeamSharingAction(){return{ModuleEntities:this.api.plusMinusApi.getAllPlusMinus(),AddAction:YC,EditAction:jf}}toView(t){return{abObject:t,items:[S({name:"Target"},zc(t.Scope,this.api)),t.Rule&&{name:"Settings",label:"Rule",values:Tb(t.Rule,this.api).values},{name:"Settings",label:"Nudge Value",values:[t.NudgeValue]},er(t,this.api)].filter(Boolean)}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(t=>this.toView(t))}getViewProperties(){return{getEditAction:jf,getDeleteAction:yk,getSuspendAction:bk,getUnSuspendAction:Sk,getSuspendAllAction:mbe,getUnSuspendAllAction:hbe,getEditWizard(){return L3}}}canBeAssociatedWithLayouts(){return!0}};d();d();var Pb=I(require("react")),uGe=require("react"),Ste=I(Ce());d();var Eg=I(require("react")),tGe=I(Ce());d();var JVe=I(require("react"));var cNt=o=>JVe.createElement(Sn,T(S({border:"none",borderRadius:"none",variant:"primary",bodyScroll:!0},o),{className:$e(o.className,"ab-WizardPanel"),style:S({height:"100%"},o.style)})),eGe=cNt;var bte=(o,e)=>{let t=e.queryApi.isValidNamedQueryName(o),n=t.valid?null:t.message;return n||!0},oGe=o=>Eg.createElement(tGe.Text,{fontSize:2},"Name: ",Eg.createElement(rt,null,o.Name)),nGe=o=>{let{data:e,api:t}=ke(),n=bte(e,t),r=n===!0?null:n,i=a=>{let s=a.target;o.onChange(T(S({},e),{Name:s.value}))};return Eg.createElement(eGe,{"data-name":"named-query-settings"},Eg.createElement(Ke,null,Eg.createElement(de,{label:"Name"},Eg.createElement(oo,{"data-name":"query-name",value:e.Name,autoFocus:!0,width:300,type:"text",placeholder:"Enter Named Query Name",onChange:a=>i(a)}))," ",r?Eg.createElement(de,{label:""},Eg.createElement(_s,null,r)):null))};d();var Ez=I(require("react")),rGe=require("react"),iGe=I(Ce());var aGe=(o,e)=>{if(!o.BooleanExpression)return"Expression is empty";let t=e.expressionApi.isValidBooleanExpression(o.BooleanExpression,cr);return t||"Query is not a valid Boolean Query"},sGe=o=>{let{api:e}=ke();return Ez.createElement(iGe.Text,{fontSize:2},"Expression: ",Ez.createElement(rt,null,e.internalApi.getAdaptableQueryExpressionText(o)))},lGe=o=>{let{data:e,moduleInfo:t,api:n}=ke(),r=(0,rGe.useMemo)(()=>n.internalApi.getQueryPreviewData(),[]);return Ez.createElement(Nu,{allowSaveNamedQuery:!1,type:"boolean",module:t.ModuleName,value:e.BooleanExpression,onChange:i=>{o.onChange(T(S({},e),{BooleanExpression:i}))},initialData:r,columns:n.columnApi.getQueryableColumns(),namedQueries:n.queryApi.getNamedQueries(),api:n})};function dGe(o){let[e,t]=(0,uGe.useState)(()=>{var a,s;let i=(s=(a=o.popupParams)==null?void 0:a.value)!=null?s:"";return o.data?zo(o.data):it.CreateEmptyNamedQuery(i)}),n=yt(),r=()=>{o.data?n(fV(e)):n(ty(e)),o.onFinishWizard(e)};return Pb.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,onFinish:r,sections:[{title:"Expression",details:"Specify the Query's Expression",renderSummary:sGe,isValid:aGe,render:()=>Pb.createElement(lGe,{onChange:t})},{title:"Query Name",details:"Specify a unique name for the Query",renderSummary:oGe,isValid:bte,render:()=>Pb.createElement(nGe,{onChange:t})},{details:"Select Query Tags",title:"Tags",isVisible:(i,a)=>a.internalApi.shouldDisplayTagSections(),render:()=>Pb.createElement(Ste.Box,{padding:2},Pb.createElement(Pr,{onChange:t})),renderSummary:Dr},"-",{title:"Summary",details:"Review your Query",render:()=>Pb.createElement(Ste.Box,{padding:2},Pb.createElement(Ir,null))}],onHide:o.onCloseWizard,moduleInfo:o.moduleInfo,data:e})}d();var wz=I(require("react"));var cGe=()=>{let o=pe(),e=wz.useCallback(t=>{t.stopPropagation(),o.api.queryApi.expandCurrentQuery()},[]);return wz.createElement(ue,{variant:"text",iconSize:15,onClick:e,icon:"edit"})};var Tz=class extends It{constructor(e){super(cr,O7,"search","QueryPopup","Run real-time text-based queries using a wealth of powerful functions and operators",e)}getModuleAdaptableObjects(){return this.api.queryApi.getNamedQueries()}getTeamSharingAction(){return{ModuleEntities:this.api.queryApi.getNamedQueries(),AddAction:ty,EditAction:fV}}getExplicitlyReferencedColumnIds(e){return this.api.expressionApi.getColumnsFromExpression(e.BooleanExpression)}getReferencedNamedQueryNames(e){return this.api.queryApi.internalApi.getReferencedNamedQueryNames(e.BooleanExpression)}toView(e){return{abObject:e,items:[{name:"Query Name",values:[e.Name]},{name:"Expression",values:[this.api.internalApi.getAdaptableQueryExpressionText(e)]},er(e,this.api)]}}toViewAll(){return this.getModuleAdaptableObjects().map(e=>this.toView(e))}getViewProperties(){return{getDeleteAction:MSe,newTooltipText:"Create New Named Query",emptyView:"Click 'New' to create a Named Query that can be referenced in other Expressions",getEditWizard:()=>dGe,getStatusBarPanelProps:()=>{let t=this.api.queryApi.getCurrentQuery(),n=t,r=null;return t.length>15&&(n=t.substring(0,15-3)+"...",r=t),{content:n||"No Query",extraActions:[cGe],popover:r}}}}};d();d();var Iz=I(require("react"));var pGe=()=>{let o=_t(r=>r.QuickSearch.QuickSearchText),e=yt(),t=pe(),n=Iz.useCallback(r=>e(Kp(r)),[]);return Iz.createElement(Cl,{onClick:r=>r.stopPropagation(),type:"text",inputStyle:{padding:"2px 3px",width:90},placeholder:t.api.optionsApi.getQuickSearchOptions().quickSearchPlaceholder,value:o,OnTextChange:n})};var Pz=class extends It{constructor(e){super(kl,F7,"search-table","QuickSearchPopup","Quickly highlight all cells in the grid that contain matching query text",e)}getViewProperties(){return{getStatusBarPanelProps(){return{content:pGe}}}}};d();d();var eu=I(require("react")),F0=I(Ce());d();d();var wg=I(require("react"));d();var Rl=I(require("react")),mGe=I(Ce());var pNt=["Success","Info","Warning","Error"],hGe=o=>{var a,s,l,u,c;let e=pNt.map(p=>({label:p,value:p,onClick:()=>{o.onChange(T(S({},o.reminderSchedule),{MessageType:p}))}})),t=p=>{var m;o.onChange(T(S({},o.reminderSchedule),{Header:(m=p.target)==null?void 0:m.value}))},n=p=>{var m;o.onChange(T(S({},o.reminderSchedule),{Message:(m=p.target)==null?void 0:m.value}))},r=p=>{o.onChange(T(S({},o.reminderSchedule),{DisplayNotification:p}))},i=p=>{o.onChange(T(S({},o.reminderSchedule),{DisplaySystemStatusMessage:p}))};return Rl.createElement(mGe.Box,{"data-name":"schedule-settings-remainder"},Rl.createElement(J,{autoFocus:!1},Rl.createElement(J.Tab,null,"Reminder Schedule Settings"),Rl.createElement(J.Content,null,Rl.createElement(Ke,null,Rl.createElement(de,{label:"Header"},Rl.createElement(mt,{"data-name":"header",width:300,onChange:t,placeholder:"Enter Reminder Header",type:"string",value:(a=o.reminderSchedule)==null?void 0:a.Header})),Rl.createElement(de,{label:"Message"},Rl.createElement(mt,{"data-name":"message",width:300,onChange:n,placeholder:"Enter Reminder Message",type:"string",value:(s=o.reminderSchedule)==null?void 0:s.Message})),Rl.createElement(de,{label:"Type"},Rl.createElement(Qe,{"data-name":"message-type",style:{width:300},columns:["label"],placeholder:"Select Option",items:e},((l=o.reminderSchedule)==null?void 0:l.MessageType)||"Select Option")),Rl.createElement(de,{label:""},Rl.createElement(Ne,{"data-name":"display-notification",checked:(u=o.reminderSchedule)==null?void 0:u.DisplayNotification,onChange:r},"Show the Reminder as a Notification")),Rl.createElement(de,{label:""},Rl.createElement(Ne,{"data-name":"display-system-status",checked:(c=o.reminderSchedule)==null?void 0:c.DisplaySystemStatusMessage,onChange:i},"Display a System Status Message"))))))};d();var Qh=I(require("react")),fGe=I(Ce());var mNt=["Excel","CSV","Clipboard","JSON"],gGe=o=>{var r,i;let e=o.allReports.map(a=>({label:a.Name,value:a.Name,onClick:()=>o.onChange(T(S({},o.report),{ReportName:a.Name}))})),t=o.customDestinations.map(a=>a.name),n=[...mNt,...t].map(a=>({label:a,value:a,onClick:()=>{o.onChange(T(S({},o.report),{ExportDestination:a}))}}));return Qh.createElement(fGe.Box,{"data-name":"schedule-settings-report"},Qh.createElement(J,{autoFocus:!1,mb:3},Qh.createElement(J.Tab,null,"Report Schedule Settings"),Qh.createElement(J.Content,null,Qh.createElement(Ke,null,Qh.createElement(de,{label:"Export"},Qh.createElement(Qe,{"data-name":"select-report",columns:["label"],style:{width:300},items:e},((r=o==null?void 0:o.report)==null?void 0:r.ReportName)||"Select Report")),Qh.createElement(de,{label:"Destination"},Qh.createElement(Qe,{"data-name":"select-destination",columns:["label"],style:{width:300},items:n},((i=o==null?void 0:o.report)==null?void 0:i.ExportDestination)||"Select Destination"))))))};d();var Qs=I(require("react")),CGe=I(Ce());var yGe=o=>{var i,a,s,l,u,c;let e=o.allReports.map(p=>({label:p.Name,value:p.Name,onClick:()=>o.onChange(T(S({},o.iPushPull),{IPushPullReport:T(S({},o.iPushPull.IPushPullReport),{ReportName:p.Name})}))})),t=o.allFolders.map(p=>({label:p.Name,value:p.Name,onClick:()=>o.onChange(T(S({},o.iPushPull),{IPushPullReport:T(S({},o.iPushPull.IPushPullReport),{Folder:p.Name})}))})),n=o.availablePages.map(p=>({label:p,value:p,onClick:()=>o.onChange(T(S({},o.iPushPull),{IPushPullReport:T(S({},o.iPushPull.IPushPullReport),{Page:p})}))})),r=p=>o.onChange(T(S({},o.iPushPull),{Transmission:p}));return Qs.createElement(CGe.Box,{"data-name":"schedule-settings-ipushpull"},Qs.createElement(J,{autoFocus:!1},Qs.createElement(J.Tab,null,"Ipushpull Schedule Settings"),Qs.createElement(J.Content,null,Qs.createElement(Ke,null,Qs.createElement(de,{label:"Select Report"},Qs.createElement(Qe,{"data-name":"report-name",disabled:o.allReports.length==0,items:e,style:{width:300}},((a=(i=o==null?void 0:o.iPushPull)==null?void 0:i.IPushPullReport)==null?void 0:a.ReportName)||"Select Report")),Qs.createElement(de,{label:"Select Folder"},Qs.createElement(Qe,{"data-name":"folder-name",disabled:o.allFolders.length==0,items:t,style:{width:300}},((l=(s=o==null?void 0:o.iPushPull)==null?void 0:s.IPushPullReport)==null?void 0:l.Folder)||"Select Folder")),Qs.createElement(de,{label:"Select Page"},Qs.createElement(Qe,{"data-name":"page-name",disabled:o.allFolders.length==0,items:n,style:{width:300}},((c=(u=o==null?void 0:o.iPushPull)==null?void 0:u.IPushPullReport)==null?void 0:c.Page)||"Select Page")),Qs.createElement(de,{label:"Data Type"},Qs.createElement(Xe,{"data-name":"data-type",mr:3,value:"Snapshot",checked:o.iPushPull.Transmission==="Snapshot",onChange:p=>p&&r("Snapshot")},"Snapshot (one off report)"),Qs.createElement(Xe,{"data-name":"data-live",value:"Live Data",checked:o.iPushPull.Transmission==="Live Data",onChange:p=>p&&r("Live Data")},"Live Data (real-time updates)")),Qs.createElement(de,{label:""},Qs.createElement(mLe,null,"Choose whether to send ipushpull Data as 'Snapshot' (One-off report) or 'Live Data' (updating as Grid updates)"))))))};d();var Db=I(require("react")),bGe=I(Ce());var SGe=o=>{var t,n;let e=o.allReports.map(r=>({label:r.Name,value:r.Name,onClick:()=>o.onChange(T(S({},o.openFin),{OpenFinReport:T(S({},o.openFin.OpenFinReport),{ReportName:r.Name})}))}));return Db.createElement(bGe.Box,{"data-name":"schedule-settings-openfin"},Db.createElement(J,{autoFocus:!1},Db.createElement(J.Tab,null,"OpenFin Schedule Settings"),Db.createElement(J.Content,null,Db.createElement(Ke,null,Db.createElement(de,{label:"Select Report"},Db.createElement(Qe,{"data-name":"select-report",columns:["label"],style:{width:300},disabled:o.allReports.length==0,items:e},((n=(t=o==null?void 0:o.openFin)==null?void 0:t.OpenFinReport)==null?void 0:n.ReportName)||"Select Report"))))))};d();var Ob=I(require("react")),vGe=I(Ce());var AGe=o=>{var t,n;let e=o.allReports.map(r=>({label:r.Name,value:r.Name,onClick:()=>o.onChange(T(S({},o.glue42),{Glue42Report:T(S({},o.glue42.Glue42Report),{ReportName:r.Name})}))}));return Ob.createElement(vGe.Box,{"data-name":"schedule-settings-glue42"},Ob.createElement(J,{autoFocus:!1},Ob.createElement(J.Tab,null,"Glue42 Schedule Settings"),Ob.createElement(J.Content,null,Ob.createElement(Ke,null,Ob.createElement(de,{label:"Select Report"},Ob.createElement(Qe,{"data-name":"select-report",width:300,disabled:o.allReports.length==0,items:e},((n=(t=o==null?void 0:o.glue42)==null?void 0:t.Glue42Report)==null?void 0:n.ReportName)||"Select Report"))))))};var vte=o=>{let{data:e,api:t}=ke(),n=t.exportApi.getReports();if((e==null?void 0:e.ScheduleType)==="Reminder")return wg.createElement(hGe,{reminderSchedule:e,onChange:o.onChange});if((e==null?void 0:e.ScheduleType)==="Report"){let r=t.exportApi.getCustomDestinations();return wg.createElement(gGe,{allReports:n!=null?n:[],customDestinations:r||[],report:e,onChange:o.onChange})}if((e==null?void 0:e.ScheduleType)==="ipushpull"){let r=t.pluginsApi.getipushpullPluginApi(),i=r&&r.getIPushPullDomains(),a=e.IPushPullReport.Folder,s=r&&a&&r.getPagesForIPushPullDomain(a);return wg.createElement(yGe,{allReports:n||[],allFolders:i||[],availablePages:s||[],iPushPull:e,onChange:o.onChange})}return(e==null?void 0:e.ScheduleType)==="OpenFin"?wg.createElement(SGe,{allReports:n||[],openFin:e,onChange:o.onChange}):(e==null?void 0:e.ScheduleType)==="Glue42"?wg.createElement(AGe,{allReports:n||[],glue42:e,onChange:o.onChange}):wg.createElement(wg.Fragment,null)};d();var EI=I(require("react"));var Ate=o=>{if(o.ScheduleType==="Reminder"){let e=o;return[{label:"Header",value:(e==null?void 0:e.Header)||"Not Specified"},{label:"Message",value:(e==null?void 0:e.Message)||"Not Specified"},{label:"Message Type",value:(e==null?void 0:e.MessageType)||"Not Specified"},{label:"Display Toast Notification",value:e!=null&&e.DisplayNotification?"True":"False"},{label:"Show System Status Message",value:e!=null&&e.DisplaySystemStatusMessage?"True":"False"}]}if(o.ScheduleType==="Report"){let e=o;return[{label:"Report Name",value:(e==null?void 0:e.ReportName)||"Not Specified"},{label:"Export Destination",value:(e==null?void 0:e.ExportDestination)||"Not Specified"}]}if(o.ScheduleType==="ipushpull"){let e=o;return[{label:"Report",value:(e==null?void 0:e.IPushPullReport.ReportName)||"Not Specified"},{label:"Folder",value:(e==null?void 0:e.IPushPullReport.Folder)||"Not Specified"},{label:"Page",value:(e==null?void 0:e.IPushPullReport.Page)||"Not Specified"},{label:"Export As",value:(e==null?void 0:e.Transmission)||"Not Specified"}]}if(o.ScheduleType==="Glue42"){let e=o;return[{label:"Report",value:(e==null?void 0:e.Glue42Report.ReportName)||"Not Specified"}]}if(o.ScheduleType==="OpenFin"){let e=o;return[{label:"Report",value:(e==null?void 0:e.OpenFinReport.ReportName)||"Not Specified"}]}return[]},xte=()=>{let{data:o}=ke();return EI.createElement(EI.Fragment,null,Ate(o).map((e,t)=>EI.createElement(Bu,{key:t},e.label,": ",EI.createElement(rt,null,e.value))))};d();var Rte=o=>{var e,t,n,r,i;if(o.ScheduleType==="Reminder"){let a=o;if(!a.MessageType)return"Message type not selected";if(nt.IsNullOrEmpty(a==null?void 0:a.Header))return"Reminder header not specified";if(nt.IsNullOrEmpty(a==null?void 0:a.Message))return"Reminder message not specified"}if(o.ScheduleType==="Report"){let a=o;if(nt.IsNullOrEmpty(a==null?void 0:a.ReportName))return"Report source not specified";if(nt.IsNullOrEmpty(a==null?void 0:a.ExportDestination))return"Report destination not selected"}if(o.ScheduleType==="ipushpull"){let a=o;if(nt.IsNullOrEmpty((e=a==null?void 0:a.IPushPullReport)==null?void 0:e.ReportName))return"Report not selected";if(nt.IsNullOrEmpty((t=a==null?void 0:a.IPushPullReport)==null?void 0:t.Folder))return"Report folder not selected";if(nt.IsNullOrEmpty((n=a==null?void 0:a.IPushPullReport)==null?void 0:n.Page))return"Report page not selected"}if(o.ScheduleType==="Glue42"){let a=o;if(nt.IsNullOrEmpty((r=a==null?void 0:a.Glue42Report)==null?void 0:r.ReportName))return"Report not selected"}if(o.ScheduleType==="OpenFin"){let a=o;if(nt.IsNullOrEmpty((i=a==null?void 0:a.OpenFinReport)==null?void 0:i.ReportName))return"Report not selected"}return!0};d();var Jl=I(require("react")),xGe=I(Ce());var RGe=(o,e)=>{var t;return o.Schedule?o.Schedule.Hour===null||o.Schedule.Minute===null?"Schedule Time is not specified":e&&!o.Schedule.OneOffDate?"Schedule Date is not specified":!e&&We.IsEmpty((t=o==null?void 0:o.Schedule)==null?void 0:t.DaysOfWeek)?"Schedule Days are not specified":!0:"Schedule is not specified"},hNt=[{label:"Monday",value:"Monday"},{label:"Tuesday",value:"Tuesday"},{label:"Wednesday",value:"Wednesday"},{label:"Thursday",value:"Thursday"},{label:"Friday",value:"Friday"},{label:"Saturday",value:"Saturday"},{label:"Sunday",value:"Sunday"}],EGe=o=>{var s,l,u,c,p;let{data:e}=ke(),t=m=>{var y,v;o.onSetIsOneOff(m);let h=m?(y=e==null?void 0:e.Schedule)==null?void 0:y.OneOffDate:null,C=m?[]:(v=e==null?void 0:e.Schedule)==null?void 0:v.DaysOfWeek;o.onChange(T(S({},e),{Schedule:T(S({},e.Schedule),{OneOffDate:h,DaysOfWeek:C})}))},n=m=>{var y,v;let[h,C]=(v=(y=m.target.value||"00:00")==null?void 0:y.split(":"))==null?void 0:v.map(x=>parseInt(x,10));o.onChange(T(S({},e),{Schedule:T(S({},e.Schedule),{Hour:h,Minute:C})}))},r=(m,h)=>{let C=e.Schedule.DaysOfWeek||[];m?C=[...C,h]:C=C.filter(y=>y!==h),o.onChange(T(S({},e),{Schedule:T(S({},e.Schedule),{DaysOfWeek:C})}))},i=m=>{o.onChange(T(S({},e),{Schedule:T(S({},e.Schedule),{OneOffDate:m.target.value})}))},a="00:00";if(typeof((s=e.Schedule)==null?void 0:s.Hour)=="number"||typeof((l=e==null?void 0:e.Schedule)==null?void 0:l.Minute)=="number"){let m=`${(u=e.Schedule)==null?void 0:u.Hour}`||"00",h=`${(c=e.Schedule)==null?void 0:c.Minute}`||"00";a=`${m.padStart(2,"0")}:${h.padStart(2,"0")}`}return Jl.createElement(xGe.Box,{"data-name":"schedule-setup"},Jl.createElement(J,{autoFocus:!1},Jl.createElement(J.Tab,null,"Schedule"),Jl.createElement(J.Content,null,Jl.createElement(Ke,null,Jl.createElement(de,{label:"Frequency"},Jl.createElement(Xe,{"data-name":"frequency-recurring",mr:2,value:"recurring",checked:!o.isOneOff,onChange:m=>m&&t(!1)},"Recurring Days"),Jl.createElement(Xe,{"data-name":"frequency-one-off",checked:o.isOneOff,value:"oneoff",onChange:m=>m&&t(!0)},"One-Off Date")),o.isOneOff?Jl.createElement(de,{label:"Date"},Jl.createElement(oo,{"data-name":"one-off-date",width:300,type:"date",placeholder:"Date",onChange:i,value:((p=e.Schedule)==null?void 0:p.OneOffDate)||""})):Jl.createElement(de,{label:"Days"},hNt.map(m=>{var h,C;return Jl.createElement(Ne,{"data-name":`day-${m.value}`,width:"33%",ml:2,value:m.value,checked:(C=(h=e.Schedule)==null?void 0:h.DaysOfWeek)==null?void 0:C.includes(m.value),key:m.value,onChange:y=>r(y,m.value)},m.label)})),Jl.createElement(de,{label:"Time"},Jl.createElement(oo,{"data-name":"time",width:300,value:a,type:"time",onChange:n}))))))};d();var Ete=I(require("react"));var wGe=()=>{let{data:o}=ke();return Ete.createElement(Bu,null,"Schedule: ",Ete.createElement(rt,null,Rn.getScheduleDescription(o.Schedule)))};var TGe=o=>{var c,p,m,h;let e=(p=o.data)!=null?p:(c=o.popupParams)==null?void 0:c.value,t=(m=o.popupParams)!=null&&m.action?o.popupParams.action==="New":!o.data,n=e?e.ScheduleType:(h=o==null?void 0:o.abObjectType)==null?void 0:h.name,[r,i]=eu.useState(()=>{if(e)return e;let C=null;switch(n){case"Reminder":C=it.CreateEmptyReminderSchedule();break;case"Report":C=it.CreateEmptyReportSchedule();break;case"ipushpull":C=it.CreateEmptyIPushPullSchedule();break;case"Glue42":C=it.CreateEmptyGlue42Schedule();break;case"OpenFin":C=it.CreateEmptyOpenFinSchedule();break}return C}),[a,s]=eu.useState(!1),l=yt(),u=()=>{let C=null;if(t)switch(n){case"Reminder":C=eV(r);break;case"Report":C=YB(r);break;case"ipushpull":C=rV(r);break;case"Glue42":C=UB(r);break;case"OpenFin":C=KB(r);break}else switch(n){case"Reminder":C=rw(r);break;case"Report":C=nw(r);break;case"ipushpull":C=iw(r);break;case"Glue42":C=tw(r);break;case"OpenFin":C=ow(r);break}l(C),o.onFinishWizard(r)};return eu.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:r,onHide:o.onCloseWizard,onFinish:u,sections:[{title:"Settings",isValid:Rte,renderSummary:()=>eu.createElement(xte,null),render:()=>eu.createElement(F0.Box,{p:3},eu.createElement(vte,{onChange:i}))},{title:"Schedule",isValid:C=>RGe(C,a),renderSummary:()=>eu.createElement(wGe,null),render:()=>eu.createElement(F0.Box,{p:3},eu.createElement(EGe,{isOneOff:a,onSetIsOneOff:s,onChange:i}))},{details:"Select Schedule Tags",title:"Tags",isVisible:(C,y)=>y.internalApi.shouldDisplayTagSections(),render:()=>eu.createElement(F0.Box,{padding:2},eu.createElement(Pr,{onChange:i})),renderSummary:Dr},"-",{render:()=>eu.createElement(F0.Box,{padding:2},eu.createElement(Ir,null)),title:"Summary"}]})};var IGe={},fNt={scheduleJob:(o,e,t,n)=>{let r=+o,i=Date.now(),a=r-i;if(a>0){let s=+setTimeout(()=>{n(),t.scheduleApi.internalApi.fireScheduleTriggeredEvent(e)},a);IGe[r]=s}return{cancel:()=>{let s=IGe[r];s!=null&&clearTimeout(s)}}}},Dz=class extends It{constructor(t){super(Cd,M7,"schedule","SchedulePopup","Schedule AdapTable functionality to run at times of your choosing (e.g. run reports)",t);this.scheduleJobs=[],this.addMidnightRefreshSchedule()}handleAdaptableReady(){this.setUpScheduleJobs()}setUpScheduleJobs(){this.clearAllJobs(),this.api.scheduleApi.getActiveReminderSchedules().forEach(t=>{this.addSchedule(t,"Reminder")}),this.api.scheduleApi.getActiveReportSchedules().forEach(t=>{this.addSchedule(t,"Report")}),this.api.scheduleApi.getActiveIPushPullSchedules().forEach(t=>{this.addSchedule(t,"ipushpull")}),this.api.scheduleApi.getActiveGlue42Schedules().forEach(t=>{this.addSchedule(t,"Glue42")}),this.api.scheduleApi.getActiveOpenFinSchedules().forEach(t=>{this.addSchedule(t,"OpenFin")})}addSchedule(t,n){let r=this.getDateFromSchedule(t.Schedule);if(r!=null){let i=fNt.scheduleJob(r,t,this.api,()=>{this.api.scheduleApi.applySchedule(t,n)});this.scheduleJobs.push(i)}}addMidnightRefreshSchedule(){let t={Hour:0,Minute:1,DaysOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]};this.getDateFromSchedule(t)!=null}getDateFromSchedule(t){let n=null;if(t.OneOffDate!=null)n=new Date(t.OneOffDate),n.setHours(t.Hour),n.setMinutes(t.Minute),n.setSeconds(0);else if(n=new Date,We.ContainsItem(t.DaysOfWeek,Uo.getWeekDayByIndex(n.getDay())))n.setHours(t.Hour),n.setMinutes(t.Minute),n.setSeconds(0);else return null;return n!=null&&n>new Date?n:null}clearAllJobs(){this.scheduleJobs.forEach(t=>{t!=null&&t.cancel()}),this.scheduleJobs=[]}getModuleAdaptableObjects(t){let n=this.api.internalApi.getEntitlementService(),r=n.getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName),i=n.getEntitlementAccessLevelForModule(Hi),a=[];return r!=="Hidden"&&a.push(...this.api.scheduleApi.getReminderSchedules(t)),i!=="Hidden"&&a.push(...this.api.scheduleApi.getReportSchedules(t)),a.push(...this.api.scheduleApi.getIPushPullSchedules(t)),a.push(...this.api.scheduleApi.getGlue42Schedules(t)),a.push(...this.api.scheduleApi.getOpenFinSchedules(t)),a}toView(t){return{abObject:t,items:[{name:"Settings",values:Ate(t).map(n=>`${n.label}: ${n.value}`)},{name:"Schedule",values:[Uo.getScheduleDescription(t.Schedule)]},er(t,this.api)]}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(t=>this.toView(t))}getViewProperties(){let t=this.api.internalApi.getEntitlementService(),n=t.getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName),r=t.getEntitlementAccessLevelForModule(Hi),i=[],a=this.api.pluginsApi.getipushpullPluginApi(),s=this.api.pluginsApi.getGlue42PluginApi(),l=this.api.pluginsApi.getOpenFinPluginApi();return n!=="Hidden"&&i.push({name:"Reminder",accessLevel:n}),r!=="Hidden"&&i.push({name:"Report",accessLevel:r}),a&&a.isIPushPullRunning()&&i.push({name:"ipushpull",accessLevel:n}),s&&s.isGlue42Running()&&i.push({name:"Glue42",accessLevel:n}),l&&l.isOpenFinRunning()&&i.push({name:"OpenFin",accessLevel:n}),{abObjectTypes:i,getEditAction:u=>{let c=null;switch(u.ScheduleType){case"Reminder":c=rw(u);break;case"Report":c=nw(u);break;case"ipushpull":c=iw(u);break;case"Glue42":c=tw(u);break;case"OpenFin":c=ow(u);break}return c},getDeleteAction:u=>{let c=null;switch(u.ScheduleType){case"Reminder":c=tV(u);break;case"Report":c=XB(u);break;case"ipushpull":c=iV(u);break;case"Glue42":c=WB(u);break;case"OpenFin":c=QB(u);break}return c},getSuspendAction:u=>{let c=null;switch(u.ScheduleType){case"Reminder":c=oV(u);break;case"Report":c=ZB(u);break;case"ipushpull":c=aV(u);break;case"Glue42":c=zB(u);break;case"OpenFin":c=$B(u);break}return c},getUnSuspendAction:u=>{let c=null;switch(u.ScheduleType){case"Reminder":c=nV(u);break;case"Report":c=JB(u);break;case"ipushpull":c=sV(u);break;case"Glue42":c=jB(u);break;case"OpenFin":c=qB(u);break}return c},getEditWizard(){return TGe}}}canBeAssociatedWithLayouts(){return!0}};d();d();var Ki=I(require("react")),M0=I(Ce());d();var Oz=I(require("react"));var PGe=o=>{let{data:e,api:t}=ke(),n=Oz.useMemo(()=>t.columnApi.getNumericColumns(),[]);return Oz.createElement(Wc,{availableDataTypes:["Number"],scopeColumns:n,scope:e.Scope,descriptions:{rowScope:"All Numeric Columns will have the Shortcut applied",columnScope:"Selected Columns will have the Shortcut applied"},updateScope:r=>{let i=r;r&&"DataTypes"in r&&r.DataTypes.length===0&&(i=T(S({},r),{DataTypes:["Number"]})),o.onChange(T(S({},e),{Scope:i}))}})};d();var fn=I(require("react")),wI=I(Ce());d();var DGe=["Add","Subtract","Multiply","Divide"];var OGe=o=>{let e=o.ShortcutKey&&typeof o.ShortcutKey=="string"?"":"Shortcut key is not selected",t=typeof o.ShortcutValue=="number"?"":"Shortcut value is not specified",n=o.ShortcutOperation&&typeof o.ShortcutOperation=="string"?"":"Shortcut operation is not selected",r=[e,t,n].filter(Boolean);return r.length?r.join(", "):!0},FGe=()=>{var e,t;let{data:o}=ke();return fn.createElement(fn.Fragment,null,fn.createElement(Bu,null,"Shortcut Key ",fn.createElement(rt,null,o.ShortcutKey||"Not selected")),fn.createElement(Bu,null,"Value ",fn.createElement(rt,null,(e=o.ShortcutValue)!=null?e:"Not specified")),fn.createElement(Bu,null,"Operation ",fn.createElement(rt,null,(t=o.ShortcutOperation)!=null?t:"Not Specified")))},MGe=o=>{var s;let{data:e}=ke(),t=fn.useCallback(l=>{o.onChange(T(S({},e),{ShortcutKey:l}))},[e]),n=fn.useCallback(l=>o.onChange(T(S({},e),{ShortcutOperation:l})),[e]),r=fn.useCallback(l=>{o.onChange(T(S({},e),{ShortcutValue:l.target.value?parseFloat(l.target.value):l.target.value}))},[e]),i=DGe.map(l=>({value:l,label:l,onClick:()=>n(l)})),a=o.availableKeys.map(l=>({value:l,label:l,onClick:()=>t(l)}));return fn.createElement(wI.Box,{"data-name":"shortcut-column-settings"},fn.createElement(J,{autoFocus:!1},fn.createElement(J.Tab,null,"Shortcut Settings"),fn.createElement(J.Content,null,fn.createElement(Ke,null,fn.createElement(de,null," ",fn.createElement(Qt,{fontSize:2,mb:0},"Keyboard key that, when pressed, triggers the shortcut")),fn.createElement(de,{label:"Key"},fn.createElement(wI.Flex,{flexDirection:"row"},fn.createElement(Qe,{"data-name":"shortcut-key",style:{flex:1},marginRight:3,items:a,columns:["label"]},e.ShortcutKey||"Select Key"))),fn.createElement(de,null," ",fn.createElement(Qt,{fontSize:2,mb:0},"Mathematical operation performed on Cell's current value (using the Shortcut's 'value') - used to calculate the Cell's new total")),fn.createElement(de,{label:"Operation"},fn.createElement(wI.Flex,{flexDirection:"row"},fn.createElement(Qe,{"data-name":"shortcut-operation",style:{flex:1},marginRight:3,items:i,columns:["label"]},e.ShortcutOperation||"Select Operation"))),fn.createElement(de,null," ",fn.createElement(Qt,{fontSize:2,mb:0},"Number that is used - together with the 'Operation' and the current cell value - to calculate the new total for the cell")),fn.createElement(de,{label:"Value"},fn.createElement(wI.Flex,{flexDirection:"row"},fn.createElement(mt,{"data-name":"shortcut-value",flex:1,marginRight:3,onChange:r,placeholder:"Enter Number",type:"number",value:(s=e.ShortcutValue)!=null?s:""})))))))};d();var NGe=["A","B","C","D","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];var LGe=o=>{let[e,t]=Ki.useState(()=>{var l;let s=o.data?zo(o.data):it.CreateEmptyShortcut();return s.Scope=(l=s.Scope)!=null?l:{All:!0},s}),n=pe(),r=Ki.useMemo(()=>{let s=NGe.filter(l=>n.api.shortcutApi.getShortcuts().every(u=>u.ShortcutKey!==l));return e&&s.push(e.ShortcutKey),s.sort(),s},[]),i=yt(),a=()=>{o.data?i(PO(e)):i(BE(e)),o.onFinishWizard(e)};return Ki.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:e,onHide:o.onCloseWizard,onFinish:a,sections:[{title:"Target",isValid:Bh,details:"Specify where Shortcut should be applied",renderSummary:()=>ob(e.Scope,{scopeWholeRow:"Shortcut is triggered for matching rows",scopeColumns:"Shortcut is triggered in cells in selected columns",scopeDataTypes:"Shortcut is triggered for cells with selected data type"}),render:()=>Ki.createElement(M0.Box,{padding:2},Ki.createElement(PGe,{onChange:t}))},{title:"Settings",isValid:OGe,details:Ki.createElement(Ki.Fragment,null,"A Shortcut is a mathematical calculation (",Ki.createElement("b",null,"Operation"),") which is applied with the defined operand ",Ki.createElement("b",null,"Value")," on the edited cell content when the corresponding Shortcut ",Ki.createElement("b",null,"Key")," is pressed."),renderSummary:()=>Ki.createElement(FGe,null),render:()=>{var s;return Ki.createElement(M0.Box,{padding:2},Ki.createElement(MGe,{availableKeys:(s=o.availableKeys)!=null?s:r,onChange:t}))}},{details:"Select Shortcut Tags",title:"Tags",isVisible:(s,l)=>l.internalApi.shouldDisplayTagSections(),render:()=>Ki.createElement(M0.Box,{padding:2},Ki.createElement(Pr,{onChange:t})),renderSummary:Dr},"-",{render:()=>Ki.createElement(M0.Box,{padding:2},Ki.createElement(Ir,null)),title:"Summary"}]})};d();var _Ge=o=>{var t,n;let e=[`Shortcut Key: ${o.ShortcutKey||"Not selected"}`,`Value: ${(t=o.ShortcutValue)!=null?t:"Not specified"}`,`Operation: ${(n=o.ShortcutOperation)!=null?n:"Not Specified"}`];return{name:"Settings",values:e}};var Fz=class extends It{constructor(t){super(Gp,N7,"link","ShortcutPopup","Set up rules so cells update mathematically when keys are pressed in numeric cells",t);this.shouldHandleKeyDown=!1,this.adaptable=t.internalApi.getAdaptableInstance()}getModuleAdaptableObjects(t){return this.api.shortcutApi.getShortcuts(t)}hasNamedQueryReferences(){return!1}getTeamSharingAction(){return{ModuleEntities:this.api.shortcutApi.getShortcuts(),AddAction:BE,EditAction:PO}}handleAdaptableReady(){this.checkListenToKeyDown(),this.adaptable._on("CellEditorKeyDown",t=>{this.handleKeyDown(t)})}checkListenToKeyDown(){let t=this.api.shortcutApi.getShortcuts();this.shouldHandleKeyDown=pt.IsNotNullOrEmpty(t)}handleKeyDown(t){if(!this.shouldHandleKeyDown||nt.IsNullOrEmpty(t.cellValue))return;let{keyDownEvent:n,cellValue:r,columnId:i,updateValueCallback:a}=t,s=this.api.shortcutApi.getActiveShortcuts().find(u=>n.key.toLowerCase()===u.ShortcutKey.toLowerCase()&&this.api.scopeApi.isColumnInScope(this.api.columnApi.getColumnWithColumnId(i),u.Scope));if(!s||!s.ShortcutValue)return;let l=this.calculateShortcut(r,s.ShortcutValue,s.ShortcutOperation);a(l)}calculateShortcut(t,n,r){let i=Number(t),a=Number(n);switch(r){case"Add":return i+a;case"Subtract":return i-a;case"Multiply":return i*a;case"Divide":return i/a}}toView(t){return{abObject:t,items:[zc(t.Scope,this.api),_Ge(t),er(t,this.api)]}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(t=>this.toView(t))}getViewProperties(){return{getEditAction:PO,getDeleteAction:rk,getSuspendAction:ik,getUnSuspendAction:ak,getSuspendAllAction:dye,getUnSuspendAllAction:cye,getEditWizard(){return LGe}}}canBeAssociatedWithLayouts(){return!0}};d();var Mz=class extends It{constructor(e){super(Bl,L7,"edit","SmartEditPopup","Edit groups of numeric cells using mathematical operations (e.g. Multiply by 10)",e)}getViewAccessLevel(){return"Full"}addContextMenuItems(e){let t;if(!e.isRowGroupColumn&&this.isModuleEditable()&&e.adaptableColumn&&e.adaptableColumn.dataType=="Number"&&!e.adaptableColumn.readOnly&&e.isSelectedCell&&e.isSingleSelectedColumn&&this.api.gridApi.isEveryCellEditable(e.selectedCellInfo.gridCells)){let n={source:"ContextMenu"};t=this.createMainMenuItemShowPopup({Label:"Apply Smart Edit",ComponentName:this.moduleInfo.Popup,Icon:this.moduleInfo.Glyph,PopupParams:n})}return[t]}ApplySmartEdit(e){this.api.smartEditApi.applySmartEdit(e)}CheckCorrectCellSelection(){let e=this.api.gridApi.getSelectedCellInfo();if(this.api.internalApi.isGridInPivotMode())return{Alert:{alertType:"generic",header:"Smart Edit Error",message:"Cannot edit while Grid is in Pivot Mode.",alertDefinition:it.CreateInternalAlertDefinitionForMessages("Error")}};if(e==null||We.IsNullOrEmpty(e.columns))return{Alert:{alertType:"generic",header:"Smart Edit Error",message:`No cells are selected.
592
592
  Please select some cells.`,alertDefinition:it.CreateInternalAlertDefinitionForMessages("Error")}};if(We.NotCorrectLength(e.columns,1))return{Alert:{alertType:"generic",header:"Smart Edit Error",message:`Smart Edit only supports single column edit.
593
593
  Please adjust cell selection.`,alertDefinition:it.CreateInternalAlertDefinitionForMessages("Error")}};let t=e.columns[0];if(t){if(t.dataType!="Number")return{Alert:{alertType:"generic",header:"Smart Edit Error",message:`Smart Edit only supports editing of numeric columns.
@@ -599,13 +599,13 @@ Please adjust the cell selection.`,alertDefinition:it.CreateInternalAlertDefinit
599
599
  justify-content: center;`,this.eGui.appendChild(i),i.disabled||(this.suppressEditEvent=this.suppressEditEvent.bind(this),this.eGui.addEventListener("click",this.suppressEditEvent),this.eGui.addEventListener("dblclick",this.suppressEditEvent))},n.prototype.checkedHandler=function(r){let i=r.target.checked;this.params.node.setDataValue(o,i),t.styledColumnApi.internalApi.fireCheckboxColumnClickedEvent(o,this.params.node.data,t.gridApi.getPrimaryKeyValueForRowNode(this.params.node),i)},n.prototype.suppressEditEvent=function(r){r.target===this.eGui&&(r.preventDefault(),r.stopPropagation())},n.prototype.getGui=function(){return this.eGui},n.prototype.refresh=function(){return!1},n.prototype.destroy=function(){var r,i,a,s;(i=(r=this.eGui)==null?void 0:r.firstChild)==null||i.removeEventListener("click",this.checkedHandler),(a=this.eGui)==null||a.removeEventListener("click",this.suppressEditEvent),(s=this.eGui)==null||s.removeEventListener("dblclick",this.suppressEditEvent)},n},Gz=class{isCancelBeforeStart(){return!0}init(e){let t=e.api.__adaptable,n=document.createElement("input");n.type="checkbox",n.checked=e.value,n.disabled=t.api.internalApi.getAdaptableInstance().isCellEditable(e.node,e.column),this.eGui=document.createElement("div"),this.eGui.style.cssText=`display: flex;
600
600
  height: 100%;
601
601
  align-items: center;
602
- justify-content: center;`,this.eGui.appendChild(n),this.value=e.value}getGui(){return this.eGui}getValue(){return this.value}};d();d();var YGe=I(require("react"));var XGe=()=>YGe.createElement(PW,{gap:0,buttonsPaddingY:0});var Hz=class extends It{constructor(e){super(gd,C7,"target","DataChangeHistoryPopup","Provides an overview of all previous changes, giving the possibility to undo specific changes",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{t.trigger!=="undo"&&t.trigger!=="aggChange"&&this.shouldLogDataChange(t)&&this.api.internalApi.dispatchReduxAction(Vme(t))})}isModuleAvailable(){let e=super.isModuleAvailable(),t=this.api.internalApi.getAdaptableInstance().isAgGridModulePresent(ot.ClientSideRowModelModule);return e&&!t&&this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ${ot.ClientSideRowModelModule}`),e&&t}getPopupMaxWidth(){return 1e3}hasNamedQueryReferences(){return!1}shouldLogDataChange(e){return this.api.internalApi.getState().System.DataChangeHistory.currentMode!=="ACTIVE"?!1:this.api.optionsApi.getDataChangeHistoryOptions().showDataChange?this.api.optionsApi.getDataChangeHistoryOptions().showDataChange(e):!0}getViewProperties(){return{getStatusBarPanelProps:()=>({triggerActionOnWrapperClick:!1,content:XGe})}}};d();d();var ZGe=o=>({name:"Duration",values:[o.FlashDuration]});d();var ep=I(require("react")),II=require("react"),N0=I(Ce());d();var On=I(require("react")),JGe=require("react"),Mb=I(Ce());var eHe=o=>On.createElement(On.Fragment,null,On.createElement(Mb.Text,{fontSize:2},o.FlashDuration==="always"?On.createElement(On.Fragment,null,"Flashing is never removed"):On.createElement(On.Fragment,null,"Flashing is removed after ",On.createElement(La,null,o.FlashDuration)," ","milliseconds"))),tHe=o=>{var u,c,p,m,h,C,y;let{data:e}=ke();e=e!=null?e:o.flashingCell;let t=v=>{o.onChange(T(S({},e),{FlashDuration:v}))},n=(u=e.FlashDuration)!=null?u:500,r=On.useRef(typeof n=="number"?n:500),i=(0,JGe.useRef)(null),a=Ed(n,n);On.useEffect(()=>{var v;a==="always"&&n!=a&&((v=i.current)==null||v.focus())},[n,a]);let s=v=>{t(v==="number"?r.current:"always")},l=(v,x)=>{var R;let A=(R=e.FlashTarget)!=null?R:[];typeof A=="string"&&(A=[A]),Array.isArray(A)&&(x?A=[...A,v]:A=A.filter(w=>v!=w)),o.onChange(T(S({},e),{FlashTarget:A}))};return On.createElement(Mb.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},On.createElement(J,{autoFocus:!1,padding:2},On.createElement(J.Tab,null,"Flashing Cell Settings"),On.createElement(J.Content,null,On.createElement(Ke,null,On.createElement(de,{label:"Duration Type"},On.createElement(Xe,{"data-name":"duration-type-always",mr:3,checked:n=="always",tabIndex:-1,onChange:()=>s("always")},"Always"),On.createElement(Xe,{"data-name":"duration-type-number",checked:n!=="always",tabIndex:-1,onChange:()=>s("number")},"Limited (ms)")),On.createElement(de,{label:""},n!=="always"&&On.createElement(Mb.Flex,{flexDirection:"row",alignItems:"baseline"},On.createElement(Mb.Text,{fontSize:2,mr:2},"After"),On.createElement(mt,{"data-name":"duration-input",readOnly:o.readOnly,type:"text",name:"value",ref:i,mt:2,mr:1,value:n,onChange:v=>{let x=v.target.value;t(isNaN(Number(x))?500:Number(x))}}),On.createElement(Mb.Text,{fontSize:2},"milliseconds")),n==="always"&&On.createElement(Mb.Text,{height:43,fontSize:3},"Persists the flashing style indeterminately - can be removed manually")),On.createElement(de,{label:"Flash Target"},On.createElement(Ne,{"data-name":"flashing-target",onChange:v=>l("cell",v),mr:3,checked:(e==null?void 0:e.FlashTarget)==="cell"||((p=(c=e==null?void 0:e.FlashTarget)==null?void 0:c.includes)==null?void 0:p.call(c,"cell")),tabIndex:-1},"Cell"),On.createElement(Ne,{"data-name":"flashing-target-row",mr:3,onChange:v=>l("row",v),checked:(e==null?void 0:e.FlashTarget)==="row"||((h=(m=e==null?void 0:e.FlashTarget)==null?void 0:m.includes)==null?void 0:h.call(m,"row")),tabIndex:-1},"Row"),On.createElement(Ne,{"data-name":"flashing-target-aggFuncCell",onChange:v=>l("aggFuncCell",v),checked:(e==null?void 0:e.FlashTarget)==="aggFuncCell"||((y=(C=e==null?void 0:e.FlashTarget)==null?void 0:C.includes)==null?void 0:y.call(C,"aggFuncCell")),tabIndex:-1},"Aggregated Function Cell"))))))};d();var Ni=I(require("react"));var oHe=o=>{var n;let{api:{flashingCellApi:e}}=ke(),t=(n=o.FlashTarget)!=null?n:e.getFlashingCellFlashTarget(o);return Ni.createElement(XT,{data:o,renderPredicate:r=>Ni.createElement(Ni.Fragment,null,"Flash ",Ni.createElement(La,null,t)," - value condition"," ",Ni.createElement(La,null,r)),renderQueryExpression:r=>Ni.createElement(Ni.Fragment,null,"Flash ",Ni.createElement(La,null,t)," when"," ",Ni.createElement("b",null,Ni.createElement(La,null,r)))})},nHe=o=>{let{data:e,api:t,moduleInfo:n}=ke(),r=t.flashingCellApi.getFlashingCellPredicateDefsForScope(e.Scope);return Ni.createElement(ab,{module:n.ModuleName,defaultPredicateId:"Any",data:e,predicateDefs:r,getPredicateDefsForColId:i=>t.flashingCellApi.getFlashingCellPredicateDefsForScope({ColumnIds:[i]}),onChange:o.onChange,showAggregation:!1,showObservable:!1,showBoolean:!0,showPredicate:!0,descriptions:{selectPredicate:"Select an Flashing Cell Rule - to be applied when data changes",useBooleanQuery:Ni.createElement(Ni.Fragment,null,"Use an BooleanQuery if ",Ni.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:Ni.createElement(Ni.Fragment,null,"Use an ObservableQuery if ",Ni.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:Ni.createElement(Ni.Fragment,null,"Use an AggregatedBooleanQuery if ",Ni.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")}})};d();var ga=I(require("react")),Uz=I(Ce());var Ite=ga.createElement(Uz.Text,{fontSize:2,style:{display:"inline-block"}},"Change style"),rHe=o=>{var n,r,i;let{data:e,api:t}=ke();return e=e!=null?e:o.flashingAlert,ga.createElement(ga.Fragment,null,ga.createElement(J,{defaultValue:"up"},ga.createElement(J.Tab,{value:"up"},"Up ",Ite),ga.createElement(J.Content,{value:"up"},ga.createElement(_u,{headless:!0,api:t,Style:(n=e.UpChangeStyle)!=null?n:{},UpdateStyle:a=>o.onStyleChange("UpChangeStyle",a)})),ga.createElement(J.Tab,{value:"down"},"Down ",Ite),ga.createElement(J.Content,{value:"down"},ga.createElement(_u,{headless:!0,api:t,Style:(r=e.DownChangeStyle)!=null?r:{},UpdateStyle:a=>o.onStyleChange("DownChangeStyle",a)})),ga.createElement(J.Tab,{value:"neutral"},"Neutral ",Ite),ga.createElement(J.Content,{value:"neutral"},ga.createElement(_u,{headless:!0,api:t,Style:(i=e.NeutralChangeStyle)!=null?i:{},UpdateStyle:a=>o.onStyleChange("NeutralChangeStyle",a)}))))},bNt=o=>{let n=o,{data:e}=n,t=ut(n,["data"]);return ga.createElement(Uz.Box,S({},t),ga.createElement(kd,{styleObject:o.data.UpChangeStyle},"Up change style ",o.data.UpChangeStyle?"":" - no style"),ga.createElement(kd,{mt:2,styleObject:o.data.DownChangeStyle},"Down change style ",o.data.DownChangeStyle?"":" - no style"),ga.createElement(kd,{mt:2,styleObject:o.data.NeutralChangeStyle},"Neutral change style ",o.data.NeutralChangeStyle?"":" - no style"))},iHe=o=>ga.createElement(bNt,{data:o});d();var Pte=I(require("react")),aHe=I(Ce());var sHe=o=>{let{data:e,api:t}=ke();return Pte.createElement(aHe.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},Pte.createElement(Wc,{descriptions:{rowScope:"Changes anywhere in the row will trigger an Flashing Cell",columnScope:"Changes in selected columns will trigger an Flashing Cell"},scope:e.Scope,updateScope:n=>{let r=T(S({},e),{Scope:n});r.Rule.Predicates&&(r.Rule={Predicates:[{PredicateId:"Any"}]}),o.onChange(r)}}))};d();var lHe=(o,e,t)=>{var r,i;if(!((i=(r=o.Rule)==null?void 0:r.Predicates)!=null&&i.length)&&!o.Rule.BooleanExpression)return"No Rule defined for Flashing Cell";let n=sb(o,e,t);if(typeof n=="string")return n;if(t.namedQuery!=!1){let a=e.queryApi.isValidNamedQueryName(t.namedQuery);if(!a.valid)return a.message}return!0};var uHe=o=>{let{api:e}=pe(),[t,n]=(0,II.useState)(()=>{var u,c;let l=o.data?zo(o.data):it.CreateEmptyFlashingCellDefinition();return l=e.flashingCellApi.internalApi.mergeFlashingCellDefinitionWithDefaults(l),!l.Rule.BooleanExpression&&!((c=(u=l.Rule)==null?void 0:u.Predicates)!=null&&c.length)&&(l.Rule.BooleanExpression=""),l}),r=l=>u=>{n(c=>(c=T(S({},c),{[l]:u}),c))},i={DownChangeStyle:(0,II.useCallback)(r("DownChangeStyle"),[]),UpChangeStyle:(0,II.useCallback)(r("UpChangeStyle"),[]),NeutralChangeStyle:(0,II.useCallback)(r("NeutralChangeStyle"),[])},a=yt(),s=()=>{o.data?a(gv(t)):a(fv(t)),o.onFinishWizard(t)};return ep.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:s,sections:[{details:"Specify which data changes should trigger Cell Flashing",isValid:Bh,render:()=>ep.createElement(sHe,{onChange:n}),renderSummary:$W,title:"Scope"},{details:"Build the Rules for when Cells should Flash",isValid:lHe,render:()=>ep.createElement(nHe,{onChange:n}),renderSummary:oHe,title:"Rule"},{details:"Select the Duration of the Flash",render:()=>ep.createElement(N0.Box,{padding:2},ep.createElement(tHe,{onChange:n})),renderSummary:eHe,title:"Settings"},{details:"Choose the Flashing Styles",render:()=>ep.createElement(N0.Box,{padding:2},ep.createElement(rHe,{onStyleChange:(l,u)=>{i[l](u)}})),renderSummary:iHe,title:"Flash Styles"},{details:"Select Flashing Cell Tags",title:"Tags",isVisible:(l,u)=>u.internalApi.shouldDisplayTagSections(),render:()=>ep.createElement(N0.Box,{padding:2},ep.createElement(Pr,{onChange:n})),renderSummary:Dr},"-",{details:"Review the Flashing Cell Rule",render:()=>ep.createElement(N0.Box,{padding:2},ep.createElement(Ir,null)),title:"Summary"}]})};d();var dHe=o=>({name:"Target",values:Array.isArray(o.FlashTarget)?o.FlashTarget:[o.FlashTarget]});d();d();var L0=I(require("react")),cHe=I(Ce());var pHe=o=>{let n=o,{data:e}=n,t=ut(n,["data"]);return L0.default.createElement(cHe.Flex,S({flexDirection:"row"},t),L0.default.createElement(kd,{"data-value":"up-style",mr:1,flex:1,styleObject:o.data.UpChangeStyle},"Up ",o.data.UpChangeStyle?"":" - no style"),L0.default.createElement(kd,{"data-value":"down-style",mr:1,flex:1,styleObject:o.data.DownChangeStyle},"Down",o.data.DownChangeStyle?"":" - no style"),L0.default.createElement(kd,{"data-value":"neutral-style",flex:1,styleObject:o.data.NeutralChangeStyle},"Neutral ",o.data.NeutralChangeStyle?"":" - no style"))};var mHe=()=>({name:"Flash Styles",label:"Change Style",view:pHe});var Wz=class extends It{constructor(e){super(lv,d7,"lightning","FlashingAlert","Flash cells when they change",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{if(t.trigger!=="undo"){if(this.api.optionsApi.getAlertOptions().dataChangeDetectionPolicy==="formattedValue"){let{oldValue:n,newValue:r,rowNode:i}=t,a=t.column.columnId,s=this.api.gridApi.getDisplayValueFromRawValue(i,a,n),l=this.api.gridApi.getDisplayValueFromRawValue(i,a,r);if(s===l)return}this.handleCellDataChanged(t)}})}updateOldConfig(){this.updateFlashingCellSingleToMultiplePredicates()}updateFlashingCellSingleToMultiplePredicates(){this.api.flashingCellApi.getFlashingCellDefinitions().forEach(t=>{if(t.Rule&&"Predicate"in t.Rule){let n=zo(t);vI(n.Rule),this.api.flashingCellApi.editFlashingCellDefinition(n)}})}getModuleAdaptableObjects(e){return this.api.flashingCellApi.getFlashingCellDefinitions(e)}getExplicitlyReferencedColumnIds(e){let t=this.api.expressionApi.getAdaptableQueryExpression(e.Rule);return t?this.api.expressionApi.getColumnsFromExpression(t):this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(n=>n.columnId):[]}getReferencedNamedQueryNames(e){let t=this.api.expressionApi.getAdaptableQueryExpression(e.Rule);return t?this.api.queryApi.internalApi.getReferencedNamedQueryNames(t):[]}addColumnMenuItems(e){if(e&&this.isModuleEditable()&&!this.api.columnApi.isCalculatedColumn(e.columnId)){let n=this.api.flashingCellApi.getFlashingCellDefinitions().find(r=>this.api.scopeApi.isColumnInScope(e,r.Scope));return n?[this.createColumnMenuItemReduxAction("Remove Flashing Cell",this.moduleInfo.Glyph,dK(n))]:[this.createColumnMenuItemReduxAction("Add Flashing Cell",this.moduleInfo.Glyph,fv({Scope:{ColumnIds:[e.columnId]},Rule:{Predicates:[{PredicateId:"Any"}]}}))]}}addContextMenuItems(e){let t=[];if(!e.isRowGroupColumn&&this.isModuleAvailable()&&e.adaptableColumn&&e.rowNode){let n=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue),r=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue,e.adaptableColumn.columnId);n?(n.flashTarget==="row"||Array.isArray(n==null?void 0:n.flashTarget)&&n.flashTarget.includes("row"))&&t.push(this.createColumnMenuItemReduxAction("Clear Flashing Row",this.moduleInfo.Glyph,jD(n))):r&&r.flashTarget==="cell"&&t.push(this.createColumnMenuItemReduxAction("Clear Flashing Cell",this.moduleInfo.Glyph,jD(r)))}return t}handleCellDataChanged(e){let t=this.getFlashingCellDefinitionsForDataChange(e);pt.IsNotNullOrEmpty(t)&&this.showFlashingCellsForDefinitions(e,t)}showFlashingCellsForDefinitions(e,t=[]){let n=this.api.columnApi.getColumns().map(c=>c.columnId),r=e.column.dataType,i=r==="Number",a=i||r==="Date",s=!1,l=!1,u="neutral";if(a){let c=i?Number(e.newValue):e.newValue,p=i?Number(e.oldValue):e.oldValue;s=c>p,l=c<p,u=s?"up":l?"down":"neutral"}t.forEach(c=>{var C;let p=this.api.flashingCellApi.getFlashingCellFlashTarget(c),m={[e.column.columnId]:!0};(p==="row"||((C=p==null?void 0:p.includes)==null?void 0:C.call(p,"row")))&&n.forEach(y=>{m[y]=!0});let h=e.primaryKeyValue;this.api.flashingCellApi.showFlashingCell({rowPrimaryKey:h,flashingCellDefinition:c,cellDataChangedInfo:e,direction:u,flashTarget:p,flashColumnIds:m})})}isFlashingTargetOnlyAggChange(e){return e.FlashTarget==="aggFuncCell"?!0:Array.isArray(e.FlashTarget)&&e.FlashTarget.length===1&&e.FlashTarget.includes("aggFuncCell")}getFlashingCellDefinitionsForDataChange(e){let t=this.api.flashingCellApi.getActiveFlashingCellDefinitions(),n=!1,r=t.filter(a=>this.api.scopeApi.isColumnInScope(e.column,a.Scope)).filter(a=>!DE(a.Rule)),i=[];return pt.IsNotNullOrEmpty(r)&&r.forEach(a=>{if(!(e.trigger!=="aggChange"&&this.isFlashingTargetOnlyAggChange(a)))if(a.Rule.BooleanExpression){let s=a.Rule.BooleanExpression,l=e.rowNode;l||(l=this.api.gridApi.getRowNodeForPrimaryKey(e.primaryKeyValue)),this.api.expressionApi.isValidBooleanExpression(s,this.moduleInfo.ModuleName,`Invalid Alert boolean expression '${s}'`)&&this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(s,this.moduleInfo.ModuleName,l)&&i.push(a)}else this.isAlertPredicateTriggered(a,e,n)&&i.push(a)}),i}isAlertPredicateTriggered(e,t,n=!1){var i;let r={value:t.newValue,oldValue:t.oldValue,displayValue:null,node:t.rowNode,column:t.column,adaptableApi:this.api,userName:this.api.optionsApi.getUserName(),adaptableId:this.api.optionsApi.getAdaptableId()};return this.api.predicateApi.handleColumnPredicates((i=e.Rule)==null?void 0:i.Predicates,r,n)}getTeamSharingAction(){return{ModuleEntities:this.api.flashingCellApi.getFlashingCellDefinitions(),AddAction:fv,EditAction:gv}}toView(e){return{items:[T(S({},zc(e.Scope,this.api)),{label:"Trigger"}),T(S({},Tb(e.Rule,this.api)),{label:"Rule",name:"Rule"}),ZGe(e),dHe(e),mHe(),er(e,this.api)],abObject:e}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{getEditAction:gv,getSuspendAction:U1,getUnSuspendAction:W1,getSuspendAllAction:XCe,getUnSuspendAllAction:ZCe,getDeleteAction:dK,getEditWizard:()=>uHe}}canBeAssociatedWithLayouts(){return!0}};d();var zz=class extends It{constructor(e){let t=e.optionsApi.getSettingsPanelOptions().title;super(dv,t,"settings",null,"Manage all Adaptable Settings",e)}addColumnMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,En())]}addContextMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,En())]}addModuleMenuItem(e){if(this.isModuleAvailable())return this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,En())}};d();d();var _0=I(require("react"));var hHe=o=>{var l,u;let t=(l=pe().adaptableOptions)==null?void 0:l.chartingOptions,n=t==null?void 0:t.chartContainers,{isOpen:r,showChart:i,closeChart:a}=DW(o.data);if(r)return _0.createElement(ue,{"data-name":"close-chart-button",onClick:a,variant:"text",tone:"error",icon:"visibility-off",tooltip:"Hide Chart"});if(!(n!=null&&n.length))return _0.createElement(ue,{"data-name":"show-chart-button",onClick:()=>i(),variant:"text",tone:"success",icon:"visibility-on",tooltip:"Show Chart"});let s=[{label:(u=t.agGridContainerName)!=null?u:XS,onClick:()=>{i(null)}},...n?n==null?void 0:n.map(c=>({label:c.name,onClick:()=>i(c)})):[]];return _0.createElement(Qe,{"data-name":"show-chart-dropdown",variant:"text",columns:["label"],items:s},_0.createElement(ue,{variant:"raised",tone:"success"},"Open"))};d();var tp=I(require("react")),jz=I(Ce());d();var Tg=I(require("react"));var fHe=I(tE());var gHe=o=>{let e=_t(a=>W_(a.System)),[t,n]=Tg.useState(null),r=pe(),i=Tg.useRef(null);return Tg.useEffect(()=>{if(!i.current)return;let a=r.api.chartingApi.showChartDefinition(o.chartDefinition,i.current);return n(a.chartId),a.chart,()=>{a.destroyChart()}},[i]),Tg.useEffect(()=>{let a=e.find(s=>s.chartId==t);a&&!(0,fHe.default)(a,o.chartDefinition.Model)&&o.onChange(T(S({},o.chartDefinition),{Model:a}))},[e]),Tg.createElement("div",{ref:i})};d();var tu=I(require("react"));var CHe=(o,e)=>o.Name?e.chartingApi.getChartDefinitions().some(n=>n.Uuid!==o.Uuid&&n.Name===o.Name)?"There is already a chart with this name":!0:"Name is mandatory",yHe=o=>{let e=tu.useCallback(l=>{o.onChange(T(S({},o.chartDefinition),{Name:l.target.value,Model:o.chartDefinition.Model}))},[o.chartDefinition]),t=tu.useCallback(()=>{o.onChange(T(S({},o.chartDefinition),{Model:T(S({},o.chartDefinition.Model),{unlinkChart:!o.chartDefinition.Model.unlinkChart})}))},[o.chartDefinition]),n=tu.useCallback(()=>{o.onChange(T(S({},o.chartDefinition),{Model:T(S({},o.chartDefinition.Model),{suppressChartRanges:!o.chartDefinition.Model.suppressChartRanges})}))},[o.chartDefinition]),i=["sum","min","max","count","avg","first","last"].map(l=>({label:l,onClick:()=>{o.onChange(T(S({},o.chartDefinition),{Model:T(S({},o.chartDefinition.Model),{aggFunc:l})}))}})),a=o.chartDefinition.Model.aggFunc,s=tu.useCallback(()=>{o.onChange(T(S({},o.chartDefinition),{Model:T(S({},o.chartDefinition.Model),{aggFunc:""})}))},[o.chartDefinition]);return tu.createElement(Ke,null,tu.createElement(de,{label:"Name"},tu.createElement(oo,{onChange:e,value:o.chartDefinition.Name})),tu.createElement(de,{label:"Unlink Chart"},tu.createElement(Ne,{onClick:t,checked:o.chartDefinition.Model.unlinkChart})),tu.createElement(de,{label:"Suppress Chart Ranges"},tu.createElement(Ne,{onClick:n,checked:o.chartDefinition.Model.suppressChartRanges})),o.chartDefinition.Model.modelType==="range"&&typeof a!="function"&&tu.createElement(de,{label:"Agg Func"},tu.createElement(Qe,{columns:["label"],items:i,onClear:s},a||"Select ")))};var bHe=o=>{let e=pe(),[t,n]=tp.useState(()=>{var i,a;return(a=o.data)!=null?a:(i=o.popupParams)==null?void 0:i.value}),r=tp.useCallback(()=>{e.api.chartingApi.editChartDefinition(t),o.onFinishWizard(t)},[t]);return tp.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:r,sections:[{title:"Settings",details:"Chart Settings",isValid:CHe,render:()=>tp.createElement(jz.Box,{padding:2},tp.createElement(yHe,{chartDefinition:t,onChange:n}))},{details:"Select Chart Tags",title:"Tags",isVisible:()=>e.api.internalApi.shouldDisplayTagSections(),render:()=>tp.createElement(jz.Box,{padding:2},tp.createElement(Pr,{onChange:n})),renderSummary:Dr},"-",{title:"Preview Chart",details:"Chart Preview",render:()=>tp.createElement(jz.Box,{p:2},tp.createElement(gHe,{chartDefinition:t,onChange:n}))}]})};d();var k0=I(require("react"));var PI=I(Ce()),SHe=o=>{let t=pe().api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(hd),{chartSelector:n,containerSelector:r,chartButton:i,deleteButton:a,editButton:s}=OW({elementType:"Statusbar",accessLevel:t,size:"small"});return k0.createElement(PI.Flex,{width:"100%",alignItems:"center"},k0.createElement(PI.Box,null,n),r&&k0.createElement(PI.Box,{ml:1},r),k0.createElement(PI.Box,{ml:1},i,a,s))};var Kz=class extends It{constructor(e){super(hd,h7,"chart","ChartPopup","Create AG Grid Charts in order to see Adaptable Data visually",e)}updateOldConfig(){let t=this.getModuleAdaptableObjects().filter(n=>"model"in n||!("Name"in n)).map(n=>{let r=S({},n);return"model"in r&&(r.Model=n.model,delete r.model),"Name"in r||(r.Name=r.Model.chartId),r});t.length>0&&t.forEach(n=>this.api.chartingApi.editChartDefinition(n))}isModuleAvailable(){return this.api.chartingApi.isChartingEnabled()&&super.isModuleAvailable()}getModuleAdaptableObjects(){return this.api.chartingApi.getChartDefinitions()}toViewAll(){return this.getModuleAdaptableObjects().map(e=>this.toView(e))}toView(e){var t;return{items:[{name:"Name",values:[e.Name]},{name:"About",values:[`Chart Type: ${e.Model.chartType}`,e.Model.aggFunc&&`Aggregation Function: ${e.Model.aggFunc}`].filter(Boolean)},{name:"Settings",values:[`Unlink from data: ${e.Model.unlinkChart?"Yes":"No"}`,`Suppress Chart Ranges: ${e.Model.suppressChartRanges?"Yes":"No"}`]},{name:"Range",values:[`Row start index: ${e.Model.cellRange.rowStartIndex}`,`Row end index: ${e.Model.cellRange.rowEndIndex}`,e.Model.cellRange.columnStart&&`Column start: ${typeof e.Model.cellRange.columnStart=="string"?e.Model.cellRange.columnStart:e.Model.cellRange.columnStart.getColId()}`,e.Model.cellRange.columnEnd&&`Column start: ${typeof e.Model.cellRange.columnEnd=="string"?e.Model.cellRange.columnEnd:e.Model.cellRange.columnEnd.getColId()}`,((t=e.Model.cellRange.columns)==null?void 0:t.length)&&`Columns ${e.Model.cellRange.columns.map(n=>typeof n=="string"?n:n.getColId()).join(", ")}`].filter(Boolean)},er(e,this.api)].filter(Boolean),abObject:e}}getViewProperties(){return{actions:[hHe],getEditWizard:()=>bHe,hideNewButton:!0,getDeleteAction:e=>CV(e.Name),emptyView:'To create a chart select a few cells and right click. Then select "Chart Range" from the context menu.',getStatusBarPanelProps:()=>({content:SHe,triggerActionOnWrapperClick:!1})}}};d();var Qz=class extends It{constructor(t){super(uv,w7,"comment","CommentsPopup","Comments",t);this.adaptable=t.internalApi.getAdaptableInstance(),this.adaptable.api.eventApi.on("AdaptableReady",()=>this.handleAdaptableReady())}isModuleAvailable(){return!1}handleAdaptableReady(){!this.isModuleAvailable()||(this.adaptable._on("MouseEnter",t=>this.handleMouseEnter(t)),this.api.eventApi.on("SelectionChanged",t=>{let n=t.selectedCellInfo.gridCells;if((n==null?void 0:n.length)===1){let r=n[0],i={PrimaryKeyValue:r.primaryKeyValue,ColumnId:r.column.columnId};this.handleCellSelected(i)}}))}addContextMenuItems(t){var i,a;if(!this.isModuleAvailable())return;let n=[],r=(a=(i=this.adaptable.api.optionsApi)==null?void 0:i.getCommentOptions())==null?void 0:a.isCellCommentable;return(!r||r({adaptableApi:this.adaptable.api,primaryKeyValue:t.primaryKeyValue,columnId:t.adaptableColumn.columnId,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.adaptableOptions.adaptableId}))&&n.push(...this.getAddRemoveCommentMenuItems(t)),n}getAddRemoveCommentMenuItems(t){var i;let n=[],[r]=(i=this.adaptable.api.commentsApi.getCellComments({PrimaryKeyValue:t.primaryKeyValue,ColumnId:t.adaptableColumn.columnId}))!=null?i:[];return r?n.push(this.createColumnMenuItemClickFunction("Remove Comment",this.moduleInfo.Glyph,()=>{this.api.commentsApi.deleteComment(r)})):n.push(this.createColumnMenuItemClickFunction("Add Comment",this.moduleInfo.Glyph,()=>{this.api.commentsApi.addComment("",t.primaryKeyValue,t.adaptableColumn.columnId),this.api.commentsApi.showComment({PrimaryKeyValue:t.primaryKeyValue,ColumnId:t.adaptableColumn.columnId},!0)})),n}getCellPositionFromEvent(t){var r,i;let n=t.target;if(!((i=(r=n==null?void 0:n.classList)==null?void 0:r.contains)!=null&&i.call(r,"ag-cell")))return null;try{return{PrimaryKeyValue:n.parentElement.getAttribute("row-id"),ColumnId:n.getAttribute("col-id")}}catch(a){return null}}handleMouseEnter(t){var a;if(this.adaptable.api.commentsApi.getCommentPopupEditMode())return;let r=this.getCellPositionFromEvent(t),i=this.adaptable.api.commentsApi.getOpenCommentGridCell();!r&&i?this.adaptable.api.commentsApi.hideComment():(a=this.adaptable.api.commentsApi.getCellComments(r))!=null&&a.length&&this.adaptable.api.commentsApi.showComment(r,!1)}handleCellSelected(t){let n=this.adaptable.api.commentsApi.getOpenCommentGridCell();if((n==null?void 0:n.PrimaryKeyValue)===t.PrimaryKeyValue&&(n==null?void 0:n.ColumnId)===t.ColumnId)return;let r=this.adaptable.api.commentsApi.getCellComments(t);if(n&&!(r!=null&&r.length)){this.adaptable.api.commentsApi.getCommentPopupEditMode()&&this.adaptable.api.commentsApi.hideComment();return}if(n&&(r==null?void 0:r.length)){this.adaptable.api.commentsApi.showComment(t,!0);return}}};d();var vHe=I(nE()),AHe=(o,e,t)=>{if(!!o.PercentBarStyle)return class{init(r){var C,y;let i=t.styledColumnApi.internalApi.getNumericStyleMinValue(o,e,r.node,r.value),a=t.styledColumnApi.internalApi.getNumericStyleMaxValue(o,e,r.node,r.value),s=r.value;if(yn.objectNotExists(s)&&(s=0),!o.IncludeGroupedRows&&t.gridApi.isGroupRowNode(r.node)){r.value&&(this.eGui=document.createElement("div"),this.eGui.append(r.value));return}let u=((0,vHe.default)(s,i,a)-i)/(a-i)*100,c,p=o.PercentBarStyle;if(p.ColumnComparison)c=p.ColumnComparison.Color;else{let v=t.styledColumnApi.internalApi.findRangeForColumn(p.CellRanges,e,p.RangeValueType,r.value);v&&(c=v.Color)}let m=p.CellText&&p.CellText.length>0,h=p.CellTextPosition==="Merged";if(c){this.eGui=document.createElement("div"),this.eGui.className="ab-PercentBar__wrapper",this.eGui.style.height=m&&!h?"80%":"100%",this.eGui.style.display="flex",this.eGui.style.flexDirection="column",this.eGui.style.justifyContent="center";let v=document.createElement("div");v.className="ab-PercentBar__bar",v.style.position="relative",v.style.background=p.BackColor,v.style.flex="1";let x=document.createElement("div");if(x.className="ab-PercentBar__barInside",x.style.background=c,x.style.height="100%",x.style.width=`${u.toFixed(0)}%`,v.append(x),this.eGui.append(v),m){let A=document.createElement("div");switch(A.className="ab-PercentBar__text",A.style.lineHeight="1.2",p.CellText.includes("CellValue")&&(A.innerText=(y=(C=r.formatValue)==null?void 0:C.call(r,r.value))!=null?y:r.value),p.CellText.includes("PercentageValue")&&(A.innerText+=` (${u.toFixed(0)}%)`),p.CellTextPosition){case"Above":this.eGui.prepend(A);break;case"Below":this.eGui.append(A);break;case"Merged":A.style.position="absolute",A.style.top="50%",A.style.transform="translateY(-50%)",A.style.left="0",A.style.right="0",A.style.paddingLeft="5px",A.style.paddingRight="5px",v.append(A);break;default:this.eGui.append(A);break}}}}getGui(){return this.eGui}refresh(r){return!1}}};d();d();var Dte=I(require("react"));var DI=o=>{let{iconPosition:e="start",icon:t}=o,n=e.toLowerCase(),r=t&&Dte.createElement(Ma,{icon:t}),i=U2(o.adaptableStyle);return Dte.createElement("div",{className:"ab-Badge",style:i},n==="start"&&r,o.children,n==="end"&&r)};var xHe=(o,e,t)=>{if(!!o.BadgeStyle)return class{getAdaptableInstance(r){return r.api.__adaptable}init(r){var h,C,y,v;let i=this.getAdaptableInstance(r),a=i.api;this.eGui=document.createElement("div"),this.eGui.className="ab-Badge__wrapper";let s=(y=(C=(h=r.formatValue)==null?void 0:h.call(r,r.value))!=null?C:r.value)!=null?y:"",l={value:r.value,oldValue:null,displayValue:r.formatValue,node:r.node,column:e,adaptableApi:a,userName:a.optionsApi.getUserName(),adaptableId:a.optionsApi.getAdaptableId()},u=t.styledColumnApi.internalApi.getApplicableBadge(o,l),c=r.node.group;if(Boolean(o.IncludeGroupedRows)===!1&&c||(s===""||s===null||s===void 0)||!u){this.eGui.innerHTML=s;return}this.unmountReactRoot=t.internalApi.getAdaptableInstance().renderReactRoot(Oi(DI({adaptableStyle:u.Style,children:s,icon:u.Icon,iconPosition:(v=u.IconPosition)!=null?v:"start"}),i),this.eGui)}getGui(){return this.eGui}destroy(){var r;(r=this.unmountReactRoot)==null||r.call(this)}refresh(r){return!1}}};d();var $z=class extends It{constructor(e){super(Uf,W7,"statusbar","StatusBarPopup","Configure AdapTable Status Bar",e)}syncStateWithOptions(e){let t=this.api.statusBarApi.getAdaptableStatusBars(),n=e.map(r=>{let i=t.find(a=>a.Key===r.key);return i||(i={Key:r.key,StatusBarPanels:[]}),i});this.api.statusBarApi.setStatusBarPanels(n)}isModuleAvailable(){return super.isModuleAvailable()&&this.api.statusBarApi.getAgGridStatusPanels().length>0}};d();d();var $s=I(require("react")),QHe=require("react"),_b=I(Ce());d();var Am=I(require("react")),qz=I(Ce());var RHe=o=>{let e=null;return o.GradientStyle?e="Gradient Column":o.PercentBarStyle?e="Percent Bar":o.CheckBoxStyle?e="Check Box":o.SparkLineStyle?e="Spark Line":o.BadgeStyle&&(e="Badge"),Am.createElement(qz.Text,{pr:2,py:2},"Type ",Am.createElement(rt,null,e))},EHe=o=>{let{data:e}=ke(),t=pe(),n=r=>{let i=S({},e);switch(delete i.GradientStyle,delete i.PercentBarStyle,delete i.CheckBoxStyle,delete i.SparkLineStyle,delete i.BadgeStyle,r){case"gradient":i.GradientStyle={};break;case"percent":i.PercentBarStyle={};break;case"checkbox":i.CheckBoxStyle=!0;break;case"sparkline":i.SparkLineStyle={options:{type:"line"}};break;case"badge":i.BadgeStyle={Badges:[it.CreateDefaultStyledColumnBadge()]};break}i.ColumnId=null,o.onChange(i)};return Am.createElement(qz.Flex,{height:"100%",flexDirection:"column","data-name":"styled-column-type"},Am.createElement(J,{autoFocus:!1,padding:2},Am.createElement(J.Tab,null,"Type"),Am.createElement(J.Content,null,Am.createElement(Wh,{text:"Gradient",description:"Colour each cell in the column using a gradient value (Numeric Columns)",checked:Boolean(e.GradientStyle),onClick:()=>n("gradient")}),Am.createElement(Wh,{text:"Percent Bar",description:"Display a coloured bar where the width is based on the cell (Numeric Columns)",checked:Boolean(e.PercentBarStyle),onClick:()=>n("percent")}),t.api.styledColumnApi.canDisplaySparklines()&&Am.createElement(Wh,{text:"Sparkline",description:"Render the column as a Sparkline (Numeric Array Columns)",checked:Boolean(e.SparkLineStyle),onClick:()=>n("sparkline")}),Am.createElement(Wh,{text:"Badge",description:"Display the column's values as Badges (All Columns)",checked:Boolean(e.BadgeStyle),onClick:()=>n("badge")}))))};d();var Ig=I(require("react")),wHe=I(Ce());var THe=o=>{let{api:e}=ke();return Ig.createElement(wHe.Text,{pr:2,py:2},"Styled Column column:"," ",Ig.createElement(rt,null,o.ColumnId?e.columnApi.getFriendlyNameForColumnId(o.ColumnId):"No Column Selected"))},IHe=o=>o.ColumnId?!0:"You have to select a Column for Styled Column",PHe=o=>{let{data:e,api:t}=ke(),n=Ig.useMemo(()=>{let i=[];e.CheckBoxStyle?i=t.columnApi.getBooleanColumns():e.SparkLineStyle?i=t.columnApi.getNumericArrayColumns():e.BadgeStyle?i=[...t.columnApi.getNumericColumns(),...t.columnApi.getStringColumns()]:i=t.columnApi.getNumericColumns();let s=t.styledColumnApi.getStyledColumns().map(l=>l.Uuid===e.Uuid?null:l.ColumnId).filter(Boolean);return i.filter(l=>s.every(u=>l.columnId!==u))},[e]),r=i=>{let a=i[0],s=t.scopeApi.createCellColorRangesForScope({ColumnIds:[a]}),l=T(S({},e),{ColumnId:a});l.PercentBarStyle&&(l.PercentBarStyle=T(S({},l.PercentBarStyle),{CellRanges:s})),l.GradientStyle&&(l.GradientStyle=T(S({},l.GradientStyle),{CellRanges:s})),o.onChange(l)};return Ig.createElement(J,{style:{height:"100%"}},Ig.createElement(J.Tab,null,"Column"),Ig.createElement(J.Content,null,Ig.createElement(_A,{availableColumns:n,selected:e.ColumnId?[e.ColumnId]:[],singleSelect:!0,onChange:r,allowReorder:!1})))};d();d();var _o=I(require("react")),Nb=I(Ce());d();var vo=I(require("react")),xm=I(Ce());var Ote=I(nE());d();var Pg=I(require("react"));var B0=o=>{let[e,t]=Pg.useState(()=>{var i;return(i=o.value)!=null?i:""}),n=Pg.useCallback(i=>{let{value:a}=i.target,s=Number(a);a==="-"||a===""?(s=a,t(a)):isNaN(s)||(t(a),o.onChange(s))},[]);Pg.useEffect(()=>{t(o.value)},[o.value]);let r=Pg.useCallback(i=>{var a;(a=o==null?void 0:o.onBlur)==null||a.call(o,i),e!==o.value&&t(o.value)},[o.value,e]);return Pg.createElement(mt,T(S({},o),{value:e,onBlur:r,onChange:n}))};var V0=class extends vo.Component{constructor(e){super(e),this.state={rangesType:this.props.columnComparison?"ColumnComparison":"Standard"}}render(){var s,l;let e=this.props.columnComparison!=null&&this.props.columnComparison.MinValue!=null&&!isNaN(Number(this.props.columnComparison.MinValue))?Number(this.props.columnComparison.MinValue):"",t=this.props.columnComparison!=null&&this.props.columnComparison.MaxValue!=null&&!isNaN(Number(this.props.columnComparison.MaxValue))?Number(this.props.columnComparison.MaxValue):"",n=this.props.columnComparison!=null&&this.props.columnComparison.MinValue!=null&&isNaN(Number(this.props.columnComparison.MinValue))?String(this.props.columnComparison.MinValue):void 0,r=this.props.columnComparison!=null&&this.props.columnComparison.MaxValue!=null&&isNaN(Number(this.props.columnComparison.MaxValue))?String(this.props.columnComparison.MaxValue):void 0,i=this.props.columnComparison!=null&&this.props.columnComparison.Color!=null?this.props.columnComparison.Color:void 0,a=((s=this.props.rangeValueType)!=null?s:"Number")==="Number";return vo.createElement(vo.Fragment,null,vo.createElement(xm.Flex,{flexDirection:"row"},vo.createElement(Ne,{marginTop:3,checked:this.state.rangesType=="ColumnComparison",onChange:u=>this.onRangesTypeChanged(u)},"Use a Column Comparison")),this.state.rangesType=="Standard"&&vo.createElement(J,{autoFocus:!1,marginTop:2},vo.createElement(J.Tab,null,"Ranges"),vo.createElement(J.Content,null,vo.createElement(xm.Flex,{alignItems:"center",mb:2},vo.createElement(xm.Text,{mr:3},"Range Type"),vo.createElement(Xe,{onChange:()=>this.handleRangeValueTypeChange("Number"),checked:a,mr:2},"Number"),vo.createElement(Xe,{onChange:()=>this.handleRangeValueTypeChange("Percentage"),checked:!a},"Percentage")),(l=this.props.ranges)==null?void 0:l.map((u,c,p)=>vo.createElement(xm.Flex,{key:c,alignItems:"end",mb:2,"data-name":"percent-bar-range"},vo.createElement(xm.Flex,{flexDirection:"column"},a&&c===0&&vo.createElement(Ne,{onClick:()=>this.setRangeColMin(u),checked:u.Min==="Col-Min",mt:0,mb:1,fontSize:3,disabled:this.props.disabled},"Col Min"),vo.createElement(B0,{disabled:this.props.disabled||u.Min==="Col-Min"||c===0&&!a,value:u.Min,onChange:m=>{this.changeRangeMin(c,m)},mr:2})),vo.createElement(xm.Flex,{flexDirection:"column"},a&&c===p.length-1&&vo.createElement(Ne,{mt:0,mb:1,onClick:()=>this.setRangeColMax(u),checked:u.Max==="Col-Max",fontSize:3,disabled:this.props.disabled},"Col Max"),vo.createElement(B0,{value:u.Max,disabled:this.props.disabled||u.Max==="Col-Max"||c===p.length-1&&!a,onChange:m=>{this.changeRangeMax(c,m)},mr:2})),vo.createElement(xm.Flex,{alignItems:"center",height:"100%"},vo.createElement(Di,{api:this.props.api,value:u.Color,onChange:m=>{this.changeRangeColor(c,m)},mr:2,height:33})),this.props.showRangeDirection&&vo.createElement(Ne,{disabled:this.props.disabled,checked:u.ReverseGradient&&u.ReverseGradient==!0,onChange:m=>this.changeRangeDirectionUp(c,m),ml:2},"Reverse Gradient"),vo.createElement(ue,{ml:2,mb:1,icon:"delete",disabled:this.props.disabled||this.props.ranges&&this.props.ranges.length==1,onClick:()=>this.removeRange(c)}))),vo.createElement("div",null,vo.createElement(ue,{disabled:this.props.disabled,variant:"raised","data-name":"add",onClick:()=>this.addRange()},"Add New Range")))),this.state.rangesType=="ColumnComparison"&&vo.createElement(J,{autoFocus:!1,marginTop:2},vo.createElement(J.Tab,null,"Column Comparison"),vo.createElement(J.Content,null,vo.createElement(xm.Flex,{flexDirection:"column",key:"cc","data-name":"percent-bar-column-comparison"},vo.createElement(xm.Text,{padding:2,fontSize:2},"Create Minimum and Maximum Values by providing a value or selecting another Column, and choose a"," ",this.props.api.internalApi.getCorrectEnglishVariant("Colour")," for the Bar."),vo.createElement(Ke,{columns:["label","first","or","second"],sizes:["auto","auto","auto","1fr"]},vo.createElement(de,{label:"Min Value:",first:vo.createElement(B0,{disabled:this.props.disabled,type:"number",value:e,onChange:u=>{this.changeColumnComparisonMinValue(u)}}),or:"OR",second:vo.createElement(zA,{disabled:this.props.disabled,style:{maxWidth:"15rem"},SelectedColumnIds:[n],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:u=>this.onMinColumnSelectedChanged(u),SelectionMode:"Single"})})," ",vo.createElement(de,{label:"Max Value:",first:vo.createElement(B0,{disabled:this.props.disabled,type:"number",value:t,onChange:u=>{this.changeColumnComparisonMaxValue(u)}}),or:"OR",second:vo.createElement(zA,{disabled:this.props.disabled,style:{maxWidth:"15rem"},SelectedColumnIds:[r],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:u=>this.onMaxColumnSelectedChanged(u),SelectionMode:"Single"})}),vo.createElement(de,{label:`Bar ${this.props.api.internalApi.getCorrectEnglishVariant("Colour")}`,first:vo.createElement(Di,{disabled:this.props.disabled,api:this.props.api,value:i,onChange:u=>{this.changeColumnComparisonColor(u)}})}))))))}onRangesTypeChanged(e){if(e){let t={Color:Ro(aE),MinValue:void 0,MaxValue:void 0};this.setState({rangesType:"ColumnComparison"}),this.props.updateColumnComparison(t)}else{let t=this.props.api.scopeApi.createCellColorRangesForScope(this.props.scope);this.setState({rangesType:"Standard"}),this.props.updateRanges(t)}}handleRangeValueTypeChange(e){this.props.onRangeValueTypeChange(e)}changeRangeMin(e,t){let{ranges:n}=this.props,r=Number(t);this.props.rangeValueType==="Percentage"&&(r=(0,Ote.default)(r,0,100)),n[e].Min=r,n[e-1]&&(n[e-1].Max=r),this.props.updateRanges(n)}changeRangeMax(e,t){let{ranges:n}=this.props,r=Number(t);this.props.rangeValueType==="Percentage"&&(r=(0,Ote.default)(r,0,100)),n[e].Max=r,n[e+1]&&(n[e+1].Min=r),this.props.updateRanges(n)}changeRangeColor(e,t){let{ranges:n}=this.props;n[e].Color=t,this.props.updateRanges(n)}changeRangeDirectionUp(e,t){let{ranges:n}=this.props;n[e].ReverseGradient=t,this.props.updateRanges(n)}removeRange(e){let t=[...this.props.ranges];t.splice(e,1),this.props.rangeValueType==="Percentage"&&t.length===1&&(t[0]=T(S({},t[0]),{Max:100})),this.props.updateRanges(t)}setRangeColMin(e){let t=this.props.ranges.map(n=>{if(n===e){let r=n.Min==="Col-Min"?this.props.minMaxRangeValues.min:"Col-Min";return T(S({},n),{Min:r})}return n});this.props.updateRanges(t)}setRangeColMax(e){let t=this.props.ranges.map(n=>{if(n===e){let r=n.Max==="Col-Max"?this.props.minMaxRangeValues.max:"Col-Max";return T(S({},n),{Max:r})}return n});this.props.updateRanges(t)}addRange(){let e=this.props.ranges[this.props.ranges.length-1],t=e,n=null;e.Max==="Col-Max"?(n=this.props.minMaxRangeValues.max,t=T(S({},t),{Max:this.props.minMaxRangeValues.max})):n=e.Max;let r={Min:n,Max:e.Max,Color:Ro(Mp)},i=[...this.props.ranges.slice(0,-1),t,r];this.props.updateRanges(i)}changeColumnComparisonMinValue(e){let{columnComparison:t}=this.props;t.MinValue=e,this.props.updateColumnComparison(t)}onMinColumnSelectedChanged(e){let{columnComparison:t}=this.props;t.MinValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(t)}changeColumnComparisonMaxValue(e){let{columnComparison:t}=this.props;t.MaxValue=e,this.props.updateColumnComparison(t)}onMaxColumnSelectedChanged(e){let{columnComparison:t}=this.props;t.MaxValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(t)}changeColumnComparisonColor(e){let{columnComparison:t}=this.props;t.Color=e,this.props.updateColumnComparison(t)}};d();var Xz=I(require("react")),Zz=I(Ce());d();var G0=I(require("react")),OI=I(Ce()),DHe=o=>{let e="";return o&&o.includes("CellValue")&&(e+="20"),o&&o.includes("PercentageValue")&&(e+=" (50%)"),e.trim()},Yz=o=>{let e=DHe(o.cellText),t=DHe(o.toolTipText);return G0.createElement(OI.Box,{title:t,flex:1},G0.createElement(OI.Flex,{height:e?8:18,backgroundColor:o.backgroundColor,flex:1},G0.createElement(OI.Box,{flexBasis:"50%",style:{background:o.barBackgroundColor}})),e&&G0.createElement(OI.Box,{fontSize:3},e))};var OHe=o=>{let{api:e}=pe(),t=o.percentBarStyle.ColumnComparison;return Xz.createElement(Zz.Flex,{alignItems:"center",mr:3},Xz.createElement(Zz.Box,{flexBasis:120,mr:3},isNaN(Number(t.MinValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(t.MinValue))+"]":t.MinValue," ","to"," ",isNaN(Number(t.MaxValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(t.MaxValue))+"]":t.MaxValue," "),Xz.createElement(Yz,{backgroundColor:t.Color,barBackgroundColor:o.percentBarStyle.BackColor,cellText:o.percentBarStyle.CellText,toolTipText:o.percentBarStyle.ToolTipText}))};d();var Sx=I(require("react")),Fte=I(Ce());var FHe=o=>{let e="";return o.percentBarStyle.RangeValueType==="Percentage"&&(e="%"),Sx.createElement(Sx.Fragment,null,o.percentBarStyle.CellRanges.map((t,n)=>Sx.createElement(Fte.Flex,{key:n,alignItems:"stretch",mr:3,mb:2},Sx.createElement(Fte.Flex,{flexBasis:120,alignItems:"center",mr:3},t.Min,e," to ",t.Max,e," "),Sx.createElement(Yz,{backgroundColor:o.percentBarStyle.BackColor,barBackgroundColor:t.Color,cellText:o.percentBarStyle.CellText,toolTipText:o.percentBarStyle.ToolTipText}))))};var SNt=(o,e)=>{let t="";return e==="Percentage"&&(t="%"),o.map((n,r)=>_o.createElement(Nb.Flex,{key:r,alignItems:"center",mr:3},_o.createElement(Nb.Box,{mr:1},n.Min,t," to ",n.Max,t," "),_o.createElement(GA,{Style:{BackColor:n.Color,ForeColor:n.Color}})))},vNt=(o,e)=>_o.createElement(Nb.Flex,{key:"cc",alignItems:"center",mr:3},_o.createElement(Nb.Box,{mr:1},"Min Value:"," ",isNaN(Number(o.MinValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(o.MinValue))+"]":o.MinValue," ",", Max Value:"," ",isNaN(Number(o.MaxValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(o.MaxValue))+"]":o.MaxValue," "),_o.createElement(GA,{Style:{BackColor:o.Color,ForeColor:o.Color}})),Jz=(o,e)=>{if(o.CheckBoxStyle)return _o.createElement(rt,null,"Checkbox Style");if(o.GradientStyle){if(o.GradientStyle.CellRanges)return SNt(o.GradientStyle.CellRanges,o.GradientStyle.RangeValueType);if(o.GradientStyle.ColumnComparison)return vNt(o.GradientStyle.ColumnComparison,e)}if(o.PercentBarStyle){if(o.PercentBarStyle.ColumnComparison)return _o.createElement(OHe,{percentBarStyle:o.PercentBarStyle});if(o.PercentBarStyle.CellRanges)return _o.createElement(FHe,{percentBarStyle:o.PercentBarStyle})}return _o.createElement(rt,null,"No Styling Defined")},MHe=o=>{var A,R,w,P,D,F,M,O,_,H,j,B,V,$,K,Z,oe,X,xe;let{data:e,api:t}=ke(),n=_o.useMemo(()=>{let se=e.ColumnId;if(!se)return null;let ie=t.columnApi.getColumnWithColumnId(se);return{min:t.styledColumnApi.internalApi.getMinValueForNumericColumn(ie),max:t.styledColumnApi.internalApi.getMaxValueForNumericColumn(ie)}},[e]),r={ColumnIds:[e.ColumnId]},i=se=>{let ie=T(S({},e.GradientStyle),{CellRanges:se});o.onChange(T(S({},e),{GradientStyle:ie}))},a=se=>{let ie={ColumnComparison:se};o.onChange(T(S({},e),{GradientStyle:ie}))},s=se=>{let ie=T(S({},e.PercentBarStyle),{ColumnComparison:se});o.onChange(T(S({},e),{PercentBarStyle:ie}))},l=se=>{let ie=T(S({},e.PercentBarStyle),{CellRanges:se});o.onChange(T(S({},e),{PercentBarStyle:ie}))},u=se=>{let ie=e==null?void 0:e.PercentBarStyle;se?ie.CellText?ie.CellText.push("CellValue"):ie.CellText=["CellValue"]:ie.CellText&&ie.CellText.includes("PercentageValue")?ie.CellText=["PercentageValue"]:ie.CellText=[],o.onChange(T(S({},e),{PercentBarStyle:ie}))},c=se=>{let ie=e==null?void 0:e.PercentBarStyle;se?ie.CellText?ie.CellText.push("PercentageValue"):ie.CellText=["PercentageValue"]:ie.CellText&&ie.CellText.includes("CellValue")?ie.CellText=["CellValue"]:ie.CellText=[],o.onChange(T(S({},e),{PercentBarStyle:ie}))},p=se=>{o.onChange(T(S({},e),{PercentBarStyle:T(S({},e.PercentBarStyle),{CellTextPosition:se})}))},m=se=>{let ie=e==null?void 0:e.PercentBarStyle;se?ie.ToolTipText?ie.ToolTipText.push("CellValue"):ie.ToolTipText=["CellValue"]:ie.ToolTipText&&ie.ToolTipText.includes("PercentageValue")?ie.ToolTipText=["PercentageValue"]:ie.ToolTipText=[],o.onChange(T(S({},e),{PercentBarStyle:ie}))},h=se=>{let ie=e.PercentBarStyle;se?ie.ToolTipText?ie.ToolTipText.push("PercentageValue"):ie.ToolTipText=["PercentageValue"]:ie.ToolTipText&&ie.ToolTipText.includes("CellValue")?ie.ToolTipText=["CellValue"]:ie.ToolTipText=[],o.onChange(T(S({},e),{PercentBarStyle:ie}))},C=se=>{let ie=e==null?void 0:e.PercentBarStyle;ie.BackColor=se?Ro(Mp):null,o.onChange(T(S({},e),{PercentBarStyle:ie}))},y=se=>{let ie=e.PercentBarStyle;ie.BackColor=se,o.onChange(T(S({},e),{PercentBarStyle:ie}))},v=_o.useCallback(se=>{let ie=se==="Number"?t.scopeApi.createCellColorRangesForScope(r):[{Min:0,Max:100,Color:Ro(Mp)}],he=e,De={CellRanges:ie,RangeValueType:se};"GradientStyle"in he?he=T(S({},he),{GradientStyle:S(S({},he.GradientStyle),De)}):he=T(S({},he),{PercentBarStyle:S(S({},he.PercentBarStyle),De)}),o.onChange(he)},[e]),x=!e.ColumnId;return _o.createElement(Nb.Box,null,e.CheckBoxStyle&&_o.createElement(J,null,_o.createElement(J.Tab,null,"Check Box Column"),_o.createElement(J.Content,null,_o.createElement(Ne,{marginLeft:2,readOnly:!0,checked:!0},"Display Column As CheckBox"))),(e==null?void 0:e.GradientStyle)&&_o.createElement(V0,{disabled:!e.ColumnId,minMaxRangeValues:n,api:t,scope:r,showRangeDirection:!0,ranges:(A=e.GradientStyle)==null?void 0:A.CellRanges,rangeValueType:(R=e.GradientStyle)==null?void 0:R.RangeValueType,onRangeValueTypeChange:v,columnComparison:(w=e==null?void 0:e.GradientStyle)==null?void 0:w.ColumnComparison,updateRanges:se=>i(se),updateColumnComparison:se=>a(se)}),e.PercentBarStyle&&_o.createElement(_o.Fragment,null,_o.createElement(V0,{disabled:x,minMaxRangeValues:n,api:t,scope:r,showRangeDirection:!1,ranges:(P=e.PercentBarStyle)==null?void 0:P.CellRanges,rangeValueType:(D=e.PercentBarStyle)==null?void 0:D.RangeValueType,onRangeValueTypeChange:v,columnComparison:(F=e==null?void 0:e.PercentBarStyle)==null?void 0:F.ColumnComparison,updateRanges:se=>l(se),updateColumnComparison:se=>s(se)}),_o.createElement(Ke,{marginLeft:2,marginTop:2},_o.createElement(de,{label:"Cell Display:"},_o.createElement(Ne,{disabled:x,marginLeft:2,checked:(O=(M=e.PercentBarStyle)==null?void 0:M.CellText)==null?void 0:O.includes("CellValue"),onChange:se=>u(se)},"Cell Value")," ",_o.createElement(Ne,{disabled:x,marginLeft:3,checked:(H=(_=e==null?void 0:e.PercentBarStyle)==null?void 0:_.CellText)==null?void 0:H.includes("PercentageValue"),onChange:se=>c(se)},"Percent Value"," ")," "),_o.createElement(de,{label:"Cell Display Position:"},_o.createElement(Qe,{disabled:We.IsNullOrEmpty(e.PercentBarStyle.CellText)||x,columns:["label"],items:[{label:"Above Bar",onClick:()=>p("Above")},{label:"Below Bar",onClick:()=>p("Below")},{label:"Merged",onClick:()=>p("Merged")}]},(B=(j=e.PercentBarStyle)==null?void 0:j.CellTextPosition)!=null?B:"Below")),_o.createElement(de,{label:"ToolTip Display:"},_o.createElement(Ne,{disabled:x,marginLeft:2,checked:($=(V=e==null?void 0:e.PercentBarStyle)==null?void 0:V.ToolTipText)==null?void 0:$.includes("CellValue"),onChange:se=>m(se)},"Cell Value")," ",_o.createElement(Ne,{disabled:x,marginLeft:3,checked:(Z=(K=e==null?void 0:e.PercentBarStyle)==null?void 0:K.ToolTipText)==null?void 0:Z.includes("PercentageValue"),onChange:se=>h(se)},"Percent Value"," ")," "),_o.createElement(de,{label:`Back ${t.internalApi.getCorrectEnglishVariant("Colour")}`},_o.createElement(Nb.Flex,{alignItems:"center",marginLeft:2},_o.createElement(Ne,{disabled:x,checked:!!((oe=e.PercentBarStyle)!=null&&oe.BackColor),onChange:se=>C(se),mr:2}),((X=e.PercentBarStyle)==null?void 0:X.BackColor)!==void 0&&_o.createElement(Di,{disabled:x,api:t,value:(xe=e.PercentBarStyle)==null?void 0:xe.BackColor,onChange:se=>y(se)}))))),!e.ColumnId&&_o.createElement(_s,{mt:2},"You need to select a column before styling."))};d();var op=I(require("react")),vx=I(Ce());var NHe=o=>op.createElement(vx.Box,{padding:2},op.createElement(vx.Text,{mt:3},"Include grouped rows ",op.createElement(rt,null,o.IncludeGroupedRows?"yes":"no"))),LHe=o=>{let{data:e,api:t}=ke(),n=r=>{o.onChange(T(S({},e),{IncludeGroupedRows:r}))};return op.createElement(J,null,op.createElement(J.Tab,null,"Settings"),op.createElement(J.Content,null,op.createElement(vx.Flex,{flexDirection:"row"},op.createElement(Ke,null,op.createElement(de,{label:"Include Grouped Rows:"},op.createElement(vx.Flex,{alignItems:"center",marginLeft:2},op.createElement(Ne,{"data-name":"include-grouped-rows-checkbox",checked:e.IncludeGroupedRows,onChange:n,mr:2})))))))};d();var Me=I(require("react")),Ax=I(Ce());d();function Mte(o,e,t){var n;return e.length===1?T(S({},o),{[e[0]]:t}):T(S({},o),{[e[0]]:Mte((n=o==null?void 0:o[e[0]])!=null?n:{},e.slice(1),t)})}var ANt=o=>{var r,i,a,s,l,u,c,p,m,h,C,y,v,x,A,R,w,P,D,F,M,O,_,H,j,B,V,$,K,Z,oe,X;let{data:e,api:t}=ke(),n=Me.useMemo(()=>[{label:"Number",value:"number",onClick:()=>o.onOptionChange(["axis","type"],"number")},{label:"Category",value:"category",onClick:()=>o.onOptionChange(["axis","type"],"category")},{label:"Time",value:"time",onClick:()=>o.onOptionChange(["axis","type"],"time")}],[e]);return Me.createElement(J,{mb:2},Me.createElement(J.Tab,null,"Padding"),Me.createElement(J.Tab,null,"Axis"),Me.createElement(J.Tab,null,"Highlight Style"),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Top"},Me.createElement(mt,{onChange:xe=>{var se;return o.onOptionChange(["padding","top"],(se=xe.target.value)!=null?se:0)},type:"number",value:(i=(r=e.SparkLineStyle.options)==null?void 0:r.padding)==null?void 0:i.top})),Me.createElement(de,{label:"Bottom"},Me.createElement(mt,{onChange:xe=>{var se;return o.onOptionChange(["padding","bottom"],(se=xe.target.value)!=null?se:0)},type:"number",value:(s=(a=e.SparkLineStyle.options)==null?void 0:a.padding)==null?void 0:s.bottom})),Me.createElement(de,{label:"Left"},Me.createElement(mt,{onChange:xe=>{var se;return o.onOptionChange(["padding","left"],(se=xe.target.value)!=null?se:0)},type:"number",value:(u=(l=e.SparkLineStyle.options)==null?void 0:l.padding)==null?void 0:u.left})),Me.createElement(de,{label:"Right"},Me.createElement(mt,{onChange:xe=>{var se;return o.onOptionChange(["padding","right"],(se=xe.target.value)!=null?se:0)},type:"number",value:(p=(c=e.SparkLineStyle.options)==null?void 0:c.padding)==null?void 0:p.right})))),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Axis Type"},Me.createElement(Qe,{columns:["label"],items:n},(h=(m=n.find(xe=>{var se,ie,he;return xe.value===((he=(ie=(se=e==null?void 0:e.SparkLineStyle)==null?void 0:se.options)==null?void 0:ie.axis)==null?void 0:he.type)}))==null?void 0:m.label)!=null?h:"Select Axis Type")),Me.createElement(de,{label:"Stroke Color"},Me.createElement(Di,{api:t,value:(x=(v=(y=(C=e.SparkLineStyle)==null?void 0:C.options)==null?void 0:y.axis)==null?void 0:v.stroke)!=null?x:"#fff",onChange:xe=>o.onOptionChange(["axis","stroke"],xe)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(P=(w=(R=(A=e.SparkLineStyle)==null?void 0:A.options)==null?void 0:R.axis)==null?void 0:w.strokeWidth)!=null?P:0,onChange:xe=>o.onOptionChange(["axis","strokeWidth"],parseFloat(xe.target.value))})))),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Size"},Me.createElement(oo,{type:"number",value:(M=(F=(D=e.SparkLineStyle)==null?void 0:D.options)==null?void 0:F.highlightStyle)==null?void 0:M.size,onChange:xe=>o.onOptionChange(["highlightStyle","size"],parseFloat(xe.target.value))})),Me.createElement(de,{label:"Fill"},Me.createElement(Di,{api:t,value:(j=(H=(_=(O=e.SparkLineStyle)==null?void 0:O.options)==null?void 0:_.highlightStyle)==null?void 0:H.fill)!=null?j:l_,onChange:xe=>o.onOptionChange(["highlightStyle","fill"],xe)})),Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(K=($=(V=(B=e.SparkLineStyle)==null?void 0:B.options)==null?void 0:V.highlightStyle)==null?void 0:$.stroke)!=null?K:QS,onChange:xe=>o.onOptionChange(["highlightStyle","stroke"],xe)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(X=(oe=(Z=e.SparkLineStyle)==null?void 0:Z.options)==null?void 0:oe.highlightStyle)==null?void 0:X.strokeWidth,onChange:xe=>o.onOptionChange(["highlightStyle","strokeWidth"],parseFloat(xe.target.value))})))))},kHe=o=>{var r,i,a,s,l,u,c,p,m,h;let{data:e,api:t}=ke(),n=e.SparkLineStyle.options;return Me.createElement(Ke,null,Me.createElement(de,{label:"Enabled"},Me.createElement(Ne,{checked:(i=(r=n==null?void 0:n.marker)==null?void 0:r.enabled)!=null?i:!0,onChange:C=>o.onOptionChange(["marker","enabled"],C)})),Me.createElement(de,{label:"Size"},Me.createElement(oo,{type:"number",value:(s=(a=n==null?void 0:n.marker)==null?void 0:a.size)!=null?s:0,onChange:C=>o.onOptionChange(["marker","size"],parseFloat(C.target.value))})),Me.createElement(de,{label:"Fill"},Me.createElement(Di,{api:t,value:(u=(l=n==null?void 0:n.marker)==null?void 0:l.fill)!=null?u:MC,onChange:C=>o.onOptionChange(["marker","fill"],C)})),Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(p=(c=n==null?void 0:n.marker)==null?void 0:c.stroke)!=null?p:MC,onChange:C=>o.onOptionChange(["marker","stroke"],C)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(h=(m=n==null?void 0:n.marker)==null?void 0:m.strokeWidth)!=null?h:1,onChange:C=>o.onOptionChange(["marker","strokeWidth"],parseFloat(C.target.value))})))},BHe=o=>{var r,i,a;let{data:e,api:t}=ke(),n=e.SparkLineStyle.options;return Me.createElement(Ke,null,Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(i=(r=n==null?void 0:n.line)==null?void 0:r.stroke)!=null?i:MC,onChange:s=>o.onOptionChange(["line","stroke"],s)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(a=n==null?void 0:n.line)==null?void 0:a.strokeWidth,onChange:s=>o.onOptionChange(["line","strokeWidth"],parseFloat(s.target.value))})))},VHe=o=>{let{data:e,api:t}=ke(),n=e.SparkLineStyle.options,r=["dash","dashDot","dashDotDot","dot","longDash","longDashDot","longDashDotDot","shortDash","shortDashDot","shortDashDotDot","shortDot","solid"],i=["butt","round","square"],a=s=>{var c,p,m,h,C,y,v,x,A,R,w,P,D;let l=r.map(F=>({label:i_(F),value:F,onClick:()=>o.onOptionChange(["crosshairs",s,"lineDash"],F)})),u=i.map(F=>({label:i_(F),value:F,onClick:()=>o.onOptionChange(["crosshairs",s,"lineCap"],F)}));return Me.createElement(Ke,null,Me.createElement(de,{label:"Show"},Me.createElement(Ne,{checked:(m=(p=(c=n==null?void 0:n.crosshairs)==null?void 0:c[s])==null?void 0:p.enabled)!=null?m:!0,onChange:F=>o.onOptionChange(["crosshairs",s,"enabled"],F)})),Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(y=(C=(h=n==null?void 0:n.crosshairs)==null?void 0:h[s])==null?void 0:C.stroke)!=null?y:FC,onChange:F=>o.onOptionChange(["crosshairs",s,"stroke"],F)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(A=(x=(v=n==null?void 0:n.crosshairs)==null?void 0:v[s])==null?void 0:x.strokeWidth)!=null?A:1,onChange:F=>o.onOptionChange(["crosshairs",s,"strokeWidth"],F.target.value)})),Me.createElement(de,{label:"Line Dash"},Me.createElement(Qe,{columns:["label"],items:l},(w=(R=l.find(F=>{var M,O;return F.value===((O=(M=n==null?void 0:n.crosshairs)==null?void 0:M[s])==null?void 0:O.lineDash)}))==null?void 0:R.label)!=null?w:"Solid")),Me.createElement(de,{label:"Line Cap"},Me.createElement(Qe,{columns:["label"],items:u},(D=(P=u.find(F=>{var M,O;return F.value===((O=(M=n==null?void 0:n.crosshairs)==null?void 0:M[s])==null?void 0:O.lineCap)}))==null?void 0:P.label)!=null?D:"Butt")))};return Me.createElement(Ax.Flex,null,Me.createElement(Ax.Box,{mr:3},Me.createElement(Ax.Box,null,"X Line"),a("xLine")),Me.createElement(Ax.Box,null,Me.createElement(Ax.Box,null,"Y Line"),a("yLine")))},xNt=o=>{var r;let{data:e,api:t}=ke(),n=e.SparkLineStyle.options;return Me.createElement(J,{mb:2},Me.createElement(J.Tab,null,"Stroke"),Me.createElement(J.Tab,null,"Line"),Me.createElement(J.Tab,null,"Marker"),Me.createElement(J.Tab,null,"Cross Hairs"),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(r=n==null?void 0:n.fill)!=null?r:MC,onChange:i=>o.onOptionChange(["fill"],i)})))),Me.createElement(J.Content,null,Me.createElement(BHe,{onOptionChange:o.onOptionChange})),Me.createElement(J.Content,null,Me.createElement(kHe,{onOptionChange:o.onOptionChange})),Me.createElement(J.Content,null,Me.createElement(VHe,{onOptionChange:o.onOptionChange})))},RNt=o=>Me.createElement(J,{mb:2},Me.createElement(J.Tab,null,"Line"),Me.createElement(J.Tab,null,"Marker"),Me.createElement(J.Tab,null,"Cross Hairs"),Me.createElement(J.Content,null,Me.createElement(BHe,{onOptionChange:o.onOptionChange})),Me.createElement(J.Content,null,Me.createElement(kHe,{onOptionChange:o.onOptionChange})),Me.createElement(J.Content,null,Me.createElement(VHe,{onOptionChange:o.onOptionChange}))),_He=o=>{var r,i,a,s,l;let{data:e,api:t}=ke(),n=e.SparkLineStyle.options;return Me.createElement(J,{mb:2},Me.createElement(J.Tab,null,"General"),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Fill"},Me.createElement(Di,{api:t,value:(r=n==null?void 0:n.fill)!=null?r:MC,onChange:u=>o.onOptionChange(["fill"],u)})),Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(i=n==null?void 0:n.stroke)!=null?i:QS,onChange:u=>o.onOptionChange(["stroke"],u)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(a=n==null?void 0:n.strokeWidth)!=null?a:1,onChange:u=>o.onOptionChange(["strokeWidth"],u.target.value)})),Me.createElement(de,{label:"Padding Inner"},Me.createElement(oo,{type:"number",value:(s=n==null?void 0:n.paddingInner)!=null?s:.1,onChange:u=>o.onOptionChange(["paddingInner"],u.target.value)})),Me.createElement(de,{label:"Padding Outer"},Me.createElement(oo,{type:"number",value:(l=n==null?void 0:n.paddingOuter)!=null?l:.2,onChange:u=>o.onOptionChange(["paddingOuter"],u.target.value)})))))},ENt=o=>{var a,s;let{data:e,api:t}=ke(),n=e.SparkLineStyle.options,[r,i]=Me.useState("");return Me.useEffect(()=>{var l,u,c;try{let p=null,m=20,h=0;for(;!p||h<m;){let C=(l=t.gridApi.getRowNodeForIndex(h))==null?void 0:l.data,y=t.columnApi.getColumnWithColumnId(e.ColumnId);if((u=C==null?void 0:C[y==null?void 0:y.field])!=null&&u[0]){p=(c=C==null?void 0:C[y==null?void 0:y.field])==null?void 0:c[0];break}h++}if(p){let C=JSON.stringify(p,null,2).replace(/[{}",]/g,"");i(C)}}catch(p){t.logError("Error parsing sparkline data",p)}},[e]),Me.createElement(Me.Fragment,null,Me.createElement(de,{label:"X Key"},Me.createElement(mt,{onChange:l=>o.onOptionChange(["xKey"],l.target.value),value:(a=n==null?void 0:n.xKey)!=null?a:"x"})),Me.createElement(de,{label:"Y Key"},Me.createElement(mt,{onChange:l=>o.onOptionChange(["yKey"],l.target.value),value:(s=n==null?void 0:n.yKey)!=null?s:"y"})),r&&Me.createElement(de,{label:"Preview"},Me.createElement(rt,null,r)))},GHe=o=>{var s,l,u;let{data:e,api:t}=ke(),n=Me.useCallback(c=>{let p=T(S({},e),{SparkLineStyle:T(S({},e.SparkLineStyle),{options:T(S({},e.SparkLineStyle.options),{type:c})})});o.onChange(p)},[e]),r=Me.useMemo(()=>[{label:"Line",value:"line",onClick:()=>n("line")},{label:"Area",value:"area",onClick:()=>n("area")},{label:"Column",value:"column",onClick:()=>n("column")},{label:"Bar",value:"bar",onClick:()=>n("bar")}],[e]),i=Me.useCallback((c,p)=>{var h;let m=Mte((h=e.SparkLineStyle.options)!=null?h:{},c,p);o.onChange(T(S({},e),{SparkLineStyle:T(S({},e.SparkLineStyle),{options:m})}))},[e]),a=((s=t.columnApi.getColumnWithColumnId(e.ColumnId))==null?void 0:s.dataType)==="ObjectNumberArray";return Me.createElement(Me.Fragment,null,Me.createElement(J,{mb:2},Me.createElement(J.Tab,null,"Settings"),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Sparkline Type"},Me.createElement(Qe,{columns:["label"],items:r},(u=(l=r.find(c=>{var p;return c.value===((p=e.SparkLineStyle.options)==null?void 0:p.type)}))==null?void 0:l.label)!=null?u:"Select Sparkline Type")),a&&Me.createElement(ENt,{onOptionChange:i})))),Me.createElement(ANt,{onOptionChange:i}),(()=>{var c;switch((c=e.SparkLineStyle.options)==null?void 0:c.type){case"line":return Me.createElement(RNt,{onOptionChange:i});case"area":return Me.createElement(xNt,{onOptionChange:i});case"column":return Me.createElement(_He,{onOptionChange:i});case"bar":return Me.createElement(_He,{onOptionChange:i})}})())};d();var gn=I(require("react")),xx=I(Ce());d();var WHe=I(require("react"));d();d();var vs=I(require("react")),Lb=I(Ce());var HHe=o=>vs.default.createElement(ue,{onClick:()=>o.onClick(),p:2,variant:o.active?"raised":"text",tone:o.active?"accent":"none",icon:o.icon},o.children),UHe=o=>{var u,c,p;let[e,t]=vs.default.useState(""),n=Object.keys(Rd),i=(e?n.filter(m=>m.toLowerCase().includes(e.toLowerCase())):n).map(m=>vs.default.createElement(Lb.Flex,{key:m},vs.default.createElement(HHe,{onClick:()=>o.onChange(m),active:m===o.value,icon:m}))),a=(u=o.customIcons)==null?void 0:u.map(m=>vs.default.createElement(HHe,{key:m.name,active:!1,onClick:()=>o.onChange(m.name)},vs.default.createElement(wu,{key:m.name,icon:m.icon}))),s=vs.default.createElement(Lb.Box,{className:"ab-IconSelector__Popup"},vs.default.createElement(Lb.Box,{mb:2},vs.default.createElement(Lb.Box,{mb:2,fontSize:4},"Select an Icon"),vs.default.createElement(oo,{value:e,onChange:m=>{var h;return t((h=m.target.value)!=null?h:"")},width:"100%"})),vs.default.createElement(Lb.Flex,{p:2,style:{width:300,maxHeight:300,overflow:"auto"},flexWrap:"wrap"},i," ",a)),l="No Icon Selected";if(o.value in Rd)l=vs.default.createElement(mo,{style:{display:"inline-block"},name:o.value});else{let m=(c=o.customIcons)==null?void 0:c.find(h=>h.name===o.value);m&&(l=vs.default.createElement(wu,{icon:m.icon}))}return vs.default.createElement(Lb.Flex,{className:"ab-IconSelector"},vs.default.createElement(cs,{preventPortalEventPropagation:!1,render:()=>s,showEvent:"mouseenter",hideEvent:"mouseleave",hideDelay:300},vs.default.createElement(ue,{className:"ab-IconSelector__trigger",textAlign:"center",onClick:()=>null,variant:"raised",width:150,justifyContent:"center"},l)),((p=o.clearable)!=null?p:!0)&&vs.default.createElement(ue,{disabled:!o.value,className:"ab-IconSelector__clear-button",ml:2,onClick:m=>{m.stopPropagation(),m.preventDefault(),o.onChange("")},variant:"text",icon:"close"}))};var zHe=o=>{var r,i;let n=(i=((r=pe().api.optionsApi.getAdaptableOptions())==null?void 0:r.userInterfaceOptions).customIcons)!=null?i:[];return WHe.createElement(UHe,S({customIcons:n},o))};d();var FI=I(require("react")),e4=I(Ce());var t4=({data:o})=>{let e=pe(),t=o.BadgeStyle;if(!t||t.Badges.length===0)return FI.createElement("div",null,"No Badges Defined");let n="Hello world";return e.api.columnApi.getColumnDataTypeForColumnId(o.ColumnId)==="Number"&&(n="12345"),FI.createElement(e4.Flex,{flexDirection:"column"},t.Badges.map((r,i)=>{let a=r.Predicate?e.api.predicateApi.predicateToString(r.Predicate):"No Predicate";return FI.createElement(e4.Box,{mb:1,key:i},FI.createElement(DI,{icon:r.Icon,adaptableStyle:r.Style,iconPosition:r.IconPosition},n),FI.createElement(rt,{ml:2},a))}))};var wNt=o=>{var s,l;let{api:e}=ke(),{badge:t,columnId:n,onChange:r}=o,i=e.styledColumnApi.internalApi.getBadgePredicateDefsForColumn(n),a="Hello world";return e.columnApi.getColumnDataTypeForColumnId(n)==="Number"&&(a="12345"),gn.createElement(xx.Flex,{className:"ab-Badge-Definition-Editor",mb:15,p:3},gn.createElement(xx.Box,{flex:1},gn.createElement(Ke,null,gn.createElement(de,{label:"Preview"},gn.createElement(DI,{adaptableStyle:t.Style,icon:t.Icon,iconPosition:t.IconPosition},a)),gn.createElement(de,{label:"Style"},gn.createElement(Qt,{fontSize:2,mb:1,mt:2},"Select the Style for the Badge")," ",gn.createElement(Jn,{showEvent:"mouseenter",hideEvent:"mouseleave",showIcon:!1,useButton:!1,popoverMaxWidth:700,bodyText:[gn.createElement(_u,{showFontSizeAs:"radio",headless:!0,hidePreview:!0,api:e,Style:(s=t.Style)!=null?s:{},UpdateStyle:u=>{r(T(S({},t),{Style:u}))}})]},gn.createElement(ue,{variant:"raised"},"Edit Badge Style"))),gn.createElement(de,{label:"Predicate"},n?gn.createElement(gn.Fragment,null,gn.createElement(Qt,{fontSize:2,mb:1,mt:2},"Create (optional) Rule for when the Badge is displayed; if no Rule provided Badge will always display (unless overriden by another Rule)"),gn.createElement(YT,{columnId:n,predicate:t.Predicate,predicateDefs:i,placeholder:"No Predicate Selected",onChange:u=>{r(T(S({},t),{Predicate:u}))},onClear:()=>r(T(S({},t),{Predicate:void 0}))})):gn.createElement(_s,null,"Select a column first")),gn.createElement(de,{label:"Icon"},gn.createElement(Qt,{fontSize:2,mb:1,mt:2},"Select (optional) Icon (and Icon position) to display in the Badge")," ",!t.Icon||"name"in t.Icon?gn.createElement(zHe,{value:(t==null?void 0:t.Icon)&&"name"in(t==null?void 0:t.Icon)?t.Icon.name:void 0,onChange:u=>{r(u?T(S({},t),{Icon:{name:u}}):T(S({},t),{Icon:void 0}))}}):gn.createElement(Ma,{icon:t.Icon})),t.Icon&&gn.createElement(de,{label:"Icon Position"},gn.createElement(Qe,{columns:["label"],items:[{label:"Start",onClick:()=>r(T(S({},t),{IconPosition:"Start"}))},{label:"End",onClick:()=>r(T(S({},t),{IconPosition:"End"}))}]},(l=t.IconPosition)!=null?l:"Start")))),gn.createElement(xx.Box,{justifyContent:"end"},gn.createElement(ue,{icon:"delete",onClick:o.onDelete})))},jHe=o=>gn.createElement(t4,{data:o}),KHe=o=>{var n,r;let{data:e}=ke(),t=(r=(n=e==null?void 0:e.BadgeStyle)==null?void 0:n.Badges)!=null?r:[];return gn.createElement(J,{style:{height:"100%"}},gn.createElement(J.Tab,null,"Badges"),gn.createElement(J.Content,null,gn.createElement(xx.Flex,{justifyContent:"end"},gn.createElement(ue,{icon:"plus",onClick:()=>{o.onChange(T(S({},e),{BadgeStyle:{Badges:[...t,it.CreateDefaultStyledColumnBadge()]}}))}},"Add Badge")),gn.createElement(xx.Flex,{flexDirection:"column",p:2},t.map((i,a)=>{let s=l=>{let u=[...t];u[a]=l,o.onChange(T(S({},e),{BadgeStyle:T(S({},e.BadgeStyle),{Badges:u})}))};return gn.createElement(wNt,{key:a,badge:i,columnId:e.ColumnId,onChange:s,onDelete:()=>{let l=[...t];l.splice(a,1),o.onChange(T(S({},e),{BadgeStyle:T(S({},e.BadgeStyle),{Badges:l})}))}})}))))};var $He=o=>{var c,p,m,h,C,y;let e=(p=o.data)!=null?p:(c=o.popupParams)==null?void 0:c.value,t=(C=(h=(m=o==null?void 0:o.popupParams)==null?void 0:m.config)==null?void 0:h.defaultCurrentSectionName)!=null?C:void 0,n=(y=o.defaultCurrentSectionName)!=null?y:t,[r,i]=(0,QHe.useState)(()=>{if(e)return zo(e);let v=it.CreateEmptyStyledColumn();return v.GradientStyle={},v}),a=yt(),s=()=>{var v;((v=o==null?void 0:o.popupParams)==null?void 0:v.action)==="New"||!e?a(YE(r)):a(BO(r)),o.onFinishWizard(r)},l={details:"Apply Additional Settings",renderSummary:NHe,render:()=>$s.createElement(_b.Box,{padding:2},$s.createElement(LHe,{onChange:i})),title:"Settings"},u=[];return r.SparkLineStyle?u.push({title:"Settings",render:()=>$s.createElement(_b.Box,{p:2},$s.createElement(GHe,{onChange:i}))}):r.CheckBoxStyle||r.GradientStyle||r.PercentBarStyle?u.push({details:"Create the Style to apply",renderSummary:Jz,render:()=>$s.createElement(_b.Box,{padding:2},$s.createElement(MHe,{onChange:i})),title:"Style"},l):r.BadgeStyle&&(u.push({title:"Badges",details:"Create Badge Styles",isValid:()=>{var v;return((v=r.BadgeStyle.Badges)==null?void 0:v.length)===0?"Define at least one Badge":r.BadgeStyle.Badges.filter(x=>!x.Predicate).length>1?"Only one Badge can have no Predicate":!0},renderSummary:()=>jHe(r),render:()=>$s.createElement(_b.Box,{p:2},$s.createElement(KHe,{onChange:i}))}),u.push(l)),$s.createElement(rr,{defaultCurrentSectionName:n,moduleInfo:o.moduleInfo,data:r,onFinish:s,onHide:o.onCloseWizard,sections:[{details:"Select a Styled Column type",renderSummary:RHe,render:()=>$s.createElement(EHe,{onChange:i}),title:"Type"},{isValid:IHe,renderSummary:THe,details:"Select a Column where the Style will be applied",render:()=>$s.createElement(_b.Box,{padding:2,style:{height:"100%"}},$s.createElement(PHe,{isNew:o.isNew,onChange:i})),title:"Column"},...u,{details:"Select Format Column Tags",title:"Tags",isVisible:(v,x)=>x.internalApi.shouldDisplayTagSections(),render:()=>$s.createElement(_b.Box,{padding:2},$s.createElement(Pr,{onChange:i})),renderSummary:Dr},"-",{title:"Summary",details:"Review your Styled Column",render:()=>$s.createElement(_b.Box,{padding:2},$s.createElement(Ir,null))}]})};var o4=class extends It{constructor(e){super(Gf,_7,"brush","StyledColumnPopup","Create a Special Column Style e.g Gradient or Percent Bar",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{let n=this.api.columnApi.getColumns().filter(r=>{let i=this.api.styledColumnApi.internalApi.getCheckBoxStyleStyledColumn(r);return i&&!i.IsSuspended}).map(r=>r.columnId);n.includes(t.column.columnId)||this.api.internalApi.getAdaptableInstance().refreshCells(null,n,!0,!0)})}updateOldConfig(){let e=this.api.formatColumnApi.getFormatColumns().filter(n=>n.ColumnStyle);if(!e.length)return;this.api.logInfo(`Converting ${e.length} FormatColumns Styles to Styled Columns`,e),e.forEach(n=>{this.api.formatColumnApi.deleteFormatColumn(n)}),e.map(n=>"ColumnIds"in n.Scope?S(T(S({},it.CreateEmptyStyledColumn()),{ColumnId:n.Scope.ColumnIds[0]}),n.ColumnStyle):null).filter(Boolean).forEach(n=>this.api.styledColumnApi.addStyledColumn(n))}getModuleAdaptableObjects(e){return this.api.styledColumnApi.getStyledColumns(e)}getExplicitlyReferencedColumnIds(e){return this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(t=>t.columnId):[]}hasNamedQueryReferences(){return!1}addColumnMenuItems(e){let t=[];if(e&&this.isModuleEditable()){let n=this.api.styledColumnApi.getStyledColumnForColumnId(e.columnId);if(this.api.columnApi.hasNumericArrayDataType(e.columnId)&&e.IsReadOnly!==!0&&this.api.styledColumnApi.canDisplaySparklines()){let r=e.isSparkline&&Boolean(n);if(!(e.isSparkline&&!r)){let i=n!=null&&n.SparkLineStyle!=null;i||(n=T(S({},it.CreateEmptyStyledColumn()),{ColumnId:e.columnId,SparkLineStyle:{}}));let a=i?"Edit ":"Create ",s={action:r?"Edit":"New",source:"ColumnMenu",value:n,config:{defaultCurrentSectionName:"Settings"}};t.push(this.createColumnMenuItemShowPopup(a+"Sparkline Column",this.moduleInfo.Popup,this.getGlyphForStyledColumn(n),s))}}else if(!e.isSparkline)if(n){if(!n.IsReadOnly&&!n.CheckBoxStyle){let r;n.BadgeStyle?r="Badges":r="Style";let i={action:"Edit",source:"ColumnMenu",value:n,config:{defaultCurrentSectionName:r}},a=this.getGlyphForStyledColumn(n),s=`Edit ${this.getTypeLabel(n)} Style`;t.push(this.createColumnMenuItemShowPopup(s,this.moduleInfo.Popup,a,i))}}else{let r=T(S({},it.CreateEmptyStyledColumn()),{ColumnId:e.columnId}),i={action:"New",source:"ColumnMenu",value:r,config:{}},a=e.dataType==="Number"?"Badge":"Create Badge Style",s=this.createColumnMenuItemShowPopup(a,this.moduleInfo.Popup,"badge",T(S({},i),{value:T(S({},r),{BadgeStyle:{Badges:[it.CreateDefaultStyledColumnBadge()]}}),config:{defaultCurrentSectionName:"Badges"}}));switch(e.dataType){case"Number":let l=this.api.scopeApi.createCellColorRangesForScope({ColumnIds:[e.columnId]}),u=this.createColumnMenuItemShowPopup("Gradient",this.moduleInfo.Popup,"gradient",T(S({},i),{value:T(S({},r),{GradientStyle:{CellRanges:l}}),config:{defaultCurrentSectionName:"Style"}})),c=this.createColumnMenuItemShowPopup("Percent Bar",this.moduleInfo.Popup,"percent",T(S({},i),{value:T(S({},r),{PercentBarStyle:{CellRanges:l}}),config:{defaultCurrentSectionName:"Style"}}));t.push({label:"Create Styled Column",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:this.moduleInfo.Glyph},subItems:[u,c,s]});break;case"String":t.push(s);break}}}return t}getGlyphForStyledColumn(e){return e.GradientStyle?"gradient":e.PercentBarStyle?"percent":e.CheckBoxStyle?"check-circle":e.SparkLineStyle?"spark-line":e.BadgeStyle?"badge":this.moduleInfo.Glyph}getTeamSharingAction(){return{ModuleEntities:this.api.styledColumnApi.getStyledColumns(),AddAction:YE,EditAction:BO}}toView(e){let t=[];return(e.GradientStyle||e.PercentBarStyle||e.CheckBoxStyle)&&t.push({name:"Style",view:()=>Jz(e,this.api)}),e.BadgeStyle||t.push({name:"Settings",values:[`Include grouped rows: ${e.IncludeGroupedRows?"Yes":"No"}`]}),e.BadgeStyle&&t.push({name:"Preview",view:t4}),{abObject:e,items:[{name:"Type",values:[this.getTypeLabel(e)]},{name:"Column",values:[this.api.columnApi.getFriendlyNameForColumnId(e.ColumnId)]},...t,,er(e,this.api)].filter(Boolean)}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{getEditAction:BO,getDeleteAction:$k,getSuspendAction:qk,getUnSuspendAction:Yk,getSuspendAllAction:Gbe,getUnSuspendAllAction:Hbe,getEditWizard(){return $He}}}canBeAssociatedWithLayouts(){return!0}getTypeLabel(e){let t=null;return e.GradientStyle?t="Gradient":e.PercentBarStyle?t="Percent Bar":e.CheckBoxStyle?t="Check Box":e.SparkLineStyle?t="Spark Line":e.BadgeStyle&&(t="Badge"),t}};d();var n4=class extends It{constructor(e){super(sO,S7,"fdc3",null,"The FDC3 Module - handles the FDC3 integration",e)}addContextMenuItems(e){if(!this.isModuleAvailable())return;let t=e.adaptableColumn.columnId,n=e.rowNode,r=[];return this.getFdc3Api().internalApi.getAllRaiseIntentConfigs().filter(i=>{var a;return(a=i.contextMenu)==null?void 0:a.columnIds.includes(t)}).forEach(i=>{r.push(this.buildRaiseIntentMenuItem(i,n))}),this.getFdc3Api().internalApi.getAllBroadcastContextConfigs().filter(i=>{var a;return(a=i.contextMenu)==null?void 0:a.columnIds.includes(t)}).forEach(i=>{r.push(this.buildBroadcastMenuItem(i,n))}),r.length>1?[{label:"FDC3",icon:{name:"fdc3"},isVisible:!0,subItems:r}]:r}buildRaiseIntentMenuItem(e,t){var a,s,l;let{intentType:n,contextType:r}=e,i={label:`Raise ${n}`,onClick:()=>{this.getFdc3Api().raiseIntentFromRow(t,n,r)},isVisible:!0,module:"Fdc3"};if((a=e.contextMenu)!=null&&a.icon){let u=((s=e.contextMenu)==null?void 0:s.icon)==="_defaultFdc3"?this.getFdc3Api().internalApi.getDefaultIconForIntent(n):(l=e.contextMenu)==null?void 0:l.icon;i.icon=u}return i}buildBroadcastMenuItem(e,t){var i,a,s;let{contextType:n}=e,r={label:`Broadcast ${this.getFdc3Api().getContextLabel(n)}`,onClick:()=>{this.getFdc3Api().broadcastFromRow(t,n)},isVisible:!0,module:"Fdc3"};if((i=e.contextMenu)!=null&&i.icon){let l=((a=e.contextMenu)==null?void 0:a.icon)==="_defaultFdc3"?this.getFdc3Api().internalApi.getDefaultIconForContext(n):(s=e.contextMenu)==null?void 0:s.icon;r.icon=l}return r}getFdc3Api(){return this.api.fdc3Api}};var H0=W2(),r4=class{constructor(e,t){this.adaptable=e;this.gridOptions=t;this.initialAgGridColDefs={}}destroy(){this.adaptable=null,this.gridOptions=null}getAgGridLightThemeName(){return"ag-theme-balham"}getAgGridDarkThemeName(){return"ag-theme-balham-dark"}setUpModules(){let e=new Map,t=this.adaptable.api;return e.set(fd,new sz(t)),e.set(Ri,new tz(t)),e.set(lv,new Wz(t)),e.set(bu,new oz(t)),e.set(Ei,new nz(t)),e.set(_l,new iz(t)),e.set(ls,new az(t)),e.set(gd,new Hz(t)),e.set(Vp,new dz(t)),e.set(Hi,new pz(t)),e.set(wi,new mz(t)),e.set(Ui,new hz(t)),e.set(Pa,new fz(t)),e.set(Su,new xz(t)),e.set(di,new Rz(t)),e.set(cr,new Tz(t)),e.set(kl,new Pz(t)),e.set(Cd,new Dz(t)),e.set(Bl,new Mz(t)),e.set(Gp,new Fz(t)),e.set(Hf,new Nz(t)),e.set(Up,new kz(t)),e.set(yd,new Vz(t)),e.set(Hp,new Lz(t)),e.set(Wp,new Bz(t)),e.set(Vf,new gz(t)),e.set(dv,new zz(t)),e.set(Uf,new $z(t)),e.set(hd,new Kz(t)),e.set(uv,new Qz(t)),e.set(Gf,new o4(t)),e.set(sO,new n4(t)),e}TrySetUpNodeIds(e){if(ct.IsNullOrEmpty(this.adaptable.adaptableOptions.primaryKey))return!1;if(qo.objectExists(this.gridOptions.getRowId))return!0;let t=this.adaptable.adaptableOptions.primaryKey;return e?this.gridOptions.getRowId=n=>(qo.objectNotExists(n.data[t])&&(n.data[t]=Gt()),n.data[t]):this.gridOptions.getRowId=n=>{var a;if(n.data[t])return n.data[t];let r=(a=n.parentKeys)!=null?a:[],i=Object.values(n.data);if(i.length)return[...r,i[0]].join("/")},!0}createCheckboxRendererComp(e,t){return qGe(e,t,this.adaptable.api)}createPercentBarRendererComp(e,t){return AHe(e,t,this.adaptable.api)}createBadgeRendererComp(e,t){return xHe(e,t,this.adaptable.api)}getCleanValue(e){if(typeof e=="string")return e;if(!(e==null||e=="null"||e==null||e=="undefined"))return String(e)||""}getRenderedValue(e,t){let n=e.cellRenderer;return typeof n=="string"?this.getCleanValue(t):n({value:t})||""}createAdaptableColumnFromAgGridColumn(e,t){let n=e.getColId(),r=e.getColDef(),i=this.adaptable.api.columnApi.internalApi.isActionRowButtonColumn(n),a=this.adaptable.api.fdc3Api.internalApi.isFdc3MainActionColumn(n),s=this.adaptable.adaptableOptions.columnOptions.columnFriendlyName,l=typeof s=="function"?s({colId:n,agColumn:e}):null,u=l!=null?l:i?e8:a?t8:this.gridOptions.columnApi.getDisplayNameForColumn(e,"header");this.initialAgGridColDefs[n]||(this.initialAgGridColDefs[n]=S({},e.getUserProvidedColDef()));let c=n,p=this.adaptable.adaptableOptions.primaryKey,m=t==null?void 0:t[c],h=this.getColumnDataType(e,!1),C={Uuid:Gt(),columnId:c,field:r.field,friendlyName:u,isPrimaryKey:c===p,dataType:h,visible:e.isVisible(),readOnly:this.isColumnReadonly(r),columnGroup:m,sortable:this.isColumnSortable(r),filterable:this.isColumnFilterable(r),groupable:this.isColumnGroupable(r),pivotable:this.isColumnPivotable(r),aggregatable:this.isColumnAggregetable(r),availableAggregationFunctions:null,aggregationFunction:null,moveable:this.isColumnMoveable(r),hideable:this.isColumnHideable(r),queryable:this.isColumnQueryable(r,c,u,h),exportable:this.isColumnExportable(r,c,u,h),isGrouped:this.isColumnGrouped(r),isFixed:this.isColumnFixed(r),pinned:this.getColumnPinnedPosition(r),isExcludedFromQuickSearch:!1,isSparkline:this.isColumnSparkline(r)};C.aggregatable&&(C.availableAggregationFunctions=this.getColumnAggregationFunctions(r),typeof r.aggFunc=="string"&&(C.aggregationFunction=r.aggFunc));let y=this.adaptable.adaptableOptions.quickSearchOptions.excludeColumnFromQuickSearch;return y&&y(C)&&(C.isExcludedFromQuickSearch=!0),C}buildAdaptableToolPanelDef(){return{id:LC,toolPanel:Q9,labelDefault:K9,labelKey:"adaptable",iconKey:"menu",width:Uo.getAdaptableToolPanelWidth(),minWidth:Uo.getAdaptableToolPanelWidth()}}isSideBarDefObject(e){return Array.isArray(e==null?void 0:e.toolPanels)}mapToolPanelDefs(e=[]){return e.map(t=>t===LC?this.buildAdaptableToolPanelDef():t)}reselectSelectedCells(){let e=this.gridOptions.api.getCellRanges();if(pt.CorrectLength(e,1)){let t=e[0],n={rowStartIndex:t.startRow.rowIndex,rowEndIndex:t.endRow.rowIndex,columns:t.columns};this.gridOptions.api.clearRangeSelection(),this.gridOptions.api.addCellRange(n)}}fireSelectionChangedEvent(){let e={adaptableApi:this.adaptable.api,selectedCellInfo:this.adaptable.api.gridApi.getGridState().SelectedCellInfo,selectedRowInfo:this.adaptable.api.gridApi.getGridState().SelectedRowInfo,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.api.optionsApi.getAdaptableId()};this.adaptable.api.eventApi.emit("SelectionChanged",e)}isColumnReadonly(e){return e&&typeof e.editable=="function"?!1:!e.editable}isColumnSortable(e){return e&&e.sortable!=null?e.sortable:!1}isColumnGroupable(e){return e&&e.enableRowGroup!=null?e.enableRowGroup:!1}isColumnPivotable(e){return e&&e.enablePivot!=null?e.enablePivot:!1}isColumnAggregetable(e){return e&&e.enableValue!=null?e.enableValue:!1}getColumnAggregationFunctions(e){return e.allowedAggFuncs||["sum","min","max","count","avg","first","last"]}isColumnMoveable(e){return!(!e||e.suppressMovable!=null&&e.suppressMovable==!0||this.isColumnFixed(e))}isColumnQueryable(e,t,n,r){if(!e||e.colId===bc)return!1;let i={columnId:t,friendlyName:n,dataType:r};return this.adaptable.api.expressionApi.isColumnQueryable(i)}isColumnExportable(e,t,n,r){if(!e||e.colId===bc)return!1;let i={columnId:t,friendlyName:n,dataType:r};return this.adaptable.api.exportApi.isColumnExportable(i)}isColumnHideable(e){return!(!e||e.lockVisible!=null&&e.lockVisible==!0)}isColumnFilterable(e){return e!=null&&e.filter!=null&&e.filter!=!1}getColumnPinnedPosition(e){return e.pinned?e.pinned==="left"||e.pinned===!0?"left":"right":!1}isColumnFixed(e){return e?e.lockPosition!=null&&e.lockPosition==!0||e.lockPinned!=null&&e.lockPinned==!0:!1}isColumnGrouped(e){return e?e.rowGroup!=null&&e.rowGroup==!0||e.rowGroupIndex!=null:!1}isColumnSparkline(e){return(e==null?void 0:e.cellRenderer)==="agSparklineCellRenderer"}getColumnDataType(e,t=!0){if(!e)return this.adaptable.logger.warn("column is undefined returning String for Type"),"String";let n="Unknown",r=this.adaptable.api.columnApi.getColumnWithColumnId(e.getId(),t);if(r&&r.dataType!="Unknown")return r.dataType;let i=e.getColDef().type;if(i&&(Array.isArray(i)?i.forEach(u=>{n=="Unknown"&&(n=this.getAbColDefValue(u))}):n=this.getAbColDefValue(i),n!="Unknown"))return n;let a=this.gridOptions.api.getModel();if(a==null)return this.adaptable.logger.warn(`No model so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";let s=a.getRow(0);if(s==null)return this.adaptable.logger.warn(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";if(s.group){let u=s.childrenAfterGroup;if(pt.IsNullOrEmpty(u))return this.adaptable.logger.warn(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";s=u[0]}let l=this.gridOptions.api.getValue(e,s);if(l instanceof Date)n="Date";else if(Array.isArray(l)&&l.length&&typeof l[0]=="number")n="Unknown";else switch(typeof l){case"string":n="String";break;case"number":n="Number";break;case"boolean":n="Boolean";break;case"object":n="Object";break;default:break}return this.adaptable.logger.warn(`No defined type for column '${e.getColId()}'. Defaulting to type of first value: ${n}`),n}getAbColDefValue(e){if(e=="numericColumn")return"Number";if(e.startsWith("abColDef"))switch(e){case"abColDefNumber":return"Number";case"abColDefString":return"String";case"abColDefBoolean":return"Boolean";case"abColDefDate":return"Date";case"abColDefObject":return"Object";case"abColDefStringArray":return"StringArray";case"abColDefNumberArray":return"NumberArray";case"abColDefTupleNumberArray":return"TupleNumberArray";case"abColDefObjectNumberArray":return"ObjectNumberArray";default:return"Unknown"}return"Unknown"}getAgGridDataType(e){if(!e)return"abColDefString";switch(e){case"Boolean":return"abColDefBoolean";case"Date":return"abColDefDate";case"Number":return"abColDefNumber";case"Object":return"abColDefObject";case"String":return"abColDefString";case"NumberArray":return"abColDefNumberArray";case"TupleNumberArray":return"abColDefTupleNumberArray";case"ObjectNumberArray":return"abColDefObjectNumberArray";default:return"abColDefCustom"}}checkShouldClearExistingFiltersOrSearches(){this.adaptable.adaptableOptions.filterOptions.clearFiltersOnStartUp&&pt.IsNotNullOrEmpty(this.adaptable.api.filterApi.getColumnFilters())&&(this.adaptable.logger.warn('Clearing existing Column Filters as "clearFiltersOnStartUp" is true'),this.adaptable.api.filterApi.clearColumnFilters()),this.adaptable.adaptableOptions.quickSearchOptions.clearSearchesOnStartUp&&(ct.IsNotNullOrEmpty(this.adaptable.api.quickSearchApi.getQuickSearchState().QuickSearchText)||ct.IsNotNullOrEmpty(this.adaptable.api.queryApi.getCurrentQuery())||pt.IsNotNullOrEmpty(this.adaptable.api.dataSetApi.getDataSets()))&&(this.adaptable.logger.warn('Clearing existing Searches as "clearSearchesOnStartUp" is true'),this.adaptable.api.quickSearchApi.clearQuickSearch(),this.adaptable.api.queryApi.clearCurrentQuery(),this.adaptable.api.dataSetApi.clearCurrentDataSet())}runAdaptableGroupComparerFunction(){let e=this.adaptable;return function(n){let{nodeA:r,nodeB:i}=n,a=e.getFirstGroupedColumn();if(a){let s=e.getActiveColumnComparator(a.columnId,e.api.customSortApi.getCustomSortForColumn(a.columnId),e.api.customSortApi.internalApi.getCustomSortComparer(a));if(s)return s(r.key,i.key);if(e.api.layoutApi.getCurrentLayoutColumnSort(a.columnId)==="Desc")return r.key>i.key?-1:1}return r.key==i.key?0:r.key<i.key?-1:1}}getCurrentIPPStyle(){let e=document.querySelectorAll(".ag-header-cell").item(0),t=document.querySelector(".ag-header"),n=t?window.getComputedStyle(t,null):null,r=document.querySelector(".ag-row-even"),i=r?window.getComputedStyle(r,null):null,a=document.querySelector(".ag-row-odd"),s=a?window.getComputedStyle(a,null):{backgroundColor:"#fff"};return{Header:{headerColor:H0(n.color).toHexString(),headerBackColor:H0(n.backgroundColor).toHexString(),headerFontFamily:n.fontFamily,headerFontSize:n.fontSize,headerFontStyle:n.fontStyle,headerFontWeight:n.fontWeight,height:Number(n.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(l=>{let u=document.querySelector(`.ag-header-cell[col-id='${l.columnId}']`),c=window.getComputedStyle(u||e,null);return{columnFriendlyName:l.friendlyName,width:Number(c.width.replace("px","")),textAlign:c.textAlign}})},Row:{color:H0(i.color).toHexString(),backColor:H0(i.backgroundColor).toHexString(),altBackColor:H0(s.backgroundColor).toHexString(),fontFamily:i.fontFamily,fontSize:i.fontSize,fontStyle:i.fontStyle,fontWeight:i.fontWeight,height:Number(i.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(l=>{let u=document.querySelector(`.ag-cell[col-id='${l.columnId}']`),c=window.getComputedStyle(u||r,null);return{columnFriendlyName:l.friendlyName,width:Number(c.width.replace("px","")),textAlign:c.textAlign}})}}}};d();var Nte=I(Tte());var i4=class{constructor(e,t){this.adaptable=e;this.gridOptions=t}destroy(){this.adaptable=null,this.gridOptions=null}buildColumnMenu(e,t){let n=e.column.getColId(),r=[],i=[],a=[];r.push(...this.createAgGridColumnMenuItems(t,e));let s=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,l=s==null||s!==!1;l&&r.push("separator");let u=this.adaptable.api.columnApi.getColumnWithColumnId(n),c=this.createColumnMenuContextObject(u,e.column);if(c.isRowGroupColumn){let m=this.createGroupedColumnMenuItem();m&&i.push(m)}l&&i.push(...this.createAdaptableColumnMenuItems(u,c)),a.push(...this.createUserColumnMenuItems(c));let p={aggrid:r,adaptable:i,user:a};return(0,Nte.default)(this.adaptable.adaptableOptions.menuOptions.columnMenuOrder.map(m=>p[m]))}buildContextMenu(e,t){this.adaptable.setSelectedCells();let n=[],r=[],i=[],a=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu,s=a==null||a!==!1,l=this.adaptable.adaptableOptions.menuOptions.contextMenuItems,u=pt.IsNotNullOrEmpty(l),c=this.createAgGridContextMenuItems(t,e);c!=null&&c.length&&(n.push(...c),(s||u)&&n.push("separator"));let p=[],m=e.column;if(m){let C=this.adaptable.api.columnApi.getColumnWithColumnId(m.getColId()),y=this.createContextMenuContextObject(e,C),v=this.createAdaptableContextMenuItems(y);pt.IsNotNullOrEmpty(v)&&p.push(...v),pt.IsNotNullOrEmpty(p)&&s&&r.push(...this.createAgGridAdaptableContextMenuItems(p,y)),u&&i.push(...this.createAgGridUserContextMenuItems(l,y))}let h={aggrid:n,adaptable:r,user:i};return(0,Nte.default)(this.adaptable.adaptableOptions.menuOptions.contextMenuOrder.map(C=>h[C]))}createRemoveGroupsMenuItem(e){return{name:e.label,action:e.onClick?e.onClick:()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction),icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"})}}createAgGridMenuDefFromAdaptableMenu(e){let t=pt.IsNotNullOrEmpty(e.subItems)?e.subItems.map(n=>this.createAgGridMenuDefFromAdaptableMenu(n)):void 0;return{name:e.label,action:e.onClick?e.onClick:e.reduxAction?()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction):void 0,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),subMenu:t}}createAgGridColumnMenuDefFromUserMenu(e,t){let n=e.onClick,r=e.disabled&&e.disabled(t);return{name:this.getLabelFromUserColumnMenuItem(e,t),action:()=>n?n(t):null,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),disabled:r,subMenu:pt.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridColumnMenuDefFromUserMenu(i,t))}}createAgGridContextMenuDefFromUserMenu(e,t){let n=e.onClick,r=e.disabled&&e.disabled(t);return{name:this.getLabelFromUserContextMenuItem(e,t),action:()=>n?n(t):null,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),disabled:r,subMenu:pt.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridContextMenuDefFromUserMenu(i,t))}}mapAdaptableIconToAgGridIcon(e,t){let n=this.adaptable.api.userInterfaceApi.internalApi.prepareAdaptableIconDef(e);if(Xf(n)){let r=n.element;return typeof r=="string"?r:r.cloneNode(!0)}else return HEe(n,{fill:"var(--ab-color-text-on-primary)"})}createAdaptableColumnMenuItemFromUserMenu(e,t){let n=e.onClick;return{label:this.getLabelFromUserColumnMenuItem(e,t),reduxAction:null,onClick:()=>n?n(t):null,isVisible:!0,icon:e.icon}}createAgGridColumnMenuItems(e,t){return e?e(t):t.defaultItems.slice(0)}createGroupedColumnMenuItem(){if(this.adaptable.adaptableOptions.menuOptions.showUngroupColumnMenuItem){let t={label:this.gridOptions.columnApi.getRowGroupColumns().length==1?"Ungroup Column":"Ungroup All",onClick:()=>this.gridOptions.columnApi.setRowGroupColumns([]),isVisible:!0,icon:{name:"undo"}};return this.createAgGridMenuDefFromAdaptableMenu(t)}}createAdaptableColumnMenuItems(e,t){let n=[];return this.getAdaptableMenuItemsColumnHeader(e,t).forEach(i=>{let a=this.createAgGridMenuDefFromAdaptableMenu(i);n.push(a)}),n}createUserColumnMenuItems(e){let t=[],n=this.getUserMenuItemsColumnHeader(e);return pt.IsNotNullOrEmpty(n)&&n.forEach(r=>{let i=this.createAgGridColumnMenuDefFromUserMenu(r,e);t.push(i)}),t}createColumnMenuContextObject(e,t){return{adaptableColumn:e,agGridColumn:t,adaptableApi:this.adaptable.api,userName:this.adaptable.adaptableOptions.userName,adaptableId:this.adaptable.adaptableOptions.adaptableId,isRowGroupColumn:this.adaptable.api.columnApi.isAutoRowGroupColumn(t.getColId())}}createContextMenuContextObject(e,t){let n=!1,r=!1,i=!1,a;t&&(a=this.adaptable.getGridCellFromRowNode(e.node,t.columnId));let s=this.adaptable.api.gridApi.getSelectedCellInfo();a&&s&&(r=s.gridCells.find(c=>c!=null&&c.column==a.column&&c.primaryKeyValue==a.primaryKeyValue)!=null,r&&(n=pt.CorrectLength(s.columns,1)));let l=this.adaptable.api.gridApi.getSelectedRowInfo();return l&&(i=l.gridRows.find(c=>c!=null&&c.primaryKeyValue==a.primaryKeyValue)!=null),{isSelectedCell:r,isSelectedRow:i,gridCell:a,adaptableColumn:t,agGridColumn:e.column,rowNode:e.node,isGroupedNode:e.node?e.node.group:!1,isSingleSelectedColumn:n,isSingleSelectedCell:r&&(s==null?void 0:s.gridCells.length)==1,primaryKeyValue:a?a.primaryKeyValue:void 0,adaptableApi:this.adaptable.api,userName:this.adaptable.adaptableOptions.userName,adaptableId:this.adaptable.adaptableOptions.adaptableId,selectedCellInfo:s,selectedRowInfo:l,isRowGroupColumn:this.adaptable.api.columnApi.isAutoRowGroupColumn(e.column.getColId())}}createAgGridContextMenuItems(e,t){return e?e(t).slice(0):t.defaultItems?t.defaultItems.slice(0):[]}createAdaptableContextMenuItems(e){let t=[];return this.adaptable.adaptableModules.forEach(n=>{let r=n.addContextMenuItems(e);r&&t.push(...r)}),this.adaptable._emitSync("CreateAdaptableContextMenuItems",{items:t,menuContext:e}),t}createAgGridAdaptableContextMenuItems(e,t){let n=[],r=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu;return(r==null||r!==!1)&&e.forEach(i=>{if(i){let a=!0;if(r!=null&&typeof r=="function"&&(a=r(i,t)),a){let s=this.createAgGridMenuDefFromAdaptableMenu(i);n.push(s)}}}),n}createAgGridUserContextMenuItems(e,t){let n=[];return e.filter(r=>!!r).filter(r=>r.hidden?!r.hidden(t):!0).forEach(r=>{let i=this.createAgGridContextMenuDefFromUserMenu(r,t);n.push(i)}),n}getAdaptableMenuItemsColumnHeader(e,t){let n=[],r=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,i=r==null||r!==!1;return this.adaptable.adaptableModules.forEach(a=>{let s=a.addColumnMenuItems(e);s&&(i?s.forEach(l=>{if(l){let u=!0;r!=null&&typeof r=="function"&&(u=r(l,t)),u&&n.push(l)}}):n.push(...s))}),n}getLabelFromUserColumnMenuItem(e,t){return typeof e.label=="function"?e.label(t):e.label}getLabelFromUserContextMenuItem(e,t){return typeof e.label=="function"?e.label(t):e.label}getUserMenuItemsColumnHeader(e){var t,n;return(n=(t=this.adaptable.adaptableOptions.menuOptions)==null?void 0:t.columnMenuItems)==null?void 0:n.filter(r=>r.hidden?!r.hidden(e):!0)}buildStandaloneColumnHeader(e){let t=this.adaptable.api.columnApi.internalApi.getAgGridColumnForAdaptableColumn(e.columnId),n=this.createColumnMenuContextObject(e,t),r=[];r.push(...this.getAdaptableMenuItemsColumnHeader(e,n));let i=this.getUserMenuItemsColumnHeader(n);return pt.IsNotNullOrEmpty(i)&&i.forEach(a=>{let s=this.createAdaptableColumnMenuItemFromUserMenu(a,n);r.push(s)}),r}};d();var ZHe=I(require("react")),MI=require("react");d();var jn=I(require("react"));d();var Rx=I(require("react"));d();var qHe=I(require("react"));var YHe=I(Ce());var TNt="ab-ListGroup",INt=o=>{let n=o,{className:e}=n,t=ut(n,["className"]);return qHe.createElement(YHe.Box,T(S({},t),{className:$e(e,TNt)}))},XHe=INt;var a4=class extends Rx.Component{constructor(e){super(e),this.state={}}render(){let e=this.props.MenuItems.map((t,n)=>Rx.createElement(F3,{key:n,onClick:()=>this.onClick(t)},t.icon&&Rx.createElement(wu,{icon:t.icon}),t.label));return Rx.createElement("div",{style:PNt},Rx.createElement(XHe,null,e))}onClick(e){this.props.onMenuItemClick(e)}},PNt={overflowY:"auto",overflowX:"hidden",height:"450px",marginBottom:"0"};d();var ou=I(require("react")),Dg=I(Ce());var s4=class extends ou.Component{render(){let e=ou.createElement(Dg.Flex,{alignItems:"center",flexDirection:"row",style:{width:"100%"}},this.props.IsAlwaysFilter?ou.createElement(Dg.Flex,{flex:6,marginRight:2},"Filter"):ou.createElement(Dg.Flex,{flex:6,flexDirection:"column"},ou.createElement(Dg.Flex,null,ou.createElement(Dg.Flex,{flex:6},ou.createElement(Xe,{value:"Menu",checked:this.props.ColumnMenuTab=="Menu",onChange:()=>this.onSelectMenu()},"Menu")),ou.createElement(Dg.Flex,{flex:6},ou.createElement(Xe,{value:"Filter",checked:this.props.ColumnMenuTab=="Filter",onChange:()=>this.onSelectFilter()},"Filter")))),this.props.clearFilterButton&&this.props.ColumnMenuTab=="Filter"&&this.props.clearFilterButton,this.props.saveButton&&this.props.ColumnMenuTab=="Filter"&&this.props.saveButton);return ou.createElement(Dg.Flex,{flexDirection:"column"},ou.createElement(Sn,{className:"ab-FilterFormPanel",header:e,headerProps:{padding:1},style:T(S({},this.props.style),{flex:1}),bodyProps:{padding:0,style:{maxHeight:"50vh"}},bodyScroll:!0,borderRadius:0,border:"none"},this.props.children),this.props.autoApplyFilter?null:ou.createElement(Dg.Flex,{flex:"none",flexDirection:"row",padding:1,justifyContent:"flex-end"},ou.createElement(ue,{variant:"raised",tone:"accent",disabled:this.props.applyFilterButtonDisabled,onClick:()=>this.onApplyFilterClicked()},"Apply Filter")))}onApplyFilterClicked(){this.props.onFilterApplied()}onSelectMenu(){this.props.ColumnMenuTabChanged("Menu")}onSelectFilter(){this.props.ColumnMenuTabChanged("Filter")}};var Ex=I(Ce());d();var kb=(o,e)=>typeof e=="function"?e(o):e;var ONt={width:"100%",minWidth:150},Bb=class extends jn.Component{constructor(t){super(t);this._isMounted=!1;this.handleFilterChange=t=>{this.state.suppressClientSideFilter&&this.loadPermittedValues(t)};this._isMounted=!0;let n=Bb.createColumnFilterFromProps(this.props);this.state={columnFilters:t.columnFilters,distinctColumnValues:[],isDistinctColumnValuesLoading:!1,showTab:!0,selectedTab:"Filter",editedColumnFilter:n,currentTab:Bb.getCurrentTab(n),suppressClientSideFilter:!1}}static createColumnFilterFromProps(t){let n=t.columnFilters.find(r=>r.ColumnId==t.currentColumn.columnId);if(!n){let r=t.api.optionsApi.getFilterOptions();if(r.defaultFilterFormTab=="Values")return jo.CreateColumnFilter(t.currentColumn.columnId,"Values",[]);if(t.currentColumn.dataType==="Number")return jo.CreateColumnFilter(t.currentColumn.columnId,kb(t.currentColumn,r.defaultNumericColumnFilter),[""]);if(t.currentColumn.dataType==="String")return jo.CreateColumnFilter(t.currentColumn.columnId,kb(t.currentColumn,r.defaultStringColumnFilter),[""]);if(t.currentColumn.dataType==="Date")return jo.CreateColumnFilter(t.currentColumn.columnId,kb(t.currentColumn,r.defaultDateColumnFilter),[""]);if(t.currentColumn.dataType==="Boolean")return jo.CreateColumnFilter(t.currentColumn.columnId,"BooleanToggle",["all"])}return n}static getCurrentTab(t){return t&&t.Predicate&&t.Predicate.PredicateId&&t.Predicate.PredicateId!="Values"?"predicates":"values"}static getDerivedStateFromProps(t,n){let i=t.api.optionsApi.getFilterOptions().autoApplyFilter?Bb.createColumnFilterFromProps(t):n.editedColumnFilter,a=n.columnFilters,s=!1;return t.columnFilters!==a&&(a=t.columnFilters,s=!0),{editedColumnFilter:i,columnFilters:a,currentTab:s||!n.currentTab?Bb.getCurrentTab(i):n.currentTab}}componentWillUnmount(){this._isMounted=!1}componentDidMount(){this.props.currentColumn.dataType!="Boolean"&&this.loadPermittedValues()}async loadPermittedValues(t=""){let{values:n,suppressClientSideFilter:r}=await QT(this.props.api.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId,t,this.props.api.optionsApi.getFilterOptions().showDistinctFilteredValuesOnly),()=>this._isMounted&&this.setState({isDistinctColumnValuesLoading:!0}));this._isMounted&&this.setState({distinctColumnValues:n,isDistinctColumnValuesLoading:!1,suppressClientSideFilter:r})}render(){var c,p;let t=this.isFilterable(),n=this.props.api.optionsApi.getFilterOptions(),r=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn).filter(m=>m.id!=="BooleanToggle"),i=((p=(c=this.state.editedColumnFilter)==null?void 0:c.Predicate)==null?void 0:p.PredicateId)==="Values"?this.state.editedColumnFilter.Predicate.Inputs:[],a=yn.objectNotExists(this.state.editedColumnFilter)||yn.objectNotExists(this.state.editedColumnFilter.Predicate)||yn.objectNotExists(this.state.editedColumnFilter.Predicate.PredicateId),s=jn.createElement(CI,{onClick:()=>this.onCloseForm(),tooltip:null,accessLevel:"Full"}),l=jn.createElement(um,{onClick:()=>this.onClearFilter(),disabled:a,tooltip:null,accessLevel:"Full",showText:!0,showIcon:!1}),u=!!n.useAgGridFilterFormStyle;return jn.createElement("div",{className:"ab-FilterForm","data-name":"filter-form"},ct.IsNullOrEmpty(t)?jn.createElement(s4,{style:ONt,ColumnMenuTab:this.state.selectedTab,ColumnMenuTabChanged:m=>this.onSelectTab(m),IsAlwaysFilter:this.props.embedColumnMenu,clearFilterButton:l,closeButton:s,showCloseButton:this.props.showCloseButton,autoApplyFilter:!!n.autoApplyFilter,useAgGridStyle:u,applyFilterButtonDisabled:a,onFilterApplied:()=>this.onFilterApplied()},this.state.selectedTab=="Menu"?jn.createElement(a4,{MenuItems:this.props.api.gridApi.internalApi.buildStandaloneColumnHeader(this.props.currentColumn),onMenuItemClick:m=>this.onMenuItemClick(m)}):jn.createElement(jn.Fragment,null,this.state.showTab&&jn.createElement(jn.Fragment,null,jn.createElement(Xe,{"data-name":"values",flex:1,marginLeft:1,checked:this.state.currentTab=="values",onChange:()=>this.setState({currentTab:"values"})},jn.createElement(Ex.Flex,{fontSize:"var( --ab-font-size-2)"},"Column Values")),jn.createElement(Xe,{"data-name":"predicates",marginLeft:2,flex:1,checked:this.state.currentTab=="predicates",onChange:()=>this.setState({currentTab:"predicates"})},jn.createElement(Ex.Flex,{fontSize:"var( --ab-font-size-2)"},"Filters"))),this.state.currentTab==="values"&&jn.createElement($T,{disabled:this.isFilterDisabled(),suppressClientSideFilter:this.state.suppressClientSideFilter,isLoading:this.state.isDistinctColumnValuesLoading,onFilterChange:this.handleFilterChange,currentColumn:this.props.currentColumn,columns:this.props.columns,columnDistinctValues:this.state.distinctColumnValues,dataType:this.props.currentColumn.dataType,uiSelectedColumnValues:i,useAgGridStyle:u,onColumnValueSelectedChange:m=>this.onColumnValuesChange(m)}),this.state.currentTab==="predicates"&&jn.createElement(jn.Fragment,null," ",this.state.showTab&&jn.createElement("hr",null),r.filter(m=>m.id!=="Values"&&m.id!=="ExcludeValues").map((m,h)=>this.renderColumnPredicate(m,h))))):jn.createElement(Qt,null,t))}renderColumnPredicate(t,n){var a;let{editedColumnFilter:r}=this.state,i=((a=r==null?void 0:r.Predicate)==null?void 0:a.PredicateId)===t.id;return jn.createElement(Ex.Flex,{className:"ab-FilterForm__predicate",key:n,flexDirection:"column"},jn.createElement(Xe,{"data-name":t.id,disabled:this.isFilterDisabled(),fontSize:"var(--ab-font-size-2)",margin:1,flex:1,checked:i,onChange:()=>this.selectColumnPredicate(t)},t.label),jn.createElement(Ex.Flex,{className:"ab-FilterForm__predicate_inputs",flexDirection:"column",flex:0,marginLeft:3,marginRight:2},i&&this.renderPredicateInput(t,r)))}renderPredicateInput(t,n){var r;return(t==null?void 0:t.id)==="BooleanToggle"?jn.createElement(Ex.Flex,{className:"ab-FilterForm__predicate-input",flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center"},jn.createElement(Ne,{disabled:this.isFilterDisabled(),checked:n.Predicate.Inputs[0]==="true"?!0:n.Predicate.Inputs[0]==="false"?!1:null,onChange:i=>{let a=n.Predicate.Inputs[0]==="false"&&i===!0?"all":i===!0?"true":"false";this.changeColumnPredicateInput(a,0)}})):(r=t.inputs)==null?void 0:r.map((i,a)=>jn.createElement(Ex.Flex,{key:a,flexDirection:"row"},jn.createElement(oo,{disabled:this.isFilterDisabled(),type:i.type,autoFocus:a===0,value:n.Predicate.Inputs[a],onChange:s=>this.changeColumnPredicateInput(s.target.value,a),mb:1,flex:1,fontSize:2})))}isFilterDisabled(){var t;return Boolean((t=this.state.editedColumnFilter)==null?void 0:t.IsSuspended)}isFilterable(){return this.props.currentColumn.filterable?"":"Column is not filterable"}onSelectTab(t){this.setState({selectedTab:t})}onColumnValuesChange(t){let{editedColumnFilter:n}=this.state;n.Predicate={PredicateId:"Values",Inputs:t},this.setState({editedColumnFilter:n}),this.persistFilter()}persistFilter(){let{editedColumnFilter:t}=this.state;t.Predicate===void 0||t.Predicate.PredicateId==="Values"&&t.Predicate.Inputs.length===0?(this.props.api.filterApi.clearColumnFilterForColumn(t.ColumnId),this.onCloseForm()):this.props.api.optionsApi.getFilterOptions().autoApplyFilter&&this.props.onSetColumnFilter(t)}onClearFilter(){let{editedColumnFilter:t}=this.state;t.Predicate=void 0,this.setState({editedColumnFilter:t}),this.persistFilter()}onFilterApplied(){this.props.onAddColumnFilter(this.state.editedColumnFilter),this.props.onHideFilterForm()}onCloseForm(){this.props.onHideFilterForm()}onMenuItemClick(t){t.reduxAction&&this.props.onMenuItemClick(t.reduxAction),t.onClick&&t.onClick(),this.props.onHideFilterForm()}selectColumnPredicate(t){var r;let{editedColumnFilter:n}=this.state;n.Predicate={PredicateId:t.id,Inputs:((r=t.inputs)!=null?r:[]).map(i=>{var a;return(a=i.defaultValue)!=null?a:""})},this.setState({editedColumnFilter:n}),this.persistFilter()}changeColumnPredicateInput(t,n){let{editedColumnFilter:r}=this.state;r.Predicate.Inputs[n]=t,this.setState({editedColumnFilter:r}),this.props.api.optionsApi.getFilterOptions().autoApplyFilter&&this.props.onSetColumnFilter(r)}};function FNt(o,e){return{currentColumn:e.currentColumn,columns:o.Grid.Columns,columnFilters:qC(o),showCloseButton:e.showCloseButton}}function MNt(o){return{onMenuItemClick:e=>o(e),onClearColumnFilter:e=>o(jp(e)),onAddColumnFilter:e=>o(QC(e)),onEditColumnFilter:e=>o(VE(e)),onSetColumnFilter:e=>o(sk(e)),onHideFilterForm:()=>o(Wme())}}var NNt=bt(FNt,MNt)(Bb),Lte=o=>Oi(jn.createElement(NNt,{api:o.Adaptable.api,currentColumn:o.Column,teamSharingActivated:!1,embedColumnMenu:o.Adaptable.embedColumnMenu,showCloseButton:o.ShowCloseButton}),o.Adaptable);var JHe=o=>{function e(r){return o.isDestroyed?!1:o.api.filterApi.getColumnFilters().findIndex(i=>i.ColumnId==r)>-1}function t(r,i){return{Column:o.api.columnApi.getColumnWithColumnId(r),Adaptable:o,ShowCloseButton:i}}function n(r){return"filter_"+r+"_"+o.adaptableOptions.adaptableId}return o.variant==="react"?(0,MI.forwardRef)(function(i,a){let[s,l]=(0,MI.useState)(null),u=i.column.getId(),c=o.api.columnApi.getColumnWithColumnId(u);return(0,MI.useImperativeHandle)(a,()=>({isFilterActive:()=>e(u),afterGuiAttached:p=>{var C;let m=(C=p==null?void 0:p.hidePopup)!=null?C:null,h=t(u,!!m);o.hideFilterFormPopup=m,l(h)},getModel:()=>{},setModel:()=>{},doesFilterPass:()=>!0})),!c||!s?null:ZHe.createElement("div",{id:n(u)},Lte(s))}):class{init(i){this.params=i,this.column=i.column,this.filterContainer=document.createElement("div"),this.filterContainer.id=n(this.params.column.getColId())}doesFilterPass(i){return!0}isFilterActive(){return e(this.params.column.getColId())}getModel(){}setModel(i){}getGui(){return this.filterContainer}afterGuiAttached(i){var s,l;if((s=this.unmountReactRoot)==null||s.call(this),o.api.columnApi.getColumnWithColumnId(this.column.getColId())){let u=(l=i==null?void 0:i.hidePopup)!=null?l:null,c=t(this.column.getColId(),!!u);o.hideFilterFormPopup=u,this.unmountReactRoot=o.renderReactRoot(Lte(c),this.filterContainer)}}destroy(){var i;(i=this.unmountReactRoot)==null||i.call(this),this.filterContainer=null}}};d();var t2e=I(require("react")),l4=require("react");d();var yi=I(require("react")),kte=I(ZR());var U0=I(Ce());d();var qs=I(require("react")),NI=require("react");d();var _te=I(Ce());var e2e=o=>{let{api:e}=o,t=(0,NI.useRef)(!1),n=qs.useRef(null),[r,i]=qs.useState({values:[],suppressClientSideFilter:!1,dataLoadIsComplete:!1}),[a,s]=qs.useState(!1),[l,u]=qs.useState(""),[c,p]=qs.useState({counter:0}),[m,h]=qs.useState(null),C=()=>{var M;o.clearColumnFilter(),(M=o.api.optionsApi.getFilterOptions())!=null&&M.autoApplyFilter||o.api.gridApi.applyGridFiltering()},y=M=>{var _;let{columnFilter:O}=o;O.Predicate={PredicateId:O.Predicate.PredicateId,Inputs:M},(_=e.optionsApi.getFilterOptions())!=null&&_.autoApplyFilter?o.updateColumnFilter(O):h(O)};(0,NI.useEffect)(()=>{if(c.counter===0)return;let M=!1;return s(!0),e.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(o.columnFilter.ColumnId,l,e.optionsApi.getFilterOptions().showDistinctFilteredValuesOnly).then(O=>{M||(i(T(S({},O),{dataLoadIsComplete:!0})),s(!1))}),()=>{M=!0}},[c]);let v=(0,NI.useCallback)(M=>{M?p(T(S({},c),{counter:c.counter+1})):(i({values:[],suppressClientSideFilter:!1,dataLoadIsComplete:!1}),u(""))},[c,r]),x=r.dataLoadIsComplete&&We.IsNullOrEmptyOrContainsSingleEmptyValue(r.values),A=()=>qs.createElement(ue,{disabled:!0,style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"}},"No Column Values");if(We.IsNullOrEmpty(o.columnFilter.Predicate.Inputs)&&x)return A();let R=M=>{u(M),r.suppressClientSideFilter&&p(T(S({},c),{counter:c.counter+1}))},w="mouseenter";o.quickFilterValuesTrigger==="click"&&(w="click");let P=o.columnFilter.Predicate.PredicateId==="Values"?"Select Values":"Exclude Values";o.columnFilter.Predicate.Inputs.length&&(P=o.columnFilter.Predicate.Inputs.map(M=>{var _,H;let O=(H=(_=r.values)==null?void 0:_.find(j=>M instanceof Date?qn(M,j.value):j.value===M))==null?void 0:H.label;return O!=null?O:M}).join(", "));let D=o.api.optionsApi.getAdaptableOptions().filterOptions.quickFilterValuesWidth,F=M=>D==="auto"?Math.max(180,M):typeof D=="number"?D:null;return qs.createElement(cs,{showEvent:w,hideEvent:"mouseleave",hideDelay:300,ref:M=>{n.current=M,o.registerValuesDropdownApi(M)},onVisibleChange:M=>{t.current!==M&&(t.current=M,v(M))},render:({targetWidth:M})=>{var O;return qs.createElement(_te.Flex,{onMouseEnter:()=>{w==="click"&&requestAnimationFrame(()=>{var _;(_=n.current)==null||_.show()})},"data-name":"quick-filter-form",flexDirection:"column",style:{fontSize:"var(--ab-font-size-2)",border:"1px solid var(--ab-color-primarydark)",background:"var(--ab-color-defaultbackground)",zIndex:1e3,width:F(M)}},qs.createElement(_te.Flex,{m:2},qs.createElement(ue,{onClick:()=>C()},"Clear Filter"),((O=e.optionsApi.getFilterOptions())==null?void 0:O.autoApplyFilter)==!1&&qs.createElement(ue,{ml:2,onClick:()=>{m&&o.updateColumnFilter(m)}},"Apply Filter")),qs.createElement($T,{disabled:o.isFilterDisabled,suppressClientSideFilter:r.suppressClientSideFilter,isLoading:a,onFilterChange:R,currentColumn:o.currentColumn,columns:[],columnDistinctValues:r.values,dataType:o.currentColumn.dataType,uiSelectedColumnValues:o.columnFilter.Predicate.Inputs.filter(_=>_!==""),useAgGridStyle:!0,onColumnValueSelectedChange:_=>y(_)}))}},qs.createElement(ue,{"data-name":"Select Values",style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"},disabled:o.isFilterDisabled||x},P))};var Bte=class extends yi.Component{constructor(t){super(t);this.shouldOpenValuesDropdown=!1;this._isMounted=!1;this.debouncedAddFilter=(0,kte.default)(t=>this.props.onAddColumnFilter(t),this.props.quickFilterDebounce);this.debouncedEditFilter=(0,kte.default)(t=>this.props.onEditColumnFilter(t),this.props.quickFilterDebounce);this._isMounted=!0,this.state={transientColumnFilter:t.columnFilter}}static getDerivedStateFromProps(t,n){return T(S({},n),{transientColumnFilter:t.columnFilter})}componentWillUnmount(){this._isMounted=!1}isFilterDisabled(){return Boolean(this.props.columnFilter.IsSuspended)}render(){let{transientColumnFilter:t}=this.state,n=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn),r=this.props.api.predicateApi.getPredicateDefById(t==null?void 0:t.Predicate.PredicateId);if(!this.props.currentColumn||!this.props.currentColumn.filterable)return null;let i="mouseenter",a="mouseleave";this.props.quickFilterTrigger==="click"&&(i="click",a="blur");let s=!0,l=this.props.api.optionsApi.getFilterOptions().hideQuickFilterDropdown;if(l){let p={column:this.props.currentColumn,adaptableApi:this.props.api,userName:this.props.api.optionsApi.getUserName(),adaptableId:this.props.api.optionsApi.getAdaptableId()};s=!l(p)}let u=!0,c=this.props.api.optionsApi.getFilterOptions().hideQuickFilterInput;if(c){let p={column:this.props.currentColumn,adaptableApi:this.props.api,userName:this.props.api.optionsApi.getUserName(),adaptableId:this.props.api.optionsApi.getAdaptableId()};u=!c(p)}return yi.createElement(yi.Fragment,null,s&&yi.createElement(cs,{className:"ab-QuickFilter",showEvent:i,hideEvent:a,preventPortalEventPropagation:i==="click",targetOffset:10,hideDelay:300,"data-name":"quick-filter-overlay",render:()=>yi.createElement(U0.Flex,{className:"ab-QuickFilter__dropdown",flexDirection:"column","data-name":"quick-filter",fontSize:2},(t==null?void 0:t.Predicate.PredicateId)&&yi.createElement(ue,{p:2,variant:"text",onClick:()=>this.clearFilter()},yi.createElement("span",{style:{width:20,marginRight:10}},yi.createElement(mo,{name:"delete"})),"Clear"),n.map(p=>yi.createElement(ue,{"data-name":t.Predicate.PredicateId,disabled:this.isFilterDisabled(),key:p.id,p:2,variant:"text",tone:(t==null?void 0:t.Predicate.PredicateId)===p.id?"info":"none",onClick:()=>this.selectColumnPredicate(p.id)},yi.createElement("span",{style:{width:20,marginRight:10}},this.renderPredicateIcon(p)),p.label)))},yi.createElement(ue,{"data-name":t.Predicate.PredicateId,style:{borderRadius:0,borderColor:"var(--ab-color-primarydark)"}},this.renderPredicateIcon(r))),u&&this.renderLabel(t,r),u&&this.renderPredicateInput(r,t))}renderLabel(t,n){return this.hasValuesPredicate(t==null?void 0:t.Predicate)?yi.createElement(e2e,{api:this.props.api,currentColumn:this.props.currentColumn,isFilterDisabled:this.isFilterDisabled(),columnFilter:t,clearColumnFilter:()=>this.clearFilter(),updateColumnFilter:r=>this.updateFilter(r),registerValuesDropdownApi:r=>{r&&this.shouldOpenValuesDropdown&&(r.show(),this.shouldOpenValuesDropdown=!1)},quickFilterValuesTrigger:this.props.quickFilterValuesTrigger}):n&&(n==null?void 0:n.inputs)===void 0&&yi.createElement(U0.Box,{color:this.isFilterDisabled()?void 0:"var(--ab-color-text-on-primary)",disabled:this.isFilterDisabled(),p:1,alignSelf:"center"},n.label)}renderPredicateIcon(t){if(!t||!t.icon)return yi.createElement(mo,{name:"filter"});if("text"in t.icon)return yi.createElement("span",null,t.icon.text);if(VEe(t.icon))return yi.createElement(Ma,{icon:t.icon})}renderPredicateInput(t,n){var r;return(t==null?void 0:t.id)==="BooleanToggle"?yi.createElement(U0.Flex,{flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center",style:{position:"absolute",left:0,right:0,bottom:0,top:0}},yi.createElement(Ne,{disabled:this.isFilterDisabled(),checked:n.Predicate.Inputs[0]==="checked"?!0:n.Predicate.Inputs[0]==="unchecked"?!1:null,onChange:i=>{let a=n.Predicate.Inputs[0]==="unchecked"&&i===!0?"all":i===!0?"checked":"unchecked";this.changeColumnPredicateInput(a,0)}})):(r=t==null?void 0:t.inputs)==null?void 0:r.map((i,a)=>{var s,l;return yi.createElement(oo,{disabled:this.isFilterDisabled(),key:a,type:i.type==="number"?"text":i.type,autoFocus:!1,value:(l=(s=n.Predicate.Inputs)==null?void 0:s[a])!=null?l:"",onChange:u=>this.changeColumnPredicateInput(u.target.value,a),onKeyDownCapture:u=>{u.nativeEvent.key==="Escape"&&(u.nativeEvent.preventDefault(),u.nativeEvent.stopPropagation(),this.clearFilter())},style:{width:"100%",padding:"var(--ab-space-1)",borderRadius:0,borderLeftWidth:0}})})}onColumnValuesChange(t){var r;let n=S({},this.props.columnFilter);n.Predicate={PredicateId:n.Predicate.PredicateId,Inputs:t},(r=this.props.api.optionsApi.getFilterOptions())!=null&&r.autoApplyFilter?this.updateFilter(n):this.setState({transientColumnFilter:n})}selectColumnPredicate(t){var i;let n=S({},this.props.columnFilter),r=this.props.api.predicateApi.getPredicateDefById(t);n.Predicate={PredicateId:t,Inputs:((i=r.inputs)!=null?i:[]).map(a=>{var s;return(s=a.defaultValue)!=null?s:""})},this.updateFilter(n),(t==="Values"||t==="ExcludeValues")&&(this.shouldOpenValuesDropdown=!0)}updateFilter(t){this.setState({transientColumnFilter:t}),t.Uuid?this.debouncedEditFilter(t):this.debouncedAddFilter(t)}changeColumnPredicateInput(t,n){let r=this.getPredicateIdForShortcutValue(t);if(r)this.selectColumnPredicate(r);else{let i=S({},this.props.columnFilter);i.Predicate.Inputs=i.Predicate.Inputs||[],i.Predicate.Inputs[n]=t,this.updateFilter(i)}}getPredicateIdForShortcutValue(t){var n;return(n=this.props.api.filterApi.internalApi.findPredicateDefByShortcut(t,this.props.currentColumn))==null?void 0:n.id}clearFilter(){let t=S({},this.props.columnFilter);this.props.api.filterApi.clearColumnFilterForColumn(t.ColumnId)}hasValuesPredicate(t){return this.props.api.predicateApi.internalApi.hasPredicateValues(t)}};function LNt(o,e){let t=qC(o).find(r=>r.ColumnId==e.currentColumn.columnId);if(t)return t;let n=e.api.optionsApi.getFilterOptions();return!t&&e.currentColumn.dataType==="Number"?jo.CreateColumnFilter(e.currentColumn.columnId,kb(e.currentColumn,n.defaultNumericColumnFilter),[""]):!t&&e.currentColumn.dataType==="String"?jo.CreateColumnFilter(e.currentColumn.columnId,kb(e.currentColumn,n.defaultStringColumnFilter),[""]):!t&&e.currentColumn.dataType==="Date"?jo.CreateColumnFilter(e.currentColumn.columnId,kb(e.currentColumn,n.defaultDateColumnFilter),[""]):!t&&e.currentColumn.dataType==="Boolean"?jo.CreateColumnFilter(e.currentColumn.columnId,"BooleanToggle",["all"]):jo.CreateColumnFilter(e.currentColumn.columnId,null,null)}function _Nt(o,e){return{currentColumn:e.currentColumn,columnFilter:LNt(o,e)}}function kNt(o){return{onAddColumnFilter:e=>o(QC(e)),onEditColumnFilter:e=>o(VE(e))}}var BNt=bt(_Nt,kNt)(Bte),Vte=o=>{var e,t,n;return Oi(yi.createElement(BNt,{api:o.Adaptable.api,quickFilterTrigger:(e=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:e.quickFilterTrigger,quickFilterValuesTrigger:(t=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:t.quickFilterValuesTrigger,quickFilterDebounce:(n=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:n.quickFilterDebounce,currentColumn:o.Column,teamSharingActivated:!1,embedColumnMenu:o.Adaptable.embedColumnMenu}),o.Adaptable)};var Gte={overflow:"hidden",minWidth:"0",height:"100%",display:"flex",alignItems:"stretch",position:"relative"},o2e=o=>{function e(r){return`floatingFilter_${r}_${o.adaptableOptions.adaptableId}`}function t(r){return{Column:o.api.columnApi.getColumnWithColumnId(r),Adaptable:o,ShowCloseButton:!1}}function n(r){r&&(r.parentElement.style.overflow="visible",r.parentElement.parentElement.style.padding="var(--ab-space-1)")}return o.variant==="react"?(0,l4.forwardRef)(function(i,a){let s=i.column.getId(),l=o.api.columnApi.getColumnWithColumnId(s);return(0,l4.useImperativeHandle)(a,()=>({onParentModelChanged(){}})),l?t2e.createElement("div",{ref:n,id:e(s),style:Gte},Vte(t(s))):null}):class{onParentModelChanged(i,a){}afterGuiAttached(){n(this.filterContainer)}init(i){let a=i.column.getColId();if(this.filterContainer=document.createElement("div"),this.filterContainer.id=e(a),Object.keys(Gte).forEach(l=>{this.filterContainer.style[l]=Gte[l]}),o.api.columnApi.getColumnWithColumnId(a)){let l=t(a);this.unmountReactRoot=o.renderReactRoot(Vte(l),this.filterContainer)}}getGui(){return this.filterContainer}destroy(){var i;(i=this.unmountReactRoot)==null||i.call(this),this.filterContainer=null}}};d();var u4=I(require("react"));d();var Kd=I(require("react"));var VNt={position:"absolute",left:0,top:0,right:0,bottom:0},GNt=T(S({},VNt),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),HNt={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},Hte=Kd.forwardRef(function(e,t){var l;let n=Kd.useRef(null),r=()=>{var u;(u=n.current)==null||u.focus()},[i,a]=Pn(e,"value",e.defaultValue,{onChange:u=>{var c;u!==""&&u==Number(u)&&(u=Number(u)),(c=e.onValueChange)==null||c.call(e,u)}});Kd.useImperativeHandle(t,()=>({focus:r,setValue:a}));let s=e.showClearButton&&e.emptyValue!=null&&i!=e.emptyValue;return Kd.createElement("div",{style:GNt,onKeyDown:u=>{u.key==="Tab"&&s&&document.activeElement===n.current&&u.stopPropagation()}},Kd.createElement("input",{type:(l=e.type)!=null?l:"number",value:i,onChange:Kd.useCallback(u=>{a(u.target.value)},[]),style:HNt,ref:n}),s?Kd.createElement("div",{style:{display:"inline-block",marginRight:"var(--ab-space-1)",marginLeft:"var(--ab-space-1)"},onClick:u=>{e.emptyValue!=null&&(a(e.emptyValue),u.stopPropagation(),r())},onKeyDown:u=>{e.emptyValue!=null&&u.key==="Enter"&&(a(e.emptyValue),u.stopPropagation(),r())}},Kd.createElement(mo,{size:18,name:"close",tabIndex:0})):null)});var Og=require("react");function UNt(o){return o.eventKey===ae.BACKSPACE||o.eventKey===ae.DELETE}function WNt(o){return["0","1","2","3","4","5","6","7","8","9"].includes(o)}function n2e(o){return UNt(o)?"":o.eventKey&&WNt(o.eventKey)?Number(o.eventKey):o.value}var r2e=({newValue:o,oldValue:e})=>o,Ute={position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px"},i2e=(0,Og.forwardRef)((o,e)=>{var m,h;let[t]=(0,Og.useState)(()=>n2e(o)),n=(0,Og.useRef)(t),r=o.column.getColId(),i=o.api.__adaptable,a=o.column.getColDef().valueParser,s=typeof a=="function"?a:r2e;function l(C){C=s?s(T(S({},o),{oldValue:o.value,newValue:C})):C,n.current=C}let u=(0,Og.useRef)(null);(0,Og.useImperativeHandle)(e,()=>({focusIn(){var C;(C=u.current)==null||C.focus()},getValue(){return n.current}}));let c=u4.createElement(Hte,{defaultValue:t,showClearButton:(m=o.showClearButton)!=null?m:!0,emptyValue:(h=o.emptyValue)!=null?h:"",onValueChange:l,ref:C=>{u.current=C,C==null||C.focus()}});function p(C){i._emit("CellEditorKeyDown",{keyDownEvent:C,cellValue:n.current,columnId:r,updateValueCallback:y=>{u.current.setValue(y)}})}return u4.createElement("div",{style:Ute,onKeyDown:p},Oi(c,i))}),W0=class{constructor(){this.valueParser=r2e;this.onValueChange=e=>{this.value=this.valueParser?this.valueParser(T(S({},this.params),{oldValue:this.params.value,newValue:e})):e}}init(e){this.value=n2e(e),this.params=e,this.columnId=e.column.getColId();let{valueParser:t}=e.column.getColDef();typeof t=="function"&&(this.valueParser=t),this.el=document.createElement("div"),Object.keys(Ute).forEach(n=>{this.el.style[n]=Ute[n]})}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}afterGuiAttached(){var r,i;let e=this.params.api.__adaptable,t=this.value,n=u4.createElement(Hte,{defaultValue:t,showClearButton:(r=this.params.showClearButton)!=null?r:!0,emptyValue:(i=this.params.emptyValue)!=null?i:"",onValueChange:this.onValueChange,ref:a=>{this.editor=a,a==null||a.focus()}});this.unmountReactRoot=e.renderReactRoot(Oi(n,e),this.el),this.getGui().addEventListener("keydown",a=>{e._emit("CellEditorKeyDown",{keyDownEvent:a,cellValue:this.value,columnId:this.columnId,updateValueCallback:s=>{this.editor.setValue(s)}})})}destroy(){var e;(e=this.unmountReactRoot)==null||e.call(this)}};d();var d4=I(require("react"));d();var np=I(require("react"));var zNt={position:"absolute",left:0,top:0,right:0,bottom:0},jNt=T(S({},zNt),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),KNt={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},Wte=np.forwardRef((o,e)=>{var l;let t=np.useRef(null),n=()=>{var u;(u=t.current)==null||u.focus()},[r,i]=Pn(o,"value",o.defaultValue,{onChange:u=>{var c,p;if(u===""||u==null)(c=o.onValueChange)==null||c.call(o,null);else{let m=typeof u=="string"?ev(u):new Date(u);(p=o.onValueChange)==null||p.call(o,m)}}});np.useImperativeHandle(e,()=>({focus:n}));let a=s1(r,o.dateFormat),s=np.useCallback(u=>{i(u.target.value)},[]);return np.createElement("div",{style:jNt},np.createElement(VX.Provider,{value:{onHide:u=>{var c;(c=o.onStopEdit)==null||c.call(o,u)},onShow:()=>{},showClearButton:(l=o.showClearButton)!=null?l:!0}},np.createElement(oo,{type:"date",value:a,onChange:s,style:KNt,ref:t})))});var Fg=require("react");function a2e(o){return o.eventKey===ae.BACKSPACE||o.eventKey===ae.DELETE}function s2e(o){return a2e(o)?"":o.value}var zte={position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px"},l2e=({newValue:o,oldValue:e,defaultParser:t})=>(typeof e=="string"||e==null)&&t?t(o):o,u2e=(0,Fg.forwardRef)((o,e)=>{var u;let[t]=(0,Fg.useState)(()=>s2e(o)),n=(0,Fg.useRef)(t),r=o.column.getColDef().valueParser,i=typeof r=="function"?r:l2e,a=o.api.__adaptable,s=(0,Fg.useRef)(null);(0,Fg.useImperativeHandle)(e,()=>({focusIn(){var c;(c=s.current)==null||c.focus()},getValue(){return n.current}}));let l=d4.createElement(Wte,{defaultValue:t,dateFormat:a.adaptableOptions.userInterfaceOptions.dateInputOptions.dateFormat,onValueChange:c=>{let p=isNaN(+c);if(i){let m=T(S({},o),{oldValue:o.value,newValue:c,defaultParser:h=>{var y,v;let C=(v=(y=a.adaptableOptions.userInterfaceOptions)==null?void 0:y.dateInputOptions)==null?void 0:v.dateFormat;return C?aa(h,{Pattern:C}):h}});n.current=i(m)}else n.current=p?null:c;p||requestAnimationFrame(()=>{o.stopEditing()})},showClearButton:(u=o.showClearButton)!=null?u:!0,onStopEdit:c=>{c==="Escape"?o.api.stopEditing(!0):o.stopEditing()},ref:c=>{s.current=c,c==null||c.focus()}});return d4.createElement("div",{style:zte},Oi(l,a))}),z0=class{constructor(){this.valueParser=l2e}init(e){this.value=s2e(e);let{valueParser:t}=e.column.getColDef();this.params=e,typeof t=="function"&&(this.valueParser=t),this.el=document.createElement("div"),Object.keys(zte).forEach(n=>{this.el.style[n]=zte[n]})}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}getAdaptableInstance(e){return e.api.__adaptable}afterGuiAttached(){var r;let e=this.getAdaptableInstance(this.params),t=a2e(this.params)?"":this.params.value,n=d4.createElement(Wte,{defaultValue:t,dateFormat:e.adaptableOptions.userInterfaceOptions.dateInputOptions.dateFormat,onValueChange:i=>{let a=isNaN(+i);if(this.valueParser){let s=T(S({},this.params),{oldValue:this.params.value,newValue:i,defaultParser:l=>{var c,p;let u=(p=(c=e.adaptableOptions.userInterfaceOptions)==null?void 0:c.dateInputOptions)==null?void 0:p.dateFormat;return u?aa(l,{Pattern:u}):l}});this.value=this.valueParser(s)}else this.value=a?null:i;a||requestAnimationFrame(()=>{this.params.stopEditing()})},showClearButton:(r=this.params.showClearButton)!=null?r:!0,onStopEdit:i=>{i==="Escape"?this.params.api.stopEditing(!0):this.params.stopEditing()},ref:i=>{this.editor=i,i==null||i.focus()}});this.unmountReactRoot=e.renderReactRoot(Oi(n,e),this.el)}destroy(){var e;(e=this.unmountReactRoot)==null||e.call(this)}};d();var d2e=1693295550840;d();var c2e="AdaptableStatusPanel";d();var c4=I(require("react"));var p2e=(o,e,t)=>e.variant==="react"?n=>{let r=Oi(c4.createElement(o,{params:n,adaptableApi:e.api,context:t}),e);return c4.createElement("div",{className:"ab-StatusBar",ref:i=>{i&&(i.parentElement.style.display="flex")}},r)}:class{init(r){this.params=r,this.eGui=document.createElement("div"),this.eGui.classList.add("ab-StatusBar"),this.render()}render(){let r={params:this.params,adaptableApi:e.api,context:t},i=Oi(c4.createElement(o,r),e);this.unmountReactRoot=e.renderReactRoot(i,this.eGui)}getGui(){return this.eGui}destroy(){var r;(r=this.unmountReactRoot)==null||r.call(this)}};d();var Vb=I(require("react"));var m2e=I(Ce());var h2e=o=>{var s;let e=_t(l=>l),t=OE(e),n=pe(),r=yt(),i=t.find(l=>l.Key===o.context.Key),a=_t(l=>{var u;return(u=l==null?void 0:l.Grid)==null?void 0:u.SettingPanelModuleMenuItems});return Vb.createElement(m2e.Flex,{className:"ab-StatusBar-Panel","data-id":o.context.Key},(s=i==null?void 0:i.StatusBarPanels)==null?void 0:s.map(l=>{var h,C,y,v,x,A;let u=n.ModuleService.getModuleById(l);if(!u)return Vb.createElement(Vb.Fragment,{key:l});if(!u.isModuleAvailable())return Vb.createElement(Vb.Fragment,{key:l});let c=(v=(y=(C=(h=u.getViewProperties)==null?void 0:h.call(u))==null?void 0:C.getStatusBarPanelProps)==null?void 0:y.call(C))!=null?v:{},p=u.moduleInfo,m=(x=c.onAction)!=null?x:()=>{let R=a.find(w=>w.module===l);R!=null&&R.reduxAction&&r(R.reduxAction)};return Vb.createElement(SI,T(S({"data-name":l},c),{tooltip:p.FriendlyName,onAction:m,icon:(A=c.icon)!=null?A:p.Glyph,key:l}))}))};d();var p4=class{constructor(e){this.adaptableApi=e;let t=this.adaptableApi.internalApi.getAdaptableInstance();t.adaptableOptions.actionRowOptions.autoHandle&&t.api.eventApi.on("ActionRowSubmitted",n=>this.autoHandleActionRowButtons(n))}autoHandleActionRowButtons(e){let{adaptableApi:t}=e;if(e.type==="rowEdited"){let{rowNode:n,formData:r}=e,i=S(S({},n.data),r);t.gridApi.updateGridData([i])}if(e.type==="rowDeleted"){let{rowNode:n}=e,r=n.data;t.gridApi.deleteGridData([r])}if(e.type==="rowCreated"){let{formData:n}=e,r=t.internalApi.getAdaptableInstance().adaptableOptions.actionRowOptions.setPrimaryKeyValue,i=typeof r=="function"?r({rowData:n,adaptableApi:t,userName:this.adaptableApi.optionsApi.getUserName(),adaptableId:this.adaptableApi.optionsApi.getAdaptableId()}):S({},n),a={addIndex:0};t.gridApi.addGridData([i],a)}}};d();var m4=I(require("react-dom")),C2e=console.error,QNt=(o,e)=>(m4.render(o,e),()=>{m4.unmountComponentAtNode(e)});function f2e(){console.error=(o,...e)=>{if(!(o&&typeof o=="string"&&(o.includes("Warning: ReactDOM.render is no longer supported in React 18.")||o.includes("Warning: Attempted to synchronously unmount a root while React was already rendering"))))return C2e.call(console,o,...e)}}function g2e(){console.error=C2e}var jte=(o,e,t)=>{t&&f2e();let n=QNt(o,e);return t&&g2e(),()=>{t&&f2e(),n(),t&&g2e()}};d();var h4=class{constructor(e){this.api=e}onChartModelChange(e,t,n){let r=this.api.chartingApi.getChartDefinitions(),i=e.find(s=>s.chartId===n.chartId),a=r.find(s=>s.Model.chartId===n.chartId);switch(t){case L.EVENT_CHART_CREATED:let s=n;if(!r.some(u=>u.Model.chartId===s.chartId)){let u=e.find(c=>c.chartId===s.chartId);this.saveNewChart(u)}break;case L.EVENT_CHART_OPTIONS_CHANGED:case L.EVENT_CHART_RANGE_SELECTION_CHANGED:if(!a)break;let l=T(S({},a),{Model:i});this.api.chartingApi.editChartDefinition(l);break}this.api.internalApi.dispatchReduxAction(Kme(e)),this.emitAdaptableChartDefinitonChange()}emitAdaptableChartDefinitonChange(){let t={chartingOpenState:this.api.chartingApi.getChartingOpenState(),adaptableApi:this.api,userName:this.api.optionsApi.getUserName(),adaptableId:this.api.optionsApi.getAdaptableId()};this.api.eventApi.emit("ChartChanged",t)}saveNewChart(e){var r,i;let n=(i=((r=this.api.optionsApi.getChartingOptions())!=null?r:{}).saveStrategy)!=null?i:"manual";if(n!=="none")if(n==="manual"){let a={alertType:"generic",header:"Save chart",message:"Do you want to save this Chart?",alertDefinition:T(S({},it.CreateEmptyAlertDefinition()),{MessageType:"Info",AlertProperties:{DisplayNotification:!0,NotificationDuration:"always"},AlertForm:{Buttons:[{Label:"Save",Action:s=>{let l=s.formData.name||e.chartId;this.api.chartingApi.addChartDefinition(it.CreateEmptyChartDefinition({Name:l,Model:e}))},ButtonStyle:{tone:"info",variant:"raised"}},{Label:"Dismiss",ButtonStyle:{tone:"neutral",variant:"raised"}}],fields:[{name:"name",label:"Name",fieldType:"text"}]}})};this.api.alertApi.showAdaptableAlert(a)}else n==="auto"&&this.api.chartingApi.addChartDefinition(it.CreateEmptyChartDefinition({Name:e.chartId,Model:e}))}destroy(){this.api=null}};d();var f4=class{constructor(e){this.unsubscribe=()=>{};this.onThemeChanged=()=>{let e=this.api.themeApi.getCurrentThemeObject();this.applyNewThemeVariables(e),this.showMissingThemeFiles(e)};var t;this.api=e,this.subscribe(),this.styleSheetObject||(this.styleSheetObject=new CSSStyleSheet,document.adoptedStyleSheets=[...(t=document.adoptedStyleSheets)!=null?t:[],this.styleSheetObject])}subscribe(){let e=this.api.eventApi.on("ThemeChanged",this.onThemeChanged),t=this.api.eventApi.on("ThemeEdited",this.onThemeChanged);this.unsubscribe=()=>{e(),t()}}applyNewThemeVariables(e){let t=e.CSSVariables;if(!t||Object.keys(t).length===0)return;let n=`html.${this.api.themeApi.internalApi.getThemeClassName(e.Name)} {
602
+ justify-content: center;`,this.eGui.appendChild(n),this.value=e.value}getGui(){return this.eGui}getValue(){return this.value}};d();d();var YGe=I(require("react"));var XGe=()=>YGe.createElement(PW,{gap:0,buttonsPaddingY:0});var Hz=class extends It{constructor(e){super(gd,C7,"target","DataChangeHistoryPopup","Provides an overview of all previous changes, giving the possibility to undo specific changes",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{t.trigger!=="undo"&&t.trigger!=="aggChange"&&this.shouldLogDataChange(t)&&this.api.internalApi.dispatchReduxAction(Vme(t))})}isModuleAvailable(){let e=super.isModuleAvailable(),t=this.api.internalApi.getAdaptableInstance().isAgGridModulePresent(ot.ClientSideRowModelModule);return e&&!t&&this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ${ot.ClientSideRowModelModule}`),e&&t}getPopupMaxWidth(){return 1e3}hasNamedQueryReferences(){return!1}shouldLogDataChange(e){return this.api.internalApi.getState().System.DataChangeHistory.currentMode!=="ACTIVE"?!1:this.api.optionsApi.getDataChangeHistoryOptions().showDataChange?this.api.optionsApi.getDataChangeHistoryOptions().showDataChange(e):!0}getViewProperties(){return{getStatusBarPanelProps:()=>({triggerActionOnWrapperClick:!1,content:XGe})}}};d();d();var ZGe=o=>({name:"Duration",values:[o.FlashDuration]});d();var ep=I(require("react")),II=require("react"),N0=I(Ce());d();var On=I(require("react")),JGe=require("react"),Mb=I(Ce());var eHe=o=>On.createElement(On.Fragment,null,On.createElement(Mb.Text,{fontSize:2},o.FlashDuration==="always"?On.createElement(On.Fragment,null,"Flashing is never removed"):On.createElement(On.Fragment,null,"Flashing is removed after ",On.createElement(La,null,o.FlashDuration)," ","milliseconds"))),tHe=o=>{var u,c,p,m,h,C,y;let{data:e}=ke();e=e!=null?e:o.flashingCell;let t=v=>{o.onChange(T(S({},e),{FlashDuration:v}))},n=(u=e.FlashDuration)!=null?u:500,r=On.useRef(typeof n=="number"?n:500),i=(0,JGe.useRef)(null),a=Ed(n,n);On.useEffect(()=>{var v;a==="always"&&n!=a&&((v=i.current)==null||v.focus())},[n,a]);let s=v=>{t(v==="number"?r.current:"always")},l=(v,x)=>{var R;let A=(R=e.FlashTarget)!=null?R:[];typeof A=="string"&&(A=[A]),Array.isArray(A)&&(x?A=[...A,v]:A=A.filter(w=>v!=w)),o.onChange(T(S({},e),{FlashTarget:A}))};return On.createElement(Mb.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},On.createElement(J,{autoFocus:!1,padding:2},On.createElement(J.Tab,null,"Flashing Cell Settings"),On.createElement(J.Content,null,On.createElement(Ke,null,On.createElement(de,{label:"Duration Type"},On.createElement(Xe,{"data-name":"duration-type-always",mr:3,checked:n=="always",tabIndex:-1,onChange:()=>s("always")},"Always"),On.createElement(Xe,{"data-name":"duration-type-number",checked:n!=="always",tabIndex:-1,onChange:()=>s("number")},"Limited (ms)")),On.createElement(de,{label:""},n!=="always"&&On.createElement(Mb.Flex,{flexDirection:"row",alignItems:"baseline"},On.createElement(Mb.Text,{fontSize:2,mr:2},"After"),On.createElement(mt,{"data-name":"duration-input",readOnly:o.readOnly,type:"text",name:"value",ref:i,mt:2,mr:1,value:n,onChange:v=>{let x=v.target.value;t(isNaN(Number(x))?500:Number(x))}}),On.createElement(Mb.Text,{fontSize:2},"milliseconds")),n==="always"&&On.createElement(Mb.Text,{height:43,fontSize:3},"Persists the flashing style indeterminately - can be removed manually")),On.createElement(de,{label:"Flash Target"},On.createElement(Ne,{"data-name":"flashing-target",onChange:v=>l("cell",v),mr:3,checked:(e==null?void 0:e.FlashTarget)==="cell"||((p=(c=e==null?void 0:e.FlashTarget)==null?void 0:c.includes)==null?void 0:p.call(c,"cell")),tabIndex:-1},"Cell"),On.createElement(Ne,{"data-name":"flashing-target-row",mr:3,onChange:v=>l("row",v),checked:(e==null?void 0:e.FlashTarget)==="row"||((h=(m=e==null?void 0:e.FlashTarget)==null?void 0:m.includes)==null?void 0:h.call(m,"row")),tabIndex:-1},"Row"),On.createElement(Ne,{"data-name":"flashing-target-aggFuncCell",onChange:v=>l("aggFuncCell",v),checked:(e==null?void 0:e.FlashTarget)==="aggFuncCell"||((y=(C=e==null?void 0:e.FlashTarget)==null?void 0:C.includes)==null?void 0:y.call(C,"aggFuncCell")),tabIndex:-1},"Aggregated Function Cell"))))))};d();var Ni=I(require("react"));var oHe=o=>{var n;let{api:{flashingCellApi:e}}=ke(),t=(n=o.FlashTarget)!=null?n:e.getFlashingCellFlashTarget(o);return Ni.createElement(XT,{data:o,renderPredicate:r=>Ni.createElement(Ni.Fragment,null,"Flash ",Ni.createElement(La,null,t)," - value condition"," ",Ni.createElement(La,null,r)),renderQueryExpression:r=>Ni.createElement(Ni.Fragment,null,"Flash ",Ni.createElement(La,null,t)," when"," ",Ni.createElement("b",null,Ni.createElement(La,null,r)))})},nHe=o=>{let{data:e,api:t,moduleInfo:n}=ke(),r=t.flashingCellApi.getFlashingCellPredicateDefsForScope(e.Scope);return Ni.createElement(ab,{module:n.ModuleName,defaultPredicateId:"Any",data:e,predicateDefs:r,getPredicateDefsForColId:i=>t.flashingCellApi.getFlashingCellPredicateDefsForScope({ColumnIds:[i]}),onChange:o.onChange,showAggregation:!1,showObservable:!1,showBoolean:!0,showPredicate:!0,descriptions:{selectPredicate:"Select an Flashing Cell Rule - to be applied when data changes",useBooleanQuery:Ni.createElement(Ni.Fragment,null,"Use an BooleanQuery if ",Ni.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:Ni.createElement(Ni.Fragment,null,"Use an ObservableQuery if ",Ni.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:Ni.createElement(Ni.Fragment,null,"Use an AggregatedBooleanQuery if ",Ni.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")}})};d();var ga=I(require("react")),Uz=I(Ce());var Ite=ga.createElement(Uz.Text,{fontSize:2,style:{display:"inline-block"}},"Change style"),rHe=o=>{var n,r,i;let{data:e,api:t}=ke();return e=e!=null?e:o.flashingAlert,ga.createElement(ga.Fragment,null,ga.createElement(J,{defaultValue:"up"},ga.createElement(J.Tab,{value:"up"},"Up ",Ite),ga.createElement(J.Content,{value:"up"},ga.createElement(_u,{headless:!0,api:t,Style:(n=e.UpChangeStyle)!=null?n:{},UpdateStyle:a=>o.onStyleChange("UpChangeStyle",a)})),ga.createElement(J.Tab,{value:"down"},"Down ",Ite),ga.createElement(J.Content,{value:"down"},ga.createElement(_u,{headless:!0,api:t,Style:(r=e.DownChangeStyle)!=null?r:{},UpdateStyle:a=>o.onStyleChange("DownChangeStyle",a)})),ga.createElement(J.Tab,{value:"neutral"},"Neutral ",Ite),ga.createElement(J.Content,{value:"neutral"},ga.createElement(_u,{headless:!0,api:t,Style:(i=e.NeutralChangeStyle)!=null?i:{},UpdateStyle:a=>o.onStyleChange("NeutralChangeStyle",a)}))))},bNt=o=>{let n=o,{data:e}=n,t=ut(n,["data"]);return ga.createElement(Uz.Box,S({},t),ga.createElement(kd,{styleObject:o.data.UpChangeStyle},"Up change style ",o.data.UpChangeStyle?"":" - no style"),ga.createElement(kd,{mt:2,styleObject:o.data.DownChangeStyle},"Down change style ",o.data.DownChangeStyle?"":" - no style"),ga.createElement(kd,{mt:2,styleObject:o.data.NeutralChangeStyle},"Neutral change style ",o.data.NeutralChangeStyle?"":" - no style"))},iHe=o=>ga.createElement(bNt,{data:o});d();var Pte=I(require("react")),aHe=I(Ce());var sHe=o=>{let{data:e,api:t}=ke();return Pte.createElement(aHe.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},Pte.createElement(Wc,{descriptions:{rowScope:"Changes anywhere in the row will trigger an Flashing Cell",columnScope:"Changes in selected columns will trigger an Flashing Cell"},scope:e.Scope,updateScope:n=>{let r=T(S({},e),{Scope:n});r.Rule.Predicates&&(r.Rule={Predicates:[{PredicateId:"Any"}]}),o.onChange(r)}}))};d();var lHe=(o,e,t)=>{var r,i;if(!((i=(r=o.Rule)==null?void 0:r.Predicates)!=null&&i.length)&&!o.Rule.BooleanExpression)return"No Rule defined for Flashing Cell";let n=sb(o,e,t);if(typeof n=="string")return n;if(t.namedQuery!=!1){let a=e.queryApi.isValidNamedQueryName(t.namedQuery);if(!a.valid)return a.message}return!0};var uHe=o=>{let{api:e}=pe(),[t,n]=(0,II.useState)(()=>{var u,c;let l=o.data?zo(o.data):it.CreateEmptyFlashingCellDefinition();return l=e.flashingCellApi.internalApi.mergeFlashingCellDefinitionWithDefaults(l),!l.Rule.BooleanExpression&&!((c=(u=l.Rule)==null?void 0:u.Predicates)!=null&&c.length)&&(l.Rule.BooleanExpression=""),l}),r=l=>u=>{n(c=>(c=T(S({},c),{[l]:u}),c))},i={DownChangeStyle:(0,II.useCallback)(r("DownChangeStyle"),[]),UpChangeStyle:(0,II.useCallback)(r("UpChangeStyle"),[]),NeutralChangeStyle:(0,II.useCallback)(r("NeutralChangeStyle"),[])},a=yt(),s=()=>{o.data?a(gv(t)):a(fv(t)),o.onFinishWizard(t)};return ep.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:s,sections:[{details:"Specify which data changes should trigger Cell Flashing",isValid:Bh,render:()=>ep.createElement(sHe,{onChange:n}),renderSummary:$W,title:"Scope"},{details:"Build the Rules for when Cells should Flash",isValid:lHe,render:()=>ep.createElement(nHe,{onChange:n}),renderSummary:oHe,title:"Rule"},{details:"Select the Duration of the Flash",render:()=>ep.createElement(N0.Box,{padding:2},ep.createElement(tHe,{onChange:n})),renderSummary:eHe,title:"Settings"},{details:"Choose the Flashing Styles",render:()=>ep.createElement(N0.Box,{padding:2},ep.createElement(rHe,{onStyleChange:(l,u)=>{i[l](u)}})),renderSummary:iHe,title:"Flash Styles"},{details:"Select Flashing Cell Tags",title:"Tags",isVisible:(l,u)=>u.internalApi.shouldDisplayTagSections(),render:()=>ep.createElement(N0.Box,{padding:2},ep.createElement(Pr,{onChange:n})),renderSummary:Dr},"-",{details:"Review the Flashing Cell Rule",render:()=>ep.createElement(N0.Box,{padding:2},ep.createElement(Ir,null)),title:"Summary"}]})};d();var dHe=o=>({name:"Target",values:Array.isArray(o.FlashTarget)?o.FlashTarget:[o.FlashTarget]});d();d();var L0=I(require("react")),cHe=I(Ce());var pHe=o=>{let n=o,{data:e}=n,t=ut(n,["data"]);return L0.default.createElement(cHe.Flex,S({flexDirection:"row"},t),L0.default.createElement(kd,{"data-value":"up-style",mr:1,flex:1,styleObject:o.data.UpChangeStyle},"Up ",o.data.UpChangeStyle?"":" - no style"),L0.default.createElement(kd,{"data-value":"down-style",mr:1,flex:1,styleObject:o.data.DownChangeStyle},"Down",o.data.DownChangeStyle?"":" - no style"),L0.default.createElement(kd,{"data-value":"neutral-style",flex:1,styleObject:o.data.NeutralChangeStyle},"Neutral ",o.data.NeutralChangeStyle?"":" - no style"))};var mHe=()=>({name:"Flash Styles",label:"Change Style",view:pHe});var Wz=class extends It{constructor(e){super(lv,d7,"lightning","FlashingAlert","Flash cells when they change",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{if(t.trigger!=="undo"){if(this.api.optionsApi.getAlertOptions().dataChangeDetectionPolicy==="formattedValue"){let{oldValue:n,newValue:r,rowNode:i}=t,a=t.column.columnId,s=this.api.gridApi.getDisplayValueFromRawValue(i,a,n),l=this.api.gridApi.getDisplayValueFromRawValue(i,a,r);if(s===l)return}this.handleCellDataChanged(t)}})}updateOldConfig(){this.updateFlashingCellSingleToMultiplePredicates()}updateFlashingCellSingleToMultiplePredicates(){this.api.flashingCellApi.getFlashingCellDefinitions().forEach(t=>{if(t.Rule&&"Predicate"in t.Rule){let n=zo(t);vI(n.Rule),this.api.flashingCellApi.editFlashingCellDefinition(n)}})}getModuleAdaptableObjects(e){return this.api.flashingCellApi.getFlashingCellDefinitions(e)}getExplicitlyReferencedColumnIds(e){let t=this.api.expressionApi.getAdaptableQueryExpression(e.Rule);return t?this.api.expressionApi.getColumnsFromExpression(t):this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(n=>n.columnId):[]}getReferencedNamedQueryNames(e){let t=this.api.expressionApi.getAdaptableQueryExpression(e.Rule);return t?this.api.queryApi.internalApi.getReferencedNamedQueryNames(t):[]}addColumnMenuItems(e){if(e&&this.isModuleEditable()&&!this.api.columnApi.isCalculatedColumn(e.columnId)){let n=this.api.flashingCellApi.getFlashingCellDefinitions().find(r=>this.api.scopeApi.isColumnInScope(e,r.Scope));return n?[this.createColumnMenuItemReduxAction("Remove Flashing Cell",this.moduleInfo.Glyph,dK(n))]:[this.createColumnMenuItemReduxAction("Add Flashing Cell",this.moduleInfo.Glyph,fv({Scope:{ColumnIds:[e.columnId]},Rule:{Predicates:[{PredicateId:"Any"}]}}))]}}addContextMenuItems(e){let t=[];if(!e.isRowGroupColumn&&this.isModuleAvailable()&&e.adaptableColumn&&e.rowNode){let n=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue),r=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue,e.adaptableColumn.columnId);n?(n.flashTarget==="row"||Array.isArray(n==null?void 0:n.flashTarget)&&n.flashTarget.includes("row"))&&t.push(this.createColumnMenuItemReduxAction("Clear Flashing Row",this.moduleInfo.Glyph,jD(n))):r&&r.flashTarget==="cell"&&t.push(this.createColumnMenuItemReduxAction("Clear Flashing Cell",this.moduleInfo.Glyph,jD(r)))}return t}handleCellDataChanged(e){let t=this.getFlashingCellDefinitionsForDataChange(e);pt.IsNotNullOrEmpty(t)&&this.showFlashingCellsForDefinitions(e,t)}showFlashingCellsForDefinitions(e,t=[]){let n=this.api.columnApi.getColumns().map(c=>c.columnId),r=e.column.dataType,i=r==="Number",a=i||r==="Date",s=!1,l=!1,u="neutral";if(a){let c=i?Number(e.newValue):e.newValue,p=i?Number(e.oldValue):e.oldValue;s=c>p,l=c<p,u=s?"up":l?"down":"neutral"}t.forEach(c=>{var C;let p=this.api.flashingCellApi.getFlashingCellFlashTarget(c),m={[e.column.columnId]:!0};(p==="row"||((C=p==null?void 0:p.includes)==null?void 0:C.call(p,"row")))&&n.forEach(y=>{m[y]=!0});let h=e.primaryKeyValue;this.api.flashingCellApi.showFlashingCell({rowPrimaryKey:h,flashingCellDefinition:c,cellDataChangedInfo:e,direction:u,flashTarget:p,flashColumnIds:m})})}isFlashingTargetOnlyAggChange(e){return e.FlashTarget==="aggFuncCell"?!0:Array.isArray(e.FlashTarget)&&e.FlashTarget.length===1&&e.FlashTarget.includes("aggFuncCell")}getFlashingCellDefinitionsForDataChange(e){let t=this.api.flashingCellApi.getActiveFlashingCellDefinitions(),n=!1,r=t.filter(a=>this.api.scopeApi.isColumnInScope(e.column,a.Scope)).filter(a=>!DE(a.Rule)),i=[];return pt.IsNotNullOrEmpty(r)&&r.forEach(a=>{if(!(e.trigger!=="aggChange"&&this.isFlashingTargetOnlyAggChange(a)))if(a.Rule.BooleanExpression){let s=a.Rule.BooleanExpression,l=e.rowNode;l||(l=this.api.gridApi.getRowNodeForPrimaryKey(e.primaryKeyValue)),this.api.expressionApi.isValidBooleanExpression(s,this.moduleInfo.ModuleName,`Invalid Alert boolean expression '${s}'`)&&this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(s,this.moduleInfo.ModuleName,l)&&i.push(a)}else this.isAlertPredicateTriggered(a,e,n)&&i.push(a)}),i}isAlertPredicateTriggered(e,t,n=!1){var i;let r={value:t.newValue,oldValue:t.oldValue,displayValue:null,node:t.rowNode,column:t.column,adaptableApi:this.api,userName:this.api.optionsApi.getUserName(),adaptableId:this.api.optionsApi.getAdaptableId()};return this.api.predicateApi.handleColumnPredicates((i=e.Rule)==null?void 0:i.Predicates,r,n)}getTeamSharingAction(){return{ModuleEntities:this.api.flashingCellApi.getFlashingCellDefinitions(),AddAction:fv,EditAction:gv}}toView(e){return{items:[T(S({},zc(e.Scope,this.api)),{label:"Trigger"}),T(S({},Tb(e.Rule,this.api)),{label:"Rule",name:"Rule"}),ZGe(e),dHe(e),mHe(),er(e,this.api)],abObject:e}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{getEditAction:gv,getSuspendAction:U1,getUnSuspendAction:W1,getSuspendAllAction:XCe,getUnSuspendAllAction:ZCe,getDeleteAction:dK,getEditWizard:()=>uHe}}canBeAssociatedWithLayouts(){return!0}};d();var zz=class extends It{constructor(e){let t=e.optionsApi.getSettingsPanelOptions().title;super(dv,t,"settings",null,"Manage all Adaptable Settings",e)}addColumnMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,En())]}addContextMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,En())]}addModuleMenuItem(e){if(this.isModuleAvailable())return this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,En())}};d();d();var _0=I(require("react"));var hHe=o=>{var l,u;let t=(l=pe().adaptableOptions)==null?void 0:l.chartingOptions,n=t==null?void 0:t.chartContainers,{isOpen:r,showChart:i,closeChart:a}=DW(o.data);if(r)return _0.createElement(ue,{"data-name":"close-chart-button",onClick:a,variant:"text",tone:"error",icon:"visibility-off",tooltip:"Hide Chart"});if(!(n!=null&&n.length))return _0.createElement(ue,{"data-name":"show-chart-button",onClick:()=>i(),variant:"text",tone:"success",icon:"visibility-on",tooltip:"Show Chart"});let s=[{label:(u=t.agGridContainerName)!=null?u:XS,onClick:()=>{i(null)}},...n?n==null?void 0:n.map(c=>({label:c.name,onClick:()=>i(c)})):[]];return _0.createElement(Qe,{"data-name":"show-chart-dropdown",variant:"text",columns:["label"],items:s},_0.createElement(ue,{variant:"raised",tone:"success"},"Open"))};d();var tp=I(require("react")),jz=I(Ce());d();var Tg=I(require("react"));var fHe=I(tE());var gHe=o=>{let e=_t(a=>W_(a.System)),[t,n]=Tg.useState(null),r=pe(),i=Tg.useRef(null);return Tg.useEffect(()=>{if(!i.current)return;let a=r.api.chartingApi.showChartDefinition(o.chartDefinition,i.current);return n(a.chartId),a.chart,()=>{a.destroyChart()}},[i]),Tg.useEffect(()=>{let a=e.find(s=>s.chartId==t);a&&!(0,fHe.default)(a,o.chartDefinition.Model)&&o.onChange(T(S({},o.chartDefinition),{Model:a}))},[e]),Tg.createElement("div",{ref:i})};d();var tu=I(require("react"));var CHe=(o,e)=>o.Name?e.chartingApi.getChartDefinitions().some(n=>n.Uuid!==o.Uuid&&n.Name===o.Name)?"There is already a chart with this name":!0:"Name is mandatory",yHe=o=>{let e=tu.useCallback(l=>{o.onChange(T(S({},o.chartDefinition),{Name:l.target.value,Model:o.chartDefinition.Model}))},[o.chartDefinition]),t=tu.useCallback(()=>{o.onChange(T(S({},o.chartDefinition),{Model:T(S({},o.chartDefinition.Model),{unlinkChart:!o.chartDefinition.Model.unlinkChart})}))},[o.chartDefinition]),n=tu.useCallback(()=>{o.onChange(T(S({},o.chartDefinition),{Model:T(S({},o.chartDefinition.Model),{suppressChartRanges:!o.chartDefinition.Model.suppressChartRanges})}))},[o.chartDefinition]),i=["sum","min","max","count","avg","first","last"].map(l=>({label:l,onClick:()=>{o.onChange(T(S({},o.chartDefinition),{Model:T(S({},o.chartDefinition.Model),{aggFunc:l})}))}})),a=o.chartDefinition.Model.aggFunc,s=tu.useCallback(()=>{o.onChange(T(S({},o.chartDefinition),{Model:T(S({},o.chartDefinition.Model),{aggFunc:""})}))},[o.chartDefinition]);return tu.createElement(Ke,null,tu.createElement(de,{label:"Name"},tu.createElement(oo,{onChange:e,value:o.chartDefinition.Name})),tu.createElement(de,{label:"Unlink Chart"},tu.createElement(Ne,{onClick:t,checked:o.chartDefinition.Model.unlinkChart})),tu.createElement(de,{label:"Suppress Chart Ranges"},tu.createElement(Ne,{onClick:n,checked:o.chartDefinition.Model.suppressChartRanges})),o.chartDefinition.Model.modelType==="range"&&typeof a!="function"&&tu.createElement(de,{label:"Agg Func"},tu.createElement(Qe,{columns:["label"],items:i,onClear:s},a||"Select ")))};var bHe=o=>{let e=pe(),[t,n]=tp.useState(()=>{var i,a;return(a=o.data)!=null?a:(i=o.popupParams)==null?void 0:i.value}),r=tp.useCallback(()=>{e.api.chartingApi.editChartDefinition(t),o.onFinishWizard(t)},[t]);return tp.createElement(rr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:r,sections:[{title:"Settings",details:"Chart Settings",isValid:CHe,render:()=>tp.createElement(jz.Box,{padding:2},tp.createElement(yHe,{chartDefinition:t,onChange:n}))},{details:"Select Chart Tags",title:"Tags",isVisible:()=>e.api.internalApi.shouldDisplayTagSections(),render:()=>tp.createElement(jz.Box,{padding:2},tp.createElement(Pr,{onChange:n})),renderSummary:Dr},"-",{title:"Preview Chart",details:"Chart Preview",render:()=>tp.createElement(jz.Box,{p:2},tp.createElement(gHe,{chartDefinition:t,onChange:n}))}]})};d();var k0=I(require("react"));var PI=I(Ce()),SHe=o=>{let t=pe().api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(hd),{chartSelector:n,containerSelector:r,chartButton:i,deleteButton:a,editButton:s}=OW({elementType:"Statusbar",accessLevel:t,size:"small"});return k0.createElement(PI.Flex,{width:"100%",alignItems:"center"},k0.createElement(PI.Box,null,n),r&&k0.createElement(PI.Box,{ml:1},r),k0.createElement(PI.Box,{ml:1},i,a,s))};var Kz=class extends It{constructor(e){super(hd,h7,"chart","ChartPopup","Create AG Grid Charts in order to see Adaptable Data visually",e)}updateOldConfig(){let t=this.getModuleAdaptableObjects().filter(n=>"model"in n||!("Name"in n)).map(n=>{let r=S({},n);return"model"in r&&(r.Model=n.model,delete r.model),"Name"in r||(r.Name=r.Model.chartId),r});t.length>0&&t.forEach(n=>this.api.chartingApi.editChartDefinition(n))}isModuleAvailable(){return this.api.chartingApi.isChartingEnabled()&&super.isModuleAvailable()}getModuleAdaptableObjects(){return this.api.chartingApi.getChartDefinitions()}toViewAll(){return this.getModuleAdaptableObjects().map(e=>this.toView(e))}toView(e){var t;return{items:[{name:"Name",values:[e.Name]},{name:"About",values:[`Chart Type: ${e.Model.chartType}`,e.Model.aggFunc&&`Aggregation Function: ${e.Model.aggFunc}`].filter(Boolean)},{name:"Settings",values:[`Unlink from data: ${e.Model.unlinkChart?"Yes":"No"}`,`Suppress Chart Ranges: ${e.Model.suppressChartRanges?"Yes":"No"}`]},{name:"Range",values:[`Row start index: ${e.Model.cellRange.rowStartIndex}`,`Row end index: ${e.Model.cellRange.rowEndIndex}`,e.Model.cellRange.columnStart&&`Column start: ${typeof e.Model.cellRange.columnStart=="string"?e.Model.cellRange.columnStart:e.Model.cellRange.columnStart.getColId()}`,e.Model.cellRange.columnEnd&&`Column start: ${typeof e.Model.cellRange.columnEnd=="string"?e.Model.cellRange.columnEnd:e.Model.cellRange.columnEnd.getColId()}`,((t=e.Model.cellRange.columns)==null?void 0:t.length)&&`Columns ${e.Model.cellRange.columns.map(n=>typeof n=="string"?n:n.getColId()).join(", ")}`].filter(Boolean)},er(e,this.api)].filter(Boolean),abObject:e}}getViewProperties(){return{actions:[hHe],getEditWizard:()=>bHe,hideNewButton:!0,getDeleteAction:e=>CV(e.Name),emptyView:'To create a chart select a few cells and right click. Then select "Chart Range" from the context menu.',getStatusBarPanelProps:()=>({content:SHe,triggerActionOnWrapperClick:!1})}}};d();var Qz=class extends It{constructor(t){super(uv,w7,"comment","CommentsPopup","Comments",t);this.adaptable=t.internalApi.getAdaptableInstance(),this.adaptable.api.eventApi.on("AdaptableReady",()=>this.handleAdaptableReady())}isModuleAvailable(){return!1}handleAdaptableReady(){!this.isModuleAvailable()||(this.adaptable._on("MouseEnter",t=>this.handleMouseEnter(t)),this.api.eventApi.on("SelectionChanged",t=>{let n=t.selectedCellInfo.gridCells;if((n==null?void 0:n.length)===1){let r=n[0],i={PrimaryKeyValue:r.primaryKeyValue,ColumnId:r.column.columnId};this.handleCellSelected(i)}}))}addContextMenuItems(t){var i,a;if(!this.isModuleAvailable())return;let n=[],r=(a=(i=this.adaptable.api.optionsApi)==null?void 0:i.getCommentOptions())==null?void 0:a.isCellCommentable;return(!r||r({adaptableApi:this.adaptable.api,primaryKeyValue:t.primaryKeyValue,columnId:t.adaptableColumn.columnId,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.adaptableOptions.adaptableId}))&&n.push(...this.getAddRemoveCommentMenuItems(t)),n}getAddRemoveCommentMenuItems(t){var i;let n=[],[r]=(i=this.adaptable.api.commentsApi.getCellComments({PrimaryKeyValue:t.primaryKeyValue,ColumnId:t.adaptableColumn.columnId}))!=null?i:[];return r?n.push(this.createColumnMenuItemClickFunction("Remove Comment",this.moduleInfo.Glyph,()=>{this.api.commentsApi.deleteComment(r)})):n.push(this.createColumnMenuItemClickFunction("Add Comment",this.moduleInfo.Glyph,()=>{this.api.commentsApi.addComment("",t.primaryKeyValue,t.adaptableColumn.columnId),this.api.commentsApi.showComment({PrimaryKeyValue:t.primaryKeyValue,ColumnId:t.adaptableColumn.columnId},!0)})),n}getCellPositionFromEvent(t){var r,i;let n=t.target;if(!((i=(r=n==null?void 0:n.classList)==null?void 0:r.contains)!=null&&i.call(r,"ag-cell")))return null;try{return{PrimaryKeyValue:n.parentElement.getAttribute("row-id"),ColumnId:n.getAttribute("col-id")}}catch(a){return null}}handleMouseEnter(t){var a;if(this.adaptable.api.commentsApi.getCommentPopupEditMode())return;let r=this.getCellPositionFromEvent(t),i=this.adaptable.api.commentsApi.getOpenCommentGridCell();!r&&i?this.adaptable.api.commentsApi.hideComment():(a=this.adaptable.api.commentsApi.getCellComments(r))!=null&&a.length&&this.adaptable.api.commentsApi.showComment(r,!1)}handleCellSelected(t){let n=this.adaptable.api.commentsApi.getOpenCommentGridCell();if((n==null?void 0:n.PrimaryKeyValue)===t.PrimaryKeyValue&&(n==null?void 0:n.ColumnId)===t.ColumnId)return;let r=this.adaptable.api.commentsApi.getCellComments(t);if(n&&!(r!=null&&r.length)){this.adaptable.api.commentsApi.getCommentPopupEditMode()&&this.adaptable.api.commentsApi.hideComment();return}if(n&&(r==null?void 0:r.length)){this.adaptable.api.commentsApi.showComment(t,!0);return}}};d();var vHe=I(nE()),AHe=(o,e,t)=>{if(!!o.PercentBarStyle)return class{init(r){var C,y;let i=t.styledColumnApi.internalApi.getNumericStyleMinValue(o,e,r.node,r.value),a=t.styledColumnApi.internalApi.getNumericStyleMaxValue(o,e,r.node,r.value),s=r.value;if(yn.objectNotExists(s)&&(s=0),!o.IncludeGroupedRows&&t.gridApi.isGroupRowNode(r.node)){r.value&&(this.eGui=document.createElement("div"),this.eGui.append(r.value));return}let u=((0,vHe.default)(s,i,a)-i)/(a-i)*100,c,p=o.PercentBarStyle;if(p.ColumnComparison)c=p.ColumnComparison.Color;else{let v=t.styledColumnApi.internalApi.findRangeForColumn(p.CellRanges,e,p.RangeValueType,r.value);v&&(c=v.Color)}let m=p.CellText&&p.CellText.length>0,h=p.CellTextPosition==="Merged";if(c){this.eGui=document.createElement("div"),this.eGui.className="ab-PercentBar__wrapper",this.eGui.style.height=m&&!h?"80%":"100%",this.eGui.style.display="flex",this.eGui.style.flexDirection="column",this.eGui.style.justifyContent="center";let v=document.createElement("div");v.className="ab-PercentBar__bar",v.style.position="relative",v.style.background=p.BackColor,v.style.flex="1";let x=document.createElement("div");if(x.className="ab-PercentBar__barInside",x.style.background=c,x.style.height="100%",x.style.width=`${u.toFixed(0)}%`,v.append(x),this.eGui.append(v),m){let A=document.createElement("div");switch(A.className="ab-PercentBar__text",A.style.lineHeight="1.2",p.CellText.includes("CellValue")&&(A.innerText=(y=(C=r.formatValue)==null?void 0:C.call(r,r.value))!=null?y:r.value),p.CellText.includes("PercentageValue")&&(A.innerText+=` (${u.toFixed(0)}%)`),p.CellTextPosition){case"Above":this.eGui.prepend(A);break;case"Below":this.eGui.append(A);break;case"Merged":A.style.position="absolute",A.style.top="50%",A.style.transform="translateY(-50%)",A.style.left="0",A.style.right="0",A.style.paddingLeft="5px",A.style.paddingRight="5px",v.append(A);break;default:this.eGui.append(A);break}}}}getGui(){return this.eGui}refresh(r){return!1}}};d();d();var Dte=I(require("react"));var DI=o=>{let{iconPosition:e="start",icon:t}=o,n=e.toLowerCase(),r=t&&Dte.createElement(Ma,{icon:t}),i=U2(o.adaptableStyle);return Dte.createElement("div",{className:"ab-Badge",style:i},n==="start"&&r,o.children,n==="end"&&r)};var xHe=(o,e,t)=>{if(!!o.BadgeStyle)return class{getAdaptableInstance(r){return r.api.__adaptable}init(r){var h,C,y,v;let i=this.getAdaptableInstance(r),a=i.api;this.eGui=document.createElement("div"),this.eGui.className="ab-Badge__wrapper";let s=(y=(C=(h=r.formatValue)==null?void 0:h.call(r,r.value))!=null?C:r.value)!=null?y:"",l={value:r.value,oldValue:null,displayValue:r.formatValue,node:r.node,column:e,adaptableApi:a,userName:a.optionsApi.getUserName(),adaptableId:a.optionsApi.getAdaptableId()},u=t.styledColumnApi.internalApi.getApplicableBadge(o,l),c=r.node.group;if(Boolean(o.IncludeGroupedRows)===!1&&c||(s===""||s===null||s===void 0)||!u){this.eGui.innerHTML=s;return}this.unmountReactRoot=t.internalApi.getAdaptableInstance().renderReactRoot(Oi(DI({adaptableStyle:u.Style,children:s,icon:u.Icon,iconPosition:(v=u.IconPosition)!=null?v:"start"}),i),this.eGui)}getGui(){return this.eGui}destroy(){var r;(r=this.unmountReactRoot)==null||r.call(this)}refresh(r){return!1}}};d();var $z=class extends It{constructor(e){super(Uf,W7,"statusbar","StatusBarPopup","Configure AdapTable Status Bar",e)}syncStateWithOptions(e){let t=this.api.statusBarApi.getAdaptableStatusBars(),n=e.map(r=>{let i=t.find(a=>a.Key===r.key);return i||(i={Key:r.key,StatusBarPanels:[]}),i});this.api.statusBarApi.setStatusBarPanels(n)}isModuleAvailable(){return super.isModuleAvailable()&&this.api.statusBarApi.getAgGridStatusPanels().length>0}};d();d();var $s=I(require("react")),QHe=require("react"),_b=I(Ce());d();var Am=I(require("react")),qz=I(Ce());var RHe=o=>{let e=null;return o.GradientStyle?e="Gradient Column":o.PercentBarStyle?e="Percent Bar":o.CheckBoxStyle?e="Check Box":o.SparkLineStyle?e="Spark Line":o.BadgeStyle&&(e="Badge"),Am.createElement(qz.Text,{pr:2,py:2},"Type ",Am.createElement(rt,null,e))},EHe=o=>{let{data:e}=ke(),t=pe(),n=r=>{let i=S({},e);switch(delete i.GradientStyle,delete i.PercentBarStyle,delete i.CheckBoxStyle,delete i.SparkLineStyle,delete i.BadgeStyle,r){case"gradient":i.GradientStyle={};break;case"percent":i.PercentBarStyle={};break;case"checkbox":i.CheckBoxStyle=!0;break;case"sparkline":i.SparkLineStyle={options:{type:"line"}};break;case"badge":i.BadgeStyle={Badges:[it.CreateDefaultStyledColumnBadge()]};break}i.ColumnId=null,o.onChange(i)};return Am.createElement(qz.Flex,{height:"100%",flexDirection:"column","data-name":"styled-column-type"},Am.createElement(J,{autoFocus:!1,padding:2},Am.createElement(J.Tab,null,"Type"),Am.createElement(J.Content,null,Am.createElement(Wh,{text:"Gradient",description:"Colour each cell in the column using a gradient value (Numeric Columns)",checked:Boolean(e.GradientStyle),onClick:()=>n("gradient")}),Am.createElement(Wh,{text:"Percent Bar",description:"Display a coloured bar where the width is based on the cell (Numeric Columns)",checked:Boolean(e.PercentBarStyle),onClick:()=>n("percent")}),t.api.styledColumnApi.canDisplaySparklines()&&Am.createElement(Wh,{text:"Sparkline",description:"Render the column as a Sparkline (Numeric Array Columns)",checked:Boolean(e.SparkLineStyle),onClick:()=>n("sparkline")}),Am.createElement(Wh,{text:"Badge",description:"Display the column's values as Badges (All Columns)",checked:Boolean(e.BadgeStyle),onClick:()=>n("badge")}))))};d();var Ig=I(require("react")),wHe=I(Ce());var THe=o=>{let{api:e}=ke();return Ig.createElement(wHe.Text,{pr:2,py:2},"Styled Column column:"," ",Ig.createElement(rt,null,o.ColumnId?e.columnApi.getFriendlyNameForColumnId(o.ColumnId):"No Column Selected"))},IHe=o=>o.ColumnId?!0:"You have to select a Column for Styled Column",PHe=o=>{let{data:e,api:t}=ke(),n=Ig.useMemo(()=>{let i=[];e.CheckBoxStyle?i=t.columnApi.getBooleanColumns():e.SparkLineStyle?i=t.columnApi.getNumericArrayColumns():e.BadgeStyle?i=[...t.columnApi.getNumericColumns(),...t.columnApi.getStringColumns()]:i=t.columnApi.getNumericColumns();let s=t.styledColumnApi.getStyledColumns().map(l=>l.Uuid===e.Uuid?null:l.ColumnId).filter(Boolean);return i.filter(l=>s.every(u=>l.columnId!==u))},[e]),r=i=>{let a=i[0],s=t.scopeApi.createCellColorRangesForScope({ColumnIds:[a]}),l=T(S({},e),{ColumnId:a});l.PercentBarStyle&&(l.PercentBarStyle=T(S({},l.PercentBarStyle),{CellRanges:s})),l.GradientStyle&&(l.GradientStyle=T(S({},l.GradientStyle),{CellRanges:s})),o.onChange(l)};return Ig.createElement(J,{style:{height:"100%"}},Ig.createElement(J.Tab,null,"Column"),Ig.createElement(J.Content,null,Ig.createElement(_A,{availableColumns:n,selected:e.ColumnId?[e.ColumnId]:[],singleSelect:!0,onChange:r,allowReorder:!1})))};d();d();var _o=I(require("react")),Nb=I(Ce());d();var vo=I(require("react")),xm=I(Ce());var Ote=I(nE());d();var Pg=I(require("react"));var B0=o=>{let[e,t]=Pg.useState(()=>{var i;return(i=o.value)!=null?i:""}),n=Pg.useCallback(i=>{let{value:a}=i.target,s=Number(a);a==="-"||a===""?(s=a,t(a)):isNaN(s)||(t(a),o.onChange(s))},[]);Pg.useEffect(()=>{t(o.value)},[o.value]);let r=Pg.useCallback(i=>{var a;(a=o==null?void 0:o.onBlur)==null||a.call(o,i),e!==o.value&&t(o.value)},[o.value,e]);return Pg.createElement(mt,T(S({},o),{value:e,onBlur:r,onChange:n}))};var V0=class extends vo.Component{constructor(e){super(e),this.state={rangesType:this.props.columnComparison?"ColumnComparison":"Standard"}}render(){var s,l;let e=this.props.columnComparison!=null&&this.props.columnComparison.MinValue!=null&&!isNaN(Number(this.props.columnComparison.MinValue))?Number(this.props.columnComparison.MinValue):"",t=this.props.columnComparison!=null&&this.props.columnComparison.MaxValue!=null&&!isNaN(Number(this.props.columnComparison.MaxValue))?Number(this.props.columnComparison.MaxValue):"",n=this.props.columnComparison!=null&&this.props.columnComparison.MinValue!=null&&isNaN(Number(this.props.columnComparison.MinValue))?String(this.props.columnComparison.MinValue):void 0,r=this.props.columnComparison!=null&&this.props.columnComparison.MaxValue!=null&&isNaN(Number(this.props.columnComparison.MaxValue))?String(this.props.columnComparison.MaxValue):void 0,i=this.props.columnComparison!=null&&this.props.columnComparison.Color!=null?this.props.columnComparison.Color:void 0,a=((s=this.props.rangeValueType)!=null?s:"Number")==="Number";return vo.createElement(vo.Fragment,null,vo.createElement(xm.Flex,{flexDirection:"row"},vo.createElement(Ne,{marginTop:3,checked:this.state.rangesType=="ColumnComparison",onChange:u=>this.onRangesTypeChanged(u)},"Use a Column Comparison")),this.state.rangesType=="Standard"&&vo.createElement(J,{autoFocus:!1,marginTop:2},vo.createElement(J.Tab,null,"Ranges"),vo.createElement(J.Content,null,vo.createElement(xm.Flex,{alignItems:"center",mb:2},vo.createElement(xm.Text,{mr:3},"Range Type"),vo.createElement(Xe,{onChange:()=>this.handleRangeValueTypeChange("Number"),checked:a,mr:2},"Number"),vo.createElement(Xe,{onChange:()=>this.handleRangeValueTypeChange("Percentage"),checked:!a},"Percentage")),(l=this.props.ranges)==null?void 0:l.map((u,c,p)=>vo.createElement(xm.Flex,{key:c,alignItems:"end",mb:2,"data-name":"percent-bar-range"},vo.createElement(xm.Flex,{flexDirection:"column"},a&&c===0&&vo.createElement(Ne,{onClick:()=>this.setRangeColMin(u),checked:u.Min==="Col-Min",mt:0,mb:1,fontSize:3,disabled:this.props.disabled},"Col Min"),vo.createElement(B0,{disabled:this.props.disabled||u.Min==="Col-Min"||c===0&&!a,value:u.Min,onChange:m=>{this.changeRangeMin(c,m)},mr:2})),vo.createElement(xm.Flex,{flexDirection:"column"},a&&c===p.length-1&&vo.createElement(Ne,{mt:0,mb:1,onClick:()=>this.setRangeColMax(u),checked:u.Max==="Col-Max",fontSize:3,disabled:this.props.disabled},"Col Max"),vo.createElement(B0,{value:u.Max,disabled:this.props.disabled||u.Max==="Col-Max"||c===p.length-1&&!a,onChange:m=>{this.changeRangeMax(c,m)},mr:2})),vo.createElement(xm.Flex,{alignItems:"center",height:"100%"},vo.createElement(Di,{api:this.props.api,value:u.Color,onChange:m=>{this.changeRangeColor(c,m)},mr:2,height:33})),this.props.showRangeDirection&&vo.createElement(Ne,{disabled:this.props.disabled,checked:u.ReverseGradient&&u.ReverseGradient==!0,onChange:m=>this.changeRangeDirectionUp(c,m),ml:2},"Reverse Gradient"),vo.createElement(ue,{ml:2,mb:1,icon:"delete",disabled:this.props.disabled||this.props.ranges&&this.props.ranges.length==1,onClick:()=>this.removeRange(c)}))),vo.createElement("div",null,vo.createElement(ue,{disabled:this.props.disabled,variant:"raised","data-name":"add",onClick:()=>this.addRange()},"Add New Range")))),this.state.rangesType=="ColumnComparison"&&vo.createElement(J,{autoFocus:!1,marginTop:2},vo.createElement(J.Tab,null,"Column Comparison"),vo.createElement(J.Content,null,vo.createElement(xm.Flex,{flexDirection:"column",key:"cc","data-name":"percent-bar-column-comparison"},vo.createElement(xm.Text,{padding:2,fontSize:2},"Create Minimum and Maximum Values by providing a value or selecting another Column, and choose a"," ",this.props.api.internalApi.getCorrectEnglishVariant("Colour")," for the Bar."),vo.createElement(Ke,{columns:["label","first","or","second"],sizes:["auto","auto","auto","1fr"]},vo.createElement(de,{label:"Min Value:",first:vo.createElement(B0,{disabled:this.props.disabled,type:"number",value:e,onChange:u=>{this.changeColumnComparisonMinValue(u)}}),or:"OR",second:vo.createElement(zA,{disabled:this.props.disabled,style:{maxWidth:"15rem"},SelectedColumnIds:[n],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:u=>this.onMinColumnSelectedChanged(u),SelectionMode:"Single"})})," ",vo.createElement(de,{label:"Max Value:",first:vo.createElement(B0,{disabled:this.props.disabled,type:"number",value:t,onChange:u=>{this.changeColumnComparisonMaxValue(u)}}),or:"OR",second:vo.createElement(zA,{disabled:this.props.disabled,style:{maxWidth:"15rem"},SelectedColumnIds:[r],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:u=>this.onMaxColumnSelectedChanged(u),SelectionMode:"Single"})}),vo.createElement(de,{label:`Bar ${this.props.api.internalApi.getCorrectEnglishVariant("Colour")}`,first:vo.createElement(Di,{disabled:this.props.disabled,api:this.props.api,value:i,onChange:u=>{this.changeColumnComparisonColor(u)}})}))))))}onRangesTypeChanged(e){if(e){let t={Color:Ro(aE),MinValue:void 0,MaxValue:void 0};this.setState({rangesType:"ColumnComparison"}),this.props.updateColumnComparison(t)}else{let t=this.props.api.scopeApi.createCellColorRangesForScope(this.props.scope);this.setState({rangesType:"Standard"}),this.props.updateRanges(t)}}handleRangeValueTypeChange(e){this.props.onRangeValueTypeChange(e)}changeRangeMin(e,t){let{ranges:n}=this.props,r=Number(t);this.props.rangeValueType==="Percentage"&&(r=(0,Ote.default)(r,0,100)),n[e].Min=r,n[e-1]&&(n[e-1].Max=r),this.props.updateRanges(n)}changeRangeMax(e,t){let{ranges:n}=this.props,r=Number(t);this.props.rangeValueType==="Percentage"&&(r=(0,Ote.default)(r,0,100)),n[e].Max=r,n[e+1]&&(n[e+1].Min=r),this.props.updateRanges(n)}changeRangeColor(e,t){let{ranges:n}=this.props;n[e].Color=t,this.props.updateRanges(n)}changeRangeDirectionUp(e,t){let{ranges:n}=this.props;n[e].ReverseGradient=t,this.props.updateRanges(n)}removeRange(e){let t=[...this.props.ranges];t.splice(e,1),this.props.rangeValueType==="Percentage"&&t.length===1&&(t[0]=T(S({},t[0]),{Max:100})),this.props.updateRanges(t)}setRangeColMin(e){let t=this.props.ranges.map(n=>{if(n===e){let r=n.Min==="Col-Min"?this.props.minMaxRangeValues.min:"Col-Min";return T(S({},n),{Min:r})}return n});this.props.updateRanges(t)}setRangeColMax(e){let t=this.props.ranges.map(n=>{if(n===e){let r=n.Max==="Col-Max"?this.props.minMaxRangeValues.max:"Col-Max";return T(S({},n),{Max:r})}return n});this.props.updateRanges(t)}addRange(){let e=this.props.ranges[this.props.ranges.length-1],t=e,n=null;e.Max==="Col-Max"?(n=this.props.minMaxRangeValues.max,t=T(S({},t),{Max:this.props.minMaxRangeValues.max})):n=e.Max;let r={Min:n,Max:e.Max,Color:Ro(Mp)},i=[...this.props.ranges.slice(0,-1),t,r];this.props.updateRanges(i)}changeColumnComparisonMinValue(e){let{columnComparison:t}=this.props;t.MinValue=e,this.props.updateColumnComparison(t)}onMinColumnSelectedChanged(e){let{columnComparison:t}=this.props;t.MinValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(t)}changeColumnComparisonMaxValue(e){let{columnComparison:t}=this.props;t.MaxValue=e,this.props.updateColumnComparison(t)}onMaxColumnSelectedChanged(e){let{columnComparison:t}=this.props;t.MaxValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(t)}changeColumnComparisonColor(e){let{columnComparison:t}=this.props;t.Color=e,this.props.updateColumnComparison(t)}};d();var Xz=I(require("react")),Zz=I(Ce());d();var G0=I(require("react")),OI=I(Ce()),DHe=o=>{let e="";return o&&o.includes("CellValue")&&(e+="20"),o&&o.includes("PercentageValue")&&(e+=" (50%)"),e.trim()},Yz=o=>{let e=DHe(o.cellText),t=DHe(o.toolTipText);return G0.createElement(OI.Box,{title:t,flex:1},G0.createElement(OI.Flex,{height:e?8:18,backgroundColor:o.backgroundColor,flex:1},G0.createElement(OI.Box,{flexBasis:"50%",style:{background:o.barBackgroundColor}})),e&&G0.createElement(OI.Box,{fontSize:3},e))};var OHe=o=>{let{api:e}=pe(),t=o.percentBarStyle.ColumnComparison;return Xz.createElement(Zz.Flex,{alignItems:"center",mr:3},Xz.createElement(Zz.Box,{flexBasis:120,mr:3},isNaN(Number(t.MinValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(t.MinValue))+"]":t.MinValue," ","to"," ",isNaN(Number(t.MaxValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(t.MaxValue))+"]":t.MaxValue," "),Xz.createElement(Yz,{backgroundColor:t.Color,barBackgroundColor:o.percentBarStyle.BackColor,cellText:o.percentBarStyle.CellText,toolTipText:o.percentBarStyle.ToolTipText}))};d();var Sx=I(require("react")),Fte=I(Ce());var FHe=o=>{let e="";return o.percentBarStyle.RangeValueType==="Percentage"&&(e="%"),Sx.createElement(Sx.Fragment,null,o.percentBarStyle.CellRanges.map((t,n)=>Sx.createElement(Fte.Flex,{key:n,alignItems:"stretch",mr:3,mb:2},Sx.createElement(Fte.Flex,{flexBasis:120,alignItems:"center",mr:3},t.Min,e," to ",t.Max,e," "),Sx.createElement(Yz,{backgroundColor:o.percentBarStyle.BackColor,barBackgroundColor:t.Color,cellText:o.percentBarStyle.CellText,toolTipText:o.percentBarStyle.ToolTipText}))))};var SNt=(o,e)=>{let t="";return e==="Percentage"&&(t="%"),o.map((n,r)=>_o.createElement(Nb.Flex,{key:r,alignItems:"center",mr:3},_o.createElement(Nb.Box,{mr:1},n.Min,t," to ",n.Max,t," "),_o.createElement(GA,{Style:{BackColor:n.Color,ForeColor:n.Color}})))},vNt=(o,e)=>_o.createElement(Nb.Flex,{key:"cc",alignItems:"center",mr:3},_o.createElement(Nb.Box,{mr:1},"Min Value:"," ",isNaN(Number(o.MinValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(o.MinValue))+"]":o.MinValue," ",", Max Value:"," ",isNaN(Number(o.MaxValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(o.MaxValue))+"]":o.MaxValue," "),_o.createElement(GA,{Style:{BackColor:o.Color,ForeColor:o.Color}})),Jz=(o,e)=>{if(o.CheckBoxStyle)return _o.createElement(rt,null,"Checkbox Style");if(o.GradientStyle){if(o.GradientStyle.CellRanges)return SNt(o.GradientStyle.CellRanges,o.GradientStyle.RangeValueType);if(o.GradientStyle.ColumnComparison)return vNt(o.GradientStyle.ColumnComparison,e)}if(o.PercentBarStyle){if(o.PercentBarStyle.ColumnComparison)return _o.createElement(OHe,{percentBarStyle:o.PercentBarStyle});if(o.PercentBarStyle.CellRanges)return _o.createElement(FHe,{percentBarStyle:o.PercentBarStyle})}return _o.createElement(rt,null,"No Styling Defined")},MHe=o=>{var A,R,w,P,D,F,M,O,_,H,j,B,V,$,K,Z,oe,X,xe;let{data:e,api:t}=ke(),n=_o.useMemo(()=>{let se=e.ColumnId;if(!se)return null;let ie=t.columnApi.getColumnWithColumnId(se);return{min:t.styledColumnApi.internalApi.getMinValueForNumericColumn(ie),max:t.styledColumnApi.internalApi.getMaxValueForNumericColumn(ie)}},[e]),r={ColumnIds:[e.ColumnId]},i=se=>{let ie=T(S({},e.GradientStyle),{CellRanges:se});o.onChange(T(S({},e),{GradientStyle:ie}))},a=se=>{let ie={ColumnComparison:se};o.onChange(T(S({},e),{GradientStyle:ie}))},s=se=>{let ie=T(S({},e.PercentBarStyle),{ColumnComparison:se});o.onChange(T(S({},e),{PercentBarStyle:ie}))},l=se=>{let ie=T(S({},e.PercentBarStyle),{CellRanges:se});o.onChange(T(S({},e),{PercentBarStyle:ie}))},u=se=>{let ie=e==null?void 0:e.PercentBarStyle;se?ie.CellText?ie.CellText.push("CellValue"):ie.CellText=["CellValue"]:ie.CellText&&ie.CellText.includes("PercentageValue")?ie.CellText=["PercentageValue"]:ie.CellText=[],o.onChange(T(S({},e),{PercentBarStyle:ie}))},c=se=>{let ie=e==null?void 0:e.PercentBarStyle;se?ie.CellText?ie.CellText.push("PercentageValue"):ie.CellText=["PercentageValue"]:ie.CellText&&ie.CellText.includes("CellValue")?ie.CellText=["CellValue"]:ie.CellText=[],o.onChange(T(S({},e),{PercentBarStyle:ie}))},p=se=>{o.onChange(T(S({},e),{PercentBarStyle:T(S({},e.PercentBarStyle),{CellTextPosition:se})}))},m=se=>{let ie=e==null?void 0:e.PercentBarStyle;se?ie.ToolTipText?ie.ToolTipText.push("CellValue"):ie.ToolTipText=["CellValue"]:ie.ToolTipText&&ie.ToolTipText.includes("PercentageValue")?ie.ToolTipText=["PercentageValue"]:ie.ToolTipText=[],o.onChange(T(S({},e),{PercentBarStyle:ie}))},h=se=>{let ie=e.PercentBarStyle;se?ie.ToolTipText?ie.ToolTipText.push("PercentageValue"):ie.ToolTipText=["PercentageValue"]:ie.ToolTipText&&ie.ToolTipText.includes("CellValue")?ie.ToolTipText=["CellValue"]:ie.ToolTipText=[],o.onChange(T(S({},e),{PercentBarStyle:ie}))},C=se=>{let ie=e==null?void 0:e.PercentBarStyle;ie.BackColor=se?Ro(Mp):null,o.onChange(T(S({},e),{PercentBarStyle:ie}))},y=se=>{let ie=e.PercentBarStyle;ie.BackColor=se,o.onChange(T(S({},e),{PercentBarStyle:ie}))},v=_o.useCallback(se=>{let ie=se==="Number"?t.scopeApi.createCellColorRangesForScope(r):[{Min:0,Max:100,Color:Ro(Mp)}],he=e,De={CellRanges:ie,RangeValueType:se};"GradientStyle"in he?he=T(S({},he),{GradientStyle:S(S({},he.GradientStyle),De)}):he=T(S({},he),{PercentBarStyle:S(S({},he.PercentBarStyle),De)}),o.onChange(he)},[e]),x=!e.ColumnId;return _o.createElement(Nb.Box,null,e.CheckBoxStyle&&_o.createElement(J,null,_o.createElement(J.Tab,null,"Check Box Column"),_o.createElement(J.Content,null,_o.createElement(Ne,{marginLeft:2,readOnly:!0,checked:!0},"Display Column As CheckBox"))),(e==null?void 0:e.GradientStyle)&&_o.createElement(V0,{disabled:!e.ColumnId,minMaxRangeValues:n,api:t,scope:r,showRangeDirection:!0,ranges:(A=e.GradientStyle)==null?void 0:A.CellRanges,rangeValueType:(R=e.GradientStyle)==null?void 0:R.RangeValueType,onRangeValueTypeChange:v,columnComparison:(w=e==null?void 0:e.GradientStyle)==null?void 0:w.ColumnComparison,updateRanges:se=>i(se),updateColumnComparison:se=>a(se)}),e.PercentBarStyle&&_o.createElement(_o.Fragment,null,_o.createElement(V0,{disabled:x,minMaxRangeValues:n,api:t,scope:r,showRangeDirection:!1,ranges:(P=e.PercentBarStyle)==null?void 0:P.CellRanges,rangeValueType:(D=e.PercentBarStyle)==null?void 0:D.RangeValueType,onRangeValueTypeChange:v,columnComparison:(F=e==null?void 0:e.PercentBarStyle)==null?void 0:F.ColumnComparison,updateRanges:se=>l(se),updateColumnComparison:se=>s(se)}),_o.createElement(Ke,{marginLeft:2,marginTop:2},_o.createElement(de,{label:"Cell Display:"},_o.createElement(Ne,{disabled:x,marginLeft:2,checked:(O=(M=e.PercentBarStyle)==null?void 0:M.CellText)==null?void 0:O.includes("CellValue"),onChange:se=>u(se)},"Cell Value")," ",_o.createElement(Ne,{disabled:x,marginLeft:3,checked:(H=(_=e==null?void 0:e.PercentBarStyle)==null?void 0:_.CellText)==null?void 0:H.includes("PercentageValue"),onChange:se=>c(se)},"Percent Value"," ")," "),_o.createElement(de,{label:"Cell Display Position:"},_o.createElement(Qe,{disabled:We.IsNullOrEmpty(e.PercentBarStyle.CellText)||x,columns:["label"],items:[{label:"Above Bar",onClick:()=>p("Above")},{label:"Below Bar",onClick:()=>p("Below")},{label:"Merged",onClick:()=>p("Merged")}]},(B=(j=e.PercentBarStyle)==null?void 0:j.CellTextPosition)!=null?B:"Below")),_o.createElement(de,{label:"ToolTip Display:"},_o.createElement(Ne,{disabled:x,marginLeft:2,checked:($=(V=e==null?void 0:e.PercentBarStyle)==null?void 0:V.ToolTipText)==null?void 0:$.includes("CellValue"),onChange:se=>m(se)},"Cell Value")," ",_o.createElement(Ne,{disabled:x,marginLeft:3,checked:(Z=(K=e==null?void 0:e.PercentBarStyle)==null?void 0:K.ToolTipText)==null?void 0:Z.includes("PercentageValue"),onChange:se=>h(se)},"Percent Value"," ")," "),_o.createElement(de,{label:`Back ${t.internalApi.getCorrectEnglishVariant("Colour")}`},_o.createElement(Nb.Flex,{alignItems:"center",marginLeft:2},_o.createElement(Ne,{disabled:x,checked:!!((oe=e.PercentBarStyle)!=null&&oe.BackColor),onChange:se=>C(se),mr:2}),((X=e.PercentBarStyle)==null?void 0:X.BackColor)!==void 0&&_o.createElement(Di,{disabled:x,api:t,value:(xe=e.PercentBarStyle)==null?void 0:xe.BackColor,onChange:se=>y(se)}))))),!e.ColumnId&&_o.createElement(_s,{mt:2},"You need to select a column before styling."))};d();var op=I(require("react")),vx=I(Ce());var NHe=o=>op.createElement(vx.Box,{padding:2},op.createElement(vx.Text,{mt:3},"Include grouped rows ",op.createElement(rt,null,o.IncludeGroupedRows?"yes":"no"))),LHe=o=>{let{data:e,api:t}=ke(),n=r=>{o.onChange(T(S({},e),{IncludeGroupedRows:r}))};return op.createElement(J,null,op.createElement(J.Tab,null,"Settings"),op.createElement(J.Content,null,op.createElement(vx.Flex,{flexDirection:"row"},op.createElement(Ke,null,op.createElement(de,{label:"Include Grouped Rows:"},op.createElement(vx.Flex,{alignItems:"center",marginLeft:2},op.createElement(Ne,{"data-name":"include-grouped-rows-checkbox",checked:e.IncludeGroupedRows,onChange:n,mr:2})))))))};d();var Me=I(require("react")),Ax=I(Ce());d();function Mte(o,e,t){var n;return e.length===1?T(S({},o),{[e[0]]:t}):T(S({},o),{[e[0]]:Mte((n=o==null?void 0:o[e[0]])!=null?n:{},e.slice(1),t)})}var ANt=o=>{var r,i,a,s,l,u,c,p,m,h,C,y,v,x,A,R,w,P,D,F,M,O,_,H,j,B,V,$,K,Z,oe,X;let{data:e,api:t}=ke(),n=Me.useMemo(()=>[{label:"Number",value:"number",onClick:()=>o.onOptionChange(["axis","type"],"number")},{label:"Category",value:"category",onClick:()=>o.onOptionChange(["axis","type"],"category")},{label:"Time",value:"time",onClick:()=>o.onOptionChange(["axis","type"],"time")}],[e]);return Me.createElement(J,{mb:2},Me.createElement(J.Tab,null,"Padding"),Me.createElement(J.Tab,null,"Axis"),Me.createElement(J.Tab,null,"Highlight Style"),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Top"},Me.createElement(mt,{onChange:xe=>{var se;return o.onOptionChange(["padding","top"],(se=xe.target.value)!=null?se:0)},type:"number",value:(i=(r=e.SparkLineStyle.options)==null?void 0:r.padding)==null?void 0:i.top})),Me.createElement(de,{label:"Bottom"},Me.createElement(mt,{onChange:xe=>{var se;return o.onOptionChange(["padding","bottom"],(se=xe.target.value)!=null?se:0)},type:"number",value:(s=(a=e.SparkLineStyle.options)==null?void 0:a.padding)==null?void 0:s.bottom})),Me.createElement(de,{label:"Left"},Me.createElement(mt,{onChange:xe=>{var se;return o.onOptionChange(["padding","left"],(se=xe.target.value)!=null?se:0)},type:"number",value:(u=(l=e.SparkLineStyle.options)==null?void 0:l.padding)==null?void 0:u.left})),Me.createElement(de,{label:"Right"},Me.createElement(mt,{onChange:xe=>{var se;return o.onOptionChange(["padding","right"],(se=xe.target.value)!=null?se:0)},type:"number",value:(p=(c=e.SparkLineStyle.options)==null?void 0:c.padding)==null?void 0:p.right})))),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Axis Type"},Me.createElement(Qe,{columns:["label"],items:n},(h=(m=n.find(xe=>{var se,ie,he;return xe.value===((he=(ie=(se=e==null?void 0:e.SparkLineStyle)==null?void 0:se.options)==null?void 0:ie.axis)==null?void 0:he.type)}))==null?void 0:m.label)!=null?h:"Select Axis Type")),Me.createElement(de,{label:"Stroke Color"},Me.createElement(Di,{api:t,value:(x=(v=(y=(C=e.SparkLineStyle)==null?void 0:C.options)==null?void 0:y.axis)==null?void 0:v.stroke)!=null?x:"#fff",onChange:xe=>o.onOptionChange(["axis","stroke"],xe)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(P=(w=(R=(A=e.SparkLineStyle)==null?void 0:A.options)==null?void 0:R.axis)==null?void 0:w.strokeWidth)!=null?P:0,onChange:xe=>o.onOptionChange(["axis","strokeWidth"],parseFloat(xe.target.value))})))),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Size"},Me.createElement(oo,{type:"number",value:(M=(F=(D=e.SparkLineStyle)==null?void 0:D.options)==null?void 0:F.highlightStyle)==null?void 0:M.size,onChange:xe=>o.onOptionChange(["highlightStyle","size"],parseFloat(xe.target.value))})),Me.createElement(de,{label:"Fill"},Me.createElement(Di,{api:t,value:(j=(H=(_=(O=e.SparkLineStyle)==null?void 0:O.options)==null?void 0:_.highlightStyle)==null?void 0:H.fill)!=null?j:l_,onChange:xe=>o.onOptionChange(["highlightStyle","fill"],xe)})),Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(K=($=(V=(B=e.SparkLineStyle)==null?void 0:B.options)==null?void 0:V.highlightStyle)==null?void 0:$.stroke)!=null?K:QS,onChange:xe=>o.onOptionChange(["highlightStyle","stroke"],xe)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(X=(oe=(Z=e.SparkLineStyle)==null?void 0:Z.options)==null?void 0:oe.highlightStyle)==null?void 0:X.strokeWidth,onChange:xe=>o.onOptionChange(["highlightStyle","strokeWidth"],parseFloat(xe.target.value))})))))},kHe=o=>{var r,i,a,s,l,u,c,p,m,h;let{data:e,api:t}=ke(),n=e.SparkLineStyle.options;return Me.createElement(Ke,null,Me.createElement(de,{label:"Enabled"},Me.createElement(Ne,{checked:(i=(r=n==null?void 0:n.marker)==null?void 0:r.enabled)!=null?i:!0,onChange:C=>o.onOptionChange(["marker","enabled"],C)})),Me.createElement(de,{label:"Size"},Me.createElement(oo,{type:"number",value:(s=(a=n==null?void 0:n.marker)==null?void 0:a.size)!=null?s:0,onChange:C=>o.onOptionChange(["marker","size"],parseFloat(C.target.value))})),Me.createElement(de,{label:"Fill"},Me.createElement(Di,{api:t,value:(u=(l=n==null?void 0:n.marker)==null?void 0:l.fill)!=null?u:MC,onChange:C=>o.onOptionChange(["marker","fill"],C)})),Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(p=(c=n==null?void 0:n.marker)==null?void 0:c.stroke)!=null?p:MC,onChange:C=>o.onOptionChange(["marker","stroke"],C)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(h=(m=n==null?void 0:n.marker)==null?void 0:m.strokeWidth)!=null?h:1,onChange:C=>o.onOptionChange(["marker","strokeWidth"],parseFloat(C.target.value))})))},BHe=o=>{var r,i,a;let{data:e,api:t}=ke(),n=e.SparkLineStyle.options;return Me.createElement(Ke,null,Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(i=(r=n==null?void 0:n.line)==null?void 0:r.stroke)!=null?i:MC,onChange:s=>o.onOptionChange(["line","stroke"],s)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(a=n==null?void 0:n.line)==null?void 0:a.strokeWidth,onChange:s=>o.onOptionChange(["line","strokeWidth"],parseFloat(s.target.value))})))},VHe=o=>{let{data:e,api:t}=ke(),n=e.SparkLineStyle.options,r=["dash","dashDot","dashDotDot","dot","longDash","longDashDot","longDashDotDot","shortDash","shortDashDot","shortDashDotDot","shortDot","solid"],i=["butt","round","square"],a=s=>{var c,p,m,h,C,y,v,x,A,R,w,P,D;let l=r.map(F=>({label:i_(F),value:F,onClick:()=>o.onOptionChange(["crosshairs",s,"lineDash"],F)})),u=i.map(F=>({label:i_(F),value:F,onClick:()=>o.onOptionChange(["crosshairs",s,"lineCap"],F)}));return Me.createElement(Ke,null,Me.createElement(de,{label:"Show"},Me.createElement(Ne,{checked:(m=(p=(c=n==null?void 0:n.crosshairs)==null?void 0:c[s])==null?void 0:p.enabled)!=null?m:!0,onChange:F=>o.onOptionChange(["crosshairs",s,"enabled"],F)})),Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(y=(C=(h=n==null?void 0:n.crosshairs)==null?void 0:h[s])==null?void 0:C.stroke)!=null?y:FC,onChange:F=>o.onOptionChange(["crosshairs",s,"stroke"],F)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(A=(x=(v=n==null?void 0:n.crosshairs)==null?void 0:v[s])==null?void 0:x.strokeWidth)!=null?A:1,onChange:F=>o.onOptionChange(["crosshairs",s,"strokeWidth"],F.target.value)})),Me.createElement(de,{label:"Line Dash"},Me.createElement(Qe,{columns:["label"],items:l},(w=(R=l.find(F=>{var M,O;return F.value===((O=(M=n==null?void 0:n.crosshairs)==null?void 0:M[s])==null?void 0:O.lineDash)}))==null?void 0:R.label)!=null?w:"Solid")),Me.createElement(de,{label:"Line Cap"},Me.createElement(Qe,{columns:["label"],items:u},(D=(P=u.find(F=>{var M,O;return F.value===((O=(M=n==null?void 0:n.crosshairs)==null?void 0:M[s])==null?void 0:O.lineCap)}))==null?void 0:P.label)!=null?D:"Butt")))};return Me.createElement(Ax.Flex,null,Me.createElement(Ax.Box,{mr:3},Me.createElement(Ax.Box,null,"X Line"),a("xLine")),Me.createElement(Ax.Box,null,Me.createElement(Ax.Box,null,"Y Line"),a("yLine")))},xNt=o=>{var r;let{data:e,api:t}=ke(),n=e.SparkLineStyle.options;return Me.createElement(J,{mb:2},Me.createElement(J.Tab,null,"Stroke"),Me.createElement(J.Tab,null,"Line"),Me.createElement(J.Tab,null,"Marker"),Me.createElement(J.Tab,null,"Cross Hairs"),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(r=n==null?void 0:n.fill)!=null?r:MC,onChange:i=>o.onOptionChange(["fill"],i)})))),Me.createElement(J.Content,null,Me.createElement(BHe,{onOptionChange:o.onOptionChange})),Me.createElement(J.Content,null,Me.createElement(kHe,{onOptionChange:o.onOptionChange})),Me.createElement(J.Content,null,Me.createElement(VHe,{onOptionChange:o.onOptionChange})))},RNt=o=>Me.createElement(J,{mb:2},Me.createElement(J.Tab,null,"Line"),Me.createElement(J.Tab,null,"Marker"),Me.createElement(J.Tab,null,"Cross Hairs"),Me.createElement(J.Content,null,Me.createElement(BHe,{onOptionChange:o.onOptionChange})),Me.createElement(J.Content,null,Me.createElement(kHe,{onOptionChange:o.onOptionChange})),Me.createElement(J.Content,null,Me.createElement(VHe,{onOptionChange:o.onOptionChange}))),_He=o=>{var r,i,a,s,l;let{data:e,api:t}=ke(),n=e.SparkLineStyle.options;return Me.createElement(J,{mb:2},Me.createElement(J.Tab,null,"General"),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Fill"},Me.createElement(Di,{api:t,value:(r=n==null?void 0:n.fill)!=null?r:MC,onChange:u=>o.onOptionChange(["fill"],u)})),Me.createElement(de,{label:"Stroke"},Me.createElement(Di,{api:t,value:(i=n==null?void 0:n.stroke)!=null?i:QS,onChange:u=>o.onOptionChange(["stroke"],u)})),Me.createElement(de,{label:"Stroke Width"},Me.createElement(oo,{type:"number",value:(a=n==null?void 0:n.strokeWidth)!=null?a:1,onChange:u=>o.onOptionChange(["strokeWidth"],u.target.value)})),Me.createElement(de,{label:"Padding Inner"},Me.createElement(oo,{type:"number",value:(s=n==null?void 0:n.paddingInner)!=null?s:.1,onChange:u=>o.onOptionChange(["paddingInner"],u.target.value)})),Me.createElement(de,{label:"Padding Outer"},Me.createElement(oo,{type:"number",value:(l=n==null?void 0:n.paddingOuter)!=null?l:.2,onChange:u=>o.onOptionChange(["paddingOuter"],u.target.value)})))))},ENt=o=>{var a,s;let{data:e,api:t}=ke(),n=e.SparkLineStyle.options,[r,i]=Me.useState("");return Me.useEffect(()=>{var l,u,c;try{let p=null,m=20,h=0;for(;!p||h<m;){let C=(l=t.gridApi.getRowNodeForIndex(h))==null?void 0:l.data,y=t.columnApi.getColumnWithColumnId(e.ColumnId);if((u=C==null?void 0:C[y==null?void 0:y.field])!=null&&u[0]){p=(c=C==null?void 0:C[y==null?void 0:y.field])==null?void 0:c[0];break}h++}if(p){let C=JSON.stringify(p,null,2).replace(/[{}",]/g,"");i(C)}}catch(p){t.logError("Error parsing sparkline data",p)}},[e]),Me.createElement(Me.Fragment,null,Me.createElement(de,{label:"X Key"},Me.createElement(mt,{onChange:l=>o.onOptionChange(["xKey"],l.target.value),value:(a=n==null?void 0:n.xKey)!=null?a:"x"})),Me.createElement(de,{label:"Y Key"},Me.createElement(mt,{onChange:l=>o.onOptionChange(["yKey"],l.target.value),value:(s=n==null?void 0:n.yKey)!=null?s:"y"})),r&&Me.createElement(de,{label:"Preview"},Me.createElement(rt,null,r)))},GHe=o=>{var s,l,u;let{data:e,api:t}=ke(),n=Me.useCallback(c=>{let p=T(S({},e),{SparkLineStyle:T(S({},e.SparkLineStyle),{options:T(S({},e.SparkLineStyle.options),{type:c})})});o.onChange(p)},[e]),r=Me.useMemo(()=>[{label:"Line",value:"line",onClick:()=>n("line")},{label:"Area",value:"area",onClick:()=>n("area")},{label:"Column",value:"column",onClick:()=>n("column")},{label:"Bar",value:"bar",onClick:()=>n("bar")}],[e]),i=Me.useCallback((c,p)=>{var h;let m=Mte((h=e.SparkLineStyle.options)!=null?h:{},c,p);o.onChange(T(S({},e),{SparkLineStyle:T(S({},e.SparkLineStyle),{options:m})}))},[e]),a=((s=t.columnApi.getColumnWithColumnId(e.ColumnId))==null?void 0:s.dataType)==="ObjectNumberArray";return Me.createElement(Me.Fragment,null,Me.createElement(J,{mb:2},Me.createElement(J.Tab,null,"Settings"),Me.createElement(J.Content,null,Me.createElement(Ke,null,Me.createElement(de,{label:"Sparkline Type"},Me.createElement(Qe,{columns:["label"],items:r},(u=(l=r.find(c=>{var p;return c.value===((p=e.SparkLineStyle.options)==null?void 0:p.type)}))==null?void 0:l.label)!=null?u:"Select Sparkline Type")),a&&Me.createElement(ENt,{onOptionChange:i})))),Me.createElement(ANt,{onOptionChange:i}),(()=>{var c;switch((c=e.SparkLineStyle.options)==null?void 0:c.type){case"line":return Me.createElement(RNt,{onOptionChange:i});case"area":return Me.createElement(xNt,{onOptionChange:i});case"column":return Me.createElement(_He,{onOptionChange:i});case"bar":return Me.createElement(_He,{onOptionChange:i})}})())};d();var gn=I(require("react")),xx=I(Ce());d();var WHe=I(require("react"));d();d();var vs=I(require("react")),Lb=I(Ce());var HHe=o=>vs.default.createElement(ue,{onClick:()=>o.onClick(),p:2,variant:o.active?"raised":"text",tone:o.active?"accent":"none",icon:o.icon},o.children),UHe=o=>{var u,c,p;let[e,t]=vs.default.useState(""),n=Object.keys(Rd),i=(e?n.filter(m=>m.toLowerCase().includes(e.toLowerCase())):n).map(m=>vs.default.createElement(Lb.Flex,{key:m},vs.default.createElement(HHe,{onClick:()=>o.onChange(m),active:m===o.value,icon:m}))),a=(u=o.customIcons)==null?void 0:u.map(m=>vs.default.createElement(HHe,{key:m.name,active:!1,onClick:()=>o.onChange(m.name)},vs.default.createElement(wu,{key:m.name,icon:m.icon}))),s=vs.default.createElement(Lb.Box,{className:"ab-IconSelector__Popup"},vs.default.createElement(Lb.Box,{mb:2},vs.default.createElement(Lb.Box,{mb:2,fontSize:4},"Select an Icon"),vs.default.createElement(oo,{value:e,onChange:m=>{var h;return t((h=m.target.value)!=null?h:"")},width:"100%"})),vs.default.createElement(Lb.Flex,{p:2,style:{width:300,maxHeight:300,overflow:"auto"},flexWrap:"wrap"},i," ",a)),l="No Icon Selected";if(o.value in Rd)l=vs.default.createElement(mo,{style:{display:"inline-block"},name:o.value});else{let m=(c=o.customIcons)==null?void 0:c.find(h=>h.name===o.value);m&&(l=vs.default.createElement(wu,{icon:m.icon}))}return vs.default.createElement(Lb.Flex,{className:"ab-IconSelector"},vs.default.createElement(cs,{preventPortalEventPropagation:!1,render:()=>s,showEvent:"mouseenter",hideEvent:"mouseleave",hideDelay:300},vs.default.createElement(ue,{className:"ab-IconSelector__trigger",textAlign:"center",onClick:()=>null,variant:"raised",width:150,justifyContent:"center"},l)),((p=o.clearable)!=null?p:!0)&&vs.default.createElement(ue,{disabled:!o.value,className:"ab-IconSelector__clear-button",ml:2,onClick:m=>{m.stopPropagation(),m.preventDefault(),o.onChange("")},variant:"text",icon:"close"}))};var zHe=o=>{var r,i;let n=(i=((r=pe().api.optionsApi.getAdaptableOptions())==null?void 0:r.userInterfaceOptions).customIcons)!=null?i:[];return WHe.createElement(UHe,S({customIcons:n},o))};d();var FI=I(require("react")),e4=I(Ce());var t4=({data:o})=>{let e=pe(),t=o.BadgeStyle;if(!t||t.Badges.length===0)return FI.createElement("div",null,"No Badges Defined");let n="Hello world";return e.api.columnApi.getColumnDataTypeForColumnId(o.ColumnId)==="Number"&&(n="12345"),FI.createElement(e4.Flex,{flexDirection:"column"},t.Badges.map((r,i)=>{let a=r.Predicate?e.api.predicateApi.predicateToString(r.Predicate):"No Predicate";return FI.createElement(e4.Box,{mb:1,key:i},FI.createElement(DI,{icon:r.Icon,adaptableStyle:r.Style,iconPosition:r.IconPosition},n),FI.createElement(rt,{ml:2},a))}))};var wNt=o=>{var s,l;let{api:e}=ke(),{badge:t,columnId:n,onChange:r}=o,i=e.styledColumnApi.internalApi.getBadgePredicateDefsForColumn(n),a="Hello world";return e.columnApi.getColumnDataTypeForColumnId(n)==="Number"&&(a="12345"),gn.createElement(xx.Flex,{className:"ab-Badge-Definition-Editor",mb:15,p:3},gn.createElement(xx.Box,{flex:1},gn.createElement(Ke,null,gn.createElement(de,{label:"Preview"},gn.createElement(DI,{adaptableStyle:t.Style,icon:t.Icon,iconPosition:t.IconPosition},a)),gn.createElement(de,{label:"Style"},gn.createElement(Qt,{fontSize:2,mb:1,mt:2},"Select the Style for the Badge")," ",gn.createElement(Jn,{showEvent:"mouseenter",hideEvent:"mouseleave",showIcon:!1,useButton:!1,popoverMaxWidth:700,bodyText:[gn.createElement(_u,{showFontSizeAs:"radio",headless:!0,hidePreview:!0,api:e,Style:(s=t.Style)!=null?s:{},UpdateStyle:u=>{r(T(S({},t),{Style:u}))}})]},gn.createElement(ue,{variant:"raised"},"Edit Badge Style"))),gn.createElement(de,{label:"Predicate"},n?gn.createElement(gn.Fragment,null,gn.createElement(Qt,{fontSize:2,mb:1,mt:2},"Create (optional) Rule for when the Badge is displayed; if no Rule provided Badge will always display (unless overriden by another Rule)"),gn.createElement(YT,{columnId:n,predicate:t.Predicate,predicateDefs:i,placeholder:"No Predicate Selected",onChange:u=>{r(T(S({},t),{Predicate:u}))},onClear:()=>r(T(S({},t),{Predicate:void 0}))})):gn.createElement(_s,null,"Select a column first")),gn.createElement(de,{label:"Icon"},gn.createElement(Qt,{fontSize:2,mb:1,mt:2},"Select (optional) Icon (and Icon position) to display in the Badge")," ",!t.Icon||"name"in t.Icon?gn.createElement(zHe,{value:(t==null?void 0:t.Icon)&&"name"in(t==null?void 0:t.Icon)?t.Icon.name:void 0,onChange:u=>{r(u?T(S({},t),{Icon:{name:u}}):T(S({},t),{Icon:void 0}))}}):gn.createElement(Ma,{icon:t.Icon})),t.Icon&&gn.createElement(de,{label:"Icon Position"},gn.createElement(Qe,{columns:["label"],items:[{label:"Start",onClick:()=>r(T(S({},t),{IconPosition:"Start"}))},{label:"End",onClick:()=>r(T(S({},t),{IconPosition:"End"}))}]},(l=t.IconPosition)!=null?l:"Start")))),gn.createElement(xx.Box,{justifyContent:"end"},gn.createElement(ue,{icon:"delete",onClick:o.onDelete})))},jHe=o=>gn.createElement(t4,{data:o}),KHe=o=>{var n,r;let{data:e}=ke(),t=(r=(n=e==null?void 0:e.BadgeStyle)==null?void 0:n.Badges)!=null?r:[];return gn.createElement(J,{style:{height:"100%"}},gn.createElement(J.Tab,null,"Badges"),gn.createElement(J.Content,null,gn.createElement(xx.Flex,{justifyContent:"end"},gn.createElement(ue,{icon:"plus",onClick:()=>{o.onChange(T(S({},e),{BadgeStyle:{Badges:[...t,it.CreateDefaultStyledColumnBadge()]}}))}},"Add Badge")),gn.createElement(xx.Flex,{flexDirection:"column",p:2},t.map((i,a)=>{let s=l=>{let u=[...t];u[a]=l,o.onChange(T(S({},e),{BadgeStyle:T(S({},e.BadgeStyle),{Badges:u})}))};return gn.createElement(wNt,{key:a,badge:i,columnId:e.ColumnId,onChange:s,onDelete:()=>{let l=[...t];l.splice(a,1),o.onChange(T(S({},e),{BadgeStyle:T(S({},e.BadgeStyle),{Badges:l})}))}})}))))};var $He=o=>{var c,p,m,h,C,y;let e=(p=o.data)!=null?p:(c=o.popupParams)==null?void 0:c.value,t=(C=(h=(m=o==null?void 0:o.popupParams)==null?void 0:m.config)==null?void 0:h.defaultCurrentSectionName)!=null?C:void 0,n=(y=o.defaultCurrentSectionName)!=null?y:t,[r,i]=(0,QHe.useState)(()=>{if(e)return zo(e);let v=it.CreateEmptyStyledColumn();return v.GradientStyle={},v}),a=yt(),s=()=>{var v;((v=o==null?void 0:o.popupParams)==null?void 0:v.action)==="New"||!e?a(YE(r)):a(BO(r)),o.onFinishWizard(r)},l={details:"Apply Additional Settings",renderSummary:NHe,render:()=>$s.createElement(_b.Box,{padding:2},$s.createElement(LHe,{onChange:i})),title:"Settings"},u=[];return r.SparkLineStyle?u.push({title:"Settings",render:()=>$s.createElement(_b.Box,{p:2},$s.createElement(GHe,{onChange:i}))}):r.CheckBoxStyle||r.GradientStyle||r.PercentBarStyle?u.push({details:"Create the Style to apply",renderSummary:Jz,render:()=>$s.createElement(_b.Box,{padding:2},$s.createElement(MHe,{onChange:i})),title:"Style"},l):r.BadgeStyle&&(u.push({title:"Badges",details:"Create Badge Styles",isValid:()=>{var v;return((v=r.BadgeStyle.Badges)==null?void 0:v.length)===0?"Define at least one Badge":r.BadgeStyle.Badges.filter(x=>!x.Predicate).length>1?"Only one Badge can have no Predicate":!0},renderSummary:()=>jHe(r),render:()=>$s.createElement(_b.Box,{p:2},$s.createElement(KHe,{onChange:i}))}),u.push(l)),$s.createElement(rr,{defaultCurrentSectionName:n,moduleInfo:o.moduleInfo,data:r,onFinish:s,onHide:o.onCloseWizard,sections:[{details:"Select a Styled Column type",renderSummary:RHe,render:()=>$s.createElement(EHe,{onChange:i}),title:"Type"},{isValid:IHe,renderSummary:THe,details:"Select a Column where the Style will be applied",render:()=>$s.createElement(_b.Box,{padding:2,style:{height:"100%"}},$s.createElement(PHe,{isNew:o.isNew,onChange:i})),title:"Column"},...u,{details:"Select Format Column Tags",title:"Tags",isVisible:(v,x)=>x.internalApi.shouldDisplayTagSections(),render:()=>$s.createElement(_b.Box,{padding:2},$s.createElement(Pr,{onChange:i})),renderSummary:Dr},"-",{title:"Summary",details:"Review your Styled Column",render:()=>$s.createElement(_b.Box,{padding:2},$s.createElement(Ir,null))}]})};var o4=class extends It{constructor(e){super(Gf,_7,"brush","StyledColumnPopup","Create a Special Column Style e.g Gradient or Percent Bar",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{let n=this.api.columnApi.getColumns().filter(r=>{let i=this.api.styledColumnApi.internalApi.getCheckBoxStyleStyledColumn(r);return i&&!i.IsSuspended}).map(r=>r.columnId);n.includes(t.column.columnId)||this.api.internalApi.getAdaptableInstance().refreshCells(null,n,!0,!0)})}updateOldConfig(){let e=this.api.formatColumnApi.getFormatColumns().filter(n=>n.ColumnStyle);if(!e.length)return;this.api.logInfo(`Converting ${e.length} FormatColumns Styles to Styled Columns`,e),e.forEach(n=>{this.api.formatColumnApi.deleteFormatColumn(n)}),e.map(n=>"ColumnIds"in n.Scope?S(T(S({},it.CreateEmptyStyledColumn()),{ColumnId:n.Scope.ColumnIds[0]}),n.ColumnStyle):null).filter(Boolean).forEach(n=>this.api.styledColumnApi.addStyledColumn(n))}getModuleAdaptableObjects(e){return this.api.styledColumnApi.getStyledColumns(e)}getExplicitlyReferencedColumnIds(e){return this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(t=>t.columnId):[]}hasNamedQueryReferences(){return!1}addColumnMenuItems(e){let t=[];if(e&&this.isModuleEditable()){let n=this.api.styledColumnApi.getStyledColumnForColumnId(e.columnId);if(this.api.columnApi.hasNumericArrayDataType(e.columnId)&&e.IsReadOnly!==!0&&this.api.styledColumnApi.canDisplaySparklines()){let r=e.isSparkline&&Boolean(n);if(!(e.isSparkline&&!r)){let i=n!=null&&n.SparkLineStyle!=null;i||(n=T(S({},it.CreateEmptyStyledColumn()),{ColumnId:e.columnId,SparkLineStyle:{}}));let a=i?"Edit ":"Create ",s={action:r?"Edit":"New",source:"ColumnMenu",value:n,config:{defaultCurrentSectionName:"Settings"}};t.push(this.createColumnMenuItemShowPopup(a+"Sparkline Column",this.moduleInfo.Popup,this.getGlyphForStyledColumn(n),s))}}else if(!e.isSparkline)if(n){if(!n.IsReadOnly&&!n.CheckBoxStyle){let r;n.BadgeStyle?r="Badges":r="Style";let i={action:"Edit",source:"ColumnMenu",value:n,config:{defaultCurrentSectionName:r}},a=this.getGlyphForStyledColumn(n),s=`Edit ${this.getTypeLabel(n)} Style`;t.push(this.createColumnMenuItemShowPopup(s,this.moduleInfo.Popup,a,i))}}else{let r=T(S({},it.CreateEmptyStyledColumn()),{ColumnId:e.columnId}),i={action:"New",source:"ColumnMenu",value:r,config:{}},a=e.dataType==="Number"?"Badge":"Create Badge Style",s=this.createColumnMenuItemShowPopup(a,this.moduleInfo.Popup,"badge",T(S({},i),{value:T(S({},r),{BadgeStyle:{Badges:[it.CreateDefaultStyledColumnBadge()]}}),config:{defaultCurrentSectionName:"Badges"}}));switch(e.dataType){case"Number":let l=this.api.scopeApi.createCellColorRangesForScope({ColumnIds:[e.columnId]}),u=this.createColumnMenuItemShowPopup("Gradient",this.moduleInfo.Popup,"gradient",T(S({},i),{value:T(S({},r),{GradientStyle:{CellRanges:l}}),config:{defaultCurrentSectionName:"Style"}})),c=this.createColumnMenuItemShowPopup("Percent Bar",this.moduleInfo.Popup,"percent",T(S({},i),{value:T(S({},r),{PercentBarStyle:{CellRanges:l}}),config:{defaultCurrentSectionName:"Style"}}));t.push({label:"Create Styled Column",module:this.moduleInfo.ModuleName,isVisible:!0,icon:{name:this.moduleInfo.Glyph},subItems:[u,c,s]});break;case"String":t.push(s);break}}}return t}getGlyphForStyledColumn(e){return e.GradientStyle?"gradient":e.PercentBarStyle?"percent":e.CheckBoxStyle?"check-circle":e.SparkLineStyle?"spark-line":e.BadgeStyle?"badge":this.moduleInfo.Glyph}getTeamSharingAction(){return{ModuleEntities:this.api.styledColumnApi.getStyledColumns(),AddAction:YE,EditAction:BO}}toView(e){let t=[];return(e.GradientStyle||e.PercentBarStyle||e.CheckBoxStyle)&&t.push({name:"Style",view:()=>Jz(e,this.api)}),e.BadgeStyle||t.push({name:"Settings",values:[`Include grouped rows: ${e.IncludeGroupedRows?"Yes":"No"}`]}),e.BadgeStyle&&t.push({name:"Preview",view:t4}),{abObject:e,items:[{name:"Type",values:[this.getTypeLabel(e)]},{name:"Column",values:[this.api.columnApi.getFriendlyNameForColumnId(e.ColumnId)]},...t,,er(e,this.api)].filter(Boolean)}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{getEditAction:BO,getDeleteAction:$k,getSuspendAction:qk,getUnSuspendAction:Yk,getSuspendAllAction:Gbe,getUnSuspendAllAction:Hbe,getEditWizard(){return $He}}}canBeAssociatedWithLayouts(){return!0}getTypeLabel(e){let t=null;return e.GradientStyle?t="Gradient":e.PercentBarStyle?t="Percent Bar":e.CheckBoxStyle?t="Check Box":e.SparkLineStyle?t="Spark Line":e.BadgeStyle&&(t="Badge"),t}};d();var n4=class extends It{constructor(e){super(sO,S7,"fdc3",null,"The FDC3 Module - handles the FDC3 integration",e)}addContextMenuItems(e){if(!this.isModuleAvailable())return;let t=e.adaptableColumn.columnId,n=e.rowNode,r=[];return this.getFdc3Api().internalApi.getAllRaiseIntentConfigs().filter(i=>{var a;return(a=i.contextMenu)==null?void 0:a.columnIds.includes(t)}).forEach(i=>{r.push(this.buildRaiseIntentMenuItem(i,n))}),this.getFdc3Api().internalApi.getAllBroadcastContextConfigs().filter(i=>{var a;return(a=i.contextMenu)==null?void 0:a.columnIds.includes(t)}).forEach(i=>{r.push(this.buildBroadcastMenuItem(i,n))}),r.length>1?[{label:"FDC3",icon:{name:"fdc3"},isVisible:!0,subItems:r}]:r}buildRaiseIntentMenuItem(e,t){var a,s,l;let{intentType:n,contextType:r}=e,i={label:`Raise ${n}`,onClick:()=>{this.getFdc3Api().raiseIntentFromRow(t,n,r)},isVisible:!0,module:"Fdc3"};if((a=e.contextMenu)!=null&&a.icon){let u=((s=e.contextMenu)==null?void 0:s.icon)==="_defaultFdc3"?this.getFdc3Api().internalApi.getDefaultIconForIntent(n):(l=e.contextMenu)==null?void 0:l.icon;i.icon=u}return i}buildBroadcastMenuItem(e,t){var i,a,s;let{contextType:n}=e,r={label:`Broadcast ${this.getFdc3Api().getContextLabel(n)}`,onClick:()=>{this.getFdc3Api().broadcastFromRow(t,n)},isVisible:!0,module:"Fdc3"};if((i=e.contextMenu)!=null&&i.icon){let l=((a=e.contextMenu)==null?void 0:a.icon)==="_defaultFdc3"?this.getFdc3Api().internalApi.getDefaultIconForContext(n):(s=e.contextMenu)==null?void 0:s.icon;r.icon=l}return r}getFdc3Api(){return this.api.fdc3Api}};var H0=W2(),r4=class{constructor(e,t){this.adaptable=e;this.gridOptions=t;this.initialAgGridColDefs={}}destroy(){this.adaptable=null,this.gridOptions=null}getAgGridLightThemeName(){return"ag-theme-balham"}getAgGridDarkThemeName(){return"ag-theme-balham-dark"}setUpModules(){let e=new Map,t=this.adaptable.api;return e.set(fd,new sz(t)),e.set(Ri,new tz(t)),e.set(lv,new Wz(t)),e.set(bu,new oz(t)),e.set(Ei,new nz(t)),e.set(_l,new iz(t)),e.set(ls,new az(t)),e.set(gd,new Hz(t)),e.set(Vp,new dz(t)),e.set(Hi,new pz(t)),e.set(wi,new mz(t)),e.set(Ui,new hz(t)),e.set(Pa,new fz(t)),e.set(Su,new xz(t)),e.set(di,new Rz(t)),e.set(cr,new Tz(t)),e.set(kl,new Pz(t)),e.set(Cd,new Dz(t)),e.set(Bl,new Mz(t)),e.set(Gp,new Fz(t)),e.set(Hf,new Nz(t)),e.set(Up,new kz(t)),e.set(yd,new Vz(t)),e.set(Hp,new Lz(t)),e.set(Wp,new Bz(t)),e.set(Vf,new gz(t)),e.set(dv,new zz(t)),e.set(Uf,new $z(t)),e.set(hd,new Kz(t)),e.set(uv,new Qz(t)),e.set(Gf,new o4(t)),e.set(sO,new n4(t)),e}TrySetUpNodeIds(e){if(ct.IsNullOrEmpty(this.adaptable.adaptableOptions.primaryKey))return!1;if(qo.objectExists(this.gridOptions.getRowId))return!0;let t=this.adaptable.adaptableOptions.primaryKey;return e?this.gridOptions.getRowId=n=>(qo.objectNotExists(n.data[t])&&(n.data[t]=Gt()),n.data[t]):this.gridOptions.getRowId=n=>{var a;if(n.data[t])return n.data[t];let r=(a=n.parentKeys)!=null?a:[],i=Object.values(n.data);if(i.length)return[...r,i[0]].join("/")},!0}createCheckboxRendererComp(e,t){return qGe(e,t,this.adaptable.api)}createPercentBarRendererComp(e,t){return AHe(e,t,this.adaptable.api)}createBadgeRendererComp(e,t){return xHe(e,t,this.adaptable.api)}getCleanValue(e){if(typeof e=="string")return e;if(!(e==null||e=="null"||e==null||e=="undefined"))return String(e)||""}getRenderedValue(e,t){let n=e.cellRenderer;return typeof n=="string"?this.getCleanValue(t):n({value:t})||""}createAdaptableColumnFromAgGridColumn(e,t){let n=e.getColId(),r=e.getColDef(),i=this.adaptable.api.columnApi.internalApi.isActionRowButtonColumn(n),a=this.adaptable.api.fdc3Api.internalApi.isFdc3MainActionColumn(n),s=this.adaptable.adaptableOptions.columnOptions.columnFriendlyName,l=typeof s=="function"?s({colId:n,agColumn:e}):null,u=l!=null?l:i?e8:a?t8:this.gridOptions.columnApi.getDisplayNameForColumn(e,"header");this.initialAgGridColDefs[n]||(this.initialAgGridColDefs[n]=S({},e.getUserProvidedColDef()));let c=n,p=this.adaptable.adaptableOptions.primaryKey,m=t==null?void 0:t[c],h=this.getColumnDataType(e,!1),C={Uuid:Gt(),columnId:c,field:r.field,friendlyName:u,isPrimaryKey:c===p,dataType:h,visible:e.isVisible(),readOnly:this.isColumnReadonly(r),columnGroup:m,sortable:this.isColumnSortable(r),filterable:this.isColumnFilterable(r),groupable:this.isColumnGroupable(r),pivotable:this.isColumnPivotable(r),aggregatable:this.isColumnAggregetable(r),availableAggregationFunctions:null,aggregationFunction:null,moveable:this.isColumnMoveable(r),hideable:this.isColumnHideable(r),queryable:this.isColumnQueryable(r,c,u,h),exportable:this.isColumnExportable(r,c,u,h),isGrouped:this.isColumnGrouped(r),isFixed:this.isColumnFixed(r),pinned:this.getColumnPinnedPosition(r),isExcludedFromQuickSearch:!1,isSparkline:this.isColumnSparkline(r)};C.aggregatable&&(C.availableAggregationFunctions=this.getColumnAggregationFunctions(r),typeof r.aggFunc=="string"&&(C.aggregationFunction=r.aggFunc));let y=this.adaptable.adaptableOptions.quickSearchOptions.excludeColumnFromQuickSearch;return y&&y(C)&&(C.isExcludedFromQuickSearch=!0),C}buildAdaptableToolPanelDef(){return{id:LC,toolPanel:Q9,labelDefault:K9,labelKey:"adaptable",iconKey:"menu",width:Uo.getAdaptableToolPanelWidth(),minWidth:Uo.getAdaptableToolPanelWidth()}}isSideBarDefObject(e){return Array.isArray(e==null?void 0:e.toolPanels)}mapToolPanelDefs(e=[]){return e.map(t=>t===LC?this.buildAdaptableToolPanelDef():t)}reselectSelectedCells(){let e=this.gridOptions.api.getCellRanges();if(pt.CorrectLength(e,1)){let t=e[0],n={rowStartIndex:t.startRow.rowIndex,rowEndIndex:t.endRow.rowIndex,columns:t.columns};this.gridOptions.api.clearRangeSelection(),this.gridOptions.api.addCellRange(n)}}fireSelectionChangedEvent(){let e={adaptableApi:this.adaptable.api,selectedCellInfo:this.adaptable.api.gridApi.getGridState().SelectedCellInfo,selectedRowInfo:this.adaptable.api.gridApi.getGridState().SelectedRowInfo,userName:this.adaptable.api.optionsApi.getUserName(),adaptableId:this.adaptable.api.optionsApi.getAdaptableId()};this.adaptable.api.eventApi.emit("SelectionChanged",e)}isColumnReadonly(e){return e&&typeof e.editable=="function"?!1:!e.editable}isColumnSortable(e){return e&&e.sortable!=null?e.sortable:!1}isColumnGroupable(e){return e&&e.enableRowGroup!=null?e.enableRowGroup:!1}isColumnPivotable(e){return e&&e.enablePivot!=null?e.enablePivot:!1}isColumnAggregetable(e){return e&&e.enableValue!=null?e.enableValue:!1}getColumnAggregationFunctions(e){return e.allowedAggFuncs||["sum","min","max","count","avg","first","last"]}isColumnMoveable(e){return!(!e||e.suppressMovable!=null&&e.suppressMovable==!0||this.isColumnFixed(e))}isColumnQueryable(e,t,n,r){if(!e||e.colId===bc)return!1;let i={columnId:t,friendlyName:n,dataType:r};return this.adaptable.api.expressionApi.isColumnQueryable(i)}isColumnExportable(e,t,n,r){if(!e||e.colId===bc)return!1;let i={columnId:t,friendlyName:n,dataType:r};return this.adaptable.api.exportApi.isColumnExportable(i)}isColumnHideable(e){return!(!e||e.lockVisible!=null&&e.lockVisible==!0)}isColumnFilterable(e){return e!=null&&e.filter!=null&&e.filter!=!1}getColumnPinnedPosition(e){return e.pinned?e.pinned==="left"||e.pinned===!0?"left":"right":!1}isColumnFixed(e){return e?e.lockPosition!=null&&e.lockPosition==!0||e.lockPinned!=null&&e.lockPinned==!0:!1}isColumnGrouped(e){return e?e.rowGroup!=null&&e.rowGroup==!0||e.rowGroupIndex!=null:!1}isColumnSparkline(e){return(e==null?void 0:e.cellRenderer)==="agSparklineCellRenderer"}getColumnDataType(e,t=!0){if(!e)return this.adaptable.logger.warn("column is undefined returning String for Type"),"String";let n="Unknown",r=this.adaptable.api.columnApi.getColumnWithColumnId(e.getId(),t);if(r&&r.dataType!="Unknown")return r.dataType;let i=e.getColDef().type;if(i&&(Array.isArray(i)?i.forEach(u=>{n=="Unknown"&&(n=this.getAbColDefValue(u))}):n=this.getAbColDefValue(i),n!="Unknown"))return n;let a=this.gridOptions.api.getModel();if(a==null)return this.adaptable.logger.warn(`No model so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";let s=a.getRow(0);if(s==null)return this.adaptable.logger.warn(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";if(s.group){let u=s.childrenAfterGroup;if(pt.IsNullOrEmpty(u))return this.adaptable.logger.warn(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";s=u[0]}let l=this.gridOptions.api.getValue(e,s);if(l instanceof Date)n="Date";else if(Array.isArray(l)&&l.length&&typeof l[0]=="number")n="Unknown";else switch(typeof l){case"string":n="String";break;case"number":n="Number";break;case"boolean":n="Boolean";break;case"object":n="Object";break;default:break}return this.adaptable.logger.warn(`No defined type for column '${e.getColId()}'. Defaulting to type of first value: ${n}`),n}getAbColDefValue(e){if(e=="numericColumn")return"Number";if(e.startsWith("abColDef"))switch(e){case"abColDefNumber":return"Number";case"abColDefString":return"String";case"abColDefBoolean":return"Boolean";case"abColDefDate":return"Date";case"abColDefObject":return"Object";case"abColDefStringArray":return"StringArray";case"abColDefNumberArray":return"NumberArray";case"abColDefTupleNumberArray":return"TupleNumberArray";case"abColDefObjectNumberArray":return"ObjectNumberArray";default:return"Unknown"}return"Unknown"}getAgGridDataType(e){if(!e)return"abColDefString";switch(e){case"Boolean":return"abColDefBoolean";case"Date":return"abColDefDate";case"Number":return"abColDefNumber";case"Object":return"abColDefObject";case"String":return"abColDefString";case"NumberArray":return"abColDefNumberArray";case"TupleNumberArray":return"abColDefTupleNumberArray";case"ObjectNumberArray":return"abColDefObjectNumberArray";default:return"abColDefCustom"}}checkShouldClearExistingFiltersOrSearches(){this.adaptable.adaptableOptions.filterOptions.clearFiltersOnStartUp&&pt.IsNotNullOrEmpty(this.adaptable.api.filterApi.getColumnFilters())&&(this.adaptable.logger.warn('Clearing existing Column Filters as "clearFiltersOnStartUp" is true'),this.adaptable.api.filterApi.clearColumnFilters()),this.adaptable.adaptableOptions.quickSearchOptions.clearSearchesOnStartUp&&(ct.IsNotNullOrEmpty(this.adaptable.api.quickSearchApi.getQuickSearchState().QuickSearchText)||ct.IsNotNullOrEmpty(this.adaptable.api.queryApi.getCurrentQuery())||pt.IsNotNullOrEmpty(this.adaptable.api.dataSetApi.getDataSets()))&&(this.adaptable.logger.warn('Clearing existing Searches as "clearSearchesOnStartUp" is true'),this.adaptable.api.quickSearchApi.clearQuickSearch(),this.adaptable.api.queryApi.clearCurrentQuery(),this.adaptable.api.dataSetApi.clearCurrentDataSet())}runAdaptableGroupComparerFunction(){let e=this.adaptable;return function(n){let{nodeA:r,nodeB:i}=n,a=e.getFirstGroupedColumn();if(a){let s=e.getActiveColumnComparator(a.columnId,e.api.customSortApi.getCustomSortForColumn(a.columnId),e.api.customSortApi.internalApi.getCustomSortComparer(a));if(s)return s(r.key,i.key);if(e.api.layoutApi.getCurrentLayoutColumnSort(a.columnId)==="Desc")return r.key>i.key?-1:1}return r.key==i.key?0:r.key<i.key?-1:1}}getCurrentIPPStyle(){let e=document.querySelectorAll(".ag-header-cell").item(0),t=document.querySelector(".ag-header"),n=t?window.getComputedStyle(t,null):null,r=document.querySelector(".ag-row-even"),i=r?window.getComputedStyle(r,null):null,a=document.querySelector(".ag-row-odd"),s=a?window.getComputedStyle(a,null):{backgroundColor:"#fff"};return{Header:{headerColor:H0(n.color).toHexString(),headerBackColor:H0(n.backgroundColor).toHexString(),headerFontFamily:n.fontFamily,headerFontSize:n.fontSize,headerFontStyle:n.fontStyle,headerFontWeight:n.fontWeight,height:Number(n.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(l=>{let u=document.querySelector(`.ag-header-cell[col-id='${l.columnId}']`),c=window.getComputedStyle(u||e,null);return{columnFriendlyName:l.friendlyName,width:Number(c.width.replace("px","")),textAlign:c.textAlign}})},Row:{color:H0(i.color).toHexString(),backColor:H0(i.backgroundColor).toHexString(),altBackColor:H0(s.backgroundColor).toHexString(),fontFamily:i.fontFamily,fontSize:i.fontSize,fontStyle:i.fontStyle,fontWeight:i.fontWeight,height:Number(i.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(l=>{let u=document.querySelector(`.ag-cell[col-id='${l.columnId}']`),c=window.getComputedStyle(u||r,null);return{columnFriendlyName:l.friendlyName,width:Number(c.width.replace("px","")),textAlign:c.textAlign}})}}}};d();var Nte=I(Tte());var i4=class{constructor(e,t){this.adaptable=e;this.gridOptions=t}destroy(){this.adaptable=null,this.gridOptions=null}buildColumnMenu(e,t){let n=e.column.getColId(),r=[],i=[],a=[],s=this.adaptable.adaptableOptions.menuOptions;r.push(...this.createAgGridColumnMenuItems(t,e));let l=s.showAdaptableColumnMenu,u=l==null||l!==!1;u&&r.push("separator");let c=this.adaptable.api.columnApi.getColumnWithColumnId(n),p=this.createColumnMenuContextObject(c,e.column);if(p.isRowGroupColumn){let y=this.createGroupedColumnMenuItem();y&&i.push(y)}u&&i.push(...this.createAdaptableColumnMenuItems(c,p)),a.push(...this.createUserColumnMenuItems(p));let m={aggrid:r,adaptable:i,user:a},h=s.columnMenuOrder,C=[];return h!=null&&typeof h=="function"?C=h({adaptableApi:this.adaptable.api,userName:this.adaptable.adaptableOptions.userName,adaptableId:this.adaptable.adaptableOptions.adaptableId,column:c}):C=h,(0,Nte.default)(C.map(y=>m[y]))}buildContextMenu(e,t){this.adaptable.setSelectedCells();let n=[],r=[],i=[],a=this.adaptable.adaptableOptions.menuOptions,s=a.showAdaptableContextMenu,l=s==null||s!==!1,u=a.contextMenuItems,c=pt.IsNotNullOrEmpty(u),p=this.createAgGridContextMenuItems(t,e);p!=null&&p.length&&(n.push(...p),(l||c)&&n.push("separator"));let m=[],h=e.column,C;if(h){C=this.adaptable.api.columnApi.getColumnWithColumnId(h.getColId());let A=this.createContextMenuContextObject(e,C),R=this.createAdaptableContextMenuItems(A);pt.IsNotNullOrEmpty(R)&&m.push(...R),pt.IsNotNullOrEmpty(m)&&l&&r.push(...this.createAgGridAdaptableContextMenuItems(m,A)),c&&i.push(...this.createAgGridUserContextMenuItems(u,A))}let y={aggrid:n,adaptable:r,user:i},v=a.contextMenuOrder,x=[];return v!=null&&typeof v=="function"?x=v({adaptableApi:this.adaptable.api,userName:this.adaptable.adaptableOptions.userName,adaptableId:this.adaptable.adaptableOptions.adaptableId,column:C}):x=v,(0,Nte.default)(x.map(A=>y[A]))}createRemoveGroupsMenuItem(e){return{name:e.label,action:e.onClick?e.onClick:()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction),icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"})}}createAgGridMenuDefFromAdaptableMenu(e){let t=pt.IsNotNullOrEmpty(e.subItems)?e.subItems.map(n=>this.createAgGridMenuDefFromAdaptableMenu(n)):void 0;return{name:e.label,action:e.onClick?e.onClick:e.reduxAction?()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction):void 0,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),subMenu:t}}createAgGridColumnMenuDefFromUserMenu(e,t){let n=e.onClick,r=e.disabled&&e.disabled(t);return{name:this.getLabelFromUserColumnMenuItem(e,t),action:()=>n?n(t):null,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),disabled:r,subMenu:pt.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridColumnMenuDefFromUserMenu(i,t))}}createAgGridContextMenuDefFromUserMenu(e,t){let n=e.onClick,r=e.disabled&&e.disabled(t);return{name:this.getLabelFromUserContextMenuItem(e,t),action:()=>n?n(t):null,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),disabled:r,subMenu:pt.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridContextMenuDefFromUserMenu(i,t))}}mapAdaptableIconToAgGridIcon(e,t){let n=this.adaptable.api.userInterfaceApi.internalApi.prepareAdaptableIconDef(e);if(Xf(n)){let r=n.element;return typeof r=="string"?r:r.cloneNode(!0)}else return HEe(n,{fill:"var(--ab-color-text-on-primary)"})}createAdaptableColumnMenuItemFromUserMenu(e,t){let n=e.onClick;return{label:this.getLabelFromUserColumnMenuItem(e,t),reduxAction:null,onClick:()=>n?n(t):null,isVisible:!0,icon:e.icon}}createAgGridColumnMenuItems(e,t){return e?e(t):t.defaultItems.slice(0)}createGroupedColumnMenuItem(){if(this.adaptable.adaptableOptions.menuOptions.showUngroupColumnMenuItem){let t={label:this.gridOptions.columnApi.getRowGroupColumns().length==1?"Ungroup Column":"Ungroup All",onClick:()=>this.gridOptions.columnApi.setRowGroupColumns([]),isVisible:!0,icon:{name:"undo"}};return this.createAgGridMenuDefFromAdaptableMenu(t)}}createAdaptableColumnMenuItems(e,t){let n=[];return this.getAdaptableMenuItemsColumnHeader(e,t).forEach(i=>{let a=this.createAgGridMenuDefFromAdaptableMenu(i);n.push(a)}),n}createUserColumnMenuItems(e){let t=[],n=this.getUserMenuItemsColumnHeader(e);return pt.IsNotNullOrEmpty(n)&&n.forEach(r=>{let i=this.createAgGridColumnMenuDefFromUserMenu(r,e);t.push(i)}),t}createColumnMenuContextObject(e,t){return{adaptableColumn:e,agGridColumn:t,adaptableApi:this.adaptable.api,userName:this.adaptable.adaptableOptions.userName,adaptableId:this.adaptable.adaptableOptions.adaptableId,isRowGroupColumn:this.adaptable.api.columnApi.isAutoRowGroupColumn(t.getColId())}}createContextMenuContextObject(e,t){let n=!1,r=!1,i=!1,a;t&&(a=this.adaptable.getGridCellFromRowNode(e.node,t.columnId));let s=this.adaptable.api.gridApi.getSelectedCellInfo();a&&s&&(r=s.gridCells.find(c=>c!=null&&c.column==a.column&&c.primaryKeyValue==a.primaryKeyValue)!=null,r&&(n=pt.CorrectLength(s.columns,1)));let l=this.adaptable.api.gridApi.getSelectedRowInfo();return l&&(i=l.gridRows.find(c=>c!=null&&c.primaryKeyValue==a.primaryKeyValue)!=null),{isSelectedCell:r,isSelectedRow:i,gridCell:a,adaptableColumn:t,agGridColumn:e.column,rowNode:e.node,isGroupedNode:e.node?e.node.group:!1,isSingleSelectedColumn:n,isSingleSelectedCell:r&&(s==null?void 0:s.gridCells.length)==1,primaryKeyValue:a?a.primaryKeyValue:void 0,adaptableApi:this.adaptable.api,userName:this.adaptable.adaptableOptions.userName,adaptableId:this.adaptable.adaptableOptions.adaptableId,selectedCellInfo:s,selectedRowInfo:l,isRowGroupColumn:this.adaptable.api.columnApi.isAutoRowGroupColumn(e.column.getColId())}}createAgGridContextMenuItems(e,t){return e?e(t).slice(0):t.defaultItems?t.defaultItems.slice(0):[]}createAdaptableContextMenuItems(e){let t=[];return this.adaptable.adaptableModules.forEach(n=>{let r=n.addContextMenuItems(e);r&&t.push(...r)}),this.adaptable._emitSync("CreateAdaptableContextMenuItems",{items:t,menuContext:e}),t}createAgGridAdaptableContextMenuItems(e,t){let n=[],r=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu;return(r==null||r!==!1)&&e.forEach(i=>{if(i){let a=!0;if(r!=null&&typeof r=="function"&&(a=r(i,t)),a){let s=this.createAgGridMenuDefFromAdaptableMenu(i);n.push(s)}}}),n}createAgGridUserContextMenuItems(e,t){let n=[];return e.filter(r=>!!r).filter(r=>r.hidden?!r.hidden(t):!0).forEach(r=>{let i=this.createAgGridContextMenuDefFromUserMenu(r,t);n.push(i)}),n}getAdaptableMenuItemsColumnHeader(e,t){let n=[],r=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,i=r==null||r!==!1;return this.adaptable.adaptableModules.forEach(a=>{let s=a.addColumnMenuItems(e);s&&(i?s.forEach(l=>{if(l){let u=!0;r!=null&&typeof r=="function"&&(u=r(l,t)),u&&n.push(l)}}):n.push(...s))}),n}getLabelFromUserColumnMenuItem(e,t){return typeof e.label=="function"?e.label(t):e.label}getLabelFromUserContextMenuItem(e,t){return typeof e.label=="function"?e.label(t):e.label}getUserMenuItemsColumnHeader(e){var t,n;return(n=(t=this.adaptable.adaptableOptions.menuOptions)==null?void 0:t.columnMenuItems)==null?void 0:n.filter(r=>r.hidden?!r.hidden(e):!0)}buildStandaloneColumnHeader(e){let t=this.adaptable.api.columnApi.internalApi.getAgGridColumnForAdaptableColumn(e.columnId),n=this.createColumnMenuContextObject(e,t),r=[];r.push(...this.getAdaptableMenuItemsColumnHeader(e,n));let i=this.getUserMenuItemsColumnHeader(n);return pt.IsNotNullOrEmpty(i)&&i.forEach(a=>{let s=this.createAdaptableColumnMenuItemFromUserMenu(a,n);r.push(s)}),r}};d();var ZHe=I(require("react")),MI=require("react");d();var jn=I(require("react"));d();var Rx=I(require("react"));d();var qHe=I(require("react"));var YHe=I(Ce());var TNt="ab-ListGroup",INt=o=>{let n=o,{className:e}=n,t=ut(n,["className"]);return qHe.createElement(YHe.Box,T(S({},t),{className:$e(e,TNt)}))},XHe=INt;var a4=class extends Rx.Component{constructor(e){super(e),this.state={}}render(){let e=this.props.MenuItems.map((t,n)=>Rx.createElement(F3,{key:n,onClick:()=>this.onClick(t)},t.icon&&Rx.createElement(wu,{icon:t.icon}),t.label));return Rx.createElement("div",{style:PNt},Rx.createElement(XHe,null,e))}onClick(e){this.props.onMenuItemClick(e)}},PNt={overflowY:"auto",overflowX:"hidden",height:"450px",marginBottom:"0"};d();var ou=I(require("react")),Dg=I(Ce());var s4=class extends ou.Component{render(){let e=ou.createElement(Dg.Flex,{alignItems:"center",flexDirection:"row",style:{width:"100%"}},this.props.IsAlwaysFilter?ou.createElement(Dg.Flex,{flex:6,marginRight:2},"Filter"):ou.createElement(Dg.Flex,{flex:6,flexDirection:"column"},ou.createElement(Dg.Flex,null,ou.createElement(Dg.Flex,{flex:6},ou.createElement(Xe,{value:"Menu",checked:this.props.ColumnMenuTab=="Menu",onChange:()=>this.onSelectMenu()},"Menu")),ou.createElement(Dg.Flex,{flex:6},ou.createElement(Xe,{value:"Filter",checked:this.props.ColumnMenuTab=="Filter",onChange:()=>this.onSelectFilter()},"Filter")))),this.props.clearFilterButton&&this.props.ColumnMenuTab=="Filter"&&this.props.clearFilterButton,this.props.saveButton&&this.props.ColumnMenuTab=="Filter"&&this.props.saveButton);return ou.createElement(Dg.Flex,{flexDirection:"column"},ou.createElement(Sn,{className:"ab-FilterFormPanel",header:e,headerProps:{padding:1},style:T(S({},this.props.style),{flex:1}),bodyProps:{padding:0,style:{maxHeight:"50vh"}},bodyScroll:!0,borderRadius:0,border:"none"},this.props.children),this.props.autoApplyFilter?null:ou.createElement(Dg.Flex,{flex:"none",flexDirection:"row",padding:1,justifyContent:"flex-end"},ou.createElement(ue,{variant:"raised",tone:"accent",disabled:this.props.applyFilterButtonDisabled,onClick:()=>this.onApplyFilterClicked()},"Apply Filter")))}onApplyFilterClicked(){this.props.onFilterApplied()}onSelectMenu(){this.props.ColumnMenuTabChanged("Menu")}onSelectFilter(){this.props.ColumnMenuTabChanged("Filter")}};var Ex=I(Ce());d();var kb=(o,e)=>typeof e=="function"?e(o):e;var ONt={width:"100%",minWidth:150},Bb=class extends jn.Component{constructor(t){super(t);this._isMounted=!1;this.handleFilterChange=t=>{this.state.suppressClientSideFilter&&this.loadPermittedValues(t)};this._isMounted=!0;let n=Bb.createColumnFilterFromProps(this.props);this.state={columnFilters:t.columnFilters,distinctColumnValues:[],isDistinctColumnValuesLoading:!1,showTab:!0,selectedTab:"Filter",editedColumnFilter:n,currentTab:Bb.getCurrentTab(n),suppressClientSideFilter:!1}}static createColumnFilterFromProps(t){let n=t.columnFilters.find(r=>r.ColumnId==t.currentColumn.columnId);if(!n){let r=t.api.optionsApi.getFilterOptions();if(r.defaultFilterFormTab=="Values")return jo.CreateColumnFilter(t.currentColumn.columnId,"Values",[]);if(t.currentColumn.dataType==="Number")return jo.CreateColumnFilter(t.currentColumn.columnId,kb(t.currentColumn,r.defaultNumericColumnFilter),[""]);if(t.currentColumn.dataType==="String")return jo.CreateColumnFilter(t.currentColumn.columnId,kb(t.currentColumn,r.defaultStringColumnFilter),[""]);if(t.currentColumn.dataType==="Date")return jo.CreateColumnFilter(t.currentColumn.columnId,kb(t.currentColumn,r.defaultDateColumnFilter),[""]);if(t.currentColumn.dataType==="Boolean")return jo.CreateColumnFilter(t.currentColumn.columnId,"BooleanToggle",["all"])}return n}static getCurrentTab(t){return t&&t.Predicate&&t.Predicate.PredicateId&&t.Predicate.PredicateId!="Values"?"predicates":"values"}static getDerivedStateFromProps(t,n){let i=t.api.optionsApi.getFilterOptions().autoApplyFilter?Bb.createColumnFilterFromProps(t):n.editedColumnFilter,a=n.columnFilters,s=!1;return t.columnFilters!==a&&(a=t.columnFilters,s=!0),{editedColumnFilter:i,columnFilters:a,currentTab:s||!n.currentTab?Bb.getCurrentTab(i):n.currentTab}}componentWillUnmount(){this._isMounted=!1}componentDidMount(){this.props.currentColumn.dataType!="Boolean"&&this.loadPermittedValues()}async loadPermittedValues(t=""){let{values:n,suppressClientSideFilter:r}=await QT(this.props.api.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId,t,this.props.api.optionsApi.getFilterOptions().showDistinctFilteredValuesOnly),()=>this._isMounted&&this.setState({isDistinctColumnValuesLoading:!0}));this._isMounted&&this.setState({distinctColumnValues:n,isDistinctColumnValuesLoading:!1,suppressClientSideFilter:r})}render(){var c,p;let t=this.isFilterable(),n=this.props.api.optionsApi.getFilterOptions(),r=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn).filter(m=>m.id!=="BooleanToggle"),i=((p=(c=this.state.editedColumnFilter)==null?void 0:c.Predicate)==null?void 0:p.PredicateId)==="Values"?this.state.editedColumnFilter.Predicate.Inputs:[],a=yn.objectNotExists(this.state.editedColumnFilter)||yn.objectNotExists(this.state.editedColumnFilter.Predicate)||yn.objectNotExists(this.state.editedColumnFilter.Predicate.PredicateId),s=jn.createElement(CI,{onClick:()=>this.onCloseForm(),tooltip:null,accessLevel:"Full"}),l=jn.createElement(um,{onClick:()=>this.onClearFilter(),disabled:a,tooltip:null,accessLevel:"Full",showText:!0,showIcon:!1}),u=!!n.useAgGridFilterFormStyle;return jn.createElement("div",{className:"ab-FilterForm","data-name":"filter-form"},ct.IsNullOrEmpty(t)?jn.createElement(s4,{style:ONt,ColumnMenuTab:this.state.selectedTab,ColumnMenuTabChanged:m=>this.onSelectTab(m),IsAlwaysFilter:this.props.embedColumnMenu,clearFilterButton:l,closeButton:s,showCloseButton:this.props.showCloseButton,autoApplyFilter:!!n.autoApplyFilter,useAgGridStyle:u,applyFilterButtonDisabled:a,onFilterApplied:()=>this.onFilterApplied()},this.state.selectedTab=="Menu"?jn.createElement(a4,{MenuItems:this.props.api.gridApi.internalApi.buildStandaloneColumnHeader(this.props.currentColumn),onMenuItemClick:m=>this.onMenuItemClick(m)}):jn.createElement(jn.Fragment,null,this.state.showTab&&jn.createElement(jn.Fragment,null,jn.createElement(Xe,{"data-name":"values",flex:1,marginLeft:1,checked:this.state.currentTab=="values",onChange:()=>this.setState({currentTab:"values"})},jn.createElement(Ex.Flex,{fontSize:"var( --ab-font-size-2)"},"Column Values")),jn.createElement(Xe,{"data-name":"predicates",marginLeft:2,flex:1,checked:this.state.currentTab=="predicates",onChange:()=>this.setState({currentTab:"predicates"})},jn.createElement(Ex.Flex,{fontSize:"var( --ab-font-size-2)"},"Filters"))),this.state.currentTab==="values"&&jn.createElement($T,{disabled:this.isFilterDisabled(),suppressClientSideFilter:this.state.suppressClientSideFilter,isLoading:this.state.isDistinctColumnValuesLoading,onFilterChange:this.handleFilterChange,currentColumn:this.props.currentColumn,columns:this.props.columns,columnDistinctValues:this.state.distinctColumnValues,dataType:this.props.currentColumn.dataType,uiSelectedColumnValues:i,useAgGridStyle:u,onColumnValueSelectedChange:m=>this.onColumnValuesChange(m)}),this.state.currentTab==="predicates"&&jn.createElement(jn.Fragment,null," ",this.state.showTab&&jn.createElement("hr",null),r.filter(m=>m.id!=="Values"&&m.id!=="ExcludeValues").map((m,h)=>this.renderColumnPredicate(m,h))))):jn.createElement(Qt,null,t))}renderColumnPredicate(t,n){var a;let{editedColumnFilter:r}=this.state,i=((a=r==null?void 0:r.Predicate)==null?void 0:a.PredicateId)===t.id;return jn.createElement(Ex.Flex,{className:"ab-FilterForm__predicate",key:n,flexDirection:"column"},jn.createElement(Xe,{"data-name":t.id,disabled:this.isFilterDisabled(),fontSize:"var(--ab-font-size-2)",margin:1,flex:1,checked:i,onChange:()=>this.selectColumnPredicate(t)},t.label),jn.createElement(Ex.Flex,{className:"ab-FilterForm__predicate_inputs",flexDirection:"column",flex:0,marginLeft:3,marginRight:2},i&&this.renderPredicateInput(t,r)))}renderPredicateInput(t,n){var r;return(t==null?void 0:t.id)==="BooleanToggle"?jn.createElement(Ex.Flex,{className:"ab-FilterForm__predicate-input",flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center"},jn.createElement(Ne,{disabled:this.isFilterDisabled(),checked:n.Predicate.Inputs[0]==="true"?!0:n.Predicate.Inputs[0]==="false"?!1:null,onChange:i=>{let a=n.Predicate.Inputs[0]==="false"&&i===!0?"all":i===!0?"true":"false";this.changeColumnPredicateInput(a,0)}})):(r=t.inputs)==null?void 0:r.map((i,a)=>jn.createElement(Ex.Flex,{key:a,flexDirection:"row"},jn.createElement(oo,{disabled:this.isFilterDisabled(),type:i.type,autoFocus:a===0,value:n.Predicate.Inputs[a],onChange:s=>this.changeColumnPredicateInput(s.target.value,a),mb:1,flex:1,fontSize:2})))}isFilterDisabled(){var t;return Boolean((t=this.state.editedColumnFilter)==null?void 0:t.IsSuspended)}isFilterable(){return this.props.currentColumn.filterable?"":"Column is not filterable"}onSelectTab(t){this.setState({selectedTab:t})}onColumnValuesChange(t){let{editedColumnFilter:n}=this.state;n.Predicate={PredicateId:"Values",Inputs:t},this.setState({editedColumnFilter:n}),this.persistFilter()}persistFilter(){let{editedColumnFilter:t}=this.state;t.Predicate===void 0||t.Predicate.PredicateId==="Values"&&t.Predicate.Inputs.length===0?(this.props.api.filterApi.clearColumnFilterForColumn(t.ColumnId),this.onCloseForm()):this.props.api.optionsApi.getFilterOptions().autoApplyFilter&&this.props.onSetColumnFilter(t)}onClearFilter(){let{editedColumnFilter:t}=this.state;t.Predicate=void 0,this.setState({editedColumnFilter:t}),this.persistFilter()}onFilterApplied(){this.props.onAddColumnFilter(this.state.editedColumnFilter),this.props.onHideFilterForm()}onCloseForm(){this.props.onHideFilterForm()}onMenuItemClick(t){t.reduxAction&&this.props.onMenuItemClick(t.reduxAction),t.onClick&&t.onClick(),this.props.onHideFilterForm()}selectColumnPredicate(t){var r;let{editedColumnFilter:n}=this.state;n.Predicate={PredicateId:t.id,Inputs:((r=t.inputs)!=null?r:[]).map(i=>{var a;return(a=i.defaultValue)!=null?a:""})},this.setState({editedColumnFilter:n}),this.persistFilter()}changeColumnPredicateInput(t,n){let{editedColumnFilter:r}=this.state;r.Predicate.Inputs[n]=t,this.setState({editedColumnFilter:r}),this.props.api.optionsApi.getFilterOptions().autoApplyFilter&&this.props.onSetColumnFilter(r)}};function FNt(o,e){return{currentColumn:e.currentColumn,columns:o.Grid.Columns,columnFilters:qC(o),showCloseButton:e.showCloseButton}}function MNt(o){return{onMenuItemClick:e=>o(e),onClearColumnFilter:e=>o(jp(e)),onAddColumnFilter:e=>o(QC(e)),onEditColumnFilter:e=>o(VE(e)),onSetColumnFilter:e=>o(sk(e)),onHideFilterForm:()=>o(Wme())}}var NNt=bt(FNt,MNt)(Bb),Lte=o=>Oi(jn.createElement(NNt,{api:o.Adaptable.api,currentColumn:o.Column,teamSharingActivated:!1,embedColumnMenu:o.Adaptable.embedColumnMenu,showCloseButton:o.ShowCloseButton}),o.Adaptable);var JHe=o=>{function e(r){return o.isDestroyed?!1:o.api.filterApi.getColumnFilters().findIndex(i=>i.ColumnId==r)>-1}function t(r,i){return{Column:o.api.columnApi.getColumnWithColumnId(r),Adaptable:o,ShowCloseButton:i}}function n(r){return"filter_"+r+"_"+o.adaptableOptions.adaptableId}return o.variant==="react"?(0,MI.forwardRef)(function(i,a){let[s,l]=(0,MI.useState)(null),u=i.column.getId(),c=o.api.columnApi.getColumnWithColumnId(u);return(0,MI.useImperativeHandle)(a,()=>({isFilterActive:()=>e(u),afterGuiAttached:p=>{var C;let m=(C=p==null?void 0:p.hidePopup)!=null?C:null,h=t(u,!!m);o.hideFilterFormPopup=m,l(h)},getModel:()=>{},setModel:()=>{},doesFilterPass:()=>!0})),!c||!s?null:ZHe.createElement("div",{id:n(u)},Lte(s))}):class{init(i){this.params=i,this.column=i.column,this.filterContainer=document.createElement("div"),this.filterContainer.id=n(this.params.column.getColId())}doesFilterPass(i){return!0}isFilterActive(){return e(this.params.column.getColId())}getModel(){}setModel(i){}getGui(){return this.filterContainer}afterGuiAttached(i){var s,l;if((s=this.unmountReactRoot)==null||s.call(this),o.api.columnApi.getColumnWithColumnId(this.column.getColId())){let u=(l=i==null?void 0:i.hidePopup)!=null?l:null,c=t(this.column.getColId(),!!u);o.hideFilterFormPopup=u,this.unmountReactRoot=o.renderReactRoot(Lte(c),this.filterContainer)}}destroy(){var i;(i=this.unmountReactRoot)==null||i.call(this),this.filterContainer=null}}};d();var t2e=I(require("react")),l4=require("react");d();var yi=I(require("react")),kte=I(ZR());var U0=I(Ce());d();var qs=I(require("react")),NI=require("react");d();var _te=I(Ce());var e2e=o=>{let{api:e}=o,t=(0,NI.useRef)(!1),n=qs.useRef(null),[r,i]=qs.useState({values:[],suppressClientSideFilter:!1,dataLoadIsComplete:!1}),[a,s]=qs.useState(!1),[l,u]=qs.useState(""),[c,p]=qs.useState({counter:0}),[m,h]=qs.useState(null),C=()=>{var M;o.clearColumnFilter(),(M=o.api.optionsApi.getFilterOptions())!=null&&M.autoApplyFilter||o.api.gridApi.applyGridFiltering()},y=M=>{var _;let{columnFilter:O}=o;O.Predicate={PredicateId:O.Predicate.PredicateId,Inputs:M},(_=e.optionsApi.getFilterOptions())!=null&&_.autoApplyFilter?o.updateColumnFilter(O):h(O)};(0,NI.useEffect)(()=>{if(c.counter===0)return;let M=!1;return s(!0),e.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(o.columnFilter.ColumnId,l,e.optionsApi.getFilterOptions().showDistinctFilteredValuesOnly).then(O=>{M||(i(T(S({},O),{dataLoadIsComplete:!0})),s(!1))}),()=>{M=!0}},[c]);let v=(0,NI.useCallback)(M=>{M?p(T(S({},c),{counter:c.counter+1})):(i({values:[],suppressClientSideFilter:!1,dataLoadIsComplete:!1}),u(""))},[c,r]),x=r.dataLoadIsComplete&&We.IsNullOrEmptyOrContainsSingleEmptyValue(r.values),A=()=>qs.createElement(ue,{disabled:!0,style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"}},"No Column Values");if(We.IsNullOrEmpty(o.columnFilter.Predicate.Inputs)&&x)return A();let R=M=>{u(M),r.suppressClientSideFilter&&p(T(S({},c),{counter:c.counter+1}))},w="mouseenter";o.quickFilterValuesTrigger==="click"&&(w="click");let P=o.columnFilter.Predicate.PredicateId==="Values"?"Select Values":"Exclude Values";o.columnFilter.Predicate.Inputs.length&&(P=o.columnFilter.Predicate.Inputs.map(M=>{var _,H;let O=(H=(_=r.values)==null?void 0:_.find(j=>M instanceof Date?qn(M,j.value):j.value===M))==null?void 0:H.label;return O!=null?O:M}).join(", "));let D=o.api.optionsApi.getAdaptableOptions().filterOptions.quickFilterValuesWidth,F=M=>D==="auto"?Math.max(180,M):typeof D=="number"?D:null;return qs.createElement(cs,{showEvent:w,hideEvent:"mouseleave",hideDelay:300,ref:M=>{n.current=M,o.registerValuesDropdownApi(M)},onVisibleChange:M=>{t.current!==M&&(t.current=M,v(M))},render:({targetWidth:M})=>{var O;return qs.createElement(_te.Flex,{onMouseEnter:()=>{w==="click"&&requestAnimationFrame(()=>{var _;(_=n.current)==null||_.show()})},"data-name":"quick-filter-form",flexDirection:"column",style:{fontSize:"var(--ab-font-size-2)",border:"1px solid var(--ab-color-primarydark)",background:"var(--ab-color-defaultbackground)",zIndex:1e3,width:F(M)}},qs.createElement(_te.Flex,{m:2},qs.createElement(ue,{onClick:()=>C()},"Clear Filter"),((O=e.optionsApi.getFilterOptions())==null?void 0:O.autoApplyFilter)==!1&&qs.createElement(ue,{ml:2,onClick:()=>{m&&o.updateColumnFilter(m)}},"Apply Filter")),qs.createElement($T,{disabled:o.isFilterDisabled,suppressClientSideFilter:r.suppressClientSideFilter,isLoading:a,onFilterChange:R,currentColumn:o.currentColumn,columns:[],columnDistinctValues:r.values,dataType:o.currentColumn.dataType,uiSelectedColumnValues:o.columnFilter.Predicate.Inputs.filter(_=>_!==""),useAgGridStyle:!0,onColumnValueSelectedChange:_=>y(_)}))}},qs.createElement(ue,{"data-name":"Select Values",style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"},disabled:o.isFilterDisabled||x},P))};var Bte=class extends yi.Component{constructor(t){super(t);this.shouldOpenValuesDropdown=!1;this._isMounted=!1;this.debouncedAddFilter=(0,kte.default)(t=>this.props.onAddColumnFilter(t),this.props.quickFilterDebounce);this.debouncedEditFilter=(0,kte.default)(t=>this.props.onEditColumnFilter(t),this.props.quickFilterDebounce);this._isMounted=!0,this.state={transientColumnFilter:t.columnFilter}}static getDerivedStateFromProps(t,n){return T(S({},n),{transientColumnFilter:t.columnFilter})}componentWillUnmount(){this._isMounted=!1}isFilterDisabled(){return Boolean(this.props.columnFilter.IsSuspended)}render(){let{transientColumnFilter:t}=this.state,n=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn),r=this.props.api.predicateApi.getPredicateDefById(t==null?void 0:t.Predicate.PredicateId);if(!this.props.currentColumn||!this.props.currentColumn.filterable)return null;let i="mouseenter",a="mouseleave";this.props.quickFilterTrigger==="click"&&(i="click",a="blur");let s=!0,l=this.props.api.optionsApi.getFilterOptions().hideQuickFilterDropdown;if(l){let p={column:this.props.currentColumn,adaptableApi:this.props.api,userName:this.props.api.optionsApi.getUserName(),adaptableId:this.props.api.optionsApi.getAdaptableId()};s=!l(p)}let u=!0,c=this.props.api.optionsApi.getFilterOptions().hideQuickFilterInput;if(c){let p={column:this.props.currentColumn,adaptableApi:this.props.api,userName:this.props.api.optionsApi.getUserName(),adaptableId:this.props.api.optionsApi.getAdaptableId()};u=!c(p)}return yi.createElement(yi.Fragment,null,s&&yi.createElement(cs,{className:"ab-QuickFilter",showEvent:i,hideEvent:a,preventPortalEventPropagation:i==="click",targetOffset:10,hideDelay:300,"data-name":"quick-filter-overlay",render:()=>yi.createElement(U0.Flex,{className:"ab-QuickFilter__dropdown",flexDirection:"column","data-name":"quick-filter",fontSize:2},(t==null?void 0:t.Predicate.PredicateId)&&yi.createElement(ue,{p:2,variant:"text",onClick:()=>this.clearFilter()},yi.createElement("span",{style:{width:20,marginRight:10}},yi.createElement(mo,{name:"delete"})),"Clear"),n.map(p=>yi.createElement(ue,{"data-name":t.Predicate.PredicateId,disabled:this.isFilterDisabled(),key:p.id,p:2,variant:"text",tone:(t==null?void 0:t.Predicate.PredicateId)===p.id?"info":"none",onClick:()=>this.selectColumnPredicate(p.id)},yi.createElement("span",{style:{width:20,marginRight:10}},this.renderPredicateIcon(p)),p.label)))},yi.createElement(ue,{"data-name":t.Predicate.PredicateId,style:{borderRadius:0,borderColor:"var(--ab-color-primarydark)"}},this.renderPredicateIcon(r))),u&&this.renderLabel(t,r),u&&this.renderPredicateInput(r,t))}renderLabel(t,n){return this.hasValuesPredicate(t==null?void 0:t.Predicate)?yi.createElement(e2e,{api:this.props.api,currentColumn:this.props.currentColumn,isFilterDisabled:this.isFilterDisabled(),columnFilter:t,clearColumnFilter:()=>this.clearFilter(),updateColumnFilter:r=>this.updateFilter(r),registerValuesDropdownApi:r=>{r&&this.shouldOpenValuesDropdown&&(r.show(),this.shouldOpenValuesDropdown=!1)},quickFilterValuesTrigger:this.props.quickFilterValuesTrigger}):n&&(n==null?void 0:n.inputs)===void 0&&yi.createElement(U0.Box,{color:this.isFilterDisabled()?void 0:"var(--ab-color-text-on-primary)",disabled:this.isFilterDisabled(),p:1,alignSelf:"center"},n.label)}renderPredicateIcon(t){if(!t||!t.icon)return yi.createElement(mo,{name:"filter"});if("text"in t.icon)return yi.createElement("span",null,t.icon.text);if(VEe(t.icon))return yi.createElement(Ma,{icon:t.icon})}renderPredicateInput(t,n){var r;return(t==null?void 0:t.id)==="BooleanToggle"?yi.createElement(U0.Flex,{flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center",style:{position:"absolute",left:0,right:0,bottom:0,top:0}},yi.createElement(Ne,{disabled:this.isFilterDisabled(),checked:n.Predicate.Inputs[0]==="checked"?!0:n.Predicate.Inputs[0]==="unchecked"?!1:null,onChange:i=>{let a=n.Predicate.Inputs[0]==="unchecked"&&i===!0?"all":i===!0?"checked":"unchecked";this.changeColumnPredicateInput(a,0)}})):(r=t==null?void 0:t.inputs)==null?void 0:r.map((i,a)=>{var s,l;return yi.createElement(oo,{disabled:this.isFilterDisabled(),key:a,type:i.type==="number"?"text":i.type,autoFocus:!1,value:(l=(s=n.Predicate.Inputs)==null?void 0:s[a])!=null?l:"",onChange:u=>this.changeColumnPredicateInput(u.target.value,a),onKeyDownCapture:u=>{u.nativeEvent.key==="Escape"&&(u.nativeEvent.preventDefault(),u.nativeEvent.stopPropagation(),this.clearFilter())},style:{width:"100%",padding:"var(--ab-space-1)",borderRadius:0,borderLeftWidth:0}})})}onColumnValuesChange(t){var r;let n=S({},this.props.columnFilter);n.Predicate={PredicateId:n.Predicate.PredicateId,Inputs:t},(r=this.props.api.optionsApi.getFilterOptions())!=null&&r.autoApplyFilter?this.updateFilter(n):this.setState({transientColumnFilter:n})}selectColumnPredicate(t){var i;let n=S({},this.props.columnFilter),r=this.props.api.predicateApi.getPredicateDefById(t);n.Predicate={PredicateId:t,Inputs:((i=r.inputs)!=null?i:[]).map(a=>{var s;return(s=a.defaultValue)!=null?s:""})},this.updateFilter(n),(t==="Values"||t==="ExcludeValues")&&(this.shouldOpenValuesDropdown=!0)}updateFilter(t){this.setState({transientColumnFilter:t}),t.Uuid?this.debouncedEditFilter(t):this.debouncedAddFilter(t)}changeColumnPredicateInput(t,n){let r=this.getPredicateIdForShortcutValue(t);if(r)this.selectColumnPredicate(r);else{let i=S({},this.props.columnFilter);i.Predicate.Inputs=i.Predicate.Inputs||[],i.Predicate.Inputs[n]=t,this.updateFilter(i)}}getPredicateIdForShortcutValue(t){var n;return(n=this.props.api.filterApi.internalApi.findPredicateDefByShortcut(t,this.props.currentColumn))==null?void 0:n.id}clearFilter(){let t=S({},this.props.columnFilter);this.props.api.filterApi.clearColumnFilterForColumn(t.ColumnId)}hasValuesPredicate(t){return this.props.api.predicateApi.internalApi.hasPredicateValues(t)}};function LNt(o,e){let t=qC(o).find(r=>r.ColumnId==e.currentColumn.columnId);if(t)return t;let n=e.api.optionsApi.getFilterOptions();return!t&&e.currentColumn.dataType==="Number"?jo.CreateColumnFilter(e.currentColumn.columnId,kb(e.currentColumn,n.defaultNumericColumnFilter),[""]):!t&&e.currentColumn.dataType==="String"?jo.CreateColumnFilter(e.currentColumn.columnId,kb(e.currentColumn,n.defaultStringColumnFilter),[""]):!t&&e.currentColumn.dataType==="Date"?jo.CreateColumnFilter(e.currentColumn.columnId,kb(e.currentColumn,n.defaultDateColumnFilter),[""]):!t&&e.currentColumn.dataType==="Boolean"?jo.CreateColumnFilter(e.currentColumn.columnId,"BooleanToggle",["all"]):jo.CreateColumnFilter(e.currentColumn.columnId,null,null)}function _Nt(o,e){return{currentColumn:e.currentColumn,columnFilter:LNt(o,e)}}function kNt(o){return{onAddColumnFilter:e=>o(QC(e)),onEditColumnFilter:e=>o(VE(e))}}var BNt=bt(_Nt,kNt)(Bte),Vte=o=>{var e,t,n;return Oi(yi.createElement(BNt,{api:o.Adaptable.api,quickFilterTrigger:(e=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:e.quickFilterTrigger,quickFilterValuesTrigger:(t=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:t.quickFilterValuesTrigger,quickFilterDebounce:(n=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:n.quickFilterDebounce,currentColumn:o.Column,teamSharingActivated:!1,embedColumnMenu:o.Adaptable.embedColumnMenu}),o.Adaptable)};var Gte={overflow:"hidden",minWidth:"0",height:"100%",display:"flex",alignItems:"stretch",position:"relative"},o2e=o=>{function e(r){return`floatingFilter_${r}_${o.adaptableOptions.adaptableId}`}function t(r){return{Column:o.api.columnApi.getColumnWithColumnId(r),Adaptable:o,ShowCloseButton:!1}}function n(r){r&&(r.parentElement.style.overflow="visible",r.parentElement.parentElement.style.padding="var(--ab-space-1)")}return o.variant==="react"?(0,l4.forwardRef)(function(i,a){let s=i.column.getId(),l=o.api.columnApi.getColumnWithColumnId(s);return(0,l4.useImperativeHandle)(a,()=>({onParentModelChanged(){}})),l?t2e.createElement("div",{ref:n,id:e(s),style:Gte},Vte(t(s))):null}):class{onParentModelChanged(i,a){}afterGuiAttached(){n(this.filterContainer)}init(i){let a=i.column.getColId();if(this.filterContainer=document.createElement("div"),this.filterContainer.id=e(a),Object.keys(Gte).forEach(l=>{this.filterContainer.style[l]=Gte[l]}),o.api.columnApi.getColumnWithColumnId(a)){let l=t(a);this.unmountReactRoot=o.renderReactRoot(Vte(l),this.filterContainer)}}getGui(){return this.filterContainer}destroy(){var i;(i=this.unmountReactRoot)==null||i.call(this),this.filterContainer=null}}};d();var u4=I(require("react"));d();var Kd=I(require("react"));var VNt={position:"absolute",left:0,top:0,right:0,bottom:0},GNt=T(S({},VNt),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),HNt={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},Hte=Kd.forwardRef(function(e,t){var l;let n=Kd.useRef(null),r=()=>{var u;(u=n.current)==null||u.focus()},[i,a]=Pn(e,"value",e.defaultValue,{onChange:u=>{var c;u!==""&&u==Number(u)&&(u=Number(u)),(c=e.onValueChange)==null||c.call(e,u)}});Kd.useImperativeHandle(t,()=>({focus:r,setValue:a}));let s=e.showClearButton&&e.emptyValue!=null&&i!=e.emptyValue;return Kd.createElement("div",{style:GNt,onKeyDown:u=>{u.key==="Tab"&&s&&document.activeElement===n.current&&u.stopPropagation()}},Kd.createElement("input",{type:(l=e.type)!=null?l:"number",value:i,onChange:Kd.useCallback(u=>{a(u.target.value)},[]),style:HNt,ref:n}),s?Kd.createElement("div",{style:{display:"inline-block",marginRight:"var(--ab-space-1)",marginLeft:"var(--ab-space-1)"},onClick:u=>{e.emptyValue!=null&&(a(e.emptyValue),u.stopPropagation(),r())},onKeyDown:u=>{e.emptyValue!=null&&u.key==="Enter"&&(a(e.emptyValue),u.stopPropagation(),r())}},Kd.createElement(mo,{size:18,name:"close",tabIndex:0})):null)});var Og=require("react");function UNt(o){return o.eventKey===ae.BACKSPACE||o.eventKey===ae.DELETE}function WNt(o){return["0","1","2","3","4","5","6","7","8","9"].includes(o)}function n2e(o){return UNt(o)?"":o.eventKey&&WNt(o.eventKey)?Number(o.eventKey):o.value}var r2e=({newValue:o,oldValue:e})=>o,Ute={position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px"},i2e=(0,Og.forwardRef)((o,e)=>{var m,h;let[t]=(0,Og.useState)(()=>n2e(o)),n=(0,Og.useRef)(t),r=o.column.getColId(),i=o.api.__adaptable,a=o.column.getColDef().valueParser,s=typeof a=="function"?a:r2e;function l(C){C=s?s(T(S({},o),{oldValue:o.value,newValue:C})):C,n.current=C}let u=(0,Og.useRef)(null);(0,Og.useImperativeHandle)(e,()=>({focusIn(){var C;(C=u.current)==null||C.focus()},getValue(){return n.current}}));let c=u4.createElement(Hte,{defaultValue:t,showClearButton:(m=o.showClearButton)!=null?m:!0,emptyValue:(h=o.emptyValue)!=null?h:"",onValueChange:l,ref:C=>{u.current=C,C==null||C.focus()}});function p(C){i._emit("CellEditorKeyDown",{keyDownEvent:C,cellValue:n.current,columnId:r,updateValueCallback:y=>{u.current.setValue(y)}})}return u4.createElement("div",{style:Ute,onKeyDown:p},Oi(c,i))}),W0=class{constructor(){this.valueParser=r2e;this.onValueChange=e=>{this.value=this.valueParser?this.valueParser(T(S({},this.params),{oldValue:this.params.value,newValue:e})):e}}init(e){this.value=n2e(e),this.params=e,this.columnId=e.column.getColId();let{valueParser:t}=e.column.getColDef();typeof t=="function"&&(this.valueParser=t),this.el=document.createElement("div"),Object.keys(Ute).forEach(n=>{this.el.style[n]=Ute[n]})}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}afterGuiAttached(){var r,i;let e=this.params.api.__adaptable,t=this.value,n=u4.createElement(Hte,{defaultValue:t,showClearButton:(r=this.params.showClearButton)!=null?r:!0,emptyValue:(i=this.params.emptyValue)!=null?i:"",onValueChange:this.onValueChange,ref:a=>{this.editor=a,a==null||a.focus()}});this.unmountReactRoot=e.renderReactRoot(Oi(n,e),this.el),this.getGui().addEventListener("keydown",a=>{e._emit("CellEditorKeyDown",{keyDownEvent:a,cellValue:this.value,columnId:this.columnId,updateValueCallback:s=>{this.editor.setValue(s)}})})}destroy(){var e;(e=this.unmountReactRoot)==null||e.call(this)}};d();var d4=I(require("react"));d();var np=I(require("react"));var zNt={position:"absolute",left:0,top:0,right:0,bottom:0},jNt=T(S({},zNt),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),KNt={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},Wte=np.forwardRef((o,e)=>{var l;let t=np.useRef(null),n=()=>{var u;(u=t.current)==null||u.focus()},[r,i]=Pn(o,"value",o.defaultValue,{onChange:u=>{var c,p;if(u===""||u==null)(c=o.onValueChange)==null||c.call(o,null);else{let m=typeof u=="string"?ev(u):new Date(u);(p=o.onValueChange)==null||p.call(o,m)}}});np.useImperativeHandle(e,()=>({focus:n}));let a=s1(r,o.dateFormat),s=np.useCallback(u=>{i(u.target.value)},[]);return np.createElement("div",{style:jNt},np.createElement(VX.Provider,{value:{onHide:u=>{var c;(c=o.onStopEdit)==null||c.call(o,u)},onShow:()=>{},showClearButton:(l=o.showClearButton)!=null?l:!0}},np.createElement(oo,{type:"date",value:a,onChange:s,style:KNt,ref:t})))});var Fg=require("react");function a2e(o){return o.eventKey===ae.BACKSPACE||o.eventKey===ae.DELETE}function s2e(o){return a2e(o)?"":o.value}var zte={position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px"},l2e=({newValue:o,oldValue:e,defaultParser:t})=>(typeof e=="string"||e==null)&&t?t(o):o,u2e=(0,Fg.forwardRef)((o,e)=>{var u;let[t]=(0,Fg.useState)(()=>s2e(o)),n=(0,Fg.useRef)(t),r=o.column.getColDef().valueParser,i=typeof r=="function"?r:l2e,a=o.api.__adaptable,s=(0,Fg.useRef)(null);(0,Fg.useImperativeHandle)(e,()=>({focusIn(){var c;(c=s.current)==null||c.focus()},getValue(){return n.current}}));let l=d4.createElement(Wte,{defaultValue:t,dateFormat:a.adaptableOptions.userInterfaceOptions.dateInputOptions.dateFormat,onValueChange:c=>{let p=isNaN(+c);if(i){let m=T(S({},o),{oldValue:o.value,newValue:c,defaultParser:h=>{var y,v;let C=(v=(y=a.adaptableOptions.userInterfaceOptions)==null?void 0:y.dateInputOptions)==null?void 0:v.dateFormat;return C?aa(h,{Pattern:C}):h}});n.current=i(m)}else n.current=p?null:c;p||requestAnimationFrame(()=>{o.stopEditing()})},showClearButton:(u=o.showClearButton)!=null?u:!0,onStopEdit:c=>{c==="Escape"?o.api.stopEditing(!0):o.stopEditing()},ref:c=>{s.current=c,c==null||c.focus()}});return d4.createElement("div",{style:zte},Oi(l,a))}),z0=class{constructor(){this.valueParser=l2e}init(e){this.value=s2e(e);let{valueParser:t}=e.column.getColDef();this.params=e,typeof t=="function"&&(this.valueParser=t),this.el=document.createElement("div"),Object.keys(zte).forEach(n=>{this.el.style[n]=zte[n]})}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}getAdaptableInstance(e){return e.api.__adaptable}afterGuiAttached(){var r;let e=this.getAdaptableInstance(this.params),t=a2e(this.params)?"":this.params.value,n=d4.createElement(Wte,{defaultValue:t,dateFormat:e.adaptableOptions.userInterfaceOptions.dateInputOptions.dateFormat,onValueChange:i=>{let a=isNaN(+i);if(this.valueParser){let s=T(S({},this.params),{oldValue:this.params.value,newValue:i,defaultParser:l=>{var c,p;let u=(p=(c=e.adaptableOptions.userInterfaceOptions)==null?void 0:c.dateInputOptions)==null?void 0:p.dateFormat;return u?aa(l,{Pattern:u}):l}});this.value=this.valueParser(s)}else this.value=a?null:i;a||requestAnimationFrame(()=>{this.params.stopEditing()})},showClearButton:(r=this.params.showClearButton)!=null?r:!0,onStopEdit:i=>{i==="Escape"?this.params.api.stopEditing(!0):this.params.stopEditing()},ref:i=>{this.editor=i,i==null||i.focus()}});this.unmountReactRoot=e.renderReactRoot(Oi(n,e),this.el)}destroy(){var e;(e=this.unmountReactRoot)==null||e.call(this)}};d();var d2e=1693485374052;d();var c2e="AdaptableStatusPanel";d();var c4=I(require("react"));var p2e=(o,e,t)=>e.variant==="react"?n=>{let r=Oi(c4.createElement(o,{params:n,adaptableApi:e.api,context:t}),e);return c4.createElement("div",{className:"ab-StatusBar",ref:i=>{i&&(i.parentElement.style.display="flex")}},r)}:class{init(r){this.params=r,this.eGui=document.createElement("div"),this.eGui.classList.add("ab-StatusBar"),this.render()}render(){let r={params:this.params,adaptableApi:e.api,context:t},i=Oi(c4.createElement(o,r),e);this.unmountReactRoot=e.renderReactRoot(i,this.eGui)}getGui(){return this.eGui}destroy(){var r;(r=this.unmountReactRoot)==null||r.call(this)}};d();var Vb=I(require("react"));var m2e=I(Ce());var h2e=o=>{var s;let e=_t(l=>l),t=OE(e),n=pe(),r=yt(),i=t.find(l=>l.Key===o.context.Key),a=_t(l=>{var u;return(u=l==null?void 0:l.Grid)==null?void 0:u.SettingPanelModuleMenuItems});return Vb.createElement(m2e.Flex,{className:"ab-StatusBar-Panel","data-id":o.context.Key},(s=i==null?void 0:i.StatusBarPanels)==null?void 0:s.map(l=>{var h,C,y,v,x,A;let u=n.ModuleService.getModuleById(l);if(!u)return Vb.createElement(Vb.Fragment,{key:l});if(!u.isModuleAvailable())return Vb.createElement(Vb.Fragment,{key:l});let c=(v=(y=(C=(h=u.getViewProperties)==null?void 0:h.call(u))==null?void 0:C.getStatusBarPanelProps)==null?void 0:y.call(C))!=null?v:{},p=u.moduleInfo,m=(x=c.onAction)!=null?x:()=>{let R=a.find(w=>w.module===l);R!=null&&R.reduxAction&&r(R.reduxAction)};return Vb.createElement(SI,T(S({"data-name":l},c),{tooltip:p.FriendlyName,onAction:m,icon:(A=c.icon)!=null?A:p.Glyph,key:l}))}))};d();var p4=class{constructor(e){this.adaptableApi=e;let t=this.adaptableApi.internalApi.getAdaptableInstance();t.adaptableOptions.actionRowOptions.autoHandle&&t.api.eventApi.on("ActionRowSubmitted",n=>this.autoHandleActionRowButtons(n))}autoHandleActionRowButtons(e){let{adaptableApi:t}=e;if(e.type==="rowEdited"){let{rowNode:n,formData:r}=e,i=S(S({},n.data),r);t.gridApi.updateGridData([i])}if(e.type==="rowDeleted"){let{rowNode:n}=e,r=n.data;t.gridApi.deleteGridData([r])}if(e.type==="rowCreated"){let{formData:n}=e,r=t.internalApi.getAdaptableInstance().adaptableOptions.actionRowOptions.setPrimaryKeyValue,i=typeof r=="function"?r({rowData:n,adaptableApi:t,userName:this.adaptableApi.optionsApi.getUserName(),adaptableId:this.adaptableApi.optionsApi.getAdaptableId()}):S({},n),a={addIndex:0};t.gridApi.addGridData([i],a)}}};d();var m4=I(require("react-dom")),C2e=console.error,QNt=(o,e)=>(m4.render(o,e),()=>{m4.unmountComponentAtNode(e)});function f2e(){console.error=(o,...e)=>{if(!(o&&typeof o=="string"&&(o.includes("Warning: ReactDOM.render is no longer supported in React 18.")||o.includes("Warning: Attempted to synchronously unmount a root while React was already rendering"))))return C2e.call(console,o,...e)}}function g2e(){console.error=C2e}var jte=(o,e,t)=>{t&&f2e();let n=QNt(o,e);return t&&g2e(),()=>{t&&f2e(),n(),t&&g2e()}};d();var h4=class{constructor(e){this.api=e}onChartModelChange(e,t,n){let r=this.api.chartingApi.getChartDefinitions(),i=e.find(s=>s.chartId===n.chartId),a=r.find(s=>s.Model.chartId===n.chartId);switch(t){case L.EVENT_CHART_CREATED:let s=n;if(!r.some(u=>u.Model.chartId===s.chartId)){let u=e.find(c=>c.chartId===s.chartId);this.saveNewChart(u)}break;case L.EVENT_CHART_OPTIONS_CHANGED:case L.EVENT_CHART_RANGE_SELECTION_CHANGED:if(!a)break;let l=T(S({},a),{Model:i});this.api.chartingApi.editChartDefinition(l);break}this.api.internalApi.dispatchReduxAction(Kme(e)),this.emitAdaptableChartDefinitonChange()}emitAdaptableChartDefinitonChange(){let t={chartingOpenState:this.api.chartingApi.getChartingOpenState(),adaptableApi:this.api,userName:this.api.optionsApi.getUserName(),adaptableId:this.api.optionsApi.getAdaptableId()};this.api.eventApi.emit("ChartChanged",t)}saveNewChart(e){var r,i;let n=(i=((r=this.api.optionsApi.getChartingOptions())!=null?r:{}).saveStrategy)!=null?i:"manual";if(n!=="none")if(n==="manual"){let a={alertType:"generic",header:"Save chart",message:"Do you want to save this Chart?",alertDefinition:T(S({},it.CreateEmptyAlertDefinition()),{MessageType:"Info",AlertProperties:{DisplayNotification:!0,NotificationDuration:"always"},AlertForm:{Buttons:[{Label:"Save",Action:s=>{let l=s.formData.name||e.chartId;this.api.chartingApi.addChartDefinition(it.CreateEmptyChartDefinition({Name:l,Model:e}))},ButtonStyle:{tone:"info",variant:"raised"}},{Label:"Dismiss",ButtonStyle:{tone:"neutral",variant:"raised"}}],fields:[{name:"name",label:"Name",fieldType:"text"}]}})};this.api.alertApi.showAdaptableAlert(a)}else n==="auto"&&this.api.chartingApi.addChartDefinition(it.CreateEmptyChartDefinition({Name:e.chartId,Model:e}))}destroy(){this.api=null}};d();var f4=class{constructor(e){this.unsubscribe=()=>{};this.onThemeChanged=()=>{let e=this.api.themeApi.getCurrentThemeObject();this.applyNewThemeVariables(e),this.showMissingThemeFiles(e)};var t;this.api=e,this.subscribe(),this.styleSheetObject||(this.styleSheetObject=new CSSStyleSheet,document.adoptedStyleSheets=[...(t=document.adoptedStyleSheets)!=null?t:[],this.styleSheetObject])}subscribe(){let e=this.api.eventApi.on("ThemeChanged",this.onThemeChanged),t=this.api.eventApi.on("ThemeEdited",this.onThemeChanged);this.unsubscribe=()=>{e(),t()}}applyNewThemeVariables(e){let t=e.CSSVariables;if(!t||Object.keys(t).length===0)return;let n=`html.${this.api.themeApi.internalApi.getThemeClassName(e.Name)} {
603
603
  --ab-theme-loaded: ab--theme-${e.Name};
604
604
  `;for(let[r,i]of Object.entries(t))r.includes("--")&&(n+=`${r}: ${i};`);n+="}",this.styleSheetObject.replaceSync(n)}destroy(){this.api=null,this.unsubscribe(),document.adoptedStyleSheets=[...document.adoptedStyleSheets].filter(e=>e!==this.styleSheetObject)}showMissingThemeFiles(e){if(e.Source==="User")return;let t=e.Name,r=this.api.internalApi.getAdaptableInstance().logger,i=document.documentElement,a=getComputedStyle(i),[s,l]=["--ab-loaded","--ab-theme-loaded"].map(u=>{let c=a.getPropertyValue(u);return typeof c=="string"&&c.trim&&(c=c.trim()),c});s!=="777"&&r.consoleError('Please import Adaptable styles from "@adaptabletools/adaptable/index.css"'),l!==t&&r.consoleWarn(`Theme "${t}" doesn't seem to be loaded! Make sure you import the css file for the "${t}" theme!
605
605
 
606
606
  If it's a default theme, try
607
607
 
608
- import "@adaptabletools/adaptable/themes/${t}.css"`)}};d();var y2e=o=>{var e,t,n,r,i,a,s,l,u,c,p;return o.columnTypes=(e=o.columnTypes)!=null?e:{},Object.assign(o.columnTypes,{[dd]:{},[YS]:{},abColDefNumber:(t=o.columnTypes.abColDefNumber)!=null?t:{},abColDefString:(n=o.columnTypes.abColDefString)!=null?n:{},abColDefBoolean:(r=o.columnTypes.abColDefBoolean)!=null?r:{},abColDefDate:(i=o.columnTypes.abColDefDate)!=null?i:{},abColDefObject:(a=o.columnTypes.abColDefObject)!=null?a:{},abColDefCustom:(s=o.columnTypes.abColDefCustom)!=null?s:{},abColDefStringArray:(l=o.columnTypes.abColDefStringArray)!=null?l:{},abColDefNumberArray:(u=o.columnTypes.abColDefNumberArray)!=null?u:{},abColDefTupleNumberArray:(c=o.columnTypes.abColDefTupleNumberArray)!=null?c:{},abColDefObjectNumberArray:(p=o.columnTypes.abColDefObjectNumberArray)!=null?p:{}})};d();var g4=class{constructor(e){this.adaptableApi=e;this.contextHandlerSubscriptions=[];this.intentHandlerSubscriptions=[];this.loggedAgentError=!1;var a,s,l,u,c,p;let t=(a=this.getFdc3Options().intents)==null?void 0:a.handleIntent,n=(l=(s=this.getFdc3Options().intents)==null?void 0:s.listensFor)!=null?l:[];n.length&&(t||this.adaptableApi.logError("Following FDC3 Intent Listener(s) have been provided but no 'handleIntent' function has been supplied in the FDC3 Options",n),n.forEach(m=>{var h;this.adaptableApi.logInfo(`Listening for FDC3 Intent: ${m}`),(h=this.getDesktopAgent())==null||h.addIntentListener(m,(C,y)=>{this.logFdc3Event("IN","Intent",JSON.stringify(C));let v=T(S({},this.adaptableApi.internalApi.buildBaseContext()),{context:C,intent:m,metadata:y});t==null||t(v)}).then(C=>this.intentHandlerSubscriptions.push(C))}));let r=(u=this.getFdc3Options().contexts)==null?void 0:u.handleContext,i=(p=(c=this.getFdc3Options().contexts)==null?void 0:c.listensFor)!=null?p:[];i.length&&(r||this.adaptableApi.logError("Following FDC3 Context Listener(s) have been provided but no 'handleContext' function has been supplied in the FDC3 Options",i),i.forEach(m=>{var h;this.adaptableApi.logInfo(`Listening for FDC3 Context: ${m}`),(h=this.getDesktopAgent())==null||h.addContextListener(m,(C,y)=>{this.logFdc3Event("IN","Context",JSON.stringify(C));let v=T(S({},this.adaptableApi.internalApi.buildBaseContext()),{context:C,metadata:y});r==null||r(v)}).then(C=>this.contextHandlerSubscriptions.push(C))})),this.uiControlsDefaultConfiguration=this.buildUiControlsDefaultConfiguration()}getUiControlsDefaultConfiguration(){return this.uiControlsDefaultConfiguration}getDesktopAgent(){return globalThis.fdc3==null&&!this.loggedAgentError&&(this.loggedAgentError=!0,this.adaptableApi.consoleError("FDC3 Desktop Agent not found. This should be provided by the wrapper application.")),globalThis.fdc3}destroy(){this.contextHandlerSubscriptions.forEach(e=>e.unsubscribe()),this.intentHandlerSubscriptions.forEach(e=>e.unsubscribe())}async raiseIntent(e,t,n){if(!!this.getDesktopAgent())try{this.logFdc3Event("OUT",`raise ${e}`,JSON.stringify(t));let r=await this.getDesktopAgent().raiseIntent(e,t,n);return this.logFdc3Event("IN","IntentResolution",r.intent),this.getFdc3Api().internalApi.handleIntentResolution(r,t,e,n),r}catch(r){this.logFdc3Error(r)}}async raiseIntentForContext(e,t){if(!!this.getDesktopAgent())try{this.logFdc3Event("OUT","raise for context",JSON.stringify(e));let n=await this.getDesktopAgent().raiseIntentForContext(e,t);return this.logFdc3Event("IN","IntentResolution",n.intent),this.getFdc3Api().internalApi.handleIntentResolution(n,e,null,t),n}catch(n){this.logFdc3Error(n)}}broadcast(e){if(!!this.getDesktopAgent())try{return this.logFdc3Event("OUT","broadcast",JSON.stringify(e)),this.getDesktopAgent().broadcast(e)}catch(t){this.logFdc3Error(t)}}logFdc3Event(e,...t){!this.getFdc3Options().enableLogging||this.adaptableApi.internalApi.getAdaptableInstance().logger.consoleLog(`FDC3::${e} - `,t.join(" : "))}logFdc3Error(e){this.adaptableApi.consoleError("FDC3 error",e),this.adaptableApi.alertApi.showAlertError("FDC3 Error","See console for details")}getFdc3Api(){return this.adaptableApi.fdc3Api}getFdc3Options(){return this.adaptableApi.optionsApi.getFdc3Options()}buildUiControlsDefaultConfiguration(){var n,r;let e=Object.keys(RT).reduce((i,a)=>(i[a]={icon:{name:RT[a].icon}},i),{}),t=Object.keys(wT).reduce((i,a)=>(i[a]={icon:{name:wT[a].icon}},i),{});return{contexts:S(S({},e),(n=this.getFdc3Options().uiControlsDefaultConfiguration)==null?void 0:n.contexts),intents:S(S({},t),(r=this.getFdc3Options().uiControlsDefaultConfiguration)==null?void 0:r.intents)}}};var C4=W2(),b2e="/",qte=(o,e)=>{!o||(o.field&&!o.colId&&(o.colId=o.field),o.children?o.children.forEach(t=>qte(t,e)):o.colId||e.warn("A column is missing the colId - please check ",o,'Either pass a "field" property or a "colId" property.'))},R2e=Je.prototype,$Nt=R2e.dispatchLocalEvent,Kte=xo.prototype.setColumnDefs;["addCssClass","removeCssClass","containsCssClass","addOrRemoveCssClass"].forEach(o=>{let e=nC.prototype[o];nC.prototype[o]=function(){return this.getGui()?e.apply(this,arguments):void 0}});R2e.dispatchLocalEvent=function(o){let e=o.node,t=$Nt.apply(this,arguments),n=r=>{var a;let i=(a=r==null?void 0:r.beans)==null?void 0:a.gridApi;return i||xi.consoleErrorBase("No GridAPI found in passed RowNode, this should never happen!",r),i};return e&&rp.forEachAdaptable(r=>{if(n(e)!==r.gridOptions.api)return;let i=r.rowListeners?r.rowListeners[o.type]:null;i&&i(o)}),t};var E2e=(o,e,t)=>{o.forEach((n,r,i)=>{n.children?E2e(n.children,e,n):e(n,r,i,t)})},y4={},rp=class{constructor(){this.variant="vanilla";this.colDefPropertyCache=new Map;this.gridOptionsPropertyCache=new Map;this.columnMinMaxValuesCache={};this.isCheckedColumnDataType=!1;this._on=(e,t)=>this.emitter?this.emitter.on(e,t):()=>{};this._onIncludeFired=(e,t)=>this.emitter?this.emitter.onIncludeFired(e,t):()=>{};this._emit=(e,t)=>{if(this.emitter)return this.emitter.emit(e,t)};this._emitSync=(e,t)=>{if(this.emitter)return this.emitter.emitSync(e,t)};this._adaptableReady=!1;this.isDestroyed=!1;this.supressReact18RenderWarning=!1;this.renderReactRoot=(e,t)=>jte(e,t,this.supressReact18RenderWarning);this.isPluginLoaded=e=>{let t=this.adaptableOptions.plugins||[];for(let n=0,r=t.length;n<r;n++)if(t[n].pluginId===e)return!0;return!1};this.isAgGridReady=()=>{var t,n;let e=(n=(t=this.adaptableOptions.containerOptions)==null?void 0:t.agGridContainerWaitTimeout)!=null?n:6e4;return Z2(()=>!!this.gridOptions.api,e)};this.debouncedSetColumnIntoStore=(0,LI.default)(()=>{this.isDestroyed||!this.gridOptions.api||this.updateColumnsIntoStore()},dE);this.debouncedSaveGridLayout=(0,LI.default)(()=>{this.isDestroyed||!this.gridOptions.api||this.updateLayoutFromGrid()},dE);this.debouncedSetSelectedCells=(0,LI.default)(()=>{this.isDestroyed||!this.gridOptions.api||this.setSelectedCells()},250);this.debouncedSetSelectedRows=(0,LI.default)(()=>{this.isDestroyed||!this.gridOptions.api||this.setSelectedRows()},dE);this.debouncedFilterGrid=(0,LI.default)((e=()=>{})=>{this.isDestroyed||!this.gridOptions.api||(this.applyGridFiltering(),e&&e())},dE);this.mapColumnDefs=(e,t,n)=>(n=n||{removeEmpty:!1},e=e||this.getGroupAndColumnDefs(),E2e(e,(r,i,a,s)=>{let l=t(r,i,a),u=s?s.children:a;u[i]=l,i===a.length-1&&n.removeEmpty&&s&&(s.children=u.filter(c=>!!c))}),n.removeEmpty&&(e=e.filter(r=>!!r)),e);this.getGroupAndColumnDefs=()=>[].concat(this.currentColumnDefs||this.gridOptions.columnDefs);this.getColumnDefsWithCorrectVisibility=()=>{let e=this.api.layoutApi.getCurrentVisibleColumnIdsMap();return this.gridOptions.columnApi.getColumns().map(t=>{let n=t.getColDef(),r=t.getColId();return n.colId=r,n.hide=!e[r],n})}}get isLive(){return this.isInitialised&&!this.isDestroyed}static init(e,t){var n;return(n=t==null?void 0:t.modules)!=null&&n.length||xi.consoleErrorBase(`No AG Grid modules were provided, thus limiting AdapTables features significantly!
608
+ import "@adaptabletools/adaptable/themes/${t}.css"`)}};d();var y2e=o=>{var e,t,n,r,i,a,s,l,u,c,p;return o.columnTypes=(e=o.columnTypes)!=null?e:{},Object.assign(o.columnTypes,{[dd]:{},[YS]:{},abColDefNumber:(t=o.columnTypes.abColDefNumber)!=null?t:{},abColDefString:(n=o.columnTypes.abColDefString)!=null?n:{},abColDefBoolean:(r=o.columnTypes.abColDefBoolean)!=null?r:{},abColDefDate:(i=o.columnTypes.abColDefDate)!=null?i:{},abColDefObject:(a=o.columnTypes.abColDefObject)!=null?a:{},abColDefCustom:(s=o.columnTypes.abColDefCustom)!=null?s:{},abColDefStringArray:(l=o.columnTypes.abColDefStringArray)!=null?l:{},abColDefNumberArray:(u=o.columnTypes.abColDefNumberArray)!=null?u:{},abColDefTupleNumberArray:(c=o.columnTypes.abColDefTupleNumberArray)!=null?c:{},abColDefObjectNumberArray:(p=o.columnTypes.abColDefObjectNumberArray)!=null?p:{}})};d();var g4=class{constructor(e){this.adaptableApi=e;this.contextHandlerSubscriptions=[];this.intentHandlerSubscriptions=[];this.loggedAgentError=!1;var a,s,l,u,c,p;let t=(a=this.getFdc3Options().intents)==null?void 0:a.handleIntent,n=(l=(s=this.getFdc3Options().intents)==null?void 0:s.listensFor)!=null?l:[];n.length&&(t||this.adaptableApi.logError("Following FDC3 Intent Listener(s) have been provided but no 'handleIntent' function has been supplied in the FDC3 Options",n),n.forEach(m=>{var h;this.adaptableApi.logInfo(`Listening for FDC3 Intent: ${m}`),(h=this.getDesktopAgent())==null||h.addIntentListener(m,(C,y)=>{this.logFdc3Event("IN","Intent",JSON.stringify(C));let v=T(S({},this.adaptableApi.internalApi.buildBaseContext()),{context:C,intent:m,metadata:y});t==null||t(v);let x=T(S({},this.adaptableApi.internalApi.buildBaseContext()),{direction:"received",eventType:"IntentRaised",intent:m,context:C,metadata:y});this.adaptableApi.eventApi.emit("Fdc3Message",x)}).then(C=>this.intentHandlerSubscriptions.push(C))}));let r=(u=this.getFdc3Options().contexts)==null?void 0:u.handleContext,i=(p=(c=this.getFdc3Options().contexts)==null?void 0:c.listensFor)!=null?p:[];i.length&&(r||this.adaptableApi.logError("Following FDC3 Context Listener(s) have been provided but no 'handleContext' function has been supplied in the FDC3 Options",i),i.forEach(m=>{var h;this.adaptableApi.logInfo(`Listening for FDC3 Context: ${m}`),(h=this.getDesktopAgent())==null||h.addContextListener(m,(C,y)=>{this.logFdc3Event("IN","Context",JSON.stringify(C));let v=T(S({},this.adaptableApi.internalApi.buildBaseContext()),{context:C,metadata:y});r==null||r(v);let x=T(S({},this.adaptableApi.internalApi.buildBaseContext()),{direction:"received",eventType:"ContextBroadcast",context:C,metadata:y});this.adaptableApi.eventApi.emit("Fdc3Message",x)}).then(C=>this.contextHandlerSubscriptions.push(C))})),this.uiControlsDefaultConfiguration=this.buildUiControlsDefaultConfiguration()}getUiControlsDefaultConfiguration(){return this.uiControlsDefaultConfiguration}getDesktopAgent(){return globalThis.fdc3==null&&!this.loggedAgentError&&(this.loggedAgentError=!0,this.adaptableApi.consoleError("FDC3 Desktop Agent not found. This should be provided by the wrapper application.")),globalThis.fdc3}destroy(){this.contextHandlerSubscriptions.forEach(e=>e.unsubscribe()),this.intentHandlerSubscriptions.forEach(e=>e.unsubscribe())}async raiseIntent(e,t,n){if(!!this.getDesktopAgent())try{this.logFdc3Event("OUT",`raise ${e}`,JSON.stringify(t));let r=T(S({},this.adaptableApi.internalApi.buildBaseContext()),{direction:"sent",eventType:"RaiseIntent",intent:e,context:t,app:n});this.adaptableApi.eventApi.emit("Fdc3Message",r);let i=await this.getDesktopAgent().raiseIntent(e,t,n);return this.logFdc3Event("IN","IntentResolution",i.intent),this.getFdc3Api().internalApi.handleIntentResolution(i,t,e,n),i}catch(r){this.logFdc3Error(r)}}async raiseIntentForContext(e,t){if(!!this.getDesktopAgent())try{this.logFdc3Event("OUT","raise for context",JSON.stringify(e));let n=T(S({},this.adaptableApi.internalApi.buildBaseContext()),{direction:"sent",eventType:"RaiseIntentForContext",context:e,app:t});this.adaptableApi.eventApi.emit("Fdc3Message",n);let r=await this.getDesktopAgent().raiseIntentForContext(e,t);return this.logFdc3Event("IN","IntentResolution",r.intent),this.getFdc3Api().internalApi.handleIntentResolution(r,e,null,t),r}catch(n){this.logFdc3Error(n)}}broadcast(e){if(!!this.getDesktopAgent())try{this.logFdc3Event("OUT","broadcast",JSON.stringify(e));let t=T(S({},this.adaptableApi.internalApi.buildBaseContext()),{direction:"sent",eventType:"BroadcastMessage",context:e});return this.adaptableApi.eventApi.emit("Fdc3Message",t),this.getDesktopAgent().broadcast(e)}catch(t){this.logFdc3Error(t)}}logFdc3Event(e,...t){!this.getFdc3Options().enableLogging||this.adaptableApi.internalApi.getAdaptableInstance().logger.consoleLog(`FDC3::${e} - `,t.join(" : "))}logFdc3Error(e){this.adaptableApi.consoleError("FDC3 error",e),this.adaptableApi.alertApi.showAlertError("FDC3 Error","See console for details")}getFdc3Api(){return this.adaptableApi.fdc3Api}getFdc3Options(){return this.adaptableApi.optionsApi.getFdc3Options()}buildUiControlsDefaultConfiguration(){var n,r;let e=Object.keys(RT).reduce((i,a)=>(i[a]={icon:{name:RT[a].icon}},i),{}),t=Object.keys(wT).reduce((i,a)=>(i[a]={icon:{name:wT[a].icon}},i),{});return{contexts:S(S({},e),(n=this.getFdc3Options().uiControlsDefaultConfiguration)==null?void 0:n.contexts),intents:S(S({},t),(r=this.getFdc3Options().uiControlsDefaultConfiguration)==null?void 0:r.intents)}}};var C4=W2(),b2e="/",qte=(o,e)=>{!o||(o.field&&!o.colId&&(o.colId=o.field),o.children?o.children.forEach(t=>qte(t,e)):o.colId||e.warn("A column is missing the colId - please check ",o,'Either pass a "field" property or a "colId" property.'))},R2e=Je.prototype,$Nt=R2e.dispatchLocalEvent,Kte=xo.prototype.setColumnDefs;["addCssClass","removeCssClass","containsCssClass","addOrRemoveCssClass"].forEach(o=>{let e=nC.prototype[o];nC.prototype[o]=function(){return this.getGui()?e.apply(this,arguments):void 0}});R2e.dispatchLocalEvent=function(o){let e=o.node,t=$Nt.apply(this,arguments),n=r=>{var a;let i=(a=r==null?void 0:r.beans)==null?void 0:a.gridApi;return i||xi.consoleErrorBase("No GridAPI found in passed RowNode, this should never happen!",r),i};return e&&rp.forEachAdaptable(r=>{if(n(e)!==r.gridOptions.api)return;let i=r.rowListeners?r.rowListeners[o.type]:null;i&&i(o)}),t};var E2e=(o,e,t)=>{o.forEach((n,r,i)=>{n.children?E2e(n.children,e,n):e(n,r,i,t)})},y4={},rp=class{constructor(){this.variant="vanilla";this.colDefPropertyCache=new Map;this.gridOptionsPropertyCache=new Map;this.columnMinMaxValuesCache={};this.isCheckedColumnDataType=!1;this._on=(e,t)=>this.emitter?this.emitter.on(e,t):()=>{};this._onIncludeFired=(e,t)=>this.emitter?this.emitter.onIncludeFired(e,t):()=>{};this._emit=(e,t)=>{if(this.emitter)return this.emitter.emit(e,t)};this._emitSync=(e,t)=>{if(this.emitter)return this.emitter.emitSync(e,t)};this._adaptableReady=!1;this.isDestroyed=!1;this.supressReact18RenderWarning=!1;this.renderReactRoot=(e,t)=>jte(e,t,this.supressReact18RenderWarning);this.isPluginLoaded=e=>{let t=this.adaptableOptions.plugins||[];for(let n=0,r=t.length;n<r;n++)if(t[n].pluginId===e)return!0;return!1};this.isAgGridReady=()=>{var t,n;let e=(n=(t=this.adaptableOptions.containerOptions)==null?void 0:t.agGridContainerWaitTimeout)!=null?n:6e4;return Z2(()=>!!this.gridOptions.api,e)};this.debouncedSetColumnIntoStore=(0,LI.default)(()=>{this.isDestroyed||!this.gridOptions.api||this.updateColumnsIntoStore()},dE);this.debouncedSaveGridLayout=(0,LI.default)(()=>{this.isDestroyed||!this.gridOptions.api||this.updateLayoutFromGrid()},dE);this.debouncedSetSelectedCells=(0,LI.default)(()=>{this.isDestroyed||!this.gridOptions.api||this.setSelectedCells()},250);this.debouncedSetSelectedRows=(0,LI.default)(()=>{this.isDestroyed||!this.gridOptions.api||this.setSelectedRows()},dE);this.debouncedFilterGrid=(0,LI.default)((e=()=>{})=>{this.isDestroyed||!this.gridOptions.api||(this.applyGridFiltering(),e&&e())},dE);this.mapColumnDefs=(e,t,n)=>(n=n||{removeEmpty:!1},e=e||this.getGroupAndColumnDefs(),E2e(e,(r,i,a,s)=>{let l=t(r,i,a),u=s?s.children:a;u[i]=l,i===a.length-1&&n.removeEmpty&&s&&(s.children=u.filter(c=>!!c))}),n.removeEmpty&&(e=e.filter(r=>!!r)),e);this.getGroupAndColumnDefs=()=>[].concat(this.currentColumnDefs||this.gridOptions.columnDefs);this.getColumnDefsWithCorrectVisibility=()=>{let e=this.api.layoutApi.getCurrentVisibleColumnIdsMap();return this.gridOptions.columnApi.getColumns().map(t=>{let n=t.getColDef(),r=t.getColId();return n.colId=r,n.hide=!e[r],n})}}get isLive(){return this.isInitialised&&!this.isDestroyed}static init(e,t){var n;return(n=t==null?void 0:t.modules)!=null&&n.length||xi.consoleErrorBase(`No AG Grid modules were provided, thus limiting AdapTables features significantly!
609
609
 
610
610
  Read further info here:${bOe}`),rp.initInternal(e,T(S({},t),{supressReact18RenderWarning:!0}))}static async initInternal(e,t){let n=null;if(Array.isArray(e.plugins))for(let i of e.plugins)n=n&&n.then?n.then(()=>i.beforeInit(e,t.gridOptions)):i.beforeInit(e,t.gridOptions);let r=i=>(e._gridOptions&&(t.gridOptions=e._gridOptions),i.init(e,t,!0).then(a=>(Array.isArray(e.plugins)&&e.plugins.forEach(s=>{s.afterInit(i)}),a)));if(n&&n.then)return n.then(()=>{let i=new rp;return r(i)});{let i=new rp;return r(i)}}static collectInstance(e){e._id=e.adaptableOptions.adaptableId||Gt(),y4[e._id]=e}static forEachAdaptable(e){Object.keys(y4).forEach(t=>{e(y4[t])})}static dismissInstance(e){delete y4[e._id]}async init(e,t,n){this.logger=new xi(e.adaptableId||String(Date.now()));let r=this.logger.beginPerf("Adaptable init()");return this.supressReact18RenderWarning=!!t.supressReact18RenderWarning,t.renderReactRoot&&(this.renderReactRoot=(i,a)=>{let s=t.renderReactRoot(i,a);return()=>{typeof s=="function"&&requestAnimationFrame(()=>{s()})}}),t.variant&&(this.variant=t.variant),n||this.logger.warn(`
611
611
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -615,14 +615,14 @@ Read further info here:${bOe}`),rp.initInternal(e,T(S({},t),{supressReact18Rende
615
615
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`),this.emitter=new ch,this.runtimeConfig=t,this.gridOptions=this.runtimeConfig.gridOptions,this.adaptableOptions=jt.assignAdaptableOptions(e),this.adaptableOptions._gridOptions=this.gridOptions,this.hasAutogeneratedPrimaryKey()&&(this.logger.warn(`Autogenerated primary key (adaptableOptions.autogeneratedPrimaryKey = TRUE) should be used only as a last resort,
616
616
  when no unique column is available, as it limits some Adaptable functionalities!
617
617
 
618
- For more details see: ${gOe}`),this.adaptableOptions.primaryKey=$S),rp.collectInstance(this),this.gridOptions.allowContextMenuWithControlKey===void 0&&(this.gridOptions.allowContextMenuWithControlKey=!0),this.isInitialised=!1,this.useRowNodeLookUp=!1,this.forPlugins(i=>i.afterInitOptions(this,this.adaptableOptions)),this.registerAdaptableAggFuncs(),this.api=new NU(this),this.forPlugins(i=>i.afterInitApi(this,this.api)),this.DataService=new _U(this),this.agGridHelper=new r4(this,this.gridOptions),this.agGridMenuHelper=new i4(this,this.gridOptions),this.adaptableOptions.groupingOptions.autoOrderGroupedColumns&&this.setGridOptionsProperty("initialGroupOrderComparator",i=>i||this.agGridHelper.runAdaptableGroupComparerFunction()),this.initStore(),this.LicenseService=this.initLicenseService(),this.ChartingService=new h4(this.api),this.ThemeService=new f4(this.api),this.ValidationService=new UU(this.api),this.ReportService=new GU(this.api),this.ModuleService=new HU(this.api),this.CalculatedColumnExpressionService=new LU(this.api),this.EntitlementService=new WU(this.api),this.QueryLanguageService=new KU(this.api),this.AlertService=new QU(this.api),this.TeamSharingService=new VU(this.api),this.Fdc3Service=new g4(this.api),this.RowEditService=new p4(this.api),this.MetamodelService=new hI(()=>this.api.optionsApi.getAdaptableOptions()),this.MetamodelService.validateAdaptableOptionsValues(),this.forPlugins(i=>i.afterInitServices(this)),this.adaptableModules=this.agGridHelper.setUpModules(),this.forPlugins(i=>i.afterInitModules(this,this.adaptableModules)),this.gridOptions.api&&(this.gridOptions.api.__adaptable=this),this.gridOptions.columnTypes=this.gridOptions.columnTypes||{},y2e(this.gridOptions),this.gridOptions.columnTypes.abColDefNumber.cellEditor===void 0&&(this.gridOptions.columnTypes.abColDefNumber.cellEditor=this.variant==="react"?i2e:W0),this.gridOptions.columnTypes.abColDefDate.cellEditor===void 0&&(this.gridOptions.columnTypes.abColDefDate.cellEditor=this.variant==="react"?u2e:z0),this.initializeAgGrid().then(i=>{if(!i)return this.logger.error("Unable to set up AG Grid"),this.api;this.logger.info("Registered AG Grid modules: ",this.getAgGridRegisteredModuleNames().sort());let a=this;this.gridOptions.api&&(this.gridOptions.api.__adaptable=this,this.gridOptions.api.setColumnDefs=function(l){a.currentColumnDefs=[].concat(l);let u=Kte.apply(this,arguments);return a.setupColumns(),u});let s=this.logger.beginPerf("AdaptableStore.Load");return this.adaptableStore.Load.then(()=>{if(this.isDestroyed)return;s.end();let l=this.logger.beginPerf("InitInternalGridLogic");this.initInternalGridLogic(),l.end(),jt.checkValidPrimaryKey(this)},l=>{this.logger.error("Failed to Init Modules : ",l),this.initInternalGridLogic(),this.api.internalApi.hideLoadingScreen()}).then(async()=>{this.api.internalApi.hideLoadingScreen(),this.isInitialised=!0,this._adaptableReady=!0}),this.abContainerElement==null&&(this.abContainerElement=this.getAdaptableContainerElement()),this.abContainerElement!=null&&(this.abContainerElement.innerHTML="",this.unmountReactRoot=this.renderReactRoot(wke({Adaptable:this}),this.abContainerElement)),this.throttleFilterOnEditDataChange=(0,Qte.default)(()=>this.gridOptions.api.onFilterChanged(),this.adaptableOptions.filterOptions.filterActionOnUserDataChange.throttleDelay,{trailing:!0,leading:!1}),this.throttleFilterOnTickingDataChange=(0,Qte.default)(()=>this.gridOptions.api.onFilterChanged(),this.adaptableOptions.filterOptions.filterActionOnExternalDataChange.throttleDelay,{trailing:!0,leading:!1}),r.end(),this.api})}forPlugins(e){Array.isArray(this.adaptableOptions.plugins)&&this.adaptableOptions.plugins.forEach(t=>{e(t)})}getPlugin(e){let n=(this.adaptableOptions.plugins||[]).filter(r=>r.pluginId===e)[0];if(!n)throw`Cannot find plugin "${e}". Make sure you spelled it right!`;return n}getPluginProperty(e,t,...n){let i=(this.adaptableOptions.plugins||[]).filter(a=>a.pluginId===e)[0];if(!i)throw`Cannot find plugin "${e}". Make sure you spelled it right!`;if(i&&i.hasProperty(t))return i.getProperty(t)(...n)}lookupPlugins(e,...t){let n=this.adaptableOptions.plugins||[];for(let r=0,i=n.length;r<i;r++){let a=n[r];if(a.hasProperty(e))return a.getProperty(e)(...t)}}initStore(){let e=this.logger.beginPerf("new AdaptableStore()");this.adaptableStore=new RH(this,this.isAgGridReady()),e.end(),this.adaptableStore.onAny((t,n)=>{if(this.performAudit(n.action,n.state,n.newState),this.forPlugins(r=>r.onStoreEvent(t,n,this.adaptableStore)),t==JF){let r=this.logger.beginPerf("InitState"),i=this.logger.beginPerf("updateOldConfig()");this.adaptableModules.forEach(a=>a.updateOldConfig()),i.end(),this.forPlugins(a=>a.onAdaptableReady(this,this.adaptableOptions)),this._adaptableReady=!0,this.logger.info("emit AdaptableReady"),this.api.eventApi.emit("AdaptableReady",{adaptableApi:this.api,gridOptions:this.gridOptions}),r.end()}})}performAudit(e,t,n){if(this.isLive){let r={adaptableApi:this.api,actionName:e.type,clientTimestamp:new Date,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId,adaptableStateKey:this.adaptableOptions.adaptableStateKey,action:e,oldState:t,newState:n};this.api.eventApi.emit("AdaptableStateChanged",r)}}initializeAgGrid(){var u;let e=this.logger.beginPerf("initializeAgGrid()");this.setGridOptionsProperty("dataTypeDefinitions",()=>({date:{baseDataType:"date",extendsDataType:"date",valueParser:null,valueFormatter:null,suppressDefaultProperties:!0},dateString:{baseDataType:"dateString",extendsDataType:"dateString",valueParser:null,valueFormatter:null,suppressDefaultProperties:!0}})),this.useRowNodeLookUp=this.agGridHelper.TrySetUpNodeIds(this.hasAutogeneratedPrimaryKey()),Array.isArray(this.gridOptions.columnDefs)&&this.gridOptions.columnDefs.forEach(c=>qte(c,this.logger));let t=this.createAdaptableSideBarDef();t&&(this.gridOptions.components=this.gridOptions.components||{},this.gridOptions.components.AdaptableToolPanel=pBe(this)),this.agGridHelper.isSideBarDefObject(t)&&(this.setGridOptionsProperty("sideBar",()=>t),this.hasAdaptableToolPanel=!0),this.createStatusBars();let n=()=>{let c=this.getAgGridContainerElement();return!c&&(c=this.initAgGridContainerFromInitializedAgGrid(),!c)?(this.logger.consoleError("You must provide an element id in `containerOptions.agGridContainer`"),!1):!0};if(this.gridOptions.api&&typeof this.gridOptions.api.getValue=="function")return n()?(e.end("isGridInstantiated=TRUE, checkAgGridContainer=TRUE"),Promise.resolve(!0)):(e.end("isGridInstantiated=TRUE, checkAgGridContainer=FALSE"),Promise.resolve(!1));if(this.runtimeConfig.waitForAgGrid)return this.isAgGridReady().then(()=>{let c=this.logger.beginPerf("initAgGridContainerFromInitializedAgGrid");return this.initAgGridContainerFromInitializedAgGrid(),c.end(),e.end("waitForAgGrid=TRUE"),Promise.resolve(!0)},()=>(this.logger.consoleError("Could not find any AG Grid instance rendered. Could not find reference to AG Grid api. Make sure you pass the same gridOptions object reference both to Adaptable and AG Grid"),e.end("waitForAgGrid=TRUE, ERROR!"),Promise.reject(!1)));if(!n())return e.end("waitForAgGrid=FALSE, checkAgGridContainer=FALSE!"),Promise.resolve(!1);let i,a=this.getAgGridContainerElement(),s=this.logger.beginPerf("new AgGrid()"),l;return(u=this.runtimeConfig.modules)!=null&&u.length&&(l={modules:this.runtimeConfig.modules}),i=new GR(a,this.gridOptions,l),s.end(),this.gridOptions.api&&(this.gridOptions.api.__adaptable=this),e.end("AG Grid instantiation"),Promise.resolve(i!=null)}initAgGridContainerFromInitializedAgGrid(){if(this.getAgGridContainerElement())return;let e=this.gridOptions.api?this.gridOptions.api.gridOptionsWrapper?this.gridOptions.api.gridOptionsWrapper.layoutElements||[]:[]:[];if(!e.length){let n=r=>r.ctrlsService.getGridBodyCtrl().getGridBodyElement();e.push(n(this.gridOptions.api))}let t;for(let n=0,r=e.length;n<r;n++){let i=e[n];if(i&&i.matches(".ag-root-wrapper, .ag-root")){let a=i.closest('[class*="ag-theme"]');if(a){t=a;break}}}return t||this.logger.consoleError("Could not find the AG Grid Container. This will probably break some AdapTable functionality."),this.adaptableOptions.containerOptions.agGridContainer=t}createAdaptableSideBarDef(){var t;if(!this.gridOptions.sideBar)return;let e=this.EntitlementService.isModuleHiddenEntitlement("ToolPanel");if(this.gridOptions.sideBar===!0){let n=[];return n.push($9),n.push(q9),e||n.push(this.agGridHelper.buildAdaptableToolPanelDef()),{toolPanels:n}}else if(typeof this.gridOptions.sideBar=="string"){if(this.gridOptions.sideBar===LC&&!e)return{toolPanels:[this.agGridHelper.buildAdaptableToolPanelDef()]}}else if(Array.isArray(this.gridOptions.sideBar)){if(!this.gridOptions.sideBar.includes(LC)||e)return;let n={};return n.toolPanels=this.agGridHelper.mapToolPanelDefs(this.gridOptions.sideBar),n}else if(this.agGridHelper.isSideBarDefObject(this.gridOptions.sideBar))return(t=this.gridOptions.sideBar.toolPanels)!=null&&t.some(n=>typeof n!="string"&&n.id===LC&&!e)?!0:T(S({},this.gridOptions.sideBar),{toolPanels:this.agGridHelper.mapToolPanelDefs(this.gridOptions.sideBar.toolPanels)})}createStatusBars(){let e=[];this.setGridOptionsProperty("statusBar",n=>{var i,a;let r=(a=(i=n==null?void 0:n.statusPanels)!=null?i:[])==null?void 0:a.map(s=>{if(s.statusPanel===c2e){e.push(s.key);let l={Key:s.key};return T(S({},s),{statusPanel:p2e(h2e,this,l)})}return s});return T(S({},n),{statusPanels:r})});let t=this.ModuleService.getModuleById(Uf);this.api.eventApi.on("AdaptableReady",()=>{var r,i;let n=(i=(r=this.gridOptions.statusBar)==null?void 0:r.statusPanels)==null?void 0:i.filter(a=>e.includes(a.key));t.syncStateWithOptions(n)})}getAgGridStatusPanels(){var e,t,n;return(n=(t=(e=this.gridOptions)==null?void 0:e.statusBar)==null?void 0:t.statusPanels)!=null?n:[]}filterOnEditDataChange(){this.adaptableOptions.filterOptions.filterActionOnUserDataChange.applyFilter=="Always"?this.gridOptions.api.onFilterChanged():this.adaptableOptions.filterOptions.filterActionOnUserDataChange.applyFilter=="Throttle"&&this.throttleFilterOnEditDataChange()}filterOnTickingDataChange(){this.adaptableOptions.filterOptions.filterActionOnExternalDataChange.applyFilter=="Always"?this.gridOptions.api.onFilterChanged():this.adaptableOptions.filterOptions.filterActionOnExternalDataChange.applyFilter=="Throttle"&&this.throttleFilterOnTickingDataChange()}applyGridFiltering(){this.api.filterApi.isQuickFilterAvailable()&&(this.api.filterApi.isQuickFilterVisible()?this.showQuickFilter():this.hideQuickFilter()),this.gridOptions.api.onFilterChanged(),this._emit("GridFiltered"),this.setSelectedCells(),this.setSelectedRows(),this.updateColumnFilterActiveState()}isGroupRowNode(e){return e?!!(e.isEmptyRowGroupNode()||e.group&&e.group===!0||e.leafGroup&&e.leafGroup===!0):!1}isVisibleNode(e){return this.gridOptions.api.getRenderedNodes().find(n=>n.id==e.id)!=null}isPinnedRowNode(e){return e?!!e.isRowPinned():!1}clearGridFiltering(){this.gridOptions.columnApi.getColumns().forEach(e=>{this.gridOptions.api.destroyFilter(e)})}clearColumnFiltering(e){e.forEach(t=>{let n=this.gridOptions.columnApi.getColumns().find(r=>r.getColId()==t);n&&this.gridOptions.api.destroyFilter(n)})}hideFilterForm(){this.hideFilterFormPopup&&this.hideFilterFormPopup()}updateColumnsIntoStore(){let e=[],t=this.gridOptions.columnApi.getColumns(),n=this.gridOptions.columnApi.getAllDisplayedColumnGroups(),r={},i=n.reduce((a,s)=>{var m,h,C;if(!((h=(m=s.getProvidedColumnGroup)==null?void 0:m.call(s))!=null&&h.getColGroupDef()))return a;let l=s.getGroupId(),u=!s.getProvidedColumnGroup().getColGroupDef().marryChildren,c=(C=s.getProvidedColumnGroup().getColGroupDef().headerName)!=null?C:l,p=s.getLeafColumns();return p.forEach(y=>{let v={columnGroupId:l,friendlyName:c,allowGroupSplit:u,groupCount:0};r[v.columnGroupId]=r[v.columnGroupId]||0,r[v.columnGroupId]+=p.length,a[y.getColId()]=v}),a},{});Object.keys(i).forEach(a=>{i[a].groupCount=r[i[a].columnGroupId]}),t.forEach(a=>{let s=a.getColId();this.api.columnApi.isAutoRowGroupColumn(s)||e.push(this.createAdaptableColumn(a,i))}),this.api.gridApi.internalApi.setColumns(e)}createAdaptableColumn(e,t){return this.agGridHelper.createAdaptableColumnFromAgGridColumn(e,t)}safeSetColDefs(e){e=this.mapColumnDefs(e,t=>(t.field&&t.colId==null&&(t.colId=t.field),t)),this.gridOptions.api.setColumnDefs(e),this.updateColumnsIntoStore()}getFormatColumnAndStyledColumnCellStyle(e,t,n){let r=this.api.styledColumnApi.getStyledColumnForColumnId(t),i={};if(r&&!(r!=null&&r.IsSuspended)){let s=this.getStyledColumnStyle(r,e,n);if(r.PercentBarStyle||r.BadgeStyle)i=s;else return s}let a=this.api.formatColumnApi.internalApi.getFormatColumnsWithStyleForColumn(e);return S(S({},this.getFormatColumnCellStyle(e,a,n)),i)}getStyledColumnStyle(e,t,n){let r={},i=e==null?void 0:e.GradientStyle;if(n.value===void 0)return;let a=n.value;if(this.api.gridApi.isGroupRowNode(n.node))if(e.IncludeGroupedRows){let s=this.api.styledColumnApi.internalApi.getMinValueForNumericColumn(t),l=this.api.styledColumnApi.internalApi.getMaxValueForNumericColumn(t);a=(0,x2e.default)(n.value,s,l)}else return r;if(i){let s=this.api.styledColumnApi.internalApi.getNumericStyleMinValue(e,t,n.node,a),l=this.api.styledColumnApi.internalApi.getNumericStyleMaxValue(e,t,n.node,a),u,c=!1;if(i.ColumnComparison)u=i.ColumnComparison.Color;else{let y=this.api.styledColumnApi.internalApi.findRangeForColumn(i.CellRanges,t,i.RangeValueType,a);y&&(u=y.Color,c=y.ReverseGradient)}let p=Math.abs(l-s),m=(a-s)/p*100,h=Number((m/100).toPrecision(2));c&&(h=1-h);let C=ug(u);u&&(r.backgroundColor=C4(C).setAlpha(h).toRgbString())}return e.PercentBarStyle&&e.PercentBarStyle.CellText&&(r.paddingTop=0,r.paddingBottom=0),r}getFormatColumnAdaptableStyle(e){return e.reduceRight((t,n)=>{let r=n.Style?this.convertAdaptableStyleToCSS(n.Style):{};if(n.CellAlignment)switch(n.CellAlignment){case"Left":t.textAlign="left";break;case"Right":t.textAlign="right";break;case"Center":t.textAlign="center";break}return S(S({},t),r)},{})}getFormatColumnCellStyle(e,t,n){if(!t.length)return{};let r=t.filter(i=>this.api.formatColumnApi.internalApi.isFormatColumnRelevantForColumn(i,e,n));return this.getFormatColumnAdaptableStyle(r)}getFormatColumnCellClass(e,t,n){return e.map(i=>{var a,s;if(((a=i.Style)==null?void 0:a.ClassName)&&this.api.formatColumnApi.internalApi.isFormatColumnRelevantForColumn(i,t,n))return(s=i.Style)==null?void 0:s.ClassName}).filter(i=>!!i)}getActiveAlertWithHighlightCell(e,t){return this.api.alertApi.internalApi.getAdaptableAlertWithHighlightCell(e.columnId,t.node)}getActiveAlertWithHighlightRow(e){return this.api.alertApi.internalApi.getAdaptableAlertWithHighlightRow(e.node)}getAlertCellStyle(e,t){let n=this.getActiveAlertWithHighlightCell(e,t);if(n){let r=n.alertDefinition.AlertProperties.HighlightCell;return typeof r=="object"?this.convertAdaptableStyleToCSS(r):{backgroundColor:Uo.getColorByMessageType(n.alertDefinition.MessageType)}}}getAlertCellClass(e,t){var i,a;let n=this.getActiveAlertWithHighlightCell(e,t),r=(a=(i=n==null?void 0:n.alertDefinition)==null?void 0:i.AlertProperties)==null?void 0:a.HighlightCell;return typeof r=="object"&&(r==null?void 0:r.ClassName)?r==null?void 0:r.ClassName:null}getAlertRowClass(e){var r,i;let t=this.getActiveAlertWithHighlightRow(e),n=(i=(r=t==null?void 0:t.alertDefinition)==null?void 0:r.AlertProperties)==null?void 0:i.HighlightRow;return typeof n=="object"&&(n==null?void 0:n.ClassName)?n==null?void 0:n.ClassName:null}getAlertRowStyle(e){var r,i;let t=this.getActiveAlertWithHighlightRow(e),n=(i=(r=t==null?void 0:t.alertDefinition)==null?void 0:r.AlertProperties)==null?void 0:i.HighlightRow;return n?typeof n=="object"?this.convertAdaptableStyleToCSS(n):{backgroundColor:Uo.getColorByMessageType(t.alertDefinition.MessageType)}:null}getFlashingCellStyle(e,t){var i;let n=t.node.aggData?t.node.id:this.getPrimaryKeyValueFromRowNode(t.node),r=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(n,e.columnId);return r?this.convertAdaptableStyleToCSS((i=r.direction==="up"?r.flashingCellDefinition.UpChangeStyle:r.direction==="down"?r.flashingCellDefinition.DownChangeStyle:r.flashingCellDefinition.NeutralChangeStyle)!=null?i:{}):{}}getCommentCellClassName(e,t){if(!this.api.internalApi.getModuleService().isModuleAvailable("Comments"))return;let n={PrimaryKeyValue:this.getPrimaryKeyValueFromRowNode(t.node),ColumnId:e.columnId},r=this.api.commentsApi.getCellComments(n);if(!!(r!=null&&r.length))return"ab-Cell-Comment"}getFlashingCellClass(e,t){var i,a,s;let n=t.node.aggData?t.node.id:this.getPrimaryKeyValueFromRowNode(t.node),r=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(n,e.columnId);if(!!r)return r.direction==="up"?(i=r.flashingCellDefinition.UpChangeStyle)==null?void 0:i.ClassName:r.direction==="down"?(a=r.flashingCellDefinition.DownChangeStyle)==null?void 0:a.ClassName:r.direction==="neutral"?(s=r.flashingCellDefinition.NeutralChangeStyle)==null?void 0:s.ClassName:void 0}getCellHighlightStyle(e,t){let n=this.getPrimaryKeyValueFromRowNode(t.node),r=this.api.internalApi.getSystemState().HighlightedCells.find(i=>e.columnId===i.columnId&&i.primaryKeyValue===n);if(r)return this.convertAdaptableStyleToCSS(r.highlightStyle)}getRowHighlightStyle(e){var r;let t=this.getPrimaryKeyValueFromRowNode(e.node),n=(r=this.api.internalApi.getSystemState().HighlightedRows)==null?void 0:r.find(i=>i.primaryKeyValue===t);if(n)return this.convertAdaptableStyleToCSS(n.highlightStyle)}getRowHighlightClass(e){var r;let t=this.getPrimaryKeyValueFromRowNode(e.node),n=(r=this.api.internalApi.getSystemState().HighlightedRows)==null?void 0:r.find(i=>i.primaryKeyValue===t);return typeof(n==null?void 0:n.highlightStyle)=="object"?n.highlightStyle.ClassName:null}getQuickSearchCellStyle(){let e=this.api.quickSearchApi.getQuickSearchStyle();if(!(!e||ct.IsNotNullOrEmpty(e.ClassName)))return this.convertAdaptableStyleToCSS(e)}getEditableCellStyle(e,t){let n=this.api.userInterfaceApi.getEditableCellStyle();if(!n)return;let r=this.getGridCellFromRowNode(t.node,e.columnId);if(r&&this.api.gridApi.isCellEditable(r))return this.convertAdaptableStyleToCSS(n)}getReadOnlyCellStyle(e,t){let n=this.api.userInterfaceApi.getReadOnlyCellStyle();if(!n)return;let r=this.getGridCellFromRowNode(t.node,e.columnId);if(r&&!this.api.gridApi.isCellEditable(r))return this.convertAdaptableStyleToCSS(n)}getEditableCellClass(e,t){let n=this.api.userInterfaceApi.getEditableCellStyle();return n!=null&&n.ClassName&&this.api.gridApi.isCellEditable(this.getGridCellFromRowNode(t.node,e.columnId))?n.ClassName:null}getReadonlyCellClass(e,t){let n=this.api.userInterfaceApi.getReadOnlyCellStyle();return n!=null&&n.ClassName&&!this.api.gridApi.isCellEditable(this.getGridCellFromRowNode(t.node,e.columnId))?n.ClassName:null}isQuickSearchActive(e,t){var l;if(e.isExcludedFromQuickSearch||!t.node||!this.api.optionsApi.getQuickSearchOptions().runQuickSearchOnRowGroups&&t.node.group)return!1;let n=this.api.quickSearchApi.getQuickSearchValue();if(ct.IsNullOrEmpty(n))return!1;let r=(l=this.api.gridApi.getDisplayValueFromRowNode(t.node,e.columnId))!=null?l:"",i=!this.adaptableOptions.quickSearchOptions.runQuickSearchWithCaseSensitivity,a=i?String(r).toLocaleLowerCase():String(r),s=i?String(n).toLocaleLowerCase():String(n);return a.indexOf(s)!==-1}getPrimaryKeyValueFromRowNode(e){var r;if(!e)return null;let t=this.getGridOptionsApi(),n;return t&&!this.hasAutogeneratedPrimaryKey()&&(n=t.getValue(this.adaptableOptions.primaryKey,e)),(n===null||n==null)&&e.data&&(n=(r=e.data[this.adaptableOptions.primaryKey])!=null?r:null),n}getSortedColumnStateForVisibleColumns(e,t){t=t||this.gridOptions.columnApi.getColumnState();let n=e.reduce((s,l,u)=>(s[l]=u,s),{}),r=t.reduce((s,l,u)=>(s[l.colId]=u,s),{}),i=e.reduce((s,l,u)=>(s[l]=u,s),{});return[...t].sort((s,l)=>{let u=s.colId,c=l.colId,p=r[u],m=r[c],h=this.api.columnApi.isAutoRowGroupColumn(u),C=this.api.columnApi.isAutoRowGroupColumn(c);return h&&C?1:h?-1:C?1:i[u]!=null&&i[c]==null?-1:i[u]==null&&i[c]!=null?1:i[u]==null&&i[c]==null?p-m:i[s.colId]-i[l.colId]}).map(s=>T(S({},s),{hide:n[s.colId]==null}))}setColumnOrder(e){let t=this.getSortedColumnStateForVisibleColumns(e);this.gridOptions.columnApi.applyColumnState({state:t,applyOrder:!0}),this.updateColumnsIntoStore()}persistLayout(e){this.api.layoutApi.shouldAutoSaveLayouts()?this.api.layoutApi.createOrUpdateLayout(e):this.api.layoutApi.internalApi.updateCurrentDraftLayout(e)}setLayout(e){var P,D,F,M,O,_,H;e||(e=this.api.layoutApi.getCurrentLayout());let t=this.logger.beginPerf(`setLayout(${e.Name})`);e.Columns=e.Columns||[];let n=this.getColDefsForActionRowColumns()[0];n&&(e.Columns.push(n.colId),e.PinnedColumnsMap=e.PinnedColumnsMap||{},e.PinnedColumnsMap[n.colId]=n.pinned);let r=e.Columns.reduce((j,B)=>(j[B]=!0,j),{}),i=this.gridOptions.columnApi.getColumnState(),a={},s=i.reduce((j,B,V)=>(a[B.colId]=V,j[B.colId]=B,j),{}),l=0,u=((P=e.ColumnSorts)!=null?P:[]).reduce((j,B)=>{let V=B.ColumnId;return j[V]={colId:V,sort:B.SortOrder==="Asc"?"asc":"desc",sortIndex:l},l++,j},{}),c=(e.RowGroupedColumns||[]).reduce((j,B,V)=>(j[B]=V,j),{}),p={},m=e.AggregationColumns||{},h=e.EnablePivot?((D=this.gridOptions.columnApi.getPivotResultColumns())==null?void 0:D.map(j=>j.getColId()))||[]:e.Columns,C=!1,y={},v=this.getSortedColumnStateForVisibleColumns(h,i);if(v=v.map(j=>{var se,ie,he,De,tt;let{colId:B}=j,V=s[B],$=this.api.columnApi.isAutoPivotColumn(B)?j.hide:!r[B],K=T(S({},V),{hide:$});e.ColumnWidthMap&&e.ColumnWidthMap[B]!=null?K.width=e.ColumnWidthMap[B]:$||(y[B]=!0),n&&n.colId===B&&(K.width=n.width),K.rowGroupIndex=c[B]!=null?c[B]:null;let Z=K.rowGroup;K.rowGroup=K.rowGroupIndex!=null,!Z&&K.rowGroup&&this.triggerSetupColumnKeyCreator(B);let oe=z=>typeof z=="string"?z:z==!0?"left":!!z,X=oe(e.PinnedColumnsMap?e.PinnedColumnsMap[B]:!1),xe=oe(K.pinned);if(X!==xe&&(K.pinned=X),K.pivotIndex=null,p[B]!=null&&(K.pivotIndex=p[B]),K.aggFunc=null,m[B]!=null){let z=(ie=(se=this.gridOptions)==null?void 0:se.api)==null?void 0:ie.getColumnDef(B),W=null,U=m[B],ee=this.getActiveAdaptableAggFuncForCol(B);U===!0?W=(tt=(De=(he=j.aggFunc)!=null?he:z==null?void 0:z.aggFunc)!=null?De:z==null?void 0:z.defaultAggFunc)!=null?tt:"sum":ee&&ee.type==="weightedAverage"?W=RI:typeof U=="string"&&(W=U),K.aggFunc=W}return u[B]?(K.sort=u[B].sort,K.sortIndex=u[B].sortIndex):(K.sort=null,K.sortIndex=null),C=C||!(0,v2e.default)(K,V),K}).filter(j=>!!j),!C){let j=$=>`${$.colId}-${$.rowGroupIndex}-${$.pivotIndex}-${$.aggFunc}-${$.pinned}-${$.width}-${$.hide}`,B=i.map(j).join(",");C=v.map(j).join(",")!=B}let x=!!e.EnablePivot,A=this.gridOptions.columnApi.isPivotMode()!==x;A&&this.setupColumns(),C=C||A;let R=!1;if(R=this.setupColumnHeaderAggregations(e),this.gridOptions.columnApi.getColumns().forEach(j=>{let B=j.getColDef(),V=j.getColId(),$=this.api.columnApi.getColumnWithColumnId(V),K={col:j,colDef:B,colId:V,abColumn:$};R=this.setupColumnHeader(K)||R}),C=C||R,C){A&&this.gridOptions.columnApi.setPivotMode(x);let j=this.logger.beginPerf("applyColumnState (layout.isChanged)");this.gridOptions.columnApi.applyColumnState({state:v,applyOrder:!0}),this.applyGroupColumnWidth(e),j.end(),this.api.gridApi.setColumnSorts(e.ColumnSorts),this.gridOptions.columnApi.setPivotColumns(e.PivotColumns||[]);let B=this.logger.beginPerf("GridApi_setColumnDefs");Kte.call(this.gridOptions.api,this.gridOptions.api.getColumnDefs()),B.end(),this.updateRowGroupsExpandedState(e)}let w=Object.keys(y);x&&((M=(F=this.adaptableOptions)==null?void 0:F.layoutOptions)==null?void 0:M.autoSizeColumnsInPivotLayout)?(requestAnimationFrame(()=>{this.gridOptions.columnApi.autoSizeAllColumns()}),setTimeout(()=>{var j;(j=this.gridOptions.columnApi)==null||j.autoSizeAllColumns(),setTimeout(()=>{var B;(B=this.gridOptions.columnApi)==null||B.autoSizeAllColumns()},200)},100)):((_=(O=this.adaptableOptions)==null?void 0:O.layoutOptions)==null?void 0:_.autoSizeColumnsInLayout)&&w.length&&((H=this.gridOptions.columnApi)==null||H.autoSizeColumns(w)),this.forPlugins(j=>{j.afterSetLayout&&j.afterSetLayout(this,e)}),t.end()}applyGroupColumnWidth(e){if(!e.RowGroupedColumns||!e.RowGroupedColumns.length)return;let t=this.gridOptions.columnApi.getColumnState().reduce((n,r)=>{var i;if(r.colId===(dl==null?void 0:dl.AG_GRID_GROUPED_COLUMN)){let a=(i=e.ColumnWidthMap)==null?void 0:i[r.colId];a&&a!==r.width&&n.push(T(S({},r),{width:a}))}return n},[]);t.length!==0&&this.gridOptions.columnApi.applyColumnState({state:t})}updateRowGroupsExpandedState(e){e||(e=this.api.layoutApi.getCurrentLayout()),this.api.layoutApi.internalApi.areExpandedRowGroupsSavedInLayouts()&&pt.IsNotNullOrEmpty(e.ExpandedRowGroupValues)&&this.expandRowGroupsForValues(e.ExpandedRowGroupValues),this.adaptableOptions.layoutOptions.displayRowGroups==="expanded"&&this.expandAllRowGroups()}updateLayoutFromGrid(){var h,C;let e=this.api.layoutApi.getCurrentLayout();if(e.IsReadOnly){this.setLayout();return}let t=S({},e),n=[],r={},i={},a=[],s=this.gridOptions.columnApi.getColumnState(),l=[...new Array(s.length)],u=[...new Array(s.length)],c=[],p={},m=s.reduce((y,v)=>{let{colId:x}=v;return v.sort&&v.sortIndex!=null&&a.push({ColumnId:x,SortOrder:v.sort==="asc"?"Asc":"Desc",SortIndex:v.sortIndex}),v.width!=null&&(y[x]=v.width),v.flex!=null&&(r[x]=v.flex),v.pinned==="left"&&(i[x]="left"),v.pinned==="right"&&(i[x]="right"),v.hide||n.push(x),v.rowGroupIndex!=null&&(l[v.rowGroupIndex]=x),v.pivotIndex!=null&&(u[v.pivotIndex]=x),v.aggFunc&&typeof v.aggFunc=="string"&&(p[x]=v.aggFunc),y},{});a.sort((y,v)=>y.SortIndex-v.SortIndex),this.gridOptions.columnApi.getPivotColumns().forEach(y=>{c.push(y.getColId())}),l=l.filter(y=>!!y),u=u.filter(y=>!!y),(C=(h=this.adaptableOptions)==null?void 0:h.groupingOptions)!=null&&C.restoreUngroupedColumns&&(n=this.restoreUnGroupColumnOrder({columnOrder:n,newGroupColumns:l})),t.ColumnWidthMap=m,t.PinnedColumnsMap=i,t.Columns=n,t.ColumnSorts=a,t.RowGroupedColumns=l,Object.keys(p).length?t.AggregationColumns=this.mapAggregationColumnsFromGrid(p,e):t.AggregationColumns={},t.EnablePivot=this.gridOptions.columnApi.isPivotMode(),t.PivotColumns=c,this.api.layoutApi.internalApi.areExpandedRowGroupsSavedInLayouts()&&this.api.gridApi.getFirstDisplayedRowNode()&&(t.ExpandedRowGroupValues=this.getExpandRowGroupsKeys()),this.persistLayout(t)}setSelectedCells(){if(!this.isGridRangeSelectable())return;let e=this.gridOptions.api.getCellRanges(),t=[],n=[];if(this.api.internalApi.isGridInPivotMode())return;e&&e.forEach(i=>{let a=!0;if(i.startRow&&i.endRow){let s=i.startRow.rowPinned!=null,l=i.endRow.rowPinned!=null;if(s&&(l&&(a=!1),this.logger.consoleWarn("Cannot select pinned rows in AG Grid.")),a){let u=Math.min(i.startRow.rowIndex,i.endRow.rowIndex),c=Math.max(i.startRow.rowIndex,i.endRow.rowIndex);for(let p of i.columns)if(p!=null){let m=p.getColId(),h=this.api.columnApi.getColumnWithColumnId(m);h&&t.find(C=>C.columnId==h.columnId)==null&&t.push(h);for(let C=u;C<=c;C++){let y=this.gridOptions.api.getModel().getRow(C);if(y&&!this.isPinnedRowNode(y)){let v=this.getGridCellFromRowNode(y,m);n.push(v)}}}}}});let r={columns:t,gridCells:n};return this.api.gridApi.internalApi.setSelectedCells(r),this._emit("CellsSelected"),this.agGridHelper.fireSelectionChangedEvent(),r}setSelectedRows(){if(!this.isGridSelectable())return;let e=this.gridOptions.api.getSelectedNodes(),t=[];if(this.gridOptions.columnApi.isPivotMode())return;pt.IsNotNullOrEmpty(e)&&e.forEach(r=>{let i={isMaster:r.master!=null&&r.master==!0,isExpanded:r.expanded!=null&&r.expanded==!0,isGroup:r.group!=null&&r.group==!0,isSelected:!0,isDisplayed:r.displayed==!0,rowGroupLevel:r.level},a={primaryKeyValue:this.getPrimaryKeyValueFromRowNode(r),rowData:r.data,rowNode:r,rowInfo:i};t.push(a)});let n={gridRows:t};return this.api.gridApi.internalApi.setSelectedRows(n),this.agGridHelper.fireSelectionChangedEvent(),n}setDataValue(e,t,n,r){let i,a=t.dataType;if(i=a=="Number"?Number(e):e,a!=null)if(r)r.setDataValue(t.columnId,i);else if(this.useRowNodeLookUp){let s=this.gridOptions.api.getRowNode(n);s!=null&&s.setDataValue(t.columnId,i)}else{let s=!1;this.gridOptions.api.getModel().forEachNode(l=>{s||n==this.getPrimaryKeyValueFromRowNode(l)&&(l.setDataValue(t.columnId,i),s=!0)})}}cancelEdit(){this.gridOptions.api.stopEditing(!0)}isCellEditable(e,t){return t==null?void 0:t.isCellEditable(e)}getGridCellsForColumn(e){let t=[];return this.gridOptions.api.forEachNode(n=>{let r=this.getGridCellFromRowNode(n,e);r&&r.rawValue!=null&&t.push(r)}),t}getDistinctValuesForColumn(e,t,n,r){let i=[];r=r!=null?r:this.api.userInterfaceApi.getPermittedValuesForColumn(e),pt.IsNotNull(r)?i=r.map(s=>({rawValue:s,displayValue:s,normalisedValue:s,columnId:e.columnId,column:e,rowNode:void 0})):t?this.gridOptions.api.forEachNodeAfterFilter(s=>{let l=this.addDistinctColumnValue(s,e.columnId);l&&l.rawValue!=null&&l.rowNode!==n&&i.push(l)}):this.gridOptions.api.forEachNode(s=>{let l=this.addDistinctColumnValue(s,e.columnId);l&&l.rowNode!==n&&(l.rawValue==null&&this.adaptableOptions.filterOptions.includeBlankFilterValues&&(l.rawValue=_C,l.displayValue=_C,l.normalisedValue=_C),i.push(l))});let a=(0,$te.default)(i,s=>{let l=s.rawValue;return l instanceof Date?l.toISOString():l});return e.dataType=="String"&&this.api.predicateApi.useCaseSensitivity()&&(a=(0,$te.default)(a,s=>s.displayValue.toLowerCase())),a.slice(0,this.adaptableOptions.filterOptions.maxFilterValuesToDisplay)}async getDistinctFilterValuesForColumn(e,t,n,r){var s;let i=(s=this.api.userInterfaceApi.getFilterPermittedValuesForColumn(e))!=null?s:{suppressFilterSearchBar:!1,values:()=>{}},a;try{let l={adaptableApi:this.api,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId,column:e,searchFilter:n};a=await(i==null?void 0:i.values(l))}catch(l){this.logger.consoleError("Failed to load filter permitted values",e,n,l)}return{suppressClientSideFilter:i.suppressFilterSearchBar,gridCells:this.getDistinctValuesForColumn(e,t,r,a)}}async getDistinctCustomSortValuesForColumn(e,t,n){let r=await this.api.userInterfaceApi.getCustomSortPermittedValuesForColumn(e),i;try{let a={adaptableApi:this.api,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId,column:e};i=await(r==null?void 0:r.values(a))}catch(a){this.logger.consoleError("Failed to load custom sort permitted values",e,a)}return this.getDistinctValuesForColumn(e,t,n,i)}async getDistinctBulkUpdateValuesForColumn(e,t,n,r){let i=await this.api.userInterfaceApi.getBulkUpdatePermittedValuesForColumn(e),a;try{let s={adaptableApi:this.api,column:e,gridCells:n,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId};a=await(i==null?void 0:i.values(s))}catch(s){this.logger.consoleError("Failed to load bulk permitted values",s,e,n)}return this.getDistinctValuesForColumn(e,t,r,a)}getColumnValueDisplayValuePairList(e,t,n){let r=[],i=new Map,a=this.api.columnApi.getColumnWithColumnId(e),s=this.api.userInterfaceApi.getPermittedValuesForColumn(a);pt.IsNotNullOrEmpty(s)?s.forEach(u=>{i.set(u,{rawValue:u,displayValue:u,normalisedValue:u,column:a,rowNode:void 0})}):i=null;let l=(u,c)=>{if(u&&!this.isGroupRowNode(u)){let p=this.getGridCellFromRowNode(u,c),m=!i||i.has(p.displayValue);if(m&&n){let h=this.getPrimaryKeyValueFromRowNode(u);m=!!n[h]}m&&r.push(p)}};return t?this.gridOptions.api.forEachNodeAfterFilter(u=>{l(u,e)}):this.gridOptions.api.forEachNode(u=>{l(u,e)}),r.slice(0,this.adaptableOptions.filterOptions.maxFilterValuesToDisplay)}addDistinctColumnValue(e,t){if(e&&!this.isGroupRowNode(e)){let n=this.getGridCellFromRowNode(e,t);if(qo.objectExists(n))return n}else return}getDisplayValue(e,t){let n;if(this.useRowNodeLookUp){let r=this.getRowNodeForPrimaryKey(e);return this.getDisplayValueFromRowNode(r,t)}else{let r=!1;this.gridOptions.api.getModel().forEachNode(i=>{if(!r){let a=this.getPrimaryKeyValueFromRowNode(i);e==a&&(n=this.getDisplayValueFromRowNode(i,t)),r=!0}})}return n}getGridCellFromRowNode(e,t){if(e==null)return;let n=this.api.columnApi.getColumnWithColumnId(t),r=this.getPrimaryKeyValueFromRowNode(e),i=this.getRawValueFromRowNode(e,t),a=this.getDisplayValueFromRawValue(e,t,i),s=this.getNormalisedValueFromRawValue(i,n);return{rawValue:i,displayValue:a,normalisedValue:s,column:n,primaryKeyValue:r,rowNode:e}}getDisplayValueFromRowNode(e,t){if(e==null)return;let n=this.getRawValueFromRowNode(e,t);return this.getDisplayValueFromRawValue(e,t,n)}getDisplayValueFromRawValue(e,t,n){if(this.api.columnApi.isActionColumn(t))return this.agGridHelper.getCleanValue(n);let i=this.gridOptions.api.getColumnDef(t);return i&&typeof i.valueFormatter=="function"?this.getFormattedValue(e,n,t,i,i.valueFormatter)||"":this.agGridHelper.getCleanValue(n)}getFormattedValue(e,t,n,r,i){let a=this.gridOptions.columnApi.getColumns().find(l=>l.getColId()==n),s={value:t,node:e,data:e.data,colDef:r,column:a,api:this.gridOptions.api,columnApi:this.gridOptions.columnApi,context:this.gridOptions.context};return i(s)}getNormalisedValueFromRawValue(e,t){if(!t||e==null)return e;let n=t.dataType;return n==="String"?typeof e!="string"?String(e):e:n==="Number"?typeof e!="number"&&ct.IsNumeric(e)?Number(e):e:n==="Boolean"?typeof e!="boolean"?Boolean(e):e:n==="Date"?e instanceof Date?e:mn(e):e}getRawValueFromRowNode(e,t){if(e!=null)return this.gridOptions.api.getValue(t,e)}getDataRowFromRowNode(e){return e!=null&&e!=null?e.data:void 0}getRowNodeForPrimaryKey(e){if(this.useRowNodeLookUp)return this.gridOptions.api.getRowNode(e);this.gridOptions.api.getModel().forEachNode(t=>{if(e==this.getPrimaryKeyValueFromRowNode(t))return t})}getRowNodeByIndex(e){return this.gridOptions.api.getDisplayedRowAtIndex(e)}getRowNodesForPrimaryKeys(e){let t=[];return this.useRowNodeLookUp?e.forEach(n=>{let r=this.gridOptions.api.getRowNode(n);r&&t.push(r)}):e.forEach(n=>{let r=!1;this.gridOptions.api.getModel().forEachNode(i=>{!r&&n==this.getPrimaryKeyValueFromRowNode(i)&&(t.push(i),r=!0)})}),t}forAllRowNodesDo(e,t){this.gridOptions.api.forEachNode((n,r)=>{let i=(t==null?void 0:t.includeGroupRows)||!this.isGroupRowNode(n),a=!(t!=null&&t.filterFn)||(t==null?void 0:t.filterFn(n));i&&a&&e(n,r)})}forAllVisibleRowNodesDo(e,t){if(this.getRowModelType()!=="clientSide")return this.logger.warn("`forAllVisibleRowNodesDo()` is only supported in client-side row model. `forAllRowNodesDo` will be used instead."),this.forAllRowNodesDo(e,t);this.gridOptions.api.forEachNodeAfterFilterAndSort((n,r)=>{let i=(t==null?void 0:t.includeGroupRows)||!this.isGroupRowNode(n),a=!(t!=null&&t.filterFn)||(t==null?void 0:t.filterFn(n));i&&a&&e(n,r)})}getVisibleRowNodes(e){let t=[];return this.forAllVisibleRowNodesDo(n=>t.push(n),e),t}getAllRowNodes(e){let t=[];return this.forAllRowNodesDo(n=>t.push(n),e),t}getGroupRowNodes(e){return this.getAllRowNodes({includeGroupRows:!0,filterFn:t=>this.isGroupRowNode(t)})}getRowsInViewport(){return this.gridOptions.api.getRenderedNodes()}selectNodes(e,t){pt.IsNotNullOrEmpty(e)&&e.forEach(n=>this.selectNode(n,t))}deSelectNodes(e,t){pt.IsNotNullOrEmpty(e)&&e.forEach(n=>this.deSelectNode(n,t))}selectNode(e,t){if(!e){this.logger.error("No node to select");return}e.setSelected(!0,t)}deSelectNode(e,t){if(!e){this.logger.error("No node to deselect");return}e.setSelected(!1,t)}selectCells(e,t,n,r){r&&this.gridOptions.api.clearRangeSelection();let i={rowStartIndex:t.rowIndex,rowEndIndex:n.rowIndex,columns:e};this.gridOptions.api.addCellRange(i)}isRowNodeVisible(e){let t=!1;return this.gridOptions.api.forEachNodeAfterFilter(n=>{n==e&&(t=!0)}),t}redrawBody(){this.gridOptions.api.redrawRows(),this._emit("GridRefreshed")}redrawRenderedRows(){this.redrawRows(this.gridOptions.api.getRenderedNodes())}redrawHeader(){this.gridOptions.api.refreshHeader()}redrawRow(e){this.redrawRows([e])}redrawRows(e){let t={rowNodes:e};try{this.gridOptions.api.redrawRows(t)}catch(n){this.logger.consoleError("AG Grid redrawRows was unable to find some row nodes. Tried to redraw row nodes: ",e,n)}}refreshCells(e,t,n,r=!1){let i=this.gridOptions.api,a={rowNodes:e,columns:t,force:n,suppressFlash:r};i.refreshCells(a)}refreshColumns(e,t,n){this.refreshCells(null,e,t,n)}jumpToRow(e){this.gridOptions.api.ensureNodeVisible(e,"middle")}jumpToColumn(e){this.gridOptions.api.ensureColumnVisible(e)}jumpToCell(e,t){this.jumpToRow(t),this.jumpToColumn(e)}getColDefsForSpecialColumns(){return[...this.getColDefsForCalculatedColumns(),...this.getColDefsForActionColumns(),...this.getColDefsForFreeTextColumns(),...this.getColDefsForActionRowColumns(),...this.api.fdc3Api.internalApi.getFdc3ActionColDefs()]}getColDefsForFreeTextColumns(){let e=Y7().FreeTextColumnSettings;return this.api.freeTextColumnApi.getFreeTextColumns().map(t=>{var s;let n=S(S({},e),t.FreeTextColumnSettings),r=n.DataType==="Number"?W0:n.DataType==="Date"?z0:null,i=[dd,this.agGridHelper.getAgGridDataType(n.DataType)];pt.IsNotNullOrEmpty((s=t==null?void 0:t.FreeTextColumnSettings)==null?void 0:s.ColumnTypes)&&i.push(...t.FreeTextColumnSettings.ColumnTypes);let a={headerName:t.FriendlyName||t.ColumnId,colId:t.ColumnId,editable:!0,hide:!0,width:n.Width,enableValue:n.Aggregatable,filter:n.Filterable,floatingFilter:n.Filterable,resizable:n.Resizable,enableRowGroup:n.Groupable,sortable:n.Sortable,enablePivot:n.Pivotable,suppressMenu:n.SuppressMenu,suppressMovable:n.SuppressMovable,cellEditor:r!=null?r:t.TextEditor&&t.TextEditor=="Large"?"agLargeTextCellEditor":"agTextCellEditor",type:i,valueSetter:l=>l.data[t.ColumnId]=l.newValue,cellRenderer:n.DataType&&n.DataType=="Boolean"?this.agGridHelper.createCheckboxRendererComp(t.ColumnId,!1):void 0,valueGetter:l=>this.api.freeTextColumnApi.getFreeTextColumnValueForRowNode(t,l.node)};return n.HeaderToolTip&&(a.headerTooltip=n.HeaderToolTip),this.logger.info("Setting up FreeText Column: "+t.ColumnId),a})}setupColumnValueGetter({col:e}){this.setColDefProperty(e,"valueGetter",t=>t)}getActionRowButtonDefs(){let e=this.api.actionRowApi.getActionRowButtons();if(!(e!=null&&e.length))return[];let t={create:{icon:{name:"add"},tooltip:"Create",onClick:()=>{this.api.actionRowApi.displayCreateActionRow()}},edit:{icon:{name:"edit"},tooltip:"Edit",onClick:(r,i)=>{this.api.actionRowApi.displayEditActionRow(i.primaryKeyValue)}},clone:{icon:{name:"clone"},tooltip:"Clone",onClick:(r,i)=>{this.api.actionRowApi.displayCloneActionRow(i.primaryKeyValue)}},delete:{icon:{name:"delete"},tooltip:"Delete",onClick:(r,i)=>{var s,l;let a={type:"rowDeleted",rowNode:i.rowNode,adaptableApi:i.adaptableApi,userName:i.userName,adaptableId:i.adaptableId};this.api.eventApi.emit("ActionRowSubmitted",a),(l=(s=this.adaptableOptions.actionRowOptions.actionRowFormOptions).onFormSubmit)==null||l.call(s,a)}}};return e.map(r=>{var s,l;let i=t[r];if(!i)return;let a=(l=(s=this.adaptableOptions.actionRowOptions.actionRowButtonOptions).customConfiguration)==null?void 0:l.call(s,{adaptableApi:this.api,actionRowButtonType:r,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId});return a?S(S({},i),a):i}).filter(Boolean)}getColDefsForActionRowColumns(){let e=this.api.actionRowApi.getActionRowButtons();if(!(e!=null&&e.length))return[];let t=this.getActionRowButtonDefs();return t.length?[{headerName:"",colId:bc,hide:!1,editable:!1,width:t.length*(Uo.getSimpleButtonPaddingWidth()*2+15)+2,resizable:!1,lockVisible:!0,suppressColumnsToolPanel:!0,suppressFiltersToolPanel:!0,suppressMenu:!0,suppressMovable:!0,filter:!1,sortable:!1,enableRowGroup:!1,pinned:this.adaptableOptions.actionRowOptions.actionRowButtonOptions.position==="pinnedRight"?"right":"left",cellRenderer:this.variant==="react"?TT:ky,cellClass:bc,type:[dd,"abColDefObject"]}]:[]}getColDefsForActionColumns(){let e={resizable:!0,suppressMenu:!1,suppressMovable:!1};return this.api.actionColumnApi.getActionColumns().map(t=>{let n=S(S({},e),t.actionColumnSettings),r={headerName:t.friendlyName?t.friendlyName:t.columnId,colId:t.columnId,hide:!1,editable:!1,width:n.width,resizable:n.resizable,suppressMenu:n.suppressMenu,suppressMovable:n.suppressMovable,filter:!1,sortable:!1,enableRowGroup:!1,cellRenderer:this.variant==="react"?TT:ky,type:[dd,"abColDefObject"]};return this.logger.info("Setting up Action Column: "+t.columnId),r})}updateColDefsForSpecialColumns(){let e=this.getGroupAndColumnDefs(),t=this.getColDefsForSpecialColumns(),n=l=>{let{type:u}=l;return!!(u===dd||Array.isArray(u)&&u.includes(dd))},r=l=>l.children!=null,i=[],a=l=>l.map(u=>{if(r(u))return u.children=a(u.children),u;{if(!n(u))return u;let c=t.find(p=>p.colId===u.colId);return c?(i.push(u.colId),S(S({},u),c)):u}}),s=a(e);t.forEach(l=>{i.includes(l.colId)||s.push(l)}),s=s.filter(l=>n(l)?t.some(u=>u.colId===l.colId):!0),this.safeSetColDefs(s),this.setLayout()}getColDefsForCalculatedColumns(){let e=q7().CalculatedColumnSettings;return this.api.calculatedColumnApi.getCalculatedColumns().map(t=>{let n=S(S({},e),t.CalculatedColumnSettings);n.DataType||(n.DataType=this.CalculatedColumnExpressionService.getCalculatedColumnDataType(t.Query));let r=[dd,this.agGridHelper.getAgGridDataType(n.DataType)];pt.IsNotNullOrEmpty(n.ColumnTypes)&&r.push(...n.ColumnTypes);let i=!this.api.expressionApi.internalApi.evaluateExpressionInAdaptableQL("CalculatedColumn",t,this.api.expressionApi.getAdaptableQueryExpression(t.Query)),a={headerName:t.FriendlyName?t.FriendlyName:t.ColumnId,colId:t.ColumnId,hide:!0,editable:!1,width:n.Width,enableValue:n.Aggregatable,filter:n.Filterable,floatingFilter:n.Filterable,resizable:n.Resizable,enableRowGroup:n.Groupable,sortable:n.Sortable,enablePivot:n.Pivotable,suppressMenu:n.SuppressMenu,suppressMovable:n.SuppressMovable,type:r,valueGetter:s=>{var l;return i?(l=s.data)==null?void 0:l[t.ColumnId]:this.CalculatedColumnExpressionService.evaluateCalculatedColumnQuery(t,s.node)}};return n.ShowToolTip!=null&&n.ShowToolTip==!0&&(a.tooltipValueGetter=()=>this.api.internalApi.getAdaptableQueryExpressionText(t.Query)),n.HeaderToolTip&&(a.headerTooltip=n.HeaderToolTip),this.logger.info("Setting up Calculated Column: "+t.ColumnId),a})}isRegularColDef(e){return e.children===void 0}isGroupColDef(e){return e.children!==void 0}getColDefs(){let e=this.getGroupAndColumnDefs(),t=[];return e.forEach(n=>{this.isRegularColDef(n)&&t.push(n)}),t}getGroupedColDefs(){let e=this.getGroupAndColumnDefs(),t=[];return e.forEach(n=>{this.isGroupColDef(n)&&t.push(n)}),t}getFirstRowNode(){let e=0,t=this.gridOptions.api.getDisplayedRowAtIndex(e);for(;t&&t.group;)e++,t=this.gridOptions.api.getDisplayedRowAtIndex(e);return t||(t=this.gridOptions.api.getDisplayedRowAtIndex(0)),t}getFirstDisplayedRowNode(){let e=this.gridOptions.api.getFirstDisplayedRow();return this.gridOptions.api.getDisplayedRowAtIndex(e)}destroy(e){var r,i,a,s,l,u,c,p,m,h,C,y,v,x,A,R,w,P,D,F,M,O,_,H,j,B,V,$;this.gridOptions&&this.gridOptions.api&&(this.gridOptions.api.removeEventListener(L.EVENT_FIRST_DATA_RENDERED,this.listenerFirstDataRendered),this.gridOptions.api.removeEventListener(L.EVENT_COLUMN_PIVOT_MODE_CHANGED,this.listenerPivotModeChanged),this.gridOptions.api.removeEventListener(L.EVENT_COLUMN_PIVOT_CHANGED,this.listenerPivotChanged),this.gridOptions.api.removeEventListener(L.EVENT_CELL_EDITING_STARTED,this.listenerCellEditingStarted),this.gridOptions.api.removeEventListener(L.EVENT_COLUMN_ROW_GROUP_CHANGED,this.listenerColumnRowGroupChanged),this.gridOptions.api.removeEventListener(L.EVENT_RANGE_SELECTION_CHANGED,this.listenerRangeSelectionChanged),this.gridOptions.api.removeEventListener(L.EVENT_COLUMN_RESIZED,this.listenerColumnResized),this.gridOptions.api.removeEventListener(L.EVENT_SORT_CHANGED,this.listenerSortChanged),this.gridOptions.api.removeEventListener(L.EVENT_MODEL_UPDATED,this.listenerModelUpdated),this.gridOptions.api.removeGlobalListener(this.listenerGlobalSetRowSelection),this.gridOptions.api.removeGlobalListener(this.listenerGlobalColumnEventsThatTriggerStateChange),this.gridOptions.api.removeGlobalListener(this.listenerGlobalColumnEventsThatTriggerAutoLayoutSave),this.gridOptions.api.removeGlobalListener(this.listenerGlobalRowGroupEventsThatTriggerAutoLayoutSave),this.listenerFirstDataRendered=null,this.listenerPivotModeChanged=null,this.listenerPivotChanged=null,this.listenerCellEditingStarted=null,this.listenerColumnRowGroupChanged=null,this.listenerRangeSelectionChanged=null,this.listenerColumnResized=null,this.listenerGlobalSetRowSelection=null,this.listenerSortChanged=null,this.listenerModelUpdated=null,this.listenerGlobalColumnEventsThatTriggerStateChange=null,this.listenerGlobalColumnEventsThatTriggerAutoLayoutSave=null,this.listenerGlobalRowGroupEventsThatTriggerAutoLayoutSave=null,this.throttleFilterOnEditDataChange=null,this.throttleFilterOnTickingDataChange=null,this.gridOptions.api.__adaptable=null,this.gridOptions.api.setColumnDefs=Kte,this.revertGridOptionsPropertiesToUserValue(["getRowStyle","getRowClass","excelStyles","suppressAggFuncInHeader","initialGroupOrderComparator","getContextMenuItems","getMainMenuItems","isExternalFilterPresent","doesExternalFilterPass","statusBar","sideBar","aggFuncs"]),this.gridOptions.components&&(this.gridOptions.components.AdaptableToolPanel=null),e&&e.destroyApi===!1||this.gridOptions.api.destroy());let t=this.getAgGridContainerElement();t&&(t.removeEventListener("keydown",this.listenerKeydown),t.removeEventListener("mouseenter",this.listenerMouseEnter),t.removeEventListener("mouseleave",this.listenerMouseLeave),this.listenerKeydown=null,this.listenerMouseEnter=null,this.listenerMouseLeave=null),this.api.internalDestroySelf(),this.colDefPropertyCache=null,this.gridOptionsPropertyCache=null,this.currentColumnDefs=null,this.rowListeners=null,this.emitter.destroy(),this.emitter=null,this._adaptableReady=!1,this.agGridHelper.destroy(),this.agGridMenuHelper.destroy(),rp.dismissInstance(this);let n=this.getAdaptableContainerElement();e&&!e.unmount||(n!=null&&((r=this.unmountReactRoot)==null||r.call(this)),this.gridContainerElement=null,this.abContainerElement=null,(i=this.adaptableStore)==null||i.destroy(),this.adaptableStore=null,this.gridOptions=null,this.adaptableOptions=null,(s=(a=this.CalculatedColumnExpressionService)==null?void 0:a.destroy)==null||s.call(a),this.CalculatedColumnExpressionService=null,(u=(l=this.DataService)==null?void 0:l.destroy)==null||u.call(l),this.DataService=null,(p=(c=this.EntitlementService)==null?void 0:c.destroy)==null||p.call(c),this.EntitlementService=null,(h=(m=this.Fdc3Service)==null?void 0:m.destroy)==null||h.call(m),this.Fdc3Service=null,(y=(C=this.ReportService)==null?void 0:C.destroy)==null||y.call(C),this.ReportService=null,(x=(v=this.ModuleService)==null?void 0:v.destroy)==null||x.call(v),this.ModuleService=null,(R=(A=this.ValidationService)==null?void 0:A.destroy)==null||R.call(A),this.ValidationService=null,(P=(w=this.QueryLanguageService)==null?void 0:w.destroy)==null||P.call(w),this.QueryLanguageService=null,(F=(D=this.AlertService)==null?void 0:D.destroy)==null||F.call(D),this.AlertService=null,(O=(M=this.TeamSharingService)==null?void 0:M.destroy)==null||O.call(M),this.TeamSharingService=null,(H=(_=this.RowEditService)==null?void 0:_.destroy)==null||H.call(_),this.RowEditService=null,(B=(j=this.MetamodelService)==null?void 0:j.destroy)==null||B.call(j),this.MetamodelService=null,($=(V=this.LicenseService)==null?void 0:V.destroy)==null||$.call(V),this.LicenseService=null,this.isDestroyed=!0)}getDefaultIPPStyle(){return{Header:{headerColor:"#000000",headerBackColor:"#f5f7f7",headerFontFamily:"sans-serif",headerFontSize:"12px",headerFontStyle:"normal",headerFontWeight:"400",height:65,Columns:this.api.columnApi.getColumns().map(e=>({columnFriendlyName:e.friendlyName,width:200,textAlign:"start"}))},Row:{color:"#000000",backColor:"#ffffff",altBackColor:"#fcfdfe",fontFamily:"sans-serif",fontSize:"12px",fontStyle:"normal",fontWeight:"400",height:30,Columns:this.api.columnApi.getColumns().map(e=>({columnFriendlyName:e.friendlyName,width:200,textAlign:"start"}))}}}getCurrentIPPStyle(){return this.agGridHelper.getCurrentIPPStyle()}getAdaptableContainerElement(){if(!this.abContainerElement){let e=this.adaptableOptions.containerOptions.adaptableContainer;if(this.abContainerElement=typeof e=="string"?document.getElementById(e):e,!this.abContainerElement){let t=document.getElementById("adaptableBlotter");t&&(this.logger.warn(`
618
+ For more details see: ${gOe}`),this.adaptableOptions.primaryKey=$S),rp.collectInstance(this),this.gridOptions.allowContextMenuWithControlKey===void 0&&(this.gridOptions.allowContextMenuWithControlKey=!0),this.isInitialised=!1,this.useRowNodeLookUp=!1,this.forPlugins(i=>i.afterInitOptions(this,this.adaptableOptions)),this.registerAdaptableAggFuncs(),this.api=new NU(this),this.forPlugins(i=>i.afterInitApi(this,this.api)),this.DataService=new _U(this),this.agGridHelper=new r4(this,this.gridOptions),this.agGridMenuHelper=new i4(this,this.gridOptions),this.adaptableOptions.groupingOptions.autoOrderGroupedColumns&&this.setGridOptionsProperty("initialGroupOrderComparator",i=>i||this.agGridHelper.runAdaptableGroupComparerFunction()),this.initStore(),this.LicenseService=this.initLicenseService(),this.ChartingService=new h4(this.api),this.ThemeService=new f4(this.api),this.ValidationService=new UU(this.api),this.ReportService=new GU(this.api),this.ModuleService=new HU(this.api),this.CalculatedColumnExpressionService=new LU(this.api),this.EntitlementService=new WU(this.api),this.QueryLanguageService=new KU(this.api),this.AlertService=new QU(this.api),this.TeamSharingService=new VU(this.api),this.Fdc3Service=new g4(this.api),this.RowEditService=new p4(this.api),this.MetamodelService=new hI(()=>this.api.optionsApi.getAdaptableOptions()),this.MetamodelService.validateAdaptableOptionsValues(),this.forPlugins(i=>i.afterInitServices(this)),this.adaptableModules=this.agGridHelper.setUpModules(),this.forPlugins(i=>i.afterInitModules(this,this.adaptableModules)),this.gridOptions.api&&(this.gridOptions.api.__adaptable=this),this.gridOptions.columnTypes=this.gridOptions.columnTypes||{},y2e(this.gridOptions),this.gridOptions.columnTypes.abColDefNumber.cellEditor===void 0&&(this.gridOptions.columnTypes.abColDefNumber.cellEditor=this.variant==="react"?i2e:W0),this.gridOptions.columnTypes.abColDefDate.cellEditor===void 0&&(this.gridOptions.columnTypes.abColDefDate.cellEditor=this.variant==="react"?u2e:z0),this.initializeAgGrid().then(i=>{if(!i)return this.logger.error("Unable to set up AG Grid"),this.api;this.logger.info("Registered AG Grid modules: ",this.getAgGridRegisteredModuleNames().sort());let a=this;this.gridOptions.api&&(this.gridOptions.api.__adaptable=this,this.gridOptions.api.setColumnDefs=function(l){a.currentColumnDefs=[].concat(l);let u=Kte.apply(this,arguments);return a.setupColumns(),u});let s=this.logger.beginPerf("AdaptableStore.Load");return this.adaptableStore.Load.then(()=>{if(this.isDestroyed)return;s.end();let l=this.logger.beginPerf("InitInternalGridLogic");this.initInternalGridLogic(),l.end(),jt.checkValidPrimaryKey(this)},l=>{this.logger.error("Failed to Init Modules : ",l),this.initInternalGridLogic(),this.api.internalApi.hideLoadingScreen()}).then(async()=>{this.api.internalApi.hideLoadingScreen(),this.isInitialised=!0,this._adaptableReady=!0}),this.abContainerElement==null&&(this.abContainerElement=this.getAdaptableContainerElement()),this.abContainerElement!=null&&(this.abContainerElement.innerHTML="",this.unmountReactRoot=this.renderReactRoot(wke({Adaptable:this}),this.abContainerElement)),this.throttleFilterOnEditDataChange=(0,Qte.default)(()=>this.gridOptions.api.onFilterChanged(),this.adaptableOptions.filterOptions.filterActionOnUserDataChange.throttleDelay,{trailing:!0,leading:!1}),this.throttleFilterOnTickingDataChange=(0,Qte.default)(()=>this.gridOptions.api.onFilterChanged(),this.adaptableOptions.filterOptions.filterActionOnExternalDataChange.throttleDelay,{trailing:!0,leading:!1}),r.end(),this.api})}forPlugins(e){Array.isArray(this.adaptableOptions.plugins)&&this.adaptableOptions.plugins.forEach(t=>{e(t)})}getPlugin(e){let n=(this.adaptableOptions.plugins||[]).filter(r=>r.pluginId===e)[0];if(!n)throw`Cannot find plugin "${e}". Make sure you spelled it right!`;return n}getPluginProperty(e,t,...n){let i=(this.adaptableOptions.plugins||[]).filter(a=>a.pluginId===e)[0];if(!i)throw`Cannot find plugin "${e}". Make sure you spelled it right!`;if(i&&i.hasProperty(t))return i.getProperty(t)(...n)}lookupPlugins(e,...t){let n=this.adaptableOptions.plugins||[];for(let r=0,i=n.length;r<i;r++){let a=n[r];if(a.hasProperty(e))return a.getProperty(e)(...t)}}initStore(){let e=this.logger.beginPerf("new AdaptableStore()");this.adaptableStore=new RH(this,this.isAgGridReady()),e.end(),this.adaptableStore.onAny((t,n)=>{if(this.performAudit(n.action,n.state,n.newState),this.forPlugins(r=>r.onStoreEvent(t,n,this.adaptableStore)),t==JF){let r=this.logger.beginPerf("InitState"),i=this.logger.beginPerf("updateOldConfig()");this.adaptableModules.forEach(a=>a.updateOldConfig()),i.end(),this.forPlugins(a=>a.onAdaptableReady(this,this.adaptableOptions)),this._adaptableReady=!0,this.logger.info("emit AdaptableReady"),this.api.eventApi.emit("AdaptableReady",{adaptableApi:this.api,gridOptions:this.gridOptions}),r.end()}})}performAudit(e,t,n){if(this.isLive){let r={adaptableApi:this.api,actionName:e.type,clientTimestamp:new Date,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId,adaptableStateKey:this.adaptableOptions.adaptableStateKey,action:e,oldState:t,newState:n};this.api.eventApi.emit("AdaptableStateChanged",r)}}initializeAgGrid(){var u;let e=this.logger.beginPerf("initializeAgGrid()");this.setGridOptionsProperty("dataTypeDefinitions",()=>({date:{baseDataType:"date",extendsDataType:"date",valueParser:null,valueFormatter:null,suppressDefaultProperties:!0},dateString:{baseDataType:"dateString",extendsDataType:"dateString",valueParser:null,valueFormatter:null,suppressDefaultProperties:!0}})),this.useRowNodeLookUp=this.agGridHelper.TrySetUpNodeIds(this.hasAutogeneratedPrimaryKey()),Array.isArray(this.gridOptions.columnDefs)&&this.gridOptions.columnDefs.forEach(c=>qte(c,this.logger));let t=this.createAdaptableSideBarDef();t&&(this.gridOptions.components=this.gridOptions.components||{},this.gridOptions.components.AdaptableToolPanel=pBe(this)),this.agGridHelper.isSideBarDefObject(t)&&(this.setGridOptionsProperty("sideBar",()=>t),this.hasAdaptableToolPanel=!0),this.createStatusBars();let n=()=>{let c=this.getAgGridContainerElement();return!c&&(c=this.initAgGridContainerFromInitializedAgGrid(),!c)?(this.logger.consoleError("You must provide an element id in `containerOptions.agGridContainer`"),!1):!0};if(this.gridOptions.api&&typeof this.gridOptions.api.getValue=="function")return n()?(e.end("isGridInstantiated=TRUE, checkAgGridContainer=TRUE"),Promise.resolve(!0)):(e.end("isGridInstantiated=TRUE, checkAgGridContainer=FALSE"),Promise.resolve(!1));if(this.runtimeConfig.waitForAgGrid)return this.isAgGridReady().then(()=>{let c=this.logger.beginPerf("initAgGridContainerFromInitializedAgGrid");return this.initAgGridContainerFromInitializedAgGrid(),c.end(),e.end("waitForAgGrid=TRUE"),Promise.resolve(!0)},()=>(this.logger.consoleError("Could not find any AG Grid instance rendered. Could not find reference to AG Grid api. Make sure you pass the same gridOptions object reference both to Adaptable and AG Grid"),e.end("waitForAgGrid=TRUE, ERROR!"),Promise.reject(!1)));if(!n())return e.end("waitForAgGrid=FALSE, checkAgGridContainer=FALSE!"),Promise.resolve(!1);let i,a=this.getAgGridContainerElement(),s=this.logger.beginPerf("new AgGrid()"),l;return(u=this.runtimeConfig.modules)!=null&&u.length&&(l={modules:this.runtimeConfig.modules}),i=new GR(a,this.gridOptions,l),s.end(),this.gridOptions.api&&(this.gridOptions.api.__adaptable=this),e.end("AG Grid instantiation"),Promise.resolve(i!=null)}initAgGridContainerFromInitializedAgGrid(){if(this.getAgGridContainerElement())return;let e=this.gridOptions.api?this.gridOptions.api.gridOptionsWrapper?this.gridOptions.api.gridOptionsWrapper.layoutElements||[]:[]:[];if(!e.length){let n=r=>r.ctrlsService.getGridBodyCtrl().getGridBodyElement();e.push(n(this.gridOptions.api))}let t;for(let n=0,r=e.length;n<r;n++){let i=e[n];if(i&&i.matches(".ag-root-wrapper, .ag-root")){let a=i.closest('[class*="ag-theme"]');if(a){t=a;break}}}return t||this.logger.consoleError("Could not find the AG Grid Container. This will probably break some AdapTable functionality."),this.adaptableOptions.containerOptions.agGridContainer=t}createAdaptableSideBarDef(){var t;if(!this.gridOptions.sideBar)return;let e=this.EntitlementService.isModuleHiddenEntitlement("ToolPanel");if(this.gridOptions.sideBar===!0){let n=[];return n.push($9),n.push(q9),e||n.push(this.agGridHelper.buildAdaptableToolPanelDef()),{toolPanels:n}}else if(typeof this.gridOptions.sideBar=="string"){if(this.gridOptions.sideBar===LC&&!e)return{toolPanels:[this.agGridHelper.buildAdaptableToolPanelDef()]}}else if(Array.isArray(this.gridOptions.sideBar)){if(!this.gridOptions.sideBar.includes(LC)||e)return;let n={};return n.toolPanels=this.agGridHelper.mapToolPanelDefs(this.gridOptions.sideBar),n}else if(this.agGridHelper.isSideBarDefObject(this.gridOptions.sideBar))return(t=this.gridOptions.sideBar.toolPanels)!=null&&t.some(n=>typeof n!="string"&&n.id===LC&&!e)?!0:T(S({},this.gridOptions.sideBar),{toolPanels:this.agGridHelper.mapToolPanelDefs(this.gridOptions.sideBar.toolPanels)})}createStatusBars(){let e=[];this.setGridOptionsProperty("statusBar",n=>{var i,a;let r=(a=(i=n==null?void 0:n.statusPanels)!=null?i:[])==null?void 0:a.map(s=>{if(s.statusPanel===c2e){e.push(s.key);let l={Key:s.key};return T(S({},s),{statusPanel:p2e(h2e,this,l)})}return s});return T(S({},n),{statusPanels:r})});let t=this.ModuleService.getModuleById(Uf);this.api.eventApi.on("AdaptableReady",()=>{var r,i;let n=(i=(r=this.gridOptions.statusBar)==null?void 0:r.statusPanels)==null?void 0:i.filter(a=>e.includes(a.key));t.syncStateWithOptions(n)})}getAgGridStatusPanels(){var e,t,n;return(n=(t=(e=this.gridOptions)==null?void 0:e.statusBar)==null?void 0:t.statusPanels)!=null?n:[]}filterOnEditDataChange(){this.adaptableOptions.filterOptions.filterActionOnUserDataChange.applyFilter=="Always"?this.gridOptions.api.onFilterChanged():this.adaptableOptions.filterOptions.filterActionOnUserDataChange.applyFilter=="Throttle"&&this.throttleFilterOnEditDataChange()}filterOnTickingDataChange(){this.adaptableOptions.filterOptions.filterActionOnExternalDataChange.applyFilter=="Always"?this.gridOptions.api.onFilterChanged():this.adaptableOptions.filterOptions.filterActionOnExternalDataChange.applyFilter=="Throttle"&&this.throttleFilterOnTickingDataChange()}applyGridFiltering(){this.api.filterApi.isQuickFilterAvailable()&&(this.api.filterApi.isQuickFilterVisible()?this.showQuickFilter():this.hideQuickFilter()),this.gridOptions.api.onFilterChanged(),this._emit("GridFiltered"),this.setSelectedCells(),this.setSelectedRows(),this.updateColumnFilterActiveState()}isGroupRowNode(e){return e?!!(e.isEmptyRowGroupNode()||e.group&&e.group===!0||e.leafGroup&&e.leafGroup===!0):!1}isVisibleNode(e){return this.gridOptions.api.getRenderedNodes().find(n=>n.id==e.id)!=null}isPinnedRowNode(e){return e?!!e.isRowPinned():!1}clearGridFiltering(){this.gridOptions.columnApi.getColumns().forEach(e=>{this.gridOptions.api.destroyFilter(e)})}clearColumnFiltering(e){e.forEach(t=>{let n=this.gridOptions.columnApi.getColumns().find(r=>r.getColId()==t);n&&this.gridOptions.api.destroyFilter(n)})}hideFilterForm(){this.hideFilterFormPopup&&this.hideFilterFormPopup()}updateColumnsIntoStore(){let e=[],t=this.gridOptions.columnApi.getColumns(),n=this.gridOptions.columnApi.getAllDisplayedColumnGroups(),r={},i=n.reduce((a,s)=>{var m,h,C;if(!((h=(m=s.getProvidedColumnGroup)==null?void 0:m.call(s))!=null&&h.getColGroupDef()))return a;let l=s.getGroupId(),u=!s.getProvidedColumnGroup().getColGroupDef().marryChildren,c=(C=s.getProvidedColumnGroup().getColGroupDef().headerName)!=null?C:l,p=s.getLeafColumns();return p.forEach(y=>{let v={columnGroupId:l,friendlyName:c,allowGroupSplit:u,groupCount:0};r[v.columnGroupId]=r[v.columnGroupId]||0,r[v.columnGroupId]+=p.length,a[y.getColId()]=v}),a},{});Object.keys(i).forEach(a=>{i[a].groupCount=r[i[a].columnGroupId]}),t.forEach(a=>{let s=a.getColId();this.api.columnApi.isAutoRowGroupColumn(s)||e.push(this.createAdaptableColumn(a,i))}),this.api.gridApi.internalApi.setColumns(e)}createAdaptableColumn(e,t){return this.agGridHelper.createAdaptableColumnFromAgGridColumn(e,t)}safeSetColDefs(e){e=this.mapColumnDefs(e,t=>(t.field&&t.colId==null&&(t.colId=t.field),t)),this.gridOptions.api.setColumnDefs(e),this.updateColumnsIntoStore()}getFormatColumnAndStyledColumnCellStyle(e,t,n){let r=this.api.styledColumnApi.getStyledColumnForColumnId(t),i={};if(r&&!(r!=null&&r.IsSuspended)){let s=this.getStyledColumnStyle(r,e,n);if(r.PercentBarStyle||r.BadgeStyle)i=s;else return s}let a=this.api.formatColumnApi.internalApi.getFormatColumnsWithStyleForColumn(e);return S(S({},this.getFormatColumnCellStyle(e,a,n)),i)}getStyledColumnStyle(e,t,n){let r={},i=e==null?void 0:e.GradientStyle;if(n.value===void 0)return;let a=n.value;if(this.api.gridApi.isGroupRowNode(n.node))if(e.IncludeGroupedRows){let s=this.api.styledColumnApi.internalApi.getMinValueForNumericColumn(t),l=this.api.styledColumnApi.internalApi.getMaxValueForNumericColumn(t);a=(0,x2e.default)(n.value,s,l)}else return r;if(i){let s=this.api.styledColumnApi.internalApi.getNumericStyleMinValue(e,t,n.node,a),l=this.api.styledColumnApi.internalApi.getNumericStyleMaxValue(e,t,n.node,a),u,c=!1;if(i.ColumnComparison)u=i.ColumnComparison.Color;else{let y=this.api.styledColumnApi.internalApi.findRangeForColumn(i.CellRanges,t,i.RangeValueType,a);y&&(u=y.Color,c=y.ReverseGradient)}let p=Math.abs(l-s),m=(a-s)/p*100,h=Number((m/100).toPrecision(2));c&&(h=1-h);let C=ug(u);u&&(r.backgroundColor=C4(C).setAlpha(h).toRgbString())}return e.PercentBarStyle&&e.PercentBarStyle.CellText&&(r.paddingTop=0,r.paddingBottom=0),r}getFormatColumnAdaptableStyle(e){return e.reduceRight((t,n)=>{let r=n.Style?this.convertAdaptableStyleToCSS(n.Style):{};if(n.CellAlignment)switch(n.CellAlignment){case"Left":t.textAlign="left";break;case"Right":t.textAlign="right";break;case"Center":t.textAlign="center";break}return S(S({},t),r)},{})}getFormatColumnCellStyle(e,t,n){if(!t.length)return{};let r=t.filter(i=>this.api.formatColumnApi.internalApi.isFormatColumnRelevantForColumn(i,e,n));return this.getFormatColumnAdaptableStyle(r)}getFormatColumnCellClass(e,t,n){return e.map(i=>{var a,s;if(((a=i.Style)==null?void 0:a.ClassName)&&this.api.formatColumnApi.internalApi.isFormatColumnRelevantForColumn(i,t,n))return(s=i.Style)==null?void 0:s.ClassName}).filter(i=>!!i)}getActiveAlertWithHighlightCell(e,t){return this.api.alertApi.internalApi.getAdaptableAlertWithHighlightCell(e.columnId,t.node)}getActiveAlertWithHighlightRow(e){return this.api.alertApi.internalApi.getAdaptableAlertWithHighlightRow(e.node)}getAlertCellStyle(e,t){let n=this.getActiveAlertWithHighlightCell(e,t);if(n){let r=n.alertDefinition.AlertProperties.HighlightCell;return typeof r=="object"?this.convertAdaptableStyleToCSS(r):{backgroundColor:Uo.getColorByMessageType(n.alertDefinition.MessageType)}}}getAlertCellClass(e,t){var i,a;let n=this.getActiveAlertWithHighlightCell(e,t),r=(a=(i=n==null?void 0:n.alertDefinition)==null?void 0:i.AlertProperties)==null?void 0:a.HighlightCell;return typeof r=="object"&&(r==null?void 0:r.ClassName)?r==null?void 0:r.ClassName:null}getAlertRowClass(e){var r,i;let t=this.getActiveAlertWithHighlightRow(e),n=(i=(r=t==null?void 0:t.alertDefinition)==null?void 0:r.AlertProperties)==null?void 0:i.HighlightRow;return typeof n=="object"&&(n==null?void 0:n.ClassName)?n==null?void 0:n.ClassName:null}getAlertRowStyle(e){var r,i;let t=this.getActiveAlertWithHighlightRow(e),n=(i=(r=t==null?void 0:t.alertDefinition)==null?void 0:r.AlertProperties)==null?void 0:i.HighlightRow;return n?typeof n=="object"?this.convertAdaptableStyleToCSS(n):{backgroundColor:Uo.getColorByMessageType(t.alertDefinition.MessageType)}:null}getFlashingCellStyle(e,t){var i;let n=t.node.aggData?t.node.id:this.getPrimaryKeyValueFromRowNode(t.node),r=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(n,e.columnId);return r?this.convertAdaptableStyleToCSS((i=r.direction==="up"?r.flashingCellDefinition.UpChangeStyle:r.direction==="down"?r.flashingCellDefinition.DownChangeStyle:r.flashingCellDefinition.NeutralChangeStyle)!=null?i:{}):{}}getCommentCellClassName(e,t){if(!this.api.internalApi.getModuleService().isModuleAvailable("Comments"))return;let n={PrimaryKeyValue:this.getPrimaryKeyValueFromRowNode(t.node),ColumnId:e.columnId},r=this.api.commentsApi.getCellComments(n);if(!!(r!=null&&r.length))return"ab-Cell-Comment"}getFlashingCellClass(e,t){var i,a,s;let n=t.node.aggData?t.node.id:this.getPrimaryKeyValueFromRowNode(t.node),r=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(n,e.columnId);if(!!r)return r.direction==="up"?(i=r.flashingCellDefinition.UpChangeStyle)==null?void 0:i.ClassName:r.direction==="down"?(a=r.flashingCellDefinition.DownChangeStyle)==null?void 0:a.ClassName:r.direction==="neutral"?(s=r.flashingCellDefinition.NeutralChangeStyle)==null?void 0:s.ClassName:void 0}getCellHighlightStyle(e,t){let n=this.getPrimaryKeyValueFromRowNode(t.node),r=this.api.internalApi.getSystemState().HighlightedCells.find(i=>e.columnId===i.columnId&&i.primaryKeyValue===n);if(r)return this.convertAdaptableStyleToCSS(r.highlightStyle)}getRowHighlightStyle(e){var r;let t=this.getPrimaryKeyValueFromRowNode(e.node),n=(r=this.api.internalApi.getSystemState().HighlightedRows)==null?void 0:r.find(i=>i.primaryKeyValue===t);if(n)return this.convertAdaptableStyleToCSS(n.highlightStyle)}getRowHighlightClass(e){var r;let t=this.getPrimaryKeyValueFromRowNode(e.node),n=(r=this.api.internalApi.getSystemState().HighlightedRows)==null?void 0:r.find(i=>i.primaryKeyValue===t);return typeof(n==null?void 0:n.highlightStyle)=="object"?n.highlightStyle.ClassName:null}getQuickSearchCellStyle(){let e=this.api.quickSearchApi.getQuickSearchStyle();if(!(!e||ct.IsNotNullOrEmpty(e.ClassName)))return this.convertAdaptableStyleToCSS(e)}getEditableCellStyle(e,t){let n=this.api.userInterfaceApi.getEditableCellStyle();if(!n)return;let r=this.getGridCellFromRowNode(t.node,e.columnId);if(r&&this.api.gridApi.isCellEditable(r))return this.convertAdaptableStyleToCSS(n)}getReadOnlyCellStyle(e,t){let n=this.api.userInterfaceApi.getReadOnlyCellStyle();if(!n)return;let r=this.getGridCellFromRowNode(t.node,e.columnId);if(r&&!this.api.gridApi.isCellEditable(r))return this.convertAdaptableStyleToCSS(n)}getEditableCellClass(e,t){let n=this.api.userInterfaceApi.getEditableCellStyle();return n!=null&&n.ClassName&&this.api.gridApi.isCellEditable(this.getGridCellFromRowNode(t.node,e.columnId))?n.ClassName:null}getReadonlyCellClass(e,t){let n=this.api.userInterfaceApi.getReadOnlyCellStyle();return n!=null&&n.ClassName&&!this.api.gridApi.isCellEditable(this.getGridCellFromRowNode(t.node,e.columnId))?n.ClassName:null}isQuickSearchActive(e,t){var l;if(e.isExcludedFromQuickSearch||!t.node||!this.api.optionsApi.getQuickSearchOptions().runQuickSearchOnRowGroups&&t.node.group)return!1;let n=this.api.quickSearchApi.getQuickSearchValue();if(ct.IsNullOrEmpty(n))return!1;let r=(l=this.api.gridApi.getDisplayValueFromRowNode(t.node,e.columnId))!=null?l:"",i=!this.adaptableOptions.quickSearchOptions.runQuickSearchWithCaseSensitivity,a=i?String(r).toLocaleLowerCase():String(r),s=i?String(n).toLocaleLowerCase():String(n);return a.indexOf(s)!==-1}getPrimaryKeyValueFromRowNode(e){var r;if(!e)return null;let t=this.getGridOptionsApi(),n;return t&&!this.hasAutogeneratedPrimaryKey()&&(n=t.getValue(this.adaptableOptions.primaryKey,e)),(n===null||n==null)&&e.data&&(n=(r=e.data[this.adaptableOptions.primaryKey])!=null?r:null),n}getSortedColumnStateForVisibleColumns(e,t){t=t||this.gridOptions.columnApi.getColumnState();let n=e.reduce((s,l,u)=>(s[l]=u,s),{}),r=t.reduce((s,l,u)=>(s[l.colId]=u,s),{}),i=e.reduce((s,l,u)=>(s[l]=u,s),{});return[...t].sort((s,l)=>{let u=s.colId,c=l.colId,p=r[u],m=r[c],h=this.api.columnApi.isAutoRowGroupColumn(u),C=this.api.columnApi.isAutoRowGroupColumn(c);return h&&C?1:h?-1:C?1:i[u]!=null&&i[c]==null?-1:i[u]==null&&i[c]!=null?1:i[u]==null&&i[c]==null?p-m:i[s.colId]-i[l.colId]}).map(s=>T(S({},s),{hide:n[s.colId]==null}))}setColumnOrder(e){let t=this.getSortedColumnStateForVisibleColumns(e);this.gridOptions.columnApi.applyColumnState({state:t,applyOrder:!0}),this.updateColumnsIntoStore()}persistLayout(e){this.api.layoutApi.shouldAutoSaveLayouts()?this.api.layoutApi.createOrUpdateLayout(e):this.api.layoutApi.internalApi.updateCurrentDraftLayout(e)}setLayout(e){var P,D,F,M,O,_,H;e||(e=this.api.layoutApi.getCurrentLayout());let t=this.logger.beginPerf(`setLayout(${e.Name})`);e.Columns=e.Columns||[];let n=this.getColDefsForActionRowColumns()[0];n&&(e.Columns.push(n.colId),e.PinnedColumnsMap=e.PinnedColumnsMap||{},e.PinnedColumnsMap[n.colId]=n.pinned);let r=e.Columns.reduce((j,B)=>(j[B]=!0,j),{}),i=this.gridOptions.columnApi.getColumnState(),a={},s=i.reduce((j,B,V)=>(a[B.colId]=V,j[B.colId]=B,j),{}),l=0,u=((P=e.ColumnSorts)!=null?P:[]).reduce((j,B)=>{let V=B.ColumnId;return j[V]={colId:V,sort:B.SortOrder==="Asc"?"asc":"desc",sortIndex:l},l++,j},{}),c=(e.RowGroupedColumns||[]).reduce((j,B,V)=>(j[B]=V,j),{}),p={},m=e.AggregationColumns||{},h=e.EnablePivot?((D=this.gridOptions.columnApi.getPivotResultColumns())==null?void 0:D.map(j=>j.getColId()))||[]:e.Columns,C=!1,y={},v=this.getSortedColumnStateForVisibleColumns(h,i);if(v=v.map(j=>{var se,ie,he,De,tt;let{colId:B}=j,V=s[B],$=this.api.columnApi.isAutoPivotColumn(B)?j.hide:!r[B],K=T(S({},V),{hide:$});e.ColumnWidthMap&&e.ColumnWidthMap[B]!=null?K.width=e.ColumnWidthMap[B]:$||(y[B]=!0),n&&n.colId===B&&(K.width=n.width),K.rowGroupIndex=c[B]!=null?c[B]:null;let Z=K.rowGroup;K.rowGroup=K.rowGroupIndex!=null,!Z&&K.rowGroup&&this.triggerSetupColumnKeyCreator(B);let oe=z=>typeof z=="string"?z:z==!0?"left":!!z,X=oe(e.PinnedColumnsMap?e.PinnedColumnsMap[B]:!1),xe=oe(K.pinned);if(X!==xe&&(K.pinned=X),K.pivotIndex=null,p[B]!=null&&(K.pivotIndex=p[B]),K.aggFunc=null,m[B]!=null){let z=(ie=(se=this.gridOptions)==null?void 0:se.api)==null?void 0:ie.getColumnDef(B),W=null,U=m[B],ee=this.getActiveAdaptableAggFuncForCol(B);U===!0?W=(tt=(De=(he=j.aggFunc)!=null?he:z==null?void 0:z.aggFunc)!=null?De:z==null?void 0:z.defaultAggFunc)!=null?tt:"sum":ee&&ee.type==="weightedAverage"?W=RI:typeof U=="string"&&(W=U),K.aggFunc=W}return u[B]?(K.sort=u[B].sort,K.sortIndex=u[B].sortIndex):(K.sort=null,K.sortIndex=null),C=C||!(0,v2e.default)(K,V),K}).filter(j=>!!j),!C){let j=$=>`${$.colId}-${$.rowGroupIndex}-${$.pivotIndex}-${$.aggFunc}-${$.pinned}-${$.width}-${$.hide}`,B=i.map(j).join(",");C=v.map(j).join(",")!=B}let x=!!e.EnablePivot,A=this.gridOptions.columnApi.isPivotMode()!==x;A&&this.setupColumns(),C=C||A;let R=!1;if(R=this.setupColumnHeaderAggregations(e),this.gridOptions.columnApi.getColumns().forEach(j=>{let B=j.getColDef(),V=j.getColId(),$=this.api.columnApi.getColumnWithColumnId(V),K={col:j,colDef:B,colId:V,abColumn:$};R=this.setupColumnHeader(K)||R}),C=C||R,C){A&&this.gridOptions.columnApi.setPivotMode(x);let j=this.logger.beginPerf("applyColumnState (layout.isChanged)");this.gridOptions.columnApi.applyColumnState({state:v,applyOrder:!0}),this.applyGroupColumnWidth(e),j.end(),this.api.gridApi.setColumnSorts(e.ColumnSorts),this.gridOptions.columnApi.setPivotColumns(e.PivotColumns||[]);let B=this.logger.beginPerf("GridApi_setColumnDefs");Kte.call(this.gridOptions.api,this.gridOptions.api.getColumnDefs()),B.end(),this.updateRowGroupsExpandedState(e)}let w=Object.keys(y);x&&((M=(F=this.adaptableOptions)==null?void 0:F.layoutOptions)==null?void 0:M.autoSizeColumnsInPivotLayout)?(requestAnimationFrame(()=>{this.gridOptions.columnApi.autoSizeAllColumns()}),setTimeout(()=>{var j;(j=this.gridOptions.columnApi)==null||j.autoSizeAllColumns(),setTimeout(()=>{var B;(B=this.gridOptions.columnApi)==null||B.autoSizeAllColumns()},200)},100)):((_=(O=this.adaptableOptions)==null?void 0:O.layoutOptions)==null?void 0:_.autoSizeColumnsInLayout)&&w.length&&((H=this.gridOptions.columnApi)==null||H.autoSizeColumns(w)),this.forPlugins(j=>{j.afterSetLayout&&j.afterSetLayout(this,e)}),t.end()}applyGroupColumnWidth(e){if(!e.RowGroupedColumns||!e.RowGroupedColumns.length)return;let t=this.gridOptions.columnApi.getColumnState().reduce((n,r)=>{var i;if(r.colId===(dl==null?void 0:dl.AG_GRID_GROUPED_COLUMN)){let a=(i=e.ColumnWidthMap)==null?void 0:i[r.colId];a&&a!==r.width&&n.push(T(S({},r),{width:a}))}return n},[]);t.length!==0&&this.gridOptions.columnApi.applyColumnState({state:t})}updateRowGroupsExpandedState(e){e||(e=this.api.layoutApi.getCurrentLayout()),this.api.layoutApi.internalApi.areExpandedRowGroupsSavedInLayouts()&&pt.IsNotNullOrEmpty(e.ExpandedRowGroupValues)&&this.expandRowGroupsForValues(e.ExpandedRowGroupValues),this.adaptableOptions.layoutOptions.displayRowGroups==="expanded"&&this.expandAllRowGroups()}updateLayoutFromGrid(){var h,C;let e=this.api.layoutApi.getCurrentLayout();if(e.IsReadOnly){this.setLayout();return}let t=S({},e),n=[],r={},i={},a=[],s=this.gridOptions.columnApi.getColumnState(),l=[...new Array(s.length)],u=[...new Array(s.length)],c=[],p={},m=s.reduce((y,v)=>{let{colId:x}=v;return v.sort&&v.sortIndex!=null&&a.push({ColumnId:x,SortOrder:v.sort==="asc"?"Asc":"Desc",SortIndex:v.sortIndex}),v.width!=null&&(y[x]=v.width),v.flex!=null&&(r[x]=v.flex),v.pinned==="left"&&(i[x]="left"),v.pinned==="right"&&(i[x]="right"),v.hide||n.push(x),v.rowGroupIndex!=null&&(l[v.rowGroupIndex]=x),v.pivotIndex!=null&&(u[v.pivotIndex]=x),v.aggFunc&&typeof v.aggFunc=="string"&&(p[x]=v.aggFunc),y},{});a.sort((y,v)=>y.SortIndex-v.SortIndex),this.gridOptions.columnApi.getPivotColumns().forEach(y=>{c.push(y.getColId())}),l=l.filter(y=>!!y),u=u.filter(y=>!!y),(C=(h=this.adaptableOptions)==null?void 0:h.groupingOptions)!=null&&C.restoreUngroupedColumns&&(n=this.restoreUnGroupColumnOrder({columnOrder:n,newGroupColumns:l})),t.ColumnWidthMap=m,t.PinnedColumnsMap=i,t.Columns=n,t.ColumnSorts=a,t.RowGroupedColumns=l,Object.keys(p).length?t.AggregationColumns=this.mapAggregationColumnsFromGrid(p,e):t.AggregationColumns={},t.EnablePivot=this.gridOptions.columnApi.isPivotMode(),t.PivotColumns=c,this.api.layoutApi.internalApi.areExpandedRowGroupsSavedInLayouts()&&this.api.gridApi.getFirstDisplayedRowNode()&&(t.ExpandedRowGroupValues=this.getExpandRowGroupsKeys()),this.persistLayout(t)}setSelectedCells(){if(!this.isGridRangeSelectable())return;let e=this.gridOptions.api.getCellRanges(),t=[],n=[];if(this.api.internalApi.isGridInPivotMode())return;e&&e.forEach(i=>{let a=!0;if(i.startRow&&i.endRow){let s=i.startRow.rowPinned!=null,l=i.endRow.rowPinned!=null;if(s&&(l&&(a=!1),this.logger.consoleWarn("Cannot select pinned rows in AG Grid.")),a){let u=Math.min(i.startRow.rowIndex,i.endRow.rowIndex),c=Math.max(i.startRow.rowIndex,i.endRow.rowIndex);for(let p of i.columns)if(p!=null){let m=p.getColId(),h=this.api.columnApi.getColumnWithColumnId(m);h&&t.find(C=>C.columnId==h.columnId)==null&&t.push(h);for(let C=u;C<=c;C++){let y=this.gridOptions.api.getModel().getRow(C);if(y&&!this.isPinnedRowNode(y)){let v=this.getGridCellFromRowNode(y,m);n.push(v)}}}}}});let r={columns:t,gridCells:n};return this.api.gridApi.internalApi.setSelectedCells(r),this._emit("CellsSelected"),this.agGridHelper.fireSelectionChangedEvent(),r}setSelectedRows(){if(!this.isGridSelectable())return;let e=this.gridOptions.api.getSelectedNodes(),t=[];if(this.gridOptions.columnApi.isPivotMode())return;pt.IsNotNullOrEmpty(e)&&e.forEach(r=>{let i={isMaster:r.master!=null&&r.master==!0,isExpanded:r.expanded!=null&&r.expanded==!0,isGroup:r.group!=null&&r.group==!0,isSelected:!0,isDisplayed:r.displayed==!0,rowGroupLevel:r.level},a={primaryKeyValue:this.getPrimaryKeyValueFromRowNode(r),rowData:r.data,rowNode:r,rowInfo:i};t.push(a)});let n={gridRows:t};return this.api.gridApi.internalApi.setSelectedRows(n),this.agGridHelper.fireSelectionChangedEvent(),n}setDataValue(e,t,n,r){let i,a=t.dataType;if(i=a=="Number"?Number(e):e,a!=null)if(r)r.setDataValue(t.columnId,i);else if(this.useRowNodeLookUp){let s=this.gridOptions.api.getRowNode(n);s!=null&&s.setDataValue(t.columnId,i)}else{let s=!1;this.gridOptions.api.getModel().forEachNode(l=>{s||n==this.getPrimaryKeyValueFromRowNode(l)&&(l.setDataValue(t.columnId,i),s=!0)})}}cancelEdit(){this.gridOptions.api.stopEditing(!0)}isCellEditable(e,t){return t==null?void 0:t.isCellEditable(e)}getGridCellsForColumn(e){let t=[];return this.gridOptions.api.forEachNode(n=>{let r=this.getGridCellFromRowNode(n,e);r&&r.rawValue!=null&&t.push(r)}),t}getDistinctValuesForColumn(e,t,n,r){let i=[];r=r!=null?r:this.api.userInterfaceApi.getPermittedValuesForColumn(e),pt.IsNotNull(r)?i=r.map(s=>({rawValue:s,displayValue:s,normalisedValue:s,columnId:e.columnId,column:e,rowNode:void 0})):t?this.gridOptions.api.forEachNodeAfterFilter(s=>{let l=this.addDistinctColumnValue(s,e.columnId);l&&l.rawValue!=null&&l.rowNode!==n&&i.push(l)}):this.gridOptions.api.forEachNode(s=>{let l=this.addDistinctColumnValue(s,e.columnId);l&&l.rowNode!==n&&(l.rawValue==null&&this.adaptableOptions.filterOptions.includeBlankFilterValues&&(l.rawValue=_C,l.displayValue=_C,l.normalisedValue=_C),i.push(l))});let a=(0,$te.default)(i,s=>{let l=s.rawValue;return l instanceof Date?l.toISOString():l});return e.dataType=="String"&&this.api.predicateApi.useCaseSensitivity()&&(a=(0,$te.default)(a,s=>s.displayValue.toLowerCase())),a.slice(0,this.adaptableOptions.filterOptions.maxFilterValuesToDisplay)}async getDistinctFilterValuesForColumn(e,t,n,r){var s;let i=(s=this.api.userInterfaceApi.getFilterPermittedValuesForColumn(e))!=null?s:{suppressFilterSearchBar:!1,values:()=>{}},a;try{let l={adaptableApi:this.api,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId,column:e,searchFilter:n};a=await(i==null?void 0:i.values(l))}catch(l){this.logger.consoleError("Failed to load filter permitted values",e,n,l)}return{suppressClientSideFilter:i.suppressFilterSearchBar,gridCells:this.getDistinctValuesForColumn(e,t,r,a)}}async getDistinctCustomSortValuesForColumn(e,t,n){let r=await this.api.userInterfaceApi.getCustomSortPermittedValuesForColumn(e),i;try{let a={adaptableApi:this.api,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId,column:e};i=await(r==null?void 0:r.values(a))}catch(a){this.logger.consoleError("Failed to load custom sort permitted values",e,a)}return this.getDistinctValuesForColumn(e,t,n,i)}async getDistinctBulkUpdateValuesForColumn(e,t,n,r){let i=await this.api.userInterfaceApi.getBulkUpdatePermittedValuesForColumn(e),a;try{let s={adaptableApi:this.api,column:e,gridCells:n,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId};a=await(i==null?void 0:i.values(s))}catch(s){this.logger.consoleError("Failed to load bulk permitted values",s,e,n)}return this.getDistinctValuesForColumn(e,t,r,a)}getColumnValueDisplayValuePairList(e,t,n){let r=[],i=new Map,a=this.api.columnApi.getColumnWithColumnId(e),s=this.api.userInterfaceApi.getPermittedValuesForColumn(a);pt.IsNotNullOrEmpty(s)?s.forEach(u=>{i.set(u,{rawValue:u,displayValue:u,normalisedValue:u,column:a,rowNode:void 0})}):i=null;let l=(u,c)=>{if(u&&!this.isGroupRowNode(u)){let p=this.getGridCellFromRowNode(u,c),m=!i||i.has(p.displayValue);if(m&&n){let h=this.getPrimaryKeyValueFromRowNode(u);m=!!n[h]}m&&r.push(p)}};return t?this.gridOptions.api.forEachNodeAfterFilter(u=>{l(u,e)}):this.gridOptions.api.forEachNode(u=>{l(u,e)}),r.slice(0,this.adaptableOptions.filterOptions.maxFilterValuesToDisplay)}addDistinctColumnValue(e,t){if(e&&!this.isGroupRowNode(e)){let n=this.getGridCellFromRowNode(e,t);if(qo.objectExists(n))return n}else return}getDisplayValue(e,t){let n;if(this.useRowNodeLookUp){let r=this.getRowNodeForPrimaryKey(e);return this.getDisplayValueFromRowNode(r,t)}else{let r=!1;this.gridOptions.api.getModel().forEachNode(i=>{if(!r){let a=this.getPrimaryKeyValueFromRowNode(i);e==a&&(n=this.getDisplayValueFromRowNode(i,t)),r=!0}})}return n}getGridCellFromRowNode(e,t){if(e==null)return;let n=this.api.columnApi.getColumnWithColumnId(t),r=this.getPrimaryKeyValueFromRowNode(e),i=this.getRawValueFromRowNode(e,t),a=this.getDisplayValueFromRawValue(e,t,i),s=this.getNormalisedValueFromRawValue(i,n);return{rawValue:i,displayValue:a,normalisedValue:s,column:n,primaryKeyValue:r,rowNode:e}}getDisplayValueFromRowNode(e,t){if(e==null)return;let n=this.getRawValueFromRowNode(e,t);return this.getDisplayValueFromRawValue(e,t,n)}getDisplayValueFromRawValue(e,t,n){if(this.api.columnApi.isActionColumn(t))return this.agGridHelper.getCleanValue(n);let i=this.gridOptions.api.getColumnDef(t);return i&&typeof i.valueFormatter=="function"?this.getFormattedValue(e,n,t,i,i.valueFormatter)||"":this.agGridHelper.getCleanValue(n)}getFormattedValue(e,t,n,r,i){let a=this.gridOptions.columnApi.getColumns().find(l=>l.getColId()==n),s={value:t,node:e,data:e.data,colDef:r,column:a,api:this.gridOptions.api,columnApi:this.gridOptions.columnApi,context:this.gridOptions.context};return i(s)}getNormalisedValueFromRawValue(e,t){if(!t||e==null)return e;let n=t.dataType;return n==="String"?typeof e!="string"?String(e):e:n==="Number"?typeof e!="number"&&ct.IsNumeric(e)?Number(e):e:n==="Boolean"?typeof e!="boolean"?Boolean(e):e:n==="Date"?e instanceof Date?e:mn(e):e}getRawValueFromRowNode(e,t){if(e!=null)return this.gridOptions.api.getValue(t,e)}getDataRowFromRowNode(e){return e!=null&&e!=null?e.data:void 0}getRowNodeForPrimaryKey(e){if(this.useRowNodeLookUp)return this.gridOptions.api.getRowNode(e);this.gridOptions.api.getModel().forEachNode(t=>{if(e==this.getPrimaryKeyValueFromRowNode(t))return t})}getRowNodeByIndex(e){return this.gridOptions.api.getDisplayedRowAtIndex(e)}getRowNodesForPrimaryKeys(e){let t=[];return this.useRowNodeLookUp?e.forEach(n=>{let r=this.gridOptions.api.getRowNode(n);r&&t.push(r)}):e.forEach(n=>{let r=!1;this.gridOptions.api.getModel().forEachNode(i=>{!r&&n==this.getPrimaryKeyValueFromRowNode(i)&&(t.push(i),r=!0)})}),t}forAllRowNodesDo(e,t){this.gridOptions.api.forEachNode((n,r)=>{let i=(t==null?void 0:t.includeGroupRows)||!this.isGroupRowNode(n),a=!(t!=null&&t.filterFn)||(t==null?void 0:t.filterFn(n));i&&a&&e(n,r)})}forAllVisibleRowNodesDo(e,t){if(this.getAgGridRowModelType()!=="clientSide")return this.logger.warn("`forAllVisibleRowNodesDo()` is only supported in client-side row model. `forAllRowNodesDo` will be used instead."),this.forAllRowNodesDo(e,t);this.gridOptions.api.forEachNodeAfterFilterAndSort((n,r)=>{let i=(t==null?void 0:t.includeGroupRows)||!this.isGroupRowNode(n),a=!(t!=null&&t.filterFn)||(t==null?void 0:t.filterFn(n));i&&a&&e(n,r)})}getVisibleRowNodes(e){let t=[];return this.forAllVisibleRowNodesDo(n=>t.push(n),e),t}getAllRowNodes(e){let t=[];return this.forAllRowNodesDo(n=>t.push(n),e),t}getGroupRowNodes(e){return this.getAllRowNodes({includeGroupRows:!0,filterFn:t=>this.isGroupRowNode(t)})}getRowsInViewport(){return this.gridOptions.api.getRenderedNodes()}selectNodes(e,t){pt.IsNotNullOrEmpty(e)&&e.forEach(n=>this.selectNode(n,t))}deSelectNodes(e,t){pt.IsNotNullOrEmpty(e)&&e.forEach(n=>this.deSelectNode(n,t))}selectNode(e,t){if(!e){this.logger.error("No node to select");return}e.setSelected(!0,t)}deSelectNode(e,t){if(!e){this.logger.error("No node to deselect");return}e.setSelected(!1,t)}selectCells(e,t,n,r){r&&this.gridOptions.api.clearRangeSelection();let i={rowStartIndex:t.rowIndex,rowEndIndex:n.rowIndex,columns:e};this.gridOptions.api.addCellRange(i)}isRowNodeVisible(e){let t=!1;return this.gridOptions.api.forEachNodeAfterFilter(n=>{n==e&&(t=!0)}),t}redrawBody(){this.gridOptions.api.redrawRows(),this._emit("GridRefreshed")}redrawRenderedRows(){this.redrawRows(this.gridOptions.api.getRenderedNodes())}redrawHeader(){this.gridOptions.api.refreshHeader()}redrawRow(e){this.redrawRows([e])}redrawRows(e){let t={rowNodes:e};try{this.gridOptions.api.redrawRows(t)}catch(n){this.logger.consoleError("AG Grid redrawRows was unable to find some row nodes. Tried to redraw row nodes: ",e,n)}}refreshCells(e,t,n,r=!1){let i=this.gridOptions.api,a={rowNodes:e,columns:t,force:n,suppressFlash:r};i.refreshCells(a)}refreshColumns(e,t,n){this.refreshCells(null,e,t,n)}jumpToRow(e){this.gridOptions.api.ensureNodeVisible(e,"middle")}jumpToColumn(e){this.gridOptions.api.ensureColumnVisible(e)}jumpToCell(e,t){this.jumpToRow(t),this.jumpToColumn(e)}getColDefsForSpecialColumns(){return[...this.getColDefsForCalculatedColumns(),...this.getColDefsForActionColumns(),...this.getColDefsForFreeTextColumns(),...this.getColDefsForActionRowColumns(),...this.api.fdc3Api.internalApi.getFdc3ActionColDefs()]}getColDefsForFreeTextColumns(){let e=Y7().FreeTextColumnSettings;return this.api.freeTextColumnApi.getFreeTextColumns().map(t=>{var s;let n=S(S({},e),t.FreeTextColumnSettings),r=n.DataType==="Number"?W0:n.DataType==="Date"?z0:null,i=[dd,this.agGridHelper.getAgGridDataType(n.DataType)];pt.IsNotNullOrEmpty((s=t==null?void 0:t.FreeTextColumnSettings)==null?void 0:s.ColumnTypes)&&i.push(...t.FreeTextColumnSettings.ColumnTypes);let a={headerName:t.FriendlyName||t.ColumnId,colId:t.ColumnId,editable:!0,hide:!0,width:n.Width,enableValue:n.Aggregatable,filter:n.Filterable,floatingFilter:n.Filterable,resizable:n.Resizable,enableRowGroup:n.Groupable,sortable:n.Sortable,enablePivot:n.Pivotable,suppressMenu:n.SuppressMenu,suppressMovable:n.SuppressMovable,cellEditor:r!=null?r:t.TextEditor&&t.TextEditor=="Large"?"agLargeTextCellEditor":"agTextCellEditor",type:i,valueSetter:l=>l.data[t.ColumnId]=l.newValue,cellRenderer:n.DataType&&n.DataType=="Boolean"?this.agGridHelper.createCheckboxRendererComp(t.ColumnId,!1):void 0,valueGetter:l=>this.api.freeTextColumnApi.getFreeTextColumnValueForRowNode(t,l.node)};return n.HeaderToolTip&&(a.headerTooltip=n.HeaderToolTip),this.logger.info("Setting up FreeText Column: "+t.ColumnId),a})}setupColumnValueGetter({col:e}){this.setColDefProperty(e,"valueGetter",t=>t)}getActionRowButtonDefs(){let e=this.api.actionRowApi.getActionRowButtons();if(!(e!=null&&e.length))return[];let t={create:{icon:{name:"add"},tooltip:"Create",onClick:()=>{this.api.actionRowApi.displayCreateActionRow()}},edit:{icon:{name:"edit"},tooltip:"Edit",onClick:(r,i)=>{this.api.actionRowApi.displayEditActionRow(i.primaryKeyValue)}},clone:{icon:{name:"clone"},tooltip:"Clone",onClick:(r,i)=>{this.api.actionRowApi.displayCloneActionRow(i.primaryKeyValue)}},delete:{icon:{name:"delete"},tooltip:"Delete",onClick:(r,i)=>{var s,l;let a={type:"rowDeleted",rowNode:i.rowNode,adaptableApi:i.adaptableApi,userName:i.userName,adaptableId:i.adaptableId};this.api.eventApi.emit("ActionRowSubmitted",a),(l=(s=this.adaptableOptions.actionRowOptions.actionRowFormOptions).onFormSubmit)==null||l.call(s,a)}}};return e.map(r=>{var s,l;let i=t[r];if(!i)return;let a=(l=(s=this.adaptableOptions.actionRowOptions.actionRowButtonOptions).customConfiguration)==null?void 0:l.call(s,{adaptableApi:this.api,actionRowButtonType:r,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId});return a?S(S({},i),a):i}).filter(Boolean)}getColDefsForActionRowColumns(){let e=this.api.actionRowApi.getActionRowButtons();if(!(e!=null&&e.length))return[];let t=this.getActionRowButtonDefs();return t.length?[{headerName:"",colId:bc,hide:!1,editable:!1,width:t.length*(Uo.getSimpleButtonPaddingWidth()*2+15)+2,resizable:!1,lockVisible:!0,suppressColumnsToolPanel:!0,suppressFiltersToolPanel:!0,suppressMenu:!0,suppressMovable:!0,filter:!1,sortable:!1,enableRowGroup:!1,pinned:this.adaptableOptions.actionRowOptions.actionRowButtonOptions.position==="pinnedRight"?"right":"left",cellRenderer:this.variant==="react"?TT:ky,cellClass:bc,type:[dd,"abColDefObject"]}]:[]}getColDefsForActionColumns(){let e={resizable:!0,suppressMenu:!1,suppressMovable:!1};return this.api.actionColumnApi.getActionColumns().map(t=>{let n=S(S({},e),t.actionColumnSettings),r={headerName:t.friendlyName?t.friendlyName:t.columnId,colId:t.columnId,hide:!1,editable:!1,width:n.width,resizable:n.resizable,suppressMenu:n.suppressMenu,suppressMovable:n.suppressMovable,filter:!1,sortable:!1,enableRowGroup:!1,cellRenderer:this.variant==="react"?TT:ky,type:[dd,"abColDefObject"]};return this.logger.info("Setting up Action Column: "+t.columnId),r})}updateColDefsForSpecialColumns(){let e=this.getGroupAndColumnDefs(),t=this.getColDefsForSpecialColumns(),n=l=>{let{type:u}=l;return!!(u===dd||Array.isArray(u)&&u.includes(dd))},r=l=>l.children!=null,i=[],a=l=>l.map(u=>{if(r(u))return u.children=a(u.children),u;{if(!n(u))return u;let c=t.find(p=>p.colId===u.colId);return c?(i.push(u.colId),S(S({},u),c)):u}}),s=a(e);t.forEach(l=>{i.includes(l.colId)||s.push(l)}),s=s.filter(l=>n(l)?t.some(u=>u.colId===l.colId):!0),this.safeSetColDefs(s),this.setLayout()}getColDefsForCalculatedColumns(){let e=q7().CalculatedColumnSettings;return this.api.calculatedColumnApi.getCalculatedColumns().map(t=>{let n=S(S({},e),t.CalculatedColumnSettings);n.DataType||(n.DataType=this.CalculatedColumnExpressionService.getCalculatedColumnDataType(t.Query));let r=[dd,this.agGridHelper.getAgGridDataType(n.DataType)];pt.IsNotNullOrEmpty(n.ColumnTypes)&&r.push(...n.ColumnTypes);let i=!this.api.expressionApi.internalApi.evaluateExpressionInAdaptableQL("CalculatedColumn",t,this.api.expressionApi.getAdaptableQueryExpression(t.Query)),a={headerName:t.FriendlyName?t.FriendlyName:t.ColumnId,colId:t.ColumnId,hide:!0,editable:!1,width:n.Width,enableValue:n.Aggregatable,filter:n.Filterable,floatingFilter:n.Filterable,resizable:n.Resizable,enableRowGroup:n.Groupable,sortable:n.Sortable,enablePivot:n.Pivotable,suppressMenu:n.SuppressMenu,suppressMovable:n.SuppressMovable,type:r,valueGetter:s=>{var l;return i?(l=s.data)==null?void 0:l[t.ColumnId]:this.CalculatedColumnExpressionService.evaluateCalculatedColumnQuery(t,s.node)}};return n.ShowToolTip!=null&&n.ShowToolTip==!0&&(a.tooltipValueGetter=()=>this.api.internalApi.getAdaptableQueryExpressionText(t.Query)),n.HeaderToolTip&&(a.headerTooltip=n.HeaderToolTip),this.logger.info("Setting up Calculated Column: "+t.ColumnId),a})}isRegularColDef(e){return e.children===void 0}isGroupColDef(e){return e.children!==void 0}getColDefs(){let e=this.getGroupAndColumnDefs(),t=[];return e.forEach(n=>{this.isRegularColDef(n)&&t.push(n)}),t}getGroupedColDefs(){let e=this.getGroupAndColumnDefs(),t=[];return e.forEach(n=>{this.isGroupColDef(n)&&t.push(n)}),t}getFirstRowNode(){let e=0,t=this.gridOptions.api.getDisplayedRowAtIndex(e);for(;t&&t.group;)e++,t=this.gridOptions.api.getDisplayedRowAtIndex(e);return t||(t=this.gridOptions.api.getDisplayedRowAtIndex(0)),t}getFirstDisplayedRowNode(){let e=this.gridOptions.api.getFirstDisplayedRow();return this.gridOptions.api.getDisplayedRowAtIndex(e)}destroy(e){var r,i,a,s,l,u,c,p,m,h,C,y,v,x,A,R,w,P,D,F,M,O,_,H,j,B,V,$;this.gridOptions&&this.gridOptions.api&&(this.gridOptions.api.removeEventListener(L.EVENT_FIRST_DATA_RENDERED,this.listenerFirstDataRendered),this.gridOptions.api.removeEventListener(L.EVENT_COLUMN_PIVOT_MODE_CHANGED,this.listenerPivotModeChanged),this.gridOptions.api.removeEventListener(L.EVENT_COLUMN_PIVOT_CHANGED,this.listenerPivotChanged),this.gridOptions.api.removeEventListener(L.EVENT_CELL_EDITING_STARTED,this.listenerCellEditingStarted),this.gridOptions.api.removeEventListener(L.EVENT_COLUMN_ROW_GROUP_CHANGED,this.listenerColumnRowGroupChanged),this.gridOptions.api.removeEventListener(L.EVENT_RANGE_SELECTION_CHANGED,this.listenerRangeSelectionChanged),this.gridOptions.api.removeEventListener(L.EVENT_COLUMN_RESIZED,this.listenerColumnResized),this.gridOptions.api.removeEventListener(L.EVENT_SORT_CHANGED,this.listenerSortChanged),this.gridOptions.api.removeEventListener(L.EVENT_MODEL_UPDATED,this.listenerModelUpdated),this.gridOptions.api.removeGlobalListener(this.listenerGlobalSetRowSelection),this.gridOptions.api.removeGlobalListener(this.listenerGlobalColumnEventsThatTriggerStateChange),this.gridOptions.api.removeGlobalListener(this.listenerGlobalColumnEventsThatTriggerAutoLayoutSave),this.gridOptions.api.removeGlobalListener(this.listenerGlobalRowGroupEventsThatTriggerAutoLayoutSave),this.listenerFirstDataRendered=null,this.listenerPivotModeChanged=null,this.listenerPivotChanged=null,this.listenerCellEditingStarted=null,this.listenerColumnRowGroupChanged=null,this.listenerRangeSelectionChanged=null,this.listenerColumnResized=null,this.listenerGlobalSetRowSelection=null,this.listenerSortChanged=null,this.listenerModelUpdated=null,this.listenerGlobalColumnEventsThatTriggerStateChange=null,this.listenerGlobalColumnEventsThatTriggerAutoLayoutSave=null,this.listenerGlobalRowGroupEventsThatTriggerAutoLayoutSave=null,this.throttleFilterOnEditDataChange=null,this.throttleFilterOnTickingDataChange=null,this.gridOptions.api.__adaptable=null,this.gridOptions.api.setColumnDefs=Kte,this.revertGridOptionsPropertiesToUserValue(["getRowStyle","getRowClass","excelStyles","suppressAggFuncInHeader","initialGroupOrderComparator","getContextMenuItems","getMainMenuItems","isExternalFilterPresent","doesExternalFilterPass","statusBar","sideBar","aggFuncs"]),this.gridOptions.components&&(this.gridOptions.components.AdaptableToolPanel=null),e&&e.destroyApi===!1||this.gridOptions.api.destroy());let t=this.getAgGridContainerElement();t&&(t.removeEventListener("keydown",this.listenerKeydown),t.removeEventListener("mouseenter",this.listenerMouseEnter),t.removeEventListener("mouseleave",this.listenerMouseLeave),this.listenerKeydown=null,this.listenerMouseEnter=null,this.listenerMouseLeave=null),this.api.internalDestroySelf(),this.colDefPropertyCache=null,this.gridOptionsPropertyCache=null,this.currentColumnDefs=null,this.rowListeners=null,this.emitter.destroy(),this.emitter=null,this._adaptableReady=!1,this.agGridHelper.destroy(),this.agGridMenuHelper.destroy(),rp.dismissInstance(this);let n=this.getAdaptableContainerElement();e&&!e.unmount||(n!=null&&((r=this.unmountReactRoot)==null||r.call(this)),this.gridContainerElement=null,this.abContainerElement=null,(i=this.adaptableStore)==null||i.destroy(),this.adaptableStore=null,this.gridOptions=null,this.adaptableOptions=null,(s=(a=this.CalculatedColumnExpressionService)==null?void 0:a.destroy)==null||s.call(a),this.CalculatedColumnExpressionService=null,(u=(l=this.DataService)==null?void 0:l.destroy)==null||u.call(l),this.DataService=null,(p=(c=this.EntitlementService)==null?void 0:c.destroy)==null||p.call(c),this.EntitlementService=null,(h=(m=this.Fdc3Service)==null?void 0:m.destroy)==null||h.call(m),this.Fdc3Service=null,(y=(C=this.ReportService)==null?void 0:C.destroy)==null||y.call(C),this.ReportService=null,(x=(v=this.ModuleService)==null?void 0:v.destroy)==null||x.call(v),this.ModuleService=null,(R=(A=this.ValidationService)==null?void 0:A.destroy)==null||R.call(A),this.ValidationService=null,(P=(w=this.QueryLanguageService)==null?void 0:w.destroy)==null||P.call(w),this.QueryLanguageService=null,(F=(D=this.AlertService)==null?void 0:D.destroy)==null||F.call(D),this.AlertService=null,(O=(M=this.TeamSharingService)==null?void 0:M.destroy)==null||O.call(M),this.TeamSharingService=null,(H=(_=this.RowEditService)==null?void 0:_.destroy)==null||H.call(_),this.RowEditService=null,(B=(j=this.MetamodelService)==null?void 0:j.destroy)==null||B.call(j),this.MetamodelService=null,($=(V=this.LicenseService)==null?void 0:V.destroy)==null||$.call(V),this.LicenseService=null,this.isDestroyed=!0)}getDefaultIPPStyle(){return{Header:{headerColor:"#000000",headerBackColor:"#f5f7f7",headerFontFamily:"sans-serif",headerFontSize:"12px",headerFontStyle:"normal",headerFontWeight:"400",height:65,Columns:this.api.columnApi.getColumns().map(e=>({columnFriendlyName:e.friendlyName,width:200,textAlign:"start"}))},Row:{color:"#000000",backColor:"#ffffff",altBackColor:"#fcfdfe",fontFamily:"sans-serif",fontSize:"12px",fontStyle:"normal",fontWeight:"400",height:30,Columns:this.api.columnApi.getColumns().map(e=>({columnFriendlyName:e.friendlyName,width:200,textAlign:"start"}))}}}getCurrentIPPStyle(){return this.agGridHelper.getCurrentIPPStyle()}getAdaptableContainerElement(){if(!this.abContainerElement){let e=this.adaptableOptions.containerOptions.adaptableContainer;if(this.abContainerElement=typeof e=="string"?document.getElementById(e):e,!this.abContainerElement){let t=document.getElementById("adaptableBlotter");t&&(this.logger.warn(`
619
619
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
620
620
  !!!!! The old default container element for Adaptable was "#adaptableBlotter", configured via 'containerOptions.adaptableContainer="adaptableBlotter"'.
621
621
  !!!!! Seems like you haven't updated your html container selector, so we're falling back to using that one.
622
622
  !!!!!
623
623
  !!!!! To make this warning go away, update your html structure and make sure you have an element with id="adaptable" in your app!
624
624
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
625
- `),this.abContainerElement=t)}}return this.abContainerElement}getAgGridContainerElement(){return this.gridContainerElement||(this.gridContainerElement=typeof this.adaptableOptions.containerOptions.agGridContainer=="string"?document.getElementById(this.adaptableOptions.containerOptions.agGridContainer):this.adaptableOptions.containerOptions.agGridContainer),this.gridContainerElement}initInternalGridLogic(){if(this.abContainerElement==null&&(this.abContainerElement=this.getAdaptableContainerElement()),this.abContainerElement==null){typeof this.adaptableOptions.containerOptions.adaptableContainer=="string"?this.logger.consoleError(`There is no DIV with id="${this.adaptableOptions.containerOptions.adaptableContainer}" so cannot render Adaptable`):this.logger.consoleError("No valid adaptableContainer found to render Adaptable",this.adaptableOptions.containerOptions.adaptableContainer);return}let e=this.getAgGridContainerElement();e&&(e.addEventListener("keydown",this.listenerKeydown=u=>this._emit("KeyDown",u),!0),e.addEventListener("mouseenter",this.listenerMouseEnter=u=>{this._emit("MouseEnter",u)},!0),e.addEventListener("mouseleave",this.listenerMouseLeave=u=>this._emit("MouseLeave",u)));let t=[L.EVENT_COLUMN_MOVED,L.EVENT_GRID_COLUMNS_CHANGED,L.EVENT_COLUMN_EVERYTHING_CHANGED,L.EVENT_DISPLAYED_COLUMNS_CHANGED,L.EVENT_COLUMN_VISIBLE,L.EVENT_NEW_COLUMNS_LOADED];this.gridOptions.api.addGlobalListener(this.listenerGlobalColumnEventsThatTriggerStateChange=u=>{t.indexOf(u)>-1&&this.debouncedSetColumnIntoStore()}),this.gridOptions.api.addEventListener(L.EVENT_CELL_EDITING_STARTED,this.listenerCellEditingStarted=()=>{var u;(u=this.adaptableOptions.actionRowOptions)!=null&&u.disableInlineEditing&&this.gridOptions.api.stopEditing()}),this.gridOptions.api.addEventListener(L.EVENT_FIRST_DATA_RENDERED,this.listenerFirstDataRendered=()=>{this.checkColumnsDataTypeSet(),this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns(),this.setLayout()}),this.gridOptions.api.addEventListener(L.EVENT_COLUMN_PIVOT_MODE_CHANGED,this.listenerPivotModeChanged=u=>{u.type=="columnPivotModeChanged"&&u.columnApi!=null&&u.columnApi.columnController!=null&&u.columnApi.columnController.pivotMode==!0?(this.adaptableOptions.layoutOptions.autoSizeColumnsInPivotLayout==!0&&this.gridOptions.columnApi.autoSizeAllColumns(),this.api.internalApi.setPivotModeOn()):this.api.internalApi.setPivotModeOff()}),this.gridOptions.api.addEventListener(L.EVENT_COLUMN_PIVOT_CHANGED,this.listenerPivotChanged=u=>{u.type=="columnPivotChanged"&&u.columnApi!=null&&u.columnApi.columnController!=null&&u.columnApi.columnController.pivotMode==!0&&this.adaptableOptions.layoutOptions.autoSizeColumnsInPivotLayout==!0&&this.gridOptions.columnApi.autoSizeAllColumns()});let n=[L.EVENT_COLUMN_PINNED,L.EVENT_COLUMN_PIVOT_CHANGED,L.EVENT_COLUMN_PIVOT_MODE_CHANGED,L.EVENT_DISPLAYED_COLUMNS_CHANGED,L.EVENT_SORT_CHANGED,L.EVENT_COLUMN_ROW_GROUP_CHANGED,L.EVENT_COLUMN_VALUE_CHANGED];this.gridOptions.api.addGlobalListener(this.listenerGlobalColumnEventsThatTriggerAutoLayoutSave=u=>{n.indexOf(u)>-1&&this.debouncedSaveGridLayout()});let r=[L.EVENT_ROW_GROUP_OPENED,L.EVENT_EXPAND_COLLAPSE_ALL];this.gridOptions.api.addGlobalListener(this.listenerGlobalRowGroupEventsThatTriggerAutoLayoutSave=u=>{r.indexOf(u)>-1&&this.adaptableOptions.layoutOptions.displayRowGroups=="dynamic"&&this.debouncedSaveGridLayout()}),this.gridOptions.api.addEventListener(L.EVENT_COLUMN_ROW_GROUP_CHANGED,this.listenerColumnRowGroupChanged=u=>{var c,p;this.api.internalApi.isGridInPivotMode()||(p=(c=this.adaptableOptions)==null?void 0:c.groupingOptions)!=null&&p.restoreUngroupedColumns&&this.persistColumnIndexBeforeGrouping(u)}),this.gridOptions.api.addEventListener(L.EVENT_COLUMN_RESIZED,this.listenerColumnResized=u=>{u.finished==!0&&u.type=="columnResized"&&u.column&&this.debouncedSaveGridLayout()});let i=[L.EVENT_ROW_GROUP_OPENED,L.EVENT_SELECTION_CHANGED,L.EVENT_ROW_SELECTED];this.gridOptions.api.addGlobalListener(this.listenerGlobalSetRowSelection=u=>{pt.ContainsItem(i,u)&&this.debouncedSetSelectedRows()}),this.gridOptions.api.addEventListener(L.EVENT_RANGE_SELECTION_CHANGED,this.listenerRangeSelectionChanged=u=>{u.finished==!0&&this.debouncedSetSelectedCells()}),this.gridOptions.api.addEventListener(L.EVENT_SORT_CHANGED,this.listenerSortChanged=()=>{this.onSortChanged(),this.debouncedSetSelectedCells(),this._emit("SortChanged")});let a=this.adaptableOptions.groupingOptions.showGroupingTotalsAsHeader;this.gridOptions.api.addEventListener(L.EVENT_MODEL_UPDATED,this.listenerModelUpdated=u=>{if(a&&u&&u.api){let c=u.api.getPinnedTopRow(0),m=u.api.getModel().getRootNode();c?c.updateData(m.aggData):u.api.setPinnedTopRowData([m.aggData])}});let s=[L.EVENT_CHART_CREATED,L.EVENT_CHART_RANGE_SELECTION_CHANGED,L.EVENT_CHART_OPTIONS_CHANGED,L.EVENT_CHART_DESTROYED];this.ModuleService.getModuleById("Charting").isModuleAvailable()&&this.gridOptions.api.addGlobalListener((u,c)=>{pt.ContainsItem(s,u)&&this.ChartingService.onChartModelChange(this.getChartModels(),u,c)}),this.rowListeners={dataChanged:u=>{this.onRowDataChanged({rowNode:u.node,oldData:u.oldData,newData:u.newData})},cellChanged:u=>{u.column&&this.onCellDataChanged({rowNode:u.node,oldValue:u.oldValue,newValue:u.newValue,colId:u.column.colId})}},this.setGridOptionsProperty("isExternalFilterPresent",u=>c=>{if(this.isDestroyed)return!0;let p=this.api.filterApi.getActiveColumnFilters(),m=pt.IsNotNullOrEmpty(p),h=ct.IsNotNullOrEmpty(this.api.queryApi.getCurrentQuery());return m||h||(u?u(c):!1)}),this.setGridOptionsProperty("doesExternalFilterPass",u=>c=>{if(this.isDestroyed)return!0;if(!this.isGroupRowNode(c)){let m=this.api.queryApi.getCurrentQuery();if(m&&this.api.expressionApi.internalApi.evaluateExpressionInAdaptableQL("Query",void 0,m)&&(!this.api.expressionApi.isValidBooleanExpression(m,cr,`Invalid CurrentQuery '${m}'`)||!this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(m,cr,c)))return!1}let p=this.api.filterApi.getActiveColumnFilters();try{if(p.length>0){for(let m of p)if(this.api.expressionApi.internalApi.evaluatePredicatesInAdaptableQL("Filter",m,[m.Predicate])&&!this.api.filterApi.internalApi.evaluateColumnFilter(m,c))return!1}}catch(m){return this.logger.error(m),!1}return u?u(c):!0}),this.setGridOptionsProperty("getMainMenuItems",u=>c=>this.agGridMenuHelper.buildColumnMenu(c,u)),this.setGridOptionsProperty("getContextMenuItems",u=>c=>this.agGridMenuHelper.buildContextMenu(c,u)),this.prepareGrid()}updateColumnFilterActiveState(){var a;let e=this.api.filterApi.getActiveColumnFilters(),t=(a=e==null?void 0:e.filter)==null?void 0:a.call(e,s=>this.api.filterApi.isFilterActive(s)),n=pt.IsNotNullOrEmpty(t),r={};if(n)for(let s of t){let l=this.gridOptions.columnApi.getColumn(s.ColumnId);l&&(r[l.getColId()]=!0,l.isFilterActive()||l.setFilterActive(!0))}let i=this.gridOptions.api.getFilterModel();(this.gridOptions.columnApi.getColumns()||[]).forEach(s=>{!(i&&i[s.getColId()])&&!r[s.getColId()]&&s.isFilterActive()&&s.setFilterActive(!1)})}buildStandaloneColumnHeader(e){return this.agGridMenuHelper.buildStandaloneColumnHeader(e)}prepareGrid(){let e=this.logger.beginPerf("prepareGrid()");try{this.updateColDefsForSpecialColumns(),this.applyCurrentTheme(),this.applyFinalRendering(),this.applyGridFiltering()}catch(t){this.logger.consoleError("AgGrid setup failed"),this.logger.consoleError(t)}e.end()}setupColumns(){let e=this.logger.beginPerf("setupColumns()"),t=this.gridOptions.columnApi.getColumns();t.map(n=>n.getColDef()).forEach(n=>qte(n,this.logger)),this.updateColumnsIntoStore(),t.forEach(n=>{let r=n.getColDef(),i=n.getColId(),a=this.api.columnApi.getColumnWithColumnId(i),s={col:n,colDef:r,colId:i,abColumn:a};this.setupColumnCellRenderer(s),this.setupColumnCellStyle(s),this.setupColumnCellClass(s),this.setupColumnTooltipValueGetter(s),this.setupColumnValueGetter(s),this.setupColumnFilter(s),this.setupColumnFloatingFilter(s),this.setupColumnValueFormatter(s),this.setupColumnEditable(s),this.setupColumnValueSetter(s),this.setupColumnComparator(s),this.setupColumnCellEditor(s),this.setupColumnHeader(s),this.setupColumnQuickFilerText(s),this.setupAllowedAggFuncs(s),this.setupColumnKeyCreator(s),this.setupColumnCellDataType(s)}),this.setupRowStyling(),this.redrawBody(),this.redrawHeader(),e.end()}revertGridOptionsPropertiesToUserValue(e){for(let t of e){let n=`user.${t}`,r=this.gridOptionsPropertyCache.get(n);this.gridOptions[t]=r}}setGridOptionsProperty(e,t){if(this.isDestroyed)return;let n=`user.${e}`,r=`adaptable.${e}`,i=this.gridOptions[e];i!==this.gridOptionsPropertyCache.get(r)&&this.gridOptionsPropertyCache.set(n,i);let s=this.gridOptionsPropertyCache.get(n),l=t(s);if(typeof l=="function"){let u=l;l=(...c)=>{if(!this.isDestroyed)return u(...c)}}l!=null&&this.gridOptionsPropertyCache.set(r,l),this.gridOptions[e]=l!=null?l:s}setColDefProperty(e,t,n){let r=e.getColId(),i=e.getColDef(),a={col:e,colDef:i,colId:r},s=`user.${r}.${t}`,l=`adaptable.${r}.${t}`,u=i[t];u!==this.colDefPropertyCache.get(l)&&this.colDefPropertyCache.set(s,u);let p=this.colDefPropertyCache.get(s),m=n(p);m!=null&&this.colDefPropertyCache.set(l,m);let h=m!=null?m:p;this.forPlugins(C=>{C.interceptSetupColumnProperty&&(h=C.interceptSetupColumnProperty(a,t,h,this.api))}),t==="aggFunc"&&i[t]!==(h!=null?h:null)&&this.gridOptions.columnApi.setColumnAggFunc(r,h!=null?h:null),!(h===void 0&&i[t]===void 0)&&(i[t]=h)}getUserColDefProperty(e,t){let n=`user.${e}.${t}`;return this.colDefPropertyCache.get(n)}setupColumnCellStyle({col:e,colId:t,abColumn:n}){this.setColDefProperty(e,"cellStyle",r=>{let i=this.getQuickSearchCellStyle(),a=i!=null;return l=>{let u=a&&this.isQuickSearchActive(n,l),c=typeof r=="function"?r(l):r,p=S(S(S(S(S(S(S(S({},c),this.getReadOnlyCellStyle(n,l)),this.getEditableCellStyle(n,l)),this.getFormatColumnAndStyledColumnCellStyle(n,t,l)),u?i:{}),this.getAlertCellStyle(n,l)),this.getFlashingCellStyle(n,l)),this.getCellHighlightStyle(n,l));return PFe(p)}})}setupColumnCellClass({col:e,colId:t,abColumn:n}){this.setColDefProperty(e,"cellClass",r=>{let i=this.api.formatColumnApi.internalApi.getFormatColumnWithStyleClassNameForColumn(n),a=this.api.quickSearchApi.getQuickSearchStyle().ClassName,s=ct.IsNotNullOrEmpty(a);return u=>{let c=this.getPrimaryKeyValueFromRowNode(u.node);if(this.api.exportApi.internalApi.isVisualDataExportInProgress()){let P=typeof r=="function"?r(u):r,D=this.getExcelClassNameForCell(t,c,P);return this.api.internalApi.getReportService().getExcelStyleIdForCellClassKey(D)}let p=s&&this.isQuickSearchActive(n,u),m=this.getEditableCellClass(n,u),h=this.getReadonlyCellClass(n,u),C=this.getAlertCellClass(n,u),y=this.getFlashingCellClass(n,u),v=this.api.styledColumnApi.getStyledColumnForColumnId(t),x=!!v&&!v.IsSuspended,A=this.getCommentCellClassName(n,u),R=[typeof r=="function"?r(u):r,!x&&i.length?this.getFormatColumnCellClass(i,n,u):null,p?a:null,m,h,C,y,A].flat().filter(P=>!!P);return R.length?R:void 0}})}getExcelClassNameForCell(e,t,n){let r=`--excel-cell-${e}-${t}`;return r.indexOf(" ")>0&&(r=r.replace(/\s/g,"_")),n!=null?`${r}-${Array.isArray(n)?n.join("-"):n}`:r}setupColumnCellEditor({colId:e,col:t}){let n=this.api.columnApi.getColumnWithColumnId(e),r=this.api.userInterfaceApi.getEditLookUpItemForColumn(n),i=this.isAgGridModulePresent(ot.RichSelectModule);this.setColDefProperty(t,"cellEditor",()=>{let a=this.api.styledColumnApi.getActiveStyledColumnForColumn(n);if(a&&!(a!=null&&a.IsSuspended)&&a.CheckBoxStyle)return Gz;if(r)return i?"agRichSelectCellEditor":"agSelectCellEditor"}),this.setColDefProperty(t,"cellEditorPopup",()=>{if(r&&i)return!0}),this.setColDefProperty(t,"cellEditorParams",a=>{if(r)return s=>{let l=this.getGridCellFromRowNode(s==null?void 0:s.node,e);return{values:this.api.userInterfaceApi.getEditLookUpValuesForEditLookUpItem(r,l)}}})}setupColumnCellRenderer({col:e,colId:t,abColumn:n}){this.setColDefProperty(e,"cellRenderer",()=>{let r=this.api.styledColumnApi.getStyledColumnForColumnId(n.columnId);if(r&&!r.IsSuspended){if(r.PercentBarStyle)return this.agGridHelper.createPercentBarRendererComp(r,n);if(r.CheckBoxStyle)return this.agGridHelper.createCheckboxRendererComp(n.columnId,n.readOnly);if(r.BadgeStyle)return this.agGridHelper.createBadgeRendererComp(r,n);if(r.SparkLineStyle)return"agSparklineCellRenderer"}}),this.setColDefProperty(e,"cellRendererParams",r=>{let i=this.api.styledColumnApi.getStyledColumnForColumnId(n.columnId);if(i&&!i.IsSuspended&&i.SparkLineStyle){let a=(0,S2e.default)({},r==null?void 0:r.sparklineOptions,i.SparkLineStyle.options);return T(S({},r),{sparklineOptions:a})}})}setupColumnTooltipValueGetter({col:e,colId:t,abColumn:n}){let r=!1;this.setColDefProperty(e,"tooltipValueGetter",()=>{let i=this.api.styledColumnApi.getStyledColumnForColumnId(t);if(i&&!i.IsSuspended&&i.PercentBarStyle&&i.PercentBarStyle.ToolTipText&&(r=!0,i!=null&&i.PercentBarStyle))return a=>{let s=this.api.styledColumnApi.internalApi.getNumericStyleMinValue(i,n,a.node,a.value),l=this.api.styledColumnApi.internalApi.getNumericStyleMaxValue(i,n,a.node,a.value),u=i.PercentBarStyle.ToolTipText,c="";return u.includes("CellValue")&&(c=a.value),u.includes("PercentageValue")&&(c+=` (${((qo.clamp(a.value,s,l)-s)/(l-s)*100).toFixed(0)}%)`),c||a.value}})}setupColumnQuickFilerText({col:e,abColumn:t}){this.setColDefProperty(e,"getQuickFilterText",n=>n||(r=>this.api.layoutApi.getCurrentVisibleColumnIdsMap()[t.columnId]?this.getDisplayValueFromRowNode(r.node,t.columnId):""))}setupAllowedAggFuncs({col:e,abColumn:t}){this.setColDefProperty(e,"allowedAggFuncs",()=>t.availableAggregationFunctions)}triggerSetupColumnKeyCreator(e){let t=this.gridOptions.columnApi.getColumn(e),n=t.getColDef(),r=this.api.columnApi.getColumnWithColumnId(e),i={col:t,colDef:n,colId:e,abColumn:r};this.setupColumnKeyCreator(i)}setupColumnKeyCreator(e){let{col:t,abColumn:n}=e,r=this.adaptableOptions,i=this.api;this.setColDefProperty(t,"keyCreator",a=>s=>{var p;if(typeof a=="function")return a(s);let l=s.value,u=(p=r.groupingOptions)==null?void 0:p.unbalancedGroupsKey;if(!u)return l;let c=typeof u=="function"?u({adaptableApi:i,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId,adaptableColumn:n,params:s}):u;return l==null?c:l})}setupColumnCellDataType(e){let{col:t}=e;this.setColDefProperty(t,"cellDataType",()=>!1)}setupColumnHeader({col:e,abColumn:t}){var i,a;let n=(i=e==null?void 0:e.getColDef())==null?void 0:i.headerName;this.setColDefProperty(e,"headerName",s=>{var c;let l=s!=null?s:ct.CamelCaseToHumanText(e.getColDef().field),u=(c=this.api.layoutApi.getCurrentLayout().ColumnHeadersMap)==null?void 0:c[e.getColId()];return u&&(l=u),t.friendlyName=l,l});let r=(a=e==null?void 0:e.getColDef())==null?void 0:a.headerName;return n!==r}setupColumnFilter({col:e,colDef:t}){this.setColDefProperty(e,"filter",()=>{if(!!t.filter&&!!this.api.columnApi.internalApi.usesAdaptableFilterForm(e.getColId()))return this.gridOptions.api.destroyFilter(e),JHe(this)})}setupColumnFloatingFilter({col:e,colDef:t}){let n=!t.floatingFilter||!this.api.columnApi.internalApi.usesAdaptableQuickFilter(e.getColId());this.setColDefProperty(e,"floatingFilterComponent",()=>{if(!n)return o2e(this)}),this.setColDefProperty(e,"floatingFilterComponentParams",()=>{if(!n)return{suppressFilterButton:!0}})}setupColumnValueFormatter({col:e,abColumn:t}){this.setColDefProperty(e,"valueFormatter",n=>{let r=this.api.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(t);if(!!r.length)return i=>{let{node:a,value:s}=i,l=this.api.formatColumnApi.internalApi.getMostRelevantFormatColumnForColumn(r,t,{node:a,value:s});if(!l)return s;let u=l.DisplayFormat.Options;return l.DisplayFormat.Formatter==="NumberFormatter"&&this.api.scopeApi.isColumnInNumericScope(t,l.Scope)?this.api.formatColumnApi.internalApi.getNumberFormattedValue(i.value,i.node,t,u):l.DisplayFormat.Formatter==="DateFormatter"&&this.api.scopeApi.isColumnInDateScope(t,l.Scope)?this.api.formatColumnApi.internalApi.getDateFormattedValue(i.value,i.node,t,u):l.DisplayFormat.Formatter==="StringFormatter"&&this.api.scopeApi.isColumnInStringsScope(t,l.Scope)?this.api.formatColumnApi.internalApi.getStringFormattedValue(i.value,i.node,t,u):s}})}setupColumnEditable({col:e}){this.setColDefProperty(e,"editable",t=>{if(typeof t=="boolean"&&t===!1)return t;let n=this.adaptableOptions.editOptions.isCellEditable;return n?i=>{let s={gridCell:this.getGridCellFromRowNode(i.node,i.column.getColId()),adaptableApi:this.api,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId};return n(s)}:t})}setupColumnValueSetter({col:e,colId:t,abColumn:n}){this.setColDefProperty(e,"valueSetter",r=>{var l;let a=!this.api.alertApi.internalApi.getAlertDefinitionsWithPreventEdit().filter(u=>this.api.scopeApi.isColumnInScope(n,u.Scope)).length&&!((l=this.adaptableOptions.editOptions)!=null&&l.validateOnServer);return a?void 0:u=>{var y;let c=u.column.getColDef().field;if(a)return typeof r=="function"?r(u):(c&&(u.data[c]=u.newValue),!0);let p=this.api.internalApi.buildDataChangedInfo({oldValue:u.oldValue,newValue:u.newValue,column:this.api.columnApi.getColumnWithColumnId(u.column.getColId()),primaryKeyValue:this.getPrimaryKeyValueFromRowNode(u.node),rowNode:u.node,trigger:"edit"});if(p.oldValue===p.newValue)return!0;let m=T(S({},u.node),{data:S({},u.node.data)});m.data[c]=u.newValue;let h=T(S({},p),{rowNode:m});if(!this.ValidationService.performValidation(h))return!1;let C=()=>{};if((y=this.adaptableOptions.editOptions)!=null&&y.validateOnServer&&this.ValidationService.performServerValidation(p,{onServerValidationCompleted:C})(),typeof r=="function")return r(u);if(c)u.data[c]=u.newValue;else throw`Cannot edit a column without a field - column id was ${t}`;return!0}})}setupColumnComparator({col:e,colId:t,abColumn:n}){let r=this.api.customSortApi.getCustomSortForColumn(t),i=this.api.customSortApi.internalApi.getCustomSortComparer(n),a=s=>()=>this.getActiveColumnComparator(t,r,i);this.setColDefProperty(e,"comparator",a("comparator")),this.setColDefProperty(e,"pivotComparator",a("pivotComparator"))}applyCurrentTheme(){this.api.themeApi.applyCurrentTheme()}applyFinalRendering(){this.embedColumnMenu=this.isAgGridModulePresent(ot.MenuModule),this.gridOptions.treeData&&this.gridOptions.treeData==!0?this.api.internalApi.setTreeModeOn():this.api.internalApi.setTreeModeOff(),this.agGridHelper.checkShouldClearExistingFiltersOrSearches()}isAgGridModulePresent(e){return ze.__isRegistered(e,this.gridOptions.gridId)?!0:!!this.getAllAgGridRegisteredModules()[e]}getAllAgGridRegisteredModules(){let e=ze.gridModulesMap,t={};return Object.keys(e).forEach(n=>{t=S(S({},t),e[n])}),t}getAgGridRegisteredModules(){return Object.values(this.getAllAgGridRegisteredModules())}getAgGridRegisteredModuleNames(){return this.getAgGridRegisteredModules().map(e=>e.moduleName)}onRowDataChanged({rowNode:e,oldData:t,newData:n}){if(t==null||t==null||t==n)return;let r=this.getPrimaryKeyValueFromRowNode(e);if(!r)return;let i=[];Object.keys(t).forEach(a=>{if(this.api.columnApi.isColumnInGrid(a)){let s=t[a],l=n[a];if(s!=l){let u=this.api.internalApi.buildDataChangedInfo({oldValue:s,newValue:l,column:this.api.columnApi.getColumnWithColumnId(a),primaryKeyValue:r,rowNode:e,trigger:"tick"});this.isUndoChange(u)&&(u.trigger="undo"),i.push(u)}}}),this.performPostEditChecks(i)}onCellDataChanged({rowNode:e,oldValue:t,newValue:n,colId:r}){if(t==n)return;let i=this.api.columnApi.getColumnWithColumnId(r);if(!i)return;if(this.isGroupRowNode(e)){let l=this.api.internalApi.buildDataChangedInfo({oldValue:t,newValue:n,column:i,primaryKeyValue:e.id,rowNode:e,trigger:"aggChange"});this.DataService.CreateDataChangedEvent(l);return}let a=this.getPrimaryKeyValueFromRowNode(e);if(!a)return;let s=this.api.internalApi.buildDataChangedInfo({oldValue:t,newValue:n,column:i,primaryKeyValue:a,rowNode:e,trigger:"edit"});this.isUndoChange(s)&&(s.trigger="undo"),this.performPostEditChecks([s])}isUndoChange(e){return!!this.api.internalApi.getDataService().extractUndoChange(e)}performPostEditChecks(e){let t=e[0];!t||!t.rowNode||(e.forEach(n=>{n.trigger==="undo"&&this.logger.info(`Undo data change: PK(${n.primaryKeyValue}) Col(${n.column}) RevertedValue(${n.oldValue}) OriginalValue(${n.newValue})`),(n.trigger==="edit"||n.trigger==="undo")&&(this.checkChangedCellCurrentlySelected(n),this.api.freeTextColumnApi.internalApi.handleFreeTextColumnDataChange(n)),this.DataService.CreateDataChangedEvent(n),this.resetMinMaxCachedValueForColumn(n.column)}),this.refreshCellsBasedOnCellDataChange(e),t.trigger=="tick"?this.filterOnTickingDataChange():this.filterOnEditDataChange())}refreshCellsBasedOnCellDataChange(e){let[t]=e;if(this.isVisibleNode(t.rowNode)){let n={wholeRow:!1,columnIds:new Set};this.getFormatColumnExpressionStylesChanges(n,e),n.wholeRow===!1&&this.getFormatColumnPredicateStyleChanges(n,e),n.wholeRow?this.redrawRow(t.rowNode):(this.getStyledColumnComparisonChanges(n,e),n.columnIds.size>0&&this.refreshCells([t.rowNode],Array.from(n.columnIds.values()),!0))}this.refreshColumnForRelativeRangeStyledColumns(e)}getFormatColumnExpressionStylesChanges(e,t){let n=[];n.push(...this.api.formatColumnApi.internalApi.getFormatColumnsWithExpression()),!pt.IsNullOrEmpty(n)&&t.forEach(r=>{e.wholeRow||n.forEach(i=>{if(!e.wholeRow&&this.api.expressionApi.getColumnsFromExpression(i.Rule.BooleanExpression).includes(r.column.columnId))if(this.api.scopeApi.scopeIsAll(i.Scope)){e.wholeRow=!0;return}else this.api.scopeApi.getColumnsForScope(i.Scope).map(s=>s.columnId).forEach(s=>{e.columnIds.add(s)})})})}getFormatColumnPredicateStyleChanges(e,t){t.forEach(n=>{let r=this.api.formatColumnApi.internalApi.getFormatColumnColumnsDependentOnColumnChange(n.column);for(let i of r)e.columnIds.add(i)})}getStyledColumnComparisonChanges(e,t){this.api.styledColumnApi.getStyledColumns().forEach(n=>{let r=this.api.styledColumnApi.internalApi.getColumnComparisonForStyledColumn(n);if(r){let i=this.api.styledColumnApi.internalApi.getColumnIdsFromColumnComparison(r);pt.IsNotNullOrEmpty(i)&&t.forEach(a=>{i.includes(a.column.columnId)&&e.columnIds.add(n.ColumnId)})}})}checkChangedCellCurrentlySelected(e){let t=this.api.gridApi.getSelectedCellInfo();t&&pt.IsNotNullOrEmpty(t.gridCells)&&t.gridCells.find(i=>i.primaryKeyValue==e.primaryKeyValue&&i.column==e.column)&&this.setSelectedCells();let n=this.api.gridApi.getSelectedRowInfo();n&&pt.IsNotNullOrEmpty(n.gridRows)&&n.gridRows.find(i=>i.primaryKeyValue==e.primaryKeyValue)&&this.setSelectedRows()}refreshColumnForRelativeRangeStyledColumns(e){let t=new Set;e.forEach(r=>{let i=this.api.styledColumnApi.getActiveStyledColumnForColumn(r.column);i&&this.api.styledColumnApi.internalApi.hasStyledColumnRelativeCellRange(i)&&t.add(i.ColumnId)});let n=[...t];n.length&&this.refreshColumns(n,!0)}getColumnSorts(){let e=[];return this.gridOptions.columnApi.getColumnState().forEach(n=>{let{colId:r}=n;n.sort&&n.sortIndex!=null&&e.push({ColumnId:r,SortOrder:n.sort==="asc"?"Asc":"Desc",SortIndex:n.sortIndex})}),e.sort((n,r)=>n.SortIndex-r.SortIndex),e.map(n=>({ColumnId:n.ColumnId,SortOrder:n.SortOrder}))}onSortChanged(){let e=this.getColumnSorts();this.api.gridApi.setColumnSorts(e),this._emit("SortChanged",e)}expandAllRowGroups(){this.gridOptions.api.forEachNode(e=>{e.group&&(e.expanded=!0)}),this.gridOptions.api.onGroupExpandedOrCollapsed()}closeAllRowGroups(){this.gridOptions.api.forEachNode(e=>{e.group&&(e.expanded=!1)}),this.gridOptions.api.onGroupExpandedOrCollapsed()}expandRowGroupsForValues(e){if(pt.IsNotNullOrEmpty(e)){let t=e.reduce((n,r)=>(n[r]=!0,n),{});this.gridOptions.api.forEachNode(n=>{if(n.group&&!n.expanded){let r=[],i=n;for(;i;)r.push(i.key),i=i.parent;let a=r.filter(s=>!!s).reverse().join(b2e);t[a]&&n.setExpanded(!0)}}),this.gridOptions.api.onGroupExpandedOrCollapsed()}}getAgGridColumnForColumnId(e){return this.gridOptions.columnApi.getColumn(e)}setRowGroupColumns(e){this.gridOptions.columnApi.setRowGroupColumns(e)}clearRowGroupColumns(){this.gridOptions.columnApi.removeRowGroupColumns(this.gridOptions.columnApi.getRowGroupColumns())}getExpandRowGroupsKeys(){let e=[];return this.api.layoutApi.internalApi.areExpandedRowGroupsSavedInLayouts()&&this.gridOptions.api.forEachNode(t=>{if(t.group&&t.expanded){let n=t,r=[];for(;n;)r.push(n.key),n=n.parent;e.push(r.filter(i=>!!i).reverse().join(b2e))}}),e}getRowCount(){return this.gridOptions.rowData?this.getGridData().length:this.gridOptions.api.getDisplayedRowCount()}getColumnCount(){return this.gridOptions.columnApi.getColumns().length}getVisibleRowCount(){return this.gridOptions.api.getDisplayedRowCount()}getVisibleColumnCount(){return this.gridOptions.columnApi.getColumns().filter(e=>e.isVisible()).length}selectColumns(e,t){t!=null&&t.keepExistingSelection||this.gridOptions.api.clearRangeSelection();let n=this.gridOptions.api.getDisplayedRowCount();e.forEach(r=>{let i={rowStartIndex:0,rowEndIndex:n-1,columnStart:r,columnEnd:r};this.gridOptions.api.addCellRange(i)})}selectColumn(e,t){t!=null&&t.keepExistingSelection||this.gridOptions.api.clearRangeSelection();let n={rowStartIndex:0,rowEndIndex:this.gridOptions.api.getDisplayedRowCount()-1,columnStart:e,columnEnd:e};this.gridOptions.api.addCellRange(n)}selectAll(){this.gridOptions.api.selectAll()}deselectAll(){this.gridOptions.api.deselectAll(),this.gridOptions.api.clearRangeSelection()}hideColumn(e){this.gridOptions.columnApi.getColumn(e)&&(this.gridOptions.columnApi.setColumnVisible(e,!1),this.updateColumnsIntoStore())}showColumn(e){this.gridOptions.columnApi.getColumn(e)&&(this.gridOptions.columnApi.setColumnVisible(e,!0),this.updateColumnsIntoStore())}autoSizeColumn(e){var t;(t=this.gridOptions.columnApi)==null||t.autoSizeColumn(e)}autoSizeColumns(e){var t;(t=this.gridOptions.columnApi)==null||t.autoSizeColumns(e)}autoSizeAllColumns(){var e;(e=this.gridOptions.columnApi)==null||e.autoSizeAllColumns()}setColumnSort(e){let t=e==null?void 0:e.reduce((r,i,a)=>(r[i.ColumnId]=T(S({},i),{SortIndex:a}),r),{});if(!this.gridOptions.api)return;let n=this.gridOptions.columnApi.getColumnState().map(r=>{let{colId:i}=r,a=S({},r),s=t?t[i]:void 0;return s?(a.sort=s.SortOrder==="Asc"?"asc":"desc",a.sortIndex=s.SortIndex):(a.sort=null,a.sortIndex=null),a});this.gridOptions.columnApi.applyColumnState({state:n,applyOrder:!0}),this.gridOptions.api.onSortChanged()}clearColumnSort(){this.setColumnSort(null)}setGridData(e){!this.gridOptions.api||(this.hasAutogeneratedPrimaryKey()&&this.addSyntheticPrimaryKey(e),this.gridOptions.api.setRowData(e),this.updateColumnDataTypeIfRowDataIsEmpty(),this.updateRowGroupsExpandedState(),this.setupColumns())}getGridData(){var t;let e=[];return(t=this.gridOptions)==null||t.api.forEachNode(n=>{this.isGroupRowNode(n)||e.push(n.data)}),e}getFilteredData(){var t;let e=[];return(t=this.gridOptions)==null||t.api.forEachNodeAfterFilter(n=>{this.isGroupRowNode(n)||e.push(n.data)}),e}updateRows(e,t){if(this.hasAutogeneratedPrimaryKey()&&this.addSyntheticPrimaryKeyIfMissing(e),t=t||{},t.runAsync)return new Promise(n=>{this.gridOptions.api.applyTransactionAsync({update:e},r=>{typeof t.callback=="function"&&t.callback(r),n(r==null?void 0:r.update)})});{let n=this.gridOptions.api.applyTransaction({update:e});return Promise.resolve(n==null?void 0:n.update)}}addRows(e,t){this.hasAutogeneratedPrimaryKey()&&this.addSyntheticPrimaryKey(e),t=t||{};let n={add:e};if(t.addIndex!==void 0&&(n.addIndex=t.addIndex),t.runAsync)return new Promise(r=>{this.gridOptions.api.applyTransactionAsync(n,i=>{typeof t.callback=="function"&&t.callback(i),r(i==null?void 0:i.add),this.updateColumnDataTypeIfRowDataIsEmpty(),this.updateRowGroupsExpandedState()})});{let r=this.gridOptions.api.applyTransaction(n);return this.updateColumnDataTypeIfRowDataIsEmpty(),this.updateRowGroupsExpandedState(),Promise.resolve(r==null?void 0:r.add)}}deleteRows(e,t){if(t=t||{},t.runAsync)return new Promise(n=>{this.gridOptions.api.applyTransactionAsync({remove:e},r=>{typeof t.callback=="function"&&t.callback(r),n(r==null?void 0:r.remove)})});{let n=this.gridOptions.api.applyTransaction({remove:e});return Promise.resolve(n.remove)}}getFirstGroupedColumn(){let e=this.gridOptions.columnApi.getRowGroupColumns();if(pt.IsNotNullOrEmpty(e)){let t=e[0];return this.api.columnApi.getColumnWithColumnId(t.getColId())}}checkColumnsDataTypeSet(){this.api.columnApi.getColumns().some(t=>t.dataType==="Unknown")&&this.updateColumnsIntoStore()}updateColumnDataTypeIfRowDataIsEmpty(){var e,t;!this.isCheckedColumnDataType&&!((t=(e=this.gridOptions)==null?void 0:e.rowData)!=null&&t.length)&&(this.checkColumnsDataTypeSet(),this.redrawHeader(),this.isCheckedColumnDataType=!0)}runAdaptableComparerFunction(e,t){let n=this;return function(i,a,s,l){var y,v;let u=(y=s&&n.getDisplayValueFromRowNode(s,e))!=null?y:i,c=(v=l&&n.getDisplayValueFromRowNode(l,e))!=null?v:a,p=t.indexOf(u),m=p>=0,h=t.indexOf(c),C=h>=0;return!m&&!C?i==a?0:i<a?-1:1:m?C?p-h:-1:1}}isGridSelectable(){return this.gridOptions.rowSelection==="single"||this.gridOptions.rowSelection==="multiple"}isGridRangeSelectable(){return this.isAgGridModulePresent(ot.RangeSelectionModule)&&this.gridOptions.enableRangeSelection===!0}isGridGroupable(){return!this.api.internalApi.isGridInTreeMode()}isGridGroupingActive(){let e=!1;return this.gridOptions.api.forEachNode(t=>{e||t.group&&(e=!0)}),e}isGridPivotable(){return!this.api.internalApi.isGridInTreeMode()}isQuickFilterAvailable(){return this.hasFloatingFilterOnAtLeastOneColumn()===!0}setAgQuickSearch(e){this.gridOptions.api.setQuickFilter(e)}hasFloatingFilterOnAtLeastOneColumn(e=this.gridOptions.columnDefs){if(this.gridOptions.defaultColDef&&this.gridOptions.defaultColDef.floatingFilter)return!0;let t;for(t of e)if(t.floatingFilter||t.children&&this.hasFloatingFilterOnAtLeastOneColumn(t.children))return!0;return!1}showQuickFilter(){let e=this.api.optionsApi.getFilterOptions().quickFilterHeight;this.gridOptions.api.setFloatingFiltersHeight(e)}hideQuickFilter(){this.gridOptions.api.setFloatingFiltersHeight(0)}getAgGridColumnType(e){var n;let{type:t}=(n=this.gridOptions.api.getColumnDef(e))!=null?n:{};return t||""}getActiveColumnComparator(e,t,n){return(!t||(t==null?void 0:t.IsSuspended))&&!n?this.getUserColDefProperty(e,"comparator"):n?n.comparer:this.runAdaptableComparerFunction(t.ColumnId,t.SortedValues)}getAgGridLightThemeName(){let e=this.getAgGridContainerElement();if(e&&e.classList){let t=e.classList;for(let n=0,r=t.length;n<r;n++){let i=t[n];if(i.indexOf("ag-theme-")===0)return i.replace("-dark","")}}return this.agGridHelper.getAgGridLightThemeName()}getAgGridCurrentThemeName(){let e=this.getAgGridContainerElement();if(e&&e.classList){let t=e.classList;for(let n=0,r=t.length;n<r;n++){let i=t[n];if(i.indexOf("ag-theme-")===0)return i}}return this.getAgGridLightThemeName()}applyAdaptableTheme(e){let t=typeof e=="string"?e:e.Name,n=this.api.themeApi.internalApi.isSystemTheme(t),r=[],i=[],s=this.api.themeApi.getThemes().map(v=>S({},v)).reduce((v,x)=>(v[x.Name]=x,v),{}),l=s[t],u=document.documentElement;u.classList.forEach(v=>{if(v.indexOf(UD)===0){r.push(v);let A=v.substring(UD.length);s[A]&&i.push(s[A])}}),r.forEach(v=>u.classList.remove(v)),i.forEach(v=>{u.classList.remove(`infinite-${v.Name}`)});let c="";!n&&l.Variant&&(c=l.Variant);let p=s[t],m=v=>UD+v;u.classList.add(m(t)),c&&u.classList.add(m(c)),n?u.classList.add(`infinite-${t}`):c&&u.classList.add(`infinite-${c}`);let h=this.getAgGridContainerElement(),C=()=>this.getAgGridLightThemeName(),y=()=>C()+"-dark";if(p&&(n||c)&&((c||t)===qS&&(p.AgGridClassName=p.AgGridClassName||C()),(c||t)===uE&&(p.AgGridClassName=p.AgGridClassName||y())),p.AgGridClassName||(p.AgGridClassName=C()),h!=null){i.length&&i.forEach(x=>{x.AgGridClassName&&h.classList.remove(x.AgGridClassName)});let v=[];h.classList.forEach(x=>{x&&x.indexOf("ag-theme-")===0&&v.push(x)}),v.forEach(x=>h.classList.remove(x)),p&&p.AgGridClassName&&h.classList.add(p.AgGridClassName),h.classList.add("ab-Grid"),this.adaptableOptions.filterOptions.indicateFilteredColumns&&h.classList.add("ab-Grid--indicate-filtered-columns")}this.adaptableOptions.userInterfaceOptions&&this.adaptableOptions.userInterfaceOptions.useCustomMacLikeScrollbars&&tMe()>0?u.classList.add("ab--custom-mac-like-scrollbars"):u.classList.remove("ab--custom-mac-like-scrollbars")}setupRowStyling(){this.setGridOptionsProperty("getRowStyle",e=>t=>S(S(S({},e==null?void 0:e(t)),this.getRowHighlightStyle(t)),this.getAlertRowStyle(t))),this.setGridOptionsProperty("getRowClass",e=>t=>{let n=this.getAlertRowClass(t),r=this.getRowHighlightClass(t),i=[typeof e=="function"?e(t):e,r,n].flat().filter(a=>!!a);return i!=null&&i.length?i:void 0})}setupColumnHeaderAggregations(e){let t=this.gridOptions.suppressAggFuncInHeader;this.setGridOptionsProperty("suppressAggFuncInHeader",r=>{if(e.SuppressAggFuncInHeader!==r)return e.SuppressAggFuncInHeader});let n=this.gridOptions.suppressAggFuncInHeader;return t!==n}getGridOptionsApi(){if(!this.gridOptions.api){this.logger.consoleError("There is a problem with your instance of AG Grid - it has no gridApi object. Please contact Support.");return}return this.gridOptions.api}canGenerateCharts(){return this.isAgGridModulePresent(ot.GridChartsModule)&&this.gridOptions.enableCharts}canDisplaySparklines(){return this.isAgGridModulePresent(ot.SparklinesModule)}canExportToExcel(){return this.isAgGridModulePresent(ot.ExcelExportModule)}exportToExcel(e,t){let n=e.columns.map(u=>({field:u.columnId,headerName:u.friendlyName})),r=".",i=e.columns.filter(u=>u.columnId.includes(r));i.length&&e.rows.forEach(u=>i.forEach(c=>{let p=u[c.columnId],m=u;c.columnId.split(r).forEach((h,C,y)=>{if(C===y.length-1){m[h]=p;return}m[h]==null&&(m[h]={}),m=m[h]}),delete u[c.columnId]}));let a={columnDefs:n,rowData:e.rows},s={modules:this.getAgGridRegisteredModules()},l=new GR(document.createElement("div"),a,s);a.api.exportDataAsExcel({sheetName:"Sheet 1",fileName:t}),l.destroy()}setExcelStylesForExport(){let e={},t=a=>{let s=e[a];if(s)return s;let l=this.api.columnApi.getColumnWithColumnId(a);return e[a]=l,l},n={},r=a=>{let s=n[a];if(s)return s;let l=t(a),u=this.api.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(l);return n[a]=u,u},i=this.api.exportApi.internalApi.isDateCellExportedAsFormattedValue();this.setGridOptionsProperty("excelStyles",(a=[])=>{let s=this.gridOptions.columnApi.getAllDisplayedColumns(),l=s.map(c=>c.getColDef()),u={includeGroupRows:!0};return this.forAllVisibleRowNodesDo((c,p)=>{let m={node:c,data:c.data,rowIndex:p,$scope:{},api:this.gridOptions.api,columnApi:this.gridOptions.columnApi,context:{}},h=this.gridOptions.getRowStyle(m);s.forEach((C,y)=>{var V,$,K;let v=l[y],x,A=()=>(x||(x={colDef:v,node:c,column:C,data:c.data,value:this.getRawValueFromRowNode(c,C.getId()),rowIndex:p,api:this.gridOptions.api,columnApi:this.gridOptions.columnApi,context:{}}),x),R=typeof v.cellStyle=="function"?v.cellStyle(A()):{},w=[],P=this.getUserColDefProperty(C.getColId(),"cellClass"),D=typeof P=="function"?P(A()):P,F=D&&a.find(Z=>{var oe;return typeof D=="string"?D===Z.id:(oe=D==null?void 0:D.includes)==null?void 0:oe.call(D,Z.id)});F&&w.push(F);let M=S(S({},h),Object.keys(R).reduce((Z,oe)=>(R[oe]!==null&&(Z[oe]=R[oe]),Z),{})),O=DFe(M);Object.values(O).some(Z=>Z!=null)&&w.push(this.convertCSSToExcelStyle(O));let _=this.api.exportApi.internalApi.getExcelDataType(v==null?void 0:v.type),H=this.getRawValueFromRowNode(c,C.getId());if(!w.length&&!(_==="DateTime"&&i))return;let j=this.getExcelClassNameForCell(C.getId(),this.getPrimaryKeyValueFromRowNode(c),D),B=Object.assign({},...w);if(_==="DateTime"&&i){let Z=this.api.optionsApi.getExportOptions().exportDateFormat,oe=t(C.getColId());if(!Z){let X=this.api.formatColumnApi.internalApi.getMostRelevantFormatColumnForColumn(r(C.getColId()),oe,{node:c,value:H});Z=((V=X==null?void 0:X.DisplayFormat)==null?void 0:V.Formatter)==="DateFormatter"&&((K=($=X==null?void 0:X.DisplayFormat)==null?void 0:$.Options)==null?void 0:K.Pattern)}if(Z){let X=this.getNormalisedValueFromRawValue(H,oe);if(X){let xe=aa(X,{Pattern:"yyyy-MM-dd'T'HH:mm:ss.SSS"});if(xe){B.dataType="DateTime",B.numberFormat={format:Z};let se=this.getExcelClassNameForCell(C.getColId(),this.getPrimaryKeyValueFromRowNode(c));this.api.internalApi.getReportService().registerExcelStyleWithFormattedDate(se,xe)}}}}this.api.internalApi.getReportService().registerExcelStyle(B,j)})},u),this.api.internalApi.getReportService().getRegisteredExcelStyles()})}exportVisualDataToExcel(){this.setExcelStylesForExport(),this.gridOptions.api.exportDataAsExcel({sheetName:"Sheet 1",fileName:this.ReportService.getReportFileName(this.adaptableOptions.adaptableId),processCellCallback:({node:e,column:t,value:n})=>{var i;let r=t.getColId();return(e==null?void 0:e.group)&&(this.api.columnApi.isAutoRowGroupColumn(r)||((i=e==null?void 0:e.aggData)==null?void 0:i[r])==null)?n:this.processCellForExcelExport(e,r)},processRowGroupCallback:e=>{var a;let t=e.node,n=t.footer,r=[(a=this.processRowGroupForExcelExport(t))!=null?a:""];for(;t.parent;){t=t.parent;let s=this.processRowGroupForExcelExport(t);s&&r.push(s)}let i=r.reverse().join(" -> ");return n&&(i=`Total: ${i}`),i}}),this.setGridOptionsProperty("excelStyles",e=>e)}convertAdaptableStyleToCSS(e){return SM(e)}convertCSSToExcelStyle(e){let t=r=>{let i=ug(r),a=C4(i),s=a.getAlpha();return C4.mix(C4("white"),a,s*100).toHexString()},n={};if(e.backgroundColor!=null&&(n.interior={color:t(e.backgroundColor),pattern:"Solid"}),e.borderColor!=null){let r={color:e.borderColor,lineStyle:"Continuous",weight:1};n.borders={borderBottom:r,borderLeft:r,borderRight:r,borderTop:r}}return e.textAlign&&(n.alignment={horizontal:ct.CapitaliseFirstLetter(e.textAlign)}),e.color!=null&&(n.font||(n.font={}),n.font={color:t(e.color)}),e.fontStyle==="italic"&&(n.font||(n.font={}),n.font.italic=!0),e.fontWeight!=null&&(e.fontWeight==="bold"||Number(e.fontWeight)>=600)&&(n.font||(n.font={}),n.font.bold=!0),e.fontSize!=null&&(n.font||(n.font={}),n.font.size=OFe(e.fontSize)),n}processCellForExcelExport(e,t){if(this.api.exportApi.internalApi.isVisualDataExportInProgress()){let n=this.getExcelClassNameForCell(t,this.getPrimaryKeyValueFromRowNode(e)),r=this.ReportService.getExcelStyleWithFormattedDate(n);if(r)return r}return this.ReportService.getCellExportValueFromRowNode(e,t)}processRowGroupForExcelExport(e){var r,i,a,s,l;let t=(l=(i=e.field)!=null?i:(r=e.rowGroupColumn)==null?void 0:r.getColId())!=null?l:(s=(a=e.rowGroupColumn)==null?void 0:a.getColDef())==null?void 0:s.field;if(!t||!e.key)return;let n=e.key;if(this.api.columnApi.getColumnDataTypeForColumnId(t)==="Date"&&typeof n=="string"&&/^\d+$/.test(n)){let u=parseInt(n);u!=null&&(n=u)}return this.ReportService.getCellExportValueFromRawValue(e,n,t)}hasAutogeneratedPrimaryKey(){return this.adaptableOptions.autogeneratePrimaryKey}addSyntheticPrimaryKey(e=[]){for(let t=0;t<e.length;t++)e[t][$S]=Gt()}addSyntheticPrimaryKeyIfMissing(e=[]){this.adaptableOptions.primaryKey=$S;for(let t=0;t<e.length;t++)e[t][$S]||(e[t][$S]=Gt())}initLicenseService(){let t=(typeof globalThis!="undefined"?globalThis:window).ADAPTABLE_LICENSE_KEY||this.api.optionsApi.getLicenseKey();return new BU(this,t,{publishedAt:d2e})}showCharts(e,t){return e.map(n=>this.showChart(n,t))}showChart(e,t){if(!this.gridOptions.api)return this.logger.consoleError("Adaptable must be instantiated before calling showChart"),null;let n=this.gridOptions.api.restoreChart(e.Model,t),r=this.getChartModels().find(i=>i.chartId===n.chartId);return this.api.chartingApi.editChartDefinition(T(S({},e),{Model:r})),n}updateChart(e){let t={type:"rangeChartUpdate",chartId:e.Model.chartId,unlinkChart:Boolean(e.Model.unlinkChart),suppressChartRanges:Boolean(e.Model.suppressChartRanges),aggFunc:e.Model.aggFunc};this.gridOptions.api.updateChart(t)}getChartRef(e){return this.gridOptions.api.getChartRef(e)}getChartModels(){return this.gridOptions.api?this.gridOptions.api.getChartModels():(this.logger.consoleError("Adaptable must be instantiated before calling getChartModels"),[])}getRowModelType(){return this.gridOptions.rowModelType}getActiveAdaptableAggFuncForCol(e){if(!e)return null;let r=(this.api.layoutApi.getCurrentLayout().AggregationColumns||{})[e];return typeof r=="object"&&"type"in r&&r.type==="weightedAverage"?r:null}registerAdaptableAggFuncs(){this.setGridOptionsProperty("aggFuncs",e=>{let t=e||{};return t[RI]=n=>{let r=n.column.getColId(),i=this.getActiveAdaptableAggFuncForCol(r);if(!!i&&i.type==="weightedAverage")return xCe(n,n.colDef.colId,i.weightedColumnId)},t})}mapAggregationColumnsFromGrid(e,t){return Object.entries(e).reduce((n,[r,i])=>{let a=this.getActiveAdaptableAggFuncForCol(r);return(a==null?void 0:a.type)==="weightedAverage"&&i===RI?n[r]=t.AggregationColumns[r]:n[r]=i,n},{})}resetMinMaxCachedValueForColumn(e){e||(this.columnMinMaxValuesCache[e.columnId]={}),this.columnMinMaxValuesCache[e.columnId]&&(this.columnMinMaxValuesCache[e.columnId]=void 0)}getMinMaxCachedValueForColumn(e,t){var s;let{columnId:n,dataType:r}=e;if(r!=="Number")return;let i=(s=this.columnMinMaxValuesCache[n])==null?void 0:s[t];if(i!==void 0)return i;let a=this.api.gridApi.internalApi.getUnsortedDistinctRawValuesForColumn(n).map(l=>l.rawValue);return i=t==="min"?Math.min(...a):Math.max(...a),this.columnMinMaxValuesCache[n]=T(S({},this.columnMinMaxValuesCache[n]),{[t]:i}),i}persistColumnIndexBeforeGrouping(e){let t=this.api.layoutApi.getCurrentLayout(),n=t.RowGroupedColumns;e.columns.map(a=>a.getColId()).filter(a=>!n.includes(a)).forEach(a=>{let s=t.Columns.filter(l=>!(this.api.columnApi.isAutoRowGroupColumn(l)||this.api.columnApi.isAutoPivotColumn(l))).findIndex(l=>l===a);s!==-1&&this.api.internalApi.persistPreviousGroupedColumnsIndex(t.Uuid,a,s)})}restoreUnGroupColumnOrder({newGroupColumns:e,columnOrder:t}){var s;let n=[...t],r=this.api.layoutApi.getCurrentLayout(),i=this.api.internalApi.getPreviousGroupedColumnsIndex(r.Uuid);if(!(e.length<((s=r==null?void 0:r.RowGroupedColumns)==null?void 0:s.length))||!i)return t;for(let[l,u]of Object.entries(i)){let c=e.includes(l),p=r.Columns.includes(l);if(c)continue;if(p){this.api.internalApi.persistPreviousGroupedColumnsIndex(r.Uuid,l,null);continue}let m=n.filter(x=>this.api.columnApi.isAutoRowGroupColumn(x)).length,h=u+m,C=n.indexOf(l),y=h!==null&&C>0&&h!==C,v=h<n.length;y&&v&&(n.splice(C,1),n.splice(h,0,l)),this.api.internalApi.persistPreviousGroupedColumnsIndex(r.Uuid,l,null)}return n}},b4=class{constructor(e,t={}){var r;let n=async({gridOptions:i,adaptableOptions:a,agGridModules:s})=>await rp.init(a,{gridOptions:i,modules:s});this.adaptableOptions=e,this.init=t.onInit||n,this.extraOptions=t,this.agGridModules=ze.__getRegisteredModules((r=this.adaptableOptions._gridOptions)==null?void 0:r.gridId),this.render()}render(e){var r;let t=Eo.containerOptions.adaptableContainer||"adaptable";if(!e){let i=(r=this.adaptableOptions.containerOptions)==null?void 0:r.adaptableContainer;i&&(typeof i=="string"?t=i!=null?i:t:e=i)}if(e=e||document.getElementById(t),!e)throw new Error("Cannot find container in which to render Adaptable No Code Wizard");e.classList.add("adaptable--in-wizard");let n=jte(A2e.createElement(UW,T(S({adaptableOptions:this.adaptableOptions},this.extraOptions),{onInit:(i,a)=>{e.classList.remove("adaptable--in-wizard"),n(),i._gridOptions=a,this.init({adaptableOptions:i,gridOptions:a,agGridModules:[...this.agGridModules]})}})),e,!0)}};var qNt=rp,YNt=b4;
625
+ `),this.abContainerElement=t)}}return this.abContainerElement}getAgGridContainerElement(){return this.gridContainerElement||(this.gridContainerElement=typeof this.adaptableOptions.containerOptions.agGridContainer=="string"?document.getElementById(this.adaptableOptions.containerOptions.agGridContainer):this.adaptableOptions.containerOptions.agGridContainer),this.gridContainerElement}initInternalGridLogic(){if(this.abContainerElement==null&&(this.abContainerElement=this.getAdaptableContainerElement()),this.abContainerElement==null){typeof this.adaptableOptions.containerOptions.adaptableContainer=="string"?this.logger.consoleError(`There is no DIV with id="${this.adaptableOptions.containerOptions.adaptableContainer}" so cannot render Adaptable`):this.logger.consoleError("No valid adaptableContainer found to render Adaptable",this.adaptableOptions.containerOptions.adaptableContainer);return}let e=this.getAgGridContainerElement();e&&(e.addEventListener("keydown",this.listenerKeydown=u=>this._emit("KeyDown",u),!0),e.addEventListener("mouseenter",this.listenerMouseEnter=u=>{this._emit("MouseEnter",u)},!0),e.addEventListener("mouseleave",this.listenerMouseLeave=u=>this._emit("MouseLeave",u)));let t=[L.EVENT_COLUMN_MOVED,L.EVENT_GRID_COLUMNS_CHANGED,L.EVENT_COLUMN_EVERYTHING_CHANGED,L.EVENT_DISPLAYED_COLUMNS_CHANGED,L.EVENT_COLUMN_VISIBLE,L.EVENT_NEW_COLUMNS_LOADED];this.gridOptions.api.addGlobalListener(this.listenerGlobalColumnEventsThatTriggerStateChange=u=>{t.indexOf(u)>-1&&this.debouncedSetColumnIntoStore()}),this.gridOptions.api.addEventListener(L.EVENT_CELL_EDITING_STARTED,this.listenerCellEditingStarted=()=>{var u;(u=this.adaptableOptions.actionRowOptions)!=null&&u.disableInlineEditing&&this.gridOptions.api.stopEditing()}),this.gridOptions.api.addEventListener(L.EVENT_FIRST_DATA_RENDERED,this.listenerFirstDataRendered=()=>{this.checkColumnsDataTypeSet(),this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns(),this.setLayout()}),this.gridOptions.api.addEventListener(L.EVENT_COLUMN_PIVOT_MODE_CHANGED,this.listenerPivotModeChanged=u=>{u.type=="columnPivotModeChanged"&&u.columnApi!=null&&u.columnApi.columnController!=null&&u.columnApi.columnController.pivotMode==!0?(this.adaptableOptions.layoutOptions.autoSizeColumnsInPivotLayout==!0&&this.gridOptions.columnApi.autoSizeAllColumns(),this.api.internalApi.setPivotModeOn()):this.api.internalApi.setPivotModeOff()}),this.gridOptions.api.addEventListener(L.EVENT_COLUMN_PIVOT_CHANGED,this.listenerPivotChanged=u=>{u.type=="columnPivotChanged"&&u.columnApi!=null&&u.columnApi.columnController!=null&&u.columnApi.columnController.pivotMode==!0&&this.adaptableOptions.layoutOptions.autoSizeColumnsInPivotLayout==!0&&this.gridOptions.columnApi.autoSizeAllColumns()});let n=[L.EVENT_COLUMN_PINNED,L.EVENT_COLUMN_PIVOT_CHANGED,L.EVENT_COLUMN_PIVOT_MODE_CHANGED,L.EVENT_DISPLAYED_COLUMNS_CHANGED,L.EVENT_SORT_CHANGED,L.EVENT_COLUMN_ROW_GROUP_CHANGED,L.EVENT_COLUMN_VALUE_CHANGED];this.gridOptions.api.addGlobalListener(this.listenerGlobalColumnEventsThatTriggerAutoLayoutSave=u=>{n.indexOf(u)>-1&&this.debouncedSaveGridLayout()});let r=[L.EVENT_ROW_GROUP_OPENED,L.EVENT_EXPAND_COLLAPSE_ALL];this.gridOptions.api.addGlobalListener(this.listenerGlobalRowGroupEventsThatTriggerAutoLayoutSave=u=>{r.indexOf(u)>-1&&this.adaptableOptions.layoutOptions.displayRowGroups=="dynamic"&&this.debouncedSaveGridLayout()}),this.gridOptions.api.addEventListener(L.EVENT_COLUMN_ROW_GROUP_CHANGED,this.listenerColumnRowGroupChanged=u=>{var c,p;this.api.internalApi.isGridInPivotMode()||(p=(c=this.adaptableOptions)==null?void 0:c.groupingOptions)!=null&&p.restoreUngroupedColumns&&this.persistColumnIndexBeforeGrouping(u)}),this.gridOptions.api.addEventListener(L.EVENT_COLUMN_RESIZED,this.listenerColumnResized=u=>{u.finished==!0&&u.type=="columnResized"&&u.column&&this.debouncedSaveGridLayout()});let i=[L.EVENT_ROW_GROUP_OPENED,L.EVENT_SELECTION_CHANGED,L.EVENT_ROW_SELECTED];this.gridOptions.api.addGlobalListener(this.listenerGlobalSetRowSelection=u=>{pt.ContainsItem(i,u)&&this.debouncedSetSelectedRows()}),this.gridOptions.api.addEventListener(L.EVENT_RANGE_SELECTION_CHANGED,this.listenerRangeSelectionChanged=u=>{u.finished==!0&&this.debouncedSetSelectedCells()}),this.gridOptions.api.addEventListener(L.EVENT_SORT_CHANGED,this.listenerSortChanged=()=>{this.onSortChanged(),this.debouncedSetSelectedCells(),this._emit("SortChanged")});let a=this.adaptableOptions.groupingOptions.showGroupingTotalsAsHeader;this.gridOptions.api.addEventListener(L.EVENT_MODEL_UPDATED,this.listenerModelUpdated=u=>{if(a&&u&&u.api){let c=u.api.getPinnedTopRow(0),m=u.api.getModel().getRootNode();c?c.updateData(m.aggData):u.api.setPinnedTopRowData([m.aggData])}});let s=[L.EVENT_CHART_CREATED,L.EVENT_CHART_RANGE_SELECTION_CHANGED,L.EVENT_CHART_OPTIONS_CHANGED,L.EVENT_CHART_DESTROYED];this.ModuleService.getModuleById("Charting").isModuleAvailable()&&this.gridOptions.api.addGlobalListener((u,c)=>{pt.ContainsItem(s,u)&&this.ChartingService.onChartModelChange(this.getChartModels(),u,c)}),this.rowListeners={dataChanged:u=>{this.onRowDataChanged({rowNode:u.node,oldData:u.oldData,newData:u.newData})},cellChanged:u=>{u.column&&this.onCellDataChanged({rowNode:u.node,oldValue:u.oldValue,newValue:u.newValue,colId:u.column.colId})}},this.setGridOptionsProperty("isExternalFilterPresent",u=>c=>{if(this.isDestroyed)return!0;let p=this.api.filterApi.getActiveColumnFilters(),m=pt.IsNotNullOrEmpty(p),h=ct.IsNotNullOrEmpty(this.api.queryApi.getCurrentQuery());return m||h||(u?u(c):!1)}),this.setGridOptionsProperty("doesExternalFilterPass",u=>c=>{if(this.isDestroyed)return!0;if(!this.isGroupRowNode(c)){let m=this.api.queryApi.getCurrentQuery();if(m&&this.api.expressionApi.internalApi.evaluateExpressionInAdaptableQL("Query",void 0,m)&&(!this.api.expressionApi.isValidBooleanExpression(m,cr,`Invalid CurrentQuery '${m}'`)||!this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(m,cr,c)))return!1}let p=this.api.filterApi.getActiveColumnFilters();try{if(p.length>0){for(let m of p)if(this.api.expressionApi.internalApi.evaluatePredicatesInAdaptableQL("Filter",m,[m.Predicate])&&!this.api.filterApi.internalApi.evaluateColumnFilter(m,c))return!1}}catch(m){return this.logger.error(m),!1}return u?u(c):!0}),this.setGridOptionsProperty("getMainMenuItems",u=>c=>this.agGridMenuHelper.buildColumnMenu(c,u)),this.setGridOptionsProperty("getContextMenuItems",u=>c=>this.agGridMenuHelper.buildContextMenu(c,u)),this.prepareGrid()}updateColumnFilterActiveState(){var a;let e=this.api.filterApi.getActiveColumnFilters(),t=(a=e==null?void 0:e.filter)==null?void 0:a.call(e,s=>this.api.filterApi.isFilterActive(s)),n=pt.IsNotNullOrEmpty(t),r={};if(n)for(let s of t){let l=this.gridOptions.columnApi.getColumn(s.ColumnId);l&&(r[l.getColId()]=!0,l.isFilterActive()||l.setFilterActive(!0))}let i=this.gridOptions.api.getFilterModel();(this.gridOptions.columnApi.getColumns()||[]).forEach(s=>{!(i&&i[s.getColId()])&&!r[s.getColId()]&&s.isFilterActive()&&s.setFilterActive(!1)})}buildStandaloneColumnHeader(e){return this.agGridMenuHelper.buildStandaloneColumnHeader(e)}prepareGrid(){let e=this.logger.beginPerf("prepareGrid()");try{this.updateColDefsForSpecialColumns(),this.applyCurrentTheme(),this.applyFinalRendering(),this.applyGridFiltering()}catch(t){this.logger.consoleError("AgGrid setup failed"),this.logger.consoleError(t)}e.end()}setupColumns(){let e=this.logger.beginPerf("setupColumns()"),t=this.gridOptions.columnApi.getColumns();t.map(n=>n.getColDef()).forEach(n=>qte(n,this.logger)),this.updateColumnsIntoStore(),t.forEach(n=>{let r=n.getColDef(),i=n.getColId(),a=this.api.columnApi.getColumnWithColumnId(i),s={col:n,colDef:r,colId:i,abColumn:a};this.setupColumnCellRenderer(s),this.setupColumnCellStyle(s),this.setupColumnCellClass(s),this.setupColumnTooltipValueGetter(s),this.setupColumnValueGetter(s),this.setupColumnFilter(s),this.setupColumnFloatingFilter(s),this.setupColumnValueFormatter(s),this.setupColumnEditable(s),this.setupColumnValueSetter(s),this.setupColumnComparator(s),this.setupColumnCellEditor(s),this.setupColumnHeader(s),this.setupColumnQuickFilerText(s),this.setupAllowedAggFuncs(s),this.setupColumnKeyCreator(s),this.setupColumnCellDataType(s)}),this.setupRowStyling(),this.redrawBody(),this.redrawHeader(),e.end()}revertGridOptionsPropertiesToUserValue(e){for(let t of e){let n=`user.${t}`,r=this.gridOptionsPropertyCache.get(n);this.gridOptions[t]=r}}setGridOptionsProperty(e,t){if(this.isDestroyed)return;let n=`user.${e}`,r=`adaptable.${e}`,i=this.gridOptions[e];i!==this.gridOptionsPropertyCache.get(r)&&this.gridOptionsPropertyCache.set(n,i);let s=this.gridOptionsPropertyCache.get(n),l=t(s);if(typeof l=="function"){let u=l;l=(...c)=>{if(!this.isDestroyed)return u(...c)}}l!=null&&this.gridOptionsPropertyCache.set(r,l),this.gridOptions[e]=l!=null?l:s}setColDefProperty(e,t,n){let r=e.getColId(),i=e.getColDef(),a={col:e,colDef:i,colId:r},s=`user.${r}.${t}`,l=`adaptable.${r}.${t}`,u=i[t];u!==this.colDefPropertyCache.get(l)&&this.colDefPropertyCache.set(s,u);let p=this.colDefPropertyCache.get(s),m=n(p);m!=null&&this.colDefPropertyCache.set(l,m);let h=m!=null?m:p;this.forPlugins(C=>{C.interceptSetupColumnProperty&&(h=C.interceptSetupColumnProperty(a,t,h,this.api))}),t==="aggFunc"&&i[t]!==(h!=null?h:null)&&this.gridOptions.columnApi.setColumnAggFunc(r,h!=null?h:null),!(h===void 0&&i[t]===void 0)&&(i[t]=h)}getUserColDefProperty(e,t){let n=`user.${e}.${t}`;return this.colDefPropertyCache.get(n)}setupColumnCellStyle({col:e,colId:t,abColumn:n}){this.setColDefProperty(e,"cellStyle",r=>{let i=this.getQuickSearchCellStyle(),a=i!=null;return l=>{let u=a&&this.isQuickSearchActive(n,l),c=typeof r=="function"?r(l):r,p=S(S(S(S(S(S(S(S({},c),this.getReadOnlyCellStyle(n,l)),this.getEditableCellStyle(n,l)),this.getFormatColumnAndStyledColumnCellStyle(n,t,l)),u?i:{}),this.getAlertCellStyle(n,l)),this.getFlashingCellStyle(n,l)),this.getCellHighlightStyle(n,l));return PFe(p)}})}setupColumnCellClass({col:e,colId:t,abColumn:n}){this.setColDefProperty(e,"cellClass",r=>{let i=this.api.formatColumnApi.internalApi.getFormatColumnWithStyleClassNameForColumn(n),a=this.api.quickSearchApi.getQuickSearchStyle().ClassName,s=ct.IsNotNullOrEmpty(a);return u=>{let c=this.getPrimaryKeyValueFromRowNode(u.node);if(this.api.exportApi.internalApi.isVisualDataExportInProgress()){let P=typeof r=="function"?r(u):r,D=this.getExcelClassNameForCell(t,c,P);return this.api.internalApi.getReportService().getExcelStyleIdForCellClassKey(D)}let p=s&&this.isQuickSearchActive(n,u),m=this.getEditableCellClass(n,u),h=this.getReadonlyCellClass(n,u),C=this.getAlertCellClass(n,u),y=this.getFlashingCellClass(n,u),v=this.api.styledColumnApi.getStyledColumnForColumnId(t),x=!!v&&!v.IsSuspended,A=this.getCommentCellClassName(n,u),R=[typeof r=="function"?r(u):r,!x&&i.length?this.getFormatColumnCellClass(i,n,u):null,p?a:null,m,h,C,y,A].flat().filter(P=>!!P);return R.length?R:void 0}})}getExcelClassNameForCell(e,t,n){let r=`--excel-cell-${e}-${t}`;return r.indexOf(" ")>0&&(r=r.replace(/\s/g,"_")),n!=null?`${r}-${Array.isArray(n)?n.join("-"):n}`:r}setupColumnCellEditor({colId:e,col:t}){let n=this.api.columnApi.getColumnWithColumnId(e),r=this.api.userInterfaceApi.getEditLookUpItemForColumn(n),i=this.isAgGridModulePresent(ot.RichSelectModule);this.setColDefProperty(t,"cellEditor",()=>{let a=this.api.styledColumnApi.getActiveStyledColumnForColumn(n);if(a&&!(a!=null&&a.IsSuspended)&&a.CheckBoxStyle)return Gz;if(r)return i?"agRichSelectCellEditor":"agSelectCellEditor"}),this.setColDefProperty(t,"cellEditorPopup",()=>{if(r&&i)return!0}),this.setColDefProperty(t,"cellEditorParams",a=>{if(r)return s=>{let l=this.getGridCellFromRowNode(s==null?void 0:s.node,e);return{values:this.api.userInterfaceApi.getEditLookUpValuesForEditLookUpItem(r,l)}}})}setupColumnCellRenderer({col:e,colId:t,abColumn:n}){this.setColDefProperty(e,"cellRenderer",()=>{let r=this.api.styledColumnApi.getStyledColumnForColumnId(n.columnId);if(r&&!r.IsSuspended){if(r.PercentBarStyle)return this.agGridHelper.createPercentBarRendererComp(r,n);if(r.CheckBoxStyle)return this.agGridHelper.createCheckboxRendererComp(n.columnId,n.readOnly);if(r.BadgeStyle)return this.agGridHelper.createBadgeRendererComp(r,n);if(r.SparkLineStyle)return"agSparklineCellRenderer"}}),this.setColDefProperty(e,"cellRendererParams",r=>{let i=this.api.styledColumnApi.getStyledColumnForColumnId(n.columnId);if(i&&!i.IsSuspended&&i.SparkLineStyle){let a=(0,S2e.default)({},r==null?void 0:r.sparklineOptions,i.SparkLineStyle.options);return T(S({},r),{sparklineOptions:a})}})}setupColumnTooltipValueGetter({col:e,colId:t,abColumn:n}){let r=!1;this.setColDefProperty(e,"tooltipValueGetter",()=>{let i=this.api.styledColumnApi.getStyledColumnForColumnId(t);if(i&&!i.IsSuspended&&i.PercentBarStyle&&i.PercentBarStyle.ToolTipText&&(r=!0,i!=null&&i.PercentBarStyle))return a=>{let s=this.api.styledColumnApi.internalApi.getNumericStyleMinValue(i,n,a.node,a.value),l=this.api.styledColumnApi.internalApi.getNumericStyleMaxValue(i,n,a.node,a.value),u=i.PercentBarStyle.ToolTipText,c="";return u.includes("CellValue")&&(c=a.value),u.includes("PercentageValue")&&(c+=` (${((qo.clamp(a.value,s,l)-s)/(l-s)*100).toFixed(0)}%)`),c||a.value}})}setupColumnQuickFilerText({col:e,abColumn:t}){this.setColDefProperty(e,"getQuickFilterText",n=>n||(r=>this.api.layoutApi.getCurrentVisibleColumnIdsMap()[t.columnId]?this.getDisplayValueFromRowNode(r.node,t.columnId):""))}setupAllowedAggFuncs({col:e,abColumn:t}){this.setColDefProperty(e,"allowedAggFuncs",()=>t.availableAggregationFunctions)}triggerSetupColumnKeyCreator(e){let t=this.gridOptions.columnApi.getColumn(e),n=t.getColDef(),r=this.api.columnApi.getColumnWithColumnId(e),i={col:t,colDef:n,colId:e,abColumn:r};this.setupColumnKeyCreator(i)}setupColumnKeyCreator(e){let{col:t,abColumn:n}=e,r=this.adaptableOptions,i=this.api;this.setColDefProperty(t,"keyCreator",a=>s=>{var p;if(typeof a=="function")return a(s);let l=s.value,u=(p=r.groupingOptions)==null?void 0:p.unbalancedGroupsKey;if(!u)return l;let c=typeof u=="function"?u({adaptableApi:i,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId,adaptableColumn:n,params:s}):u;return l==null?c:l})}setupColumnCellDataType(e){let{col:t}=e;this.setColDefProperty(t,"cellDataType",()=>!1)}setupColumnHeader({col:e,abColumn:t}){var i,a;let n=(i=e==null?void 0:e.getColDef())==null?void 0:i.headerName;this.setColDefProperty(e,"headerName",s=>{var c;let l=s!=null?s:ct.CamelCaseToHumanText(e.getColDef().field),u=(c=this.api.layoutApi.getCurrentLayout().ColumnHeadersMap)==null?void 0:c[e.getColId()];return u&&(l=u),t.friendlyName=l,l});let r=(a=e==null?void 0:e.getColDef())==null?void 0:a.headerName;return n!==r}setupColumnFilter({col:e,colDef:t}){this.setColDefProperty(e,"filter",()=>{if(!!t.filter&&!!this.api.columnApi.internalApi.usesAdaptableFilterForm(e.getColId()))return this.gridOptions.api.destroyFilter(e),JHe(this)})}setupColumnFloatingFilter({col:e,colDef:t}){let n=!t.floatingFilter||!this.api.columnApi.internalApi.usesAdaptableQuickFilter(e.getColId());this.setColDefProperty(e,"floatingFilterComponent",()=>{if(!n)return o2e(this)}),this.setColDefProperty(e,"floatingFilterComponentParams",()=>{if(!n)return{suppressFilterButton:!0}})}setupColumnValueFormatter({col:e,abColumn:t}){this.setColDefProperty(e,"valueFormatter",n=>{let r=this.api.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(t);if(!!r.length)return i=>{let{node:a,value:s}=i,l=this.api.formatColumnApi.internalApi.getMostRelevantFormatColumnForColumn(r,t,{node:a,value:s});if(!l)return s;let u=l.DisplayFormat.Options;return l.DisplayFormat.Formatter==="NumberFormatter"&&this.api.scopeApi.isColumnInNumericScope(t,l.Scope)?this.api.formatColumnApi.internalApi.getNumberFormattedValue(i.value,i.node,t,u):l.DisplayFormat.Formatter==="DateFormatter"&&this.api.scopeApi.isColumnInDateScope(t,l.Scope)?this.api.formatColumnApi.internalApi.getDateFormattedValue(i.value,i.node,t,u):l.DisplayFormat.Formatter==="StringFormatter"&&this.api.scopeApi.isColumnInStringsScope(t,l.Scope)?this.api.formatColumnApi.internalApi.getStringFormattedValue(i.value,i.node,t,u):s}})}setupColumnEditable({col:e}){this.setColDefProperty(e,"editable",t=>{if(typeof t=="boolean"&&t===!1)return t;let n=this.adaptableOptions.editOptions.isCellEditable;return n?i=>{let s={gridCell:this.getGridCellFromRowNode(i.node,i.column.getColId()),adaptableApi:this.api,userName:this.adaptableOptions.userName,adaptableId:this.adaptableOptions.adaptableId};return n(s)}:t})}setupColumnValueSetter({col:e,colId:t,abColumn:n}){this.setColDefProperty(e,"valueSetter",r=>{var l;let a=!this.api.alertApi.internalApi.getAlertDefinitionsWithPreventEdit().filter(u=>this.api.scopeApi.isColumnInScope(n,u.Scope)).length&&!((l=this.adaptableOptions.editOptions)!=null&&l.validateOnServer);return a?void 0:u=>{var y;let c=u.column.getColDef().field;if(a)return typeof r=="function"?r(u):(c&&(u.data[c]=u.newValue),!0);let p=this.api.internalApi.buildDataChangedInfo({oldValue:u.oldValue,newValue:u.newValue,column:this.api.columnApi.getColumnWithColumnId(u.column.getColId()),primaryKeyValue:this.getPrimaryKeyValueFromRowNode(u.node),rowNode:u.node,trigger:"edit"});if(p.oldValue===p.newValue)return!0;let m=T(S({},u.node),{data:S({},u.node.data)});m.data[c]=u.newValue;let h=T(S({},p),{rowNode:m});if(!this.ValidationService.performValidation(h))return!1;let C=()=>{};if((y=this.adaptableOptions.editOptions)!=null&&y.validateOnServer&&this.ValidationService.performServerValidation(p,{onServerValidationCompleted:C})(),typeof r=="function")return r(u);if(c)u.data[c]=u.newValue;else throw`Cannot edit a column without a field - column id was ${t}`;return!0}})}setupColumnComparator({col:e,colId:t,abColumn:n}){let r=this.api.customSortApi.getCustomSortForColumn(t),i=this.api.customSortApi.internalApi.getCustomSortComparer(n),a=s=>()=>this.getActiveColumnComparator(t,r,i);this.setColDefProperty(e,"comparator",a("comparator")),this.setColDefProperty(e,"pivotComparator",a("pivotComparator"))}applyCurrentTheme(){this.api.themeApi.applyCurrentTheme()}applyFinalRendering(){this.embedColumnMenu=this.isAgGridModulePresent(ot.MenuModule),this.gridOptions.treeData&&this.gridOptions.treeData==!0?this.api.internalApi.setTreeModeOn():this.api.internalApi.setTreeModeOff(),this.agGridHelper.checkShouldClearExistingFiltersOrSearches()}isAgGridModulePresent(e){return ze.__isRegistered(e,this.gridOptions.gridId)?!0:!!this.getAllAgGridRegisteredModules()[e]}getAllAgGridRegisteredModules(){let e=ze.gridModulesMap,t={};return Object.keys(e).forEach(n=>{t=S(S({},t),e[n])}),t}getAgGridRegisteredModules(){return Object.values(this.getAllAgGridRegisteredModules())}getAgGridRegisteredModuleNames(){return this.getAgGridRegisteredModules().map(e=>e.moduleName)}onRowDataChanged({rowNode:e,oldData:t,newData:n}){if(t==null||t==null||t==n)return;let r=this.getPrimaryKeyValueFromRowNode(e);if(!r)return;let i=[];Object.keys(t).forEach(a=>{if(this.api.columnApi.isColumnInGrid(a)){let s=t[a],l=n[a];if(s!=l){let u=this.api.internalApi.buildDataChangedInfo({oldValue:s,newValue:l,column:this.api.columnApi.getColumnWithColumnId(a),primaryKeyValue:r,rowNode:e,trigger:"tick"});this.isUndoChange(u)&&(u.trigger="undo"),i.push(u)}}}),this.performPostEditChecks(i)}onCellDataChanged({rowNode:e,oldValue:t,newValue:n,colId:r}){if(t==n)return;let i=this.api.columnApi.getColumnWithColumnId(r);if(!i)return;if(this.isGroupRowNode(e)){let l=this.api.internalApi.buildDataChangedInfo({oldValue:t,newValue:n,column:i,primaryKeyValue:e.id,rowNode:e,trigger:"aggChange"});this.DataService.CreateDataChangedEvent(l);return}let a=this.getPrimaryKeyValueFromRowNode(e);if(!a)return;let s=this.api.internalApi.buildDataChangedInfo({oldValue:t,newValue:n,column:i,primaryKeyValue:a,rowNode:e,trigger:"edit"});this.isUndoChange(s)&&(s.trigger="undo"),this.performPostEditChecks([s])}isUndoChange(e){return!!this.api.internalApi.getDataService().extractUndoChange(e)}performPostEditChecks(e){let t=e[0];!t||!t.rowNode||(e.forEach(n=>{n.trigger==="undo"&&this.logger.info(`Undo data change: PK(${n.primaryKeyValue}) Col(${n.column}) RevertedValue(${n.oldValue}) OriginalValue(${n.newValue})`),(n.trigger==="edit"||n.trigger==="undo")&&(this.checkChangedCellCurrentlySelected(n),this.api.freeTextColumnApi.internalApi.handleFreeTextColumnDataChange(n)),this.DataService.CreateDataChangedEvent(n),this.resetMinMaxCachedValueForColumn(n.column)}),this.refreshCellsBasedOnCellDataChange(e),t.trigger=="tick"?this.filterOnTickingDataChange():this.filterOnEditDataChange())}refreshCellsBasedOnCellDataChange(e){let[t]=e;if(this.isVisibleNode(t.rowNode)){let n={wholeRow:!1,columnIds:new Set};this.getFormatColumnExpressionStylesChanges(n,e),n.wholeRow===!1&&this.getFormatColumnPredicateStyleChanges(n,e),n.wholeRow?this.redrawRow(t.rowNode):(this.getStyledColumnComparisonChanges(n,e),n.columnIds.size>0&&this.refreshCells([t.rowNode],Array.from(n.columnIds.values()),!0))}this.refreshColumnForRelativeRangeStyledColumns(e)}getFormatColumnExpressionStylesChanges(e,t){let n=[];n.push(...this.api.formatColumnApi.internalApi.getFormatColumnsWithExpression()),!pt.IsNullOrEmpty(n)&&t.forEach(r=>{e.wholeRow||n.forEach(i=>{if(!e.wholeRow&&this.api.expressionApi.getColumnsFromExpression(i.Rule.BooleanExpression).includes(r.column.columnId))if(this.api.scopeApi.scopeIsAll(i.Scope)){e.wholeRow=!0;return}else this.api.scopeApi.getColumnsForScope(i.Scope).map(s=>s.columnId).forEach(s=>{e.columnIds.add(s)})})})}getFormatColumnPredicateStyleChanges(e,t){t.forEach(n=>{let r=this.api.formatColumnApi.internalApi.getFormatColumnColumnsDependentOnColumnChange(n.column);for(let i of r)e.columnIds.add(i)})}getStyledColumnComparisonChanges(e,t){this.api.styledColumnApi.getStyledColumns().forEach(n=>{let r=this.api.styledColumnApi.internalApi.getColumnComparisonForStyledColumn(n);if(r){let i=this.api.styledColumnApi.internalApi.getColumnIdsFromColumnComparison(r);pt.IsNotNullOrEmpty(i)&&t.forEach(a=>{i.includes(a.column.columnId)&&e.columnIds.add(n.ColumnId)})}})}checkChangedCellCurrentlySelected(e){let t=this.api.gridApi.getSelectedCellInfo();t&&pt.IsNotNullOrEmpty(t.gridCells)&&t.gridCells.find(i=>i.primaryKeyValue==e.primaryKeyValue&&i.column==e.column)&&this.setSelectedCells();let n=this.api.gridApi.getSelectedRowInfo();n&&pt.IsNotNullOrEmpty(n.gridRows)&&n.gridRows.find(i=>i.primaryKeyValue==e.primaryKeyValue)&&this.setSelectedRows()}refreshColumnForRelativeRangeStyledColumns(e){let t=new Set;e.forEach(r=>{let i=this.api.styledColumnApi.getActiveStyledColumnForColumn(r.column);i&&this.api.styledColumnApi.internalApi.hasStyledColumnRelativeCellRange(i)&&t.add(i.ColumnId)});let n=[...t];n.length&&this.refreshColumns(n,!0)}getColumnSorts(){let e=[];return this.gridOptions.columnApi.getColumnState().forEach(n=>{let{colId:r}=n;n.sort&&n.sortIndex!=null&&e.push({ColumnId:r,SortOrder:n.sort==="asc"?"Asc":"Desc",SortIndex:n.sortIndex})}),e.sort((n,r)=>n.SortIndex-r.SortIndex),e.map(n=>({ColumnId:n.ColumnId,SortOrder:n.SortOrder}))}onSortChanged(){let e=this.getColumnSorts();this.api.gridApi.setColumnSorts(e),this._emit("SortChanged",e)}expandAllRowGroups(){this.gridOptions.api.forEachNode(e=>{e.group&&(e.expanded=!0)}),this.gridOptions.api.onGroupExpandedOrCollapsed()}closeAllRowGroups(){this.gridOptions.api.forEachNode(e=>{e.group&&(e.expanded=!1)}),this.gridOptions.api.onGroupExpandedOrCollapsed()}expandRowGroupsForValues(e){if(pt.IsNotNullOrEmpty(e)){let t=e.reduce((n,r)=>(n[r]=!0,n),{});this.gridOptions.api.forEachNode(n=>{if(n.group&&!n.expanded){let r=[],i=n;for(;i;)r.push(i.key),i=i.parent;let a=r.filter(s=>!!s).reverse().join(b2e);t[a]&&n.setExpanded(!0)}}),this.gridOptions.api.onGroupExpandedOrCollapsed()}}getAgGridColumnForColumnId(e){return this.gridOptions.columnApi.getColumn(e)}setRowGroupColumns(e){this.gridOptions.columnApi.setRowGroupColumns(e)}clearRowGroupColumns(){this.gridOptions.columnApi.removeRowGroupColumns(this.gridOptions.columnApi.getRowGroupColumns())}getExpandRowGroupsKeys(){let e=[];return this.api.layoutApi.internalApi.areExpandedRowGroupsSavedInLayouts()&&this.gridOptions.api.forEachNode(t=>{if(t.group&&t.expanded){let n=t,r=[];for(;n;)r.push(n.key),n=n.parent;e.push(r.filter(i=>!!i).reverse().join(b2e))}}),e}getRowCount(){return this.gridOptions.rowData?this.getGridData().length:this.gridOptions.api.getDisplayedRowCount()}getColumnCount(){return this.gridOptions.columnApi.getColumns().length}getVisibleRowCount(){return this.gridOptions.api.getDisplayedRowCount()}getVisibleColumnCount(){return this.gridOptions.columnApi.getColumns().filter(e=>e.isVisible()).length}selectColumns(e,t){t!=null&&t.keepExistingSelection||this.gridOptions.api.clearRangeSelection();let n=this.gridOptions.api.getDisplayedRowCount();e.forEach(r=>{let i={rowStartIndex:0,rowEndIndex:n-1,columnStart:r,columnEnd:r};this.gridOptions.api.addCellRange(i)})}selectColumn(e,t){t!=null&&t.keepExistingSelection||this.gridOptions.api.clearRangeSelection();let n={rowStartIndex:0,rowEndIndex:this.gridOptions.api.getDisplayedRowCount()-1,columnStart:e,columnEnd:e};this.gridOptions.api.addCellRange(n)}selectAll(){this.gridOptions.api.selectAll()}deselectAll(){this.gridOptions.api.deselectAll(),this.gridOptions.api.clearRangeSelection()}hideColumn(e){this.gridOptions.columnApi.getColumn(e)&&(this.gridOptions.columnApi.setColumnVisible(e,!1),this.updateColumnsIntoStore())}showColumn(e){this.gridOptions.columnApi.getColumn(e)&&(this.gridOptions.columnApi.setColumnVisible(e,!0),this.updateColumnsIntoStore())}autoSizeColumn(e){var t;(t=this.gridOptions.columnApi)==null||t.autoSizeColumn(e)}autoSizeColumns(e){var t;(t=this.gridOptions.columnApi)==null||t.autoSizeColumns(e)}autoSizeAllColumns(){var e;(e=this.gridOptions.columnApi)==null||e.autoSizeAllColumns()}setColumnSort(e){let t=e==null?void 0:e.reduce((r,i,a)=>(r[i.ColumnId]=T(S({},i),{SortIndex:a}),r),{});if(!this.gridOptions.api)return;let n=this.gridOptions.columnApi.getColumnState().map(r=>{let{colId:i}=r,a=S({},r),s=t?t[i]:void 0;return s?(a.sort=s.SortOrder==="Asc"?"asc":"desc",a.sortIndex=s.SortIndex):(a.sort=null,a.sortIndex=null),a});this.gridOptions.columnApi.applyColumnState({state:n,applyOrder:!0}),this.gridOptions.api.onSortChanged()}clearColumnSort(){this.setColumnSort(null)}setGridData(e){!this.gridOptions.api||(this.hasAutogeneratedPrimaryKey()&&this.addSyntheticPrimaryKey(e),this.gridOptions.api.setRowData(e),this.updateColumnDataTypeIfRowDataIsEmpty(),this.updateRowGroupsExpandedState(),this.setupColumns())}getGridData(){var t;let e=[];return(t=this.gridOptions)==null||t.api.forEachNode(n=>{this.isGroupRowNode(n)||e.push(n.data)}),e}getFilteredData(){var t;let e=[];return(t=this.gridOptions)==null||t.api.forEachNodeAfterFilter(n=>{this.isGroupRowNode(n)||e.push(n.data)}),e}updateRows(e,t){if(this.hasAutogeneratedPrimaryKey()&&this.addSyntheticPrimaryKeyIfMissing(e),t=t||{},t.runAsync)return new Promise(n=>{this.gridOptions.api.applyTransactionAsync({update:e},r=>{typeof t.callback=="function"&&t.callback(r),n(r==null?void 0:r.update)})});{let n=this.gridOptions.api.applyTransaction({update:e});return Promise.resolve(n==null?void 0:n.update)}}addRows(e,t){this.hasAutogeneratedPrimaryKey()&&this.addSyntheticPrimaryKey(e),t=t||{};let n={add:e};if(t.addIndex!==void 0&&(n.addIndex=t.addIndex),t.runAsync)return new Promise(r=>{this.gridOptions.api.applyTransactionAsync(n,i=>{typeof t.callback=="function"&&t.callback(i),r(i==null?void 0:i.add),this.updateColumnDataTypeIfRowDataIsEmpty(),this.updateRowGroupsExpandedState()})});{let r=this.gridOptions.api.applyTransaction(n);return this.updateColumnDataTypeIfRowDataIsEmpty(),this.updateRowGroupsExpandedState(),Promise.resolve(r==null?void 0:r.add)}}deleteRows(e,t){if(t=t||{},t.runAsync)return new Promise(n=>{this.gridOptions.api.applyTransactionAsync({remove:e},r=>{typeof t.callback=="function"&&t.callback(r),n(r==null?void 0:r.remove)})});{let n=this.gridOptions.api.applyTransaction({remove:e});return Promise.resolve(n.remove)}}getFirstGroupedColumn(){let e=this.gridOptions.columnApi.getRowGroupColumns();if(pt.IsNotNullOrEmpty(e)){let t=e[0];return this.api.columnApi.getColumnWithColumnId(t.getColId())}}checkColumnsDataTypeSet(){this.api.columnApi.getColumns().some(t=>t.dataType==="Unknown")&&this.updateColumnsIntoStore()}updateColumnDataTypeIfRowDataIsEmpty(){var e,t;!this.isCheckedColumnDataType&&!((t=(e=this.gridOptions)==null?void 0:e.rowData)!=null&&t.length)&&(this.checkColumnsDataTypeSet(),this.redrawHeader(),this.isCheckedColumnDataType=!0)}runAdaptableComparerFunction(e,t){let n=this;return function(i,a,s,l){var y,v;let u=(y=s&&n.getDisplayValueFromRowNode(s,e))!=null?y:i,c=(v=l&&n.getDisplayValueFromRowNode(l,e))!=null?v:a,p=t.indexOf(u),m=p>=0,h=t.indexOf(c),C=h>=0;return!m&&!C?i==a?0:i<a?-1:1:m?C?p-h:-1:1}}isGridSelectable(){return this.gridOptions.rowSelection==="single"||this.gridOptions.rowSelection==="multiple"}isGridRangeSelectable(){return this.isAgGridModulePresent(ot.RangeSelectionModule)&&this.gridOptions.enableRangeSelection===!0}isGridGroupable(){return!this.api.internalApi.isGridInTreeMode()}isGridGroupingActive(){let e=!1;return this.gridOptions.api.forEachNode(t=>{e||t.group&&(e=!0)}),e}isGridPivotable(){return!this.api.internalApi.isGridInTreeMode()}isQuickFilterAvailable(){return this.hasFloatingFilterOnAtLeastOneColumn()===!0}setAgQuickSearch(e){this.gridOptions.api.setQuickFilter(e)}hasFloatingFilterOnAtLeastOneColumn(e=this.gridOptions.columnDefs){if(this.gridOptions.defaultColDef&&this.gridOptions.defaultColDef.floatingFilter)return!0;let t;for(t of e)if(t.floatingFilter||t.children&&this.hasFloatingFilterOnAtLeastOneColumn(t.children))return!0;return!1}showQuickFilter(){let e=this.api.optionsApi.getFilterOptions().quickFilterHeight;this.gridOptions.api.setFloatingFiltersHeight(e)}hideQuickFilter(){this.gridOptions.api.setFloatingFiltersHeight(0)}getAgGridColumnType(e){var n;let{type:t}=(n=this.gridOptions.api.getColumnDef(e))!=null?n:{};return t||""}getActiveColumnComparator(e,t,n){return(!t||(t==null?void 0:t.IsSuspended))&&!n?this.getUserColDefProperty(e,"comparator"):n?n.comparer:this.runAdaptableComparerFunction(t.ColumnId,t.SortedValues)}getAgGridLightThemeName(){let e=this.getAgGridContainerElement();if(e&&e.classList){let t=e.classList;for(let n=0,r=t.length;n<r;n++){let i=t[n];if(i.indexOf("ag-theme-")===0)return i.replace("-dark","")}}return this.agGridHelper.getAgGridLightThemeName()}getAgGridCurrentThemeName(){let e=this.getAgGridContainerElement();if(e&&e.classList){let t=e.classList;for(let n=0,r=t.length;n<r;n++){let i=t[n];if(i.indexOf("ag-theme-")===0)return i}}return this.getAgGridLightThemeName()}applyAdaptableTheme(e){let t=typeof e=="string"?e:e.Name,n=this.api.themeApi.internalApi.isSystemTheme(t),r=[],i=[],s=this.api.themeApi.getThemes().map(v=>S({},v)).reduce((v,x)=>(v[x.Name]=x,v),{}),l=s[t],u=document.documentElement;u.classList.forEach(v=>{if(v.indexOf(UD)===0){r.push(v);let A=v.substring(UD.length);s[A]&&i.push(s[A])}}),r.forEach(v=>u.classList.remove(v)),i.forEach(v=>{u.classList.remove(`infinite-${v.Name}`)});let c="";!n&&l.Variant&&(c=l.Variant);let p=s[t],m=v=>UD+v;u.classList.add(m(t)),c&&u.classList.add(m(c)),n?u.classList.add(`infinite-${t}`):c&&u.classList.add(`infinite-${c}`);let h=this.getAgGridContainerElement(),C=()=>this.getAgGridLightThemeName(),y=()=>C()+"-dark";if(p&&(n||c)&&((c||t)===qS&&(p.AgGridClassName=p.AgGridClassName||C()),(c||t)===uE&&(p.AgGridClassName=p.AgGridClassName||y())),p.AgGridClassName||(p.AgGridClassName=C()),h!=null){i.length&&i.forEach(x=>{x.AgGridClassName&&h.classList.remove(x.AgGridClassName)});let v=[];h.classList.forEach(x=>{x&&x.indexOf("ag-theme-")===0&&v.push(x)}),v.forEach(x=>h.classList.remove(x)),p&&p.AgGridClassName&&h.classList.add(p.AgGridClassName),h.classList.add("ab-Grid"),this.adaptableOptions.filterOptions.indicateFilteredColumns&&h.classList.add("ab-Grid--indicate-filtered-columns")}this.adaptableOptions.userInterfaceOptions&&this.adaptableOptions.userInterfaceOptions.useCustomMacLikeScrollbars&&tMe()>0?u.classList.add("ab--custom-mac-like-scrollbars"):u.classList.remove("ab--custom-mac-like-scrollbars")}setupRowStyling(){this.setGridOptionsProperty("getRowStyle",e=>t=>S(S(S({},e==null?void 0:e(t)),this.getRowHighlightStyle(t)),this.getAlertRowStyle(t))),this.setGridOptionsProperty("getRowClass",e=>t=>{let n=this.getAlertRowClass(t),r=this.getRowHighlightClass(t),i=[typeof e=="function"?e(t):e,r,n].flat().filter(a=>!!a);return i!=null&&i.length?i:void 0})}setupColumnHeaderAggregations(e){let t=this.gridOptions.suppressAggFuncInHeader;this.setGridOptionsProperty("suppressAggFuncInHeader",r=>{if(e.SuppressAggFuncInHeader!==r)return e.SuppressAggFuncInHeader});let n=this.gridOptions.suppressAggFuncInHeader;return t!==n}getGridOptionsApi(){if(!this.gridOptions.api){this.logger.consoleError("There is a problem with your instance of AG Grid - it has no gridApi object. Please contact Support.");return}return this.gridOptions.api}canGenerateCharts(){return this.isAgGridModulePresent(ot.GridChartsModule)&&this.gridOptions.enableCharts}canDisplaySparklines(){return this.isAgGridModulePresent(ot.SparklinesModule)}canExportToExcel(){return this.isAgGridModulePresent(ot.ExcelExportModule)}exportToExcel(e,t){let n=e.columns.map(u=>({field:u.columnId,headerName:u.friendlyName})),r=".",i=e.columns.filter(u=>u.columnId.includes(r));i.length&&e.rows.forEach(u=>i.forEach(c=>{let p=u[c.columnId],m=u;c.columnId.split(r).forEach((h,C,y)=>{if(C===y.length-1){m[h]=p;return}m[h]==null&&(m[h]={}),m=m[h]}),delete u[c.columnId]}));let a={columnDefs:n,rowData:e.rows},s={modules:this.getAgGridRegisteredModules()},l=new GR(document.createElement("div"),a,s);a.api.exportDataAsExcel({sheetName:"Sheet 1",fileName:t}),l.destroy()}setExcelStylesForExport(){let e={},t=a=>{let s=e[a];if(s)return s;let l=this.api.columnApi.getColumnWithColumnId(a);return e[a]=l,l},n={},r=a=>{let s=n[a];if(s)return s;let l=t(a),u=this.api.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(l);return n[a]=u,u},i=this.api.exportApi.internalApi.isDateCellExportedAsFormattedValue();this.setGridOptionsProperty("excelStyles",(a=[])=>{let s=this.gridOptions.columnApi.getAllDisplayedColumns(),l=s.map(c=>c.getColDef()),u={includeGroupRows:!0};return this.forAllVisibleRowNodesDo((c,p)=>{let m={node:c,data:c.data,rowIndex:p,$scope:{},api:this.gridOptions.api,columnApi:this.gridOptions.columnApi,context:{}},h=this.gridOptions.getRowStyle(m);s.forEach((C,y)=>{var V,$,K;let v=l[y],x,A=()=>(x||(x={colDef:v,node:c,column:C,data:c.data,value:this.getRawValueFromRowNode(c,C.getId()),rowIndex:p,api:this.gridOptions.api,columnApi:this.gridOptions.columnApi,context:{}}),x),R=typeof v.cellStyle=="function"?v.cellStyle(A()):{},w=[],P=this.getUserColDefProperty(C.getColId(),"cellClass"),D=typeof P=="function"?P(A()):P,F=D&&a.find(Z=>{var oe;return typeof D=="string"?D===Z.id:(oe=D==null?void 0:D.includes)==null?void 0:oe.call(D,Z.id)});F&&w.push(F);let M=S(S({},h),Object.keys(R).reduce((Z,oe)=>(R[oe]!==null&&(Z[oe]=R[oe]),Z),{})),O=DFe(M);Object.values(O).some(Z=>Z!=null)&&w.push(this.convertCSSToExcelStyle(O));let _=this.api.exportApi.internalApi.getExcelDataType(v==null?void 0:v.type),H=this.getRawValueFromRowNode(c,C.getId());if(!w.length&&!(_==="DateTime"&&i))return;let j=this.getExcelClassNameForCell(C.getId(),this.getPrimaryKeyValueFromRowNode(c),D),B=Object.assign({},...w);if(_==="DateTime"&&i){let Z=this.api.optionsApi.getExportOptions().exportDateFormat,oe=t(C.getColId());if(!Z){let X=this.api.formatColumnApi.internalApi.getMostRelevantFormatColumnForColumn(r(C.getColId()),oe,{node:c,value:H});Z=((V=X==null?void 0:X.DisplayFormat)==null?void 0:V.Formatter)==="DateFormatter"&&((K=($=X==null?void 0:X.DisplayFormat)==null?void 0:$.Options)==null?void 0:K.Pattern)}if(Z){let X=this.getNormalisedValueFromRawValue(H,oe);if(X){let xe=aa(X,{Pattern:"yyyy-MM-dd'T'HH:mm:ss.SSS"});if(xe){B.dataType="DateTime",B.numberFormat={format:Z};let se=this.getExcelClassNameForCell(C.getColId(),this.getPrimaryKeyValueFromRowNode(c));this.api.internalApi.getReportService().registerExcelStyleWithFormattedDate(se,xe)}}}}this.api.internalApi.getReportService().registerExcelStyle(B,j)})},u),this.api.internalApi.getReportService().getRegisteredExcelStyles()})}exportVisualDataToExcel(){this.setExcelStylesForExport(),this.gridOptions.api.exportDataAsExcel({sheetName:"Sheet 1",fileName:this.ReportService.getReportFileName(this.adaptableOptions.adaptableId),processCellCallback:({node:e,column:t,value:n})=>{var i;let r=t.getColId();return(e==null?void 0:e.group)&&(this.api.columnApi.isAutoRowGroupColumn(r)||((i=e==null?void 0:e.aggData)==null?void 0:i[r])==null)?n:this.processCellForExcelExport(e,r)},processRowGroupCallback:e=>{var a;let t=e.node,n=t.footer,r=[(a=this.processRowGroupForExcelExport(t))!=null?a:""];for(;t.parent;){t=t.parent;let s=this.processRowGroupForExcelExport(t);s&&r.push(s)}let i=r.reverse().join(" -> ");return n&&(i=`Total: ${i}`),i}}),this.setGridOptionsProperty("excelStyles",e=>e)}convertAdaptableStyleToCSS(e){return SM(e)}convertCSSToExcelStyle(e){let t=r=>{let i=ug(r),a=C4(i),s=a.getAlpha();return C4.mix(C4("white"),a,s*100).toHexString()},n={};if(e.backgroundColor!=null&&(n.interior={color:t(e.backgroundColor),pattern:"Solid"}),e.borderColor!=null){let r={color:e.borderColor,lineStyle:"Continuous",weight:1};n.borders={borderBottom:r,borderLeft:r,borderRight:r,borderTop:r}}return e.textAlign&&(n.alignment={horizontal:ct.CapitaliseFirstLetter(e.textAlign)}),e.color!=null&&(n.font||(n.font={}),n.font={color:t(e.color)}),e.fontStyle==="italic"&&(n.font||(n.font={}),n.font.italic=!0),e.fontWeight!=null&&(e.fontWeight==="bold"||Number(e.fontWeight)>=600)&&(n.font||(n.font={}),n.font.bold=!0),e.fontSize!=null&&(n.font||(n.font={}),n.font.size=OFe(e.fontSize)),n}processCellForExcelExport(e,t){if(this.api.exportApi.internalApi.isVisualDataExportInProgress()){let n=this.getExcelClassNameForCell(t,this.getPrimaryKeyValueFromRowNode(e)),r=this.ReportService.getExcelStyleWithFormattedDate(n);if(r)return r}return this.ReportService.getCellExportValueFromRowNode(e,t)}processRowGroupForExcelExport(e){var r,i,a,s,l;let t=(l=(i=e.field)!=null?i:(r=e.rowGroupColumn)==null?void 0:r.getColId())!=null?l:(s=(a=e.rowGroupColumn)==null?void 0:a.getColDef())==null?void 0:s.field;if(!t||!e.key)return;let n=e.key;if(this.api.columnApi.getColumnDataTypeForColumnId(t)==="Date"&&typeof n=="string"&&/^\d+$/.test(n)){let u=parseInt(n);u!=null&&(n=u)}return this.ReportService.getCellExportValueFromRawValue(e,n,t)}hasAutogeneratedPrimaryKey(){return this.adaptableOptions.autogeneratePrimaryKey}addSyntheticPrimaryKey(e=[]){for(let t=0;t<e.length;t++)e[t][$S]=Gt()}addSyntheticPrimaryKeyIfMissing(e=[]){this.adaptableOptions.primaryKey=$S;for(let t=0;t<e.length;t++)e[t][$S]||(e[t][$S]=Gt())}initLicenseService(){let t=(typeof globalThis!="undefined"?globalThis:window).ADAPTABLE_LICENSE_KEY||this.api.optionsApi.getLicenseKey();return new BU(this,t,{publishedAt:d2e})}showCharts(e,t){return e.map(n=>this.showChart(n,t))}showChart(e,t){if(!this.gridOptions.api)return this.logger.consoleError("Adaptable must be instantiated before calling showChart"),null;let n=this.gridOptions.api.restoreChart(e.Model,t),r=this.getChartModels().find(i=>i.chartId===n.chartId);return this.api.chartingApi.editChartDefinition(T(S({},e),{Model:r})),n}updateChart(e){let t={type:"rangeChartUpdate",chartId:e.Model.chartId,unlinkChart:Boolean(e.Model.unlinkChart),suppressChartRanges:Boolean(e.Model.suppressChartRanges),aggFunc:e.Model.aggFunc};this.gridOptions.api.updateChart(t)}getChartRef(e){return this.gridOptions.api.getChartRef(e)}getChartModels(){return this.gridOptions.api?this.gridOptions.api.getChartModels():(this.logger.consoleError("Adaptable must be instantiated before calling getChartModels"),[])}getAgGridRowModelType(){var e;return(e=this.gridOptions.rowModelType)!=null?e:"clientSide"}getActiveAdaptableAggFuncForCol(e){if(!e)return null;let r=(this.api.layoutApi.getCurrentLayout().AggregationColumns||{})[e];return typeof r=="object"&&"type"in r&&r.type==="weightedAverage"?r:null}registerAdaptableAggFuncs(){this.setGridOptionsProperty("aggFuncs",e=>{let t=e||{};return t[RI]=n=>{let r=n.column.getColId(),i=this.getActiveAdaptableAggFuncForCol(r);if(!!i&&i.type==="weightedAverage")return xCe(n,n.colDef.colId,i.weightedColumnId)},t})}mapAggregationColumnsFromGrid(e,t){return Object.entries(e).reduce((n,[r,i])=>{let a=this.getActiveAdaptableAggFuncForCol(r);return(a==null?void 0:a.type)==="weightedAverage"&&i===RI?n[r]=t.AggregationColumns[r]:n[r]=i,n},{})}resetMinMaxCachedValueForColumn(e){e||(this.columnMinMaxValuesCache[e.columnId]={}),this.columnMinMaxValuesCache[e.columnId]&&(this.columnMinMaxValuesCache[e.columnId]=void 0)}getMinMaxCachedValueForColumn(e,t){var s;let{columnId:n,dataType:r}=e;if(r!=="Number")return;let i=(s=this.columnMinMaxValuesCache[n])==null?void 0:s[t];if(i!==void 0)return i;let a=this.api.gridApi.internalApi.getUnsortedDistinctRawValuesForColumn(n).map(l=>l.rawValue);return i=t==="min"?Math.min(...a):Math.max(...a),this.columnMinMaxValuesCache[n]=T(S({},this.columnMinMaxValuesCache[n]),{[t]:i}),i}persistColumnIndexBeforeGrouping(e){let t=this.api.layoutApi.getCurrentLayout(),n=t.RowGroupedColumns;e.columns.map(a=>a.getColId()).filter(a=>!n.includes(a)).forEach(a=>{let s=t.Columns.filter(l=>!(this.api.columnApi.isAutoRowGroupColumn(l)||this.api.columnApi.isAutoPivotColumn(l))).findIndex(l=>l===a);s!==-1&&this.api.internalApi.persistPreviousGroupedColumnsIndex(t.Uuid,a,s)})}restoreUnGroupColumnOrder({newGroupColumns:e,columnOrder:t}){var s;let n=[...t],r=this.api.layoutApi.getCurrentLayout(),i=this.api.internalApi.getPreviousGroupedColumnsIndex(r.Uuid);if(!(e.length<((s=r==null?void 0:r.RowGroupedColumns)==null?void 0:s.length))||!i)return t;for(let[l,u]of Object.entries(i)){let c=e.includes(l),p=r.Columns.includes(l);if(c)continue;if(p){this.api.internalApi.persistPreviousGroupedColumnsIndex(r.Uuid,l,null);continue}let m=n.filter(x=>this.api.columnApi.isAutoRowGroupColumn(x)).length,h=u+m,C=n.indexOf(l),y=h!==null&&C>0&&h!==C,v=h<n.length;y&&v&&(n.splice(C,1),n.splice(h,0,l)),this.api.internalApi.persistPreviousGroupedColumnsIndex(r.Uuid,l,null)}return n}},b4=class{constructor(e,t={}){var r;let n=async({gridOptions:i,adaptableOptions:a,agGridModules:s})=>await rp.init(a,{gridOptions:i,modules:s});this.adaptableOptions=e,this.init=t.onInit||n,this.extraOptions=t,this.agGridModules=ze.__getRegisteredModules((r=this.adaptableOptions._gridOptions)==null?void 0:r.gridId),this.render()}render(e){var r;let t=Eo.containerOptions.adaptableContainer||"adaptable";if(!e){let i=(r=this.adaptableOptions.containerOptions)==null?void 0:r.adaptableContainer;i&&(typeof i=="string"?t=i!=null?i:t:e=i)}if(e=e||document.getElementById(t),!e)throw new Error("Cannot find container in which to render Adaptable No Code Wizard");e.classList.add("adaptable--in-wizard");let n=jte(A2e.createElement(UW,T(S({adaptableOptions:this.adaptableOptions},this.extraOptions),{onInit:(i,a)=>{e.classList.remove("adaptable--in-wizard"),n(),i._gridOptions=a,this.init({adaptableOptions:i,gridOptions:a,agGridModules:[...this.agGridModules]})}})),e,!0)}};var qNt=rp,YNt=b4;
626
626
  /*
627
627
  object-assign
628
628
  (c) Sindre Sorhus