iszolea-ui 1.2.76 → 1.2.78-pbi-26188.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
    
    | 
         @@ -39,7 +39,7 @@ 
     | 
|
| 
       39 
39 
     | 
    
         
             
                  <div class="image-gallery">        
         
     | 
| 
       40 
40 
     | 
    
         
             
                  </div>
         
     | 
| 
       41 
41 
     | 
    
         
             
                `)}initGallery(){return $(this.$content).dxGallery({dataSource:[]}).dxGallery("instance")}open(t=[]){this.$content=this.initMarkup(),this.gallery=this.initGallery(),this.dialog=J({title:"Image Gallery",height:this.settings.height,width:this.settings.width},this.$content,{text:"Close",onClick:r=>r()},void 0),this.images=t}close(){var t;(t=this.dialog)==null||t.close()}set images(t){this.items=t,this.gallery.option("dataSource",this.items.map(r=>({imageAlt:r.Name,imageSrc:r.Url})))}get images(){return this.items}};var wo={};ie(wo,{show:()=>Io});var xr=ht(Cr());function Fi(o,t){o.attr("src",t)}function ji(o){let t=$("<div>").addClass("image-crop-popup__dropzone"),r=$("<div>").addClass("image-crop-popup__crop-container").appendTo(t),i=$("<img />").prependTo(r);Fi(i,o);let n=new xr.default(i[0],{startSize:[90,90,"%"]});return{$content:t,cropper:n}}function Vi(o,t,r){J({title:"Edit image",showTitle:!0,dragEnabled:!1,resizeEnabled:!1,showCloseButton:!0,hideOnOutsideClick:!1,maxWidth:1024,onInitialized:i=>{i.component&&i.component.option("fullScreen",window.innerWidth<=1024)}},o,{text:"Update",onClick:i=>{let n=t.getValue(),s=$("<canvas>").attr("height",n.height).attr("width",n.width),l=s[0].getContext("2d"),g=o.find("img.croppr-image")[0];l.drawImage(g,n.x,n.y,n.width,n.height,0,0,n.width,n.height);let p=s[0].toDataURL("image/jpeg",.9);r(p),i()}},{text:"Cancel",onClick:i=>i()})}function Io(o,t){let r=ji(o);Vi(r.$content,r.cropper,t)}var Ar=o=>new Promise((t,r)=>{try{let i=new FileReader;i.onload=()=>{let n=i.result;t(typeof n=="string"?n:null)},i.readAsDataURL(o)}catch(i){r(i)}});var Do=10,_o=class{constructor(t,r,i,n){this.accountSettingsData=i,this.currentUserInfo=n,this._$rootElement=t,this.formAction=r}render(){this.renderUploader(this.$rootElement),this.renderAccountSettingsForm(this.$rootElement)}get $rootElement(){if(!this._$rootElement)throw new Error("The root element is undefined");return this._$rootElement}renderUploader(t){this.avatarUploader=$("<div>").addClass("avatar-popup__uploader").dxFileUploader({multiple:!1,uploadMode:"useForm",accept:"image/*",visible:!1,maxFileSize:Do*1e6,onValueChanged:r=>{if(!r.component||!r.value)return;let i=r.value[0],n=r.component.option("maxFileSize")||Do;if(!i||i.size>n){DevExpress.ui.notify(`File size should be less than ${Do} MB. Please select another file`,"error",5e3);return}Ar(i).then(s=>{Io(s,l=>{var g,p;(g=this.accountSettingsForm)==null||g.updateData("Avatar",l),(p=this.accountSettingsForm)==null||p.repaint()})}).catch(s=>DevExpress.ui.notify(s,"error",3e3))}}).appendTo(t).dxFileUploader("instance")}renderAccountSettingsForm(t){var r;this.accountSettingsForm||(this.accountSettingsForm=$("<form />").attr("action",this.formAction).attr("method","post").addClass("account-settings__form").addClass("form-content").appendTo(t).dxForm(this.getFormOptions()).dxForm("instance"),((r=this.accountSettingsData)==null?void 0:r.HasChanges)&&!this.accountSettingsData.ErrorMessage&&setTimeout(()=>Rr.widgets.notify("Changes have been saved",!0),500))}getFormOptions(){return{formData:this.accountSettingsData,minColWidth:200,labelLocation:"top",alignItemLabels:!0,showValidationSummary:!0,items:[{itemType:"group",colCount:16,items:[{colSpan:6,caption:"Profile Picture",itemType:"group",items:[{itemType:"simple",label:{visible:!1},dataField:"Avatar",template:t=>{var s;let r=$("<div>").addClass("account-settings__avatar-view-container"),i=$("<div>").addClass("account-settings__avatar");$("<div>").add(r).add($("<div>").addClass("account-settings__avatar-button").dxButton({width:200,type:"default",icon:"photo",text:"Upload new image",onInitialized:l=>this.avatarUploader&&this.avatarUploader.option("dialogTrigger",l.element)})).appendTo(i);let n=t.editorOptions.value||((s=this.currentUserInfo)==null?void 0:s.UserAvatar);return n?($("<img>").addClass("account-settings__avatar-view").attr("src",n).appendTo(r),t.editorOptions.value&&$("<input>").addClass("account-settings__avatar-input").attr("type","text").attr("name","Avatar").appendTo(i).val(t.editorOptions.value)):$("<i>").addClass(["account-settings__avatar-view-default","fas","fa-user"]).appendTo(r),i}}]},{itemType:"empty",colSpan:1},{colSpan:9,caption:"Account Details",itemType:"group",items:[{itemType:"simple",dataField:"ErrorMessage",label:{visible:!1},template:t=>{let r=t&&t.editorOptions&&t.editorOptions.value;return r&&$("<div />").text(r).addClass("error-message")}},{itemType:"simple",dataField:"UserName",label:{text:"Username"},validationRules:[{type:"required",message:"Username is required"}]},{itemType:"group",colCount:2,items:[{itemType:"simple",dataField:"FirstName",label:{text:"First Name"},validationRules:[{type:"required",message:"First Name is required"}]},{itemType:"simple",dataField:"LastName",label:{text:"Last Name"},validationRules:[{type:"required",message:"Last Name is required"}]}]},{itemType:"simple",dataField:"PhoneNumber",label:{text:"Phone Number"}},{itemType:"simple",dataField:"Email",label:{text:"Email"},validationRules:[{type:"required",message:"Email is required"},{type:"email",message:"Please use a valid email address"}]},{itemType:"simple",cssClass:"account-settings__password-area",template:()=>$("<div />").css("font-weight","bold").text("Change Password")},{itemType:"simple",dataField:"OldPassword",label:{text:"Current password"},editorOptions:{mode:"password"},validationRules:[{type:"custom",reevaluate:!0,validationCallback:t=>{var r,i;return((i=(r=this.accountSettingsForm)==null?void 0:r.getEditor("NewPassword"))==null?void 0:i.option("value"))?!!t:!0},message:"Old password is required"}]},{itemType:"simple",dataField:"NewPassword",label:{text:"New password"},editorOptions:{mode:"password",inputAttr:{autocomplete:"new-password"}}},{itemType:"simple",dataField:"NewPasswordRepeat",label:{text:"Confirm new password"},editorOptions:{mode:"password"},validationRules:[{type:"custom",reevaluate:!0,validationCallback:t=>{var r,i;return(((i=(r=this.accountSettingsForm)==null?void 0:r.getEditor("NewPassword"))==null?void 0:i.option("value"))||"")===t.value},message:"Password mismatch"}]},{itemType:"button",horizontalAlignment:"right",cssClass:"account-settings__submit-btn",buttonOptions:{text:"Save Changes",type:"success",useSubmitBehavior:!0,width:200}}]}]}]}}};var Co={};ie(Co,{createConfirm:()=>ki});function ki(o){let t=$.Deferred(),i=$("<div/>").appendTo(window.document.body).dxPopup({showTitle:!1,height:140,width:370,contentTemplate:n=>{n.addClass("iszolea-dx-confirm"),$("<b/>").addClass("message").text(o).appendTo(n);let s=$("<div/>").addClass("buttons").appendTo(n);$("<div/>").dxButton({text:"Delete",type:"danger",onClick:()=>{i.hide(),t.resolve(!0)}}).appendTo(s),$("<div/>").dxButton({text:"Cancel",onClick:()=>{i.hide(),t.resolve(!1)}}).appendTo(s)},onHidden:()=>{i.dispose(),i.element().remove()}}).dxPopup("instance");return i.show(),t}var xo={};ie(xo,{createLanding:()=>Gi});function Gi(o,t,r,i={enabled:!1}){$i(t).then(n=>{Hi(o,n,r,i)})}function $i(o){let t=$.Deferred();if(typeof o=="string"){let r=window.sessionStorage.getItem(De);r?t.resolve(JSON.parse(r)):x(o,"post").done(i=>{let n={applicationName:i.ApplicationName,businessName:i.BusinessName,landingPageLogo:i.LandingPageLogo,logoImage:i.LogoImage,description:i.Description};window.sessionStorage.setItem(De,JSON.stringify(n)),t.resolve(n)})}else t.resolve(o);return t}function Hi(o,t,r,i){let n=$("<div />").addClass("iszolea-landing-page").appendTo(o),s=$("<div />").addClass("landing-container").appendTo(n);i.enabled?n.addClass("photo-gallery-mode"):(n.addClass("default-mode"),s=n);let l=$("<img />").attr("src",t.landingPageLogo).addClass("logo-large").on("error",g=>l.css("display","none")).appendTo(s);$("<div />").addClass("logo-container").appendTo(s).append(l,$("<span />").addClass("business-name").text(t.businessName).appendTo(s)),$("<h2 />").text(`Welcome to ${t.description}`).appendTo(s),r&&$("<div />").addClass("sign-in-button").append($("<div />").dxButton({text:"Sign In",width:k.isLegacyRender?void 0:"200px",type:"default",onClick:()=>{window.sessionStorage.clear(),window.location.href=`/Home/Login?returnUrl=${encodeURIComponent(window.location.href.toString())}`}})).appendTo(s),i.enabled&&Dt(i.$container||n,i.imageUrls||[],i.imgChangeIntervalSec||8,i.transitionTimeSec||2)}var Ao={};ie(Ao,{createAccessDeniedToReport:()=>Wi});function Wi(o,t,r){let i=$("<div>").addClass("access-denied-to-report-page").appendTo(o);if($("<h2>").addClass("error-text").text("Access denied to the report").appendTo(i),t&&t.length){let n=t.map(s=>$("<span>").addClass("role").text(s));$("<p>").text("Required roles for report: ").append(n).appendTo(i)}if(r&&r.length){let n=r.map(s=>$("<span>").addClass("role").text(s));$("<p>").text("Required roles for db connection: ").append(n).appendTo(i)}}var Go={};ie(Go,{ControlConfigurator:()=>lt,ControlDisplay:()=>pt,DisplayManager:()=>ut,default:()=>Ae});function ee(o,t){let r=$("<p/>").html(t).text(),i=$("<div>",{class:"report-details-popover"}).html(r).appendTo(document.body);return $(i).dxPopover({target:o,showEvent:"dxclick",position:"bottom",width:500}).dxPopover("instance")}function zi(o,t,r={},i,n,s=!1){let l=!1,g={export:{enabled:!!r.exportFileName,allowExportSelectedData:!0},remoteOperations:!0,columnAutoWidth:!0,showBorders:!0,selection:{mode:"multiple"},keyboardNavigation:{enabled:!1},paging:{pageSize:50},searchPanel:{visible:!0},filterRow:{visible:!0},headerFilter:{visible:!0},scrolling:{mode:"virtual"},onContentReady:h=>{if(Ki(h.component),!l){if(l=!0,!s)for(let S=0;S<h.component.columnCount();S++){let T=h.component.columnOption(S,"dataType");h.component.columnOption(S,"width")||(T==="boolean"&&h.component.columnOption(S,"width","100px"),T==="datetime"&&h.component.columnOption(S,"width","150px"))}setTimeout(()=>{let S=h.component.getScrollable();S&&S.scrollTo({top:0})})}},onToolbarPreparing:h=>{i&&h.toolbarOptions.items.unshift({location:"before",template(){let S=$("<h2 />").addClass("grid-header").text(i);return n&&S.append($("<i />").addClass("fas").addClass("fa-info-circle").addClass("report-details-link").attr("title","Click to see further details")),S}})}},p=t.onContentReady?h=>{g.onContentReady(h),t.onContentReady(h)}:g.onContentReady;Yi(t,r);let m=$.extend({},g,t,{onContentReady:p}),E=o.dxDataGrid(m).dxDataGrid("instance");return E.element().addClass(oe.dxDataGrid),E}function Yi(o,t){var i,n,s;if((n=(i=o==null?void 0:o.summary)==null?void 0:i.totalItems)==null?void 0:n.some(l=>l.summaryType==="count"))return;let r=t==null?void 0:t.summaryColumn;!r&&((s=o==null?void 0:o.columns)==null?void 0:s.length)&&(r=typeof o.columns[0]=="string"?o.columns[0]:o.columns[0].dataField),r&&(o.summary||(o.summary={}),o.summary.totalItems||(o.summary.totalItems=[]),o.summary.totalItems.push({column:r,summaryType:"count"}))}function Ki(o){var s,l,g;let t=o.option("summary.totalItems"),r=(s=t==null?void 0:t.filter(p=>p.summaryType==="count")[0])==null?void 0:s.column,i=r&&o.getVisibleColumns().findIndex(p=>p.dataField===r);if(!i){let p=o.option("selection");i=p&&p.mode!=="none"?o.getVisibleColumns().findIndex(E=>!!E.dataField):0}let n=(l=o.getVisibleColumns()[i])==null?void 0:l.dataField;n&&r!==n&&o.option("summary",{totalItems:[{column:(g=o.getVisibleColumns()[i])==null?void 0:g.dataField,summaryType:"count"}]})}function He(o,t,r={},i,n,s=!1,l=!1){let g=zi(o,t,r,i,n,s);return l||de(g),g}function ge(o,t){return $("<span>").attr("title",t).text(o)}function at(o,t){let r=$.Deferred();return x(o,"POST",JSON.stringify(t),!1,{contentType:"application/json"}).done(r.resolve).fail(i=>{r.reject(i)}),r.promise()}var Mt=class{constructor(t,r){this.$container=t,this.data=r||[]}render(){let t={dataSource:this.data,editing:{mode:"row",allowAdding:!0,allowDeleting:!0,allowUpdating:!0,useIcons:!0},headerFilter:{visible:!1},grouping:{contextMenuEnabled:!1},groupPanel:{visible:!1},searchPanel:{visible:!1},filterRow:{visible:!1},remoteOperations:!1,selection:{mode:"none"},columns:[{dataField:"value",allowEditing:!0},{dataField:"title",allowEditing:!0},{dataField:"image",allowEditing:!0,cellTemplate:(i,n)=>{$("<div>").css({"text-align":"center"}).append($("<img>",{src:n.data.image})).appendTo(i)},editCellTemplate:(i,n)=>{let s=n.value||"",l=$('<div style="position: relative; display: flex; align-items: center; justify-content: center;" />'),g=$(`<img src="${s}" />`),p=$('<a class="dx-link dx-icon-upload" style="position: absolute; right: 8px; text-decoration: none; font-size: 18px;" />'),m=$('<input type="file" style="display:none;" />');return p.on("click",()=>{m.click()}),m.on("change",E=>{if(E.target.files.length){let h=new FileReader;h.onloadend=()=>{g.attr("src",h.result),n.setValue(h.result)};let S=E.target.files[0];S?h.readAsDataURL(S):g.attr("src","")}}),g.appendTo(l),p.appendTo(l),m.appendTo(l),l}},{type:"buttons",width:100,buttons:["edit",{hint:"Delete",icon:"trash",onClick:i=>{let n=this.grid.option("dataSource");n.splice(i.row.rowIndex,1),this.grid.option("dataSource",n)}}]}]},r=$("<div />").appendTo(this.$container);this.grid=V(r,{options:t,isFullScreen:!1})}getData(){return this.grid.option("dataSource")}getBaseType(){return"string"}};var Ot=class{constructor(t,r){this.$container=t,this.data=A({items:[],multiselect:!1},r)}render(){let t={dataSource:this.data.items,height:400,keyExpr:"key",editing:{mode:"row",allowAdding:!0,allowDeleting:!0,allowUpdating:!0,useIcons:!0},headerFilter:{visible:!1},grouping:{contextMenuEnabled:!1},groupPanel:{visible:!1},searchPanel:{visible:!1},filterRow:{visible:!1},remoteOperations:!1,selection:{mode:"none"},columns:[{dataField:"key",visible:!1},{dataField:"value",allowEditing:!0},{type:"buttons",width:100,buttons:["edit",{hint:"Delete",icon:"trash",onClick:i=>{let n=this.grid.option("dataSource");n.splice(i.row.rowIndex,1),this.grid.option("dataSource",n)}}]}],toolbar:{items:[{location:"before",widget:"dxCheckBox",options:{text:"Multiselect",value:this.data.multiselect,onValueChanged:i=>{this.data.multiselect=i.value}}},{location:"after",name:"addRowButton"}]},onInitNewRow:i=>{let s=(this.grid.option("dataSource")||[]).map(g=>g.key),l=Math.max(0,...s);i.data.key=l+1}},r=$("<div />").appendTo(this.$container);this.grid=V(r,{options:t,isFullScreen:!1})}getData(){return{items:this.grid.option("dataSource"),multiselect:this.data.multiselect}}getBaseType(){return"string"}};var Ut=class{constructor(t,r,i){this.$container=t,this.data={multiple:(r==null?void 0:r.multiple)||!1,metaDataFields:(r==null?void 0:r.metaDataFields)||[]},this.initData=i}render(){this.form=$("<div />").dxForm({formData:this.data,width:"100%",labelLocation:"top",items:[{dataField:"multiple",editorType:"dxCheckBox",visible:!1},{dataField:"metaDataFields",editorType:"dxTagBox",editorOptions:{items:this.initData.fields}}]}).appendTo(this.$container).dxForm("instance")}getData(){return this.form.option("formData")}getBaseType(){return"string"}};var Pt=class{constructor(t,r,i){this.$container=t,this.data=r,this.initData=i}render(){this.form=$("<div />").dxForm({formData:this.data,width:"100%",labelLocation:"top",items:[{dataField:"actionType",validationRules:[{type:"required"}]},{dataField:"fields",validationRules:[{type:"required"},{type:"custom",validationCallback:t=>t.value.length>0,message:"Required"}],editorType:"dxTagBox",editorOptions:{dataSource:this.initData.fields,searchEnabled:!0}}]}).appendTo(this.$container).dxForm("instance")}getData(){if(!this.form.validate().isValid)return;let r=this.form.getEditor("actionType").option("value"),i=this.form.getEditor("fields").option("value");return{actionType:r,fields:i}}getBaseType(){return"string"}};var Nt=class{constructor(t,r){this.$container=t,this.data={url:typeof(r==null?void 0:r.url)>"u"?"":r.url,text:typeof(r==null?void 0:r.text)>"u"?"":r.text,openNewTab:typeof(r==null?void 0:r.openNewTab)>"u"?!0:r.openNewTab,useStaticLink:r?typeof r.useStaticLink>"u"?!0:r.useStaticLink:!1}}render(){this.form=$("<div />").dxForm({formData:this.data,width:"100%",labelLocation:"top",items:[{dataField:"useStaticLink",editorType:"dxCheckBox",editorOptions:{onValueChanged:t=>{this.form.itemOption("url","visible",t.value)}}},{visible:this.data.useStaticLink,dataField:"url",validationRules:[{type:"required"}]},{dataField:"text",label:{text:"Text (optional)"}},{dataField:"openNewTab",label:{text:"Open in a new tab"},editorType:"dxCheckBox"}]}).appendTo(this.$container).dxForm("instance")}getData(){var l;if(!this.form.validate().isValid)return;let r=(l=this.form.getEditor("url"))==null?void 0:l.option("value"),i=this.form.getEditor("text").option("value"),n=this.form.getEditor("openNewTab").option("value"),s=this.form.getEditor("useStaticLink").option("value");return{url:r,text:i,openNewTab:n,useStaticLink:s}}getBaseType(){return"string"}};var Lt=class{constructor(t,r,i,n){this.$container=t,this.data=A({multiselect:!1,grouping:!1,table:"",key:"",fields:[]},r),this.initData=i,this.baseType=n,this.allowedTypes=!n||n==="string"?["string","number"]:["number"],this.loadPanel=$("<div />").dxLoadPanel({visible:!1,message:"Loading...",container:this.$container,position:{of:this.$container},shading:!0,showPane:!0}).dxLoadPanel("instance")}async loadTables(){let t=await x(`${this.initData.getContextTablesUrl}?contextName=${this.initData.context}&sort=[{'selector':'FullTableName','desc':false}]`);return(t==null?void 0:t.data)||[]}async loadFields(t){let r=await x(`${this.initData.getTableFieldsUrl}?contextName=${this.initData.context}&table=${t}`);return(r==null?void 0:r.data)||[]}updateTablesDS(t){this.form.getEditor("table").option("dataSource",t)}updateKeyDS(t){let r=t.filter(n=>this.allowedTypes.includes(n.Type)).map(n=>n.Name);this.form.getEditor("key").option("dataSource",r)}updateFieldsDS(t){let r=t.map(n=>n.Name);this.form.getEditor("fields").option("dataSource",r)}updateCheckboxes(){let t=this.form.getEditor("multiselect"),r=this.form.getEditor("grouping");r.option("disabled",!!t.option("value")),t.option("disabled",this.baseType==="number"||!!r.option("value"))}render(){this.form=$("<div />").dxForm({labelLocation:"top",width:"100%",formData:this.data,onContentReady:()=>window.setTimeout(()=>this.updateCheckboxes()),items:[{dataField:"table",editorType:"dxSelectBox",isRequired:!0,editorOptions:{width:"100%",deferRendering:!1,dataSource:[],displayExpr:"FullTableName",valueExpr:"FullTableName",searchEnabled:!0,itemTemplate:t=>{let r=$("<div />");return $("<span />").text(t.FullTableName).appendTo(r),t.EntityType===2?$("<span />").text("View").addClass("source-badge view-badge").appendTo(r):t.EntityType===1&&$("<span />").text("Table").addClass("source-badge table-badge").appendTo(r),r},onValueChanged:async t=>{let r=t.component&&t.component.option("selectedItem"),i=this.form.getEditor("key"),n=this.form.getEditor("fields");try{this.loadPanel.show();let s=await this.loadFields(r.FullTableName);this.updateKeyDS(s),this.updateFieldsDS(s),i.option("value",null),i.option("disabled",!1),n.option("value",null),n.option("disabled",!1)}finally{this.loadPanel.hide()}}}},{dataField:"key",editorType:"dxSelectBox",isRequired:!0,editorOptions:{width:"100%",deferRendering:!1,dataSource:[]}},{dataField:"fields",editorType:"dxTagBox",isRequired:!0,editorOptions:{width:"100%",deferRendering:!1,dataSource:[]}},{itemType:"group",colCount:2,items:[{dataField:"multiselect",editorType:"dxCheckBox",editorOptions:{disabled:this.baseType==="number",onValueChanged:()=>this.updateCheckboxes()},label:{location:"left"}},{dataField:"grouping",editorType:"dxCheckBox",editorOptions:{onValueChanged:()=>this.updateCheckboxes()},label:{location:"left"}}]}]}).dxForm("instance"),this.$container.append(this.form.element()).append(this.loadPanel.element()),this.loadPanel.show(),Promise.all([this.loadTables(),this.data.table?this.loadFields(this.data.table):Promise.resolve([])]).then(t=>{let r=t[0],i=t[1];this.updateTablesDS(r),this.updateKeyDS(i),this.updateFieldsDS(i)}).finally(()=>this.loadPanel.hide())}getData(){if(!!this.form.validate().isValid)return this.form.option("formData")}getBaseType(){return this.baseType||"string"}};var Ce={[1]:{name:"CreatedAt",type:"date",displayType:JSON.stringify({type:10006,data:{}})},[2]:{name:"CreatedBy",type:"string",displayType:JSON.stringify({type:10001,data:{}})},[3]:{name:"LastUpdateAt",type:"date",displayType:JSON.stringify({type:10006,data:{}})},[4]:{name:"LastUpdateBy",type:"string",displayType:JSON.stringify({type:10001,data:{}})}},Ji={string:JSON.stringify({type:10001,data:{}}),number:JSON.stringify({type:10002,data:{}}),decimal:JSON.stringify({type:10003,data:{}}),boolean:JSON.stringify({type:10004,data:{}}),datetime:JSON.stringify({type:10005,data:{}}),date:JSON.stringify({type:10006,data:{}})},qi={[1]:"string",[2]:"string",[8]:"string",[3]:"string",[4]:"string",[5]:"decimal",[6]:"string",[7]:"string",[10001]:"string",[10002]:"number",[10003]:"decimal",[10004]:"boolean",[10005]:"datetime",[10006]:"date"},Qi={string:[10001,10002,10003,10004,10005,10006,1,3,4,6,7,2,8],number:[10001,10002,10003,10004,10005,10006,5,8],decimal:[10001,10002,10003,10004,10005,10006,5],boolean:[10001,10002,10003,10004,10005,10006],datetime:[10001,10002,10003,10004,10005,10006],date:[10001,10002,10003,10004,10005,10006]};var lt=class{constructor(t,r,i){this.baseTypeTitle="Base Type";this.customTypeTitle="Custom Type";this.displayTypes=[{key:10001,value:"String",type:this.baseTypeTitle},{key:10002,value:"Number",type:this.baseTypeTitle},{key:10003,value:"Decimal",type:this.baseTypeTitle},{key:10004,value:"Boolean",type:this.baseTypeTitle},{key:10005,value:"Datetime",type:this.baseTypeTitle},{key:10006,value:"Date",type:this.baseTypeTitle},{key:1,value:"Icons",type:this.customTypeTitle},{key:2,value:"PredefinedValues",type:this.customTypeTitle},{key:8,value:"ReferencedValue",type:this.customTypeTitle},{key:3,value:"RabbitAction",type:this.customTypeTitle},{key:4,value:"Hyperlink",type:this.customTypeTitle},{key:5,value:"DollarValue",type:this.customTypeTitle},{key:7,value:"Image",type:this.customTypeTitle},{key:6,value:"Document",type:this.customTypeTitle}];this.editors={[1]:Mt,[2]:Ot,[8]:Lt,[3]:Pt,[4]:Nt,[7]:Ut};this.editorsInitData={};this.fields=[];this.systemFieldPredefinedData=null;this.$container=t.$container,this.isStandalonePage=t.isStandalonePage,this.groupFieldsUrl=t.groupFieldsUrl,this.loadDataUrl=t.loadDataUrl,this.updateDataUrl=t.updateDataUrl,this.batchUpdateDataUrl=t.batchUpdateDataUrl,this.addDataUrl=t.addDataUrl,this.deleteDataUrl=t.deleteDataUrl,this.updateGlobalSearchUrl=t.updateGlobalSearchUrl,this.updateInlineEditingUrl=t.updateInlineEditingUrl,this.pageTitle=t.pageTitle,this.isDataReadonly=!!t.isDataReadonly,this.disableGlobalSearch=t.disableGlobalSearch,this.enableInlineEditing=t.enableInlineEditing,this.getReportSourceDetailsUrl=t.getReportSourceDetailsUrl,this.getContextTablesUrl=t.getContextTablesUrl,this.getTableFieldsUrl=t.getTableFieldsUrl,this.onGlobalSearchSettingsChanged=r,this.onEnableInlineEditingChanged=i}getSqlEntityTypeName(t){switch(t){case 1:return"Table";case 3:return"Stored Procedure";case 2:return"View";case 0:default:return""}}render(){this.$container.addClass("aps-grid"),Promise.all([this.getAvailableFields(),this.getReportSourceDetails()]).then(t=>{this.fields=t[0],this.reportSourceDetails=t[1],this.editorsInitData[3]=()=>({fields:this.fields}),this.editorsInitData[7]=()=>({fields:this.fields}),this.editorsInitData[8]=()=>({getContextTablesUrl:this.getContextTablesUrl,getTableFieldsUrl:this.getTableFieldsUrl,context:this.reportSourceDetails.ConnectionName}),this.createMainGrid()})}async getAvailableFields(){return x(this.groupFieldsUrl)}async getReportSourceDetails(){return x(this.getReportSourceDetailsUrl)}getDisplayTypeEditor(t,r,i,n){let s=this.editors[r],l=this.editorsInitData[r];return s?new s(t,n,l?l():null,i):null}metaDataColumnTemplate(t,r){return t.css("background-color","#eee"),r.value?$('<i class="fas fa-check" style="font-size: 18px; color: #0366d6;"></i>'):$('<i class="fas fa-minus" style="font-size: 18px; color: #333;"></i>')}createMainGrid(){let t,r={dataSource:this.createMainGridDataSource(),columnChooser:{enabled:!0,allowSearch:!0,mode:"select"},errorRowEnabled:!0,height:"100%",editing:{mode:"batch",allowUpdating:!0,allowAdding:!this.isDataReadonly,allowDeleting:!this.isDataReadonly,refreshMode:"repaint",useIcons:!0},repaintChangesOnly:!0,remoteOperations:{summary:!0,paging:!0,grouping:!1,sorting:!1,filtering:!1},grouping:{allowCollapsing:!1},groupPanel:{visible:!1},selection:{mode:"multiple"},allowColumnReordering:!1,columnHidingEnabled:!1,hoverStateEnabled:!0,columnAutoWidth:!1,rowAlternationEnabled:!0,columnMinWidth:80,columns:this.prepareMainGridColumns([{dataField:"Name",caption:"Field",fixed:!0,fixedPosition:"left",sortOrder:"asc",sortIndex:1,width:180,validationRules:[{type:"required"}],cellTemplate:(n,s)=>{let l=$(`<div style="display: flex; align-items: center;">${(s==null?void 0:s.value)||""}</div>`);s.data.IsSystemColumn&&l.prepend('<i class="icon dx-icon-info" style="margin-right: 4px; color: #aaa;" title="System field"></i>'),n.append(l)}},{dataField:"IsSystemColumn",allowEditing:!1,dataType:"boolean",sortOrder:"asc",sortIndex:0,visible:!1},{dataField:"Type",allowEditing:!1,width:120,lookup:{dataSource:["string","number","decimal","boolean","datetime","date"]}},{dataField:"DisplayType",allowEditing:!0,validationRules:[{type:"required"}],width:160,calculateCellValue:n=>n.DisplayType===null?n.Type?Ji[n.Type]:null:n.DisplayType,customizeText:n=>{if(!n.value)return null;let s=le(n.value)?JSON.parse(n.value):{},l=this.displayTypes.find(g=>g.key===(s==null?void 0:s.type));return(l==null?void 0:l.value)||""},editCellTemplate:(n,s)=>{let l=le(s.value)?JSON.parse(s.value):null,g=l?l.type:null,p=l?l.data:null,m=null,E=$("<div />").dxDropDownBox({dropDownOptions:{width:650,height:515,minHeight:515,maxHeight:515},dataSource:this.displayTypes,valueExpr:"key",displayExpr:"value",value:g,disabled:!!s.row.data.IsSystemColumn,onValueChanged:h=>{s.setValue(h.value)},contentTemplate:()=>{let h=$('<div class="display-type-editor" />'),S=$('<div style="text-align: center; color: #bbb; display: flex; align-items: center;" />').text("There are no additional settings for the selected Display Type"),T=$('<div style="margin: 8px 0; display: flex; flex-direction: row" />').appendTo(h),I=$('<div style="flex-shrink: 0;" />').appendTo(T),y=$('<div style="display: flex; justify-content: center; flex-grow: 1; margin-left: 8px;">').append(S).appendTo(T),u=$('<div style="text-align: right;" />').appendTo(h),v=$('<div style="margin-right: 8px;" />').appendTo(u),w=$('<div style="margin-right: 8px;" />').appendTo(u),D=g?this.getDisplayTypeEditor(y,g,s.data.Type,p):null;return D&&(y.html(""),D.render()),m=I.dxList({dataSource:new DevExpress.data.DataSource({store:{type:"array",data:this.displayTypes.map(_=>O(A({},_),{disabled:!s.row.isNewRow&&!Qi[s.data.Type].includes(_.key)})),key:"key"},group:"type"}),width:200,height:400,grouped:!0,selectionMode:"single",selectedItemKeys:[g],keyExpr:"key",displayExpr:"value",showScrollbar:"always",onSelectionChanged:_=>{let C=_.addedItems[0].key;D=this.getDisplayTypeEditor(y,C,s.data.Type,p),y.html(""),D?D==null||D.render():y.append(S),v.dxButton("instance").option("disabled",!1)}}).dxList("instance"),v.dxButton({text:"Save",type:"success",disabled:!D,onClick:()=>{let _=D==null?void 0:D.getData(),C=m.option("selectedItemKeys")[0],M={type:C,data:_||{}};if(E.option("value",C),s.row.isNewRow){let R=(D==null?void 0:D.getBaseType())?D.getBaseType():qi[C];t.cellValue(s.rowIndex,"Type",R)}s.setValue(JSON.stringify(M)),s.component.closeEditCell(),E.close()}}).appendTo(u),w.dxButton({text:"Cancel",onClick:()=>{s.component.closeEditCell(),E.close()}}).appendTo(u),h},onOpened:()=>{let h=$(".display-type-editor .dx-list-item-selected");m.scrollToItem(h)}}).dxDropDownBox("instance");n.append(E.element()),s.row.data.IsSystemColumn||E.open()}},{dataField:"IsKeyColumn",caption:"Is Key",allowEditing:!0,width:100},{caption:"SQL Meta Data (Read-only)",columns:[{dataField:"IsIdentity",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate},{dataField:"IsNullable",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate},{dataField:"IsComputed",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate},{dataField:"HasDefaultValue",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate}]},{dataField:"Label",allowEditing:!0,width:180},{dataField:"GroupField",caption:"Group",allowEditing:!0,width:200,editCellTemplate:(n,s)=>$("<div />").dxSelectBox({value:s.value,dataSource:[...new Set(t.getDataSource().items().filter(l=>l.GroupField).map(l=>l.GroupField).sort())],acceptCustomValue:!0,showClearButton:!0,onValueChanged:l=>{s.setValue(l.value)}})},{dataField:"DataOwner",allowEditing:!0,width:80,headerCellTemplate:ge("DO","Data Owner")},{dataField:"XLSScheduleLabel",allowEditing:!0,width:80,headerCellTemplate:ge("XLS","XLS Schedule Label")},{dataField:"IsDefaultViewField",caption:"Display in default view",allowEditing:!0,width:100},{dataField:"IsExported",caption:"Export to excel",allowEditing:!0,width:100},{dataField:"Order",allowEditing:!0,editorOptions:{format:"#"},validationRules:[{type:"range",min:0,message:"Order can't be negative"}],width:80},{dataField:"Width",dataType:"number",headerCellTemplate:ge("Width","Width (in pixels)"),allowEditing:!0,editorOptions:{format:"#"},validationRules:[{type:"range",min:1,message:"Width can't be less then 1px"}],width:80},{dataField:"HidingOrder",dataType:"number",headerCellTemplate:ge("Hide","Hiding Order"),allowEditing:!0,editorOptions:{format:"#"},validationRules:[{type:"range",min:1,message:"Hiding order can't be less then 1"}],width:70},{dataField:"ToolTip",allowEditing:!0,minWidth:180}]),onSaving:n=>{n.cancel=!0,n.component.beginCustomLoading("Saving..."),n.changes.length&&(n.promise=at(this.batchUpdateDataUrl,n.changes).done(()=>{n.component.refresh(!0).done(()=>{n.component.cancelEditData()})}).always(()=>{n.component.endCustomLoading()}))},onRowUpdated:n=>{n.component.endCustomLoading(),n.component.repaint()},onToolbarPreparing:n=>{let s=n.toolbarOptions.items,l=s.filter(T=>T.name==="columnChooserButton")[0],g=s.indexOf(l),p={location:"after",template:()=>{let T=$("<div />").css({border:"1px #e0e0e0 solid",padding:"3px 6px",borderRadius:"4px",background:"white"});return $("<span />").css({margin:"0 5px 0 0",width:"100px"}).dxSwitch({value:this.enableInlineEditing,switchedOnText:"Inline Edit",switchedOffText:"Batch Edit",onValueChanged:({value:I})=>{this.enableInlineEditing=!I,x(this.updateInlineEditingUrl,"post",{updateInlineEditing:!!I}).then(()=>{this.onEnableInlineEditingChanged(I),P(`${I?"Inline":"Batch"} editing enabled`,!0)})}}).appendTo(T),T}},m={location:"after",template:()=>{let T=$("<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.disableGlobalSearch,onValueChanged:({value:y})=>{this.disableGlobalSearch=!y,x(this.updateGlobalSearchUrl,"post",{allowGlobalSearch:!!y}).then(()=>{this.onGlobalSearchSettingsChanged(y),P(`Global search ${y?"enabled":"disabled"}`,!0)})}}).appendTo(T),$("<span />").text("Allow global search").appendTo(T);let I=$("<a />").css({textDecoration:"underline",color:"blue"}).text("(?)").appendTo(T);return $("<div />").text(`For large datasets, particularly those with string values, it\u2019s advisable 
         
     | 
| 
       42 
     | 
    
         
            -
            to disable the global search function and allow filtering by column only.`).dxPopover({target:I,showEvent:"mouseenter",hideEvent:"mouseleave",position:"top",width:500}).appendTo(T),T}};s.splice(g,1);let E=s.filter(T=>T.name==="exportButton")[0],h=s.indexOf(E);s.splice(h,1) 
     | 
| 
      
 42 
     | 
    
         
            +
            to disable the global search function and allow filtering by column only.`).dxPopover({target:I,showEvent:"mouseenter",hideEvent:"mouseleave",position:"top",width:500}).appendTo(T),T}};s.splice(g,1);let E=s.filter(T=>T.name==="exportButton")[0],h=s.indexOf(E);s.splice(h,1),!this.isDataReadonly,s.push(m),s.push(l);let S=s.find(T=>T.name==="addRowButton");if(S){let T=null;S.widget="dxDropDownButton";let I=S.options;I.height=32,I.text="Add Field",I.hint="Add Field",I.splitButton=!0,I.keyExpr="key",I.displayExpr="text",I.dropDownOptions={width:210,onShowing:async()=>{let u=t.getDataSource()._items;T.option("items",[{key:1,text:"Add CreatedAt field",disabled:u.some(v=>v.Name===Ce[1].name)},{key:2,text:"Add CreatedBy field",disabled:u.some(v=>v.Name===Ce[2].name)},{key:3,text:"Add LastUpdateAt field",disabled:u.some(v=>v.Name===Ce[3].name)},{key:4,text:"Add LastUpdateBy field",disabled:u.some(v=>v.Name===Ce[4].name)}])}},I.onButtonClick=()=>t.addRow(),I.onItemClick=async y=>{this.systemFieldPredefinedData={Name:Ce[y.itemData.key].name,Type:Ce[y.itemData.key].type,DisplayType:Ce[y.itemData.key].displayType,IsSystemColumn:!0},t.addRow()},I.onInitialized=y=>{T=y.component}}if(this.reportSourceDetails){let T=$(`
         
     | 
| 
       43 
43 
     | 
    
         
             
                        <div class="cdm-sorce-details">
         
     | 
| 
       44 
44 
     | 
    
         
             
                            <div class="cdm-sorce-details__row">
         
     | 
| 
       45 
45 
     | 
    
         
             
                                <div class="cdm-sorce-details__title">DB Connection:</div>
         
     | 
| 
         @@ -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:on})},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"})}},on=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 rn=[{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=rn){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 nn=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 Ht(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(p=>p.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:on})},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"})}},on=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 rn=[{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=rn){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 nn=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 Ht(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(p=>p.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}},p={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(p),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(p=>i.component.columnOption(p,"visible",!1)),this.gridStateManager.getColumnCaptions().forEach(p=>{p.caption&&n.columnOption(p.dataField,"caption")!==p.caption&&n.columnOption(p.dataField,"caption",p.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)},nn));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),p=$("<div />").addClass("edit-width-panel").width("100%").appendTo(r);g[0].addEventListener("click",u=>{u.preventDefault(),u.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:(u,v)=>v.append($("<span />").addClass("edit-caption-btn")),onClick:({event:u})=>{u.preventDefault(),u.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:(u,v)=>v.append($("<span />").addClass("edit-tooltip-btn")),onClick:({event:u})=>{u.preventDefault(),u.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:u})=>{this.grid.columnOption(n,"dataType",u)}}).addClass("iszolea-sm").appendTo(g),T=t.width?t.width.toString():"",I=u=>{let v=u.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(p).on("click",u=>{u.stopImmediatePropagation(),u.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 sn={subvalues:[],type:"triangleMarker",color:"#8798a5",secondColor:"#e18e92",width:10,isCustomPalette:!1,palette:null,customPalette:["#61a595","Grey","rgb(153, 102, 255)","Navy"]},fe="isoz-subvalueEditorFormGroup",an=`${fe}__name`,Br=`${fe}__is-bound`,Fr=`${fe}__value`,jr=`${fe}__measure-id`,ln=`${fe}__color`,dn=["rectangleNeedle","triangleNeedle","rangeBar","triangleMarker","textCloud"],gn=["rectangle","circle","rhombus","rangeBar","triangleMarker","textCloud"];var pn=["LinearHorizontal","LinearVertical"],Wt=["#1db2f5","#f5564a","#97c95c","#ffc720","#eb3573","#a63db8","#6593bc","#faa335","#ff887c"];var Gr,$r,Yt={ownerType:($r=(Gr=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:Gr.Model)==null?void 0:$r.GaugeItem,propertyName:"GaugeSubvaluesSettings",defaultValue:JSON.stringify(sn),valueType:"string"},Hr,Wr;(Wr=(Hr=DevExpress==null?void 0:DevExpress.Dashboard)==null?void 0:Hr.Model)==null||Wr.registerCustomProperty(Yt);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 p=g.isBound?o.itemData.getMeasureValue(g.measureId).getValue():g.value;s.subvalues.push(p)})}}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:Yt.propertyName,template(n,s){let l=document.createElement("div");return new DevExpress.ui.dxButton(l,{text:"Edit in Wizard",onClick(){un(t)}}),l},label:{visible:!1}}]})}function un(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=hn(o);this._subvaluesForm=new DevExpress.ui.dxForm(s,l);let g=document.createElement("div"),p=fn(o);this._indicatorForm=new DevExpress.ui.dxForm(g,p);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(Yt.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:Wt[(((n=t.subvalues)==null?void 0:n.length)||0)%(Wt.length-1)]}),t}function zt(o,t){return o.customProperties.setValue(Yt.propertyName,JSON.stringify(t))}function cn(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((u,v)=>u<v.key?v.key:u,0)+1,I={key:T,name:`Subvalue ${T}`,isBound:!1,measureId:"",value:0,color:Wt[S.subvalues.length%(Wt.length-1)]};o.option("formData",I);let y=S.subvalues.filter(u=>u.key===I.key)[0];if(!y)S.subvalues.push(I);else{let u=S.subvalues.indexOf(y);S[u]=I}zt(t,S),s.reload(),s.option("selectedItem",S.subvalues[S.subvalues.length-1])}}}]},g=h=>{n&&n.option("disabled",!h)},p=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),zt(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,p]}function hn(o){let t=null,r=i=>{let n=i.getEditor("value"),s=i.getEditor("measureId"),l=i.getEditor("name"),g=i.option("formData").isBound,p=i.option("formData").key===-1;n&&n.option("disabled",g),s&&s.option("disabled",!g),i.element().find(`.${Br}`).css("display",p?"none":"flex"),i.element().find(`.${Fr}`).css("display",p?"none":"flex"),i.element().find(`.${jr}`).css("display",p?"none":"flex"),l&&l.option("disabled",p)};return{formData:null,colCount:2,items:[{itemType:"group",caption:"Subvalues items",template:i=>{let[n,s]=cn(i.component,o);return t=s,n}},{name:"subvalueEditor",cssClass:fe,itemType:"group",caption:"Item options",items:[{dataField:"name",cssClass:an,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:mn(i),value:i.uniqueName()}))}},{name:"color",cssClass:ln,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,zt(o,s),l&&l.name!==n.name&&t&&t.repaint(),r(i.component)}}}function mn(o){if(o.name())return o.name();let t=o.dataMember();return o.summaryType&&o.summaryType()&&(t+=` (${o.summaryType()})`),t}function fn(o){let t=o.viewType(),r=pn.some(i=>i===t)?gn:dn;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,zt(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 yn="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");vn(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 yn+this.reportId}refresh(){var t;(t=this.dashboard)==null||t.refresh()}};function vn(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 Kt=(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))(Kt||{}),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:Kt[Kt[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:`${Kt[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",Sn="reportMode",Me="customCurrentUrl",Jt=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"),p={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 Jt.applyBindings({designerOptions:p},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(p=>{let m=r.GetById(p);m&&m.container==="menu"&&(m.container=void 0)}),s.forEach(p=>{let m=r.GetById(p);m&&(m.visible=!1)});let l=r.GetById(DevExpress.Reporting.Designer.Actions.ActionId.Save),g=l.clickAction;l.clickAction=()=>{t.GetCurrentTab().url(Jt.unwrap(t[Me])),g()}}ReportOpened(t,r){t[Me]=t[Me]||Jt.observable(),t[Me](r.Url)}ReportTabClosed(t,r){t[Me]=t[Me]||Jt.observable(),t[Me](null)}getSessionKey(){return Sn+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,p,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 u=$("<div />",{class:"slideshow-report__grid-position"});E.addClass("iszolea-theme").addClass("panel-body"),u.appendTo(E),h=new Qe(O(A({},this.defaultReportSettings[7]||{}),{chartPositionMarker:u,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 Qt=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:_e,Footer:Ve,NavigationMenu:Ne,UserMenu:we,MenuSwitcher:Le,data:nr,widgets:{notify:P,fullScreen:de,popup:oo,confirm:Co,landing:xo,accessDenied:Ao,defaultGridObsolete:Dr,defaultTreeList:_r,defaultGrid:V,defaultToolbar:mr,backgroundImageViewer:Dt,imageCropDialog:wo,ImageManager:ke,DocumentManager:Ge,ImageGallery:$e},pages:{AccountSettingsPage:_o},components:{CDM:Go,SessionNotifier:$o,FileImporter:xe,FileUploader:gt},styling:eo,helpers:ao,utils:mo,reports:{CDMReportPage:Ae,DiagramReportPage:Ze,GridReportPage:Je,DashboardReportPage:qe,DXReportPage:Xe,SlideshowReportPage:qt,GanttChartReportPage:Qe,SchedulerReportPage:Qt,gridColumnTypes:Be},business:{LicenceStatus:ot,MenuItemType:be,CdmImportFileMode:Fe,FooterIndicatorStatus:yo,GridDataColumnDataType:je}},Rr=Jr;window.IszoleaUI=Jr;})();
         
     |