iszolea-ui 1.2.0 → 1.2.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/dist/js/index.js CHANGED
@@ -10,4 +10,4 @@
10
10
 
11
11
  Do you want to remove these columns from grid settings?
12
12
  `,"Remove redundant columns?").then(a=>{!a||t(n)})})}resetSettings(){return this.gridDataLayer.resetSettings(this.id).then(e=>(this.onDataLoaded(e),e))}onDataLoaded(e){let t=e&&e.columns,i=0;this.stateLoaded=!0,t&&(this.loadedColumns={},t.forEach(o=>{this.loadedColumns[o.dataField]=!0,o.visible&&o.visibleIndex===null&&(o.visibleIndex=i++),Object.keys(o).forEach(a=>{(o[a]===null||o[a]===void 0||o[a]==="")&&delete o[a]});let n=this.additionalColumnsSettings[o.dataField];n?(n.caption=o.caption,n.tooltip=o.tooltip):this.additionalColumnsSettings[o.dataField]={caption:o.caption,tooltip:o.tooltip},delete o.caption,delete o.tooltip})),this.lastColumnSettingsStr=JSON.stringify(e.columns)}};var Qi=(t=>(t[t.View=1]="View",t[t.Edit=2]="Edit",t))(Qi||{}),B=Qi;var qi=r=>{let e={gridResult:`${r}/GridViewResult`,getColumnsByReportId:`${r}/GetDbTableFields`,resetGridSettings:`${r}/ResetGridViewSettings`,updateGridViewSettings:`${r}/UpdateGridViewSettings`,getGridViewSettings:`${r}/GetGridViewSettings`};return{getGridDataSource(t,i,o){return q({loadParams:{id:t.ReportId,appName:t.AppName,gridMode:i,rowsLimit:i===B.Edit&&!o?15:null},loadUrl:e.gridResult,getUserFriendlyErrorMessage:cn})},getColumnsByReportId:t=>b(e.getColumnsByReportId,"post",{id:t},!1,{dataType:"json"}),resetSettings:t=>b(e.resetGridSettings,"post",{id:t},!1,{dataType:"json"}),updateGridViewSettings:(t,i)=>b(e.updateGridViewSettings,"post",{id:t,columnsSettings:JSON.stringify(i.columns)},!1,{dataType:"json"}),getGridViewSettings:t=>b(e.getGridViewSettings,"post",{id:t},!1,{dataType:"json"})}},cn=r=>{switch(r){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 Oe=class{constructor(e){this.activeTimerId=0;this.currentInterval=0;this.elapsedCallback=e.elapsedCallback,this.callback=e.callback}start(e){if(e<=0){this.callback();return}this.lastStateChecked=new Date,this.currentInterval=e;let t=this.activeTimerId=Math.random();if(this.currentInterval<0){this.elapsedCallback(this.currentInterval);return}this.tickTimerFunction(t)}triggerChange(){this.lastStateChecked=new Date,this.callback()}tickTimerFunction(e){if(e!==this.activeTimerId)return;let t=this.currentInterval-(new Date-this.lastStateChecked);t<=0&&(t=this.currentInterval+999,this.callback(),this.lastStateChecked=new Date),this.elapsedCallback(t),setTimeout(()=>this.tickTimerFunction(e),100)}};var mn=[{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(e,t,i=mn){this.menuIsOpened=!1;this.refreshComponent=new Oe({callback:t,elapsedCallback:o=>this.elapsedCallback(o)}),this.selectedEntry=i.find(o=>o.isDefault)||i.filter(o=>!!o.timeout)[0],this.contextMenu=$("<div />").dxContextMenu({dataSource:i,target:e,position:{my:"right top",at:"right bottom"},onItemClick:o=>{o.itemData.timeout?(this.selectedEntry=o.itemData,o.component.selectItem(this.selectedEntry),this.refreshComponent.start(o.itemData.timeout),o.component.hide()):(o.component.hide(),this.refresh())},onHidden:()=>{this.menuIsOpened=!1},onShown:o=>{this.menuIsOpened=!0,o.component.itemsContainer()[0].parentElement.classList.add("iszolea-theme")},itemTemplate:o=>o.text,cssClass:"iszolea-theme"}).appendTo("body").dxContextMenu("instance"),this.contextMenu.selectItem(this.selectedEntry),this.dropDownButton=e.dxButton({text:this.selectedEntry.text,template:(o,n)=>($("<i />").addClass("dx-icon dx-icon-refresh").appendTo(n),$("<span>").addClass("button-with-expand-text").text(o.text).appendTo(n),$("<span>").addClass("button-with-expand-icon isoz-icon-16 isoz-icon-arrow-down-16").appendTo(n),n),elementAttr:{class:"iszolea-md button-with-expand"},onClick:o=>{this.contextMenu.element().width(e.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(e){this.dropDownButton.option("text",this.selectedEntry.refreshTemplate.replace("%",Math.floor(e/1e3).toString()))}};var hn=3e3,Ge=class{constructor(e){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=e.gridPositionMarker,this.reportParams=e.reportParams,this.allowEditing=e.allowEditing,this.addRefreshButton=e.addRefreshButton,this.gridReportControllerUrl=e.gridReportControllerUrl,this.showHeader=e.showHeader}init(){this.currentGridMode||(this.currentGridMode=B.View),this.initInternal()}refresh(){this.grid.refresh()}dispose(){var e,t,i,o;(e=this.grid)==null||e.dispose(),this.grid=null,this.currentGridMode=null,(t=this.$resetSettingTargetElement)==null||t.remove(),(i=this.$gridTargetElement)==null||i.remove(),(o=this.popover)==null||o.dispose(),this.popover=null}initInternal(){var t;this.dataLayer=qi(this.gridReportControllerUrl),this.$gridTargetElement&&this.$gridTargetElement.remove(),this.$gridTargetElement=$("<div />").insertAfter(this.gridPositionMarker),this.gridStateManager=new lt(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=J(".report-details-link",this.reportParams.Details)),this.editWidthEditBoxes=[];let e={dataSource:this.createDataSource(this.reportParams,this.currentGridMode,this.showAllDataInEdit),elementAttr:{class:this.currentGridMode===B.Edit?"edit-mode":"view-mode"},repaintChangesOnly:!0,onToolbarPreparing:i=>{let o=i.toolbarOptions.items;if(this.currentGridMode===B.View&&this.allowEditing){let n=o.filter(d=>d.name==="searchPanel")[0],a=o.indexOf(n),s={widget:"dxButton",location:"after",options:{text:"Switch to Edit Mode",onClick:()=>this.switchToMode(B.Edit),icon:"switch-to-edit-mode",elementAttr:{class:"iszolea-md"}}};o.splice(a,1),o.push(s),o.push(n)}if(this.currentGridMode===B.Edit){let n=o.filter(g=>g.name==="columnChooserButton")[0],a=o.indexOf(n),s={location:"after",template:()=>{let g=$("<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:y})=>{this.showAllDataInEdit=y,this.grid.option("dataSource",this.createDataSource(this.reportParams,this.currentGridMode,this.showAllDataInEdit)),this.grid.refresh()}}).appendTo(g),$("<span />").text("Show all data ").appendTo(g);let I=$("<a />").css({textDecoration:"underline",color:"blue"}).text("(?)").appendTo(g);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.
13
- By default grid shows only first 10 rows in the Edit mode.`).dxPopover({target:I,showEvent:"mouseenter",hideEvent:"mouseleave",position:"top",width:500}).appendTo(g),g}},d={widget:"dxButton",location:"after",options:{text:"Switch to View Mode",onClick:()=>this.switchToMode(B.View),icon:"switch-to-view-mode",elementAttr:{class:"iszolea-md"}}};o.splice(a,1);let m=o.filter(g=>g.name==="exportButton")[0],c=o.indexOf(m);o.splice(c,1),o.push(s),o.push(d),o.push(n);let v={location:"before",template:()=>(this.$gridStateIndicator=$("<div />").addClass("edit-grid-state"),this.updateGridStateIndicator(j.edit),this.$gridStateIndicator)};o.unshift(v)}if(this.addRefreshButton){let n=o.filter(s=>s.name==="refresh")[0],a=o.indexOf(n);o[a]={location:"after",template:()=>{let s=$("<div />");return this.refreshButton=new pe(s,()=>this.refresh()),s}}}},onCellPrepared:({rowType:i,column:o,cellElement:n})=>{if(i==="header"&&!o.command){let a=o.dataField,s=this.gridStateManager.getColumnAdditionalSettings(a);this.initGridHeaderCell(n,s),this.currentGridMode===B.Edit&&this.initGridHeaderCellEditPanel(o,n,s)}},onContentReady:i=>{let o=i.component,n=o.state();if(!this.columnNamesUpdated)this.updateColumnNaming(n);else return;if(window.setTimeout(()=>o.endCustomLoading()),this.currentGridMode!==B.Edit)return;this.gridStateManager.checkNewColumns(n).forEach(d=>i.component.columnOption(d,"visible",!1)),this.gridStateManager.getColumnCaptions().forEach(d=>{d.caption&&o.columnOption(d.dataField,"caption")!==d.caption&&o.columnOption(d.dataField,"caption",d.caption)})},stateStoring:{enabled:!0,type:"custom",customLoad:()=>this.gridStateManager.load(this.currentGridMode===B.Edit,i=>{let o=this.grid.state();o.columns=o.columns.filter(n=>i.indexOf(n.dataField)<0),this.grid.state(o)}),customSave:i=>this.saveGridState(i)},filterRow:{visible:this.currentGridMode===B.View,applyFilter:"onClick"},headerFilter:{visible:this.currentGridMode===B.View},searchPanel:{visible:this.currentGridMode===B.View},errorRowEnabled:!1,allowColumnResizing:!0,sorting:{mode:"multiple"},groupPanel:{visible:!0},grouping:{autoExpandAll:!1},allowColumnReordering:this.currentGridMode===B.Edit,columnChooser:{enabled:this.currentGridMode===B.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 o=()=>i.element.find(".dx-apply-button").trigger("dxclick");i.editorOptions.onEnterKey=o,i.editorOptions.onFocusOut=o}if(i.parentType==="searchPanel"){let o=n=>{i.component.searchByText(n.component.option("value"))};i.editorOptions.onValueChanged=void 0,i.editorOptions.onEnterKey=o,i.editorOptions.onFocusOut=o}}};return this.grid=U(this.$gridTargetElement,{options:e,exportFileName:this.reportParams.Name,title:this.showHeader?this.reportParams.Name:null,headerDescription:this.showHeader?this.reportParams.Details:null}),(t=this.$resetSettingTargetElement)==null||t.remove(),this.currentGridMode===B.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(e){Object.keys(j).forEach(i=>this.$gridStateIndicator.removeClass(j[i])),this.$gridStateIndicator.addClass(e),this.gridStateIndicatorTimeout&&window.clearTimeout(this.gridStateIndicatorTimeout),e===j.saved&&(this.gridStateIndicatorTimeout=window.setTimeout(()=>{this.updateGridStateIndicator(j.edit)},hn));let t="";switch(e){case j.edit:t="Edit mode";break;case j.saved:t="Saved";break;case j.saving:t="Saving";break}this.$gridStateIndicator.attr("title",t)}updateColumnNaming(e){e.columns&&e.columns.forEach(t=>{/[^a-zA-Z0-9_]/.test(t.dataField)&&this.grid.columnOption(t.dataField,"calculateCellValue",i=>i[t.dataField])}),this.columnNamesUpdated=!0}createDataSource(e,t,i){let o=this.dataLayer.getGridDataSource(e,t,i),n=new DevExpress.data.DataSource({store:o,onChanged:t===B.View?void 0:()=>{this.columnNamesUpdated=!1},onLoadError:a=>{n.isLoaded()||this.$gridErrorPlaceholder.show(),this.grid.endCustomLoading()},onLoadingChanged:a=>{a?(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 n}resetSettings(){DevExpress.ui.dialog.confirm("Reset grid settings to default values?","Reset to default?").then(e=>{e&&(this.grid.beginCustomLoading("Loading"),this.gridStateManager.resetSettings().then(t=>{this.grid.state(t),this.grid.option("dataSource",this.createDataSource(this.reportParams,this.currentGridMode,this.showAllDataInEdit)),this.grid.refresh()}))})}switchToMode(e){if(this.currentGridMode===e||e===B.Edit&&!this.allowEditing)return;this.currentGridMode=e;let t=this.grid.option("summary.totalItems[0].column"),i=S(C({},this.reportParams),{TotalSummaryColumn:t||this.reportParams.TotalSummaryColumn});this.reportParams=i,this.grid.dispose(),this.$gridTargetElement.remove(),this.grid=this.initInternal()}saveGridState(e){if(this.currentGridMode!==B.Edit)return;this.columnNamesUpdated=!1;let t=this.gridStateManager.save(e,()=>this.updateGridStateIndicator(j.saving),()=>this.updateGridStateIndicator(j.saved));t&&Object.keys(t).forEach(i=>{let o=this.editWidthEditBoxes[i],n=t[i]==="inherit"?"":t[i];o&&o.option("value")!==n&&o.option("value",n)})}initGridHeaderCellEditPanel(e,t,i){let o=e.dataField,n=t.find(".dx-datagrid-text-content"),a=$("<span />").addClass("column-editor-area").insertAfter(n);n.css("maxWidth","55%");let s=$("<div />").addClass("edit-type-panel").width("100%").appendTo(t),d=$("<div />").addClass("edit-width-panel").width("100%").appendTo(t);s[0].addEventListener("click",l=>{l.preventDefault(),l.stopImmediatePropagation();let p=g.dxSelectBox("instance");p.option("opened")?p.close():p.open()},!0);let m=e.caption,c=$("<span />").dxButton({hint:"Edit column caption",template:(l,p)=>p.append($("<span />").addClass("edit-caption-btn")),onClick:({event:l})=>{l.preventDefault(),l.stopImmediatePropagation(),n.hide(),c.hide(),v.hide();let p=$("<span />").dxTextBox({value:m,elementAttr:{class:"caption-editor"},onEnterKey:f=>{h.blur(),f.event.stopPropagation()},onKeyDown:f=>{f.event.stopPropagation()},onFocusOut:f=>{let x=h.option("value");p.remove(),n.text(x).show(),c.show(),v.show(),m=x,this.gridStateManager.setColumnCaption(o,x),this.saveGridState(this.grid.state())}}).addClass("iszolea-sm").appendTo(a).on("click",f=>{f.stopImmediatePropagation(),f.preventDefault()}),h=p.dxTextBox("instance");h.focus()}}).insertAfter(n),v=$("<span />").dxButton({hint:"Edit column tooltip",template:(l,p)=>p.append($("<span />").addClass("edit-tooltip-btn")),onClick:({event:l})=>{l.preventDefault(),l.stopImmediatePropagation(),n.hide(),c.hide(),v.hide();let p=$("<span />").dxTextBox({value:i&&i.tooltip,text:i&&i.tooltip,placeholder:"Enter column tooltip...",onEnterKey:f=>{h.blur(),f.event.stopPropagation()},onKeyDown:f=>{f.event.stopPropagation()},onFocusOut:()=>{let f=h.option("value");p.remove(),n.show(),c.show(),v.show(),i.tooltip=f,t.attr("title",f),this.saveGridState(this.grid.state())}}).addClass("iszolea-sm").appendTo(a).on("click",f=>{f.stopImmediatePropagation(),f.preventDefault()}),h=p.dxTextBox("instance");h.focus()}}).insertAfter(c),g=$("<span />").dxSelectBox({dataSource:Me,value:e.dataType||"default",placeholder:"Select column type...",onValueChanged:({value:l})=>{this.grid.columnOption(o,"dataType",l)}}).addClass("iszolea-sm").appendTo(s),I=e.width?e.width.toString():"",y=l=>{let p=l.component.option("value");(!p||p==="inherit")&&(p=""),(!I||I==="inherit")&&(I=""),p!==I&&(I=p,this.grid.columnOption(o,"width",p||"inherit"),this.gridRepaintQueued||(window.setTimeout(()=>{this.grid.repaint(),this.gridRepaintQueued=!1},100),this.gridRepaintQueued=!0))},u=$("<span />").dxTextBox({text:I==="inherit"?"":I,placeholder:"Set width...",onEnterKey:()=>u.dxTextBox("instance").blur(),onFocusOut:y,onValueChanged:y}).addClass("iszolea-sm").appendTo(d).on("click",l=>{l.stopImmediatePropagation(),l.preventDefault()});this.editWidthEditBoxes[e.visibleIndex]=u.dxTextBox("instance")}initGridHeaderCell(e,t){let i=e.find(".dx-datagrid-text-content"),o=t&&t.tooltip,n=t&&t.caption;e.attr("title",o||void 0),n&&i.text(n)}};var gn={subvalues:[],type:"triangleMarker",color:"#8798a5",secondColor:"#e18e92",width:10,isCustomPalette:!1,palette:null,customPalette:["#61a595","Grey","rgb(153, 102, 255)","Navy"]},ae="isoz-subvalueEditorFormGroup",fn=`${ae}__name`,ji=`${ae}__is-bound`,Xi=`${ae}__value`,Yi=`${ae}__measure-id`,vn=`${ae}__color`,yn=["rectangleNeedle","triangleNeedle","rangeBar","triangleMarker","textCloud"],xn=["rectangle","circle","rhombus","rangeBar","triangleMarker","textCloud"];var wn=["LinearHorizontal","LinearVertical"],dt=["#1db2f5","#f5564a","#97c95c","#ffc720","#eb3573","#a63db8","#6593bc","#faa335","#ff887c"];var to,io,ut={ownerType:(io=(to=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:to.Model)==null?void 0:io.GaugeItem,propertyName:"GaugeSubvaluesSettings",defaultValue:JSON.stringify(gn),valueType:"string"},oo,no;(no=(oo=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:oo.Model)==null||no.registerCustomProperty(ut);function Zi(r){var e,t,i;if(r.dashboardItem instanceof((t=(e=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:e.Model)==null?void 0:t.GaugeItem)){let o=xe(r.dashboardItem),n=r.options;n.subvalues=n.subvalues||[],n.subvalueIndicator=n.subvalueIndicator||{},n.subvalueIndicator.type=o.type,n.subvalueIndicator.width=o.width;let a=!!((i=r.dashboardItem.gauges()[0])==null?void 0:i.targetValue());n.subvalueIndicator.palette=o.subvalues.filter(s=>a||s.key>-1).map(s=>s.color),o.subvalues.forEach(s=>{if(s.key===-1)return;let d=s.isBound?r.itemData.getMeasureValue(s.measureId).getValue():s.value;n.subvalues.push(d)})}}function eo(r){var t,i;let e=r.dashboardItem;e instanceof((i=(t=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:t.Model)==null?void 0:i.GaugeItem)&&r.addSection({title:"Subvalues",items:[{dataField:ut.propertyName,template(o,n){let a=document.createElement("div");return new DevExpress.ui.dxButton(a,{text:"Edit in Wizard",onClick(){In(e)}}),a},label:{visible:!1}}]})}function In(r){let e=document.createElement("div");document.body.appendChild(e);let t={width:"800px",height:"auto",maxHeight:"100%",closeOnOutsideClick:!1,contentTemplate(o){let n=document.createElement("div"),a=Cn(r);this._subvaluesForm=new DevExpress.ui.dxForm(n,a);let s=document.createElement("div"),d=En(r);this._indicatorForm=new DevExpress.ui.dxForm(s,d);let m=$("<div />").append(n,s),c=$("<div />");return c.append(m),c.dxScrollView({width:"100%",height:"100%"}),c},onHidden(){document.body.removeChild(e)},title:"Subvalues Wizard"};new DevExpress.ui.dxPopup(e,t).show()}function xe(r){var i,o;let e=JSON.parse(r.customProperties.getValue(ut.propertyName));return!!((i=r.gauges()[0])==null?void 0:i.targetValue())&&(!e.subvalues||!e.subvalues.some(n=>n.key===-1))&&e.subvalues.splice(0,0,{key:-1,name:"Target Value",isBound:!1,measureId:"",value:0,color:dt[(((o=e.subvalues)==null?void 0:o.length)||0)%(dt.length-1)]}),e}function pt(r,e){return r.customProperties.setValue(ut.propertyName,JSON.stringify(e))}function bn(r,e){let t=$("<div />"),i=$("<div />");t.append(i);let o=null,n=null,a={items:[{location:"before",widget:"dxButton",options:{icon:"add",stylingMode:"text",onClick(v){let g=xe(e),I=g.subvalues.reduce((l,p)=>l<p.key?p.key:l,0)+1,y={key:I,name:`Subvalue ${I}`,isBound:!1,measureId:"",value:0,color:dt[g.subvalues.length%(dt.length-1)]};r.option("formData",y);let u=g.subvalues.filter(l=>l.key===y.key)[0];if(!u)g.subvalues.push(y);else{let l=g.subvalues.indexOf(u);g[l]=y}pt(e,g),n.reload(),n.option("selectedItem",g.subvalues[g.subvalues.length-1])}}}]},s=v=>{o&&o.option("disabled",!v)},d=new DevExpress.ui.dxToolbar(i,a);r.element().find(`.${ae}`).css("display","none");let m={dataSource:new DevExpress.data.DataSource({load:()=>xe(e).subvalues,remove:()=>{}}),displayExpr:"name",height:"200px",keyExpr:"key",noDataText:"Add a Subvalue",allowItemDeleting:!0,itemDeleteMode:"static",selectionMode:"single",onContentReady(v){s(!!v.component.option("selectedItem"))},onItemRendered(v){if(v.itemData.key===-1){let I=v.itemElement[0].getElementsByClassName("dx-list-static-delete-button-container")[0];I.style.display="none"}},onSelectionChanged(v){s(!!v.component.option("selectedItem"));let g=v.component.option("selectedItem");r.option("formData",g);let I=r.element().find(`.${ae}`).css("display")==="block",y=!!g;(!I&&y||I&&!y)&&r.element().find(`.${ae}`).css("display",y?"block":"none")},onItemDeleted:v=>{let g=xe(e),I=v.itemData.key,y=g.subvalues.indexOf(g.subvalues.filter(u=>u.key===I)[0]);y>=0&&(g.subvalues.splice(y,1),pt(e,g)),n.reload(),n.option("selectedItem",g.subvalues[g.subvalues.length-1])}},c=$("<div />");return t.append(c),n=new DevExpress.ui.dxList(c,m),[t,n,d]}function Cn(r){let e=null,t=i=>{let o=i.getEditor("value"),n=i.getEditor("measureId"),a=i.getEditor("name"),s=i.option("formData").isBound,d=i.option("formData").key===-1;o&&o.option("disabled",s),n&&n.option("disabled",!s),i.element().find(`.${ji}`).css("display",d?"none":"flex"),i.element().find(`.${Xi}`).css("display",d?"none":"flex"),i.element().find(`.${Yi}`).css("display",d?"none":"flex"),a&&a.option("disabled",d)};return{formData:null,colCount:2,items:[{itemType:"group",caption:"Subvalues items",template:i=>{let[o,n]=bn(i.component,r);return e=n,o}},{name:"subvalueEditor",cssClass:ae,itemType:"group",caption:"Item options",items:[{dataField:"name",cssClass:fn,editorType:"dxTextBox",editorOptions:{valueChangeEvent:"keyup"}},{dataField:"isBound",cssClass:ji,editorType:"dxRadioGroup",editorOptions:{displayExpr:"text",valueExpr:"value",layout:"horizontal",items:[{text:"Unbound",value:!1},{text:"Bound",value:!0}]},label:{text:"Type"}},{dataField:"value",cssClass:Xi,editorType:"dxNumberBox",label:{text:"Value"},editorOptions:{showSpinButtons:!0}},{dataField:"measureId",cssClass:Yi,editorType:"dxSelectBox",label:{text:"Hidden measures"},editorOptions:{displayExpr:"text",valueExpr:"value",items:r.hiddenMeasures().map(i=>({text:Dn(i),value:i.uniqueName()}))}},{name:"color",cssClass:vn,dataField:"color",editorType:"dxColorBox",label:{text:"Color"}}]}],onContentReady(i){t(i.component)},onFieldDataChanged(i){let o=i.component.option("formData"),n=xe(r),a=n.subvalues.filter(s=>s.key===o.key)[0];n.subvalues[n.subvalues.indexOf(a)]=o,pt(r,n),a&&a.name!==o.name&&e&&e.repaint(),t(i.component)}}}function Dn(r){if(r.name())return r.name();let e=r.dataMember();return r.summaryType&&r.summaryType()&&(e+=` (${r.summaryType()})`),e}function En(r){let e=r.viewType(),t=wn.some(i=>i===e)?xn:yn;return{formData:xe(r)||null,items:[{caption:"Indicator options",itemType:"group",items:[{dataField:"type",editorType:"dxSelectBox",label:{text:"Type"},editorOptions:{displayExpr:"text",valueExpr:"value",items:t.map(i=>({text:i,value:i}))}},{dataField:"width",editorType:"dxNumberBox",editorOptions:{showSpinButtons:!0},label:{text:"Width"}}]}],onFieldDataChanged(i){let o=i.component.option("formData"),n=xe(r);n.width=o.width,n.type=o.type,pt(r,n)}}}function ro(r){this.name="GaugeSubvalues",this.start=()=>{let e=r.findExtension("viewer-api");e&&e.on("itemWidgetOptionsPrepared",Zi);let t=r.findExtension("item-options-panel");t&&t.on("customizeSections",eo)},this.stop=()=>{let e=r.findExtension("viewer-api");e&&e.off("itemWidgetOptionsPrepared",Zi);let t=r.findExtension("item-options-panel");t&&t.off("customizeSections",eo)}}var Sn="DASHBOARD_MODE_KEY",Le=class{constructor(e){this.refreshButton=null;this.dashboard=null;this.popover=null;this.$dashboardContainer=e.$dashboardContainer,this.addRefreshButton=e.addRefreshButton,this.reportParams=e.reportParams,this.reportId=e.reportParams.ReportId,this.permissions=e.permissions,this.urls=e.urls}init(){let e=this.reportParams.ReportId&&this.reportParams.ReportId.toString();DevExpress.Dashboard.ResourceManager.embedBundledResources();let t=this.permissions.AllowEditing&&window.sessionStorage.getItem(this.getSessionKey())||"Viewer";if(this.reportParams.Details&&(this.popover=J(".report-details-link",this.reportParams.Details)),this.dashboard=new DevExpress.Dashboard.DashboardControl(this.$dashboardContainer[0],{workingMode:t,initialDashboardId:e,endpoint:this.urls.EndPoint,ajaxRemoteService:{headers:this.reportParams.Token?{token:this.reportParams.Token}:void 0},onDashboardInitializing:i=>{i.component.registerExtension(new ro(i.component)),e!==i.dashboardId&&(e=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:t==="Viewer"?"Switch to Designer":"Switch to Viewer",onClick:()=>{t=t==="Viewer"?"Designer":"Viewer",window.sessionStorage.setItem(this.getSessionKey(),t),t==="Viewer"?(this.dashboard.switchToViewer(),i.option("text","Switch to Designer")):(this.dashboard.switchToDesigner(),i.option("text","Switch to Viewer"))}}).addClass("iszolea-md").dxButton("instance");Tn(this.dashboard)}this.addRefreshButton&&(this.refreshButton=new pe($(".report-refresh-button"),()=>this.refresh()))}dispose(){var e,t;(e=this.dashboard)==null||e.dispose(),this.dashboard=null,(t=this.popover)==null||t.dispose(),this.popover=null}getSessionKey(){return Sn+this.reportId}refresh(){this.dashboard.refresh()}};function Tn(r){let e=["create-dashboard","open-dashboard"],t=r.findExtension("toolbox");e.forEach(i=>{t.menuItems().filter(n=>n.id===i)[0]&&t.removeMenuItem(i)})}var ao="Switch to Designer",so="Switch to Viewer",Mn="reportMode",we="customCurrentUrl",ct=window.ko,$e=class{constructor(e){this.popover=null;this.$reportContainer=e.$reportContainer,this.reportParams=e.reportParams,this.allowEditing=e.allowEditing,this.designerModelUrl=e.designerModelUrl,this.reportId=e.reportParams.ReportId}init(){let e=window.sessionStorage.getItem(this.getSessionKey())||"Viewer",t=null;this.reportParams.Details&&(this.popover=J(".report-details-link",this.reportParams.Details)),this.allowEditing&&(t=$(".switch-mode-btn").dxButton({text:e==="Viewer"?ao:so,onClick:()=>{e=e==="Viewer"?"Designer":"Viewer",window.sessionStorage.setItem(this.getSessionKey(),e),this.switchMode(e,t)}}).addClass("iszolea-md").dxButton("instance")),this.createReportDesigner(this.$reportContainer,this.designerModelUrl,"dxReportDesigner",this.reportParams.ReportId.toString(),i=>{setTimeout(()=>{this.updateSwitchModeButton(e,t)})},e==="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 e;(e=this.popover)==null||e.dispose(),this.popover=null}refresh(){}initializePreview(e){let t=e.designerModel.reportPreviewModel.reportPreview,i=DevExpress.Reporting.Designer.Internal.ReportPreviewService;t.initialize(i.initializePreview(e.designerModel.model()))}switchMode(e,t){e==="Viewer"?(dxReportDesigner.designerModel.reportPreviewModel.reportPreview.previewVisible=!0,this.initializePreview(dxReportDesigner)):(dxReportDesigner.designerModel.reportPreviewModel.reportPreview.previewVisible=!1,dxReportDesigner.designerModel.reportPreviewModel.reportPreview.deactivate()),this.updateSwitchModeButton(e,t)}updateSwitchModeButton(e,t){t&&t.option("text",e==="Viewer"?ao:so)}createReportDesigner(e,t,i,o,n,a){let s=e.attr("data-bind","dxReportDesigner: designerOptions").addClass("report-designer"),d={reportUrl:o,requestOptions:{getDesignerModelAction:t},callbacks:{BeforeRender:m=>{window[i]=m,a&&(m.designerModel.reportPreviewModel.reportPreview.previewVisible=!0),n(m)},CustomizeMenuActions:this.CustomizeMenuActions,PreviewCustomizeMenuActions:this.PreviewCustomizeMenuActions,ReportOpened:(m,c)=>{a&&this.initializePreview(m),this.ReportOpened(m,c)},ReportTabClosed:this.ReportTabClosed}};return ct.applyBindings({designerOptions:d},s[0]),s}PreviewCustomizeMenuActions(e,t){let i=t.GetById(DevExpress.Reporting.Viewer.ActionId.Design);i&&(i.visible=!1)}CustomizeMenuActions(e,t){let i=DevExpress.Reporting.Designer.Actions.ActionId,o=[i.Save],n=[i.NewReport,i.NewReportViaWizard,i.OpenReport,i.Preview,i.SaveAs,i.Exit];o.forEach(d=>{let m=t.GetById(d);m&&m.container==="menu"&&(m.container=void 0)}),n.forEach(d=>{let m=t.GetById(d);m&&(m.visible=!1)});let a=t.GetById(DevExpress.Reporting.Designer.Actions.ActionId.Save),s=a.clickAction;a.clickAction=()=>{e.GetCurrentTab().url(ct.unwrap(e[we])),s()}}ReportOpened(e,t){e[we]=e[we]||ct.observable(),e[we](t.Url)}ReportTabClosed(e,t){e[we]=e[we]||ct.observable(),e[we](null)}getSessionKey(){return Mn+this.reportId}};var ke=class{constructor(e){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=e.$container,this.reportParams=e.reportParams,this.allowEditing=e.allowEditing,this.addRefreshButton=e.addRefreshButton,this.diagramControllerUrl=e.diagramControllerUrl,this.mode=window.sessionStorage.getItem(this.getSessionKey())||"Viewer"}init(){this.createDiagramControl(),this.initDiagram(),this.allowEditing&&this.initSwitchModeButton(),this.reportParams.Details&&(this.popover=J(".diagram-details-link",this.reportParams.Details))}dispose(){var e;this.diagram.dispose(),(e=this.popover)==null||e.dispose()}refresh(){b(`${this.diagramControllerUrl}?id=${this.reportParams.ReportId}`,"get").then(e=>{this.diagram.import(JSON.stringify(e),!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:e=>{switch(e.name){case"save":this.saveReport(e.component.export());break}},fullScreen:!1,readOnly:this.mode==="Viewer"}).dxDiagram("instance")}initDiagram(){b(`${this.diagramControllerUrl}?id=${this.reportParams.ReportId}`,"get").then(e=>{this.diagram.import(JSON.stringify(e)),this.diagram.option("hasChanges",!1)}),this.addRefreshButton&&(this.refreshButton=new pe($(".report-refresh-button"),()=>this.refresh())),window.addEventListener("beforeunload",e=>{this.diagram.option("hasChanges")&&(e.returnValue="The document is not saved. Are you sure you want to leave the page?")})}initSwitchModeButton(){let e=$(".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"),e.option("text",this.mode==="Viewer"?this.SWITCH_TO_DESIGNER_TEXT:this.SWITCH_TO_VIEWER_TEXT)}}).addClass("iszolea-md").dxButton("instance")}async saveReport(e){let t=this.reportParams.ReportId;await b(this.diagramControllerUrl,"post",{id:t,source:e},!0),this.diagram.option("hasChanges",!1)}getSessionKey(){return this.DIAGRAM_STORAGE_MODE_KEY+this.reportParams.ReportId}};var mt=class{constructor(e){this.reports=[];this.options=e.reportParams,this.$rootElement=e.$container,this.defaultReportSettings=e.defaultReportSettings}init(){this.renderContent()}dispose(){this.reports.forEach(e=>{e.dispose()})}refresh(){this.reports.forEach(e=>{e.refresh()})}renderContent(){let e=0,t=null,i=this.options.Reports.length,o=()=>{t=window.setTimeout(()=>{let s=e+1;s>=i&&(s=0),this.dxGallery.goToItem(s,!0)},this.options.DelaySec*1e3)},n=$("<div />").attr({class:"slideshow-report"}).appendTo(this.$rootElement),a=$("<div />",{class:"slideshow-report__gallery"}).dxGallery({loop:!1,dataSource:this.options.Reports,slideshowDelay:0,showNavButtons:!1,showIndicator:!0,stretchImages:!0,height:"100%",onInitialized:()=>o(),onSelectionChanged:s=>{e=s.component.option("selectedIndex"),window.clearTimeout(t),o()},itemTemplate:(s,d,m)=>{m.attr({class:"slideshow-report__gallery-item"}).height("100%");let c=$("<div />",{class:"slideshow-report__slide-content"}).height("100%"),v;window.setTimeout(()=>{switch(s.Type){case 1:let g=$("<div />",{class:"report-position"});g.appendTo(c),v=new Le(S(C({},this.defaultReportSettings[1]||{}),{$dashboardContainer:g,reportParams:s})),c.find("dashboard-title").hide(),c.find(".dx-dashboard-layout-container").css({top:0});break;case 0:let I=$("<div />",{class:"slideshow-report__grid-position"});c.addClass("iszolea-theme").addClass("panel-body"),I.appendTo(c),v=new Ge(S(C({},this.defaultReportSettings[0]||{}),{gridPositionMarker:I,reportParams:s}));break;case 5:v=new ye(S(C({},this.defaultReportSettings[5]||{}),{$container:c,reportParams:s}));break;case 3:let y=$("<div />",{class:"report-position"});y.appendTo(c),v=new $e(S(C({},this.defaultReportSettings[3]||{}),{$reportContainer:y,reportParams:s}));break;case 4:let u=$("<div />",{class:"report-position"});u.appendTo(c),v=new ke(S(C({},this.defaultReportSettings[4]||{}),{$container:u,reportParams:s}));break;case 2:case 6:break}v&&(v.init(),this.reports.push(v))},500),c.appendTo(m)}});this.dxGallery=a.dxGallery("instance"),a.appendTo(n),this.refreshTimeout=new Oe({callback:()=>this.refresh(),elapsedCallback:s=>{}}),this.refreshTimeout.start(this.options.RefreshSec*1e3)}};var ht=(a=>(a[a.Key=1]="Key",a[a.Title=2]="Title",a[a.Start=3]="Start",a[a.End=4]="End",a[a.ParentId=5]="ParentId",a[a.Progress=6]="Progress",a))(ht||{}),gt=class{constructor(e){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=e.chartPositionMarker,this.reportParams=e.reportParams,this.addRefreshButton=e.addRefreshButton,this.allowEditing=e.allowEditing,this.ganttReportControllerUrl=e.ganttReportControllerUrl,this.showHeader=e.showHeader,this.mode=window.sessionStorage.getItem(this.getSessionKey())||"Viewer"}init(){let e={DbConnectionName:"",TableName:"",TaskColumns:[],ResourcesTableName:"",ResourcesTextField:"",ResourcesKeyField:"",ResourceAssignmentTaskIdField:"",ResourceAssignmentResourceIdField:"",ResourceAssignmentKeyField:"",ResourceAssignmentTableName:""},t=[],i=!1;b(`${this.ganttReportControllerUrl}/GetGanttChartSettings`,"post",{id:this.reportParams.ReportId},!1,{dataType:"json"}).then(o=>{if(e=o,!e.DbConnectionName||!e.TableName||!e.TaskColumns||!e.TaskColumns.length){e.TaskColumns=[];for(let n=0;n<6;n++)e.TaskColumns.push({taskColumnType:ht[ht[n+1]]});this.setupForm(e,!0);return}return o.TaskColumns.forEach(n=>{t[n.taskColumnType-1]=n}),e.TaskColumns=t,i=!0,b(`${this.ganttReportControllerUrl}/GetGanttChartData`,"post",{id:this.reportParams.ReportId},!1,{dataType:"json"})}).then(o=>{if(!i)return!1;this.mode==="Designer"&&this.setupForm(e,!i),this.setupChart(o.Data,t,e)}).catch(()=>{this.setupForm(e,!0)}),this.allowEditing&&this.initSwitchModeButton(),this.reportParams.Details&&(this.popover=J(".diagram-details-link",this.reportParams.Details))}initSwitchModeButton(){let e=$(".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),e.option("text",this.mode==="Viewer"?this.SWITCH_TO_DESIGNER_TEXT:this.SWITCH_TO_VIEWER_TEXT),window.location.reload()}}).addClass("iszolea-md").dxButton("instance")}setupForm(e,t){this.hasForm=!0;let i=[{dataField:"DbConnectionName",caption:"Connection Name"},{dataField:"TableName",caption:"Table"}];for(let n=1;n<7;n++)i.push({itemType:"group",colCount:8,items:[{dataField:`TaskColumns[${n-1}].taskColumnType`,visible:!1},{dataField:`TaskColumns[${n-1}].dataField`,label:{location:"top",text:`${ht[n]} Data Field`}},{dataField:`TaskColumns[${n-1}].caption`,label:{location:"top",text:"Caption"}},{dataField:`TaskColumns[${n-1}].dataType`,label:{location:"top",text:"DataType"}},{dataField:`TaskColumns[${n-1}].width`,label:{location:"top",text:"Width"},editorType:"dxNumberBox"},{dataField:`TaskColumns[${n-1}].sortIndex`,label:{location:"top",text:"SortIndex"},editorType:"dxNumberBox"},{dataField:`TaskColumns[${n-1}].sortOrder`,label:{location:"top",text:"SortOrder"},editorType:"dxSelectBox",editorOptions:{items:["asc","desc"],showClearButton:!0}},{dataField:`TaskColumns[${n-1}].visible`,label:{location:"top",text:"Visible"},editorType:"dxCheckBox"},{dataField:`TaskColumns[${n-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:"button",buttonOptions:{text:"Save",onClick:()=>{let n=o.option("formData");n.TaskColumns&&(n.TaskColumns=n.TaskColumns.filter(a=>!!a.dataField)),b(`${this.ganttReportControllerUrl}/UpdateGanttChartSettings`,"post",{id:this.reportParams.ReportId,settings:JSON.stringify(o.option("formData"))},!0,{dataType:"json"}).then(()=>window.location.reload())}}});let o=$("<div />").css("padding",20).insertAfter(this.chartPositionMarker).dxForm({width:"100%",height:t?"calc(100% - 50px)":"calc(50% - 50px)",formData:e,scrollingEnabled:!0,items:i}).dxForm("instance")}setupChart(e,t,i){let o=0,n=!1,a={};t.forEach(s=>{s.taskColumnType&&(a[s.taskColumnType]=s.dataField)}),t.filter(s=>s.visible).forEach(s=>{let d=parseInt(s.width);isNaN(d)?n=!0:o+=d}),this.chart=this.chartPositionMarker.dxGantt({width:"100%",height:this.hasForm?"50%":"calc(100% - 60px)",firstDayOfWeek:6,taskListWidth:!n&&o>0?o:void 0,toolbar:{items:["zoomIn","zoomOut","separator","taskDetails"]},editing:{enabled:!0},columns:t.filter(s=>s.visible).map(s=>({dataField:s.dataField,dataType:s.dataType,width:s.width,visibleIndex:s.visibleIndex,sortIndex:s.sortIndex,sortOrder:s.sortOrder&&(s.sortOrder==="asc"?"asc":"desc"),caption:s.caption||void 0})),tasks:{dataSource:e.Tasks,keyExpr:a[1],startExpr:a[3],endExpr:a[4],parentIdExpr:a[5],progressExpr:a[6],titleExpr:a[2]},dependencies:{dataSource:e.Dependencies,keyExpr:"Id",predecessorIdExpr:"PredecessorId",successorIdExpr:"SuccessorId",typeExpr:"Type"},resources:{dataSource:e.Resources,keyExpr:i.ResourcesKeyField,textExpr:i.ResourcesTextField},resourceAssignments:{dataSource:e.ResourceAssignments,keyExpr:i.ResourceAssignmentKeyField,resourceIdExpr:i.ResourceAssignmentResourceIdField,taskIdExpr:i.ResourceAssignmentTaskIdField}}).dxGantt("instance")}refresh(){}dispose(){var e;(e=this.chart)==null||e.dispose(),this.chart=null}getSessionKey(){return this.CHART_STORAGE_MODE_KEY+this.reportParams.ReportId}};var lo={config:P,Header:fe,Footer:Be,NavigationMenu:Se,UserMenu:he,MenuSwitcher:Te,data:yi,widgets:{notify:R,fullScreen:Z,popup:wt,confirm:zt,landing:Ht,accessDenied:Wt,defaultGridObsolete:$i,defaultTreeList:ki,defaultGrid:U,defaultToolbar:Si,backgroundImageViewer:Ye,imageCropDialog:At},pages:{AccountSettingsPage:_t},components:{CDM:ni,SessionNotifier:ri,FileImporter:ve,FileUploader:Je},styling:yt,helpers:Dt,utils:Mt,reports:{CDMReportPage:ye,DiagramReportPage:ke,GridReportPage:Ge,DashboardReportPage:Le,DXReportPage:$e,SlideshowReportPage:mt,GanttChartReportPage:gt,gridColumnTypes:Me},business:{LicenceStatus:Ae,MenuItemType:ue,CdmImportFileMode:Re,FooterIndicatorStatus:Ft,GridDataColumnDataType:Fe}},Ni=lo;window.IszoleaUI=lo;})();
13
+ By default grid shows only first 10 rows in the Edit mode.`).dxPopover({target:I,showEvent:"mouseenter",hideEvent:"mouseleave",position:"top",width:500}).appendTo(g),g}},d={widget:"dxButton",location:"after",options:{text:"Switch to View Mode",onClick:()=>this.switchToMode(B.View),icon:"switch-to-view-mode",elementAttr:{class:"iszolea-md"}}};o.splice(a,1);let m=o.filter(g=>g.name==="exportButton")[0],c=o.indexOf(m);o.splice(c,1),o.push(s),o.push(d),o.push(n);let v={location:"before",template:()=>(this.$gridStateIndicator=$("<div />").addClass("edit-grid-state"),this.updateGridStateIndicator(j.edit),this.$gridStateIndicator)};o.unshift(v)}if(this.addRefreshButton){let n=o.filter(s=>s.name==="refresh")[0],a=o.indexOf(n);o[a]={location:"after",template:()=>{let s=$("<div />");return this.refreshButton=new pe(s,()=>this.refresh()),s}}}},onCellPrepared:({rowType:i,column:o,cellElement:n})=>{if(i==="header"&&!o.command){let a=o.dataField,s=this.gridStateManager.getColumnAdditionalSettings(a);this.initGridHeaderCell(n,s),this.currentGridMode===B.Edit&&this.initGridHeaderCellEditPanel(o,n,s)}},onContentReady:i=>{let o=i.component,n=o.state();if(!this.columnNamesUpdated)this.updateColumnNaming(n);else return;if(window.setTimeout(()=>o.endCustomLoading()),this.currentGridMode!==B.Edit)return;this.gridStateManager.checkNewColumns(n).forEach(d=>i.component.columnOption(d,"visible",!1)),this.gridStateManager.getColumnCaptions().forEach(d=>{d.caption&&o.columnOption(d.dataField,"caption")!==d.caption&&o.columnOption(d.dataField,"caption",d.caption)})},stateStoring:{enabled:!0,type:"custom",customLoad:()=>this.gridStateManager.load(this.currentGridMode===B.Edit,i=>{let o=this.grid.state();o.columns=o.columns.filter(n=>i.indexOf(n.dataField)<0),this.grid.state(o)}),customSave:i=>this.saveGridState(i)},filterRow:{visible:this.currentGridMode===B.View,applyFilter:"onClick"},headerFilter:{visible:this.currentGridMode===B.View},searchPanel:{visible:this.currentGridMode===B.View},errorRowEnabled:!1,allowColumnResizing:!0,sorting:{mode:"multiple"},groupPanel:{visible:!0},grouping:{autoExpandAll:!1},allowColumnReordering:this.currentGridMode===B.Edit,columnChooser:{enabled:this.currentGridMode===B.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 o=()=>i.element.find(".dx-apply-button").trigger("dxclick");i.editorOptions.onEnterKey=o,i.editorOptions.onFocusOut=o}if(i.parentType==="searchPanel"){let o=n=>{i.component.searchByText(n.component.option("value"))};i.editorOptions.onValueChanged=void 0,i.editorOptions.onEnterKey=o,i.editorOptions.onFocusOut=o}}};return this.grid=U(this.$gridTargetElement,{options:e,exportFileName:this.reportParams.Name,title:this.showHeader?this.reportParams.Name:null,headerDescription:this.showHeader?this.reportParams.Details:null}),(t=this.$resetSettingTargetElement)==null||t.remove(),this.currentGridMode===B.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(e){Object.keys(j).forEach(i=>this.$gridStateIndicator.removeClass(j[i])),this.$gridStateIndicator.addClass(e),this.gridStateIndicatorTimeout&&window.clearTimeout(this.gridStateIndicatorTimeout),e===j.saved&&(this.gridStateIndicatorTimeout=window.setTimeout(()=>{this.updateGridStateIndicator(j.edit)},hn));let t="";switch(e){case j.edit:t="Edit mode";break;case j.saved:t="Saved";break;case j.saving:t="Saving";break}this.$gridStateIndicator.attr("title",t)}updateColumnNaming(e){e.columns&&e.columns.forEach(t=>{/[^a-zA-Z0-9_]/.test(t.dataField)&&this.grid.columnOption(t.dataField,"calculateCellValue",i=>i[t.dataField])}),this.columnNamesUpdated=!0}createDataSource(e,t,i){let o=this.dataLayer.getGridDataSource(e,t,i),n=new DevExpress.data.DataSource({store:o,onChanged:t===B.View?void 0:()=>{this.columnNamesUpdated=!1},onLoadError:a=>{n.isLoaded()||this.$gridErrorPlaceholder.show(),this.grid.endCustomLoading()},onLoadingChanged:a=>{a?(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 n}resetSettings(){DevExpress.ui.dialog.confirm("Reset grid settings to default values?","Reset to default?").then(e=>{e&&(this.grid.beginCustomLoading("Loading"),this.gridStateManager.resetSettings().then(t=>{this.grid.state(t),this.grid.option("dataSource",this.createDataSource(this.reportParams,this.currentGridMode,this.showAllDataInEdit)),this.grid.refresh()}))})}switchToMode(e){if(this.currentGridMode===e||e===B.Edit&&!this.allowEditing)return;this.currentGridMode=e;let t=this.grid.option("summary.totalItems[0].column"),i=S(C({},this.reportParams),{TotalSummaryColumn:t||this.reportParams.TotalSummaryColumn});this.reportParams=i,this.grid.dispose(),this.$gridTargetElement.remove(),this.grid=this.initInternal()}saveGridState(e){if(this.currentGridMode!==B.Edit)return;this.columnNamesUpdated=!1;let t=this.gridStateManager.save(e,()=>this.updateGridStateIndicator(j.saving),()=>this.updateGridStateIndicator(j.saved));t&&Object.keys(t).forEach(i=>{let o=this.editWidthEditBoxes[i],n=t[i]==="inherit"?"":t[i];o&&o.option("value")!==n&&o.option("value",n)})}initGridHeaderCellEditPanel(e,t,i){let o=e.dataField,n=t.find(".dx-datagrid-text-content"),a=$("<span />").addClass("column-editor-area").insertAfter(n);n.css("maxWidth","55%");let s=$("<div />").addClass("edit-type-panel").width("100%").appendTo(t),d=$("<div />").addClass("edit-width-panel").width("100%").appendTo(t);s[0].addEventListener("click",l=>{l.preventDefault(),l.stopImmediatePropagation();let p=g.dxSelectBox("instance");p.option("opened")?p.close():p.open()},!0);let m=e.caption,c=$("<span />").dxButton({hint:"Edit column caption",template:(l,p)=>p.append($("<span />").addClass("edit-caption-btn")),onClick:({event:l})=>{l.preventDefault(),l.stopImmediatePropagation(),n.hide(),c.hide(),v.hide();let p=$("<span />").dxTextBox({value:m,elementAttr:{class:"caption-editor"},onEnterKey:f=>{h.blur(),f.event.stopPropagation()},onKeyDown:f=>{f.event.stopPropagation()},onFocusOut:f=>{let x=h.option("value");p.remove(),n.text(x).show(),c.show(),v.show(),m=x,this.gridStateManager.setColumnCaption(o,x),this.saveGridState(this.grid.state())}}).addClass("iszolea-sm").appendTo(a).on("click",f=>{f.stopImmediatePropagation(),f.preventDefault()}),h=p.dxTextBox("instance");h.focus()}}).insertAfter(n),v=$("<span />").dxButton({hint:"Edit column tooltip",template:(l,p)=>p.append($("<span />").addClass("edit-tooltip-btn")),onClick:({event:l})=>{l.preventDefault(),l.stopImmediatePropagation(),n.hide(),c.hide(),v.hide();let p=$("<span />").dxTextBox({value:i&&i.tooltip,text:i&&i.tooltip,placeholder:"Enter column tooltip...",onEnterKey:f=>{h.blur(),f.event.stopPropagation()},onKeyDown:f=>{f.event.stopPropagation()},onFocusOut:()=>{let f=h.option("value");p.remove(),n.show(),c.show(),v.show(),i.tooltip=f,t.attr("title",f),this.saveGridState(this.grid.state())}}).addClass("iszolea-sm").appendTo(a).on("click",f=>{f.stopImmediatePropagation(),f.preventDefault()}),h=p.dxTextBox("instance");h.focus()}}).insertAfter(c),g=$("<span />").dxSelectBox({dataSource:Me,value:e.dataType||"default",placeholder:"Select column type...",onValueChanged:({value:l})=>{this.grid.columnOption(o,"dataType",l)}}).addClass("iszolea-sm").appendTo(s),I=e.width?e.width.toString():"",y=l=>{let p=l.component.option("value");(!p||p==="inherit")&&(p=""),(!I||I==="inherit")&&(I=""),p!==I&&(I=p,this.grid.columnOption(o,"width",p||"inherit"),this.gridRepaintQueued||(window.setTimeout(()=>{this.grid.repaint(),this.gridRepaintQueued=!1},100),this.gridRepaintQueued=!0))},u=$("<span />").dxTextBox({text:I==="inherit"?"":I,placeholder:"Set width...",onEnterKey:()=>u.dxTextBox("instance").blur(),onFocusOut:y,onValueChanged:y}).addClass("iszolea-sm").appendTo(d).on("click",l=>{l.stopImmediatePropagation(),l.preventDefault()});this.editWidthEditBoxes[e.visibleIndex]=u.dxTextBox("instance")}initGridHeaderCell(e,t){let i=e.find(".dx-datagrid-text-content"),o=t&&t.tooltip,n=t&&t.caption;e.attr("title",o||void 0),n&&i.text(n)}};var gn={subvalues:[],type:"triangleMarker",color:"#8798a5",secondColor:"#e18e92",width:10,isCustomPalette:!1,palette:null,customPalette:["#61a595","Grey","rgb(153, 102, 255)","Navy"]},ae="isoz-subvalueEditorFormGroup",fn=`${ae}__name`,ji=`${ae}__is-bound`,Xi=`${ae}__value`,Yi=`${ae}__measure-id`,vn=`${ae}__color`,yn=["rectangleNeedle","triangleNeedle","rangeBar","triangleMarker","textCloud"],xn=["rectangle","circle","rhombus","rangeBar","triangleMarker","textCloud"];var wn=["LinearHorizontal","LinearVertical"],dt=["#1db2f5","#f5564a","#97c95c","#ffc720","#eb3573","#a63db8","#6593bc","#faa335","#ff887c"];var to,io,ut={ownerType:(io=(to=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:to.Model)==null?void 0:io.GaugeItem,propertyName:"GaugeSubvaluesSettings",defaultValue:JSON.stringify(gn),valueType:"string"},oo,no;(no=(oo=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:oo.Model)==null||no.registerCustomProperty(ut);function Zi(r){var e,t,i;if(r.dashboardItem instanceof((t=(e=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:e.Model)==null?void 0:t.GaugeItem)){let o=xe(r.dashboardItem),n=r.options;n.subvalues=n.subvalues||[],n.subvalueIndicator=n.subvalueIndicator||{},n.subvalueIndicator.type=o.type,n.subvalueIndicator.width=o.width;let a=!!((i=r.dashboardItem.gauges()[0])==null?void 0:i.targetValue());n.subvalueIndicator.palette=o.subvalues.filter(s=>a||s.key>-1).map(s=>s.color),o.subvalues.forEach(s=>{if(s.key===-1)return;let d=s.isBound?r.itemData.getMeasureValue(s.measureId).getValue():s.value;n.subvalues.push(d)})}}function eo(r){var t,i;let e=r.dashboardItem;e instanceof((i=(t=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:t.Model)==null?void 0:i.GaugeItem)&&r.addSection({title:"Subvalues",items:[{dataField:ut.propertyName,template(o,n){let a=document.createElement("div");return new DevExpress.ui.dxButton(a,{text:"Edit in Wizard",onClick(){In(e)}}),a},label:{visible:!1}}]})}function In(r){let e=document.createElement("div");document.body.appendChild(e);let t={width:"800px",height:"auto",maxHeight:"100%",closeOnOutsideClick:!1,contentTemplate(o){let n=document.createElement("div"),a=Cn(r);this._subvaluesForm=new DevExpress.ui.dxForm(n,a);let s=document.createElement("div"),d=En(r);this._indicatorForm=new DevExpress.ui.dxForm(s,d);let m=$("<div />").append(n,s),c=$("<div />");return c.append(m),c.dxScrollView({width:"100%",height:"100%"}),c},onHidden(){document.body.removeChild(e)},title:"Subvalues Wizard"};new DevExpress.ui.dxPopup(e,t).show()}function xe(r){var i,o;let e=JSON.parse(r.customProperties.getValue(ut.propertyName));return!!((i=r.gauges()[0])==null?void 0:i.targetValue())&&(!e.subvalues||!e.subvalues.some(n=>n.key===-1))&&e.subvalues.splice(0,0,{key:-1,name:"Target Value",isBound:!1,measureId:"",value:0,color:dt[(((o=e.subvalues)==null?void 0:o.length)||0)%(dt.length-1)]}),e}function pt(r,e){return r.customProperties.setValue(ut.propertyName,JSON.stringify(e))}function bn(r,e){let t=$("<div />"),i=$("<div />");t.append(i);let o=null,n=null,a={items:[{location:"before",widget:"dxButton",options:{icon:"add",stylingMode:"text",onClick(v){let g=xe(e),I=g.subvalues.reduce((l,p)=>l<p.key?p.key:l,0)+1,y={key:I,name:`Subvalue ${I}`,isBound:!1,measureId:"",value:0,color:dt[g.subvalues.length%(dt.length-1)]};r.option("formData",y);let u=g.subvalues.filter(l=>l.key===y.key)[0];if(!u)g.subvalues.push(y);else{let l=g.subvalues.indexOf(u);g[l]=y}pt(e,g),n.reload(),n.option("selectedItem",g.subvalues[g.subvalues.length-1])}}}]},s=v=>{o&&o.option("disabled",!v)},d=new DevExpress.ui.dxToolbar(i,a);r.element().find(`.${ae}`).css("display","none");let m={dataSource:new DevExpress.data.DataSource({load:()=>xe(e).subvalues,remove:()=>{}}),displayExpr:"name",height:"200px",keyExpr:"key",noDataText:"Add a Subvalue",allowItemDeleting:!0,itemDeleteMode:"static",selectionMode:"single",onContentReady(v){s(!!v.component.option("selectedItem"))},onItemRendered(v){if(v.itemData.key===-1){let I=v.itemElement[0].getElementsByClassName("dx-list-static-delete-button-container")[0];I.style.display="none"}},onSelectionChanged(v){s(!!v.component.option("selectedItem"));let g=v.component.option("selectedItem");r.option("formData",g);let I=r.element().find(`.${ae}`).css("display")==="block",y=!!g;(!I&&y||I&&!y)&&r.element().find(`.${ae}`).css("display",y?"block":"none")},onItemDeleted:v=>{let g=xe(e),I=v.itemData.key,y=g.subvalues.indexOf(g.subvalues.filter(u=>u.key===I)[0]);y>=0&&(g.subvalues.splice(y,1),pt(e,g)),n.reload(),n.option("selectedItem",g.subvalues[g.subvalues.length-1])}},c=$("<div />");return t.append(c),n=new DevExpress.ui.dxList(c,m),[t,n,d]}function Cn(r){let e=null,t=i=>{let o=i.getEditor("value"),n=i.getEditor("measureId"),a=i.getEditor("name"),s=i.option("formData").isBound,d=i.option("formData").key===-1;o&&o.option("disabled",s),n&&n.option("disabled",!s),i.element().find(`.${ji}`).css("display",d?"none":"flex"),i.element().find(`.${Xi}`).css("display",d?"none":"flex"),i.element().find(`.${Yi}`).css("display",d?"none":"flex"),a&&a.option("disabled",d)};return{formData:null,colCount:2,items:[{itemType:"group",caption:"Subvalues items",template:i=>{let[o,n]=bn(i.component,r);return e=n,o}},{name:"subvalueEditor",cssClass:ae,itemType:"group",caption:"Item options",items:[{dataField:"name",cssClass:fn,editorType:"dxTextBox",editorOptions:{valueChangeEvent:"keyup"}},{dataField:"isBound",cssClass:ji,editorType:"dxRadioGroup",editorOptions:{displayExpr:"text",valueExpr:"value",layout:"horizontal",items:[{text:"Unbound",value:!1},{text:"Bound",value:!0}]},label:{text:"Type"}},{dataField:"value",cssClass:Xi,editorType:"dxNumberBox",label:{text:"Value"},editorOptions:{showSpinButtons:!0}},{dataField:"measureId",cssClass:Yi,editorType:"dxSelectBox",label:{text:"Hidden measures"},editorOptions:{displayExpr:"text",valueExpr:"value",items:r.hiddenMeasures().map(i=>({text:Dn(i),value:i.uniqueName()}))}},{name:"color",cssClass:vn,dataField:"color",editorType:"dxColorBox",label:{text:"Color"}}]}],onContentReady(i){t(i.component)},onFieldDataChanged(i){let o=i.component.option("formData"),n=xe(r),a=n.subvalues.filter(s=>s.key===o.key)[0];n.subvalues[n.subvalues.indexOf(a)]=o,pt(r,n),a&&a.name!==o.name&&e&&e.repaint(),t(i.component)}}}function Dn(r){if(r.name())return r.name();let e=r.dataMember();return r.summaryType&&r.summaryType()&&(e+=` (${r.summaryType()})`),e}function En(r){let e=r.viewType(),t=wn.some(i=>i===e)?xn:yn;return{formData:xe(r)||null,items:[{caption:"Indicator options",itemType:"group",items:[{dataField:"type",editorType:"dxSelectBox",label:{text:"Type"},editorOptions:{displayExpr:"text",valueExpr:"value",items:t.map(i=>({text:i,value:i}))}},{dataField:"width",editorType:"dxNumberBox",editorOptions:{showSpinButtons:!0},label:{text:"Width"}}]}],onFieldDataChanged(i){let o=i.component.option("formData"),n=xe(r);n.width=o.width,n.type=o.type,pt(r,n)}}}function ro(r){this.name="GaugeSubvalues",this.start=()=>{let e=r.findExtension("viewer-api");e&&e.on("itemWidgetOptionsPrepared",Zi);let t=r.findExtension("item-options-panel");t&&t.on("customizeSections",eo)},this.stop=()=>{let e=r.findExtension("viewer-api");e&&e.off("itemWidgetOptionsPrepared",Zi);let t=r.findExtension("item-options-panel");t&&t.off("customizeSections",eo)}}var Sn="DASHBOARD_MODE_KEY",Le=class{constructor(e){this.refreshButton=null;this.dashboard=null;this.popover=null;this.$dashboardContainer=e.$dashboardContainer,this.addRefreshButton=e.addRefreshButton,this.reportParams=e.reportParams,this.reportId=e.reportParams.ReportId,this.permissions=e.permissions,this.urls=e.urls}init(){let e=this.reportParams.ReportId&&this.reportParams.ReportId.toString();DevExpress.Dashboard.ResourceManager.embedBundledResources();let t=this.permissions.AllowEditing&&window.sessionStorage.getItem(this.getSessionKey())||"Viewer";if(this.reportParams.Details&&(this.popover=J(".report-details-link",this.reportParams.Details)),this.dashboard=new DevExpress.Dashboard.DashboardControl(this.$dashboardContainer[0],{workingMode:t,initialDashboardId:e,endpoint:this.urls.EndPoint,ajaxRemoteService:{headers:this.reportParams.Token?{token:this.reportParams.Token}:void 0},onDashboardInitializing:i=>{i.component.registerExtension(new ro(i.component)),e!==i.dashboardId&&(e=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:t==="Viewer"?"Switch to Designer":"Switch to Viewer",onClick:()=>{t=t==="Viewer"?"Designer":"Viewer",window.sessionStorage.setItem(this.getSessionKey(),t),t==="Viewer"?(this.dashboard.switchToViewer(),i.option("text","Switch to Designer")):(this.dashboard.switchToDesigner(),i.option("text","Switch to Viewer"))}}).addClass("iszolea-md").dxButton("instance");Tn(this.dashboard)}this.addRefreshButton&&(this.refreshButton=new pe($(".report-refresh-button"),()=>this.refresh()))}dispose(){var e,t;(e=this.dashboard)==null||e.dispose(),this.dashboard=null,(t=this.popover)==null||t.dispose(),this.popover=null}getSessionKey(){return Sn+this.reportId}refresh(){this.dashboard.refresh()}};function Tn(r){let e=["create-dashboard","open-dashboard"],t=r.findExtension("toolbox");e.forEach(i=>{t.menuItems().filter(n=>n.id===i)[0]&&t.removeMenuItem(i)})}var ao="Switch to Designer",so="Switch to Viewer",Mn="reportMode",we="customCurrentUrl",ct=window.ko,$e=class{constructor(e){this.popover=null;this.$reportContainer=e.$reportContainer,this.reportParams=e.reportParams,this.allowEditing=e.allowEditing,this.designerModelUrl=e.designerModelUrl,this.reportId=e.reportParams.ReportId}init(){let e=window.sessionStorage.getItem(this.getSessionKey())||"Viewer",t=null;this.reportParams.Details&&(this.popover=J(".report-details-link",this.reportParams.Details)),this.allowEditing&&(t=$(".switch-mode-btn").dxButton({text:e==="Viewer"?ao:so,onClick:()=>{e=e==="Viewer"?"Designer":"Viewer",window.sessionStorage.setItem(this.getSessionKey(),e),this.switchMode(e,t)}}).addClass("iszolea-md").dxButton("instance")),this.createReportDesigner(this.$reportContainer,this.designerModelUrl,"dxReportDesigner",this.reportParams.ReportId.toString(),i=>{setTimeout(()=>{this.updateSwitchModeButton(e,t)})},e==="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 e;(e=this.popover)==null||e.dispose(),this.popover=null}refresh(){}initializePreview(e){let t=e.designerModel.reportPreviewModel.reportPreview,i=DevExpress.Reporting.Designer.Internal.ReportPreviewService;t.initialize(i.initializePreview(e.designerModel.model()))}switchMode(e,t){e==="Viewer"?(dxReportDesigner.designerModel.reportPreviewModel.reportPreview.previewVisible=!0,this.initializePreview(dxReportDesigner)):(dxReportDesigner.designerModel.reportPreviewModel.reportPreview.previewVisible=!1,dxReportDesigner.designerModel.reportPreviewModel.reportPreview.deactivate()),this.updateSwitchModeButton(e,t)}updateSwitchModeButton(e,t){t&&t.option("text",e==="Viewer"?ao:so)}createReportDesigner(e,t,i,o,n,a){let s=e.attr("data-bind","dxReportDesigner: designerOptions").addClass("report-designer"),d={reportUrl:o,requestOptions:{getDesignerModelAction:t},callbacks:{BeforeRender:m=>{window[i]=m,a&&(m.designerModel.reportPreviewModel.reportPreview.previewVisible=!0),n(m)},CustomizeMenuActions:this.CustomizeMenuActions,PreviewCustomizeMenuActions:this.PreviewCustomizeMenuActions,ReportOpened:(m,c)=>{a&&this.initializePreview(m),this.ReportOpened(m,c)},ReportTabClosed:this.ReportTabClosed}};return ct.applyBindings({designerOptions:d},s[0]),s}PreviewCustomizeMenuActions(e,t){let i=t.GetById(DevExpress.Reporting.Viewer.ActionId.Design);i&&(i.visible=!1)}CustomizeMenuActions(e,t){let i=DevExpress.Reporting.Designer.Actions.ActionId,o=[i.Save],n=[i.NewReport,i.NewReportViaWizard,i.OpenReport,i.Preview,i.SaveAs,i.Exit];o.forEach(d=>{let m=t.GetById(d);m&&m.container==="menu"&&(m.container=void 0)}),n.forEach(d=>{let m=t.GetById(d);m&&(m.visible=!1)});let a=t.GetById(DevExpress.Reporting.Designer.Actions.ActionId.Save),s=a.clickAction;a.clickAction=()=>{e.GetCurrentTab().url(ct.unwrap(e[we])),s()}}ReportOpened(e,t){e[we]=e[we]||ct.observable(),e[we](t.Url)}ReportTabClosed(e,t){e[we]=e[we]||ct.observable(),e[we](null)}getSessionKey(){return Mn+this.reportId}};var ke=class{constructor(e){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=e.$container,this.reportParams=e.reportParams,this.allowEditing=e.allowEditing,this.addRefreshButton=e.addRefreshButton,this.diagramControllerUrl=e.diagramControllerUrl,this.mode=window.sessionStorage.getItem(this.getSessionKey())||"Viewer"}init(){this.createDiagramControl(),this.initDiagram(),this.allowEditing&&this.initSwitchModeButton(),this.reportParams.Details&&(this.popover=J(".diagram-details-link",this.reportParams.Details))}dispose(){var e;this.diagram.dispose(),(e=this.popover)==null||e.dispose()}refresh(){b(`${this.diagramControllerUrl}?id=${this.reportParams.ReportId}`,"get").then(e=>{this.diagram.import(JSON.stringify(e),!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:e=>{switch(e.name){case"save":this.saveReport(e.component.export());break}},fullScreen:!1,readOnly:this.mode==="Viewer"}).dxDiagram("instance")}initDiagram(){b(`${this.diagramControllerUrl}?id=${this.reportParams.ReportId}`,"get").then(e=>{this.diagram.import(JSON.stringify(e)),this.diagram.option("hasChanges",!1)}),this.addRefreshButton&&(this.refreshButton=new pe($(".report-refresh-button"),()=>this.refresh())),window.addEventListener("beforeunload",e=>{this.diagram.option("hasChanges")&&(e.returnValue="The document is not saved. Are you sure you want to leave the page?")})}initSwitchModeButton(){let e=$(".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"),e.option("text",this.mode==="Viewer"?this.SWITCH_TO_DESIGNER_TEXT:this.SWITCH_TO_VIEWER_TEXT)}}).addClass("iszolea-md").dxButton("instance")}async saveReport(e){let t=this.reportParams.ReportId;await b(this.diagramControllerUrl,"post",{id:t,source:e},!0),this.diagram.option("hasChanges",!1)}getSessionKey(){return this.DIAGRAM_STORAGE_MODE_KEY+this.reportParams.ReportId}};var mt=class{constructor(e){this.reports=[];this.options=e.reportParams,this.$rootElement=e.$container,this.defaultReportSettings=e.defaultReportSettings}init(){this.renderContent()}dispose(){this.reports.forEach(e=>{e.dispose()})}refresh(){this.reports.forEach(e=>{e.refresh()})}renderContent(){let e=0,t=null,i=this.options.Reports.length,o=()=>{t=window.setTimeout(()=>{let s=e+1;s>=i&&(s=0),this.dxGallery.goToItem(s,!0)},this.options.DelaySec*1e3)},n=$("<div />").attr({class:"slideshow-report"}).appendTo(this.$rootElement),a=$("<div />",{class:"slideshow-report__gallery"}).dxGallery({loop:!1,dataSource:this.options.Reports,slideshowDelay:0,showNavButtons:!1,showIndicator:!0,stretchImages:!0,height:"100%",onInitialized:()=>o(),onSelectionChanged:s=>{e=s.component.option("selectedIndex"),window.clearTimeout(t),o()},itemTemplate:(s,d,m)=>{m.attr({class:"slideshow-report__gallery-item"}).height("100%");let c=$("<div />",{class:"slideshow-report__slide-content"}).height("100%"),v;window.setTimeout(()=>{switch(s.Type){case 1:let g=$("<div />",{class:"report-position"});g.appendTo(c),v=new Le(S(C({},this.defaultReportSettings[1]||{}),{$dashboardContainer:g,reportParams:s})),c.find("dashboard-title").hide(),c.find(".dx-dashboard-layout-container").css({top:0});break;case 0:let I=$("<div />",{class:"slideshow-report__grid-position"});c.addClass("iszolea-theme").addClass("panel-body"),I.appendTo(c),v=new Ge(S(C({},this.defaultReportSettings[0]||{}),{gridPositionMarker:I,reportParams:s}));break;case 5:v=new ye(S(C({},this.defaultReportSettings[5]||{}),{$container:c,reportParams:s}));break;case 3:let y=$("<div />",{class:"report-position"});y.appendTo(c),v=new $e(S(C({},this.defaultReportSettings[3]||{}),{$reportContainer:y,reportParams:s}));break;case 4:let u=$("<div />",{class:"report-position"});u.appendTo(c),v=new ke(S(C({},this.defaultReportSettings[4]||{}),{$container:u,reportParams:s}));break;case 2:case 6:break}v&&(v.init(),this.reports.push(v))},500),c.appendTo(m)}});this.dxGallery=a.dxGallery("instance"),a.appendTo(n),this.refreshTimeout=new Oe({callback:()=>this.refresh(),elapsedCallback:s=>{}}),this.refreshTimeout.start(this.options.RefreshSec*1e3)}};var ht=(a=>(a[a.Key=1]="Key",a[a.Title=2]="Title",a[a.Start=3]="Start",a[a.End=4]="End",a[a.ParentId=5]="ParentId",a[a.Progress=6]="Progress",a))(ht||{}),gt=class{constructor(e){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=e.chartPositionMarker,this.reportParams=e.reportParams,this.addRefreshButton=e.addRefreshButton,this.allowEditing=e.allowEditing,this.ganttReportControllerUrl=e.ganttReportControllerUrl,this.showHeader=e.showHeader,this.mode=window.sessionStorage.getItem(this.getSessionKey())||"Viewer"}init(){let e={DbConnectionName:"",TableName:"",TaskColumns:[],ResourcesTableName:"",ResourcesTextField:"",ResourcesKeyField:"",ResourceAssignmentTaskIdField:"",ResourceAssignmentResourceIdField:"",ResourceAssignmentKeyField:"",ResourceAssignmentTableName:""},t=[],i=!1;b(`${this.ganttReportControllerUrl}/GetGanttChartSettings`,"post",{id:this.reportParams.ReportId},!1,{dataType:"json"}).then(o=>{if(e=o,!e.DbConnectionName||!e.TableName||!e.TaskColumns||!e.TaskColumns.length){e.TaskColumns=[];for(let n=0;n<6;n++)e.TaskColumns.push({taskColumnType:ht[ht[n+1]]});this.setupForm(e,!0);return}return o.TaskColumns.forEach(n=>{t[n.taskColumnType-1]=n}),e.TaskColumns=t,i=!0,b(`${this.ganttReportControllerUrl}/GetGanttChartData`,"post",{id:this.reportParams.ReportId},!1,{dataType:"json"})}).then(o=>{if(!i)return!1;this.mode==="Designer"&&this.setupForm(e,!i),this.setupChart(o.Data,t,e)}).catch(()=>{this.setupForm(e,!0)}),this.allowEditing&&this.initSwitchModeButton(),this.reportParams.Details&&(this.popover=J(".diagram-details-link",this.reportParams.Details))}initSwitchModeButton(){let e=$(".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),e.option("text",this.mode==="Viewer"?this.SWITCH_TO_DESIGNER_TEXT:this.SWITCH_TO_VIEWER_TEXT),window.location.reload()}}).addClass("iszolea-md").dxButton("instance")}setupForm(e,t){this.hasForm=!0;let i=[{dataField:"DbConnectionName",caption:"Connection Name"},{dataField:"TableName",caption:"Table"}];for(let n=1;n<7;n++)i.push({itemType:"group",colCount:8,items:[{dataField:`TaskColumns[${n-1}].taskColumnType`,visible:!1},{dataField:`TaskColumns[${n-1}].dataField`,label:{location:"top",text:`${ht[n]} Data Field`}},{dataField:`TaskColumns[${n-1}].caption`,label:{location:"top",text:"Caption"}},{dataField:`TaskColumns[${n-1}].dataType`,label:{location:"top",text:"DataType"}},{dataField:`TaskColumns[${n-1}].width`,label:{location:"top",text:"Width"},editorType:"dxNumberBox"},{dataField:`TaskColumns[${n-1}].sortIndex`,label:{location:"top",text:"SortIndex"},editorType:"dxNumberBox"},{dataField:`TaskColumns[${n-1}].sortOrder`,label:{location:"top",text:"SortOrder"},editorType:"dxSelectBox",editorOptions:{items:["asc","desc"],showClearButton:!0}},{dataField:`TaskColumns[${n-1}].visible`,label:{location:"top",text:"Visible"},editorType:"dxCheckBox"},{dataField:`TaskColumns[${n-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:"button",buttonOptions:{text:"Save",onClick:()=>{let n=o.option("formData");n.TaskColumns&&(n.TaskColumns=n.TaskColumns.filter(a=>!!a.dataField)),b(`${this.ganttReportControllerUrl}/UpdateGanttChartSettings`,"post",{id:this.reportParams.ReportId,settings:JSON.stringify(o.option("formData"))},!0,{dataType:"json"}).then(()=>window.location.reload())}}});let o=$("<div />").css("padding",20).insertAfter(this.chartPositionMarker).dxForm({width:"100%",height:t?"calc(100% - 50px)":"calc(50% - 50px)",formData:e,scrollingEnabled:!0,items:i}).dxForm("instance")}setupChart(e,t,i){let o=0,n=!1,a={};t.forEach(s=>{s.taskColumnType&&(a[s.taskColumnType]=s.dataField)}),t.filter(s=>s.visible).forEach(s=>{let d=parseInt(s.width);isNaN(d)?n=!0:o+=d}),this.chart=this.chartPositionMarker.dxGantt({width:"100%",height:this.hasForm?"50%":"calc(100% - 60px)",firstDayOfWeek:6,taskListWidth:!n&&o>0?o:void 0,toolbar:{items:["zoomIn","zoomOut","separator","taskDetails"]},editing:{enabled:!0},columns:t.filter(s=>s.visible).map(s=>({dataField:s.dataField,dataType:s.dataType,width:s.width,visibleIndex:s.visibleIndex,sortIndex:s.sortIndex,sortOrder:s.sortOrder&&(s.sortOrder==="asc"?"asc":"desc"),caption:s.caption||void 0})),tasks:{dataSource:e.Tasks,keyExpr:a[1],startExpr:a[3],endExpr:a[4],parentIdExpr:a[5],progressExpr:a[6],titleExpr:a[2]},dependencies:{dataSource:e.Dependencies,keyExpr:"Id",predecessorIdExpr:"PredecessorId",successorIdExpr:"SuccessorId",typeExpr:"Type"},resources:{dataSource:e.Resources,keyExpr:i.ResourcesKeyField,textExpr:i.ResourcesTextField},resourceAssignments:{dataSource:e.ResourceAssignments,keyExpr:i.ResourceAssignmentKeyField,resourceIdExpr:i.ResourceAssignmentResourceIdField,taskIdExpr:i.ResourceAssignmentTaskIdField}}).dxGantt("instance")}refresh(){}dispose(){var e;(e=this.chart)==null||e.dispose(),this.chart=null}getSessionKey(){return this.CHART_STORAGE_MODE_KEY+this.reportParams.ReportId}};var lo={config:P,Header:fe,Footer:Be,NavigationMenu:Se,UserMenu:he,MenuSwitcher:Te,data:yi,widgets:{notify:R,fullScreen:Z,popup:wt,confirm:zt,landing:Ht,accessDenied:Wt,defaultGridObsolete:$i,defaultTreeList:ki,defaultGrid:U,defaultToolbar:Si,backgroundImageViewer:Ye,imageCropDialog:At},pages:{AccountSettingsPage:_t},components:{CDM:ni,SessionNotifier:ri,FileImporter:ve,FileUploader:Je},styling:yt,helpers:Dt,utils:Mt,reports:{CDMReportPage:ye,DiagramReportPage:ke,GridReportPage:Ge,DashboardReportPage:Le,DXReportPage:$e,SlideshowReportPage:mt,GanttChartReportPage:gt,gridColumnTypes:Me},business:{LicenceStatus:Ae,MenuItemType:ue,CdmImportFileMode:Re,FooterIndicatorStatus:Ft,GridDataColumnDataType:Fe}},Ni=lo;window.IszoleaUI=lo;})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iszolea-ui",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Common scripts and styles for Iszolea projects",
5
5
  "main": "dist/js/index.js",
6
6
  "types": "dist/types/index.d.ts",