123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.isSingleAppSelected=!1;this.reportManager=i.Managers.ReportManager.Instance()}cssFiles(){return[]}jsFiles(){return["platform/analytics/managers/reportmanager.js"]}html(){return`<section id="link-report-section" class="modal-content">
- <div class="modal-header pa-10" id="reportrolesetting_header">
- <strong class="modal-title biz-highlight-bg-color">Role Settings</strong>
- </div>
- <div data-simplebar class="simple-scroll-bar">
- <div id="divRoleSetting_ErrorMessage"></div>
- <div class="modal-body bg-charcoal-light-5 sub-report-block" id="reportrolesetting_modal">
- <div class="report-rolesettings-block card" data-select2-id="24">
- <div data-select2-id="23">
- <header class="report-rolesettings-head">
- <h6 class="required">
- Role Settings
- </h6>
- <span>
- <i class="las la-braille dragger"></i>
- </span>
- </button>
- </header>
- <div id="subrpts_div" data-select2-id="subrpts_div" class="">
- <div class="report-body">
- <div class="form-group">
- <div id="divsubrpt_0" data-select2-id="divsubrpt_">
- <div class="form-row">
- <div class="col">
- <div id="div_installedapps">
- <input type="hidden" id="hfrolesettings_installedapps">
- <select id="rolesettings_installedapps" class="form-control text-control required">
- <option value="0" selected="">Apps</option>
- </select>
- </div>
- </div>
- <div class="col">
- <div id="div_rolesettings">
- <select id="rolesettings_ddl" class="form-control custom-select mb-10 required">
- <option value="0" selected="">Role Settings</option>
- </select>
- </div>
- </div>
- <div class="col-auto">
- <a class="btn btn-icon btn-theme" id="btnConfigAddRoleSetting" onclick="" ;="">
- <span class="btn-icon-wrap"><span class="line-icon text-white"><i class="las la-plus"></i></span></span>
- </a>
- </div>
- </div>
- <div class="m-t-sm">
- <div class="form-row">
- <div class="col px-4 py-2">
- <strong> App Name </strong>
- </div>
- <div class="col py-2">
- <strong> RoleSetting </strong>
- </div>
- <div class="col-auto py-2 px-4">
- <a class="invisible"><i class="fa fa-close text-danger"></i></a>
- </div>
- </div>
- </div>
- <div id="RoleSettingExp"></div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div></div>
- <div class="modal-footer pa-10" id="linkreport_footer">
- <button type="button" class="btn btn-sm btn-light mr-auto" id="btnRoleSettingsClose">Cancel</button>
- <button type="button" class="btn btn-sm btn-primary" id="btnRoleSettingsSave">Save</button>
- </div>
- </section>`}load(n,t){var i=this;let u=!1;if(i._reportbuilder=r.ReportBuilder.Instance(),$("#btnRoleSettingsClose").click(function(){$("#"+t).modal("hide");$("#"+t).remove();i.isSingleAppSelected&&(i._reportbuilder.roleSettings=[],i.isSingleAppSelected=!1)}),$("#rolesettings_installedapps").empty(),i._reportbuilder.roleSettings&&i._reportbuilder.roleSettings.length&&(u=!0),i._reportbuilder.roleSettings!=null)for(let n=0;n<i._reportbuilder.roleSettings.length;n++){let t=i._reportbuilder.roleSettings[n];i.appendRoleSetting(t.AppTitle,t.SettingName)}$("#btnConfigAddRoleSetting").click(function(){var u,r;let f=i._reportbuilder.selectedColumns.findIndex(n=>n.AliasName=="installedappid");if(f==-1)return MessageHelper.Instance().showError("Please add installedappid column in order to select app","divRoleSetting_ErrorMessage"),!1;var n=$("#rolesettings_installedapps option:selected").text(),e=$("#rolesettings_installedapps option:selected").val(),t=$("#rolesettings_ddl option:selected").text();if(n!=""&&t!=""){if(u=Number($("#InstalledApp_AutoComplete option:selected").val()),e==u)return i._reportbuilder.roleSettings&&i._reportbuilder.roleSettings.length==1&&(i.isSingleAppSelected=!0),MessageHelper.Instance().showError(`Cannot use same app ${n} in both role settings and installed app field of left navigation in report builder.`,"divRoleSetting_ErrorMessage");r=!1;i._reportbuilder.roleSettings!=null&&(r=i._reportbuilder.roleSettings.find(i=>i.AppName==n&&i.RoleSetting==t)?!0:!1);r||(i.appendRoleSetting(n,t),i._reportbuilder.roleSettings.push({InstalledAppId:Number($("#rolesettings_installedapps option:selected").val()),AppPermissionId:Number($("#rolesettings_ddl option:selected").val()),AppTitle:n,SettingName:t}),$("#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(i._reportbuilder.roleSettings!=null){if(i._reportbuilder.roleSettings.length!=0||u){if(i._reportbuilder.roleSettings.length<2)return i._reportbuilder.roleSettings.length==1&&(i.isSingleAppSelected=!0),MessageHelper.Instance().showError("Use installed app field in left navigation of report builder, if report have only one role setting","divRoleSetting_ErrorMessage");if(i._reportbuilder.roleSettings.length==2){let n=$("#InstalledApp_AutoComplete option:selected").val();if(n)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");i._reportbuilder.roleSettings.length>1&&(i.isSingleAppSelected=!1)}else return MessageHelper.Instance().showError("Please Select Role Setting","divRoleSetting_ErrorMessage");$("#"+t).modal("hide");$("#"+t).remove()});i.loadInstalledApps()}loadInstalledApps(){var t=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/InstalledAppAutocomplete";AutoCompleteHelper.getHelper().Create("#rolesettings_installedapps","#hfrolesettings_installedapps",t,function(){var t=$("#hfrolesettings_installedapps").val();n.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(t).then(function(n){var i;$("#rolesettings_ddl").html("");i=n.result;let t=i.find(function(n){return n.SettingName.toLowerCase()=="view"});t&&$("#rolesettings_ddl").append('<option value="'+t.AppPermissionId+'" columnvalue="" selected>'+t.SettingName+"<\/option>").val(t.AppPermissionId).trigger("change")})})}appendRoleSetting(n,t){let i="ulAppName_"+n.replace(/ /g,"_")+"-"+t.replace(/ /g,"_");var r='<div class="border border-1 mt-2 ulDatalistFilters_'+n.replace(" ","_")+t.replace(" ","_")+'" id = "'+i+'"><div class="form-row" id="li_AppName_'+n+t+'"> <div class="col py-2 px-4 lblappname"> '+n+' <\/div> <div class="col py-2 px-4 lblrolesetting"> '+t+' <\/div><div class="col-auto py-2 px-4"><a id = "btnRemove" onclick="Unibase.Platform.Analytics.Reports.ReportRoleSettings.Instance().RemoveRoleSettingExp(\''+n+"','"+t+"','"+i+'\')" class="pull-right" ><i class="fa fa-close text-danger"><\/i><\/a><\/div><\/div><\/div>';$("#RoleSettingExp").append(r)}RemoveRoleSettingExp(n,t,i){var u=this,r;$("#"+i+"").remove();r=u._reportbuilder.roleSettings.findIndex(function(i){return i.AppTitle===n&&i.SettingName===t});r!==-1&&u._reportbuilder.roleSettings.splice(r,1)}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.ReportRoleSettings=u})(r=i.Reports||(i.Reports={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
|