Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

_reportviewer.min.js 144KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. var __awaiter,Unibase;(function(Unibase){let Platform;(function(Platform){let Analytics;(function(Analytics){let Components;(function(Components){class ViewerPermissions extends Platform.Core.BaseComponent{constructor(){super();this._ReportPermission_ViewRoles=[];this._ReportPermission_ChangeRoles=[];this.Viewerpermission_ReportRoles=[];this.reportId=0;this.viewerTypeId=0;this.viewerManager=Analytics.Managers.ViewerManager.Instance();this.reportManager=Analytics.Managers.ReportManager.Instance()}cssFiles(){return[]}jsFiles(){return["platform/analytics/components/reportviewer/reportviewer.js","platform/analytics/managers/viewermanager.js","platform/analytics/requests/new/report.js","platform/permission/managers/permissionmanager.js",]}html(id){return""+(`<div class="header bg-white">
  2. <strong>Viewer Permissions<span class="reportname"></span></strong>
  3. <a class="btn btn-sm ml-auto"><i class="ti-help-alt" title="help" href="javascript:;" target="_blank"></i></a>
  4. </div>
  5. <div class="scrollable bg-light" id="div_viewerpermissions">
  6. <div class="wrapper">
  7. <div id="Bizgaze_ValidationSummary" class="clear m-b-sm">
  8. </div>
  9. <div class="card">
  10. <div class="card-body d-flex justify-content-between align-items-center py-10">
  11. <div class="font-weight-bold font-16 text-dark">Inherit report permissions</div>
  12. <label class="switch pull-right ml-10 mb-0">
  13. <input id="inheritPermissionsChk" type="checkbox"><span></span>
  14. </label>
  15. </div>
  16. </div>
  17. <div class="card" id="viewerPermissionsCard">
  18. <div class="card-body">
  19. <div class="row">
  20. <div class="col-sm-12">
  21. <strong class="Report">Everyone can view this report?</strong>
  22. <label class="switch pull-right">
  23. <input id="chkIsViewable" data-group="Viewable" checked onchange="javascript:Unibase.Platform.Analytics.Components.ViewerPermissions.Instance().setViewable(`+id+`)" type="checkbox">
  24. <span></span>
  25. </label>
  26. </div>
  27. </div>
  28. <div class="row" id="divViewRoles" style="display:none">
  29. <div class="col-sm-12 m-b">
  30. <label> Included roles that can view this report</label>
  31. <input type="hidden" id="hfViewRoles" />
  32. <select id="txtIncludeViewRoles_Viewer" style="width:100%" class="b-a" value="" multiple="multiple"></select>
  33. </div>
  34. </div>
  35. <div class="row">
  36. <div class="col-sm-12 mb-0">
  37. <label>Excluded roles that can view this report</label>
  38. <input type="hidden" id="hfViewRoles" />
  39. <select id="txtExcludeViewRoles_Viewer" style="width:100%" class="b-a" value="" placeholder="select role" multiple="multiple"></select>
  40. </div>
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <footer class="bg-white footer" style="position:absolute; bottom:0px;width:100%;">
  47. <a href="javascript:;" class="btn btn-light btn-sm mr-auto" id="btn_Close">Close</a>
  48. </footer>`)}load(viewerid,containerid){var instance=this;$("#div_viewerpermissions").height($(window).outerHeight()-115);instance.Viewerpermission_ReportRoles=[];instance.viewerManager.getViewerRoles(viewerid,instance.reportId).then(function(response){var isReportPermission,selectedRoles,i;if(response.result!=null)if(isReportPermission=response.result.find(r=>r.IsReportPermissions==!0)?!0:!1,isReportPermission)$("#inheritPermissionsChk").prop("checked",!0),$("#viewerPermissionsCard").addClass("d-none");else{for(selectedRoles=response.result,i=0;i<selectedRoles.length;i++)instance.Viewerpermission_ReportRoles.push({ReportRoleId:selectedRoles[i].ViewerRoleId,RoleId:selectedRoles[i].RoleId,ViewViewer:selectedRoles[i].ViewViewer,ChangeViewer:selectedRoles[i].ChangeViewer});instance.getRoleList(viewerid,selectedRoles)}else MessageHelper.Instance().showError(response.message,"Bizgaze_ValidationSummary")});$("#btn_Close").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove()});$("#inheritPermissionsChk").change(function(){$(this).is(":checked")?($("#viewerPermissionsCard").addClass("d-none"),instance.getReportRoles(viewerid,!0)):($("#viewerPermissionsCard").removeClass("d-none"),instance.getReportRoles(viewerid,!1))})}getReportRoles(viewerid,isSave){var instance=this;instance.reportManager.getReportRoles(instance.reportId).then(function(response){var selectedRoles,i;if(response.result!=null&&response.result.length>0)for(selectedRoles=response.result,i=0;i<selectedRoles.length;i++){let isLastRecord=i==selectedRoles.length-1;isSave?instance.addViewRole(viewerid,selectedRoles[i].RoleId,selectedRoles[i].ViewReport,selectedRoles[i].ExcludeViewReport,!0,isLastRecord):instance.removeViewRole(viewerid,selectedRoles[i].RoleId,selectedRoles[i].ViewReport,selectedRoles[i].ExcludeViewReport,isLastRecord)}else $("#inheritPermissionsChk").prop("checked",!1),$("#viewerPermissionsCard").removeClass("d-none"),MessageHelper.Instance().showError("Report does not contain roles","Bizgaze_ValidationSummary")})}getRoleList(viewerid,widgetroles){var instance=this;Unibase.Platform.Permissions.Managers.PermissionManager.Instance().getRoles("").then(function(response){var widgetpermissions_AllRoles=response.result;instance.loadAssignedRoles(viewerid,widgetroles,widgetpermissions_AllRoles)})}loadAssignedRoles(viewerid,widgetroles,widgetpermissions_AllRoles){for(var data,assignedRoles,j,assignedRole,instance=this,ExcludeViewRoles=[],_ViewerPermissions_ViewRoles=[],i=0;i<widgetpermissions_AllRoles.length;i++)for(data=widgetpermissions_AllRoles[i],assignedRoles=widgetroles,j=0;j<assignedRoles.length;j++)assignedRole=assignedRoles[j],assignedRole.RoleId==data.RoleId&&(assignedRole.ViewViewer==!0?_ViewerPermissions_ViewRoles.push({id:data.RoleId,text:data.RoleName}):assignedRole.ExcludeViewViewer==!0&&ExcludeViewRoles.push({id:data.RoleId,text:data.RoleName}));instance.loadViewerDetails(viewerid,_ViewerPermissions_ViewRoles,ExcludeViewRoles)}loadViewerDetails(viewerid,_ViewerPermissions_ViewRoles,ExcludeViewRoles){var instance=this;instance.viewerManager.getViewer(viewerid).then(function(response){var data=response.result;data.ViewAll==!0?($("#chkIsViewable").prop("checked",!0),instance.loadViewRoles(viewerid,_ViewerPermissions_ViewRoles,ExcludeViewRoles),$("#divViewRoles").hide()):($("#chkIsViewable").prop("checked",!1),instance.loadViewRoles(viewerid,_ViewerPermissions_ViewRoles,ExcludeViewRoles),$("#divViewRoles").show())})}loadViewRoles(viewerid,_ViewerPermissions_ViewRoles,ExcludeViewRoles){for(var Ids=[],i=0;i<_ViewerPermissions_ViewRoles.length;i++)Ids.push(_ViewerPermissions_ViewRoles[i].id);let ExludedIds=[];for(i=0;i<ExcludeViewRoles.length;i++)ExludedIds.push(ExcludeViewRoles[i].id);var ViewRoleElementId="txtIncludeViewRoles_Viewer",ExcludeRoleElementId="txtExcludeViewRoles_Viewer",userinfo=Unibase.Platform.Membership.Infos.Identity.getCurrentUser(),url=_appsettings.server_url()+"/apis/v4/unibase/platform/roles/getroles";url=url+"/term/";url=url.replace("#","");$("#"+ViewRoleElementId).select2({multiple:!0,allowClear:!1,data:_ViewerPermissions_ViewRoles,placeholder:"Select Role",ajax:{url:function(request){var reqUrl=url,term=request.term;return term==undefined||term==""?reqUrl+term+"/authtoken/"+userinfo.sessionId:reqUrl+term+"/authtoken/"+userinfo.sessionId},beforeSend:function(xhr){userinfo!==undefined&&userinfo!==null&&(xhr.setRequestHeader("Authorization","Basic "+userinfo.sessionId),xhr.setRequestHeader("geoposition",userinfo.latd+":"+userinfo.lgId))},delay:250,dataType:"json",processResults:function(data){for(var selectData=[],Data=JSON.parse(data.result),i=0;i<Data.length;i++)selectData.push({id:Data[i].Value,text:Data[i].SelectText});return{results:selectData}}},templateResult:function(item){return item.text},templateSelection:function(item){return item.text}});$("#"+ViewRoleElementId).val(Ids).trigger("change");$("#txtIncludeViewRoles_Viewer").on("select2:select",function(e){let result=e.params.data;if(Number(result.id)!=0){var roleId=result.id;ViewerPermissions.Instance().addViewRole(viewerid,roleId,!0,!1,!1,!0);Ids.push(roleId);$(ExludedIds).each(function(i,value){if(value==roleId){var index=ExludedIds.indexOf(value);return index>-1&&ExludedIds.splice(index,1),ExludedIds.splice(value,1),jQuery("#txtExcludeViewRoles_Viewer").val(ExludedIds).trigger("change"),!1}})}});$("#txtIncludeViewRoles_Viewer").on("select2:unselect",function(e){let result=e.params.data;if(Number(result.id)!=0){var roleId=result.id;ViewerPermissions.Instance().removeViewRole(viewerid,roleId,!0,!1,!0)}});$("#"+ExcludeRoleElementId).select2({multiple:!0,allowClear:!1,data:ExcludeViewRoles,placeholder:"Select Role",ajax:{url:function(request){var reqUrl=url,term=request.term;return term==undefined||term==""?reqUrl+term+"/authtoken/"+userinfo.sessionId:reqUrl+term+"/authtoken/"+userinfo.sessionId},beforeSend:function(xhr){userinfo!==undefined&&userinfo!==null&&(xhr.setRequestHeader("Authorization","Basic "+userinfo.sessionId),xhr.setRequestHeader("geoposition",userinfo.latd+":"+userinfo.lgId))},delay:250,dataType:"json",processResults:function(data){for(var selectData=[],Data=JSON.parse(data.result),i=0;i<Data.length;i++)selectData.push({id:Data[i].Value,text:Data[i].SelectText});return{results:selectData}}},templateResult:function(item){return item.text},templateSelection:function(item){return item.text}});jQuery("#"+ExcludeRoleElementId).val(ExludedIds).trigger("change");$(".select2-search__field").css("width","100%");$("#txtExcludeViewRoles_Viewer").on("select2:select",function(e){let result=e.params.data;if(Number(result.id)!=0){var roleId=result.id;ViewerPermissions.Instance().addViewRole(viewerid,roleId,!1,!0,!1,!0);ExludedIds.push(roleId);$(Ids).each(function(i,value){if(value==roleId){var index=Ids.indexOf(value);return index>-1&&Ids.splice(index,1),jQuery("#txtIncludeViewRoles_Viewer").val(Ids).trigger("change"),!1}})}});$("#txtExcludeViewRoles_Viewer").on("select2:unselect",function(e){let result=e.params.data;if(Number(result.id)!=0){var roleId=result.id;ViewerPermissions.Instance().removeViewRole(viewerid,roleId,!1,!0,!0)}})}addViewRole(viewerid,roleId,IsView,IsExclude,isReportPermission,ShowResponseMessage){var instance=this;let reqObj=new Unibase.Platform.Analytics.Requests.ViewerRole;reqObj.ViewerId=viewerid;reqObj.ReportId=instance.reportId;reqObj.RoleId=Number(roleId);reqObj.ViewViewer=IsView;reqObj.ExcludeViewViewer=IsExclude;reqObj.IsReportPermissions=isReportPermission;instance.viewerManager.addViewerRole(reqObj).then(function(response){ShowResponseMessage&&MessageHelper.Instance().showSuccess(response.message,"Bizgaze_ValidationSummary")})}removeViewRole(viewerid,roleId,IsView,IsExclude,ShowResponseMessage){var instance=this;let reqObj=new Unibase.Platform.Analytics.Requests.ViewerRole;reqObj.ViewerId=viewerid;reqObj.ReportId=instance.reportId;reqObj.RoleId=Number(roleId);reqObj.ViewViewer=IsView;reqObj.ExcludeViewViewer=IsExclude;instance.viewerManager.removeViewerRole(reqObj).then(function(response){ShowResponseMessage&&MessageHelper.Instance().showSuccess(response.message,"Bizgaze_ValidationSummary")})}setViewable(viewerid){var instance=this,viewable=$("#chkIsViewable").prop("checked");viewable?$("#divViewRoles").hide():$("#divViewRoles").show();instance.viewerManager.setViewable(viewerid,viewable,instance.viewerTypeId).then(function(response){MessageHelper.Instance().showSuccess(response.message,"Bizgaze_ValidationSummary")})}static Instance(){return this.rp_instance===undefined&&(this.rp_instance=new ViewerPermissions),this.rp_instance}}Components.ViewerPermissions=ViewerPermissions})(Components=Analytics.Components||(Analytics.Components={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))})(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Analytics;(function(Analytics){let Components;(function(Components){let ReportBuilder;(function(ReportBuilder){class ImportAndExport extends Platform.Core.BaseComponent{constructor(){super();this.reportmanager=Analytics.Managers.ReportManager.Instance();this.navigationhelper=Unibase.Platform.Helpers.NavigationHelper.Instance()}cssFiles(){return["libs/nestable/JqueryminMenu.css"]}jsFiles(){return["platform/analytics/managers/reportmanager.js","platform/analytics/components/reportbuilder/import.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","/platform/core/helpers/file/filehelper.js"]}html(id,containerid){var instance=this;return`<form id="form_Import" data-validate="parsley" data-isdynamic="false">
  49. <div class="bg-white modal-header pa-10"><strong class="biz-highlight-bg-color Title">Import/Export</strong>
  50. <div class="dropdown report-options-dp my-auto">
  51. <a class="nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1 " href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="" data-tooltip="true" title="" aria-describedby="ui-id-16">
  52. <span class="btn-icon-wrap"><i class="fa fa-ellipsis-v ellipsis-hover-1" aria-hidden="true"></i></span>
  53. </a>
  54. <div class="dropdown-menu dropdown-menu-right ViewerTypes_dropdown">
  55. <a href="javascript:;" id="fileExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportsReports();">Reports</a>
  56. <a href="javascript:;" id="viewersExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportViewers(0,0,0,'');">Viewers</a>
  57. <a href="javascript:;" id="dyfilExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportDynamicFilters(0);">Dynamic Filters</a>
  58. <a href="javascript:;" id="dyfilExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components._CommonFilter.Instance().exportFilter(0, 0);">Common Filters</a>
  59. </div>
  60. </div>
  61. <div id="div_importmessage" class="form-error-message"></div>
  62. </div>
  63. <div data-simplebar class="import-export-body modal-body simple-scroll-bar">
  64. <div id="industry_validation" class="clear"></div>
  65. <div id="div_importexport" class="">
  66. <div class="card" id="importexportsection">
  67. <div class="card-body">
  68. <div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required">
  69. <br>
  70. <input type="radio" id="report_radio_btn" class="importreport" onclick="" name="report_viewer_dyfil_import_radio_btn" value="report">
  71. <label for="report_radio_btn">Report</label>
  72. <br>
  73. <input type="radio" id="viewer_radio_btn" class="importviewer" onclick="" name="report_viewer_dyfil_import_radio_btn" value="viewer">
  74. <label for="viewer_radio_btn">Viewers</label>
  75. <br>
  76. <input type="radio" id="dyfil_radio_btn" class="importdynamicfilters" onclick="" name="report_viewer_dyfil_import_radio_btn" value="dynamic filters">
  77. <label for="dyfil_radio_btn">Dynamic Filters</label>
  78. <br>
  79. <input type="radio" id="cmfil_radio_btn" class="importcommonfilters" onclick="" name="report_viewer_dyfil_import_radio_btn" value="common filters">
  80. <label for="cmfil_radio_btn">Common Filters</label>
  81. <br>
  82. <hr/> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().FileUpload('${containerid}');">Upload</a>
  83. </div>
  84. </div>
  85. </div>
  86. <div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div>
  87. </div>
  88. </div>
  89. <div class="bg-white card-footer"><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto">Close</button></div>
  90. </form>`}showImportExport(){this.navigationHelper.popup(0,"",Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance(),null,Platform.Helpers.Size.Large)}exportsReports(){var instance=this;instance.navigationHelper.showLoading();instance.reportmanager.exportReports().then(function(response){response.result!=""&&MessageHelper.Instance().showSuccess(response.message,"");instance.downloadResponseAndHideLoading(response,"Reports.xml")})}FileUpload(containerid){var instance=this,url;instance.navigationhelper.showLoading();let isReportUpload=$("#report_radio_btn").prop("checked"),isDynamicFiltersUpload=$("#dyfil_radio_btn").prop("checked"),isCommonFiltersUpload=$("#cmfil_radio_btn").prop("checked");url=isReportUpload?_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importreports/np":isDynamicFiltersUpload?_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importdynamicfilters/np":isCommonFiltersUpload?_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importcommonfilters/np":_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importreportviews/np";Platform.Helpers.FileHelper.Instance().upload(url,Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData).then(function(response){response.status==Unibase.Data.Status.Error?MessageHelper.Instance().showError(response.message,"div_importmessage"):(MessageHelper.Instance().showSuccess("success","div_importmessage"),$("#"+containerid).modal("hide"),$("#"+containerid).remove());instance.navigationhelper.hideLoading()})}load(id,containerid){var instance=this;$("#btn_CloseImport").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(e){Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().fileEvent(e)});$("#txt_Icon").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_Icon").focusout(function(){$(".div_Icons").fadeOut()})}fileEvent($event){const fileSelected=$event.target.files[0];Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData=new FormData;Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData.append(fileSelected.name,fileSelected)}exportViewers(viewerId,viewerName,reportid,containerId){this.navigationHelper.showLoading();let rv_ins;containerId&&(rv_ins=Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(containerId));let _id=reportid||rv_ins&&rv_ins.ReportId||0;Unibase.Platform.Analytics.Managers.ViewerManager.Instance().exportViewers(viewerId||0,_id).then(response=>{if(response.status==Unibase.Data.Status.Success&&response.result!=null){var filename;if(viewerName&&containerId)filename=rv_ins.reportname+"_"+viewerName+".xml";else if(containerId)filename=rv_ins.reportname+"_viewers.xml";else{let ip=Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;if(ip&&ip.length){let reportNameIP=ip.find(x=>x.Key.endsWith("_reportname"));reportNameIP.Value&&(filename=reportNameIP.Value+"_viewers.xml")}filename||(filename="AllReportViewers.xml")}this.downloadResponseAndHideLoading(response,filename)}else response.status==Unibase.Data.Status.Warning&&(MessageHelper.Instance().showError(response.message,"div_message"),this.navigationHelper.hideLoading())})}exportReportViewers(reportId){reportId||(reportId=Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key.endsWith("_reportid")).Value));this.exportViewers(0,"",reportId,"")}exportDynamicFilters(reportId){this.navigationHelper.showLoading();let ip=Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters,reportName="";if(!reportId&&ip.length){let _reportid=ip.find(x=>x.Key.endsWith("_reportid"));_reportid&&_reportid.Value&&(reportId=Number(_reportid.Value))}reportId&&(reportName=ip.find(x=>x.Key.endsWith("_reportname")).Value);this.reportmanager.exportDynamicFilters(reportId).then(res=>{res.status==Unibase.Data.Status.Success?this.downloadResponseAndHideLoading(res,(reportName||"AllReports")+"_DynamicFilters.xml"):this.navigationHelper.hideLoading()})}downloadResponseAndHideLoading(response,filename){var xmltext=response.result,pom=document.createElement("a"),bb=new Blob([xmltext],{type:"text/plain"});pom.setAttribute("href",window.URL.createObjectURL(bb));pom.setAttribute("download",filename);pom.dataset.downloadurl=["text/plain",pom.download,pom.href].join(":");pom.draggable=!0;pom.classList.add("dragout");pom.click();this.navigationHelper.hideLoading()}static Instance(){return this.instance===undefined&&(this.instance=new ImportAndExport),this.instance}}ImportAndExport.fileData=new FormData;ReportBuilder.ImportAndExport=ImportAndExport})(ReportBuilder=Components.ReportBuilder||(Components.ReportBuilder={}))})(Components=Analytics.Components||(Analytics.Components={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Helpers;(function(Helpers){let Size;(function(Size){Size[Size.None=0]="None";Size[Size.Mini=1]="Mini";Size[Size.Medium=2]="Medium";Size[Size.Large=3]="Large";Size[Size.ExtraLarge=4]="ExtraLarge";Size[Size.Auto=5]="Auto";Size[Size.DockRight=6]="DockRight";Size[Size.DockLeft=7]="DockLeft"})(Size=Helpers.Size||(Helpers.Size={}))})(Helpers=Platform.Helpers||(Platform.Helpers={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={}));__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})},function(Unibase){let Platform;(function(Platform){let Integrations;(function(Integrations){let Managers;(function(Managers){class IntegrationManager extends Platform.Core.BaseManager{getserviceintegrators(){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().getAsync("apis/v4/unibase/integrations/integrator/getserviceintegratorslist").then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getIntegrator(integratorId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/getintegratorbyid/integratorid/"+integratorId;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}saveIntegrator(obj){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().postAsync("apis/v4/unibase/integrations/integrator/saveintegrator",obj).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getProvider(providerId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/providers/getprovider/providerid/"+providerId;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getProviders(){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().getAsync("apis/v4/unibase/integrations/providers/getproviders").then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getProvidersByIds(ids){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/provider/getprovidersbyids/providerids/"+ids;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getServicesByProviderId(providerId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/providers/getservicesbyproviderid/providerid/"+providerId;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getServices(){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().getAsync("apis/v4/unibase/integrations/providers/getservices").then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getServicesByIds(ids){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/providers/getservicesbyids/serviceids/"+ids;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getService(serviceId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/providers/getservice/serviceid/"+serviceId;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}saveService(obj){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().postAsync("apis/v4/unibase/integrations/providers/saveservice",obj).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getintegratorsettings(serviceintegratorid){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/getsettings/serviceintegratorid/"+serviceintegratorid;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getinputsettings(serviceIntegratorId,isInput){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/inputsettings/serviceintegratorid/"+serviceIntegratorId+"/isinput/"+isInput;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}deleteServiceIntegrator(serviceIntegratorId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/providers/deleteserviceintegrator/serviceintegratorid/"+serviceIntegratorId;return yield this.dataHelper().postAsync(url,null).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}changeServiceIntegratorStatus(serviceIntegratorId,isUpdate){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/changeserviceintegratorstatus/serviceintegratorid/"+serviceIntegratorId+"/isupdate/"+isUpdate;return yield this.dataHelper().postAsync(url,null).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}UpdateServiceIntegrator(obj){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().postAsync("apis/v4/unibase/integrations/integrator/updateserviceintegrator",obj).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}saveSetting(obj){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().postAsync("apis/v4/unibase/integrations/integrator/savesetting/List",obj).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getServiceIntegratorsByIntegratorId(integratorid){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/getserviceintegratorsbyintegratorid/integratorid/"+integratorid;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getServiceIntegrators(plantCode,fromDate,toDate){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/getserviceintegrators/plantcode/"+plantCode+"/fromdate/"+fromDate+"/todate/"+toDate;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getservicesbyIntegrator(integratorid){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/providers/getservicesbyintegrator/integratorid/"+integratorid;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}saveServiceIntegrator(obj){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().postAsync("apis/v4/unibase/integrations/integrator/saveserviceintegrator",obj).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}saveProvider(obj){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().postAsync("apis/v4/unibase/integrations/providers/saveprovider",obj).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getsyncsbyserviceintegrator(serviceintegratorid){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/getsyncsbyserviceintegrator/serviceintegratorid/"+serviceintegratorid;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getsynclogsbysyncid(syncid){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/getsynclogsbysyncid/syncid/"+syncid;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}executeServiceRequest(executeService){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().postAsync("apis/v4/unibase/integrations/integrator/executeservicerequest",executeService).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}importProvider(importReq){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().postAsync("/apis/v4/unibase/integrations/providers/importprovider",importReq).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}exportProvider(providerId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/provider/export/"+providerId;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=response.result),response})})}duplicateProvider(providerId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/providers/duplicate/providerid/"+providerId;return yield this.dataHelper().postAsync(url,null).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}updateProviderStatus(providerid,statusId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/providers/updatestatus/providerid/"+providerid+"/installedstatusid/"+statusId;return yield this.dataHelper().postAsync(url,null).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}updateServiceStatus(serviceId,statusId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/providers/updateservicestatus/serviceid/"+serviceId+"/statusid/"+statusId;return yield this.dataHelper().postAsync(url,null).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}updateServiceIntegratorStatus(serviceintegratorid,statusId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/updateserviceintegratorstatus/serviceintegratorid/"+serviceintegratorid+"/statusid/"+statusId;return yield this.dataHelper().postAsync(url,null).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}deleteProvider(serviceId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/providers/deleteservice/serviceid/"+serviceId;return yield this.dataHelper().postAsync(url,null).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}regenerateSession(integratorId){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/updatesession/id/"+integratorId;return yield this.dataHelper().postAsync(url,null).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}resetSettings(serviceintegratorid){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/resetsettings/serviceintegratorid/"+serviceintegratorid;return yield this.dataHelper().postAsync(url,null).then(function(response){return response})})}refreshIntegrationProviders(){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().postAsync("apis/v4/unibase/integrations/providers/refreshintegrationproviders/np",null).then(function(response){return MessageHelper.Instance().showSuccess(response.Message,"Unibase_ValidationSummary"),response})})}getIntegrationProviders(){return __awaiter(this,void 0,void 0,function*(){return yield this.dataHelper().getAsync("apis/v4/unibase/integrations/provider/integrationproviders").then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}getServiceIntegratorById(serviceintegratorid){return __awaiter(this,void 0,void 0,function*(){const url="apis/v4/unibase/integrations/integrator/getServiceIntegratorbyid/serviceintegratorid/"+serviceintegratorid;return yield this.dataHelper().getAsync(url).then(function(response){return response.result!=null&&(response.result=JSON.parse(response.result)),response})})}static Instance(){return this._instance===undefined&&(this._instance=new IntegrationManager),this._instance}}Managers.IntegrationManager=IntegrationManager})(Managers=Integrations.Managers||(Integrations.Managers={}))})(Integrations=Platform.Integrations||(Platform.Integrations={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Filters;(function(Filters){let Components;(function(Components){class FilterPermission extends Platform.Core.BaseComponent{constructor(){super();this.Filterspermission_ReportRoles=[];this.filterManager=Filters.Managers.FilterManager.Instance()}jsFiles(){return["platform/filters/managers/filtermanager.js","platform/filters/components/filter.js","platform/permission/managers/permissionmanager.js"]}cssFiles(){return[]}html(){return""+`<div class="header bg-white">
  91. <strong> Filter Permissions<span class="filtername"></span></strong>
  92. <a class="btn btn-sm ml-auto"><i class="ti-help-alt" title="help" href="javascript:;" target="_blank"></i></a>
  93. </div>
  94. <div class="scrollable bg-light" id="div_filterpermissions">
  95. <div class="wrapper">
  96. <div id="Bizgaze_ValidationSummary" class="clear m-b-sm">
  97. </div>
  98. <div class="card">
  99. <div class="card-body">
  100. <div class="row">
  101. <div class="col-sm-12">
  102. <strong class="lblFilter">Everyone can view this filter?</strong>
  103. <label class="switch pull-right">
  104. <input id="chkIsViewable" data-group="Viewable" checked onchange="javascript:Unibase.Platform.Filters.Components.FilterPermission.Instance().setViewable()" type="checkbox">
  105. <span></span>
  106. </label>
  107. </div>
  108. </div>
  109. <div class="row" id="divViewRoles" style="display:none">
  110. <div class="col-sm-12 m-b">
  111. <label> Included roles that can view this filter</label>
  112. <input type="hidden" id="hfViewRoles" />
  113. <select id="txtIncludeViewRoles" style="width:100%" class="b-a" value="" multiple="multiple"></select>
  114. </div>
  115. </div>
  116. <div class="row">
  117. <div class="col-sm-12 mb-0">
  118. <label>Excluded roles that can view this filter</label>
  119. <input type="hidden" id="hfViewRoles" />
  120. <select id="txtExcludeViewRoles" style="width:100%" class="b-a" value="" placeholder="select role" multiple="multiple"></select>
  121. </div>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. </div>
  127. <footer class="bg-white footer" style="position:absolute; bottom:0px;width:100%;">
  128. <a href="javascript:;" class="btn btn-light btn-sm mr-auto" id="btn_Close">Close</a>
  129. </footer>`}load(Filterid,containerid){var _fileCacheHelper=this.fileCacheHelper;$("#div_filterpermissions").height($(window).outerHeight()-115);_fileCacheHelper.loadJsFile("/platform/filters/managers/filtermanager.js",function(){Unibase.Platform.Filters.Components.FilterPermission.Instance().Filterspermission_filterid=Filterid;Unibase.Platform.Filters.Components.FilterPermission.Instance().Filterspermission_ReportRoles=[];Unibase.Platform.Filters.Managers.FilterManager.Instance().getFilterRoles(Filterid).then(function(response){var selectedRoles,i;if(response.result!=null){for(selectedRoles=response.result,i=0;i<selectedRoles.length;i++)Unibase.Platform.Filters.Components.FilterPermission.Instance().Filterspermission_ReportRoles.push({FilterRoleId:selectedRoles[i].FilterRoleId,RoleId:selectedRoles[i].RoleId,ViewFilter:selectedRoles[i].ViewFilter,ChangeFilter:selectedRoles[i].ChangeFilter});Unibase.Platform.Filters.Components.FilterPermission.Instance().getRoleList(Filterid,selectedRoles)}else MessageHelper.Instance().showError(response.message,"Bizgaze_ValidationSummary")})});$("#btn_Close").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove()})}getRoleList(Filterid,widgetroles){Unibase.Platform.Permissions.Managers.PermissionManager.Instance().getRoles("").then(function(response){var widgetpermissions_AllRoles=response.result;FilterPermission.Instance().loadAssignedRoles(Filterid,widgetroles,widgetpermissions_AllRoles)})}loadAssignedRoles(Filterid,widgetroles,widgetpermissions_AllRoles){for(var data,assignedRoles,j,assignedRole,ExcludeViewRoles=[],_Permissions_ViewRoles=[],i=0;i<widgetpermissions_AllRoles.length;i++)for(data=widgetpermissions_AllRoles[i],assignedRoles=widgetroles,j=0;j<assignedRoles.length;j++)assignedRole=assignedRoles[j],assignedRole.RoleId==data.RoleId&&(assignedRole.ViewFilter==!0?_Permissions_ViewRoles.push({id:data.RoleId,text:data.RoleName}):assignedRole.ExcludeViewFilter==!0&&ExcludeViewRoles.push({id:data.RoleId,text:data.RoleName}));FilterPermission.Instance().loadFilter(Filterid,_Permissions_ViewRoles,ExcludeViewRoles)}loadFilter(Filterid,_Permissions_ViewRoles,ExcludeViewRoles){var _fileCacheHelper=this.fileCacheHelper;_fileCacheHelper.loadJsFile("/platform/filters/managers/filtermanager.js",function(){Unibase.Platform.Filters.Managers.FilterManager.Instance().getFilter(Filterid).then(function(response){$(".filtername").text("("+response.result.FilterName+")");Unibase.Platform.Filters.Components.FilterPermission.Instance().Filterspermission_filterid=Filterid;response.result.ViewAll==!0?($("#chkIsViewable").prop("checked",!0),FilterPermission.Instance().loadViewRoles(Filterid,response.result.ChangeAll,_Permissions_ViewRoles,ExcludeViewRoles),$("#divViewRoles").hide()):($("#chkIsViewable").prop("checked",!1),FilterPermission.Instance().loadViewRoles(Filterid,response.result.ChangeAll,_Permissions_ViewRoles,ExcludeViewRoles),$("#divViewRoles").show())})})}loadViewRoles(Filterid,IsMandatory,_Permissions_ViewRoles,ExcludeViewRoles){for(var Ids=[],i=0;i<_Permissions_ViewRoles.length;i++)Ids.push(_Permissions_ViewRoles[i].id);let ExludedIds=[];for(i=0;i<ExcludeViewRoles.length;i++)ExludedIds.push(ExcludeViewRoles[i].id);var ViewRoleElementId="txtIncludeViewRoles",ExcludeRoleElementId="txtExcludeViewRoles",userinfo=Unibase.Platform.Membership.Infos.Identity.getCurrentUser(),url=_appsettings.server_url()+"/apis/v4/unibase/platform/roles/getroles";url=url+"/term/";url=url.replace("#","");$("#"+ViewRoleElementId).select2({multiple:!0,allowClear:!1,data:_Permissions_ViewRoles,placeholder:"Select Role",ajax:{url:function(request){var reqUrl=url,term=request.term;return term==undefined||term==""?reqUrl+term+"/authtoken/"+userinfo.sessionId:reqUrl+term+"/authtoken/"+userinfo.sessionId},beforeSend:function(xhr){userinfo!==undefined&&userinfo!==null&&(xhr.setRequestHeader("Authorization","Basic "+userinfo.sessionId),xhr.setRequestHeader("geoposition",userinfo.latd+":"+userinfo.lgId))},delay:250,dataType:"json",processResults:function(data){for(var selectData=[],Data=JSON.parse(data.result),i=0;i<Data.length;i++)selectData.push({id:Data[i].Value,text:Data[i].SelectText});return{results:selectData}}},templateResult:function(item){return item.text},templateSelection:function(item){return item.text}});$("#"+ViewRoleElementId).val(Ids).trigger("change");$("#txtIncludeViewRoles").on("select2:select",function(e){let result=e.params.data;if(Number(result.id)!=0){var roleId=result.id;FilterPermission.Instance().addViewRole(Filterid,roleId,!0,!1);Ids.push(roleId);$(ExludedIds).each(function(i,value){if(value==roleId){var index=ExludedIds.indexOf(value);return index>-1&&ExludedIds.splice(index,1),ExludedIds.splice(value,1),jQuery("#txtExcludeViewRoles").val(ExludedIds).trigger("change"),!1}})}});$("#txtIncludeViewRoles").on("select2:unselect",function(e){let result=e.params.data;if(Number(result.id)!=0){var roleId=result.id;FilterPermission.Instance().removeViewRole(Filterid,roleId,!0,!1)}});$("#"+ExcludeRoleElementId).select2({multiple:!0,allowClear:!1,data:ExcludeViewRoles,placeholder:"Select Role",ajax:{url:function(request){var reqUrl=url,term=request.term;return term==undefined||term==""?reqUrl+term+"/authtoken/"+userinfo.sessionId:reqUrl+term+"/authtoken/"+userinfo.sessionId},beforeSend:function(xhr){userinfo!==undefined&&userinfo!==null&&(xhr.setRequestHeader("Authorization","Basic "+userinfo.sessionId),xhr.setRequestHeader("geoposition",userinfo.latd+":"+userinfo.lgId))},delay:250,dataType:"json",processResults:function(data){for(var selectData=[],Data=JSON.parse(data.result),i=0;i<Data.length;i++)selectData.push({id:Data[i].Value,text:Data[i].SelectText});return{results:selectData}}},templateResult:function(item){return item.text},templateSelection:function(item){return item.text}});jQuery("#"+ExcludeRoleElementId).val(ExludedIds).trigger("change");$(".select2-search__field").css("width","100%");$("#txtExcludeViewRoles").on("select2:select",function(e){let result=e.params.data;if(Number(result.id)!=0){var roleId=result.id;FilterPermission.Instance().addViewRole(Filterid,roleId,!1,!0);ExludedIds.push(roleId);$(Ids).each(function(i,value){if(value==roleId){var index=Ids.indexOf(value);return index>-1&&Ids.splice(index,1),jQuery("#txtIncludeViewRoles").val(Ids).trigger("change"),!1}})}});$("#txtExcludeViewRoles").on("select2:unselect",function(e){let result=e.params.data;if(Number(result.id)!=0){var roleId=result.id;FilterPermission.Instance().removeViewRole(Filterid,roleId,!1,!0)}})}addViewRole(Filterid,roleId,IsView,IsExclude){var _fileCacheHelper=this.fileCacheHelper;_fileCacheHelper.loadJsFile("platform/filters/managers/filtermanager.js",function(){_fileCacheHelper.loadJsFile("platform/filters/requests/filterrole.js",function(){let reqObj=new Unibase.Platform.Filters.Requests.FilterRole;reqObj.Filter_Id=Filterid;reqObj.RoleId=Number(roleId);reqObj.ViewFilter=IsView;reqObj.ExcludeViewFilter=IsExclude;Unibase.Platform.Filters.Managers.FilterManager.Instance().addFilterRole(reqObj).then(function(response){MessageHelper.Instance().showSuccess(response.message,"Bizgaze_ValidationSummary")})})})}removeViewRole(Filterid,roleId,IsView,IsExclude){var _fileCacheHelper=this.fileCacheHelper;_fileCacheHelper.loadJsFile("platform/filters/managers/filtermanager.js",function(){_fileCacheHelper.loadJsFile("platform/filters/requests/filterrole.js",function(){let reqObj=new Unibase.Platform.Filters.Requests.FilterRole;reqObj.Filter_Id=Filterid;reqObj.RoleId=Number(roleId);reqObj.ViewFilter=IsView;reqObj.ExcludeViewFilter=IsExclude;Unibase.Platform.Filters.Managers.FilterManager.Instance().removeFilterRole(reqObj).then(function(response){MessageHelper.Instance().showSuccess(response.message,"Bizgaze_ValidationSummary")})})})}setViewable(){var viewable=$("#chkIsViewable").prop("checked"),_fileCacheHelper;viewable?$("#divViewRoles").hide():$("#divViewRoles").show();_fileCacheHelper=this.fileCacheHelper;_fileCacheHelper.loadJsFile("/platform/filters/managers/filtermanager.js",function(){_fileCacheHelper.loadJsFile("platform/filters/requests/filter.js",function(){Unibase.Platform.Filters.Managers.FilterManager.Instance().setViewable(Unibase.Platform.Filters.Components.FilterPermission.Instance().Filterspermission_filterid,viewable).then(function(response){MessageHelper.Instance().showSuccess(response.message,"Bizgaze_ValidationSummary")})})})}static Instance(){return this.instance===undefined&&(this.instance=new FilterPermission),this.instance}}Components.FilterPermission=FilterPermission})(Components=Filters.Components||(Filters.Components={}))})(Filters=Platform.Filters||(Platform.Filters={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Analytics;(function(Analytics){let Components;(function(Components){class FilterPanel extends Platform.Core.BaseComponent{constructor(){super();this.serverFormat="YYYY/MM/DD";this._unibase_dateFormat="DD/MM/YYYY";this.dateFilters=[];this.isPartition=!1;this.selectedDates=[];this._dateTimeHelper=Unibase.Platform.Helpers.DateTimeHelper.Instance()}jsFiles(){return["platform/core/helpers/datetimehelper/datetimehelper.js"]}cssFiles(){return[]}html(){return`<div>
  130. <input type="hidden" id="hfBizgaze_CompareFromDate" />
  131. <input type="hidden" id="hfBizgaze_CompareToDate" />
  132. <input type="hidden" id="hfBizgaze_RFilterDate"/>
  133. <input type="hidden" id="hfBizgaze_CFilterDate"/>
  134. <div class="settings-panel-wrap">
  135. <div class="settings-panel-head text-right p-2 hidden">
  136. <a href="javascript:void(0);" id="filter_panel_close" class="settings-panel-close"><i class="ti-close"></i></a>
  137. </div>
  138. <div class="row">
  139. <div class="form-inline">
  140. <h6 class="col-12 text-white mb-2">Report</h6>
  141. <div class="form-group col-12">
  142. <input class="form-control ml-10" type="text" id="report-daterange" />
  143. </div>
  144. </div>
  145. </div>
  146. <div class="row">
  147. <div class="form-inline hidden">
  148. <h6 class="col-12 text-white mb-2">Compare</h6>
  149. <div class="form-group col-12">
  150. <input class="form-control ml-10" type="text" id="compare-daterange" />
  151. </div>
  152. </div>
  153. </div>
  154. </div>
  155. <div id="_report_filter_container"></div>
  156. <footer id="_report_filter_buttons" style="position: fixed;left:auto;right:auto;bottom:0;" class="modal-footer pa-10"></footer>
  157. </div>
  158. </div>`}load(id,containerid,callback){var instance=this,width=$("#hk-filter-panel").width(),fDate,tDate,sd;if($("#_report_filter_buttons").css("width",width),fDate=null,tDate=null,instance.isPartition)fDate=instance._dateTimeHelper.formatLocalDateformat(new Date(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().partitionFromDate),"YYYY/MM/DD"),tDate=instance._dateTimeHelper.formatLocalDateformat(new Date(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().partitionToDate),"YYYY/MM/DD");else{let currentUser=Unibase.Platform.Membership.Infos.Identity.getCurrentUser(),_fromDate,_toDate;sd=instance.selectedDates.find(s=>s.Id==id);currentUser.globalDateRangeTypeId||(currentUser.globalDateRangeTypeId=Unibase.Platform.Analytics.Enums.DateRangeType.FiyYear);let dateRange=this.getDateRangeString(currentUser.globalDateRangeTypeId);if(sd&&(dateRange=sd.SelectedRangeKey),$("#hfBizgaze_RFilterDate"+containerid+"_"+id).val(dateRange),$(`#cmnDateRangeSelect_${containerid}-${id}`).val(dateRange),currentUser.fromDate.includes("0001")){let{fromDate,toDate}=this.getFIY();_fromDate=this._dateTimeHelper.formatLocalDate1(fromDate.toString(),"YYYY-MM-DDThh:mm:ss")+"Z";_toDate=this._dateTimeHelper.formatLocalDate1(toDate.toString(),"YYYY-MM-DDThh:mm:ss")+"Z";currentUser.fromDate=_fromDate;currentUser.toDate=_toDate}else if(dateRange.toLowerCase().includes("custom range"))_fromDate=currentUser.fromDate,_toDate=currentUser.toDate;else{let dates=this.getFromDateAndToDateByDateRange(dateRange,!1,"","");_fromDate=dates.fromDate.format();_toDate=dates.toDate.format("yyyy-MM-DD")+"T00:00:00+05:30"}let formattedFromDate=instance._dateTimeHelper.formatLocalDateTime(_fromDate).split(" ")[0],formattedToDate=instance._dateTimeHelper.formatLocalDateTime(_toDate).split(" ")[0],serverFromDate=instance._dateTimeHelper.formatServerDate(formattedFromDate),serverToDate=instance._dateTimeHelper.formatServerDate(formattedToDate);$(`#hfBizgaze_ReportFromDate${containerid}_${id}`).val(serverFromDate);$(`#hfBizgaze_ReportToDate${containerid}_${id}`).val(serverToDate);id=="0"&&($(".CommonFilter_FromDate").val(formattedFromDate),$(".CommonFilter_ToDate").val(formattedToDate),Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate=serverFromDate,Unibase.Platform.Helpers.NavigationHelper.commonFilter_ToDate=serverToDate);instance.SetRange(containerid,id)}if(Unibase.Platform.Analytics.Components.ReportViewer.Instance().dateFilters=instance.dateFilters,callback&&id!="0"&&instance.addSelectedDateRange(id,containerid,callback),instance.selectedDates.length>0&&(instance.selectedDates.map(function(f){if(f.containerid!=containerid&&!f.containerid.includes("CmnDateFilter")&&!containerid.includes("CmnDateFilter")){let dIndex=instance.selectedDates.findIndex(s=>s.Id==id);dIndex>-1&&instance.selectedDates.splice(dIndex,1)}}),sd=instance.selectedDates.find(s=>s.Id==id),sd&&($("#report-daterange"+containerid+"-"+id).val(sd.DateRange),$("#hfBizgaze_FromDate"+containerid+"_"+id).val(sd.FromDate),$("#hfBizgaze_ToDate"+containerid+"_"+id).val(sd.ToDate),$("#hfBizgaze_RFilterDate"+containerid+"_"+id).val(sd.SelectedRangeKey))),$("#report-daterange"+containerid+"-"+id).change(function(){instance.onChangeDateRange(containerid,id,callback);$("#report-daterange"+containerid+"-"+id).on("apply.daterangepicker",function(){instance.onApplyDateRange(containerid,id);$(`#biz-filter-dropdown${containerid}`).length&&instance.dateRangeShowEvent(containerid,id)})}),$("#report-daterange"+containerid+"-"+id).keypress(function(e){var x=e.which||e.keyCode;if(x>=45&&x<=57||x==32)return!0;if(x==13)$(this).trigger("change"),$(this).trigger("apply.daterangepicker");else return!1}),instance.dateRangeShowEvent(containerid,id),containerid.includes("_navCmnDateFilter"))$("#report-daterange_navCmnDateFilter-0").on("hide.daterangepicker,cancel.daterangepicker",function(){$("#navCmnDateFilterDp,#dynamic-filters_navCmnDateFilter").removeClass("show right-sunbnav-active")});if(instance.isMobileDatePicker(containerid)){const containerIdWithPortletId=containerid+"-"+id,containerIdWith_PortletId=containerid+"_"+id,cmnDateRangeEls=$(`#cmnFromDateRange_${containerIdWithPortletId},#cmnToDateRange_${containerIdWithPortletId}`);$(`#cmnDateRangeSelect_${containerIdWithPortletId}`).change(function(){$(`#hfBizgaze_RFilterDate${containerIdWith_PortletId}`).val($(this).val());instance.SetRange(containerid,id);instance.onChangeDateRange(containerid,id,null);if($(this).val()!=="Custom Range")instance.onApplyDateRange(containerid,id)});$("#bizCmnDateFilterModal").off("apply.daterangepicker").on("apply.daterangepicker",cmnDateRangeEls,function(){$(`#cmnDateRangeSelect_${containerIdWithPortletId}`).val("Custom Range");$("#bizCmnDateFilterModal .modal-footer").removeClass("d-none")});$(`#cmnDateRangeApply_${containerIdWithPortletId}`).click(function(event){let fromDate=$(`#cmnFromDateRange_${containerIdWithPortletId}`).val(),toDate=$(`#cmnToDateRange_${containerIdWithPortletId}`).val();if(fromDate=instance._dateTimeHelper.formatServerDate(fromDate.trim()),toDate=instance._dateTimeHelper.formatServerDate(toDate.trim()),moment(fromDate).isSameOrAfter(toDate)){MessageHelper.Instance().showError("From date cannot be greater!","cmnDateFilterModalErrMsg");return}instance.onChangeDateRange(containerid,id,null,event);instance.onApplyDateRange(containerid,id)})}}isMobileDatePicker(containerid){return!Unibase.Themes.Compact.Components.Index.Instance().desktopMode&&containerid.includes("CmnDateFilter")?!0:!1}onChangeDateRange(containerid,id,callback,event){const instance=this;this.filterRange=this.getDateFilterRange(containerid,id);$("#hfBizgaze_RFilterDate"+containerid+"_"+id).val(this.filterRange);$(".daterange-cross-icon"+containerid+"_"+id).removeClass("hidden");const{fromDate,toDate}=instance.getFromDateToDate(containerid,id);if($("#hfBizgaze_FromDate"+containerid+"_"+id).val(fromDate),$("#hfBizgaze_ToDate"+containerid+"_"+id).val(toDate),id!="0"&&instance.addSelectedDateRange(id,containerid,callback),this.filterRange!="Custom Range")id!=0&&Unibase.Platform.Analytics.Components.ReportViewer.Instance().changeDateFilters(id,containerid),instance.isMobileDatePicker(containerid)?$("#bizCmnDateFilterModal .modal-footer").addClass("d-none"):instance.SetRange(containerid,id);else if(instance.isMobileDatePicker(containerid)){let isApplyClicked=!1;event&&(isApplyClicked=$(event.currentTarget).attr("id").includes("cmnDateRangeApply_"));isApplyClicked||($(`#cmnFromDateRange_${containerid+"-"+id}`).trigger("click"),$("#bizCmnDateFilterModal .modal-footer").removeClass("d-none"))}}getFromDateToDate(containerid,id){let range=$("#report-daterange"+containerid+"-"+id).val();this.isMobileDatePicker(containerid)&&(range=$(`#cmnFromDateRange_${containerid+"-"+id}`).val()+"-"+$(`#cmnToDateRange_${containerid+"-"+id}`).val());let date=range.split("-");return{fromDate:this._dateTimeHelper.formatServerDate(date[0].trim()),toDate:this._dateTimeHelper.formatServerDate(date[1].trim())}}getDateFilterRange(containerid,id){let filterdate="";if(this.isMobileDatePicker(containerid))filterdate=$(`#cmnDateRangeSelect_${containerid+"-"+id}`).val();else{var Rli=$(`#reportdatepicker_${containerid+"_"+id}`).find("ul");$(Rli).find("li.active").data()&&(filterdate=$(Rli).find("li.active").data().rangeKey)}return this.filterRange=filterdate,filterdate}onApplyDateRange(containerid,id){const instance=this,navigationHelper=Unibase.Platform.Helpers.NavigationHelper;id=="0"&&($("#hfBizgaze_FromDate"+containerid+"_"+id).val(navigationHelper.commonFilter_FromDate),$("#hfBizgaze_ToDate"+containerid+"_"+id).val(navigationHelper.commonFilter_ToDate));id!=0&&Unibase.Platform.Analytics.Components.ReportViewer.Instance().changeDateFilters(id,containerid);let sd=instance.selectedDates.find(s=>s.Id==id);if(sd&&(sd.IsDefault=!1),containerid.includes("CmnDateFilter")){let userInfo=Unibase.Platform.Membership.Infos.Identity.getCurrentUser();const{fromDate,toDate}=instance.getFromDateToDate(containerid,id);let _fromDate=this._dateTimeHelper.formatLocalDate1(fromDate,"YYYY-MM-DD")+"T00:00:00Z",_toDate=this._dateTimeHelper.formatLocalDate1(toDate,"YYYY-MM-DD")+"T00:00:00Z",rangeType=instance.getDateRangeType(this.filterRange),postObj={userid:userInfo.userId,fromdate:_fromDate,todate:_toDate,DefaultFilterColumn:rangeType},currentUser=Unibase.Platform.Membership.Infos.Identity.currentUser;currentUser.fromDate=_fromDate;currentUser.toDate=_toDate;currentUser.globalDateRangeTypeId=rangeType;Unibase.Platform.Membership.Managers.AccountManager.Instance().updateUserDetails(postObj).then(res=>{if(res.status==Unibase.Data.Status.Success){Unibase.Platform.Membership.Infos.Identity.setCurrentUser(currentUser);const installedAppId=Unibase.Themes.Providers.DetailHelper.installedAppId;if($("#hf_DashboardPortletId").val()!=undefined)Unibase.Themes.Compact.Components.Dashboard.Instance().loadWidgets($("#hf_DashboardPortletId").val(),$("#hf_DashboardPortletName").val());else if($("#hf_DashboardPortletId").val()==undefined&&installedAppId==0){const lastContainerId=navigationHelper.ModalContainerIds[navigationHelper.ModalContainerIds.length-1],reportId=Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(lastContainerId).ReportId;instance.navigationHelper.closeAllModals();let obj=Unibase.Platform.Analytics.Components.ReportViewer.Instance();obj.InstalledAppId=Unibase.Themes.Compact.Components.List.Instance().InstalledAppId;instance.navigationHelper.popin(reportId,"",obj,null)}else installedAppId!=0&&$("#layout-detail-tabs").find(".tab-item a.active").trigger("click")}});instance.isMobileDatePicker(containerid)?$("#bizCmnDateFilterModal,#settingsModal").modal("hide"):($(this).parents(".biz-common-filter-dropdown").length>0&&$(`#filter_toggle_btn${containerid}`).dropdown("toggle"),containerid.includes("_modalCmnDateFilter")&&instance.load("0","_navCmnDateFilter",null),$("#navCmnDateFilterDp,#dynamic-filters_navCmnDateFilter").removeClass("show right-sunbnav-active"),$("#settingsModal").modal("hide"))}}dateRangeShowEvent(containerid,id){const instance=this;$("#report-daterange"+containerid+"-"+id).on("show.daterangepicker",function(ev,picker){let rangePickerUl=picker.container.find(".ranges");rangePickerUl.find(".active").removeClass("active");var daterange=instance.selectedDates.find(s=>s.Id==id);if(daterange){let globalDate=instance.selectedDates.find(x=>x.Id=="0");globalDate&&daterange.IsDefault?rangePickerUl.find(`li[data-range-key='${globalDate.SelectedRangeKey}']`).addClass("active"):rangePickerUl.find(`li[data-range-key='${daterange.SelectedRangeKey}']`).addClass("active")}else{let userInfo=Unibase.Platform.Membership.Infos.Identity.currentUser;userInfo.globalDateRangeTypeId!=undefined&&rangePickerUl.find(`li[data-range-key='${instance.getDateRangeString(userInfo.globalDateRangeTypeId)}']`).addClass("active")}const pickerContainerEl=$(picker.container),leftPos=pickerContainerEl.offset().left;rangePickerUl.find("li[data-range-key='Custom Range']").off("click").click(()=>{pickerContainerEl.outerWidth(!0)+leftPos<710&&pickerContainerEl.addClass("picker-fullwidth")});instance.setDateRangePickerHeight(picker)})}setDateRangePickerHeight(picker){const pickerEl=picker.container,deductHeight=pickerEl.offset().top+15,finalHeight=window.innerHeight-deductHeight;pickerEl.css({"max-height":finalHeight,overflow:"auto"}).attr("data-deductheight",deductHeight).addClass("biz-custom-scrollbar cmn-daterange-picker")}addSelectedDateRange(id,containerid,callback){const instance=this;let range;range=instance.isMobileDatePicker(containerid)?$("#cmnFromDateRange_"+containerid+"-"+id).val()+"-"+$("#cmnToDateRange_"+containerid+"-"+id).val():$("#report-daterange"+containerid+"-"+id).val();let date=range.split("-");const fromDate=instance._dateTimeHelper.formatServerDate(date[0].trim()),toDate=instance._dateTimeHelper.formatServerDate(date[1].trim());let dIndex=instance.selectedDates.findIndex(s=>s.Id==id);dIndex>-1&&instance.selectedDates.splice(dIndex,1);instance.selectedDates.push({FromDate:fromDate,ToDate:toDate,DateRange:range,SelectedRangeKey:$("#hfBizgaze_RFilterDate"+containerid+"_"+id).val(),Id:id,containerid:containerid,IsDefault:callback});id=="0"&&(Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate=fromDate,Unibase.Platform.Helpers.NavigationHelper.commonFilter_ToDate=toDate)}SetRange(containerid,id){let dateRange=$("#hfBizgaze_CFilterDate").val(),dates;dateRange&&(dates=this.getFromDateAndToDateByDateRange(dateRange,!1,containerid,id),this.SetCompareDate(dates.fromDate,dates.toDate,containerid));let dateRange_container=$("#hfBizgaze_RFilterDate"+containerid+"_"+id).val();dateRange_container&&(dates=this.getFromDateAndToDateByDateRange(dateRange_container,!0,containerid,id),this.SetReportDate(dates.fromDate,dates.toDate,containerid,id))}SetCompareDate(FromDate,ToDate){var instance=this,d,FiyYear;$("#hfBizgaze_CompareFromDate").val(FromDate.format(instance.serverFormat));$("#hfBizgaze_CompareToDate").val(ToDate.format(instance.serverFormat));d=new Date;FiyYear=null;FiyYear=d.getMonth()+1>=4?[moment().startOf("year").add(3,"month").startOf("month"),moment().add(1,"year").startOf("year").add(2,"month").endOf("month")]:[moment().startOf("year").add(-1,"year").add(3,"month").startOf("month"),moment().add(1,"year").startOf("year").add(-1,"year").add(2,"month").endOf("month")];$("#compare-daterange").daterangepicker({startDate:FromDate,endDate:ToDate,locale:{format:instance._unibase_dateFormat},ranges:{Today:[moment(),moment()],Yesterday:[moment().subtract(1,"days"),moment().subtract(1,"days")],"Last 7 Days":[moment().subtract(6,"days"),moment()],"Last 30 Days":[moment().subtract(29,"days"),moment()],"This Month":[moment().startOf("month"),moment().endOf("month")],"Last Month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")],YTD:[moment().startOf("year").startOf("month"),moment().startOf("year").add(11,"month").endOf("month")],"FIY Year":FiyYear}})}SetReportDate(FromDate,ToDate,containerid,id){var instance=this,d,FiyYear,PFiyYear;if($("#hfBizgaze_FromDate"+containerid+"_"+id).val(FromDate.format(instance.serverFormat)),$("#hfBizgaze_ToDate"+containerid+"_"+id).val(ToDate.format(instance.serverFormat)),d=new Date,FiyYear=null,FiyYear=d.getMonth()+1>=4?[moment().startOf("year").add(3,"month").startOf("month"),moment().add(1,"year").startOf("year").add(2,"month").endOf("month")]:[moment().startOf("year").add(-1,"year").add(3,"month").startOf("month"),moment().add(1,"year").startOf("year").add(-1,"year").add(2,"month").endOf("month")],PFiyYear=null,PFiyYear=d.getMonth()+1>=4?[moment().subtract(1,"year").startOf("year").add(3,"month").startOf("month"),moment().subtract(1,"year").add(1,"year").startOf("year").add(2,"month").endOf("month")]:[moment().subtract(1,"year").startOf("year").add(-1,"year").add(3,"month").startOf("month"),moment().subtract(1,"year").add(1,"year").startOf("year").add(-1,"year").add(2,"month").endOf("month")],instance.isMobileDatePicker(containerid)){const containerIdWithId=containerid+"-"+id,fromDateRangeEl=$(`#cmnFromDateRange_${containerIdWithId}`),toDateRangeEl=$(`#cmnToDateRange_${containerIdWithId}`),initiateDateRangePicker=(el,startDate)=>{el.daterangepicker({startDate:startDate,singleDatePicker:!0,showDropdowns:!0,locale:{format:instance._unibase_dateFormat,firstDay:1}})};initiateDateRangePicker(fromDateRangeEl,FromDate);initiateDateRangePicker(toDateRangeEl,ToDate);$(`.mobiledaterangepicker`).remove();$(".daterangepicker").slice(-2).addClass(`mobiledaterangepicker`)}else $("#report-daterange"+containerid+"-"+id).daterangepicker({startDate:FromDate,endDate:ToDate,drops:"down",showDropdowns:!0,showWeekNumbers:!0,linkedCalendars:!1,locale:{format:instance._unibase_dateFormat,firstDay:1},ranges:{Today:[moment(),moment()],Yesterday:[moment().subtract(1,"days"),moment().subtract(1,"days")],"Last 7 Days":[moment().subtract(6,"days"),moment()],"Last 30 Days":[moment().subtract(29,"days"),moment()],"This Month":[moment().startOf("month"),moment().endOf("month")],"Last Month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")],"This Quarter":[moment().startOf("quarter"),moment().endOf("quarter")],"Last Quarter":[moment().subtract(1,"quarter").startOf("quarter"),moment().subtract(1,"quarter").endOf("quarter")],YTD:[moment().startOf("year").startOf("month"),moment().startOf("year").add(11,"month").endOf("month")],"Last Year":[[moment().subtract(1,"year").startOf("year"),moment().subtract(1,"year").endOf("year")][0],[moment().subtract(1,"year").startOf("year"),moment().subtract(1,"year").endOf("year")][1]],"FIY Year":FiyYear,"PFIY Year":PFiyYear}}),$(`div[id=reportdatepicker_${containerid+"_"+id}]`).length&&$(`div[id=reportdatepicker_${containerid+"_"+id}]`).remove(),$(".daterangepicker").last().attr("id",`reportdatepicker_${containerid+"_"+id}`)}getDateRangeString(typeId){let range="";switch(typeId){case Unibase.Platform.Analytics.Enums.DateRangeType.Last7Days:range="Last 7 Days";break;case Unibase.Platform.Analytics.Enums.DateRangeType.Last30Days:range="Last 30 Days";break;case Unibase.Platform.Analytics.Enums.DateRangeType.ThisMonth:range="This Month";break;case Unibase.Platform.Analytics.Enums.DateRangeType.LastMonth:range="Last Month";break;case Unibase.Platform.Analytics.Enums.DateRangeType.ThisQuarter:range="This Quarter";break;case Unibase.Platform.Analytics.Enums.DateRangeType.LastQuarter:range="Last Quarter";break;case Unibase.Platform.Analytics.Enums.DateRangeType.YTD:range="YTD";break;case Unibase.Platform.Analytics.Enums.DateRangeType.LastYear:range="Last Year";break;case Unibase.Platform.Analytics.Enums.DateRangeType.FiyYear:range="FIY Year";break;case Unibase.Platform.Analytics.Enums.DateRangeType.PFiyYear:range="PFIY Year";break;case Unibase.Platform.Analytics.Enums.DateRangeType.Today:range="Today";break;case Unibase.Platform.Analytics.Enums.DateRangeType.Yesterday:range="Yesterday";break;default:range="Custom Range"}return range}getDateRangeType(range){let id=Unibase.Platform.Analytics.Enums.DateRangeType.CustomRange;switch(range){case"Last 7 Days":id=Unibase.Platform.Analytics.Enums.DateRangeType.Last7Days;break;case"Last 30 Days":id=Unibase.Platform.Analytics.Enums.DateRangeType.Last30Days;break;case"This Month":id=Unibase.Platform.Analytics.Enums.DateRangeType.ThisMonth;break;case"Last Month":id=Unibase.Platform.Analytics.Enums.DateRangeType.LastMonth;break;case"This Quarter":id=Unibase.Platform.Analytics.Enums.DateRangeType.ThisQuarter;break;case"Last Quarter":id=Unibase.Platform.Analytics.Enums.DateRangeType.LastQuarter;break;case"YTD":id=Unibase.Platform.Analytics.Enums.DateRangeType.YTD;break;case"Last Year":id=Unibase.Platform.Analytics.Enums.DateRangeType.LastYear;break;case"FIY Year":id=Unibase.Platform.Analytics.Enums.DateRangeType.FiyYear;break;case"PFIY Year":id=Unibase.Platform.Analytics.Enums.DateRangeType.PFiyYear;break;case"Today":id=Unibase.Platform.Analytics.Enums.DateRangeType.Today;break;case"Yesterday":id=Unibase.Platform.Analytics.Enums.DateRangeType.Yesterday}return id}getYesterday(){var dates=[moment().subtract(1,"days"),moment().subtract(1,"days")];return{fromDate:dates[0],toDate:dates[1]}}getToday(){var dates=[moment(),moment()];return{fromDate:dates[0],toDate:dates[1]}}getLast7days(){var dates=[moment().subtract(6,"days"),moment()];return{fromDate:dates[0],toDate:dates[1]}}getLast30days(){var dates=[moment().subtract(29,"days"),moment()];return{fromDate:dates[0],toDate:dates[1]}}getThisMonth(){var dates=[moment().startOf("month"),moment().endOf("month")];return{fromDate:dates[0],toDate:dates[1]}}getLastMonth(){var dates=[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")];return{fromDate:dates[0],toDate:dates[1]}}getThisQuarter(){var dates=[moment().startOf("quarter"),moment().endOf("quarter")];return{fromDate:dates[0],toDate:dates[1]}}getLastQuarter(){var dates=[moment().subtract(1,"quarter").startOf("quarter"),moment().subtract(1,"quarter").endOf("quarter")];return{fromDate:dates[0],toDate:dates[1]}}getYTD(){var dates=[moment().startOf("year").startOf("month"),moment().startOf("year").add(11,"month").endOf("month")];return{fromDate:dates[0],toDate:dates[1]}}getLastYear(){var dates=[moment().subtract(1,"year").startOf("year"),moment().subtract(1,"year").endOf("year")];return{fromDate:dates[0],toDate:dates[1]}}getFIY(){var d=new Date,FiyFromDate,FiyToDate;return d.getMonth()+1>=4?(FiyFromDate=[moment().startOf("year").add(3,"month").startOf("month"),moment().add(1,"year").startOf("year").add(2,"month").endOf("month")][0],FiyToDate=[moment().startOf("year").add(3,"month").startOf("month"),moment().add(1,"year").startOf("year").add(2,"month").endOf("month")][1]):(FiyFromDate=[moment().startOf("year").add(-1,"year").add(3,"month").startOf("month"),moment().add(1,"year").startOf("year").add(-1,"year").add(2,"month").endOf("month")][0],FiyToDate=[moment().startOf("year").add(-1,"year").add(3,"month").startOf("month"),moment().add(1,"year").startOf("year").add(-1,"year").add(2,"month").endOf("month")][1]),{fromDate:FiyFromDate,toDate:FiyToDate}}getPFIY(){var d=new Date,FiyFromDate,FiyToDate;return d.getMonth()+1>=4?(FiyFromDate=[moment().subtract(1,"year").startOf("year").add(3,"month").startOf("month"),moment().subtract(1,"year").add(1,"year").startOf("year").add(2,"month").endOf("month")][0],FiyToDate=[moment().subtract(1,"year").startOf("year").add(3,"month").startOf("month"),moment().subtract(1,"year").add(1,"year").startOf("year").add(2,"month").endOf("month")][1]):(FiyFromDate=[moment().subtract(1,"year").startOf("year").add(-1,"year").add(3,"month").startOf("month"),moment().subtract(1,"year").add(1,"year").startOf("year").add(-1,"year").add(2,"month").endOf("month")][0],FiyToDate=[moment().subtract(1,"year").startOf("year").add(-1,"year").add(3,"month").startOf("month"),moment().subtract(1,"year").add(1,"year").startOf("year").add(-1,"year").add(2,"month").endOf("month")][1]),{fromDate:FiyFromDate,toDate:FiyToDate}}getFromDateAndToDateByDateRange(dateRange,isContainer,containterId,id){var format,date,_datetimehelper;let dates;switch(dateRange.toLowerCase()){case"yesterday":dates=this.getYesterday();break;case"today":dates=this.getToday();break;case"last 7 days":dates=this.getLast7days();break;case"last 30 days":dates=this.getLast30days();break;case"this month":dates=this.getThisMonth();break;case"last month":dates=this.getLastMonth();break;case"this quarter":dates=this.getThisQuarter();break;case"last quarter":dates=this.getLastQuarter();break;case"ytd":dates=this.getYTD();break;case"last year":dates=this.getLastYear();break;case"fiy year":dates=this.getFIY();break;case"pfiy year":dates=this.getPFIY();break;case"custom range":case"null":if(dates={fromDate:"",toDate:""},isContainer){let FromDate=$("#hfBizgaze_ReportFromDate"+containterId+"_"+id).val(),ToDate=$("#hfBizgaze_ReportToDate"+containterId+"_"+id).val();format="YYYY/MM/DD";FromDate==""&&ToDate==""&&(FromDate=moment().startOf("year").format(format),ToDate=moment().endOf("year").format(format));dates.fromDate=moment.utc();dates.toDate=moment.utc();this.dateFilters.length!=0?(date=this.dateFilters.find(d=>d.ParameterValue==id),date!=null&&(dates.fromDate=moment.utc(date.FromDate,format),dates.toDate=moment.utc(date.ToDate,format))):(dates.fromDate=moment.utc(FromDate,format),dates.toDate=moment.utc(ToDate,format))}else{let FromDate=$("#hfBizgaze_CompareFromDate").val(),ToDate=$("#hfBizgaze_CompareToDate").val();format="YYYY/MM/DD";FromDate==""&&ToDate==""&&(FromDate=moment().startOf("year").format(format),ToDate=moment().endOf("year").format(format));dates.fromDate=moment.utc(FromDate,format);dates.toDate=moment.utc(ToDate,format)}break;default:isContainer&&($("#hfBizgaze_FromDate"+containterId+"_"+id).val(moment().startOf("year").format(this.serverFormat)),$("#hfBizgaze_ToDate_"+containterId+"_"+id).val(moment().endOf("year").format(this.serverFormat)),_datetimehelper=Unibase.Platform.Helpers.DateTimeHelper.Instance(),_datetimehelper.dateRangePicker("#report-daterange"+containterId+"-"+id,function(start,end){$("#hfBizgaze_FromDate"+containterId+"_"+id).val(start.format(this.serverFormat));$("#hfBizgaze_ToDate_"+containterId+"_"+id).val(end.format(this.serverFormat));$(".daterangepicker").css("top","100px").css("right","100px").css("display","block")}),$("#hfBizgaze_CompareFromDate").val(moment().startOf("year").format(this.serverFormat)),$("#hfBizgaze_CompareToDate").val(moment().endOf("year").format(this.serverFormat)),_datetimehelper.dateRangePicker("#compare-daterange",function(start,end){$("#hfBizgaze_CompareFromDate").val(start.format(this.serverFormat));$("#hfBizgaze_CompareToDate").val(end.format(this.serverFormat))}))}return dates}static Instance(){return this.instance===undefined&&(this.instance=new FilterPanel),this.instance}}Components.FilterPanel=FilterPanel})(Components=Analytics.Components||(Analytics.Components={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let DataSources;(function(DataSources){let Components;(function(Components){class QueryParser extends Unibase.Platform.Core.BaseComponent{constructor(){super(...arguments);this.ErrorThrown=!1;this.starCount=0}getInitialSelectHtml(SubQuery,Union){Union&&(SubQuery=!0);let sub_query_cls=this.getContainerClass(SubQuery,Union),cls=SubQuery?Union?sub_query_cls+" union_query":sub_query_cls+" sub_query":"main_query";return`<div class="${cls} select_container" id= "${sub_query_cls}">
  159. <a class="btn remove_btn ${!SubQuery&&"hidden"} pull-right" href="javascript:;"><i class="las la-times font-18"></i></a>
  160. <div class='initialselect_div row'>
  161. <div class="row star_container ${sub_query_cls}">
  162. <strong>select * </strong>
  163. <div class="custom-control custom-checkbox checkbox-primary ml-10">
  164. <input type="checkbox" class="custom-control-input ${sub_query_cls} query_star" id="query_select_star_${++this.starCount}" checked="">
  165. <label class="custom-control-label" for="query_select_star_${this.starCount}"></label>
  166. </div>
  167. <div class="tables_star_container row">
  168. </div>
  169. <a href="javascript:;" class="get_tables_star"> refresh tables star's </a>
  170. <a class="btn remove_btn ${!SubQuery&&"hidden"}" href="javascript:;"><i class="las la-times font-18"></i></a>
  171. </div>
  172. </div>
  173. <div class="datalist_column_container ${sub_query_cls} row">
  174. ${this.getAddColumnHtml()}
  175. </div>
  176. <div class="datalist_tables_container ${sub_query_cls}" >
  177. ${this.getTableHtml()}
  178. </div>
  179. <div class="datalist_where_container row mt-40 ${sub_query_cls}">
  180. ${this.getInitialWhereHtml(sub_query_cls)}
  181. </div>
  182. <div class="datalist_ord_grp_hav_container row mt-40 ${sub_query_cls}">
  183. ${this.getInitialClauseHtml(sub_query_cls)}
  184. </div>
  185. </div>
  186. ${this.getUnionDropDwnHtml()}`}getContainerClass(SubQuery,Union){let sub_query_cls="sub_query_"+($(".sub_query").length+1);return SubQuery||Union?Union&&(Union&&(SubQuery=!0),sub_query_cls="union_query_"+($(".union_query").length+1)):sub_query_cls="main_query",sub_query_cls}getAddColumnHtml(){return` <div class='datalist_column row col-6'>
  187. <input type="text" class="form-control col-5 datalist_column_name" placeholder="Column Name">
  188. <strong class="">As</strong>
  189. <input type="text" class="form-control col-2 datalist_column_alias_name" placeholder="Alias Name">
  190. <button class="btn btn-icon btn-secondary add_datalist_column">
  191. <span class="btn-icon-wrap"><i class="icon-plus"></i></span></button>
  192. </div>`}getTableHtml(){return`<div class='datalist_tablename_container row'>
  193. <strong>from</strong>
  194. <input type="text" class="form-control col-5 table_name" placeholder="Table Name">
  195. <div class="custom-control is_subquery_chk_box_wrapper custom-checkbox checkbox-primary ml-10">
  196. <input type="checkbox" class="custom-control-input is_subquery" id="is_subquery_${++this.starCount}" data-ischecked=false>
  197. <label class="custom-control-label" for="is_subquery_${this.starCount}"></label>
  198. </div>
  199. <strong>As</strong>
  200. <input type="text" class="form-control col-3 alias_name" placeholder="Alias Name">
  201. <button class="btn btn-icon btn-secondary add_join">
  202. <span class="btn-icon-wrap"><i class="icon-plus"></i></span>
  203. </button>
  204. <div class="sub_query_div hidden w-100" ></div>
  205. </div>`}getJoinDropDown(){return`<select class="form-control custom-select join_dropdown col-1">
  206. <option value="1" selected>Inner Join</option>
  207. <option value="2">Outer Join</option>
  208. <option value="3">Left Join</option>
  209. <option value="4">Full JOin</option>
  210. <option value="5">Right Join</option>
  211. <option value="6">Cross Join</option>
  212. </select>`}getJoinHtml(){return`<div class="join_row row">
  213. <select class="form-control custom-select join_dropdown col-1">
  214. <option value="1" selected>Inner Join</option>
  215. <option value="2">Outer Join</option>
  216. <option value="3">Left Join</option>
  217. <option value="4">Full JOin</option>
  218. <option value="5">Right Join</option>
  219. <option value="6">Cross Join</option>
  220. </select>
  221. <input type="text" class="form-control table_name col-2" placeholder="Join table">
  222. <div class="custom-control is_subquery_chk_box_wrapper custom-checkbox checkbox-primary ml-10">
  223. <input type="checkbox" class="custom-control-input is_subquery" id="is_subquery_${++this.starCount}" data-ischecked=false >
  224. <label class="custom-control-label" for="is_subquery_${this.starCount}"></label>
  225. </div>
  226. <strong>As</strong>
  227. <input type="text" class="form-control alias_name col-1" placeholder="Alias Name">
  228. <strong>on</strong>
  229. <input type="text" class="form-control join_table1_column col-2" placeholder="Condition">
  230. <strong>=</strong>
  231. <input type="text" class="form-control join_table2_column col-2" placeholder="Condition">
  232. <button class="btn btn-icon btn-secondary add_join">
  233. <span class="btn-icon-wrap"><i class="icon-plus"></i></span>
  234. </button>
  235. <div class="sub_query_div hidden w-100" ></div>
  236. </div>`}getInitialWhereHtml(cls){return`<div class="div_where_container ${cls}">
  237. <strong>Where </strong>
  238. ${this.getWhereHtml(cls)}
  239. </div>`}getWhereHtml(cls){return` <div class ='condition_row ${cls} row'>
  240. <input type="text" class="form-control col-3 aggregation_column_name" placeholder="Column Name">
  241. <div class="whr_btw_wrapper row col-7">
  242. <select class="form-control custom-select aggregation_type_operator col-3">
  243. <option value="1" selected>Equal to</option>
  244. <option value="2">Greater Than</option>
  245. <option value="3">Less Than</option>
  246. <option value="4">Between</option>
  247. <option value="5">Greater Than Equal to</option>
  248. <option value="6">Less Than Equal to</option>
  249. <option value="7">Not Equal to</option>
  250. <option value="8">Less Than Column</option>
  251. <option value="9">Greater Than Column</option>
  252. <option value="10">In</option>
  253. <option value="11">Not In</option>
  254. <option value="12">Is Null</option>
  255. <option value="13">!Is Null</option>
  256. </select>
  257. <input type="text" class="form-control col-4 value1" placeholder="Enter Value">
  258. ${this.getBetweenHtml()}
  259. <div class="custom-control where_subquery_wrapper custom-checkbox checkbox-primary ml-10">
  260. <input type="checkbox" class="custom-control-input where_subquery" id="is_subquery_${++this.starCount}"" data-ischecked="false">
  261. <label class="custom-control-label" for="is_subquery_${this.starCount}""></label>
  262. </div>
  263. </div>
  264. <select class="form-control custom-select add_condition col-1">
  265. <option value="0" selected>Add Conditon</option>
  266. <option value="1">And</option>
  267. <option value="2">Or</option>
  268. </select>
  269. <div class="sub_query_div hidden w-100" ></div>
  270. </div>`}getBetweenHtml(){return`<div class="btw_wrapper row hidden col-5"> <strong>And</strong>
  271. <input type="text" class="form-control col-10 value2" placeholder="Enter Value">
  272. </div>`}getInitialClauseHtml(cls){return`<div class="clause_container ${cls} col-12" >
  273. <strong>Clause</strong>
  274. ${this.getClauseHtml()}
  275. </div>`}getClauseDwnHtml(){return`<select class="form-control custom-select clause_type col-1">
  276. <option value="1">Order by</option>
  277. <option value="2">Group by</option>
  278. <option value="3">Having</option>
  279. </select>`}getClauseHtml(){return`<div class="clause_row row">
  280. ${this.getClauseDwnHtml()}
  281. <div class="clause_wrapper row col-8">
  282. ${this.getOrderByAggregationHtml()}
  283. </div>
  284. <button class="btn btn-icon btn-secondary add_clause">
  285. <span class="btn-icon-wrap"><i class="icon-plus"></i></span>
  286. </button>
  287. </div>`}getClauseWrapperWithHavingHtml(){return` <div class="clause_wrapper row col-8">
  288. ${this.getHavingClauseHtml()}
  289. </div>`}getOrderByAggregationHtml(){return`<input type="text" class="form-control col-8 columns" placeholder="columns seperated by (,)">
  290. <select class="form-control custom-select order_by_type col-2">
  291. <option value="1" selected>Asc</option>
  292. <option value="2">Desc</option>
  293. </select>`}getGroupByClauseHtml(){return`<input type="text" class="form-control col-8 columns" placeholder="columns seperated by (,)">`}getHavingClauseHtml(){return`<input type="text" class="form-control col-2 column_name" placeholder="Enter Column">
  294. <select class="form-control custom-select clause_expression_type col-2">
  295. <option value="1" selected>Equal to</option>
  296. <option value="2">Greater Than</option>
  297. <option value="3">Less Than</option>
  298. <option value="4">Between</option>
  299. <option value="5">Greater Than Equal to</option>
  300. <option value="6">Less Than Equal to</option>
  301. <option value="7">Not Equal to</option>
  302. <option value="8">Less Than Column</option>
  303. <option value="9">Greater Than Column</option>
  304. <option value="10">In</option>
  305. <option value="11">Not In</option>
  306. <option value="12">Is Null</option>
  307. <option value="13">!Is Null</option>
  308. </select>
  309. <input type="text" class="form-control col-2 value1" placeholder="Enter Value">
  310. ${this.getBetweenHtml()}
  311. <select class="form-control custom-select add_having_clause col-1">
  312. <option value="0" selected>Add Having</option>
  313. <option value="1">And</option>
  314. <option value="2">Or</option>
  315. </select>
  316. `}getUnionDropDwnHtml(){return`<select class="form-control custom-select union_drop_down col-1">
  317. <option value="0" selected>select</option>
  318. <option value="1"> Union </option>
  319. <option value="2"> Union All </option>
  320. </select>`}mouseDown(e){let container=$(e.target).closest(".select_container"),container_cls=container.attr("id");if(e.target.closest(".add_datalist_column")||e.target.classList.contains("add_datalist_column"))container.find(`.${container_cls}.datalist_column_container`).first().children().last().find(".add_datalist_column").addClass("hidden"),container.find(`.${container_cls}.datalist_column_container`).first().children().last().append(this.getCloseBtnHtml()),container.find(`.${container_cls}.datalist_column_container`).first().append(this.getAddColumnHtml());else if(e.target.closest(".remove_btn")||e.target.classList.contains("remove_btn")){let datalistColumnRow=$(e.target).closest(".datalist_column"),joinRow=$(e.target).closest(".join_row"),conditionRow=$(e.target).closest(".condition_row"),clauseRow=$(e.target).closest(".clause_row"),initialSelect=$(e.target).closest(".initialselect_div").first(),subquery=$(e.target).closest(".sub_query").first(),subQueryDiv=$(e.target).closest(".sub_query_div").first();datalistColumnRow.length?datalistColumnRow.remove():clauseRow.length?clauseRow.remove():joinRow.length?joinRow.remove():conditionRow.length?conditionRow.remove():initialSelect.length?(initialSelect.parent().next().remove(),initialSelect.parent().prev().val("0"),initialSelect.parent().remove(),subQueryDiv.children().length||subQueryDiv.addClass("hidden")):!subquery.length||datalistColumnRow.length||clauseRow.length||joinRow.length||conditionRow.length||initialSelect.length||subQueryDiv.empty().addClass("hidden")}else if(e.target.closest(".add_join")||e.target.classList.contains("add_join"))$(e.target).closest(".join_row").append(this.getCloseBtnHtml()),$(e.target).closest(".add_join").remove(),container.find(`.${container_cls}.datalist_tables_container`).first().append(this.getJoinHtml());else if(e.target.closest(".add_clause")||e.target.classList.contains("add_clause"))$(e.target).closest(".clause_row").append(this.getCloseBtnHtml()),container.find(`.${container_cls}.clause_container`).first().append(this.getClauseHtml()),$(e.target).closest(".add_clause").remove();else if(e.target.classList.contains("get_tables_star")){let element,clst_sub_query=$(e.target).closest(".sub_query"),clst_main_query=$(e.target).closest("#main_query"),clst_union_query=$(e.target).closest(".union_query");clst_union_query.length?element=clst_union_query:clst_sub_query.length?element=clst_sub_query:clst_main_query.length&&(element=clst_main_query);$(e.target).prev().html(this.getStarHtml(element))}else if(e.target.closest(".is_subquery_chk_box_wrapper")||e.target.classList.contains("is_subquery")){let checkbox=$(e.target).siblings(".is_subquery").length?$(e.target).siblings(".is_subquery"):$(e.target).closest(".is_subquery"),checkbox_wrapper=$(e.target).closest(".is_subquery_chk_box_wrapper"),is_subquery=!checkbox.data("ischecked"),sub_query_div=checkbox_wrapper.siblings(".sub_query_div");checkbox.data("ischecked",is_subquery);is_subquery?(sub_query_div.removeClass("hidden"),sub_query_div.children().length||sub_query_div.append(this.getInitialSelectHtml(!0))):sub_query_div.addClass("hidden")}else if(e.target.closest(".where_subquery_wrapper")||e.target.classList.contains("where_subquery")){let checkbox=$(e.target).siblings(".where_subquery").length?$(e.target).siblings(".where_subquery"):$(e.target).closest(".where_subquery"),checkbox_wrapper=$(e.target).closest(".where_subquery_wrapper"),is_subquery=!checkbox.data("ischecked"),sub_query_div=checkbox_wrapper.parent().siblings(".sub_query_div");checkbox.data("ischecked",is_subquery);is_subquery?(sub_query_div.removeClass("hidden"),checkbox.prop("checked",!0),sub_query_div.children().length||sub_query_div.append(this.getInitialSelectHtml(!0))):(sub_query_div.addClass("hidden"),checkbox.prop("checked",!1))}}changeEvent(e){let container=$(e.target).closest(".select_container"),cls=container.attr("id");if(e.target.closest(".aggregation_type_operator")||e.target.classList.contains("aggregation_type_operator"))e.target.selectedIndex+1==DataSources.Enums.ExpressionType.Between?$(e.target.closest(".whr_btw_wrapper")).find(".btw_wrapper").removeClass("hidden"):$(e.target.closest(".whr_btw_wrapper")).find(".btw_wrapper").addClass("hidden"),e.target.selectedIndex+1==DataSources.Enums.ExpressionType.IsNull||e.target.selectedIndex+1==DataSources.Enums.ExpressionType.IsNotNull?$(e.target).next().addClass("hidden"):$(e.target).next().removeClass("hidden");else if(e.target.closest(".clause_expression_type")||e.target.classList.contains("clause_expression_type"))e.target.selectedIndex+1==DataSources.Enums.ExpressionType.Between?$(e.target.closest(".clause_wrapper")).find(".btw_wrapper").removeClass("hidden"):$(e.target.closest(".clause_wrapper")).find(".btw_wrapper").addClass("hidden"),e.target.selectedIndex+1==DataSources.Enums.ExpressionType.IsNull||e.target.selectedIndex+1==DataSources.Enums.ExpressionType.IsNotNull?$(e.target).next().addClass("hidden"):$(e.target).next().removeClass("hidden");else if(e.target.closest(".clause_type")||e.target.classList.contains("clause_type"))Number(e.target.value)==Unibase.Platform.DataSources.Enums.ClauseType.OrderBy?$(e.target).closest(".clause_row").find(".clause_wrapper").html(this.getOrderByAggregationHtml()):Number(e.target.value)==Unibase.Platform.DataSources.Enums.ClauseType.GroupBy?$(e.target).closest(".clause_row").find(".clause_wrapper").html(this.getGroupByClauseHtml()):Number(e.target.value)==Unibase.Platform.DataSources.Enums.ClauseType.Having&&$(e.target).closest(".clause_row").find(".clause_wrapper").html(this.getHavingClauseHtml());else if(e.target.closest(".add_condition")||e.target.classList.contains("add_condition")){let conditionRow=$(e.target).closest(".condition_row");conditionRow.next(".condition_row").length||(conditionRow.append(this.getCloseBtnHtml()),conditionRow.after(this.getWhereHtml(cls)))}else if(e.target.closest(".add_having_clause")||e.target.classList.contains("add_having_clause")){let currentClauseWrapper=$(e.target).closest(".clause_wrapper");Number(e.target.value)==0||currentClauseWrapper.next(".clause_wrapper").length||currentClauseWrapper.after(this.getClauseWrapperWithHavingHtml())}else e.target.classList.contains("union_drop_down")&&(Number(e.target.value)==0||$(e.target).next(".select_container").length||$(e.target).parent().append(this.getInitialSelectHtml(!1,!0)))}getIsSubOrUnionFromCls(cls){let IsSub,IsUni,IsMain;return cls&&(cls.startsWith("main_")?IsMain=!1:cls.startsWith("sub_")?IsSub=!0:cls.startsWith("union_")&&(IsUni=!0)),{IsSubQuery:IsSub,IsUnionQuery:IsUni,IsMainQuery:IsMain}}getOperatorSymbolFromText(text){let returnString="";switch(text){case"greater than":returnString=">";break;case"less than":returnString="<";break;case"equal to":returnString="=";break;case"greater than equal to":returnString=">=";break;case"less than equal to":returnString="<=";break;case"not equal to":returnString="!="}return returnString?returnString:text}showError(message){return this.ErrorThrown=!0,MessageHelper.Instance().showError(message,"bl-datalist_error")}getCloseBtnHtml(){return`<a class="btn remove_btn" href="javascript:;"><i class="las la-times font-18"></i></a>`}getStarHtml(SelectContainerJqueryEle){let dataListTables=[],container_cls=SelectContainerJqueryEle.attr("id"),tablesContainer=SelectContainerJqueryEle.find(".datalist_tables_container").first().children(),html="",isGlobalStartSelected;isGlobalStartSelected=SelectContainerJqueryEle.find("."+container_cls+".query_star").first().prop("checked");jQuery.each(tablesContainer,(index,column)=>{let tableName=$(column).find(".table_name").val(),aliasName=$(column).find(".alias_name").val();if(tableName||aliasName){let table={DocTableAliasName:aliasName?aliasName:tableName,DocTypeTableName:tableName,IsMainTable:index==0?!0:!1,IsSubQuery:!1,IsStarSelected:index==0?isGlobalStartSelected:!1};dataListTables.push(table)}});for(var i=0;i<dataListTables.length;i++)html+=`<div class="select_star_wrapper"><strong>${dataListTables[i].DocTableAliasName}</strong>
  321. <div class="custom-control custom-checkbox checkbox-primary ml-10">
  322. <input type="checkbox" class="custom-control-input table_star" id="${dataListTables[i].DocTableAliasName+"_select_star"}" >
  323. <label class="custom-control-label" for="${dataListTables[i].DocTableAliasName+"_select_star"}"></label>
  324. </div></div>`;return html}generateDynamicQuery(SelectContainerEle){let dataListColumns=[],dataListJoins=[],dataListTables=[],dataListWhere=[],dataListClause=[],dynamicQuery,select_cls=SelectContainerEle.attr("id"),unionType=parseInt(SelectContainerEle.next().val()),unionQuery,isGlobalStartSelected=SelectContainerEle.find("."+select_cls+".query_star").first().prop("checked"),columnsContainer=SelectContainerEle.find("."+select_cls+".datalist_column_container").first().children(),tablesContainer=SelectContainerEle.find("."+select_cls+".datalist_tables_container").first().children(),whereContainer=SelectContainerEle.find("."+select_cls+".datalist_where_container").first().find("."+select_cls+".condition_row"),clauseContainer=SelectContainerEle.find("."+select_cls+".clause_container").first().children(".clause_row");if(jQuery.each(columnsContainer,(index,column)=>{let aliasName=$(column).find(".datalist_column_alias_name").val(),columnName=$(column).find(".datalist_column_name").val();if(index!=0||aliasName||columnName){let newColumn={ColumnName:columnName,AliasName:aliasName?aliasName:columnName};columnName&&dataListColumns.push(newColumn)}}),jQuery.each(tablesContainer,(index,column)=>{let dynamicSubQuery,joinType=$(column).find(".join_dropdown").val(),tableName=$(column).find(".table_name").val(),aliasName=$(column).find(".alias_name").val(),table1_clmn=$(column).find(".join_table1_column").val(),table2_clmn=$(column).find(".join_table2_column").val(),is_subquery=$(column).find(".is_subquery").first().data("ischecked");if(is_subquery){let subQuerySelectContainer=$(column).children(".is_subquery_chk_box_wrapper").siblings(".sub_query_div").find(".select_container").first();dynamicSubQuery=this.generateDynamicQuery(subQuerySelectContainer)}let JoinTable={DocTypeTable1Column:table1_clmn,DocTypeTable2Column:table2_clmn},table={DocTableAliasName:aliasName?aliasName:tableName,DocTypeTableName:tableName,IsMainTable:index==0?!0:!1,IsSubQuery:is_subquery,IsStarSelected:!1,SubQuery:dynamicSubQuery};table.IsStarSelected=SelectContainerEle.find("#"+table.DocTableAliasName+"_select_star").is(":checked");let join={DocTypeTableName:tableName,DocTableAliasName:aliasName,IsPrimaryKey:!1,on:JoinTable,DocJoinType:Number(joinType)||0};table.DocTypeTableName&&(dataListTables.push(table),dataListJoins.push(join))}),jQuery.each(whereContainer,(index,column)=>{let columnName=$(column).find(".aggregation_column_name").val(),value1=$(column).find(".value1").val(),value2=$(column).find(".value2").val(),aggregation_type=$(column).find(".aggregation_type_operator option:selected").val(),add_condition=$(column).find(".add_condition option:selected").val(),isBetween=!1,isSubQuery=$(column).find(".where_subquery").data("ischecked"),subQuery;if(isBetween=Number(aggregation_type)==DataSources.Enums.ExpressionType.Between?!0:!1,isSubQuery){let container_ele=$(column).find(".sub_query_div .select_container").first();subQuery=this.generateDynamicQuery(container_ele)}let where={ColumnName:columnName,Value1:value1,Value2:value2,ExpressionType:Number(aggregation_type),IsBetween:isBetween,AddConditionType:Number(add_condition),IsSubQuery:isSubQuery,SubQuery:isSubQuery?subQuery:null};where.ColumnName&&dataListWhere.push(where)}),jQuery.each(clauseContainer,(index,column)=>{let clauseWrappers=$(column).children(".clause_wrapper"),columns=$(column).find(".columns").val(),clauseType=$(column).find(".clause_type").val(),orderByType=$(column).find(".order_by_type").val(),value1=$(column).find(".value1").val(),value2=$(column).find(".value2").val(),exp_type=$(column).find(".clause_expression_type option:selected").val(),add_condition=$(column).find(".add_having_clause option:selected").val(),isHaving=!1,isBetween=!1;isHaving=Number(clauseType)==DataSources.Enums.ClauseType.Having?!0:!1;isBetween=Number(exp_type)==DataSources.Enums.ExpressionType.Between?!0:!1;let havingClauseArray=[];Number(clauseType)==DataSources.Enums.ClauseType.Having&&$.each(clauseWrappers,(i,ele)=>{let column=$(ele).find(".column_name").val(),value1=$(ele).find(".value1").val(),value2=$(ele).find(".value2").val(),exp_type=$(ele).find(".clause_expression_type option:selected").val(),add_condition=$(ele).find(".add_having_clause option:selected").val();isBetween=Number(exp_type)==DataSources.Enums.ExpressionType.Between?!0:!1;let havingClause;havingClause={IsBetween:isBetween,Value1:value1,Value2:value2,ColumnName:column,AddConditionType:Number(add_condition),ExpressionType:Number(exp_type),IsSubQuery:!1,SubQuery:null};havingClauseArray.push(havingClause)});let clause={ClauseType:Number(clauseType),Columns:columns,IsHaving:isHaving,OrderBy:Number(orderByType)||0,Having:havingClauseArray};(clause.IsHaving||clause.Columns)&&(!clause.IsHaving||!clause.Having.length||clause.Having[0].ColumnName)&&dataListClause.push(clause)}),!isGlobalStartSelected&&!dataListColumns.length)return new DataSources.Requests.DynamicQuery;if(!this.ErrorThrown){if(dynamicQuery={DataListColumns:dataListColumns,DataListDocTypes:dataListTables,DataListWhere:dataListWhere,DataListJoins:dataListJoins,DataListClause:dataListClause,IsStarSelected:isGlobalStartSelected,IsUnion:!1,UnionType:1,UnionQuery:null,TempName:null},unionType){let unionElement=SelectContainerEle.next().next();unionQuery=this.generateDynamicQuery(unionElement);dynamicQuery.IsUnion=!0;dynamicQuery.UnionType=unionType;dynamicQuery.UnionQuery=unionQuery}return dynamicQuery}}bindDynamicQuery(dynamic,SubQuery,IsUnion){var j,i;let queryCls=SubQuery?"sub_query_"+$(".sub_query").length:"main_query";IsUnion&&(queryCls="union_query_"+$(".union_query").length);var columnsContainer=$(`.${queryCls}.datalist_column_container`).children(),tablesContainer=$(`.${queryCls}.datalist_tables_container`).children(),whereContainer=$(`.${queryCls}.datalist_where_container`).find(`.${queryCls}.condition_row`),clauseContainer=$(`.${queryCls}.clause_container`).children(`.clause_row`);for(i=0;i<dynamic.DataListColumns.length;i++)$(columnsContainer[i]).find(".datalist_column_name").val(dynamic.DataListColumns[i].ColumnName),dynamic.DataListColumns[i].AliasName!=dynamic.DataListColumns[i].ColumnName&&$(columnsContainer[i]).find(".datalist_column_alias_name").val(dynamic.DataListColumns[i].AliasName),i!=dynamic.DataListColumns.length-1&&($(columnsContainer[i]).find(".add_datalist_column").click().trigger("mousedown"),columnsContainer=$(`.${queryCls}.datalist_column_container`).children());for(i=0;i<dynamic.DataListJoins.length;i++){$(tablesContainer[i]).find(".table_name").val(dynamic.DataListJoins[i].DocTypeTableName);dynamic.DataListJoins[i].DocTableAliasName!=dynamic.DataListJoins[i].DocTypeTableName&&$(tablesContainer[i]).find(".alias_name").val(dynamic.DataListJoins[i].DocTableAliasName);i!=0&&($(tablesContainer[i]).find(".join_table1_column").val(dynamic.DataListJoins[i].on.DocTypeTable1Column),$(tablesContainer[i]).find(".join_table2_column").val(dynamic.DataListJoins[i].on.DocTypeTable2Column),$(tablesContainer[i]).find(".join_dropdown").val(dynamic.DataListJoins[i].DocJoinType.toString()));let table=dynamic.DataListDocTypes.find(x=>x.DocTypeTableName==dynamic.DataListJoins[i].DocTypeTableName);table&&table.IsSubQuery&&($(tablesContainer[i]).find(".is_subquery").click().trigger("mousedown"),this.bindDynamicQuery(table.SubQuery,!0));i!=dynamic.DataListJoins.length-1&&($(tablesContainer[i]).find(".add_join").first().click().trigger("mousedown"),tablesContainer=$(`.${queryCls}.datalist_tables_container`).children())}for(i=0;i<dynamic.DataListWhere.length;i++)$(whereContainer[i]).find(".aggregation_type_operator").val(dynamic.DataListWhere[i].ExpressionType.toString()).trigger("change"),$(whereContainer[i]).find(".aggregation_column_name").val(dynamic.DataListWhere[i].ColumnName),$(whereContainer[i]).find(".value1").val(dynamic.DataListWhere[i].Value1),dynamic.DataListWhere[i].IsBetween&&$(whereContainer[i]).find(".value2").val(dynamic.DataListWhere[i].Value2),i!=dynamic.DataListWhere.length-1&&($(whereContainer[i]).find(".add_condition").first().val(dynamic.DataListWhere[i].AddConditionType.toString()).trigger("change"),whereContainer=$(`.${queryCls}.datalist_where_container`).find(`.${queryCls}.condition_row`)),dynamic.DataListWhere[i].IsSubQuery&&($(whereContainer[i]).find(".where_subquery").first().click().trigger("mousedown"),this.bindDynamicQuery(dynamic.DataListWhere[i].SubQuery,!0));for(i=0;i<dynamic.DataListClause.length;i++){if($(clauseContainer[i]).find(".clause_type").val(dynamic.DataListClause[i].ClauseType.toString()).trigger("change"),$(clauseContainer[i]).find(".columns").val(dynamic.DataListClause[i].Columns),dynamic.DataListClause[i].ClauseType==DataSources.Enums.ClauseType.OrderBy)$(clauseContainer[i]).find(".order_by_type").val(dynamic.DataListClause[i].OrderBy.toString());else if(dynamic.DataListClause[i].ClauseType==DataSources.Enums.ClauseType.Having){let clauseWrapper=$(clauseContainer[i]).find(".clause_wrapper"),havings=dynamic.DataListClause[i].Having;for(j=0;j<havings.length;j++)$(clauseWrapper[j]).find(".column_name").val(havings[j].ColumnName),$(clauseWrapper[j]).find(".clause_expression_type").val(havings[j].ExpressionType.toString()).trigger("change"),$(clauseWrapper[j]).find(".value1").val(havings[j].Value1),havings[j].IsBetween&&$(clauseWrapper[j]).find(".value2").val(havings[j].Value2),i!=havings.length-1&&($(clauseWrapper[j]).find(".add_having_clause").val(havings[j].AddConditionType.toString()).trigger("change"),clauseWrapper=$(clauseContainer[i]).find(".clause_wrapper"))}i!=dynamic.DataListClause.length-1&&($(clauseContainer[i]).find(".add_clause").click().trigger("mousedown"),clauseContainer=$(`.${queryCls}.clause_container`).children(`.clause_row`))}for($(`.${queryCls} .get_tables_star`).first().click().trigger("mousedown"),i=0;i<dynamic.DataListDocTypes.length;i++)if(dynamic.DataListDocTypes[i].IsStarSelected){let radioClassName=dynamic.DataListDocTypes[i].DocTableAliasName?dynamic.DataListDocTypes[i].DocTableAliasName:dynamic.DataListDocTypes[i].DocTypeTableName;$(`#${radioClassName}_select_star`).prop("checked",!0)}dynamic.IsStarSelected?$("."+queryCls+".query_star").first().prop("checked",!0):$("."+queryCls+".query_star").first().prop("checked",!1);dynamic.IsUnion&&($("#"+queryCls).next().val(dynamic.UnionType).trigger("change"),this.bindDynamicQuery(dynamic.UnionQuery,!1,!0))}parseQueryToDynamic(query){let tempQuery=query,tables=[],tempTables=[],columns=[],joinsArr=[],clauseArr=[],whereArr=[],dynamicQuery=new DataSources.Requests.DynamicQuery,sub_dynamicQuery=new DataSources.Requests.DynamicQuery,unionQuery=new DataSources.Requests.DynamicQuery;tempQuery=tempQuery.toLowerCase().trim();let selectStr="select ",whereStr="where ",openBrac="(",indexOfSelect=tempQuery.indexOf(selectStr),indexOfFrom=tempQuery.indexOf("from "),indexOfBrac,remainingQuery="",slctToFrom="",fromToSubQuery="",unionIdx,unionAllIdx,unionMinIdx,whereIdx,tableNames=[];if(slctToFrom=tempQuery.substring(indexOfSelect,indexOfFrom+5),slctToFrom.includes(" *")&&(dynamicQuery.IsStarSelected=!0,slctToFrom=slctToFrom.replace("*",""),tempQuery=tempQuery.replace("*","").trim()),columns=this.getDataListColumnsFromSelectString(slctToFrom),tempQuery=tempQuery.replace(slctToFrom,"").trim(),indexOfSelect=tempQuery.indexOf(selectStr),indexOfBrac=tempQuery.indexOf(openBrac),fromToSubQuery=tempQuery.substring(0,indexOfSelect-1).trim(),remainingQuery=tempQuery,whereIdx=tempQuery.indexOf(whereStr),unionIdx=tempQuery.indexOf(" union")==-1?Infinity:tempQuery.indexOf(" union"),unionAllIdx=tempQuery.indexOf(" union all")==-1?Infinity:tempQuery.indexOf(" union all"),unionMinIdx=Math.min(unionIdx,unionAllIdx),indexOfBrac!=-1&&indexOfSelect!=-1)if(indexOfBrac<indexOfSelect){while(indexOfSelect!=-1){if(unionIdx=remainingQuery.indexOf(" union")==-1?Infinity:remainingQuery.indexOf(" union"),unionAllIdx=remainingQuery.indexOf(" union all")==-1?Infinity:remainingQuery.indexOf(" union all"),indexOfSelect=remainingQuery.indexOf(selectStr),indexOfBrac=remainingQuery.indexOf(openBrac),unionMinIdx=Math.min(unionIdx,unionAllIdx),whereIdx>indexOfSelect&&unionMinIdx>indexOfSelect){let table=new DataSources.Requests.DataListTable;fromToSubQuery=remainingQuery.substring(0,indexOfSelect);remainingQuery=tempQuery.replace(fromToSubQuery,"").trim();fromToSubQuery=fromToSubQuery.substring(0,fromToSubQuery.lastIndexOf(openBrac)).trim();let sub_rmng_result=this.getSubQueryAndRmngQuery(remainingQuery);table.SubQuery=sub_rmng_result.SubDynamicQuery;table.DocTableAliasName=sub_rmng_result.SubQueryAliasName;table.DocTypeTableName=`__subquerytable_${++this.subQueryNumber}`;table.IsSubQuery=!0;tables.push(table);remainingQuery=fromToSubQuery.trim()+` __subquerytable_${this.subQueryNumber} `+sub_rmng_result.RemainingQuery}else if(whereIdx<indexOfSelect&&unionMinIdx>indexOfSelect&&unionMinIdx!=Infinity){let whereResult=this.getSubQueriesInWhere(remainingQuery);remainingQuery=whereResult.RemaingQuery;whereArr=whereArr.concat(whereResult.listOfWhere)}else if(indexOfSelect>unionMinIdx&&unionMinIdx!=Infinity&&indexOfSelect!=-1){let unionResult=this.getUnionsAndRemainingQuery(remainingQuery);dynamicQuery.IsUnion=unionResult.IsUnion;dynamicQuery.UnionType=unionResult.UnionType;dynamicQuery.UnionQuery=unionResult.UnionQuery;remainingQuery=unionResult.CurrentRmngQuery}indexOfSelect=remainingQuery.indexOf(selectStr);whereIdx=remainingQuery.indexOf(whereStr);whereIdx==-1&&(whereIdx=Infinity);indexOfSelect!=-1&&(fromToSubQuery=remainingQuery.substring(0,indexOfSelect).trim(),tempQuery=remainingQuery.replace(fromToSubQuery,"").trim())}if(remainingQuery.length){let result=this.getTablesJoinsClauses(remainingQuery);whereArr=whereArr.concat(result.Where);joinsArr=joinsArr.concat(result.Joins);clauseArr=clauseArr.concat(result.Clause);tables=tables.concat(result.Tables)}}else indexOfBrac<indexOfSelect;else if(indexOfSelect!=-1&&unionMinIdx!=-1&&indexOfSelect>unionMinIdx){let unionResult=this.getUnionsAndRemainingQuery(tempQuery);dynamicQuery.IsUnion=unionResult.IsUnion;dynamicQuery.UnionType=unionResult.UnionType;dynamicQuery.UnionQuery=unionResult.UnionQuery;remainingQuery=unionResult.CurrentRmngQuery;let result=this.getTablesJoinsClauses(remainingQuery);whereArr=whereArr.concat(result.Where);joinsArr=joinsArr.concat(result.Joins);clauseArr=clauseArr.concat(result.Clause);tables=tables.concat(result.Tables)}else if(indexOfSelect==-1){let result=this.getTablesJoinsClauses(tempQuery);whereArr=whereArr.concat(result.Where);joinsArr=joinsArr.concat(result.Joins);clauseArr=clauseArr.concat(result.Clause);tables=tables.concat(result.Tables)}dynamicQuery.DataListDocTypes=tables;dynamicQuery.DataListWhere=whereArr;dynamicQuery.DataListColumns=columns;dynamicQuery.DataListJoins=joinsArr;dynamicQuery.DataListClause=clauseArr;dynamicQuery.TempName="";dynamicQuery.DataListJoins.forEach(x=>{x.DocTypeTableName.startsWith("__")&&x&&tableNames.push(x.DocTypeTableName)});tempTables=Object.assign([],dynamicQuery.DataListDocTypes);dynamicQuery.DataListDocTypes.filter(x=>{for(var idx,i=0;i<tableNames.length;i++)tableNames[i]!=x.DocTypeTableName||x.IsSubQuery||(idx=tempTables.indexOf(x),x&&idx!=-1&&tempTables.splice(idx,1))});dynamicQuery.DataListDocTypes=tempTables;for(var i=0;i<dynamicQuery.DataListDocTypes.length;i++)(slctToFrom.includes(dynamicQuery.DataListDocTypes[i].DocTypeTableName+".*")||slctToFrom.includes(dynamicQuery.DataListDocTypes[i].DocTableAliasName+".*"))&&(dynamicQuery.DataListDocTypes[i].IsStarSelected=!0);return dynamicQuery}getSubQueryAndRmngQuery(tempQuery){var i,j,k;let selectString="select ",closingIndex,subQuery="",remainingQuery="",fromToSubQuery="",subQueryAliasName="",whereIdx,groubyIdx,orderbyIdx,havingIdx,unionIdx,unionAllIdx,minIdx,indexOfSelect=tempQuery.indexOf(selectString),indexOfFrom=tempQuery.indexOf("from "),sub_dynamicQuery=new DataSources.Requests.DynamicQuery;if(closingIndex=this.getIndexOfCorrespondingCloseBracket(tempQuery),subQuery=tempQuery.substring(0,closingIndex-1),remainingQuery=tempQuery.substring(closingIndex,tempQuery.length).trim(),whereIdx=remainingQuery.indexOf(" where")==-1?Infinity:remainingQuery.indexOf(" where"),groubyIdx=remainingQuery.indexOf(" group by")==-1?Infinity:remainingQuery.indexOf(" group by"),orderbyIdx=remainingQuery.indexOf(" order by")==-1?Infinity:remainingQuery.indexOf(" order by"),havingIdx=remainingQuery.indexOf(" having")==-1?Infinity:remainingQuery.indexOf(" having"),unionIdx=remainingQuery.indexOf(" union")==-1?Infinity:remainingQuery.indexOf(" union"),unionAllIdx=remainingQuery.indexOf(" union all")==-1?Infinity:remainingQuery.indexOf(" union all"),minIdx=Math.min(whereIdx,groubyIdx,orderbyIdx,havingIdx,unionIdx,unionAllIdx),minIdx!=Infinity){let rmngSpltedQuery=remainingQuery.split(" "),joinsArray=[],lastRelation="",keywords=Object.values(DataSources.Enums.RelationType).filter(x=>typeof x=="string");for(keywords=keywords.concat(Object.values(DataSources.Enums.UnionType).filter(x=>typeof x=="string")),lastRelation=keywords.pop(),joinsArray=remainingQuery.split(lastRelation.toLowerCase()).map(x=>x.trim()),i=0;i<keywords.length;i++)for(j=0;j<joinsArray.length;j++){let split=joinsArray[j].split(keywords[i].toLowerCase()).map(x=>x.trim());if(split.length>1)for(joinsArray.splice(j,1),k=0;k<split.length;k++)joinsArray.splice(j+k,0,split[k])}subQueryAliasName=rmngSpltedQuery[1]&&rmngSpltedQuery[1].toLowerCase()=="on"?rmngSpltedQuery[0]:joinsArray[0].split(" ").length==1?joinsArray[0]:remainingQuery.substring(0,minIdx).trim()}else if(remainingQuery.length){let andIdx=remainingQuery.indexOf("and ")==-1?Infinity:remainingQuery.indexOf("and "),orIdx=remainingQuery.indexOf("or ")==-1?Infinity:remainingQuery.indexOf("or ");minIdx=Math.min(orIdx,andIdx);minIdx!=Infinity&&minIdx!=0?subQueryAliasName=remainingQuery.substring(0,minIdx):remainingQuery.split(" ")[0].trim()=="as"?subQueryAliasName=remainingQuery.split(" ")[1]:minIdx!=0&&(subQueryAliasName=remainingQuery)}return fromToSubQuery.length>1&&fromToSubQuery!="("&&(remainingQuery=fromToSubQuery+remainingQuery),indexOfSelect=subQuery.indexOf(selectString),indexOfSelect!=-1&&(sub_dynamicQuery=this.parseQueryToDynamic(subQuery)),{SubDynamicQuery:sub_dynamicQuery,RemainingQuery:remainingQuery,SubQueryAliasName:subQueryAliasName}}getTablesJoinsClauses(tempQuery){var k,j,i;tempQuery=tempQuery.toLowerCase().trim();let joinsArr=[],clauseArr=[],whereArr=[],tables=[],whereStr="where ",orderByStr="order by",groupByStr="group by",havingStr="having ",whereConditionStr="",groupByConditionStr="",havingConditionStr="",orderByConditionStr="",tablesQuery="",joinsArray=[],lastRelation="",relations=Object.values(DataSources.Enums.RelationType).filter(x=>typeof x=="string"),whereIdx=tempQuery.indexOf(whereStr)==-1?Infinity:tempQuery.indexOf(whereStr),groubyIdx=tempQuery.indexOf(groupByStr)==-1?Infinity:tempQuery.indexOf(groupByStr),orderbyIdx=tempQuery.indexOf(orderByStr)==-1?Infinity:tempQuery.indexOf(orderByStr),havingIdx=tempQuery.indexOf(havingStr)==-1?Infinity:tempQuery.indexOf(havingStr),clauseIdx=Math.min(whereIdx,groubyIdx,orderbyIdx,havingIdx);if(tablesQuery=clauseIdx!=Infinity?tempQuery.substring(0,clauseIdx):tempQuery,lastRelation=relations.pop(),joinsArray=tablesQuery.split(lastRelation.toLowerCase()).map(x=>x.trim()),joinsArray.length>1)for(i=0;i<joinsArray.length;i++)i&&!joinsArray[i].startsWith("__")&&(joinsArray[i]=`__Cross `+joinsArray[i]);for(i=0;i<relations.length;i++){for(j=0;j<joinsArray.length;j++){let split=joinsArray[j].split(relations[i].toLowerCase()).map(x=>x.trim());if(split.length>1)for(joinsArray.splice(j,1),k=0;k<split.length;k++)joinsArray.splice(j+k,0,split[k])}if(joinsArray.length>1)for(j=0;j<joinsArray.length;j++)j&&!joinsArray[j].startsWith("__")&&(joinsArray[j]=`__${relations[i]} `+joinsArray[j])}for(j=0;j<joinsArray.length;j++){let currentEle=joinsArray[j],index=currentEle.indexOf(" join ",8);index!=-1&&(joinsArray.splice(j+1,0,"__Inner"+currentEle.substring(index,currentEle.length)),joinsArray[j]=currentEle.substring(0,index))}for(j=0;j<joinsArray.length;j++){let table=new DataSources.Requests.DataListTable,join=new DataSources.Requests.DataListJoin,joinOn=new DataSources.Requests.DataListJoinOn;if(j){joinsArray[j].includes("join ")&&(joinsArray[j]=joinsArray[j].replace("join ",""));let joinType=joinsArray[j].split(" ")[0].slice(2);join.DocJoinType=parseInt(DataSources.Enums.RelationType[joinType]);joinsArray[j]=joinsArray[j].split(" ").slice(1).join(" ");let joinArr=joinsArray[j].split(" on "),tableSplit=joinArr[0].split(" ").map(x=>x.trim()),tableColumnsSplit=joinArr[1].split("=").map(x=>x.trim());tableSplit.length==2?(join.DocTypeTableName=tableSplit[0],join.DocTableAliasName=tableSplit[1],table.DocTypeTableName=tableSplit[0],table.DocTableAliasName=tableSplit[1]):(join.DocTypeTableName=tableSplit[0],join.DocTableAliasName=tableSplit[0],table.DocTypeTableName=tableSplit[0],table.DocTableAliasName=tableSplit[0]);joinOn.DocTypeTable1Column=tableColumnsSplit[0];joinOn.DocTypeTable2Column=tableColumnsSplit[1];join.on=joinOn}else{let minIdx=Math.min(whereIdx,groubyIdx,orderbyIdx,havingIdx);minIdx!=Infinity&&(joinsArray[j]=joinsArray[j].substring(0,minIdx));let tableArr=[];joinsArray[j].includes("(")?tableArr=[joinsArray[j]]:(tableArr=joinsArray[j].split(" "),joinsArray[j].includes("as ")&&(tableArr=joinsArray[j].split("as ").map(x=>x.trim())));join.DocTypeTableName=tableArr[0];join.DocTableAliasName=tableArr[1]?tableArr[1]:tableArr[0];table.DocTypeTableName=tableArr[0];table.DocTableAliasName=tableArr[1]?tableArr[1]:tableArr[0]}joinsArr.push(join);tables.push(table)}if(whereIdx=tempQuery.indexOf(whereStr)==-1?Infinity:tempQuery.indexOf(whereStr),groubyIdx=tempQuery.indexOf(groupByStr)==-1?Infinity:tempQuery.indexOf(groupByStr),orderbyIdx=tempQuery.indexOf(orderByStr)==-1?Infinity:tempQuery.indexOf(orderByStr),havingIdx=tempQuery.indexOf(havingStr)==-1?Infinity:tempQuery.indexOf(havingStr),whereIdx!=Infinity){let minIdx=Math.min(groubyIdx,orderbyIdx,havingIdx)==Infinity?tempQuery.length:Math.min(groubyIdx,orderbyIdx,havingIdx);whereConditionStr=tempQuery.substring(whereIdx+5,minIdx).trim();whereArr=this.getWhereConditionsFromQuery(whereConditionStr)}if(groubyIdx!=Infinity){let clause=new DataSources.Requests.DataListClause,minIdx=Math.min(orderbyIdx,havingIdx)==Infinity?tempQuery.length:Math.min(orderbyIdx,havingIdx);groupByConditionStr=tempQuery.substring(groubyIdx+8,minIdx).trim();clause.ClauseType=DataSources.Enums.ClauseType.GroupBy;clause.Columns=groupByConditionStr;clauseArr.push(clause)}if(havingIdx!=Infinity){let clause=new DataSources.Requests.DataListClause;havingConditionStr=tempQuery.substring(havingIdx+6,orderbyIdx==Infinity?tempQuery.length:orderbyIdx).trim();clause.ClauseType=DataSources.Enums.ClauseType.Having;clause.Columns="";clause.Having=this.getWhereConditionsFromQuery(whereConditionStr);clauseArr.push(clause)}if(orderbyIdx!=Infinity){let clause=new DataSources.Requests.DataListClause,orderByArr=Object.values(DataSources.Enums.OrderBy).filter(x=>typeof x=="string");for(orderByConditionStr=tempQuery.substring(orderbyIdx+8,tempQuery.length).trim(),clause.ClauseType=DataSources.Enums.ClauseType.OrderBy,clause.Columns=orderByConditionStr,i=0;i<orderByArr.length;i++)orderByConditionStr.includes(orderByArr[i].toLowerCase())&&(clause.OrderBy=parseInt(DataSources.Enums.OrderBy[orderByArr[i]]));clauseArr.push(clause)}return{Tables:tables,Joins:joinsArr,Where:whereArr,Clause:clauseArr}}getIndexOfCorrespondingCloseBracket(query){let counter=1,openBrac="(",closeBrac=")",index=1;while(counter>0){let openIndex=query.indexOf(openBrac,index),closeIndex=query.indexOf(closeBrac,index);openIndex!=-1&&closeIndex!=-1?openIndex<closeIndex?(counter++,index=openIndex+1):openIndex>closeIndex&&(counter--,index=closeIndex+1):openIndex==-1&&closeIndex!=-1?(counter--,index=closeIndex+1):closeIndex==-1}return index}getDataListColumnsFromSelectString(query){let columns=[],indexOfSelect=query.indexOf("select "),indexOfFrom=query.indexOf("from "),columnsStr="";if(indexOfSelect!=-1&&indexOfFrom!=-1&&(columnsStr=query.trim().substring(indexOfSelect+6,indexOfFrom).trim(),columnsStr.indexOf(",")==0&&(columnsStr=columnsStr.slice(1)),columnsStr=this.removeParanthesisBetweenColumns(columnsStr),columnsStr.length)){let colsArray=columnsStr.trim().split(",").map(x=>x.trim());for(var i=0;i<colsArray.length;i++){let column=new DataSources.Requests.DataListColumn;if(colsArray[i].includes(" as")){let col_alias=colsArray[i].split(" as").map(x=>x.trim());column.ColumnName=col_alias[0];column.AliasName=col_alias[1]}else{let clmn=colsArray[i].trim();column.ColumnName=clmn;column.AliasName=clmn}columns.push(column)}}return columns=this.addParanthesisBtwColumns(columns)}getWhereConditionsFromQuery(query){query=query.trim().toLowerCase();let splitedArray=this.getWhereQueryAsConditionsArray(query),WhereArr=[];for(var i=0;i<splitedArray.length;i++){let where=new DataSources.Requests.DataListWhere;if(i){let clmnSplit=splitedArray[i].split(" ");clmnSplit.shift();splitedArray[i]=clmnSplit.join(" ")}if(splitedArray[i].includes("between ")){let split=splitedArray[i].split(" ");where.ColumnName=split[0];where.IsBetween=!0;where.Value1=split[2];where.Value2=split[4];where.ExpressionType=DataSources.Enums.ExpressionType.Between}else if(splitedArray[i].includes(">=")){let split=splitedArray[i].split(">=");where.ColumnName=split[0].trim();where.Value1=split[1].trim();where.ExpressionType=DataSources.Enums.ExpressionType.GreaterThanEqualTo}else if(splitedArray[i].includes("<=")){let split=splitedArray[i].split("<=");where.ColumnName=split[0].trim();where.Value1=split[1].trim();where.ExpressionType=DataSources.Enums.ExpressionType.LessThanEqualTo}else if(splitedArray[i].includes("!=")){let split=splitedArray[i].split("!=");where.ColumnName=split[0].trim();where.Value1=split[1].trim();where.ExpressionType=DataSources.Enums.ExpressionType.NotEqualTo}else if(splitedArray[i].includes(">")){let split=splitedArray[i].split(">");where.ColumnName=split[0].trim();where.Value1=split[1].trim();where.ExpressionType=DataSources.Enums.ExpressionType.GreaterThan}else if(splitedArray[i].includes("<")){let split=splitedArray[i].split("<");where.ColumnName=split[0].trim();where.Value1=split[1].trim();where.ExpressionType=DataSources.Enums.ExpressionType.LessThan}else if(splitedArray[i].includes("=")){let split=splitedArray[i].split("=");where.ColumnName=split[0].trim();where.Value1=split[1].trim();where.ExpressionType=DataSources.Enums.ExpressionType.EqualTo}else if(splitedArray[i].includes("not in ")){let split=splitedArray[i].split("not in ");where.ColumnName=split[0].trim();where.Value1=split[1].trim();where.ExpressionType=DataSources.Enums.ExpressionType.NotIn}else if(splitedArray[i].includes(" in")){let split=splitedArray[i].split(" in");split.length>2&&(split[1]=split.slice(1).join(" "));where.ColumnName=split[0].trim();where.Value1=split[1].trim();where.ExpressionType=DataSources.Enums.ExpressionType.In}else if(splitedArray[i].includes("is not")){let split=splitedArray[i].split("is not");where.ColumnName=split[0].trim();where.Value1=split[1].trim();where.ExpressionType=DataSources.Enums.ExpressionType.IsNotNull}else if(splitedArray[i].includes(" is")){let split=splitedArray[i].split(" is");where.ColumnName=split[0].trim();where.Value1=split[1].trim();where.ExpressionType=DataSources.Enums.ExpressionType.IsNull}i+1<splitedArray.length&&(where.AddConditionType=DataSources.Enums.ConditionJoinType[splitedArray[i+1].split(" ").shift().slice(2)]);WhereArr.push(where)}return WhereArr}removeParanthesisBetweenColumns(columnsStr){let openPranStr="(",indexOfOpenPranthesis=columnsStr.indexOf(openPranStr),indexOfClosedParan=-1,strBtwnParanthesis="",modifiedStr="",tempStr="";while(indexOfOpenPranthesis!=-1)tempStr=columnsStr.substring(indexOfOpenPranthesis+1,columnsStr.length),indexOfClosedParan=this.getIndexOfCorrespondingCloseBracket(tempStr),strBtwnParanthesis=columnsStr.substring(indexOfOpenPranthesis,indexOfOpenPranthesis+indexOfClosedParan+1),modifiedStr=strBtwnParanthesis.replaceAll(openPranStr,"_& "),modifiedStr=modifiedStr.replaceAll(",","__"),modifiedStr=modifiedStr.replaceAll(")"," &_"),columnsStr=columnsStr.replace(strBtwnParanthesis,modifiedStr),indexOfOpenPranthesis=columnsStr.indexOf(openPranStr);return columnsStr}addParanthesisBtwColumns(columns){for(var i=0;i<columns.length;i++){let colname=columns[i].ColumnName,aliasName=columns[i].AliasName;colname.includes("_& ")&&(colname=colname.replaceAll("_& ","("),colname=colname.replaceAll("__",","),colname=colname.replaceAll(" &_",")"),aliasName=aliasName.replaceAll("_& ","("),aliasName=aliasName.replaceAll("__",","),aliasName=aliasName.replaceAll(" &_",")"),columns[i].ColumnName=colname,columns[i].AliasName=aliasName)}return columns}getUnionsAndRemainingQuery(tempQuery){tempQuery=tempQuery.trim();let unionQuery,currentRmngQuery="",newUnionQuery="",unionIdx,unionAllIdx,unionType,isUnion;return unionAllIdx=tempQuery.indexOf(" union all")==-1?Infinity:tempQuery.indexOf(" union all"),unionIdx=tempQuery.indexOf(" union")==-1?Infinity:tempQuery.indexOf(" union"),unionIdx<unionAllIdx?(currentRmngQuery=tempQuery.substring(0,unionIdx),newUnionQuery=tempQuery.substring(unionIdx+6,tempQuery.length),unionType=DataSources.Enums.UnionType.Union):unionIdx>unionAllIdx&&(currentRmngQuery=tempQuery.substring(0,unionAllIdx),newUnionQuery=tempQuery.substring(unionAllIdx+10,tempQuery.length),unionType=DataSources.Enums.UnionType.UnionAll),unionQuery=this.parseQueryToDynamic(newUnionQuery),isUnion=!0,{UnionType:unionType,IsUnion:isUnion,UnionQuery:unionQuery,CurrentRmngQuery:currentRmngQuery}}getWhereQueryAsConditionsArray(query){var splitArray=query.split("and "),keywords=["and ","or "],j,k,i;if(splitArray.length>1)for(i=0;i<splitArray.length;i++)i&&!splitArray[i].startsWith("__")&&(splitArray[i]=`__And `+splitArray[i]);for(keywords.shift(),i=0;i<keywords.length;i++){for(j=0;j<splitArray.length;j++){let split=splitArray[j].split(keywords[i].toLowerCase()).map(x=>x.trim());if(split.length>1)for(splitArray.splice(j,1),k=0;k<split.length;k++)splitArray.splice(j+k,0,split[k])}for(k=0;k<splitArray.length;k++)k&&!splitArray[k].startsWith("__")&&(splitArray[k]=`__Or `+splitArray[k])}for(splitArray=splitArray.map(x=>x.trim()),i=0;i<splitArray.length;i++)if(splitArray[i].includes("between ")){let nextElemntArr=splitArray[i+1].split(" ");nextElemntArr.shift();splitArray[i+1]=nextElemntArr.map(x=>x.trim()).join(" ");splitArray[i]=splitArray[i]+" and "+splitArray[i+1];splitArray.splice(i+1,1)}return splitArray}someFn(joinArr){var l;if(joinArr.length==3&&joinArr[2].includes("=")){let tablesSeperatedArr=joinArr[2].split("=");for(joinArr.splice(2,1),l=0;l<tablesSeperatedArr.length;l++)joinArr.push(tablesSeperatedArr[l]),l||joinArr.push("=")}else if(joinArr.length==4&&joinArr[2].includes("="))joinArr[2]=joinArr[2].replace("=",""),joinArr.splice(3,0,"=");else if(joinArr.length==4&&joinArr[3].includes("="))joinArr[3]=joinArr[3].replace("=",""),joinArr.splice(3,0,"=");else if(joinArr.length==4&&joinArr[3].includes("=")){let tablesSeperatedArr=joinArr[3].split("=");for(joinArr.splice(3,1),l=0;l<tablesSeperatedArr.length;l++)joinArr.push(tablesSeperatedArr[l]),l||joinArr.push("=")}else joinArr.length==4&&joinArr[2].includes("=")?(joinArr[2]=joinArr[2].replace("=",""),joinArr.splice(3,0,"=")):joinArr.length==4&&joinArr[3].includes("=")&&(joinArr[3]=joinArr[3].replace("=",""),joinArr.splice(3,0,"="));return joinArr}getSubQueriesInWhere(clauseQuery){clauseQuery=clauseQuery.trim();let whereIdx,groubyIdx,orderbyIdx,havingIdx,clauseIdx,unionIdx,whereQuery="",queryBfWhr="",tempQuery="",closingIdx,selectIdx,subQueryStr="",whereInitialStr="",otherClauseQuery="",subQueryArr=[],whereArr=[];for(selectIdx=clauseQuery.indexOf("select ");selectIdx!=-1;){let subquery=new DataSources.Requests.DynamicQuery;whereInitialStr=clauseQuery.substring(0,selectIdx).trim();whereInitialStr=whereInitialStr.substring(0,whereInitialStr.lastIndexOf("(")).trim();tempQuery=clauseQuery.substring(selectIdx,clauseQuery.length);closingIdx=this.getIndexOfCorrespondingCloseBracket(tempQuery);subQueryStr=tempQuery.substring(0,closingIdx-1);clauseQuery=tempQuery.substring(closingIdx,tempQuery.length).trim();selectIdx=subQueryStr.indexOf("select ");selectIdx!=-1&&(subquery=this.parseQueryToDynamic(subQueryStr));clauseQuery=whereInitialStr+` __subquerytable_${++this.subQueryNumber} `+clauseQuery;selectIdx=clauseQuery.indexOf("select ");unionIdx=clauseQuery.indexOf("union ");unionIdx<selectIdx&&(selectIdx=-1);subquery.TempName=`__subquerytable_${this.subQueryNumber}`;subQueryArr.push(subquery)}groubyIdx=clauseQuery.indexOf("group by")==-1?Infinity:clauseQuery.indexOf("group by");orderbyIdx=clauseQuery.indexOf("order by")==-1?Infinity:clauseQuery.indexOf("order by");havingIdx=clauseQuery.indexOf("having ")==-1?Infinity:clauseQuery.indexOf("having ");unionIdx=clauseQuery.indexOf("union ")==-1?Infinity:clauseQuery.indexOf("union ");clauseIdx=Math.min(groubyIdx,orderbyIdx,havingIdx,unionIdx);whereIdx=clauseQuery.indexOf("where ");clauseIdx!=Infinity?(whereQuery=clauseQuery.substring(clauseQuery.indexOf("where ")+6,clauseIdx),otherClauseQuery=clauseQuery.substring(clauseIdx,clauseQuery.length)):whereQuery=clauseQuery.substring(clauseQuery.indexOf("where ")+6,clauseQuery.length);whereQuery=whereQuery.trim();let idx=whereQuery.indexOf("(");if(idx==0){let clseIdx=this.getIndexOfCorrespondingCloseBracket(whereQuery.slice(idx));whereQuery=whereQuery.substring(0,clseIdx-1).slice(idx+1).trim()}queryBfWhr=clauseQuery.substring(0,whereIdx);otherClauseQuery=otherClauseQuery.replace(whereQuery,"").trim();otherClauseQuery=queryBfWhr+otherClauseQuery;whereArr=this.getWhereConditionsFromQuery(whereQuery);for(var i=0;i<whereArr.length;i++){let subQuery=subQueryArr.find(x=>x.TempName==whereArr[i].Value1);subQuery&&(whereArr[i].IsSubQuery=!0,whereArr[i].SubQuery=subQuery)}return{listOfWhere:whereArr,RemaingQuery:otherClauseQuery}}static Instance(){return this.instance===undefined&&(this.instance=new QueryParser),this.instance}}Components.QueryParser=QueryParser})(Components=DataSources.Components||(DataSources.Components={}))})(DataSources=Platform.DataSources||(Platform.DataSources={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Analytics;(function(Analytics){let Components;(function(Components){class MapViewerSettings extends Platform.Core.BaseComponent{constructor(){super();this.reportManager=Analytics.Managers.ReportManager.Instance();this.viewerManager=Analytics.Managers.ViewerManager.Instance();this.ReportId=0}jsFiles(){return["platform/analytics/components/mapviewer/mapviewer.settings.js"]}cssFiles(){return[]}html(){return`<div class="b-b bg-white modal-header">
  325. <strong class="text-dark">Map</strong>
  326. </div>
  327. <div class="modal-body" id="MapViewer_modal">
  328. <div id = "divMap_ErrorMessage"></div>
  329. <div class="card"> <div class="card-body"><div class="row"><div class="col-sm-6">
  330. <div id="div_MapName" class="floating-label-form-group">
  331. <label for="mapname" id="lbl_MapName">Map Name</label>
  332. <input type="text" class="form-control value-control floating-label-control" placeholder="Map Name" data-placeholder="Map Name" data-label="Map Name" id="txt_MapName">
  333. </div></div>
  334. <div class="col-sm-4">
  335. <div id="div_DisplayName" class="floating-label-form-group floating-label-form-group-with-value">
  336. <label for="displayname" id="lbl_DisplayName">Display Name</label>
  337. <input type="text" id="Txt_Display_Name" class="form-control value-control floating-label-control" placeholder="Display Name" data-placeholder="Display Name" data-label="Display Name">
  338. </div>
  339. </div>
  340. <div class="col-sm-6">
  341. <div id="div_Latitude" class="">
  342. <label for="latitude">Latitude</label>
  343. <select type="text" class="form-control value-control floating-label-control" placeholder="Latitude" data-placeholder="Latitude" data-label="Latitude" id="txt_Latitude"><option value="0" selected="">Select Latitude Column</option></select>
  344. </div>
  345. </div>
  346. <div class="col-sm-6">
  347. <div id="div_Longitude" class="">
  348. <label for="longitude" id="lbl_Longitude">Longitude</label>
  349. <select type="text" class="form-control value-control floating-label-control" placeholder="Longitude" data-placeholder="Longitude" data-label="Longitude" id="txt_Longitude"> <option value="0" selected="">Select Longitude Column</option></select>
  350. </div></div>
  351. </div></div></div>
  352. <div class="TemplateText_Section card">
  353. <div class="card-header"> Template Text </div>
  354. <div class="card-body">
  355. <div id="div_TemplateText" class="">
  356. <textarea class="" id="input_TemplateText" placeholder="Template Text" rows="3" cols="112"></textarea>
  357. </div>
  358. </div>
  359. </div>
  360. <div class="HeaderTemplateText_Section card">
  361. <div class="card-header">Header Template Text </div>
  362. <div class="card-body">
  363. <div id="div_HeaderTemplateText" class="">
  364. <textarea class="" id="input_HeaderTemplateText" placeholder="Header Template Text" rows="3" cols="112"></textarea>
  365. </div>
  366. </div>
  367. </div>
  368. <div class="DetailTemplateText_Section card">
  369. <div class="card-header">Detail Template Text </div>
  370. <div class="card-body">
  371. <div id="div_DetailTemplateText" class="">
  372. <textarea class="" id="input_DetailTemplateText" placeholder="Detail Template Text" rows="3" cols="112"></textarea>
  373. </div>
  374. </div>
  375. </div>
  376. <div class="FooterTemplateText_Section card">
  377. <div class="card-header">Footer Template Text </div>
  378. <div class="card-body">
  379. <div id="div_FooterTemplateText" class="">
  380. <textarea class="" id="input_FooterTemplateText" placeholder="Footer Template Text" rows="3" cols="112"></textarea>
  381. </div>
  382. </div>
  383. </div>
  384. </div>
  385. </div>
  386. <div class="bg-white modal-footer">
  387. <a class="btn btn-light btn-sm btn-center mr-auto" id="btnClose">Close</a>
  388. <a class="btn btn-primary btn-center btn-sm text-white" id="btnSave">Save</a>
  389. </div>`}load(id,containerid){var instance=this,reportid=Number(instance.ReportId),data;$("#MapViewer_modal").css("height",$(window).outerHeight()-(Number($(".modal-header").outerHeight())+Number($(".modal-footer").outerHeight()))+"px");data=[];instance.reportManager.getColumns(reportid).then(function(response){var res=response.result;for(let i=0;i<res.length;i++)data.push({id:res[i].ReportColumnName,text:res[i].ReportColumnName});$("#txt_Latitude").select2({placeholder:"Select Latitude Column",data:data});$("#txt_Longitude").select2({placeholder:"Select Longitude Column",data:data});id!=0&&instance.getMapById(id)});$("#btnClose").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove()});jQuery("#btnSave").click(function(){instance.saveMap(id,reportid,containerid,null)})}getMapById(id){var instance=this;instance.viewerManager.getMapView(id).then(function(response){instance.response=response.result;$("#Txt_Display_Name").val(instance.response.DisplayName?instance.response.DisplayName.trim():instance.response.MapName.trim());$("#txt_MapName").val(instance.response.MapName.trim()).attr("readonly","true").css("cursor","not-allowed");$("#txt_Latitude").val(instance.response.LatColumn).trigger("change");$("#txt_Longitude").val(instance.response.LngColumn).trigger("change");$("#input_TemplateText").val(instance.response.TemplateText);$("#input_HeaderTemplateText").val(instance.response.HeaderTemplateText);$("#input_DetailTemplateText").val(instance.response.DetailTemplateText);$("#input_FooterTemplateText").val(instance.response.FooterTemplateText)})}saveMap(id,reportid,containerid,obj){var instance=this,PostData=obj;obj==null&&(PostData={LatColumn:$("#txt_Latitude option:selected").text(),LngColumn:$("#txt_Longitude option:selected").text(),MapName:$("#txt_MapName").val(),ValueColumn:$("#txt_ColumnName").val(),ReportId:Number(reportid),MapViewId:Number(id),TemplateText:$("#input_TemplateText").val(),HeaderTemplateText:$("#input_HeaderTemplateText").val(),DetailTemplateText:$("#input_DetailTemplateText").val(),FooterTemplateText:$("#input_FooterTemplateText").val(),DisplayModeTypeId:1,ViewAll:instance.response&&instance.response.ViewAll||!0,DisplayName:$("#Txt_Display_Name").val().toString().trim(),IsFromUI:Number(id)==0?!0:!1});instance.fileCacheHelper.loadJsFile("platform/analytics/managers/reportmanager.js",function(){instance.viewerManager.saveMapView(PostData).then(function(response){response.status==Unibase.Data.Status.Error?MessageHelper.Instance().showError(response.message,"divMap_ErrorMessage"):(MessageHelper.Instance().showSuccess(response.message,""),$("#"+containerid).modal("hide"),$("#"+containerid).remove())})})}static Instance(){return this._instance===undefined&&(this._instance=new Unibase.Platform.Analytics.Components.MapViewerSettings),this._instance}}Components.MapViewerSettings=MapViewerSettings})(Components=Analytics.Components||(Analytics.Components={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Analytics;(function(Analytics){let Viewers;(function(Viewers){class MapViewer extends Platform.Core.BaseComponent{constructor(){super();this.reportManager=Analytics.Managers.ReportManager.Instance();this.viewerManager=Analytics.Managers.ViewerManager.Instance();this.ViewerSettings=new Analytics.Providers.ViewerSettings}loadView(reportresponse,reportid,MapViewId,page,pageSize,containerid){var instance=this,LatIdColumnName="",LngIdColumnName="",Template="",HeaderTemplate="",DetailTemplate="",FooterTemplate="";instance.viewerManager.getMapView(MapViewId).then(function(response){var res=response.result;LatIdColumnName=res.LatColumn;LngIdColumnName=res.LngColumn;Template=res.TemplateText;HeaderTemplate=res.HeaderTemplateText;DetailTemplate=res.DetailTemplateText;FooterTemplate=res.FooterTemplateText;let postdata={ReportId:reportid,page:page,pageSize:50,IsJson:!0};$("#Table_View_"+containerid).removeClass("hidden");instance.reportManager.getReportViewerData(postdata).then(function(mapresponse){var templateScript,DetailTemplateScript,k,f;Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();var Lat_columns=[],Lng_columns=[],finalvalues=[],locations=[],contentString=[],response=JSON.parse(mapresponse.result),data="";if(response.Data&&(data=JSON.parse(response.Data)),$("#ViewerFooter_"+containerid).removeClass("hidden"),!data)return $("#Viewer_"+containerid+"").removeClass("hidden"),$("#Viewer_"+containerid+"").empty().append(`<div class='alert alert-primary text-center mb-0 border-0 w-100 font-14 rounded-0'>No data available</div>`),"";data=Unibase.Platform.Analytics.Viewers.MapViewer.Instance().toCamel(data);let Tmplt_html="",DetailTmplt_html="";templateScript=Handlebars.compile(Template);for(let i=0;i<data.length;i++){let LatValue=data[i][LatIdColumnName.toLowerCase()],LngValue=data[i][LngIdColumnName.toLowerCase()],ContactId=data[i].contactid;if(jQuery.inArray(LatValue,Lat_columns)==-1&&jQuery.inArray(LngValue,Lng_columns)==-1){finalvalues.push({LatValue:LatValue,LngValue:LngValue,ContactId:ContactId});Lat_columns.push(LatValue);Lng_columns.push(LngValue);Tmplt_html=Template!=""&&Template!=null?templateScript(data[i]):"<strong> LatId: "+LatValue+", LngId: "+LngValue+"<\/strong>";contentString.push(Tmplt_html);let html=`<div class="tab-content" id="pills-tabContent">
  390. <div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">`+DetailTemplate+`</div> <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">Close Trip </div></div></div></div></div>`;DetailTemplateScript=Handlebars.compile(DetailTemplate);DetailTmplt_html+=DetailTemplateScript(data[i])}else{let index=0;for(k=0;k<finalvalues.length;k++)finalvalues[k].LatValue==LatValue&&finalvalues[k].LngValue==LngValue&&(index=k);contentString[index]=contentString[index]+templateScript(data[i])}}for(f=0;f<finalvalues.length;f++)finalvalues[f].LatValue!=0&&finalvalues[f].LngValue!=0&&locations.push({LatId:finalvalues[f].LatValue,LngId:finalvalues[f].LngValue,ContactId:finalvalues[f].ContactId});let MapSideHtml=`<div class="row"><div class="col-md-12">
  391. <div id="map_canvas_`+containerid+`" class="gmap"></div></div>
  392. <div class="col-md-5 d-none pr-10 pb-10"><div id="map-sidebar"><div class="card mb-0"><div class="card-header" style="height:10vh;" id="map_header">`+HeaderTemplate+`</div><div class="card-body" id="mapside_body" style="overflow-y:scroll; height:71vh"> <div class="tab-content" id="pills-tabContent">
  393. <div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">`+DetailTmplt_html+` </div> <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">Close Trip </div></div></div><div class="card-footer" style="height:10vh;" id="footer_section">`+FooterTemplate+`</div></div></div></div>`;$("#Viewer_"+containerid+"").html(MapSideHtml).addClass("pa-10");$(".list-content-section"+containerid+"").removeClass("hidden");$(".Templateheader").addClass("hidden");$(".card-footer").addClass("hidden");$(".btn-list-load-more").addClass("hidden");$(".list-content-section"+containerid).find("#map_canvas").css("height",$(window).outerHeight()-$(".list-content-section"+containerid).find(".card-header").outerHeight()-55);for(var latd=locations[0].LatId,lgtd=locations[0].LngId,myLatlng=new google.maps.LatLng(latd,lgtd),mIcon={path:google.maps.SymbolPath.CIRCLE,fillOpacity:1,fillColor:"green",strokeOpacity:1,strokeWeight:1,strokeColor:"#333",scale:12,scaledSize:new google.maps.Size(54,44)},mapOptions={zoom:5,center:myLatlng},mapElement=document.getElementById("map_canvas_"+containerid),map=new google.maps.Map(mapElement,mapOptions),marker,infoWindow,Lng_Ltd=[],i=0;i<locations.length;i++)marker=new google.maps.Marker({position:new google.maps.LatLng(locations[i].LatId,locations[i].LngId),map:map,icon:mIcon}),Lng_Ltd[locations[i].LatId+"_"+locations[i].LngId]=contentString[i],infoWindow=new google.maps.InfoWindow({content:contentString[i]}),infoWindow.close(),google.maps.event.addListener(marker,"click",function(marker,i){var k=i;return function(){infoWindow.open(map,marker);infoWindow.setContent(Lng_Ltd[marker.getPosition().lat()+"_"+marker.getPosition().lng()])}}(marker,i)),google.maps.event.addListener(marker,"mouseover",function(marker,i){var k=i;return function(){infoWindow.open(map,marker);infoWindow.setContent(Lng_Ltd[marker.getPosition().lat()+"_"+marker.getPosition().lng()])}}(marker,i)),google.maps.event.addListener(marker,"mouseout",function(){infoWindow.close(map,marker)});let elem;elem=$("#mapside_body");elem.slimscroll({color:"#d6d9da",disableFadeOut:!0,borderRadius:0,size:"6px",enableKeyNavigation:!0,opacity:.8,height:"71vh"})})})}toCamel(o){var newO,origKey,newKey,value;if(o instanceof Array)return o.map(function(value){return typeof value=="object"&&(value=Unibase.Platform.Analytics.Viewers.MapViewer.Instance().toCamel(value)),value});newO={};for(origKey in o)o.hasOwnProperty(origKey)&&(newKey=(origKey.charAt(0).toLowerCase()+origKey.slice(1)||origKey).toString(),value=o[origKey],(value instanceof Array||value!==null&&value.constructor===Object)&&(value=Unibase.Platform.Analytics.Viewers.MapViewer.Instance().toCamel(value)),newO[newKey]=value);return newO}static Instance(){return new Unibase.Platform.Analytics.Viewers.MapViewer}}Viewers.MapViewer=MapViewer})(Viewers=Analytics.Viewers||(Analytics.Viewers={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={}));