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 = "";
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 = {}));