iszolea-ui 1.2.82 → 1.2.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/index.development.js +2 -1
- package/dist/js/index.js +1 -1
- package/package.json +1 -1
package/dist/js/index.js
CHANGED
|
@@ -88,5 +88,5 @@ to disable the global search function and allow filtering by column only.`).dxPo
|
|
|
88
88
|
'${s.join(", ")}'.
|
|
89
89
|
|
|
90
90
|
Do you want to remove these columns from grid settings?
|
|
91
|
-
`,"Remove redundant columns?").then(l=>{!l||r(s)})})}resetSettings(){return this.gridDataLayer.resetSettings(this.id).then(t=>(this.onDataLoaded(t),t))}onDataLoaded(t){let r=t&&t.columns,i=0;this.stateLoaded=!0,r&&(this.loadedColumns={},r.forEach(n=>{this.loadedColumns[n.dataField]=!0,n.visible&&n.visibleIndex===null&&(n.visibleIndex=i++),Object.keys(n).forEach(l=>{(n[l]===null||n[l]===void 0||n[l]==="")&&delete n[l]});let s=this.additionalColumnsSettings[n.dataField];s?(s.caption=n.caption,s.tooltip=n.tooltip):this.additionalColumnsSettings[n.dataField]={caption:n.caption,tooltip:n.tooltip},delete n.caption,delete n.tooltip})),this.lastColumnSettingsStr=JSON.stringify(t.columns)}};var Nr=(r=>(r[r.View=1]="View",r[r.Edit=2]="Edit",r))(Nr||{}),j=Nr;var Lr=o=>{let t={gridResult:`${o}/GridViewResult`,getColumnsByReportId:`${o}/GetDbTableFields`,resetGridSettings:`${o}/ResetGridViewSettings`,updateGridViewSettings:`${o}/UpdateGridViewSettings`,getGridViewSettings:`${o}/GetGridViewSettings`};return{getGridDataSource(r,i,n){return se({loadParams:{id:r.ReportId,appName:r.AppName,gridMode:i,rowsLimit:i===j.Edit&&!n?15:null},loadUrl:t.gridResult,getUserFriendlyErrorMessage:rn})},getColumnsByReportId:r=>x(t.getColumnsByReportId,"post",{id:r},!1,{dataType:"json"}),resetSettings:r=>x(t.resetGridSettings,"post",{id:r},!1,{dataType:"json"}),updateGridViewSettings:(r,i)=>x(t.updateGridViewSettings,"post",{id:r,columnsSettings:JSON.stringify(i.columns)},!1,{dataType:"json"}),getGridViewSettings:r=>x(t.getGridViewSettings,"post",{id:r},!1,{dataType:"json"})}},rn=o=>{switch(o){case 1:return"We attempted to execute the data query however it appears there is an error in the data source. Please contact the report author to confirm the data requirements.";default:return""}};var Ke=class{constructor(t){this.activeTimerId=0;this.currentInterval=0;this.elapsedCallback=t.elapsedCallback,this.callback=t.callback}start(t){if(t<=0){this.callback();return}this.lastStateChecked=new Date,this.currentInterval=t;let r=this.activeTimerId=Math.random();if(this.currentInterval<0){this.elapsedCallback(this.currentInterval);return}this.tickTimerFunction(r)}triggerChange(){this.lastStateChecked=new Date,this.callback()}dispose(){this.activeTimerId--}tickTimerFunction(t){if(t!==this.activeTimerId)return;let r=this.currentInterval-(new Date-this.lastStateChecked);r<=0&&(r=this.currentInterval+999,this.callback(),this.lastStateChecked=new Date),this.elapsedCallback(r),setTimeout(()=>this.tickTimerFunction(t),100)}};var nn=[{timeout:0,text:"refresh now",refreshTemplate:""},{timeout:15*1e3,text:"15 sec",refreshTemplate:"Auto Update (%)"},{timeout:30*1e3,text:"30 sec",refreshTemplate:"Auto Update (%)"},{timeout:60*1e3,text:"1 min",refreshTemplate:"Auto Update (%)"},{timeout:180*1e3,text:"3 min",refreshTemplate:"Auto Update (%)"},{timeout:300*1e3,text:"5 min",refreshTemplate:"Auto Update (%)"},{timeout:600*1e3,text:"10 min",refreshTemplate:"Auto Update (%)"},{timeout:-1,text:"off",refreshTemplate:"Auto Update: off",isDefault:!0}],pe=class{constructor(t,r,i=nn){this.menuIsOpened=!1;this.refreshComponent=new Ke({callback:r,elapsedCallback:n=>this.elapsedCallback(n)}),this.selectedEntry=i.find(n=>n.isDefault)||i.filter(n=>!!n.timeout)[0],this.contextMenu=$("<div />").dxContextMenu({dataSource:i,target:t,position:{my:"right top",at:"right bottom"},onItemClick:n=>{n.itemData.timeout?(this.selectedEntry=n.itemData,n.component.selectItem(this.selectedEntry),this.refreshComponent.start(n.itemData.timeout),n.component.hide()):(n.component.hide(),this.refresh())},onHidden:()=>{this.menuIsOpened=!1},onShown:n=>{this.menuIsOpened=!0,n.component.itemsContainer()[0].parentElement.classList.add("iszolea-theme")},itemTemplate:n=>n.text,cssClass:"iszolea-theme"}).appendTo("body").dxContextMenu("instance"),this.contextMenu.selectItem(this.selectedEntry),this.dropDownButton=t.dxButton({text:this.selectedEntry.text,template:(n,s)=>($("<i />").addClass("dx-icon dx-icon-refresh").appendTo(s),$("<span>").addClass("button-with-expand-text").text(n.text).appendTo(s),$("<span>").addClass("button-with-expand-icon isoz-icon-16 isoz-icon-arrow-down-16").appendTo(s),s),elementAttr:{class:"iszolea-md button-with-expand"},onClick:n=>{this.contextMenu.element().width(t.outerWidth()),this.menuIsOpened?this.contextMenu.hide():this.contextMenu.show()}}).dxButton("instance"),this.selectedEntry.timeout>0&&this.refreshComponent.start(this.selectedEntry.timeout)}refresh(){this.refreshComponent.triggerChange()}elapsedCallback(t){this.dropDownButton.option("text",this.selectedEntry.refreshTemplate.replace("%",Math.floor(t/1e3).toString()))}};var sn=3e3,Je=class{constructor(t){this.currentGridMode=null;this.showAllDataInEdit=!1;this.loadingTimeout=null;this.grid=null;this.popover=null;this.gridStateManager=null;this.$gridStateIndicator=null;this.$gridErrorPlaceholder=null;this.$gridTargetElement=null;this.$resetSettingTargetElement=null;this.gridStateIndicatorTimeout=null;this.editWidthEditBoxes=null;this.gridRepaintQueued=!1;this.columnNamesUpdated=!1;this.refreshButton=null;this.gridPositionMarker=t.gridPositionMarker,this.reportParams=t.reportParams,this.allowEditing=t.allowEditing,this.addRefreshButton=t.addRefreshButton,this.gridReportControllerUrl=t.gridReportControllerUrl,this.showHeader=t.showHeader,this.asyncSummaryLoad=t.asyncSummaryLoad}init(){this.currentGridMode||(this.currentGridMode=j.View),this.initInternal()}refresh(){var t;(t=this.grid)==null||t.refresh()}dispose(){var t,r,i,n;(t=this.grid)==null||t.dispose(),this.grid=null,this.currentGridMode=null,(r=this.$resetSettingTargetElement)==null||r.remove(),(i=this.$gridTargetElement)==null||i.remove(),(n=this.popover)==null||n.dispose(),this.popover=null}initInternal(){var r;this.dataLayer=Lr(this.gridReportControllerUrl),this.$gridTargetElement&&this.$gridTargetElement.remove(),this.$gridTargetElement=$("<div />").insertAfter(this.gridPositionMarker),this.gridStateManager=new Wt(this.reportParams.ReportId,this.dataLayer),this.$gridErrorPlaceholder=$("<div />").text("Data loading failed.").addClass("dx-datagrid-nodata").css({zIndex:1}),this.$gridErrorPlaceholder.appendTo(this.gridPositionMarker),this.$gridErrorPlaceholder.hide(),this.reportParams.Details&&(this.popover=ee(".report-details-link",this.reportParams.Details)),this.editWidthEditBoxes=[];let t={dataSource:this.createDataSource(this.reportParams,this.currentGridMode,this.showAllDataInEdit),elementAttr:{class:this.currentGridMode===j.Edit?"edit-mode":"view-mode"},repaintChangesOnly:!0,onToolbarPreparing:i=>{let n=i.toolbarOptions.items;if(this.currentGridMode===j.View&&this.allowEditing){let s=n.filter(u=>u.name==="searchPanel")[0],l=n.indexOf(s),g={widget:"dxButton",location:"after",options:{text:"Switch to Edit Mode",onClick:()=>this.switchToMode(j.Edit),icon:"switch-to-edit-mode",elementAttr:{class:"iszolea-md"}}};n.splice(l,1),n.push(g),n.push(s)}if(this.currentGridMode===j.Edit){let s=n.filter(S=>S.name==="columnChooserButton")[0],l=n.indexOf(s),g={location:"after",template:()=>{let S=$("<div />").css({border:"1px #e0e0e0 solid",padding:"3px 6px",borderRadius:"4px",background:"white"});$("<span />").css({margin:"0 5px 0 0",width:"54px"}).dxSwitch({value:this.showAllDataInEdit,onValueChanged:({value:I})=>{this.showAllDataInEdit=I,this.grid.option("dataSource",this.createDataSource(this.reportParams,this.currentGridMode,this.showAllDataInEdit)),this.grid.refresh()}}).appendTo(S),$("<span />").text("Show all data ").appendTo(S);let T=$("<a />").css({textDecoration:"underline",color:"blue"}).text("(?)").appendTo(S);return $("<div />").text(`If the table contains a lot of columns showing all data can lead to slow page performance when you're editing the grid.
|
|
91
|
+
`,"Remove redundant columns?").then(l=>{!l||r(s)})})}resetSettings(){return this.gridDataLayer.resetSettings(this.id).then(t=>(this.onDataLoaded(t),t))}onDataLoaded(t){let r=t&&t.columns,i=0;this.stateLoaded=!0,r&&(this.loadedColumns={},r.forEach(n=>{this.loadedColumns[n.dataField]=!0,n.visible&&n.visibleIndex===null&&(n.visibleIndex=i++),Object.keys(n).forEach(l=>{(n[l]===null||n[l]===void 0||n[l]==="")&&delete n[l]});let s=this.additionalColumnsSettings[n.dataField];s?(s.caption=n.caption,s.tooltip=n.tooltip):this.additionalColumnsSettings[n.dataField]={caption:n.caption,tooltip:n.tooltip},delete n.caption,delete n.tooltip})),this.lastColumnSettingsStr=JSON.stringify(t.columns)}};var Nr=(r=>(r[r.View=1]="View",r[r.Edit=2]="Edit",r))(Nr||{}),j=Nr;var Lr=o=>{let t={gridResult:`${o}/GridViewResult`,getColumnsByReportId:`${o}/GetDbTableFields`,resetGridSettings:`${o}/ResetGridViewSettings`,updateGridViewSettings:`${o}/UpdateGridViewSettings`,getGridViewSettings:`${o}/GetGridViewSettings`};return{getGridDataSource(r,i,n){return se({loadParams:{id:r.ReportId,appName:r.AppName,gridMode:i,rowsLimit:i===j.Edit&&!n?15:null},loadUrl:t.gridResult,getUserFriendlyErrorMessage:rn})},getColumnsByReportId:r=>x(t.getColumnsByReportId,"post",{id:r},!1,{dataType:"json"}),resetSettings:r=>x(t.resetGridSettings,"post",{id:r},!1,{dataType:"json"}),updateGridViewSettings:(r,i)=>x(t.updateGridViewSettings,"post",{id:r,columnsSettings:JSON.stringify(i.columns)},!1,{dataType:"json"}),getGridViewSettings:r=>x(t.getGridViewSettings,"post",{id:r},!1,{dataType:"json"})}},rn=o=>{switch(o){case 1:return"We attempted to execute the data query however it appears there is an error in the data source. Please contact the report author to confirm the data requirements.";default:return""}};var Ke=class{constructor(t){this.activeTimerId=0;this.currentInterval=0;this.elapsedCallback=t.elapsedCallback,this.callback=t.callback}start(t){if(t<=0){this.callback();return}this.lastStateChecked=new Date,this.currentInterval=t;let r=this.activeTimerId=Math.random();if(this.currentInterval<0){this.elapsedCallback(this.currentInterval);return}this.tickTimerFunction(r)}triggerChange(){this.lastStateChecked=new Date,this.callback()}dispose(){this.activeTimerId--}tickTimerFunction(t){if(t!==this.activeTimerId)return;let r=this.currentInterval-(new Date-this.lastStateChecked);r<=0&&(r=this.currentInterval+999,this.callback(),this.lastStateChecked=new Date),this.elapsedCallback(r),setTimeout(()=>this.tickTimerFunction(t),100)}};var nn=[{timeout:0,text:"refresh now",refreshTemplate:""},{timeout:15*1e3,text:"15 sec",refreshTemplate:"Auto Update (%)"},{timeout:30*1e3,text:"30 sec",refreshTemplate:"Auto Update (%)"},{timeout:60*1e3,text:"1 min",refreshTemplate:"Auto Update (%)"},{timeout:180*1e3,text:"3 min",refreshTemplate:"Auto Update (%)"},{timeout:300*1e3,text:"5 min",refreshTemplate:"Auto Update (%)"},{timeout:600*1e3,text:"10 min",refreshTemplate:"Auto Update (%)"},{timeout:-1,text:"off",refreshTemplate:"Auto Update: off",isDefault:!0}],pe=class{constructor(t,r,i=nn){this.menuIsOpened=!1;this.refreshComponent=new Ke({callback:r,elapsedCallback:n=>this.elapsedCallback(n)}),this.selectedEntry=i.find(n=>n.isDefault)||i.filter(n=>!!n.timeout)[0],this.contextMenu=$("<div />").dxContextMenu({dataSource:i,target:t,position:{my:"right top",at:"right bottom"},onItemClick:n=>{n.itemData.timeout?(this.selectedEntry=n.itemData,n.component.selectItem(this.selectedEntry),this.refreshComponent.start(n.itemData.timeout),n.component.hide()):(n.component.hide(),this.refresh())},onHidden:()=>{this.menuIsOpened=!1},onShown:n=>{this.menuIsOpened=!0,n.component.itemsContainer()[0].parentElement.classList.add("iszolea-theme")},itemTemplate:n=>n.text,cssClass:"iszolea-theme"}).appendTo("body").dxContextMenu("instance"),this.contextMenu.selectItem(this.selectedEntry),this.dropDownButton=t.dxButton({text:this.selectedEntry.text,template:(n,s)=>($("<i />").addClass("dx-icon dx-icon-refresh").appendTo(s),$("<span>").addClass("button-with-expand-text").text(n.text).appendTo(s),$("<span>").addClass("button-with-expand-icon isoz-icon-16 isoz-icon-arrow-down-16").appendTo(s),s),elementAttr:{class:"iszolea-md button-with-expand"},onClick:n=>{this.contextMenu.element().width(t.outerWidth()),this.menuIsOpened?this.contextMenu.hide():this.contextMenu.show()}}).dxButton("instance"),this.selectedEntry.timeout>0&&this.refreshComponent.start(this.selectedEntry.timeout)}refresh(){this.refreshComponent.triggerChange()}elapsedCallback(t){this.dropDownButton.option("text",this.selectedEntry.refreshTemplate.replace("%",Math.floor(t/1e3).toString()))}};var sn=3e3,Je=class{constructor(t){this.currentGridMode=null;this.showAllDataInEdit=!1;this.loadingTimeout=null;this.grid=null;this.popover=null;this.gridStateManager=null;this.$gridStateIndicator=null;this.$gridErrorPlaceholder=null;this.$gridTargetElement=null;this.$resetSettingTargetElement=null;this.gridStateIndicatorTimeout=null;this.editWidthEditBoxes=null;this.gridRepaintQueued=!1;this.columnNamesUpdated=!1;this.refreshButton=null;this.gridPositionMarker=t.gridPositionMarker,this.reportParams=t.reportParams,this.allowEditing=t.allowEditing,this.addRefreshButton=t.addRefreshButton,this.gridReportControllerUrl=t.gridReportControllerUrl,this.showHeader=t.showHeader,this.asyncSummaryLoad=t.asyncSummaryLoad}init(){this.currentGridMode||(this.currentGridMode=j.View),this.initInternal()}refresh(){var t;(t=this.grid)==null||t.refresh()}dispose(){var t,r,i,n;(t=this.grid)==null||t.dispose(),this.grid=null,this.currentGridMode=null,(r=this.$resetSettingTargetElement)==null||r.remove(),(i=this.$gridTargetElement)==null||i.remove(),(n=this.popover)==null||n.dispose(),this.popover=null}initInternal(){var r;this.dataLayer=Lr(this.gridReportControllerUrl),this.$gridTargetElement&&this.$gridTargetElement.remove(),this.$gridTargetElement=$("<div />").insertAfter(this.gridPositionMarker),this.gridStateManager=new Wt(this.reportParams.ReportId,this.dataLayer),this.$gridErrorPlaceholder=$("<div />").text("Data loading failed.").addClass("dx-datagrid-nodata").css({zIndex:1}),this.$gridErrorPlaceholder.appendTo(this.gridPositionMarker),this.$gridErrorPlaceholder.hide(),this.reportParams.Details&&(this.popover=ee(".report-details-link",this.reportParams.Details)),this.editWidthEditBoxes=[];let t={width:"100%",dataSource:this.createDataSource(this.reportParams,this.currentGridMode,this.showAllDataInEdit),elementAttr:{class:this.currentGridMode===j.Edit?"edit-mode":"view-mode"},repaintChangesOnly:!0,onToolbarPreparing:i=>{let n=i.toolbarOptions.items;if(this.currentGridMode===j.View&&this.allowEditing){let s=n.filter(u=>u.name==="searchPanel")[0],l=n.indexOf(s),g={widget:"dxButton",location:"after",options:{text:"Switch to Edit Mode",onClick:()=>this.switchToMode(j.Edit),icon:"switch-to-edit-mode",elementAttr:{class:"iszolea-md"}}};n.splice(l,1),n.push(g),n.push(s)}if(this.currentGridMode===j.Edit){let s=n.filter(S=>S.name==="columnChooserButton")[0],l=n.indexOf(s),g={location:"after",template:()=>{let S=$("<div />").css({border:"1px #e0e0e0 solid",padding:"3px 6px",borderRadius:"4px",background:"white"});$("<span />").css({margin:"0 5px 0 0",width:"54px"}).dxSwitch({value:this.showAllDataInEdit,onValueChanged:({value:I})=>{this.showAllDataInEdit=I,this.grid.option("dataSource",this.createDataSource(this.reportParams,this.currentGridMode,this.showAllDataInEdit)),this.grid.refresh()}}).appendTo(S),$("<span />").text("Show all data ").appendTo(S);let T=$("<a />").css({textDecoration:"underline",color:"blue"}).text("(?)").appendTo(S);return $("<div />").text(`If the table contains a lot of columns showing all data can lead to slow page performance when you're editing the grid.
|
|
92
92
|
By default grid shows only first 10 rows in the Edit mode.`).dxPopover({target:T,showEvent:"mouseenter",hideEvent:"mouseleave",position:"top",width:500}).appendTo(S),S}},u={widget:"dxButton",location:"after",options:{text:"Switch to View Mode",onClick:()=>this.switchToMode(j.View),icon:"switch-to-view-mode",elementAttr:{class:"iszolea-md"}}};n.splice(l,1);let m=n.filter(S=>S.name==="exportButton")[0],E=n.indexOf(m);n.splice(E,1),n.push(g),n.push(u),n.push(s);let h={location:"before",template:()=>(this.$gridStateIndicator=$("<div />").addClass("edit-grid-state"),this.updateGridStateIndicator(re.edit),this.$gridStateIndicator)};n.unshift(h)}if(this.addRefreshButton){let s=n.filter(g=>g.name==="refresh")[0],l=n.indexOf(s);n[l]={location:"after",template:()=>{let g=$("<div />");return this.refreshButton=new pe(g,()=>this.refresh()),g}}}},onCellPrepared:({rowType:i,column:n,cellElement:s})=>{if(i==="header"&&!n.command){let l=n.dataField,g=this.gridStateManager.getColumnAdditionalSettings(l);this.initGridHeaderCell(s,g),this.currentGridMode===j.Edit&&this.initGridHeaderCellEditPanel(n,s,g)}},onContentReady:i=>{let n=i.component,s=n.state();if(!this.columnNamesUpdated)this.updateColumnNaming(s);else return;if(window.setTimeout(()=>n.endCustomLoading()),this.currentGridMode!==j.Edit)return;this.gridStateManager.checkNewColumns(s).forEach(u=>i.component.columnOption(u,"visible",!1)),this.gridStateManager.getColumnCaptions().forEach(u=>{u.caption&&n.columnOption(u.dataField,"caption")!==u.caption&&n.columnOption(u.dataField,"caption",u.caption)})},stateStoring:{enabled:!0,type:"custom",customLoad:()=>this.gridStateManager.load(this.currentGridMode===j.Edit,i=>{let n=this.grid.state();n.columns=n.columns.filter(s=>i.indexOf(s.dataField)<0),this.grid.state(n)}),customSave:i=>this.saveGridState(i)},filterRow:{visible:this.currentGridMode===j.View,applyFilter:"onClick"},headerFilter:{visible:this.currentGridMode===j.View},searchPanel:{visible:this.currentGridMode===j.View},errorRowEnabled:!1,allowColumnResizing:!0,sorting:{mode:"multiple"},groupPanel:{visible:!0},grouping:{autoExpandAll:!1},allowColumnReordering:this.currentGridMode===j.Edit,columnChooser:{enabled:this.currentGridMode===j.Edit},showColumnHeaders:!0,keyboardNavigation:{enabled:!1},showBorders:!0,paging:{pageSize:50,enabled:!0},remoteOperations:!0,summary:this.reportParams.TotalSummaryColumn?{totalItems:[{column:this.reportParams.TotalSummaryColumn,summaryType:"count"}]}:void 0,onEditorPreparing(i){if(i.parentType==="filterRow"){let n=()=>i.element.find(".dx-apply-button").trigger("dxclick");i.editorOptions.onEnterKey=n,i.editorOptions.onFocusOut=n}if(i.parentType==="searchPanel"){let n=s=>{i.component.searchByText(s.component.option("value"))};i.editorOptions.onValueChanged=void 0,i.editorOptions.onEnterKey=n,i.editorOptions.onFocusOut=n}}};return this.grid=V(this.$gridTargetElement,{options:t,exportFileName:this.reportParams.Name,title:this.showHeader?this.reportParams.Name:null,headerDescription:this.showHeader?this.reportParams.Details:null,asyncSummaryLoad:this.asyncSummaryLoad}),(r=this.$resetSettingTargetElement)==null||r.remove(),this.currentGridMode===j.Edit&&(this.$resetSettingTargetElement=$("<span />").css({float:"right",position:"relative",bottom:"8px"}).addClass("iszolea-md").dxButton({text:"Reset settings",onClick:()=>this.resetSettings(),icon:"reset-grid-settings"}).appendTo("footer")),this.grid}updateGridStateIndicator(t){Object.keys(re).forEach(i=>this.$gridStateIndicator.removeClass(re[i])),this.$gridStateIndicator.addClass(t),this.gridStateIndicatorTimeout&&window.clearTimeout(this.gridStateIndicatorTimeout),t===re.saved&&(this.gridStateIndicatorTimeout=window.setTimeout(()=>{this.updateGridStateIndicator(re.edit)},sn));let r="";switch(t){case re.edit:r="Edit mode";break;case re.saved:r="Saved";break;case re.saving:r="Saving";break}this.$gridStateIndicator.attr("title",r)}updateColumnNaming(t){t.columns&&t.columns.forEach(r=>{/[^a-zA-Z0-9_]/.test(r.dataField)&&this.grid.columnOption(r.dataField,"calculateCellValue",i=>i[r.dataField])}),this.columnNamesUpdated=!0}createDataSource(t,r,i){let n=this.dataLayer.getGridDataSource(t,r,i),s=new DevExpress.data.DataSource({store:n,onChanged:r===j.View?void 0:()=>{this.columnNamesUpdated=!1},onLoadError:l=>{s.isLoaded()||this.$gridErrorPlaceholder.show(),this.grid.endCustomLoading()},onLoadingChanged:l=>{l?(this.$gridErrorPlaceholder.hide(),this.loadingTimeout=setTimeout(()=>{this.grid.beginCustomLoading("Please wait, data loading in progress.")},1e4)):(this.loadingTimeout&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=null),this.grid.endCustomLoading())}});return s}resetSettings(){DevExpress.ui.dialog.confirm("Reset grid settings to default values?","Reset to default?").then(t=>{t&&(this.grid.beginCustomLoading("Loading"),this.gridStateManager.resetSettings().then(r=>{this.grid.state(r),this.grid.option("dataSource",this.createDataSource(this.reportParams,this.currentGridMode,this.showAllDataInEdit)),this.grid.refresh()}))})}switchToMode(t){if(this.currentGridMode===t||t===j.Edit&&!this.allowEditing)return;this.currentGridMode=t;let r=this.grid.option("summary.totalItems[0].column"),i=O(A({},this.reportParams),{TotalSummaryColumn:r||this.reportParams.TotalSummaryColumn});this.reportParams=i,this.grid.dispose(),this.$gridTargetElement.remove(),this.grid=this.initInternal()}saveGridState(t){if(this.currentGridMode!==j.Edit)return;this.columnNamesUpdated=!1;let r=this.gridStateManager.save(t,()=>this.updateGridStateIndicator(re.saving),()=>this.updateGridStateIndicator(re.saved));r&&Object.keys(r).forEach(i=>{let n=this.editWidthEditBoxes[i],s=r[i]==="inherit"?"":r[i];n&&n.option("value")!==s&&n.option("value",s)})}initGridHeaderCellEditPanel(t,r,i){let n=t.dataField,s=r.find(".dx-datagrid-text-content"),l=$("<span />").addClass("column-editor-area").insertAfter(s);s.css("maxWidth","55%");let g=$("<div />").addClass("edit-type-panel").width("100%").appendTo(r),u=$("<div />").addClass("edit-width-panel").width("100%").appendTo(r);g[0].addEventListener("click",p=>{p.preventDefault(),p.stopImmediatePropagation();let v=S.dxSelectBox("instance");v.option("opened")?v.close():v.open()},!0);let m=t.caption,E=$("<span />").dxButton({hint:"Edit column caption",template:(p,v)=>v.append($("<span />").addClass("edit-caption-btn")),onClick:({event:p})=>{p.preventDefault(),p.stopImmediatePropagation(),s.hide(),E.hide(),h.hide();let v=$("<span />").dxTextBox({value:m,elementAttr:{class:"caption-editor"},onEnterKey:D=>{w.blur(),D.event.stopPropagation()},onKeyDown:D=>{D.event.stopPropagation()},onFocusOut:D=>{let _=w.option("value");v.remove(),s.text(_).show(),E.show(),h.show(),m=_,this.gridStateManager.setColumnCaption(n,_),this.saveGridState(this.grid.state())}}).addClass("iszolea-sm").appendTo(l).on("click",D=>{D.stopImmediatePropagation(),D.preventDefault()}),w=v.dxTextBox("instance");w.focus()}}).insertAfter(s),h=$("<span />").dxButton({hint:"Edit column tooltip",template:(p,v)=>v.append($("<span />").addClass("edit-tooltip-btn")),onClick:({event:p})=>{p.preventDefault(),p.stopImmediatePropagation(),s.hide(),E.hide(),h.hide();let v=$("<span />").dxTextBox({value:i&&i.tooltip,text:i&&i.tooltip,placeholder:"Enter column tooltip...",onEnterKey:D=>{w.blur(),D.event.stopPropagation()},onKeyDown:D=>{D.event.stopPropagation()},onFocusOut:()=>{let D=w.option("value");v.remove(),s.show(),E.show(),h.show(),i.tooltip=D,r.attr("title",D),this.saveGridState(this.grid.state())}}).addClass("iszolea-sm").appendTo(l).on("click",D=>{D.stopImmediatePropagation(),D.preventDefault()}),w=v.dxTextBox("instance");w.focus()}}).insertAfter(E),S=$("<span />").dxSelectBox({dataSource:Be,value:t.dataType||"default",placeholder:"Select column type...",onValueChanged:({value:p})=>{this.grid.columnOption(n,"dataType",p)}}).addClass("iszolea-sm").appendTo(g),T=t.width?t.width.toString():"",I=p=>{let v=p.component.option("value");(!v||v==="inherit")&&(v=""),(!T||T==="inherit")&&(T=""),v!==T&&(T=v,this.grid.columnOption(n,"width",v||"inherit"),this.gridRepaintQueued||(window.setTimeout(()=>{this.grid.repaint(),this.gridRepaintQueued=!1},100),this.gridRepaintQueued=!0))},y=$("<span />").dxTextBox({text:T==="inherit"?"":T,placeholder:"Set width...",onEnterKey:()=>y.dxTextBox("instance").blur(),onFocusOut:I,onValueChanged:I}).addClass("iszolea-sm").appendTo(u).on("click",p=>{p.stopImmediatePropagation(),p.preventDefault()});this.editWidthEditBoxes[t.visibleIndex]=y.dxTextBox("instance")}initGridHeaderCell(t,r){let i=t.find(".dx-datagrid-text-content"),n=r&&r.tooltip,s=r&&r.caption;t.attr("title",n||void 0),s&&i.text(s)}};var an={subvalues:[],type:"triangleMarker",color:"#8798a5",secondColor:"#e18e92",width:10,isCustomPalette:!1,palette:null,customPalette:["#61a595","Grey","rgb(153, 102, 255)","Navy"]},fe="isoz-subvalueEditorFormGroup",ln=`${fe}__name`,Br=`${fe}__is-bound`,Fr=`${fe}__value`,jr=`${fe}__measure-id`,dn=`${fe}__color`,gn=["rectangleNeedle","triangleNeedle","rangeBar","triangleMarker","textCloud"],pn=["rectangle","circle","rhombus","rangeBar","triangleMarker","textCloud"];var un=["LinearHorizontal","LinearVertical"],zt=["#1db2f5","#f5564a","#97c95c","#ffc720","#eb3573","#a63db8","#6593bc","#faa335","#ff887c"];var Gr,$r,Kt={ownerType:($r=(Gr=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:Gr.Model)==null?void 0:$r.GaugeItem,propertyName:"GaugeSubvaluesSettings",defaultValue:JSON.stringify(an),valueType:"string"},Hr,Wr;(Wr=(Hr=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:Hr.Model)==null||Wr.registerCustomProperty(Kt);function Vr(o){var t,r,i;if(o.dashboardItem instanceof((r=(t=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:t.Model)==null?void 0:r.GaugeItem)){let n=Re(o.dashboardItem),s=o.options;s.subvalues=s.subvalues||[],s.subvalueIndicator=s.subvalueIndicator||{},s.subvalueIndicator.type=n.type,s.subvalueIndicator.width=n.width;let l=!!((i=o.dashboardItem.gauges()[0])==null?void 0:i.targetValue());s.subvalueIndicator.palette=n.subvalues.filter(g=>l||g.key>-1).map(g=>g.color),n.subvalues.forEach(g=>{if(g.key===-1)return;let u=g.isBound?o.itemData.getMeasureValue(g.measureId).getValue():g.value;s.subvalues.push(u)})}}function kr(o){var r,i;let t=o.dashboardItem;t instanceof((i=(r=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:r.Model)==null?void 0:i.GaugeItem)&&o.addSection({title:"Subvalues",items:[{dataField:Kt.propertyName,template(n,s){let l=document.createElement("div");return new DevExpress.ui.dxButton(l,{text:"Edit in Wizard",onClick(){cn(t)}}),l},label:{visible:!1}}]})}function cn(o){let t=document.createElement("div");document.body.appendChild(t);let r={width:"800px",height:"auto",maxHeight:"100%",hideOnOutsideClick:!1,contentTemplate(n){let s=document.createElement("div"),l=mn(o);this._subvaluesForm=new DevExpress.ui.dxForm(s,l);let g=document.createElement("div"),u=yn(o);this._indicatorForm=new DevExpress.ui.dxForm(g,u);let m=$("<div />").append(s,g),E=$("<div />");return E.append(m),E.dxScrollView({width:"100%",height:"100%"}),E},onHidden(){document.body.removeChild(t)},title:"Subvalues Wizard"};new DevExpress.ui.dxPopup(t,r).show()}function Re(o){var i,n;let t=JSON.parse(o.customProperties.getValue(Kt.propertyName));return!!((i=o.gauges()[0])==null?void 0:i.targetValue())&&(!t.subvalues||!t.subvalues.some(s=>s.key===-1))&&t.subvalues.splice(0,0,{key:-1,name:"Target Value",isBound:!1,measureId:"",value:0,color:zt[(((n=t.subvalues)==null?void 0:n.length)||0)%(zt.length-1)]}),t}function Yt(o,t){return o.customProperties.setValue(Kt.propertyName,JSON.stringify(t))}function hn(o,t){let r=$("<div />"),i=$("<div />");r.append(i);let n=null,s=null,l={items:[{location:"before",widget:"dxButton",options:{icon:"add",stylingMode:"text",onClick(h){let S=Re(t),T=S.subvalues.reduce((p,v)=>p<v.key?v.key:p,0)+1,I={key:T,name:`Subvalue ${T}`,isBound:!1,measureId:"",value:0,color:zt[S.subvalues.length%(zt.length-1)]};o.option("formData",I);let y=S.subvalues.filter(p=>p.key===I.key)[0];if(!y)S.subvalues.push(I);else{let p=S.subvalues.indexOf(y);S[p]=I}Yt(t,S),s.reload(),s.option("selectedItem",S.subvalues[S.subvalues.length-1])}}}]},g=h=>{n&&n.option("disabled",!h)},u=new DevExpress.ui.dxToolbar(i,l);o.element().find(`.${fe}`).css("display","none");let m={dataSource:new DevExpress.data.DataSource({load:()=>Re(t).subvalues,remove:()=>{}}),displayExpr:"name",height:"200px",keyExpr:"key",noDataText:"Add a Subvalue",allowItemDeleting:!0,itemDeleteMode:"static",selectionMode:"single",onContentReady(h){g(!!h.component.option("selectedItem"))},onItemRendered(h){if(h.itemData.key===-1){let T=h.itemElement[0].getElementsByClassName("dx-list-static-delete-button-container")[0];T.style.display="none"}},onSelectionChanged(h){g(!!h.component.option("selectedItem"));let S=h.component.option("selectedItem");o.option("formData",S);let T=o.element().find(`.${fe}`).css("display")==="block",I=!!S;(!T&&I||T&&!I)&&o.element().find(`.${fe}`).css("display",I?"block":"none")},onItemDeleted:h=>{let S=Re(t),T=h.itemData.key,I=S.subvalues.indexOf(S.subvalues.filter(y=>y.key===T)[0]);I>=0&&(S.subvalues.splice(I,1),Yt(t,S)),s.reload(),s.option("selectedItem",S.subvalues[S.subvalues.length-1])}},E=$("<div />");return r.append(E),s=new DevExpress.ui.dxList(E,m),[r,s,u]}function mn(o){let t=null,r=i=>{let n=i.getEditor("value"),s=i.getEditor("measureId"),l=i.getEditor("name"),g=i.option("formData").isBound,u=i.option("formData").key===-1;n&&n.option("disabled",g),s&&s.option("disabled",!g),i.element().find(`.${Br}`).css("display",u?"none":"flex"),i.element().find(`.${Fr}`).css("display",u?"none":"flex"),i.element().find(`.${jr}`).css("display",u?"none":"flex"),l&&l.option("disabled",u)};return{formData:null,colCount:2,items:[{itemType:"group",caption:"Subvalues items",template:i=>{let[n,s]=hn(i.component,o);return t=s,n}},{name:"subvalueEditor",cssClass:fe,itemType:"group",caption:"Item options",items:[{dataField:"name",cssClass:ln,editorType:"dxTextBox",editorOptions:{valueChangeEvent:"keyup"}},{dataField:"isBound",cssClass:Br,editorType:"dxRadioGroup",editorOptions:{displayExpr:"text",valueExpr:"value",layout:"horizontal",items:[{text:"Unbound",value:!1},{text:"Bound",value:!0}]},label:{text:"Type"}},{dataField:"value",cssClass:Fr,editorType:"dxNumberBox",label:{text:"Value"},editorOptions:{showSpinButtons:!0}},{dataField:"measureId",cssClass:jr,editorType:"dxSelectBox",label:{text:"Hidden measures"},editorOptions:{displayExpr:"text",valueExpr:"value",items:o.hiddenMeasures().map(i=>({text:fn(i),value:i.uniqueName()}))}},{name:"color",cssClass:dn,dataField:"color",editorType:"dxColorBox",label:{text:"Color"}}]}],onContentReady(i){r(i.component)},onFieldDataChanged(i){let n=i.component.option("formData"),s=Re(o),l=s.subvalues.filter(g=>g.key===n.key)[0];s.subvalues[s.subvalues.indexOf(l)]=n,Yt(o,s),l&&l.name!==n.name&&t&&t.repaint(),r(i.component)}}}function fn(o){if(o.name())return o.name();let t=o.dataMember();return o.summaryType&&o.summaryType()&&(t+=` (${o.summaryType()})`),t}function yn(o){let t=o.viewType(),r=un.some(i=>i===t)?pn:gn;return{formData:Re(o)||null,items:[{caption:"Indicator options",itemType:"group",items:[{dataField:"type",editorType:"dxSelectBox",label:{text:"Type"},editorOptions:{displayExpr:"text",valueExpr:"value",items:r.map(i=>({text:i,value:i}))}},{dataField:"width",editorType:"dxNumberBox",editorOptions:{showSpinButtons:!0},label:{text:"Width"}}]}],onFieldDataChanged(i){let n=i.component.option("formData"),s=Re(o);s.width=n.width,s.type=n.type,Yt(o,s)}}}function zr(o){this.name="GaugeSubvalues",this.start=()=>{let t=o.findExtension("viewer-api");t&&t.on("itemWidgetOptionsPrepared",Vr);let r=o.findExtension("item-options-panel");r&&r.on("customizeSections",kr)},this.stop=()=>{let t=o.findExtension("viewer-api");t&&t.off("itemWidgetOptionsPrepared",Vr);let r=o.findExtension("item-options-panel");r&&r.off("customizeSections",kr)}}var vn="DASHBOARD_MODE_KEY",qe=class{constructor(t){this.refreshButton=null;this.dashboard=null;this.popover=null;this.$dashboardContainer=t.$dashboardContainer,this.addRefreshButton=t.addRefreshButton,this.reportParams=t.reportParams,this.reportId=t.reportParams.ReportId,this.permissions=t.permissions,this.urls=t.urls}init(){let t=this.reportParams.ReportId&&this.reportParams.ReportId.toString();DevExpress.Dashboard.ResourceManager.embedBundledResources();let r=this.permissions.AllowEditing&&window.sessionStorage.getItem(this.getSessionKey())||"Viewer";if(this.reportParams.Details&&(this.popover=ee(".report-details-link",this.reportParams.Details)),this.dashboard=new DevExpress.Dashboard.DashboardControl(this.$dashboardContainer[0],{workingMode:r,initialDashboardId:t,endpoint:this.urls.EndPoint,ajaxRemoteService:{headers:this.reportParams.Token?{token:this.reportParams.Token}:void 0},onDashboardInitializing:i=>{i.component.registerExtension(new zr(i.component)),t!==i.dashboardId&&(t=i.dashboardId,window.location.href=encodeURI(this.urls.PreviewUrl+i.dashboardId))},onBeforeRender:i=>{i.component.registerExtension(new DevExpress.Dashboard.Designer.TextBoxItemEditorExtension(i.component))},extensions:{"data-source-wizard":{enableCustomSql:!0},"dashboard-export":{allowExportDashboardItems:!0},"data-inspector":{allowInspectAggregatedData:!0,allowInspectRawData:!0,onGridInitialized:i=>{i.component.option("export.enabled",!0)}}}}),this.dashboard.render(),this.permissions.AllowEditing){let i=$(".switch-mode-btn").dxButton({text:r==="Viewer"?"Switch to Designer":"Switch to Viewer",onClick:()=>{r=r==="Viewer"?"Designer":"Viewer",window.sessionStorage.setItem(this.getSessionKey(),r),r==="Viewer"?(this.dashboard.switchToViewer(),i.option("text","Switch to Designer")):(this.dashboard.switchToDesigner(),i.option("text","Switch to Viewer"))}}).addClass("iszolea-md").dxButton("instance");Sn(this.dashboard)}this.addRefreshButton&&(this.refreshButton=new pe($(".report-refresh-button"),()=>this.refresh()))}dispose(){var t,r;(t=this.dashboard)==null||t.dispose(),this.dashboard=null,(r=this.popover)==null||r.dispose(),this.popover=null}getSessionKey(){return vn+this.reportId}refresh(){var t;(t=this.dashboard)==null||t.refresh()}};function Sn(o){let t=["create-dashboard","open-dashboard"],r=o.findExtension("toolbox");t.forEach(i=>{r.menuItems().filter(s=>s.id===i)[0]&&r.removeMenuItem(i)})}var Jt=(l=>(l[l.Key=1]="Key",l[l.Title=2]="Title",l[l.Start=3]="Start",l[l.End=4]="End",l[l.ParentId=5]="ParentId",l[l.Progress=6]="Progress",l))(Jt||{}),Qe=class{constructor(t){this.SWITCH_TO_DESIGNER_TEXT="Switch to Designer";this.SWITCH_TO_VIEWER_TEXT="Switch to Viewer";this.CHART_STORAGE_MODE_KEY="CHART_STORAGE_MODE_KEY";this.hasForm=!1;this.chart=null;this.chartPositionMarker=t.chartPositionMarker,this.reportParams=t.reportParams,this.addRefreshButton=t.addRefreshButton,this.allowEditing=t.allowEditing,this.ganttReportControllerUrl=t.ganttReportControllerUrl,this.showHeader=t.showHeader,this.mode=window.sessionStorage.getItem(this.getSessionKey())||"Viewer"}init(){let t={DbConnectionName:"",TableName:"",TaskColumns:[],ResourcesTableName:"",ResourcesTextField:"",ResourcesKeyField:"",ResourceAssignmentTaskIdField:"",ResourceAssignmentResourceIdField:"",ResourceAssignmentKeyField:"",ResourceAssignmentTableName:"",DependenciesKeyField:"",DependenciesPredecessorIdField:"",DependenciesSuccessorIdField:"",DependenciesTableName:"",DependenciesTypeField:"",EndDateRange:void 0,StartDateRange:void 0,TaskTitlePosition:"outside",ScaleType:"auto"},r=[],i=!1;x(`${this.ganttReportControllerUrl}/GetGanttChartSettings`,"post",{id:this.reportParams.ReportId},!1,{dataType:"json"}).then(n=>{if(t=n,!t.DbConnectionName||!t.TableName||!t.TaskColumns||!t.TaskColumns.length){t.TaskColumns=[];for(let s=0;s<6;s++)t.TaskColumns.push({taskColumnType:Jt[Jt[s+1]]});this.setupForm(t,!0);return}return n.TaskColumns.forEach(s=>{r[s.taskColumnType-1]=s}),t.TaskColumns=r,i=!0,this.fetchData()}).then(n=>{if(!i)return!1;this.mode==="Designer"&&this.setupForm(t,!i),this.setupChart(r,t),this.updateData(n.Data)}).catch(()=>{this.setupForm(t,!0)}),this.allowEditing&&this.initSwitchModeButton(),this.reportParams.Details&&(this.popover=ee(".diagram-details-link",this.reportParams.Details))}fetchData(){return x(`${this.ganttReportControllerUrl}/GetGanttChartData`,"post",{id:this.reportParams.ReportId},!1,{dataType:"json"})}initSwitchModeButton(){let t=$(".switch-mode-btn").dxButton({text:this.mode==="Viewer"?this.SWITCH_TO_DESIGNER_TEXT:this.SWITCH_TO_VIEWER_TEXT,onClick:()=>{this.mode=this.mode==="Viewer"?"Designer":"Viewer",window.sessionStorage.setItem(this.getSessionKey(),this.mode),t.option("text",this.mode==="Viewer"?this.SWITCH_TO_DESIGNER_TEXT:this.SWITCH_TO_VIEWER_TEXT),window.location.reload()}}).addClass("iszolea-md").dxButton("instance")}setupForm(t,r){this.hasForm=!0;let i=[{dataField:"DbConnectionName",caption:"Connection Name"},{dataField:"TableName",caption:"Table"}];for(let s=1;s<7;s++)i.push({itemType:"group",colCount:8,items:[{dataField:`TaskColumns[${s-1}].taskColumnType`,visible:!1},{dataField:`TaskColumns[${s-1}].dataField`,label:{location:"top",text:`${Jt[s]} Data Field`}},{dataField:`TaskColumns[${s-1}].caption`,label:{location:"top",text:"Caption"}},{dataField:`TaskColumns[${s-1}].dataType`,label:{location:"top",text:"DataType"}},{dataField:`TaskColumns[${s-1}].width`,label:{location:"top",text:"Width"},editorType:"dxNumberBox"},{dataField:`TaskColumns[${s-1}].sortIndex`,label:{location:"top",text:"SortIndex"},editorType:"dxNumberBox"},{dataField:`TaskColumns[${s-1}].sortOrder`,label:{location:"top",text:"SortOrder"},editorType:"dxSelectBox",editorOptions:{items:["asc","desc"],showClearButton:!0}},{dataField:`TaskColumns[${s-1}].visible`,label:{location:"top",text:"Visible"},editorType:"dxCheckBox"},{dataField:`TaskColumns[${s-1}].visibleIndex`,label:{location:"top",text:"VisibleIndex"}}]});i.push({itemType:"group",caption:"Resources",colCount:4,items:[{dataField:"ResourcesTableName",label:{location:"top",text:"Table"},colSpan:2},{dataField:"ResourcesKeyField",label:{location:"top",text:"Key Field"}},{dataField:"ResourcesTextField",label:{location:"top",text:"Text Field"}}]}),i.push({itemType:"group",caption:"Resource Assignments",colCount:5,items:[{dataField:"ResourceAssignmentTableName",label:{location:"top",text:"Table"},colSpan:2},{dataField:"ResourceAssignmentKeyField",label:{location:"top",text:"Key Field"}},{dataField:"ResourceAssignmentTaskIdField",label:{location:"top",text:"Task Id Field"}},{dataField:"ResourceAssignmentResourceIdField",label:{location:"top",text:"Resource Id Field"}}]}),i.push({itemType:"group",caption:"Dependencies",colCount:6,items:[{dataField:"DependenciesTableName",label:{location:"top",text:"Table"},colSpan:2},{dataField:"DependenciesKeyField",label:{location:"top",text:"Key Field"}},{dataField:"DependenciesPredecessorIdField",label:{location:"top",text:"Predecessor Id Field"}},{dataField:"DependenciesSuccessorIdField",label:{location:"top",text:"Successor Id Field"}},{dataField:"DependenciesTypeField",label:{location:"top",text:"Dependency Type Field"}}]}),i.push({itemType:"button",buttonOptions:{text:"Save",onClick:()=>this.saveFormData(n).then(()=>window.location.reload())}}),i.push({itemType:"group",caption:"Appearance",colCount:5,items:[{dataField:"TaskTitlePosition",label:{location:"top"},editorType:"dxSelectBox",editorOptions:{items:["inside","outside","none"]}},{dataField:"ScaleType",label:{location:"top"},editorType:"dxSelectBox",editorOptions:{items:["auto","minutes","hours","days","weeks","months","quarters","years"]}},{dataField:"StartDateRange",label:{location:"top"},editorType:"dxDateBox",editorOptions:{showClearButton:!0}},{dataField:"EndDateRange",label:{location:"top"},editorType:"dxDateBox",editorOptions:{showClearButton:!0}},{itemType:"button",buttonOptions:{text:"Update",onClick:()=>{if(!this.chart)return;let s=n.option("formData");this.chart.beginUpdate(),this.chart.option({scaleType:s.ScaleType,taskTitlePosition:s.TaskTitlePosition,startDateRange:s.StartDateRange?new Date(s.StartDateRange):null,endDateRange:s.EndDateRange?new Date(s.EndDateRange):null}),this.chart.endUpdate(),this.chart.repaint(),this.saveFormData(n)}}}]});let n=$("<div />").css("padding",20).insertAfter(this.chartPositionMarker).dxForm({width:"100%",height:r?"calc(100% - 50px)":"calc(50% - 50px)",formData:t,scrollingEnabled:!0,items:i}).dxForm("instance")}saveFormData(t){let r=t.option("formData");return r.TaskColumns&&(r.TaskColumns=r.TaskColumns.filter(i=>!!i.dataField)),x(`${this.ganttReportControllerUrl}/UpdateGanttChartSettings`,"post",{id:this.reportParams.ReportId,settings:JSON.stringify(t.option("formData"))},!0,{dataType:"json"})}setupChart(t,r){let i=0,n=!1,s={};t.forEach(l=>{l.taskColumnType&&(s[l.taskColumnType]=l.dataField)}),t.filter(l=>l.visible).forEach(l=>{let g=parseInt(l.width);isNaN(g)?n=!0:i+=g}),this.chart=this.chartPositionMarker.dxGantt({width:"100%",height:this.hasForm?"50%":"calc(100% - 60px)",firstDayOfWeek:6,taskListWidth:!n&&i>0?i:void 0,toolbar:{items:["zoomIn","zoomOut","separator","taskDetails"]},editing:{enabled:!0},startDateRange:r.StartDateRange?new Date(r.StartDateRange):void 0,endDateRange:r.EndDateRange?new Date(r.EndDateRange):void 0,scaleType:r.ScaleType,taskTitlePosition:r.TaskTitlePosition,columns:t.filter(l=>l.visible).map(l=>({dataField:l.dataField,dataType:l.dataType,width:l.width,visibleIndex:l.visibleIndex,sortIndex:l.sortIndex,sortOrder:l.sortOrder&&(l.sortOrder==="asc"?"asc":"desc"),caption:l.caption||void 0})),tasks:{keyExpr:s[1],startExpr:s[3],endExpr:s[4],parentIdExpr:s[5],progressExpr:s[6],titleExpr:s[2]},dependencies:{keyExpr:r.DependenciesKeyField,predecessorIdExpr:r.DependenciesPredecessorIdField,successorIdExpr:r.DependenciesSuccessorIdField,typeExpr:r.DependenciesTypeField},resources:{keyExpr:r.ResourcesKeyField,textExpr:r.ResourcesTextField},resourceAssignments:{keyExpr:r.ResourceAssignmentKeyField,resourceIdExpr:r.ResourceAssignmentResourceIdField,taskIdExpr:r.ResourceAssignmentTaskIdField}}).dxGantt("instance"),this.addRefreshButton&&new pe($(".report-refresh-button"),()=>this.refresh())}updateData(t){!this.chart||(this.chart.option("tasks.dataSource",t.Tasks),this.chart.option("dependencies.dataSource",t.Dependencies),this.chart.option("resources.dataSource",t.Resources),this.chart.option("resourceAssignments.dataSource",t.ResourceAssignments))}refresh(){this.fetchData().then(t=>{this.updateData(t.Data)})}dispose(){var t;(t=this.chart)==null||t.dispose(),this.chart=null}getSessionKey(){return this.CHART_STORAGE_MODE_KEY+this.reportParams.ReportId}};var Yr="Switch to Designer",Kr="Switch to Viewer",bn="reportMode",Me="customCurrentUrl",qt=window.ko,Xe=class{constructor(t){this.popover=null;this.$reportContainer=t.$reportContainer,this.reportParams=t.reportParams,this.allowEditing=t.allowEditing,this.designerModelUrl=t.designerModelUrl,this.reportId=t.reportParams.ReportId}init(){let t=window.sessionStorage.getItem(this.getSessionKey())||"Viewer",r=null;this.reportParams.Details&&(this.popover=ee(".report-details-link",this.reportParams.Details)),this.allowEditing&&(r=$(".switch-mode-btn").dxButton({text:t==="Viewer"?Yr:Kr,onClick:()=>{t=t==="Viewer"?"Designer":"Viewer",window.sessionStorage.setItem(this.getSessionKey(),t),this.switchMode(t,r)}}).addClass("iszolea-md").dxButton("instance")),this.createReportDesigner(this.$reportContainer,this.designerModelUrl,"dxReportDesigner",this.reportParams.ReportId.toString(),i=>{setTimeout(()=>{this.updateSwitchModeButton(t,r)})},t==="Viewer"),window.addEventListener("beforeunload",i=>{dxReportDesigner&&dxReportDesigner.GetDesignerModel()&&dxReportDesigner.GetDesignerModel().isDirty&&(i.preventDefault(),i.returnValue="The report document is not saved. Are you sure you want to leave the page?")})}dispose(){var t;(t=this.popover)==null||t.dispose(),this.popover=null}refresh(){}initializePreview(t){let r=t.designerModel.reportPreviewModel.reportPreview,i=DevExpress.Reporting.Designer.Internal.ReportPreviewService;r.initialize(i.initializePreview(t.designerModel.model()))}switchMode(t,r){t==="Viewer"?(dxReportDesigner.designerModel.reportPreviewModel.reportPreview.previewVisible=!0,this.initializePreview(dxReportDesigner)):(dxReportDesigner.designerModel.reportPreviewModel.reportPreview.previewVisible=!1,dxReportDesigner.designerModel.reportPreviewModel.reportPreview.deactivate()),this.updateSwitchModeButton(t,r)}updateSwitchModeButton(t,r){r&&r.option("text",t==="Viewer"?Yr:Kr)}createReportDesigner(t,r,i,n,s,l){let g=t.attr("data-bind","dxReportDesigner: designerOptions").addClass("report-designer"),u={reportUrl:n,requestOptions:{getDesignerModelAction:r},callbacks:{BeforeRender:m=>{window[i]=m,l&&(m.designerModel.reportPreviewModel.reportPreview.previewVisible=!0),s(m)},CustomizeMenuActions:this.CustomizeMenuActions,PreviewCustomizeMenuActions:this.PreviewCustomizeMenuActions,ReportOpened:(m,E)=>{l&&this.initializePreview(m),this.ReportOpened(m,E)},ReportTabClosed:this.ReportTabClosed}};return qt.applyBindings({designerOptions:u},g[0]),g}PreviewCustomizeMenuActions(t,r){let i=r.GetById(DevExpress.Reporting.Viewer.ActionId.Design);i&&(i.visible=!1)}CustomizeMenuActions(t,r){let i=DevExpress.Reporting.Designer.Actions.ActionId,n=[i.Save],s=[i.NewReport,i.NewReportViaWizard,i.OpenReport,i.Preview,i.SaveAs,i.Exit];n.forEach(u=>{let m=r.GetById(u);m&&m.container==="menu"&&(m.container=void 0)}),s.forEach(u=>{let m=r.GetById(u);m&&(m.visible=!1)});let l=r.GetById(DevExpress.Reporting.Designer.Actions.ActionId.Save),g=l.clickAction;l.clickAction=()=>{t.GetCurrentTab().url(qt.unwrap(t[Me])),g()}}ReportOpened(t,r){t[Me]=t[Me]||qt.observable(),t[Me](r.Url)}ReportTabClosed(t,r){t[Me]=t[Me]||qt.observable(),t[Me](null)}getSessionKey(){return bn+this.reportId}};var Ze=class{constructor(t){this.SWITCH_TO_DESIGNER_TEXT="Switch to Designer";this.SWITCH_TO_VIEWER_TEXT="Switch to Viewer";this.DIAGRAM_STORAGE_MODE_KEY="DIAGRAM_STORAGE_MODE_KEY";this.$container=t.$container,this.reportParams=t.reportParams,this.allowEditing=t.allowEditing,this.addRefreshButton=t.addRefreshButton,this.diagramControllerUrl=t.diagramControllerUrl,this.mode=window.sessionStorage.getItem(this.getSessionKey())||"Viewer"}init(){this.createDiagramControl(),this.initDiagram(),this.allowEditing&&this.initSwitchModeButton(),this.reportParams.Details&&(this.popover=ee(".diagram-details-link",this.reportParams.Details))}dispose(){var t;this.diagram.dispose(),(t=this.popover)==null||t.dispose(),this.diagram=null}refresh(){this.diagram&&x(`${this.diagramControllerUrl}?id=${this.reportParams.ReportId}`,"get").then(t=>{this.diagram.import(JSON.stringify(t),!1),this.diagram.option("hasChanges",!1)})}createDiagramControl(){this.diagram=this.$container.dxDiagram({historyToolbar:{visible:!0,commands:["separator","undo","redo","separator",{name:"save",text:"Save",icon:"save"}]},onCustomCommand:t=>{switch(t.name){case"save":this.saveReport(t.component.export());break}},fullScreen:!1,readOnly:this.mode==="Viewer"}).dxDiagram("instance")}initDiagram(){x(`${this.diagramControllerUrl}?id=${this.reportParams.ReportId}`,"get").then(t=>{this.diagram.import(JSON.stringify(t)),this.diagram.option("hasChanges",!1)}),this.addRefreshButton&&(this.refreshButton=new pe($(".report-refresh-button"),()=>this.refresh())),window.addEventListener("beforeunload",t=>{this.diagram.option("hasChanges")&&(t.returnValue="The document is not saved. Are you sure you want to leave the page?")})}initSwitchModeButton(){let t=$(".switch-mode-btn").dxButton({text:this.mode==="Viewer"?this.SWITCH_TO_DESIGNER_TEXT:this.SWITCH_TO_VIEWER_TEXT,onClick:()=>{this.mode=this.mode==="Viewer"?"Designer":"Viewer",window.sessionStorage.setItem(this.getSessionKey(),this.mode),this.diagram.option("readOnly",this.mode==="Viewer"),t.option("text",this.mode==="Viewer"?this.SWITCH_TO_DESIGNER_TEXT:this.SWITCH_TO_VIEWER_TEXT)}}).addClass("iszolea-md").dxButton("instance")}async saveReport(t){let r=this.reportParams.ReportId;await x(this.diagramControllerUrl,"post",{id:r,source:t},!0),this.diagram.option("hasChanges",!1)}getSessionKey(){return this.DIAGRAM_STORAGE_MODE_KEY+this.reportParams.ReportId}};var Qt=class{constructor(t){this.reports=[];this.options=t.reportParams,this.$rootElement=t.$container,this.defaultReportSettings=t.defaultReportSettings}init(){this.renderContent()}dispose(){if(this.reports){for(this.reports.forEach(t=>{t.dispose()});this.reports.length;)this.reports.pop();this.reports=null}this.refreshTimer&&(this.refreshTimer.dispose(),this.refreshTimer=null)}refresh(){this.reports&&this.reports.forEach(t=>{t.refresh()})}renderContent(){let t=0,r=null,i=this.options.Reports.length,n=()=>{r=window.setTimeout(()=>{let g=t+1;g>=i&&(g=0),this.dxGallery.goToItem(g,!0)},this.options.DelaySec*1e3)},s=$("<div />").attr({class:"slideshow-report"}).appendTo(this.$rootElement),l=$("<div />",{class:"slideshow-report__gallery"}).dxGallery({loop:!1,dataSource:this.options.Reports,slideshowDelay:0,showNavButtons:!1,showIndicator:!0,stretchImages:!0,height:"100%",onInitialized:()=>n(),onSelectionChanged:g=>{t=g.component.option("selectedIndex"),window.clearTimeout(r),n()},itemTemplate:(g,u,m)=>{m.attr({class:"slideshow-report__gallery-item"}).height("100%");let E=$("<div />",{class:"slideshow-report__slide-content"}).height("100%"),h;window.setTimeout(()=>{switch(g.Type){case 1:let S=$("<div />",{class:"report-position"});S.appendTo(E),h=new qe(O(A({},this.defaultReportSettings[1]||{}),{$dashboardContainer:S,reportParams:g})),E.find("dashboard-title").hide(),E.find(".dx-dashboard-layout-container").css({top:0});break;case 0:let T=$("<div />",{class:"slideshow-report__grid-position"});E.addClass("iszolea-theme").addClass("panel-body"),T.appendTo(E),h=new Je(O(A({},this.defaultReportSettings[0]||{}),{gridPositionMarker:T,reportParams:g}));break;case 5:h=new Ae(O(A({},this.defaultReportSettings[5]||{}),{$container:E,reportParams:g}));break;case 3:let I=$("<div />",{class:"report-position"});I.appendTo(E),h=new Xe(O(A({},this.defaultReportSettings[3]||{}),{$reportContainer:I,reportParams:g}));break;case 4:let y=$("<div />",{class:"report-position"});y.appendTo(E),h=new Ze(O(A({},this.defaultReportSettings[4]||{}),{$container:y,reportParams:g}));break;case 7:let p=$("<div />",{class:"slideshow-report__grid-position"});E.addClass("iszolea-theme").addClass("panel-body"),p.appendTo(E),h=new Qe(O(A({},this.defaultReportSettings[7]||{}),{chartPositionMarker:p,reportParams:g}));break;case 2:case 6:break}h&&(h.init(),this.reports.push(h))},500),E.appendTo(m)}});this.dxGallery=l.dxGallery("instance"),l.appendTo(s),this.refreshTimer=new Ke({callback:()=>this.refresh(),elapsedCallback:g=>{}}),this.refreshTimer.start(this.options.RefreshSec*1e3)}};var Xt=class{constructor(t){this.STORAGE_MODE_KEY="CDM_STORAGE_MODE_KEY";this.SWITCH_TO_DESIGNER_TEXT="Switch to Designer";this.SWITCH_TO_VIEWER_TEXT="Switch to Viewer";this.options=t;let r=`/${t.baseUrl}/${t.reportParams.ReportId}`;this.getDataUrl=`${r}/Get`,this.getTableFieldsUrl=`${r}/Configurator/GetTableFieldList`,this.saveConfigurationUrl=`${r}/Configurator/Save`,this.getConfigurationUrl=`${r}/Configurator/Get`,this.mode=window.sessionStorage.getItem(this.getSessionKey())||"Viewer",this.loadPanel=$("<div />").dxLoadPanel({message:"Loading..."}).dxLoadPanel("instance"),$(document.body).append(this.loadPanel.element())}getSessionKey(){return this.STORAGE_MODE_KEY+this.options.reportParams.ReportId}renderContent(){this.options.$container.empty().removeAttr("style"),this.mode==="Viewer"?this.renderViewer():this.renderDesigner()}initSwitchModeButton(){let t=$(".switch-mode-btn").dxButton({text:this.mode==="Viewer"?this.SWITCH_TO_DESIGNER_TEXT:this.SWITCH_TO_VIEWER_TEXT,onClick:()=>{this.mode=this.mode==="Viewer"?"Designer":"Viewer",window.sessionStorage.setItem(this.getSessionKey(),this.mode),t.option("text",this.mode==="Viewer"?this.SWITCH_TO_DESIGNER_TEXT:this.SWITCH_TO_VIEWER_TEXT),this.renderContent()}}).addClass("iszolea-md").dxButton("instance")}initScheduler(){return this.options.$container.dxScheduler({height:"calc(100% - 49px)",editing:!1,firstDayOfWeek:1,startDayHour:8,endDayHour:18,views:["month","week","day"]}).dxScheduler("instance")}initForm(){return this.options.$container.dxForm({height:"100%",elementAttr:{style:"max-width: 400px; margin: 0 auto"},labelLocation:"top",items:[{itemType:"group",caption:"Fields mapping",items:[{dataField:"Title",editorType:"dxSelectBox",validationRules:[{type:"required"}],editorOptions:{}},{dataField:"StartDate",editorType:"dxSelectBox",validationRules:[{type:"required"}],editorOptions:{}},{dataField:"EndDate",editorType:"dxSelectBox",validationRules:[{type:"required"}],editorOptions:{}}]},{itemType:"group",caption:"View settings",items:[{dataField:"DefaultView",editorType:"dxSelectBox",editorOptions:{dataSource:["Month","Week","Day"]}}]},{itemType:"button",buttonOptions:{text:"Save",type:"default",onClick:()=>this.saveFormHandler()}}]}).dxForm("instance")}async renderViewer(){try{this.loadPanel.option("message","Loading..."),this.loadPanel.show(),this.scheduler=this.initScheduler(),this.scheduler.option("dataSource",[]);let t=await Promise.all([this.getConfiguration(),this.getDate()]),r=t[0],i=t[1];this.scheduler.option("dataSource",i),this.scheduler.option("currentView",((r==null?void 0:r.DefaultView)||"week").toLowerCase()),this.scheduler.option("currentDate",new Date)}finally{this.loadPanel.hide()}}async renderDesigner(){try{this.loadPanel.option("message","Loading..."),this.loadPanel.show(),this.form=this.initForm();let t=await Promise.all([this.getConfiguration(),this.getTableFields()]),r=t[0],i=t[1].map(s=>s.Name),n=t[1].filter(s=>s.Type==="datetime").map(s=>s.Name);this.form.option("formData",r),this.form.getEditor("Title").option("dataSource",i),this.form.getEditor("StartDate").option("dataSource",n),this.form.getEditor("EndDate").option("dataSource",n)}finally{this.loadPanel.hide()}}async saveFormHandler(){if(!!this.form.validate().isValid)try{let r=this.form.option("formData");this.loadPanel.option("message","Saving..."),this.loadPanel.show(),await x(this.saveConfigurationUrl,"POST",{data:r},!0)}finally{this.loadPanel.hide()}}async getConfiguration(){return await x(this.getConfigurationUrl)}async getTableFields(){return await x(this.getTableFieldsUrl)}async getDate(){return(await x(this.getDataUrl)).map(r=>O(A({},r),{startDate:new Date(r.startDate),endDate:new Date(r.endDate)}))}init(){this.options.allowEditing&&this.initSwitchModeButton(),this.renderContent()}refresh(){}dispose(){}};var Jr={config:k,Header:Ce,Footer:Ve,NavigationMenu:Ne,UserMenu:De,MenuSwitcher:Le,data:sr,widgets:{notify:P,fullScreen:de,popup:ro,confirm:xo,landing:Ao,accessDenied:Ro,defaultGridObsolete:Dr,defaultTreeList:_r,defaultGrid:V,defaultToolbar:fr,backgroundImageViewer:Ct,imageCropDialog:Do,ImageManager:ke,DocumentManager:Ge,ImageGallery:$e},pages:{AccountSettingsPage:Co},components:{CDM:$o,SessionNotifier:Ho,FileImporter:be,FileUploader:gt},styling:to,helpers:lo,utils:fo,reports:{CDMReportPage:Ae,DiagramReportPage:Ze,GridReportPage:Je,DashboardReportPage:qe,DXReportPage:Xe,SlideshowReportPage:Qt,GanttChartReportPage:Qe,SchedulerReportPage:Xt,gridColumnTypes:Be},business:{LicenceStatus:ot,MenuItemType:Ee,CdmImportFileMode:Fe,FooterIndicatorStatus:vo,GridDataColumnDataType:je}},Rr=Jr;window.IszoleaUI=Jr;})();
|