var Unibase; (function (Unibase) { let Platform; (function (Platform) { let Permissions; (function (Permissions) { let Components; (function (Components) { class Permission extends Platform.Core.BaseComponent { constructor() { super(); this.InstalledAppId = 0; this.appmanager = Platform.Apps.Managers.AppManager.Instance(); this.ipermissionmanager = Permissions.Managers.PermissionManager.Instance(); } cssFiles() { return ['libs/jquery-ui-slider-pips/jquery-ui-slider-pips.css', 'libs/jquery-ui-slider-pips/Custom-slider-ui-pips.css']; } jsFiles() { return ['libs/jquery-ui-slider-pips/jquery-ui-slider-pips.js', '/platform/apps/managers/interfaces/iappmanager.js', '/platform/apps/managers/appmanager.js', '/platform/apps/components/stages/stages.js', '/platform/apps/managers/stagemanager.js', '/platform/apps/components/stages/stagepermissions.js', 'platform/permission/managers/permissionmanager.js', 'platform/permission/requests/approlesetting.js', '/platform/permission/infos/role.js', '/platform/datasources/managers/interfaces/idoctypemanager.js', '/platform/datasources/managers/doctypemanager.js', '/platform/apps/components/actionproviders/docpropertyactionprovider.js', 'platform/permission/components/editrole.js', 'platform/apps/components/stages/defaultstageroles.js']; } html(id, containerid) { var instance = this; var appid = instance.appSettings.InstalledAppId; instance.InstalledAppId = instance.appSettings.InstalledAppId; let html = `
`; return html; } load(id, containerid, callback) { var instance = this; var appid = instance.appSettings.InstalledAppId; instance.InstalledAppId = instance.appSettings.InstalledAppId; instance.appmanager.getInstallApp(appid).then(function (appresponse) { if (appresponse.result.EnableStage) { $(".li_stages").removeClass('hidden'); } }); $("#tbRoles_" + containerid).click(function () { $(".tab-addeditem").find(".nav-link").removeClass("active"); $(this).addClass("active"); $("#tabs").find(".tab-pane").removeClass("active"); $("#roles").addClass('active'); $(".btnFilter_" + containerid).addClass('hidden'); $(".btnstage_" + containerid).addClass('hidden'); $(".btnRole_" + containerid).removeClass('hidden'); $(".btnWorkFlow").addClass('hidden'); $(".btnAddAP_" + containerid).addClass('hidden'); $('#btnDefaultStageRoles_' + containerid + '').addClass('hidden'); }); $("#tbStage_" + containerid).click(function () { $(".tab-addeditem").find(".nav-link").removeClass("active"); $(this).addClass("active"); $("#tabs").find(".tab-pane").removeClass("active"); $("#stage_" + containerid).addClass('active'); $(".btnRole_" + containerid).addClass('hidden'); $(".btnFilter_" + containerid).addClass('hidden'); $(".btnstage_" + containerid).removeClass('hidden'); $(".btnWorkFlow").addClass('hidden'); $(".btnAddAP_" + containerid).addClass('hidden'); $('#btnDefaultStageRoles_' + containerid + '').removeClass('hidden'); }); $("#tbProviders_" + containerid).click(function () { $(".tab-addeditem").find(".nav-link").removeClass("active"); $(this).addClass("active"); $("#tabs").find(".tab-pane").removeClass("active"); $("#ActionProviders_" + containerid).addClass('active'); $(".btnRole_" + containerid).addClass('hidden'); $(".btnstage_" + containerid).addClass('hidden'); $(".btnAddAP_" + containerid).removeClass('hidden'); $(".btnWorkFlow").addClass('hidden'); $('#btnDefaultStageRoles_' + containerid + '').addClass('hidden'); }); $('#btnAddNewRole').click(function () { Unibase.Platform.Permissions.Components.EditRole.Instance().editRole(id, appid); }); $('#btnAddNewStage_' + containerid).click(function () { Unibase.Platform.Apps.Components.Stages.Instance().AddStage(0); }); $('#btnAddAP_' + containerid).click(function () { Unibase.Platform.Apps.Components.DocPropertyActionProvider.Instance().AddActionProvider(0); }); $('#btnDefaultStageRoles_' + containerid + '').click(function () { Unibase.Platform.Apps.Components.DefaultStageRoles.Instance().init(appid); }); $(".txt_rolesearch").on('input', function () { var term = $(".txt_rolesearch").val(); instance.loadRoles(appid, term); }); instance.loadRoles(appid, ""); } init() { var instance = this; this.navigationHelper.popup(0, '', instance, null, Platform.Helpers.Size.Large); instance.loadRoles(0, ""); } loadPermissions(roleid, Isrole, IsStage, installedappid) { var instance = this; var roleId = Number(roleid); $("#hf_RoleId").val(roleId); if (Isrole == true) { var collapsed = $("#panelId-" + roleId).hasClass('collapse'); if (!collapsed) { $("#panelId-" + roleId).addClass('collapse'); $(".roleid-" + roleId).find(".fa-chevron-down").removeClass('d-none'); $(".roleid-" + roleId).find(".fa-chevron-up").addClass('d-none'); } else { $(".roleid-" + roleId).find(".fa-chevron-up").removeClass('d-none'); $(".roleid-" + roleId).find(".fa-chevron-down").addClass('d-none'); $("#panelId-" + roleId).removeClass('collapse'); $(".roleid-" + roleId).find(".sliderDetails").remove(); } } var installedPageId = installedappid; if (installedPageId == undefined) { installedPageId = 0; } instance.ipermissionmanager.getRoleSettings(roleId, Number(installedPageId), IsStage).then(function (response) { var SId = 0; var records = response.result; for (var i = 0; i < records.length; i++) { var ApplicableValue = []; var ApplicableLabels = []; var ApplicableText = ["None", "Owner", "Manager", "Admin", "Allow"]; var ApplicableValues = records[i].ApplicableValuesList; var settingVal = records[i].SettingValue; for (var j = 0; j < ApplicableValues.length; j++) { var PermissionLevel = ""; var pv = ApplicableValues[j]; var permissionValue = pv.toString(); switch (permissionValue) { case "0": PermissionLevel = "None"; break; case "1": PermissionLevel = "None"; break; case "2": PermissionLevel = "Owner"; break; case "3": PermissionLevel = "Manager"; break; case "4": PermissionLevel = "Admin"; break; case "5": PermissionLevel = "Allow"; break; } ApplicableValue.push(PermissionLevel); ApplicableLabels.push('' + PermissionLevel + ''); } var SettingName = records[i].SettingName; var SystemName = records[i].SystemName; var apppermissionId = records[i].AppPermissionId; var html = ""; if (records[i].StageId == 0) { var Isrole = false; var IsStage = true; html += "
" + "
" + "" + SettingName + "" + "
"; html += "
" + "" + "
" + "
" + "
"; if (ApplicableValue.length < 2) { var status1 = ""; var status2 = ""; if (settingVal == 5) { status2 = 'checked'; status1 = ''; } else { status2 = ''; status1 = 'checked'; } if (settingVal == 5) { $(".option1" + roleId + SettingName).removeAttr("checked"); $(".option2" + roleId + SettingName).prop("checked", true); } } $(".roleid-" + roleId).find(".sliderdiv").append(html); if (records[i].StagesList == 0) { $("#stages" + roleId + SystemName).addClass('hidden'); } $(".roleid-" + roleId).find("#slider_" + i + SystemName + roleId) .slider({ max: ApplicableValue.length - 1, min: 0, value: settingVal - 1, animate: 250 }) .slider("pips", { rest: "label", labels: ApplicableLabels }); $(".roleid-" + roleId).find("#slider_" + i + SystemName + roleId).on("slidestop", function (event, ui) { var SettingValue = 0; var systemName = $(this).parents(".slider-container").find('.systemname').val(); var approleId = $(this).parents(".slider-container").find('.appId').val(); var applicablevalue = $(this).parents(".slider-container").find('.applicablevalue').val(); if (applicablevalue == 2) { if (ui.value == 0) { SettingValue = ui.value + 1; } else { SettingValue = ui.value + 4; } } else { SettingValue = ui.value + 1; } instance.changeAppRoleSetting(SettingValue, systemName, roleId, SId, approleId, installedappid); }); } else { var SettingName = records[i].StageName; var SId = Number(records[i].StageId); var html2 = "
" + "
" + "" + SettingName + "" + "
" + "
"; if ($("#div_stage_settings_" + roleId + SystemName).find("#div_stage_settings_" + roleId + SId + SystemName).length == 0) { $("#div_stage_settings_" + roleId + SystemName).append(html2); } $("#div_stage_settings_" + roleId + SId + SystemName).find("#slider" + i) .slider({ max: ApplicableValue.length - 1, min: 0, value: settingVal - 1, animate: 250 }) .slider("pips", { rest: "label", labels: ApplicableLabels }); $("#div_stage_settings_" + roleId + SId + SystemName).find("#slider" + i).on("slidestop", function (event, ui) { var SettingValue = 0; var systemName = $(this).parents(".slider-container").find('.systemname').val(); var sid = $(this).parents(".slider-container").find('.sid').val(); var applicablevalue = $(this).parents(".slider-container").find('.applicablevalue').val(); if (applicablevalue == 2) { if (ui.value == 0) { SettingValue = ui.value + 1; } else { SettingValue = ui.value + 4; } } else { SettingValue = ui.value + 1; } instance.changeAppRoleSetting(SettingValue, systemName, roleId, sid, apppermissionId, installedappid); }); var k = "#div_stage_settings_" + roleId + SystemName; var u = k + " .ui-slider-handle"; var v = k + " .ui-slider-line"; $(u).css("background-color", "#ab26aa"); $(u).addClass("childSlider"); $(v).css("box-shadow", "0 0 0 2px #ab26aa"); } } $("#div_New_" + roleId + SystemName).show(); }); } statehover() { $(".type_last").addClass('state_hover'); } change(SystemName, roleId, Isrole, IsStage, i, installedappid) { var instance = this; if ($("#chk_AllStages_" + roleId + SystemName).is(':checked')) { $("#div_stage_settings_" + roleId + SystemName + "_container").hide(); $("#slider_" + i + SystemName + roleId).removeClass('hidden'); } else { $("#div_stage_settings_" + roleId + SystemName + "_container").show(); $("#div_stage_settings_" + roleId + SystemName).empty(); instance.loadPermissions(roleId, Isrole, IsStage, installedappid); } } loadRoles(installedappid, term) { var instance = this; $(".Role-panel").each(function () { $(this).remove(); }); instance.ipermissionmanager.getRoles(term).then(function (response) { var data = response.result; if (data.length > 0) { for (var i = 0; i < data.length; i++) { var roleId = data[i].RoleId; var roleName = data[i].RoleName; var description = data[i].Description; var IsAdminRole = data[i].IsAdminRole; var link = ""; var admininstruction = ""; var Isrole = true; var IsStage = false; var SystemName = null; if (IsAdminRole != true) { link = "Unibase.Platform.Permissions.Components.Permission.Instance().loadPermissions(" + roleId + "," + Isrole + ", " + IsStage + "," + installedappid + ")"; } else { admininstruction = " - This is admin default role can't access"; } var html = "
" + "
" + "
" + roleName + admininstruction + "" + "
"; if (IsAdminRole != true) { html += ""; } html += "
" + "
" + "
" + "
" + "
" + "
"; var info = $('.rolelist-div').find(".roleid-" + roleId + ""); if (IsAdminRole == true) { if (info.length == 0) { $('.rolelist-div').prepend(html); } } else { if (info.length == 0) { $('.rolelist-div').append(html); } } } ; } }); } changeAppRoleSetting(settingValue, settingName, roleId, SId, approleSettingId, appinstalledid) { var instance = this; var InstalledAppId = appinstalledid; if (InstalledAppId == undefined) { InstalledAppId = 0; } let reqObj = new Unibase.Platform.Permissions.Requests.AppPermission(); reqObj.StageId = Number(SId); reqObj.RoleId = Number(roleId); reqObj.SettingValue = settingValue; reqObj.SettingName = settingName; reqObj.InstalledAppId = Number(InstalledAppId); reqObj.AppPermissionId = Number(approleSettingId); instance.ipermissionmanager.saveRoleSetting(reqObj).then(function (response) { if (response.status == Unibase.Data.Status.Error) { MessageHelper.Instance().showError(response.message, "div_errormessage"); } else { MessageHelper.Instance().showSuccess(response.message, "div_errormessage"); } }); } static Instance() { return new Permission(); } } Components.Permission = Permission; })(Components = Permissions.Components || (Permissions.Components = {})); })(Permissions = Platform.Permissions || (Platform.Permissions = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));