Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.reportbuilder.min.js 75KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. var __awaiter,Unibase;(function(Unibase){let Platform;(function(Platform){let Analytics;(function(Analytics){let Reports;(function(Reports){class ReportFilter extends Platform.Core.BaseComponent{constructor(){super();this.isUnLimited=!0;this.isreportViewer=!1;this.dynamicFilters=[];this.datalistColumns=[];this.reportManager=Analytics.Managers.ReportManager.Instance();this.reportBuilder=Unibase.Platform.Analytics.Reports.ReportBuilder.Instance()}cssFiles(){return[]}jsFiles(){return["platform/analytics/managers/reportmanager.js","platform/datasources/managers/datalistmanager.js"]}html(){return`<section id="is-filterable-section" class="modal-content">
  2. <div class="modal-header pa-10">
  3. <strong class="modal-title biz-highlight-bg-color">CommonFilter</strong>
  4. <a class="btn btn-sm btn-theme ml-auto" id="btnClear">Clear</a>
  5. <div id="report_viewer_filter" class="form-error-message"></div>
  6. </div>
  7. <div data-simplebar class="simple-scroll-bar modal-body" id="CardViewer_modal">
  8. <div class="sub-report-block card">
  9. <header class="sub-report-head">
  10. <h6>
  11. Filter
  12. </h6>
  13. <span><i class="las la-filter filter"></i></span>
  14. </header>
  15. <div class="report-body">
  16. <div class="form-row mb-10">
  17. <div class="form-group col-sm 12">
  18. <label> Display Name </label>
  19. <input type="text" class="form-control" id="txt_DisplayName" placeholder="Display Name">
  20. </div>
  21. </div>
  22. <div class="form-row mb-10">
  23. <div class="col">
  24. <div id="div_datalistColumn">
  25. <label> DataList Name </label>
  26. <select id="datalistauto_AutoComplete" class="form-control text-control required">
  27. <option value="0" selected="">Select Datalist</option>
  28. </select>
  29. </div>
  30. </div>
  31. </div>
  32. <div class="form-row mb-10">
  33. <div class="col-sm-6">
  34. <div id="div_datalistvaluecolumn">
  35. <label> Value Column </label>
  36. <select id="datalistvalue_AutoComplete" class="form-control text-control required">
  37. <option value="0" selected="">Select value Column</option>
  38. </select>
  39. </div>
  40. </div>
  41. <div class="col-sm-6">
  42. <div id="div_datalisttextcolumn">
  43. <label> Text Column </label>
  44. <select id="datalisttext_AutoComplete" class="form-control text-control required">
  45. <option value="0" selected="">Select Text Column</option>
  46. </select>
  47. </div>
  48. </div>
  49. </div>
  50. <div class="form-row mb-10 mappedcolumnsdiv">
  51. <div class="form-group col-sm 12">
  52. <label>Mapped Columns</label>
  53. <select class="form-control custom-select" id="mappedcolumnsdropdown">
  54. <option value="0" selected="">Select Column</option>
  55. </select>
  56. </div>
  57. </div>
  58. <div class="form-row mb-10">
  59. <div class="form-group col-sm 12">
  60. <label>Control Type</label>
  61. <select class="form-control custom-select" id="ControlTypeDropDown">
  62. <option value="0" selected="">Select Control Type</option>
  63. <option value="1">AutoComplete </option>
  64. <option value="2"> TextBox </option>
  65. <option value="3"> Select2 </option>
  66. </select>
  67. </div>
  68. </div>
  69. <div class="form-row mb-10">
  70. <div class="form-group col-sm 12">
  71. <label>FontCase Type</label>
  72. <select class="form-control custom-select" id="FontCaseTypeDropDown">
  73. <option value="0" selected="">Select FontCase Type</option>
  74. <option value="1">No Change</option>
  75. <option value="2">Upper Case</option>
  76. <option value="3">Lower Case</option>
  77. </select>
  78. </div>
  79. </div>
  80. <div class="form-row mb-10">
  81. <div class="form-group col-6 col-sm-6">
  82. <label for="unlimited_checkbox">IsUnLimit</label>
  83. <div><input type="checkbox" class="chkIsUnLimited mr-10" id="isunlimited_checkbox">IsUnLimit</div>
  84. </div>
  85. <div class="form-group col-6 col-sm-6">
  86. <label for="isrequired_checkbox">Is Required</label>
  87. <div><input type="checkbox" class="chkisrequired mr-10" id="isrequired_checkbox">Is Required</div>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. </div>
  93. <div class="modal-footer pa-10">
  94. <a class="btn btn-sm btn-light mr-auto" id="btnClose">Close</a>
  95. <a class="btn btn-sm btn-primary" id="btnSave">Save</a>
  96. </div>
  97. </section>`}load(index,containerid){var instance=this,reportcolumn,filtercols,url;$("#isunlimited_checkbox").click(function(){$("#isunlimited_checkbox").prop("checked")==!1?(instance.isUnLimited=!1,$("#isunlimited_checkbox").prop("checked",!1)):(instance.isUnLimited=!0,$("#isunlimited_checkbox").prop("checked",!0))});reportcolumn=Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.selectedColumns[index];filtercols=[];filtercols=instance.isreportViewer?instance.dynamicFilters.filter(function(o){return o.IsFilterableColumn===instance.displayText}):Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().dynamicFilters.filter(function(o){return o.IsFilterableColumn===reportcolumn.AliasName});filtercols.length>0?(filtercols[0].IsUnLimited&&$("#isunlimited_checkbox").prop("checked",!0),filtercols[0].IsRequired&&$("#isrequired_checkbox").prop("checked",!0),$("#ControlTypeDropDown").val(filtercols[0].ControlTypeId),$("#FontCaseTypeDropDown").val(filtercols[0].FontCaseTypeId),$("#datalistauto_AutoComplete").append("<option value="+filtercols[0].DataListId+" selected>"+filtercols[0].DataListName+"<\/option>"),$("#datalistauto_AutoComplete").unbind().trigger("change"),Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportManager.getDataListColumns(Number($("#datalistauto_AutoComplete").val()),null,null).then(response=>{var data,valcol,txtcol;if(response.status==Unibase.Data.Status.Success)if(response.result!=""){this.datalistColumns=JSON.parse(response.result);data=[];for(let i=0;i<this.datalistColumns.length;i++)data.push({id:this.datalistColumns[i].ColumnId,text:this.datalistColumns[i].AliasName});data.filter(function(o){return o.text===filtercols[0].ValueColumn}).length>0&&(valcol=data.filter(function(o){return o.text===filtercols[0].ValueColumn})[0].id);data.filter(function(o){return o.text===filtercols[0].TextColumn}).length>0&&(txtcol=data.filter(function(o){return o.text===filtercols[0].TextColumn})[0].id);$("#datalistvalue_AutoComplete").select2({placeholder:"Select DataList",data:data});$("#datalisttext_AutoComplete").select2({placeholder:"Select DataList",data:data});$("#datalistvalue_AutoComplete").val(valcol).trigger("change");$("#datalisttext_AutoComplete").val(txtcol).trigger("change")}else return MessageHelper.Instance().showError("No DatalistColumns","divDynamicFilter_ErrorMessage");else return MessageHelper.Instance().showError(response.message,"divDynamicFilter_ErrorMessage")}),$("#txt_DisplayName").val(filtercols[0].DisplayName)):reportcolumn&&$("#txt_DisplayName").val(reportcolumn.DisplayText);url=_appsettings.server_url()+"/apis/v4/unibase/platform/datalists/getall_autocomplete";AutoCompleteHelper.getHelper().Create("#datalistauto_AutoComplete","#hfcommmonfilterAutoComplete_DataList",url,function(response){var data=response;$("#btnClear").click(function(){var index,filter;let dynamicFilters=[];Unibase.Platform.Analytics.Reports.ReportFilter.Instance().isreportViewer?dynamicFilters=Unibase.Platform.Filters.Components.Editfilters.Instance().dynamicFilters:(dynamicFilters=Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters,index=Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.findIndex(function(o){return o.IsFilterableColumn===reportcolumn.DisplayText}),index!==-1&&Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.splice(index,1),reportcolumn.IsFilterable=!1);filter=dynamicFilters.find(x=>x.TextColumn==$("#datalisttext_AutoComplete").select2("data")[0].text.trim());Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportManager.deleteDynamicFilter(filter.DynamicFilterId).then(function(){});$("#datalistauto_AutoComplete").text("select");$("#datalisttext_AutoComplete").text("select");$("#datalistvalue_AutoComplete").text("select")});$("#btnSave").unbind().click(function(){instance.isreportViewer?Unibase.Platform.Filters.Components.Editfilters.Instance().saveDynamicFilter(containerid):instance.save(reportcolumn,containerid)});$("#btnClose").unbind().click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove();instance.isreportViewer=!1});$("#datalistauto_AutoComplete").unbind().change(function(){Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportManager.getDataListColumns(Number($("#datalistauto_AutoComplete").val()),null,null).then(function(response){var res,data;if(response.status==Unibase.Data.Status.Success)if(response.result!=""){res=JSON.parse(response.result);data=[];for(let i=0;i<res.length;i++)data.push({id:res[i].ColumnId,text:res[i].AliasName});$("#datalistvalue_AutoComplete").html("");$("#datalisttext_AutoComplete").html("");$("#datalistvalue_AutoComplete").select2({placeholder:"Select DataList",data:data});$("#datalisttext_AutoComplete").select2({placeholder:"Select DataList",data:data})}else return MessageHelper.Instance().showError("No DataListColumns","divDynamicFilter_ErrorMessage");else return MessageHelper.Instance().showError(response.message,"divDynamicFilter_ErrorMessage")})})});let dlId=Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().DataListId;Unibase.Platform.DataSources.Managers.DataListManager.Instance().getDataList(dlId).then(res=>{if(res.status==Unibase.Data.Status.Success)if(res.result.Parameters){let params=res.result.Parameters.replaceAll("@","");params=params.split("|");let paramOptions="";for(var i=0;i<params.length;i++){let currentFilter=filtercols.find(x=>x.MappedColumn==params[i]);paramOptions+=currentFilter?`<option value="${params[i]}" selected > ${params[i]} </option>`:`<option value="${params[i]}"> ${params[i]} </option>`}$("#mappedcolumnsdropdown").append(paramOptions)}else $(".mappedcolumnsdiv").addClass("d-none")})}save(reportcolumn,containerid){var dynamicFilters,dynamicfilIndex,dynFill,index,model;let currentDatalistCol,IsFilterable=reportcolumn.IsFilterable;IsFilterable==!1&&(reportcolumn.IsFilterable=!IsFilterable);dynamicFilters=Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters;let dynamicfilterid=0;if(dynamicfilIndex=dynamicFilters.find(d=>d.IsFilterableColumn==reportcolumn.DisplayText),dynFill=dynamicFilters.filter(function(o){return o.IsFilterableColumn===reportcolumn.DisplayText}),dynFill.length>0&&(dynamicfilterid=dynFill[0].DynamicFilterId,index=dynamicFilters.findIndex(function(o){return o.IsFilterableColumn===reportcolumn.DisplayText}),index!==-1&&dynamicFilters.splice(index,1)),model=new DynamicFilterModel,model.IsFilterableColumn=reportcolumn.AliasName,model.DynamicFilterId=dynamicfilterid,model.DataListId=Number($("#datalistauto_AutoComplete").val()),model.DataListName=$("#datalistauto_AutoComplete").select2("data")[0].text,model.ReportId=0,model.MappedColumn=$("#mappedcolumnsdropdown option:selected").val()==="0"?"":$("#mappedcolumnsdropdown option:selected").val().toString(),model.TextColumn=$("#datalisttext_AutoComplete").select2("data")[0].text.trim(),model.ValueIdColumn=Number($("#datalistvalue_AutoComplete").val()),model.ValueColumn=$("#datalistvalue_AutoComplete").select2("data")[0].text.trim(),model.TextIdColumn=Number($("#datalisttext_AutoComplete").val()),model.Index=dynamicfilIndex?dynamicfilIndex.Index:dynamicFilters.length,model.ControlTypeId=Number($("#ControlTypeDropDown").val()),model.FontCaseTypeId=Number($("#FontCaseTypeDropDown").val()),model.DataType=reportcolumn.DataType,model.DisplayName=$("#txt_DisplayName").val().toString(),model.IsDefault=$(".dynamicfilter-defaultdate_"+reportcolumn.ColumnName).is(":checked"),model.IsUnLimited=$("#isunlimited_checkbox").prop("checked"),model.IsRequired=$("#isrequired_checkbox").prop("checked"),currentDatalistCol=this.datalistColumns.find(x=>x.ColumnId==model.ValueIdColumn),currentDatalistCol&&reportcolumn.DataType==Reports.Enums.DataType.string&&currentDatalistCol.DataTypeId!=Reports.Enums.DataType.string&&currentDatalistCol.DataTypeId!=Reports.Enums.DataType.text)return MessageHelper.Instance().showError("Selected value column data type should be string","report_viewer_filter");if(currentDatalistCol&&(reportcolumn.DataType==Reports.Enums.DataType.int32||reportcolumn.DataType==Reports.Enums.DataType.int64||reportcolumn.DataType==Reports.Enums.DataType.decimal)&&currentDatalistCol.DataTypeId!=Reports.Enums.DataType.int32&&currentDatalistCol.DataTypeId!=Reports.Enums.DataType.int64&&currentDatalistCol.DataTypeId!=Reports.Enums.DataType.decimal)return MessageHelper.Instance().showError("Selected value column data type should be integer as dynamic filter data type is integer","report_viewer_filter");Unibase.Platform.Analytics.Reports.ReportFilter.Instance().sortDynamicFilter(model);Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.push(model);$("#"+containerid).modal("hide");$("#"+containerid).remove()}sortDynamicFilter(){var instance=this;let filetersList=$("#dynamic-list-group-wrapper");filetersList&&filetersList.sortable({connectWith:"#dynamic-list-group-wrapper",cursor:"move",update:function(){$.each($("#dynamic-list-group-wrapper .datagroup"),function(index,item){let itemName=$(item).attr("data-isfilterablecolumn"),dynamicFilters=instance.dynamicFilters;if(dynamicFilters.length!=0)for(let x=0;x<dynamicFilters.length;x++)if(dynamicFilters[x].IsFilterableColumn==itemName){dynamicFilters[x].Index=index;break}instance.isreportViewer&&$(item).find(".filter-index").text(index+1)});instance.isreportViewer||instance.reportBuilder.load_data(instance.reportBuilder.table)}})}dynamicFilterIsDefaultDateColumn(columnName){var dIndex=this.getIndexByDisplayText_dynamicFilterColumns(columnName),isdefault;if(dIndex!=-1){let currentFilter=this.reportBuilder.dynamicFilters[dIndex];if(currentFilter.IsPartition)return $("#dynamicfilter-defaultdate_"+columnName).prop("checked",!1),MessageHelper.Instance().showError("Dynamic filter cannot be both partition and default, uncheck partition before making default","div_ReportBuilderErrorMessage");$("#dynamicfilter-defaultdate_"+columnName).hasClass("imchecked")&&($("input[type=radio][name=defaultdate]").prop("checked",!1),$("#dynamicfilter-defaultdate_"+columnName).removeClass("imchecked"));isdefault=$("#dynamicfilter-defaultdate_"+columnName).is(":checked");isdefault&&$("#dynamicfilter-defaultdate_"+columnName).addClass("imchecked");currentFilter.IsDefault=isdefault;this.reportBuilder.dynamicFilters[dIndex]=currentFilter;Unibase.Platform.Analytics.Managers.ReportManager.Instance().saveDynamicFilter(this.reportBuilder.reportid,this.reportBuilder.dynamicFilters).then(res=>{res.status==Unibase.Data.Status.Success?MessageHelper.Instance().showSuccess("Filter Saved Sucessfully","divEditFiltersErrMsg"):MessageHelper.Instance().showError(res.message,"div_ReportBuilderErrorMessage")})}}dynamicFilterIsPartition(columnName){var dIndex=this.getIndexByDisplayText_dynamicFilterColumns(columnName),ispartition;if(dIndex!=-1){let currentFilter=this.reportBuilder.dynamicFilters[dIndex];if(currentFilter.IsDefault)return $("#chk_ispartition_"+columnName).prop("checked",!1),MessageHelper.Instance().showError("Dynamic filter cannot be both partition and default, uncheck default before making partition","div_ReportBuilderErrorMessage");ispartition=$("#chk_ispartition_"+columnName).prop("checked");currentFilter.IsPartition=ispartition;this.reportBuilder.dynamicFilters[dIndex]=currentFilter;Unibase.Platform.Analytics.Managers.ReportManager.Instance().saveDynamicFilter(this.reportBuilder.reportid,this.reportBuilder.dynamicFilters).then(res=>{res.status==Unibase.Data.Status.Success?MessageHelper.Instance().showSuccess("Filter Saved Sucessfully","divEditFiltersErrMsg"):MessageHelper.Instance().showError(res.message,"div_ReportBuilderErrorMessage")})}}removeDynamicFilterSelectedColumn_table(DisplayText){var instance=this;bootbox.confirm("Do you want to Delete the Filter?",function(result){var index,i;if(result)if(index=instance.dynamicFilters.findIndex(function(o){return o.IsFilterableColumn===DisplayText&&instance.reportManager.deleteDynamicFilter(o.DynamicFilterId).then(function(response){response.status==Unibase.Data.Status.Success?MessageHelper.Instance().showSuccess(response.message,""):response.status==Unibase.Data.Status.Error&&MessageHelper.Instance().showError(response.message,"divEditFiltersErrMsg")}),o.IsFilterableColumn===DisplayText}),index!==-1&&instance.dynamicFilters.splice(index,1),$(`[data-isfilterablecolumn="${DisplayText}"]`).remove(),instance.dynamicFilters.length!=0)for(i=0;i<instance.dynamicFilters.length;i++){let filterIndex=instance.getIndexByDisplayText_dynamicFilterColumns(instance.dynamicFilters[i].IsFilterableColumn);instance.dynamicFilters[filterIndex].Index=i;instance.isreportViewer&&$("#dynamic-list-group-wrapper .filter-item").eq(i).find(".filter-index").text(i+1)}else instance.isreportViewer&&($("#dynamicFiltersCard").addClass("d-none"),$("#staticFiltersCard").is(":visible")||$("#noFiltersErrMsg").removeClass("d-none"))})}getIndexByDisplayText_dynamicFilterColumns(isFilterableColumn){return this.reportBuilder.dynamicFilters.findIndex(x=>x.IsFilterableColumn==isFilterableColumn)}static Instance(){return this.instance===undefined&&(this.instance=new ReportFilter),this.instance}}Reports.ReportFilter=ReportFilter})(Reports=Analytics.Reports||(Analytics.Reports={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))})(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Analytics;(function(Analytics){let Reports;(function(Reports){let Requests;(function(Requests){class ReportGroup{}Requests.ReportGroup=ReportGroup})(Requests=Reports.Requests||(Reports.Requests={}))})(Reports=Analytics.Reports||(Analytics.Reports={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Analytics;(function(Analytics){let Reports;(function(Reports){class ReportGroup extends Platform.Core.BaseComponent{constructor(){super();this.parentGroupId=0;this.groupId=0;this.groupName="";this._reportManager=Analytics.Managers.ReportManager.Instance()}cssFiles(){return[]}jsFiles(){return["platform/analytics/requests/reportgroup.js","platform/core/infos/status.js"]}html(){return`<form id="" method="post" class="" data-formuniquekey="" data-validate="parsley"><header class="b-b bg-white modal-header"><strong class="text-dark Title" id="div_FormName">Create Report Group</strong></header><div class="bg-light control-sorting modal-body bg-white" style="overflow-y:auto; height:475px;"><div id="" class="clear bizgaze_FormErrorMessages"></div><div id="divReportGroup_ErrorMessage"></div><div class="section_ReportGroup card"><div class="card-body">
  98. <div class="row">
  99. <div class="col-sm-6">
  100. <div>
  101. <label for="lbl" id="lbl_GroupName">Report Group Name
  102. <span class="text-danger" id="spnIsRequired_reportgroup"> *</span>
  103. </label>
  104. <input type="text" id="txt_GroupName" class="type-control form-control type-control value-control required"
  105. data-regularexp="" data-validatemsg="" placeholder="Enter Report Group Name *">
  106. </div>
  107. <label for="Validation" id="lblValidation_GroupName"></label>
  108. </div>
  109. <div class="col-sm-6">
  110. <label for="lbl" id="lbl_displayname">Display Name</label>
  111. <input type="text" id="txt_displayname" class="type-control form-control type-control value-control required"
  112. data-regularexp="" data-validatemsg="" placeholder="Enter Display Name ">
  113. <label for="Validation" id="lblValidation_displayname"></label>
  114. </div>
  115. <div class="IsInternalGroupDiv col-sm-6 flex-between-center">
  116. <span>IsInternalGroup</span>
  117. <label class="switch mb-0" for="reportGroup_IsInternalGroup">
  118. <input type="checkbox" id="reportGroup_IsInternalGroup"><span></span>
  119. <input type="hidden" id="hf_IsInternalGroup"> <input type="hidden" class="value-control"
  120. id="hf_IsInternalGroupid">
  121. </label>
  122. </div>
  123. <div id="" class="form-group col-sm-6">
  124. <label for="lbl" id="lbl_reportgroupindex">Report Group Index
  125. <span class="text-danger " id="spnIsRequired_reportgroupindex"></span>
  126. </label>
  127. <input type="text" id="txt_reportgroupindex"
  128. class="type-control form-control type-control value-control required"
  129. data-regularexp="" data-validatemsg="" placeholder="Enter Report Group Index *">
  130. </div>
  131. <div class="form-group col-sm-6">
  132. <label for="parentgroupid">
  133. Parent Group
  134. </label>
  135. <select class="form-control" id="parentgroupid" >
  136. </select>
  137. </div>
  138. <div class="IsEnableFolder col-sm-6 flex-between-center">
  139. <span>EnableFolder</span>
  140. <label class="switch mb-0" for="reportGroup_IsEnableFolder">
  141. <input type="checkbox" id="reportGroup_IsEnableFolder"><span></span>
  142. <input type="hidden" id="hf_IsEnableFolder"> <input type="hidden" class="value-control" id="hf_IsEnableFolder">
  143. </label>
  144. </div>
  145. <label for="Validation" id="lblValidation_GroupName"></label>
  146. </div></div></div></div></div><footer class="bg-white modal-footer" id="formFooter"><a href="javascript:;" id="btn_CloseForm" class="btn btn-light btn-sm mr-auto" onclick=""> Close</a><a href="javascript:;" id="btn_SaveReportGrp" class="btn btn-primary btn-sm" > Save</a></footer></form>`}load(id,containerid){var instance=this;instance.parentGroupId=0;$("#"+containerid).find(".modal-body").css("height",$(window).outerHeight()-$("#"+containerid).find(".modal-header").outerHeight()-$("#"+containerid).find(".modal-footer").outerHeight()+"px");id!=0&&instance.loadReportGroup(id);$("#btn_SaveReportGrp").click(function(){let isInternal=$("#reportGroup_IsInternalGroup").prop("checked"),isEnableFolder=$("#reportGroup_IsEnableFolder").prop("checked"),groupIndex=$("#txt_reportgroupindex").val();if($("#txt_GroupName").val()=="")return MessageHelper.Instance().showError("Please select ReportGroup","divReportGroup_ErrorMessage");let model=new Unibase.Platform.Analytics.Reports.Requests.ReportGroup;model.GroupName=String($("#txt_GroupName").val());model.ReportGroupId=id;model.IsInternalGroup=isInternal;model.EnableFolder=isEnableFolder;model.ReportGroupIndex=parseInt(groupIndex)?parseInt(groupIndex):0;model.ParentGroupId=instance.parentGroupId;model.DisplayName=String($("#txt_displayname").val());instance._reportManager.saveReportGroup(model).then(function(response){let res=JSON.parse(response.result);response.status==Unibase.Data.Status.Error?MessageHelper.Instance().showError(response.message,"divReportGroup_ErrorMessage"):($("#RptGroup_AutoComplete").append("<option selected value="+res.ReportGroupId+">"+res.GroupName+"<\/option>"),MessageHelper.Instance().showSuccess(response.message,""),$("#"+containerid).modal("hide"),$("#"+containerid).remove())})});$("#btn_CloseForm").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove();$("#RptGroup_AutoComplete").remove()});instance.loadReportGroups();$("#parentgroupid").change(function(e){instance.parentGroupId=Number(e.currentTarget.value);var parentGroupName=e.currentTarget.textContent.trim();if(instance.groupId==instance.parentGroupId)return e.currentTarget.value="0",e.currentTarget.textContent="",MessageHelper.Instance().showError(`Cannot select same report group as parent group`,"divReportGroup_ErrorMessage"),!1;instance.groupId&&instance.parentGroupId&&instance._reportManager.checkReportGroupDependency(instance.groupId,instance.parentGroupId).then(response=>{if(response.status==Unibase.Data.Status.Success&&response.result)return e.currentTarget.value="0",e.currentTarget.textContent="",MessageHelper.Instance().showError(`Parent group ${parentGroupName} has the current report group ${instance.groupName} as parent group, change the parent report group and try again`,"divReportGroup_ErrorMessage"),!1})})}loadForm(){var instance=this;instance.navigationHelper.popup(0,"",instance,null,Platform.Helpers.Size.Large)}loadReportGroupForm(iscreate){var Pk_Value=0,instance=this;iscreate||(Pk_Value=Unibase.Themes.Providers.DetailHelper.recordId);instance.navigationHelper.popup(Pk_Value,"",instance,null,Platform.Helpers.Size.Large)}editReportGroup(){var instance=this,reportGroupId=Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key.endsWith("reportgroupid")).Value);instance.navigationHelper.popup(reportGroupId,"",instance,null,Unibase.Platform.Helpers.Size.Large)}loadReportGroup(id){var instance=this;instance._reportManager.getReportGroupById(id).then(function(response){if(response.status==Unibase.Data.Status.Success){var res=response.result;instance.groupId=response.result.ReportGroupId;instance.groupName=response.result.GroupName;instance.displayName=response.result.DisplayName;$("#txt_GroupName").val(res.GroupName).attr("disabled","disabled");$("#reportGroup_IsInternalGroup").prop("checked",res.IsInternalGroup);$("#reportGroup_IsEnableFolder").prop("checked",res.EnableFolder);$("#txt_reportgroupindex").val(res.ReportGroupIndex);$("#txt_displayname").val(res.DisplayName);res.ParentGroupId&&(instance.parentGroupId=res.ParentGroupId,instance._reportManager.getReportGroupById(res.ParentGroupId).then(res=>{if(res.status==Unibase.Data.Status.Success){var option=new Option(res.result.RecursiveParentName,res.result.ReportGroupId.toString(),!0,!0);$("#parentgroupid").append(option)}}))}else return MessageHelper.Instance().showError(response.message,"divReportGroup_ErrorMessage")})}exportGroupReports(reportgroupid){var instance=this,ReportGroupId=0;ReportGroupId=reportgroupid==0?Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key.endsWith("reportgroupid")).Value):reportgroupid;ReportGroupId!=0&&(instance.navigationHelper.showLoading(),instance._reportManager.getReportGroupById(ReportGroupId).then(function(response){let groupname=response.result.GroupName;instance._reportManager.exportGroupreports(ReportGroupId).then(function(rptgrpresponse){var filename=groupname+".xml",xmltext=rptgrpresponse.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();instance.navigationHelper.hideLoading()})}))}deleteReportGroup(){const reportGroupId=Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key.endsWith("reportgroupid")).Value),reportCount=Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key.endsWith("reportcount")).Value);reportCount?bootbox.confirm("One or more reports are associated with this group, Please ensure to delete all reports associated with this group before deleting",()=>{}):bootbox.confirm("Are you sure to delete this group?",result=>{result&&this._reportManager.deleteReportGroup(reportGroupId).then(response=>{response.status==Unibase.Data.Status.Success?(MessageHelper.Instance().showSuccess("Report group has been sucessfully deleted","divReportGroup_ErrorMessage"),Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallAppId("Unibase_Platform_Analytics_Reports_App_ReportsGroup").then(response=>{response.status==Unibase.Data.Status.Success&&Unibase.Themes.Compact.Components.Nav.Instance().loadList(response.result.InstalledAppId)})):MessageHelper.Instance().showError(response.message,"divReportGroup_ErrorMessage")})})}loadReportGroups(){var url=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/reportgroups_autocompleterecursive";AutoCompleteHelper.getHelper().Create("#parentgroupid","#hfAutoComplete_ReportGroup",url,null)}updateStatus(){var instance=this;let reportidGroupId=Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key.endsWith("reportgroupid")).Value),statusId=Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key.endsWith("statusid")).Value),installedappId=Number(Unibase.Themes.Providers.DetailHelper.installedAppId);$("#DetailSetting_"+installedappId+"_Active").removeClass("btn-outline-primary");statusId==Unibase.Platform.Core.Enums.RowStatus.Active?($("#DetailSetting_"+installedappId+"_Active").addClass("btn-success"),$("#DetailSetting_"+installedappId+"_Active").removeClass("btn-red")):($("#DetailSetting_"+installedappId+"_Active").removeClass("btn-success"),$("#DetailSetting_"+installedappId+"_Active").addClass("btn-red"));$("#DetailSetting_"+installedappId+"_Active").text(statusId==Unibase.Platform.Core.Enums.RowStatus.Active?"Active":"InActive");$("#DetailSetting_"+installedappId+"_Active").click(function(){let id=Unibase.Platform.Core.Enums.RowStatus.Active;$("#DetailSetting_"+installedappId+"_Active").text()=="Active"&&(id=Unibase.Platform.Core.Enums.RowStatus.InActive);instance._reportManager.updateReportGroupStatus(reportidGroupId,id).then(function(statusres){statusres.status==Unibase.Data.Status.Success})})}static Instance(){return this.instance===undefined&&(this.instance=new ReportGroup),this.instance}}Reports.ReportGroup=ReportGroup})(Reports=Analytics.Reports||(Analytics.Reports={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(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 Analytics;(function(Analytics){let Reports;(function(Reports){class SubReport extends Platform.Core.BaseComponent{constructor(){super();this.subReportId=0;this.isDetail=!1;this.linkreport_aliasname="";this.inline=!0;this.appName="";this.childReportName="";this.filters=[];this.filterIndex=0;this.subReportsExists=!1;this.childReportId=0;this.parentReportId=0;this.isReportDuplicate=!1;this._reportManager=Analytics.Managers.ReportManager.Instance();this._reportBuilder=Reports.ReportBuilder.Instance();this._reportBuilderTemplate=Reports.ReportBuilder_Template.Instance()}cssFiles(){return[]}jsFiles(){return["platform/analytics/managers/reportmanager.js","platform/analytics/enums/subreporttype.js"]}html(){return this._reportBuilderTemplate.loadLinkToOtherReportForm()}load(id,containerid){var instance=this;instance.filters=[];instance.filterIndex=0;instance.isDetail=!1;instance.inline=!0;instance.subReportEdit();$("#btnConfigAddFilter").click(function(e){instance.filterIndex++;let isValueElement=$(e.target).closest(".form-row").find("[id^=isvalue_radio]"),isValue=isValueElement.prop("checked"),parametername=$("#cmbmainrptCols option:selected").text().trim(),parametervalue=$("#cmbsbrptCols option:selected").text().trim(),operator=$("#slctdoperater option:selected").text().trim(),isValueText=$("#cmbmainrptCols_textbox").val();if(isValue||parametername.toLowerCase()!="main report columns"){if(isValue&&!isValueText)return MessageHelper.Instance().showError("Please enter text in main report value column","sub_report_error_message")}else return MessageHelper.Instance().showError("Please select main report column","sub_report_error_message");if(operator.toLowerCase()=="-select-")return MessageHelper.Instance().showError("Please select operator type","sub_report_error_message");if(isValue&&isValueText==parametervalue.toLowerCase())return MessageHelper.Instance().showError("Main report column name and value column and is value text cannot be same","sub_report_error_message");if(parametervalue.toLowerCase()=="sub report column")return MessageHelper.Instance().showError("Please select sub report column","sub_report_error_message");isValue&&(parametername=isValueText);instance.filters.push({ParameterName:parametername,ParameterValue:parametervalue,Operator:operator,Isvalue:isValue});instance.addSubReportFilter(parametername,parametervalue,operator,isValue);isValue&&($("#cmbmainrptCols_textbox").val(""),isValueElement.trigger("click"));$("#cmbmainrptCols").val(0).trigger("change");$("#cmbsbrptCols").val(0).trigger("change");$("#slctdoperater").val(0).trigger("change")});$("#btnLinkReportSave").click(()=>{var table,autoNumFormatter,hideIcon;let subReportArray=instance.getSubReportContainerArray();if(instance.isDetail)instance.saveSubReport_DetailFields();else if(instance.saveSubReport_Report(subReportArray))return;instance.linkreport_aliasname==undefined&&(table=instance._reportBuilder.table,autoNumFormatter=function(cell){var row=cell.getRow(),rowIndex=row.getPosition(!1);return rowIndex+1},table.element&&table.element.children[1]&&table.element.children[1].lastChild&&table.element.children[1].lastChild.firstChild&&table.element.children[1].lastChild.firstChild.firstElementChild&&table.element.children[1].lastChild.firstChild.firstElementChild.firstChild&&table.element.children[1].lastChild.firstChild.firstElementChild.firstChild.className!="fa fa-eye"&&(hideIcon=function(){return"<i class='fa fa-eye'><\/i>"},table.addColumn({formatter:autoNumFormatter,title:"",headerSort:!1,minWidth:20},!0),table.addColumn({formatter:hideIcon,title:"",headerSort:!1},!0)));$("#"+containerid).modal("hide");$("#"+containerid).remove()});$("#btnLinkReportClose").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove()});$("#subrpt_clear").click(function(){if(instance._reportBuilder.subreportdata.length!=0){var subfil_Index=instance._reportBuilder.subreportdata.findIndex(s=>s.AliasName==instance.linkreport_aliasname);subfil_Index>-1&&instance._reportBuilder.subreportdata.splice(subfil_Index,1)}});$(".select_reports").change(function(){let reportId=Number($(".select_reports").val());instance.subReportColumns(reportId)});$(".subreport-radio-btn").change(function(){$(this).val()=="report"?($("#linkreport_modal,#detailScreenBody").toggleClass("d-none"),$(".opentype-radio-btn:checked").val()=="inline"&&$("#subrpt_plus").removeClass("d-none")):($("#linkreport_modal,#detailScreenBody").toggleClass("d-none"),$("#subrpt_plus").addClass("d-none"))});$(".opentype-radio-btn").change(function(){if($(this).val()=="inline"?(instance.inline=!0,$("#subrpt_plus").removeClass("d-none")):(instance.inline=!1,$("#subrpt_plus").addClass("d-none")),instance._reportBuilder.subreportdata.length!=0){let index;index=instance.linkreport_aliasname?instance._reportBuilder.subreportdata.findIndex(s=>s.AliasName==instance.linkreport_aliasname):instance._reportBuilder.subreportdata.findIndex(s=>s.RowClick==!0);index>-1&&(instance._reportBuilder.subreportdata[index].Inline=instance.inline)}});$("#isvalue_radio_0").unbind().click(e=>{let isChecked=$(e.target).prop("checked");$(e.target).closest(".form-row").find("#div_mainreportColumn_textbox").parent().toggleClass("hidden");$(e.target).closest(".form-row").find("#div_mainreportColumn").parent().toggleClass("hidden")})}loadForm(){return[]}linkreport(aliasname){var instance=this;instance.linkreport_aliasname=aliasname;instance.navigationHelper.popup(0,"",this,null,Platform.Helpers.Size.Medium)}loadReports(){var instance=this,url;instance.childReportName="";url=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/reports";AutoCompleteHelper.getHelper().Create(".select_reports","hfReportAutoComplete",url,function(res){instance.childReportName=res.text.trim()})}mainReportColumns(){var instance=this,mainrpt_Cols=[];if(instance._reportBuilder.selectedColumns.length!=0){mainrpt_Cols.push({id:0,text:"Main Report Columns"});for(let i=0;i<instance._reportBuilder.selectedColumns.length;i++){let sCol=instance._reportBuilder.selectedColumns[i];mainrpt_Cols.push({id:sCol.AliasName,text:sCol.AliasName})}$("#cmbmainrptCols").select2({placeholder:"Select",data:mainrpt_Cols})}}subReportColumns(reportid){var instance=this;instance._reportManager.getColumns(reportid).then(function(subresponse){var subrpt_data=[];for(let i=0;i<subresponse.result.length;i++)subrpt_data.push({id:subresponse.result[i].ReportColumnId,text:subresponse.result[i].AliasName});$("#cmbsbrptCols").select2({placeholder:"Select",data:subrpt_data})})}loadInstalledApps(){return __awaiter(this,void 0,void 0,function*(){var instance=this,url;instance.appName="";url=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/InstalledAppAutocomplete";AutoCompleteHelper.getHelper().Create("#detailInstalledApps","#hfAutoComplete_InstalledApp",url,function(res){instance.appName=res.text.trim()})})}primaryColumns(){var instance=this,mainrpt_Cols=[];if(instance._reportBuilder.selectedColumns.length!=0){mainrpt_Cols.push({id:0,text:"Main Report Columns"});for(let i=0;i<instance._reportBuilder.selectedColumns.length;i++){let sCol=instance._reportBuilder.selectedColumns[i];mainrpt_Cols.push({id:sCol.AliasName,text:sCol.AliasName})}$("#detailPrimaryKeyColumns").select2({placeholder:"Select",data:mainrpt_Cols})}}addSubReportFilter(paramname,paramvalue,operator,isValue){var Confightml="";let id=paramname.replace(" ","_").trim()+paramvalue.replace(" ","_").trim();Confightml=`<li id="li_filter_ul2list_0${id}" class="fltr-row filteritems-addedrow clear" ><div class="form-row mb-10">
  147. <div class="col-auto mt-2 mr-2">
  148. <input class="" type="checkbox" readonly title="Is value" ${isValue&&"checked"} onclick="return false">
  149. </div>
  150. <div class="col"><input type="text" class="form-control disabled-border" value="`+paramname+`" disabled></div><div class="col-auto"><input type="text" class="form-control disabled-border text-center" value="`+operator+`" disabled></div><div class="col"><input type="text" class="form-control disabled-border" value="`+paramvalue+`" disabled></div><div class="col-auto"><a id="btnDeleteCouponItem" onclick = "Unibase.Platform.Analytics.Reports.SubReport.Instance().removefilters( `+Number($(".select_reports").val())+`,'`+paramname+`','`+paramvalue+`','li_filter_ul2list_0${id}');" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded filter-remove-btn"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div></div></li>`;$(".ul2list_0").append(Confightml);$(".ul2list_0").children().length==1&&$(".ul2list_0").children().first().find(".filter-remove-btn").addClass("disabled")}subReportEdit(){return __awaiter(this,void 0,void 0,function*(){var instance=this,subfil_Index,subrpt_data,filters,f,Confightml;yield instance.loadReports();instance.mainReportColumns();instance.primaryColumns();yield instance.loadInstalledApps();instance.subReportsExists=!1;let subReportArray=instance.getSubReportContainerArray();if(subReportArray!=undefined&&(subReportArray.length&&(instance.subReportsExists=!0),instance.linkreport_aliasname?subfil_Index=subReportArray.findIndex(s=>s.AliasName==instance.linkreport_aliasname):(subfil_Index=subReportArray.findIndex(s=>s.RowClick==!0),subfil_Index==-1&&(subfil_Index=subReportArray.findIndex(s=>s.AliasName||s.SubReportTypeId==Unibase.Platform.Analytics.Reports.Enums.SubReportType.Detail))),subfil_Index>-1))if(subrpt_data=subReportArray[subfil_Index],subrpt_data.SubReportTypeId==Unibase.Platform.Analytics.Reports.Enums.SubReportType.Report){for($("#reportRadioBtn").prop("checked",!0),$(".select_reports").empty().append('<option value = "'+subrpt_data.ChildReportId+'" > '+subrpt_data.ChildReportName+" <\/option>"),$(".select_reports").val(subrpt_data.ChildReportId),instance.subReportId=subrpt_data.SubReportId,instance.childReportId=subrpt_data.ChildReportId,instance.parentReportId=subrpt_data.ReportId,instance.subReportColumns(subrpt_data.ChildReportId),filters=JSON.parse(subrpt_data.Filters),f=0;f<filters.length;f++){let fill=filters[f],id=fill.ParameterName.replaceAll(" ","_").trim()+fill.ParameterValue.replaceAll(" ","_").trim();Confightml=`<li id="li_filter_ul2list_0${id}" class="fltr-row filteritems-addedrow clear" ><div class="form-row mb-10">
  151. <div class="col-auto mt-2 mr-2">
  152. <input class="" type="checkbox" readonly title="Is value" ${fill.Isvalue&&"checked"} onclick="return false">
  153. </div>
  154. <div class="col"><input type="text" class="form-control disabled-border" value="`+fill.ParameterName+`" disabled></div><div class="col-auto"><input type="text" class="form-control disabled-border text-center" value="`+fill.Operator+`" disabled></div><div class="col"><input type="text" class="form-control disabled-border" value="`+fill.ParameterValue+`" disabled></div><div class="col-auto"><a id="btnDeleteCouponItem" onclick = "Unibase.Platform.Analytics.Reports.SubReport.Instance().removefilters( `+Number($(".select_reports").val())+`,'`+fill.ParameterName+`','`+fill.ParameterValue+`','li_filter_ul2list_0${id}');" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded filter-remove-btn"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div></div></li>`;$(".ul2list_0").append(Confightml);f||$(".ul2list_0").find(".filter-remove-btn").addClass("disabled");instance.filters.push(fill)}Confightml="";subrpt_data.Inline?$("#inlineRadioBtn").prop("checked",!0):$("#outlineRadioBtn").prop("checked",!0);instance.inline=subrpt_data.Inline}else instance.isDetail=!0,instance.subrpt_AliasName=subrpt_data.AliasName,instance.installedAppId=subrpt_data.InstalledAppId,instance.primaryKeyColumn=subrpt_data.PrimaryKeyColumn,$("#detailRadioBtn").prop("checked",!0),$("#linkreport_modal,#detailScreenBody").toggleClass("d-none"),$("#subrpt_plus").addClass("d-none"),$("#detailInstalledApps").empty().append('<option value = "'+subrpt_data.InstalledAppId+'" > '+subrpt_data.AppName+" <\/option>"),$("#detailInstalledApps").val(subrpt_data.InstalledAppId),$("#detailPrimaryKeyColumns").val(subrpt_data.PrimaryKeyColumn).trigger("change")})}subReportType_Deatil(){var instance=this,subfil_Index,subfill,fil,i;if(instance.isDetail=!0,subfil_Index=instance._reportBuilder.subreportdata.findIndex(s=>s.AliasName==instance.linkreport_aliasname),subfil_Index>-1)for(subfill=instance._reportBuilder.subreportdata[subfil_Index],fil=JSON.parse(subfill.Filters),i=0;i<fil.length;i++){let id=fil[i].ParameterName.replace(" ","_")+fil[i].ParameterValue.replace(" ","_");$("#li_filter_ul2list_0"+id).remove();instance._reportBuilder.subreportdata.splice(subfil_Index,1)}$(".select_reports").val(0).trigger("change");$("#cmbmainrptCols").val(0).trigger("change");$("#cmbsbrptCols").val(0).trigger("change");instance.primaryColumns();instance.loadInstalledApps()}subReportType_Report(){var instance=this,subfil_Index;instance.isDetail=!1;subfil_Index=instance._reportBuilder.subreportdata.findIndex(s=>s.AliasName==instance.linkreport_aliasname);subfil_Index>-1&&($("#detailInstalledApps").val("0").trigger("change"),$("#detailPrimaryKeyColumns").val("0").trigger("change"),$("#txt_detailonclick").val(""),instance._reportBuilder.subreportdata.splice(subfil_Index,1))}saveSubReport_Report(subReportArray){var instance=this,rowclick=!0,subreportdata,Index;instance.linkreport_aliasname&&(rowclick=!1);let reportType=this._reportBuilder.res?this._reportBuilder.res.ReportTypeId:this._reportBuilder.reportType,isChart=reportType==Unibase.Platform.Analytics.Reports.Enums.ReportType.Table?!1:!0;if(subreportdata=new NestedTableModel,subreportdata.ChildReportId=Number($(".select_reports").val()),subreportdata.ChildReportName=instance.childReportName,subreportdata.Filters=JSON.stringify(instance.filters),subreportdata.SubReportTypeId=$("#reportRadioBtn").is(":checked")?Unibase.Platform.Analytics.Reports.Enums.SubReportType.Report:0,subreportdata.Inline=instance.inline,subreportdata.RowClick=rowclick,subreportdata.AliasName=instance.linkreport_aliasname,subreportdata.ChildReportId||instance.subReportsExists){if(subreportdata.Filters=="[]"&&!instance.subReportsExists&&!isChart)return MessageHelper.Instance().showError("Please select sub report columns ","sub_report_error_message"),!0}else return MessageHelper.Instance().showError("Please select sub report ","sub_report_error_message"),!0;return subReportArray.length!=0&&typeof subReportArray=="object"?(Index=instance.linkreport_aliasname?subReportArray.findIndex(s=>s.AliasName==instance.linkreport_aliasname):subReportArray.findIndex(s=>s.RowClick==!0),Index>-1&&subreportdata.ChildReportId?subReportArray[Index]=subreportdata:subreportdata.ChildReportId&&subReportArray.push(subreportdata)):subreportdata.ChildReportId&&subReportArray.push(subreportdata),instance._reportBuilder.subreportdata=subReportArray,!1}saveSubReport_DetailFields(){var instance=this,subreportdata=new NestedTableModel,Index;if(subreportdata.InstalledAppId=Number($("#detailInstalledApps").val()),subreportdata.PrimaryKeyColumn=$("#detailPrimaryKeyColumns option:selected").text().trim(),subreportdata.Inline=instance.inline,subreportdata.SubReportTypeId=$("#detailRadioBtn").is(":checked")?Unibase.Platform.Analytics.Reports.Enums.SubReportType.Detail:0,subreportdata.AliasName=instance.linkreport_aliasname,subreportdata.AppName=instance.appName,subreportdata.PrimaryKeyColumn.toLowerCase()=="select column")return MessageHelper.Instance().showError("Please select primary key column","sub_report_error_message");if(!subreportdata.InstalledAppId)return MessageHelper.Instance().showError("Please select installed app","sub_report_error_message");let subReportArray=instance.getSubReportContainerArray();subReportArray.length!=0?(Index=instance.linkreport_aliasname?subReportArray.findIndex(s=>s.AliasName==instance.linkreport_aliasname):subReportArray.findIndex(s=>s.RowClick==!0),Index>-1&&subreportdata.AppName!="Select"?subReportArray[Index]=subreportdata:subreportdata.AppName!="Select"&&subReportArray.push(subreportdata)):subReportArray.push(subreportdata)}removefilters(reportid,mainreportcolumn,subreportcolumn,id){var instance=this,index,fillIndex;instance.linkreport_aliasname?instance._reportBuilder.subreportdata.length!=0&&(index=instance._reportBuilder.subreportdata.findIndex(s=>s.AliasName==instance.linkreport_aliasname),index>-1&&instance._reportBuilder.subreportdata.splice(index,1)):instance.filters.length==1&&(index=instance._reportBuilder.subreportdata.findIndex(function(o){return o.ChildReportId===reportid}),index!==-1&&instance._reportBuilder.subreportdata.splice(index,1));fillIndex=instance.filters.findIndex(function(f){return f.ParameterName==mainreportcolumn&&f.ParameterValue===subreportcolumn});fillIndex>-1&&instance.filters.splice(fillIndex,1);instance.filters.length||$(event.target).closest(".report-body").find(".select_reports.custom-select").empty();$("#"+id+"").empty()}load_old(id,containerid){var instance=this,data,subreportid,Confightml;$("#cmbmainrptCols_1").empty();data=[];subreportid=0;instance._reportManager.getReports().then(function(response){var Data=response,whole_tableData,columnname,columnvalue;data.push({id:0,text:"Select"});data.push({id:0,text:"Select"});for(let i=0;i<Data.length;i++)data.push({id:Data[i].ReportId,text:Data[i].ReportName});$(".select_reports").select2({placeholder:"Select",data:data}).on("select2:select",function(){var reportid=Number($(".select_reports").val());let sub_blk=this.closest(".sub-report-block");sub_blk&&$(sub_blk).data("subreportid",reportid.toString());$("#cmbsbrptCols_1").find("option").not(":first").remove();instance._reportManager.getColumns(reportid).then(function(response){for(let i=0;i<response.result.length;i++){var columnname=response.result[i].DisplayText,columnvalue=response.result[i].ReportColumnId;$("<option>").val(columnvalue).text(columnname).appendTo("#cmbsbrptCols_1")}})});if(instance._reportBuilder.subreporttabledata!=undefined&&instance._reportBuilder.subreporttabledata!=null&&instance._reportBuilder.subreporttabledata!=""){if(instance._reportBuilder.subreporttabledata.length>0){var subarray=[],element=[],currentsubreport=[];instance._reportBuilder.subreportdata=[];instance._reportBuilder.subreport_count=1;for(let m=0;m<instance._reportBuilder.subreporttabledata.length;m++)instance._reportManager.getColumns(instance._reportBuilder.subreporttabledata[m].ChildReportId).then(function(response){var whole_tableData,columnname,columnvalue;if(currentsubreport.push(instance._reportBuilder.subreporttabledata[m]),element.push(response.result[0].ReportId),subarray.push(response.result),element.length==instance._reportBuilder.subreporttabledata.length){let k=1;for(let i=0;i<currentsubreport.length;i++){if(i!=0){instance.subReportId=currentsubreport[i].SubReportId;$("#subrpt_plus").trigger("click");k=i+1;data.length==0;$("#cmdsub_"+k+"").select2({placeholder:"Select",data:data});let lastSubEle=$("#linkreport_modal").find(".sub-report-block").last();lastSubEle.data("subreportid",currentsubreport[i].ChildReportId);lastSubEle.data("subreportcolumnid",currentsubreport[i].SubReportColumnId)}$("#cmdsub_"+k+"").val(currentsubreport[i].ChildReportId).trigger("change");$("<option>").val(0).text("Select Column").appendTo("#cmbmainrptCols_"+k+"");whole_tableData=instance._reportBuilder.selectedColumns;for(let j=0;j<whole_tableData.length;j++)columnname=whole_tableData[j].DisplayText,columnvalue=whole_tableData[j].ColumnId,$("<option>").val(columnvalue).text(columnname).appendTo("#cmbmainrptCols_"+k+"");let subcolumns=subarray[i].filter(function(o){return o.ReportId===currentsubreport[i].ChildReportId});$("#cmbsbrptCols_"+k+"").find("option").not(":first").remove();for(let l=0;l<subcolumns.length;l++)columnname=subcolumns[l].DisplayText,columnvalue=subcolumns[l].ReportColumnId,$("<option>").val(columnvalue).text(columnname).appendTo("#cmbsbrptCols_"+k+"");$("#btnAdd_"+instance._reportBuilder.subreport_count+"").unbind().click(function(){var id=$(this).attr("id").match(/\d+/g).map(Number);instance.addfilter(id[0],0);$("#btnDeleteCouponItem_"+id[0]+"").click(function(){instance.removefilters(Number($("#reporthid_"+id[0]+"").val()),Number($("#mainreportcolumnhid_"+id[0]+"").val()),Number($("#subreportcolumnhid_"+id[0]+"").val()),"ul2list_"+id[0]+"")})});$("#cmbmainrptCols_"+k+" option:contains('"+currentsubreport[i].ParameterValue.replace("@","").trim()+"')").prop("selected",!0);$("#cmbsbrptCols_"+k+" option:contains('"+currentsubreport[i].ParameterName.trim()+"')").prop("selected",!0);k==1?(subreportid=currentsubreport[i].SubReportId,$("#btnConfigAddFilter").click()):(subreportid=currentsubreport[i].SubReportId,$("#btnAdd_"+k+"").click());instance.subReportId=0}}})}}else{$("<option>").val(0).text("Select Column").appendTo("#cmbmainrptCols_1");whole_tableData=instance._reportBuilder.selectedColumns;for(let i=0;i<whole_tableData.length;i++)columnname=whole_tableData[i].ColumnName,columnvalue=whole_tableData[i].ColumnId,$("<option>").val(columnvalue).text(columnname).appendTo("#cmbmainrptCols_1,#detailPrimaryKeyColumns")}});$("#btnLinkReportSave").click(function(){var table,autoNumFormatter,hideIcon,data;instance.isDetail&&instance.subReportType_Deatil();table=instance._reportBuilder.table;autoNumFormatter=function(cell){var row=cell.getRow(),rowIndex=row.getPosition(!1);return rowIndex+1};table.element.children[1].lastChild.firstChild.firstElementChild.firstChild.className!="fa fa-eye"&&(hideIcon=function(){return"<i class='fa fa-eye'><\/i>"},table.addColumn({formatter:autoNumFormatter,title:"",headerSort:!1,minWidth:20},!0),table.addColumn({formatter:hideIcon,title:"",headerSort:!1},!0));$("#"+containerid).modal("hide");$("#"+containerid).remove();data=instance._reportBuilder.subreportdata});Confightml="";$("#btnConfigAddFilter").click(function(){let text=$("#cmbmainrptCols_1 option:selected").text(),text1=$("#cmbsbrptCols_1 option:selected").text();if(text!="Select Column"&&text1!="Sub report column"){let exists=instance._reportBuilder.subreportdata.find(x=>x.ParameterValue==text&&x.ParameterName==text1);if(!exists){let opertaor=$("#slctdoperater_0 option:selected").text(),id=text.replaceAll(" ","_")+text1.replaceAll(" ","_");Confightml=`<li id="li_filter_ul2list_0${id}" class="fltr-row filteritems-addedrow clear" ><div class="form-row mb-10"><div class="col"><input type="text" class="form-control disabled-border" value="`+text+`" disabled></div><div class="col-auto"><input type="text" class="form-control disabled-border text-center" value="`+opertaor+`" disabled></div><div class="col"><input type="text" class="form-control disabled-border" value="`+text1+`" disabled></div><div class="col-auto"><a id="btnDeleteCouponItem" onclick = "Unibase.Platform.Analytics.Reports.SubReport.Instance().removefilters( `+Number($(".select_reports").val())+`,`+Number($("#cmbmainrptCols_1 option:selected").val())+`,`+Number($("#cmbsbrptCols_1 option:selected").val())+`,'li_filter_ul2list_0${id}');" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded filter-remove-btn"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div></div></li>`;$(".ul2list_0").append(Confightml);$(".ul2list_0").children().length==1&&$(".ul2list_0").children().first().find(".filter-remove-btn").addClass("hidden");var subreportdata=new NestedTableModel;instance._reportBuilder.reportid!=0&&(subreportdata.SubReportId=subreportid);subreportdata.ChildReportId=Number($(".select_reports").val());subreportdata.Operator=$("#slctdoperater_0 option:selected").text();subreportdata.ReportColumnId=Number($("#cmbmainrptCols_1 option:selected").val());subreportdata.SubReportColumnId=Number($("#cmbsbrptCols_1 option:selected").val());subreportdata.ReportColumnName=$("#cmbmainrptCols_1 option:selected").text();subreportdata.SubReportColumnName=$("#cmbsbrptCols_1 option:selected").text();subreportdata.ParameterValue=$("#cmbmainrptCols_1 option:selected").text();subreportdata.ParameterName=$("#cmbsbrptCols_1 option:selected").text();subreportdata.SubReportTypeId=$("#reportRadioBtn").is(":checked")?Unibase.Platform.Analytics.Reports.Enums.SubReportType.Report:0;subreportdata.ReportId=instance._reportBuilder.reportid;instance.childReportId=subreportdata.ChildReportId;instance.parentReportId=subreportdata.ReportId;instance._reportBuilder.subreportdata.push(subreportdata);instance._reportBuilder.subreporttabledata=instance._reportBuilder.subreportdata;$("#cmbmainrptCols_1").val("0");$("#cmbsbrptCols_1").val("0")}}});$("#btnLinkReportClose").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove()});$("#subrpt_plus").click(function(){var main_reportcolumns,columnname,columnvalue;const subreportCnt=$("[id^=btnAdd]").length+2;var template=instance._reportBuilderTemplate.del_loadSubReports_Section(),templateScript=Handlebars.compile(template),context={subreport_count:subreportCnt},html=templateScript(context);$("#linkreport_modal").append(html);$("#cmdsub_"+subreportCnt+"").select2({placeholder:"Select",data:data});main_reportcolumns=instance._reportBuilder.selectedColumns;$("#cmbmainrptCols_"+subreportCnt+"").empty();$("<option>").val(0).text("Select Column").appendTo("#cmbmainrptCols_"+subreportCnt+"");for(let i=0;i<main_reportcolumns.length;i++)columnname=main_reportcolumns[i].ColumnName,columnvalue=main_reportcolumns[i].ColumnId,$("<option>").val(columnvalue).text(columnname).appendTo("#cmbmainrptCols_"+subreportCnt+"");$("#btnAdd_"+subreportCnt+"").click(function(){var colid=$(this).closest(".sub-report-block").find("#div_subColumn").children().first().val(),id=$(this).attr("id").match(/\d+/g).map(Number);instance.addfilter(id[0],0);let sub_blk=this.closest(".sub-report-block");sub_blk&&colid&&$(sub_blk).data("subreportcolumnid",colid)});$("#cmdsub_"+subreportCnt+"").on("select2:select",function(){var id=$(this).attr("id").match(/\d+/g).map(Number),reportid=Number($("#cmdsub_"+id[0]+"").val());let sub_blk=this.closest(".sub-report-block");sub_blk&&$(sub_blk).data("subreportid",reportid.toString());$("#cmbsbrptCols_"+id[0]+"").find("option").not(":first").remove();instance._reportManager.getColumns(reportid).then(function(response){for(let i=0;i<response.result.length;i++){var columnname=response.result[i].DisplayText,columnvalue=response.result[i].ReportColumnId;$("<option>").val(columnvalue).text(columnname).appendTo("#cmbsbrptCols_"+id[0]+"")}})});$("#cmbsbrpt_"+subreportCnt).empty();$("#cmbsbrpt_"+subreportCnt).append('<option value="0">--Select SubReport--<\/option>')});$("#linkreport_modal").click(this.subReportMdown.bind(this));const installedAppsUrl=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/InstalledAppAutocomplete";AutoCompleteHelper.getHelper().Create("#detailInstalledApps","#hfDetailInstalledApps",installedAppsUrl,null);$(".subreport-radio-btn").change(function(){$(this).val()=="report"?($("#linkreport_modal,#detailScreenBody").toggleClass("d-none"),$(".opentype-radio-btn:checked").val()=="inline"&&$("#subrpt_plus").removeClass("d-none")):($("#linkreport_modal,#detailScreenBody").toggleClass("d-none"),$("#subrpt_plus").addClass("d-none"))});$(".opentype-radio-btn").change(function(){$(this).val()=="inline"?$("#subrpt_plus").removeClass("d-none"):$("#subrpt_plus").addClass("d-none")})}removefilters_old(reportid,mainreportcolumn,subreportcolumn,id){var instance=this,index;$("#"+id+"").empty();index=instance._reportBuilder.subreportdata.findIndex(function(o){return o.ChildReportId===reportid&&o.ReportColumnId===mainreportcolumn&&o.SubReportColumnId===subreportcolumn});index!==-1&&instance._reportBuilder.subreportdata.splice(index,1)}addfilter(id,SubReportId){var instance=this,filterhtml,subreportdata;let text=$("#cmbmainrptCols_"+id+" option:selected").text(),text1=$("#cmbsbrptCols_"+id+" option:selected").text(),opertaor=$("#slctdoperater_"+id+" option:selected").text();filterhtml=`<li id="li_filter_ul2list`+id+`" class="fltr-row filteritems-addedrow clear"><div class="form-row mb-10"><div class="col"> <input type="text" class="form-control lblViewerFilter_MainReportColumnName disabled-border" value="`+text+` " disabled> </div><div class="col-auto my-auto text-center"> <input type="text" class="form-control lblViewerFilter_Operator disabled-border text-center" value="`+opertaor+` " disabled> </div ><div class="col"> <input type="text" class="form-control lblViewerFilter_FilterValue disabled-border" value="`+text1+` " disabled></div> <div class="col-auto" > <a id="btnDeleteCouponItem_`+id+`" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded" ><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div><input type="hidden" id="operatorhid_`+id+`" name="zyx" value="`+opertaor+`" /><input type="hidden" id="reporthid_`+id+`" name="zyx" value="`+Number($("#cmdsub_"+id+"").val())+`" /><input type="hidden" id="mainreportcolumnhid_`+id+`" name="zyx" value="`+Number($("#cmbmainrptCols_"+id+" option:selected").val())+`" /><input type="hidden" id="subreportcolumnhid_`+id+`" name="zyx" value="`+Number($("#cmbsbrptCols_"+id+" option:selected").val())+`" /></div></li>`;$(".ul2list_"+id+"").append(filterhtml);subreportdata=new NestedTableModel;subreportdata.SubReportId=instance.subReportId||SubReportId;subreportdata.ChildReportId=Number($("#cmdsub_"+id+"").val());subreportdata.Operator=$("#slctdoperater_"+id+" option:selected").text();subreportdata.ParameterValue=$("#cmbmainrptCols_"+id+" option:selected").text();subreportdata.ParameterName=$("#cmbsbrptCols_"+id+" option:selected").text();subreportdata.ReportColumnId=Number($("#cmbmainrptCols_"+id+" option:selected").val());subreportdata.SubReportColumnId=Number($("#cmbsbrptCols_"+id+" option:selected").val());subreportdata.ReportColumnName=$("#cmbmainrptCols_"+id+" option:selected").text();subreportdata.SubReportColumnName=$("#cmbsbrptCols_"+id+" option:selected").text();instance._reportBuilder.subreportdata.push(subreportdata);$("#cmbmainrptCols_"+id).val("0");$("#cmbsbrptCols_"+id).val("0")}linkreport_old(){var instance=this;instance.navigationHelper.popup(0,"",this,null,Platform.Helpers.Size.Medium)}subReportMdown(e){let subrp=e.target.closest(".sub-report-block"),childReportId=$(subrp).data("subreportid");if(childReportId&&(childReportId=Number(childReportId)),e.target.classList.contains("remove_subrpt")||e.target.closest(".remove_subrpt")){let sRIdx;if(this._reportBuilder.subreportdata.filter(x=>x.ChildReportId==childReportId).length==1)sRIdx=this._reportBuilder.subreportdata.findIndex(x=>x.ChildReportId==childReportId),sRIdx!=-1&&this._reportBuilder.subreportdata.splice(sRIdx,1);else if(this._reportBuilder.subreportdata.filter(x=>x.ChildReportId==childReportId).length>1){let childReportColumnId=Number($(subrp).data("subreportcolumnid"));childReportColumnId&&(sRIdx=this._reportBuilder.subreportdata.findIndex(x=>x.ChildReportId==childReportId&&x.SubReportColumnId==childReportColumnId),sRIdx!=-1&&this._reportBuilder.subreportdata.splice(sRIdx,1))}subrp.remove()}else if(e.target.classList.contains("remove_subrpt_columns")||e.target.closest(".remove_subrpt_columns")){let sRIdx=this._reportBuilder.subreportdata.findIndex(x=>x.ChildReportId==childReportId);sRIdx!=-1&&this._reportBuilder.subreportdata.splice(sRIdx,1);$(e.target).closest(".filteritems-addedrow").remove()}}removeSubreport(){let idx=-1,subReportArray=this.getSubReportContainerArray();this.isDetail?(idx=this.installedAppId?subReportArray.findIndex(x=>x.AliasName==this.subrpt_AliasName&&x.InstalledAppId==this.installedAppId):subReportArray.findIndex(x=>x.ReportId==this.parentReportId&&x.ChildReportId==this.childReportId),idx>-1&&(this.installedAppId=0,subReportArray.splice(idx,1)),$("#detailPrimaryKeyColumns").val("0").trigger("change"),$("#detailInstalledApps").val("0").trigger("change")):(idx=this.subReportId?subReportArray.findIndex(x=>x.SubReportId==this.subReportId):subReportArray.findIndex(x=>x.ReportId==this.parentReportId&&x.ChildReportId==this.childReportId),idx>-1&&(this.linkreport_aliasname="",this.filters=[],this.childReportName="",subReportArray.splice(idx,1)),$("#subreports-filters-list").empty(),$("#cmdsub_1").val("0").empty())}getSubReportContainerArray(){return this.isReportDuplicate?Analytics.Components.DuplicateReport.Instance().subReports:this._reportBuilder.subreportdata}static Instance(){return this.instance===undefined&&(this.instance=new SubReport),this.instance}}Reports.SubReport=SubReport})(Reports=Analytics.Reports||(Analytics.Reports={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Analytics;(function(Analytics){let Reports;(function(Reports){class ColumnFormat{loadFormats(DataType){var formats=[];return DataType==Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime?formats=[{id:0,format:"Default"},{id:1,format:"dd/mm/yyyy"},{id:2,format:"mm/dd/yyyy"},{id:3,format:"yyyy/mm/dd"},{id:4,format:"Mon dd, yyyy"},{id:5,format:"Mon/yyyy"},{id:6,format:"hh"},{id:7,format:"mm"},{id:8,format:"ss"},{id:9,format:"hh:mm:ss"},{id:10,format:"hh:mm:ss AM"},{id:11,format:"dd/mm/yyyy hh:mm:ss"},{id:12,format:"dd/mm/yyyy hh:mm"},{id:13,format:"dd/mm/yyyy hh:mm:ss AM"},{id:14,format:"Mon dd, yyyy hh:mm:ss AM"}]:DataType==Unibase.Platform.Analytics.Reports.Enums.DataType.decimal&&(formats=[{id:0,format:"Default"},{id:1,format:"0.0"},{id:2,format:"0.00"},{id:3,format:"0.000"},{id:3,format:"0.0000"}]),formats}static Instance(){return this.instance===undefined&&(this.instance=new ColumnFormat),this.instance}}Reports.ColumnFormat=ColumnFormat})(Reports=Analytics.Reports||(Analytics.Reports={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Analytics;(function(Analytics){let Reports;(function(Reports){class ReportRoleSettings extends Platform.Core.BaseComponent{constructor(){super();this.isSingleAppSelected=!1;this.reportManager=Analytics.Managers.ReportManager.Instance()}cssFiles(){return[]}jsFiles(){return["platform/analytics/managers/reportmanager.js"]}html(){return`<section id="link-report-section" class="modal-content">
  155. <div class="modal-header pa-10" id="reportrolesetting_header">
  156. <strong class="modal-title biz-highlight-bg-color">Role Settings</strong>
  157. </div>
  158. <div data-simplebar class="simple-scroll-bar">
  159. <div id="divRoleSetting_ErrorMessage"></div>
  160. <div class="modal-body bg-charcoal-light-5 sub-report-block" id="reportrolesetting_modal">
  161. <div class="report-rolesettings-block card" data-select2-id="24">
  162. <div data-select2-id="23">
  163. <header class="report-rolesettings-head">
  164. <h6 class="required">
  165. Role Settings
  166. </h6>
  167. <span>
  168. <i class="las la-braille dragger"></i>
  169. </span>
  170. </button>
  171. </header>
  172. <div id="subrpts_div" data-select2-id="subrpts_div" class="">
  173. <div class="report-body">
  174. <div class="form-group">
  175. <div id="divsubrpt_0" data-select2-id="divsubrpt_">
  176. <div class="form-row">
  177. <div class="col">
  178. <div id="div_installedapps">
  179. <input type="hidden" id="hfrolesettings_installedapps">
  180. <select id="rolesettings_installedapps" class="form-control text-control required">
  181. <option value="0" selected="">Apps</option>
  182. </select>
  183. </div>
  184. </div>
  185. <div class="col">
  186. <div id="div_rolesettings">
  187. <select id="rolesettings_ddl" class="form-control custom-select mb-10 required">
  188. <option value="0" selected="">Role Settings</option>
  189. </select>
  190. </div>
  191. </div>
  192. <div class="col-auto">
  193. <a class="btn btn-icon btn-theme" id="btnConfigAddRoleSetting" onclick="" ;="">
  194. <span class="btn-icon-wrap"><span class="line-icon text-white"><i class="las la-plus"></i></span></span>
  195. </a>
  196. </div>
  197. </div>
  198. <div class="m-t-sm">
  199. <div class="form-row">
  200. <div class="col px-4 py-2">
  201. <strong> App Name </strong>
  202. </div>
  203. <div class="col py-2">
  204. <strong> RoleSetting </strong>
  205. </div>
  206. <div class="col-auto py-2 px-4">
  207. <a class="invisible"><i class="fa fa-close text-danger"></i></a>
  208. </div>
  209. </div>
  210. </div>
  211. <div id="RoleSettingExp"></div>
  212. </div>
  213. </div>
  214. </div>
  215. </div>
  216. </div>
  217. </div>
  218. </div>
  219. </div>
  220. </div></div>
  221. <div class="modal-footer pa-10" id="linkreport_footer">
  222. <button type="button" class="btn btn-sm btn-light mr-auto" id="btnRoleSettingsClose">Cancel</button>
  223. <button type="button" class="btn btn-sm btn-primary" id="btnRoleSettingsSave">Save</button>
  224. </div>
  225. </section>`}load(id,containerid){var instance=this;let isRoleSettingsExists=!1;if(instance._reportbuilder=Reports.ReportBuilder.Instance(),$("#btnRoleSettingsClose").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove();instance.isSingleAppSelected&&(instance._reportbuilder.roleSettings=[],instance.isSingleAppSelected=!1)}),$("#rolesettings_installedapps").empty(),instance._reportbuilder.roleSettings&&instance._reportbuilder.roleSettings.length&&(isRoleSettingsExists=!0),instance._reportbuilder.roleSettings!=null)for(let i=0;i<instance._reportbuilder.roleSettings.length;i++){let item=instance._reportbuilder.roleSettings[i];instance.appendRoleSetting(item.AppTitle,item.SettingName)}$("#btnConfigAddRoleSetting").click(function(){var lefNavigationInstalledAppId,rolset;if(instance._reportbuilder.roleSettings&&instance._reportbuilder.roleSettings.length>=1){let idx=instance._reportbuilder.selectedColumns.findIndex(x=>x.AliasName=="installedappid");if(idx==-1)return MessageHelper.Instance().showError("Please add installedappid column in order to select app","divRoleSetting_ErrorMessage"),!1}var appName=$("#rolesettings_installedapps option:selected").text(),installedappid=$("#rolesettings_installedapps option:selected").val(),rolesetting=$("#rolesettings_ddl option:selected").text();if(appName!=""&&rolesetting!=""){if(lefNavigationInstalledAppId=Number($("#InstalledApp_AutoComplete option:selected").val()),installedappid==lefNavigationInstalledAppId)return instance._reportbuilder.roleSettings&&instance._reportbuilder.roleSettings.length==1&&(instance.isSingleAppSelected=!0),MessageHelper.Instance().showError(`Cannot use same app ${appName} in both role settings and installed app field of left navigation in report builder.`,"divRoleSetting_ErrorMessage");rolset=!1;instance._reportbuilder.roleSettings!=null&&(rolset=instance._reportbuilder.roleSettings.find(x=>x.AppTitle==appName&&x.SettingName==rolesetting)?!0:!1);rolset||(instance.appendRoleSetting(appName,rolesetting),instance._reportbuilder.roleSettings.push({InstalledAppId:Number($("#rolesettings_installedapps option:selected").val()),AppPermissionId:Number($("#rolesettings_ddl option:selected").val()),AppTitle:appName,SettingName:rolesetting}));$("#rolesettings_installedapps").html('<option value="0" selected="">Apps<\/option>').val("0");$("#rolesettings_ddl").html('<option value="0" selected="">Role Settings<\/option>').val("0")}});$("#btnRoleSettingsSave").click(function(){if(instance._reportbuilder.roleSettings!=null){if(instance._reportbuilder.roleSettings.length!=0||isRoleSettingsExists){if(instance._reportbuilder.roleSettings.length<2){var inst=$("#InstalledApp_AutoComplete").val();if(instance._reportbuilder.roleSettings.length==1&&(instance.isSingleAppSelected=!0),!inst)return MessageHelper.Instance().showError("Use installed app field in left navigation of report builder, if report have only one role setting","divRoleSetting_ErrorMessage")}else if(instance._reportbuilder.roleSettings.length==2){let installedid=$("#InstalledApp_AutoComplete option:selected").val();if(installedid)return MessageHelper.Instance().showError("Remove installedapp from left navigation of report builder to use multiple report role settings","divRoleSetting_ErrorMessage")}}else return MessageHelper.Instance().showError("Please Select Role Setting","divRoleSetting_ErrorMessage");instance._reportbuilder.roleSettings.length>1&&(instance.isSingleAppSelected=!1)}else return MessageHelper.Instance().showError("Please Select Role Setting","divRoleSetting_ErrorMessage");$("#"+containerid).modal("hide");$("#"+containerid).remove()});instance.loadInstalledApps()}loadInstalledApps(){var url=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/InstalledAppAutocomplete";AutoCompleteHelper.getHelper().Create("#rolesettings_installedapps","#hfrolesettings_installedapps",url,function(){var installedappid=$("#hfrolesettings_installedapps").val();Unibase.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(installedappid).then(function(response){var data;$("#rolesettings_ddl").html("");data=response.result;let viewPermission=data.find(function(x){return x.SettingName.toLowerCase()=="view"});viewPermission&&$("#rolesettings_ddl").append('<option value="'+viewPermission.AppPermissionId+'" columnvalue="" selected>'+viewPermission.SettingName+"<\/option>").val(viewPermission.AppPermissionId).trigger("change")})})}appendRoleSetting(appName,rolesetting){let ulDiv="ulAppName_"+appName.replace(/ /g,"_")+"-"+rolesetting.replace(/ /g,"_");var rshtml='<div class="border border-1 mt-2 ulDatalistFilters_'+appName.replace(" ","_")+rolesetting.replace(" ","_")+'" id = "'+ulDiv+'"><div class="form-row" id="li_AppName_'+appName+rolesetting+'"> <div class="col py-2 px-4 lblappname"> '+appName+' <\/div> <div class="col py-2 px-4 lblrolesetting"> '+rolesetting+' <\/div><div class="col-auto py-2 px-4"><a id = "btnRemove" onclick="Unibase.Platform.Analytics.Reports.ReportRoleSettings.Instance().RemoveRoleSettingExp(\''+appName+"','"+rolesetting+"','"+ulDiv+'\')" class="pull-right" ><i class="fa fa-close text-danger"><\/i><\/a><\/div><\/div><\/div>';$("#RoleSettingExp").append(rshtml)}RemoveRoleSettingExp(appname,rolesetting,ul){var instance=this,index;$("#"+ul+"").remove();index=instance._reportbuilder.roleSettings.findIndex(function(r){return r.AppTitle===appname&&r.SettingName===rolesetting});index!==-1&&instance._reportbuilder.roleSettings.splice(index,1)}static Instance(){return this.instance===undefined&&(this.instance=new ReportRoleSettings),this.instance}}Reports.ReportRoleSettings=ReportRoleSettings})(Reports=Analytics.Reports||(Analytics.Reports={}))})(Analytics=Platform.Analytics||(Platform.Analytics={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={}));