var Unibase; (function (Unibase) { let Platform; (function (Platform) { let Dashboards; (function (Dashboards) { let Components; (function (Components) { class DashboardGroupPermissions extends Platform.Core.BaseComponent { chkIsGroupViewable() { if ($('#chkIsGroupViewable').prop('checked')) { $('#divGroupViewRoles').addClass('hidden'); Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().setgroupasviewable($('#hf_DashboardGroupId').val(), true); } else { $('#divGroupViewRoles').removeClass('hidden'); Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().setgroupasviewable($('#hf_DashboardGroupId').val(), false); } } setgroupasviewable(DashboardGroupId, Viewable) { this.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () { var objreq = new Unibase.Platform.Dashboards.Requests.DashboardGroupRole(); objreq.DashboardGroupId = DashboardGroupId; objreq.IsExclude = Viewable; Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().setDashboardGroupAsViewable(objreq).then(function (response) { }); }); } loadallpermissions(DashboardGroupId) { $('#hf_DashboardGroupId').val(DashboardGroupId); var _DashboardGroup_roles = []; var all_Roles = []; this.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () { Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getDashboardRolesByGroup(DashboardGroupId).then(function (response) { var selectedRoles = response; for (var i = 0; i < selectedRoles.result.length; i++) { var id = 0; id = selectedRoles.result[i].PortletGroupRoleId; _DashboardGroup_roles.push({ GroupRoleId: id, RoleId: selectedRoles.result[i].RoleId, RoleName: selectedRoles.result[i].RoleName, IsExclude: selectedRoles.result[i].IsExclude }); } Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().getgrouproleList(DashboardGroupId, all_Roles, _DashboardGroup_roles); }); }); } getgrouproleList(DashboardGroupId, all_Roles, _DashboardGroup_roles) { if (all_Roles.length == 0) { this.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () { Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getRolesList().then(function (response) { all_Roles = response; Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().loadAssignedRoles(DashboardGroupId, all_Roles, _DashboardGroup_roles); }); }); } else { Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().loadAssignedRoles(DashboardGroupId, all_Roles, _DashboardGroup_roles); } } loadAssignedRoles(DashboardGroupId, all_Roles, _DashboardGroup_roles) { var _Permission_ViewRoles = []; var _DashboardGroup_Excluderoles = []; for (var i = 0; i < all_Roles.result.length; i++) { var data = all_Roles.result[i]; var assignedRoles = _DashboardGroup_roles; for (var j = 0; j < assignedRoles.length; j++) { var assignedRole = assignedRoles[j]; if (assignedRole.RoleId == data.RoleId) { if (assignedRole.IsExclude == true) { _DashboardGroup_Excluderoles.push({ id: data.RoleId, text: data.RoleName }); } else { _Permission_ViewRoles.push({ id: data.RoleId, text: data.RoleName }); } } } } Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().loadDashboardGroupDetails(DashboardGroupId, _Permission_ViewRoles, _DashboardGroup_Excluderoles); } loadDashboardGroupDetails(DashboardGroupId, _Permission_ViewRoles, _DashboardGroup_Excluderoles) { this.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () { Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getDashboardGroup(DashboardGroupId).then(function (response) { if (response.result.ViewAll == true) { $('#divGroupViewRoles').addClass("hidden"); } else { $('#divGroupExcludeViewRoles').removeClass("hidden"); $('#divGroupViewRoles').removeClass("hidden"); } $("#chkIsGroupViewable").prop('checked', response.result.ViewAll); Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().loadViewRoles(DashboardGroupId, _Permission_ViewRoles, _DashboardGroup_Excluderoles); }); }); } loadViewRoles(DashboardGroupId, _Permission_ViewRoles, _DashboardGroup_Excluderoles) { var Ids = []; var ExludedIds = []; if (_Permission_ViewRoles.length != 0) { for (var i = 0; i < _Permission_ViewRoles.length; i++) { Ids.push(_Permission_ViewRoles[i].id); } } for (var i = 0; i < _DashboardGroup_Excluderoles.length; i++) { ExludedIds.push(_DashboardGroup_Excluderoles[i].id); } let ViewRoleElementId = "txtGroupViewRoles"; let ExcludeRoleElementId = "txtGroupExcludeViewRoles"; DashboardGroupPermissions.Instance().select2dashboardgroupDatabinding(_Permission_ViewRoles, _DashboardGroup_Excluderoles, Ids, ExludedIds, ViewRoleElementId, ExcludeRoleElementId); $('#txtGroupViewRoles').on('select2:select', function (e) { var result = e.params.data; if (Number(result.id) != 0) { var roleId = result.id; Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().addViewRole(DashboardGroupId, roleId, false); Ids.push(roleId); $(ExludedIds).each(function (i, value) { if (value == roleId) { var index = ExludedIds.indexOf(value); if (index > -1) { ExludedIds.splice(index, 1); } ExludedIds.splice(value, 1); jQuery("#txtGroupExcludeViewRoles").val(ExludedIds).trigger('change'); return false; } }); } }); $('#txtGroupViewRoles').on('select2:unselect', function (e) { var result = e.params.data; if (Number(result.id) != 0) { var roleId = result.id; Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().removeViewRole(DashboardGroupId, roleId, false); } }); $('#txtGroupExcludeViewRoles').on('select2:select', function (e) { var result = e.params.data; if (Number(result.id) != 0) { var roleId = result.id; Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().addViewRole(DashboardGroupId, roleId, true); ExludedIds.push(roleId); $(Ids).each(function (i, value) { if (value == roleId) { var index = Ids.indexOf(value); if (index > -1) { Ids.splice(index, 1); } jQuery("#txtGroupViewRoles").val(Ids).trigger('change'); return false; } }); } }); $('#txtGroupExcludeViewRoles').on('select2:unselect', function (e) { var result = e.params.data; if (Number(result.id) != 0) { var roleId = result.id; Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().removeViewRole(DashboardGroupId, roleId, true); } }); } addViewRole(DashboardGroupId, roleId, IsExclude) { this.fileCacheHelper.loadJsFile("platform/dashboards/requests/dashboards.js", function () { var objreq = new Unibase.Platform.Dashboards.Requests.DashboardGroupRole(); objreq.DashboardGroupId = DashboardGroupId; objreq.RoleId = roleId; objreq.IsExclude = IsExclude; Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().saveDashboardGroupRole(objreq).then(function (response) { }); }); } removeViewRole(DashboardGroupId, roleId, IsExclude) { this.fileCacheHelper.loadJsFile("platform/dashboards/requests/dashboards.js", function () { var objreq = new Unibase.Platform.Dashboards.Requests.DashboardGroupRole(); objreq.DashboardGroupId = DashboardGroupId; objreq.RoleId = roleId; objreq.IsExclude = IsExclude; Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().removeDashboardGroupRole(objreq).then(function (response) { }); }); } select2dashboardgroupDatabinding(_Permission_ViewRoles, _DashboardGroup_Excluderoles, Ids, ExludedIds, ViewRoleElementId, ExcludeRoleElementId) { var user = Unibase.Platform.Membership.Infos.Identity.getCurrentUser(); var url = _appsettings.server_url() + '/apis/v4/unibase/platform/roles/get/term/undefined'; $("#" + ViewRoleElementId).select2({ multiple: true, allowClear: false, data: _Permission_ViewRoles, placeholder: 'Select', ajax: { url: function (request) { var reqUrl = url; return reqUrl; }, beforeSend: function (xhr) { if (user !== undefined && user !== null) { xhr.setRequestHeader("Authorization", "Basic " + user.sessionId); xhr.setRequestHeader('geoposition', user.latd + ':' + user.lgId); } }, delay: 250, dataType: 'json', processResults: function (data) { var selectData = []; var Data = JSON.parse(data.result); for (var i = 0; i < Data.length; i++) { selectData.push({ id: Data[i].RoleId, text: Data[i].RoleName }); } ; return { results: selectData }; } }, templateResult: function (item) { return item.text; }, templateSelection: function (item) { return item.text; }, }); $("#" + ViewRoleElementId).val(Ids).trigger('change'); $("#" + ExcludeRoleElementId).select2({ multiple: true, allowClear: false, data: _DashboardGroup_Excluderoles, placeholder: 'Select', ajax: { url: function (request) { var reqUrl = url; return reqUrl; }, beforeSend: function (xhr) { if (user !== undefined && user !== null) { xhr.setRequestHeader("Authorization", "Basic " + user.sessionId); xhr.setRequestHeader('geoposition', user.latd + ':' + user.lgId); } }, delay: 250, dataType: 'json', processResults: function (data) { var selectData = []; var Data = JSON.parse(data.result); for (var i = 0; i < Data.length; i++) { selectData.push({ id: Data[i].RoleId, text: Data[i].RoleName }); } ; return { results: selectData }; } }, templateResult: function (item) { return item.text; }, templateSelection: function (item) { return item.text; }, }); $("#" + ExcludeRoleElementId).val(ExludedIds).trigger('change'); } static Instance() { return new DashboardGroupPermissions(); } } Components.DashboardGroupPermissions = DashboardGroupPermissions; })(Components = Dashboards.Components || (Dashboards.Components = {})); })(Dashboards = Platform.Dashboards || (Platform.Dashboards = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));