var Unibase; (function (Unibase) { let Platform; (function (Platform) { let Apps; (function (Apps) { let Components; (function (Components) { class AppPermission extends Platform.Core.BaseComponent { constructor() { super(); this.appManager = Apps.Managers.AppManager.Instance(); } jsFiles() { return ["platform/apps/managers/appmanager.js", "/platform/apps/enums/settingtype.js", "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js']; } cssFiles() { return []; } html(id, containerid) { return `
`; } load(id, containerid, callback) { $("#btn_CloseAppRoleSetting").click(function () { $('#' + containerid).modal('hide'); $('#' + containerid).remove(); }); $("#btn_SaveAppRoleSetting").click(function () { let controlid = "form_AppRoleSetting"; let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid); if (result == false) { MessageHelper.Instance().showError("Mandatory Fields are missing", "div_apppermissionmessage"); return false; } AppPermission.Instance().saveAppRoleSettings(containerid, id); }); var recordid = Unibase.Themes.Providers.DetailHelper.recordId; this.loaddata(id); var UniqueId = ''; var apptitle = ""; if (recordid != 0) { Unibase.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(recordid).then(function (response) { if (response.result.length > 0) { Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(recordid).then(function (appresponse) { if (appresponse.result != null) { apptitle = appresponse.result.AppTitle.replace(/ /g, ''); UniqueId = response.result[0].SystemName.substring(0, response.result[0].SystemName.indexOf("_RoleSetting_")); UniqueId = UniqueId.replace(/ /g, ''); if (id == 0) { $("#txt_UniqueId").text(UniqueId); } } }); } else { Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(recordid).then(function (response) { if (response.result != null) { var apptitle = response.result.AppTitle.replace(/ /g, ''); UniqueId = response.result.DevOrgName + "_" + response.result.ModuleTypeName + "_" + response.result.ModuleName + "_" + apptitle; UniqueId = UniqueId.replace(/ /g, ''); if (id == 0) { $("#txt_UniqueId").text(UniqueId); } } }); } }); } $("#txt_AppRoleSettingName").keyup(function () { if (id == 0) { UniqueId = UniqueId.replace(/ /g, ''); $("#txt_UniqueId").text(UniqueId + "_RoleSetting_" + $("#txt_AppRoleSettingName").val().toString().replace(/ /g, '') + apptitle); } }); } loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) { this.addRoleSetting(Pk_Value); } addRoleSetting(Pk_Value) { this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Apps.Components.AppPermission.Instance(), null, Platform.Helpers.Size.Large); } loaddata(id) { var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/permissiontypes'; AutoCompleteHelper.getHelper().Create("#autocomplete_PermissionType", "#hfAutoComplete_PermissionType", url, function (response) { var data = response; }); if (id != 0) { $(".title").text('Edit Role Setting'); this.appManager.getAppPermission(id).then(function (response) { var option = new Option(Unibase.Platform.Apps.Enums.SettingType[response.result.PermissionLevelId], response.result.PermissionLevelId.toString(), true); $("#autocomplete_PermissionType").append(option); var applValue = response.result.ApplicableValues; $('#sel_ApplicableValues option').map(function () { if ($(this).val() == applValue) return this; }).attr('selected', 'selected'); $("#txt_AppRoleSettingName").val(response.result.SettingName); $("#txt_AppRoleSettingDescription").val(response.result.Description); $("#txt_UniqueId").text(response.result.SystemName); }); } } saveAppRoleSettings(containerid, appRoleSettingId) { if ($("#txt_AppRoleSettingName").val() == "" || $("#sel_AppRoleSettingType option:selected").val() == 0 || $("#sel_ApplicableValues option:selected").val() == 0) { MessageHelper.Instance().showError("Mandatory fields are missing!", "div_apppermissionmessage"); return false; } $("#div_apppermissionmessage").empty(); var postData = { AppPermissionId: appRoleSettingId, InstalledAppId: Number(Unibase.Themes.Providers.DetailHelper.recordId), SettingName: $("#txt_AppRoleSettingName").val(), PermissionLevelId: Number($("#autocomplete_PermissionType").val()), ApplicableValues1: $("#sel_ApplicableValues option:selected").val().toString(), Description: $("#txt_AppRoleSettingDescription").val(), SystemName: $("#txt_UniqueId").text().replace(/ /g, ''), StageId: 0, }; this.appManager.saveAppPermission(postData).then(function (response) { if (response.status == Unibase.Data.Status.Error) { MessageHelper.Instance().showError(response.message, "div_apppermissionmessage"); } else { MessageHelper.Instance().showSuccess(response.message, "div_apppermissionmessage"); $('#' + containerid).modal('hide'); $('#' + containerid).remove(); var obj = Unibase.Themes.Compact.Components.Details.Instance(); obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId; obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj); } }); } editRoleSetting(appRoleSettingId) { AppPermission.Instance().addRoleSetting(appRoleSettingId); } deleteRoleSetting(appRoleSettingId) { var instance = this; bootbox.confirm({ message: "Are you sure you want to Delete", closeButton: false, buttons: { confirm: { label: 'Yes', className: 'btn-success' }, cancel: { label: 'No', className: 'btn-defualt' } }, callback: function (result) { if (result) { instance.appManager.deleteAppPermission(appRoleSettingId).then(function (response) { if (response.status == Unibase.Data.Status.Error) { MessageHelper.Instance().showError(response.message, "div_message"); } else { MessageHelper.Instance().showSuccess(response.message, "div_message"); var obj = Unibase.Themes.Compact.Components.Details.Instance(); obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId; obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj); } }); } } }); } static Instance() { if (this.instance === undefined) { this.instance = new AppPermission(); } return this.instance; } } Components.AppPermission = AppPermission; })(Components = Apps.Components || (Apps.Components = {})); })(Apps = Platform.Apps || (Platform.Apps = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));