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