123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273 |
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Dashboards;
- (function (Dashboards) {
- let Components;
- (function (Components) {
- class DashboardPermissions extends Platform.Core.BaseComponent {
- ShowPermissions(DashboardId) {
- var type = 'dashboard';
- var dashboardroles = [];
- var _fileCacheHelper = this.fileCacheHelper;
- _fileCacheHelper.loadCssFile("libs/select2/css/select2.min.css", null);
- _fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () {
- Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getDashboardRoles(DashboardId).then(function (response) {
- var selectedRoles = response.result;
- for (var i = 0; i < selectedRoles.length; i++) {
- var id = 0;
- id = selectedRoles[i].PortletRoleId;
- dashboardroles.push({ RoleDashboardId: id, RoleId: selectedRoles[i].RoleId, RoleName: selectedRoles[i].RoleName, IsExclude: selectedRoles[i].IsExclude });
- }
- DashboardPermissions.Instance().getRoleList(DashboardId, type, dashboardroles);
- });
- });
- DashboardPermissions.Instance().chkIsDashboardViewable(DashboardId);
- }
- chkIsDashboardViewable(DashboardId) {
- $('#chkIsDashboardViewable').change(function () {
- var viewable = $("#chkIsDashboardViewable").prop('checked');
- if (viewable)
- $('#divDashboardViewRoles').addClass("hidden");
- else
- $('#divDashboardViewRoles').removeClass("hidden");
- var type = $('#hfApplyType').val();
- Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().setDashboardAsViewable(DashboardId, viewable);
- });
- }
- getRoleList(DashboardId, type, dashboardroles) {
- Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getRolesList().then(function (response) {
- var dashboardpermissions_AllRoles = response.result;
- DashboardPermissions.Instance().loadAssignedRoles(DashboardId, type, dashboardroles, dashboardpermissions_AllRoles);
- });
- }
- loadAssignedRoles(DashboardId, type, dashboardroles, dashboardpermissions_AllRoles) {
- var ExcludeViewRoles = [];
- var _Permissions_ViewRoles = [];
- for (var i = 0; i < dashboardpermissions_AllRoles.length; i++) {
- var data = dashboardpermissions_AllRoles[i];
- var assignedRoles = dashboardroles;
- for (var j = 0; j < assignedRoles.length; j++) {
- var assignedRole = assignedRoles[j];
- if (assignedRole.RoleId == data.RoleId) {
- if (assignedRole.IsExclude == true) {
- ExcludeViewRoles.push({ id: data.RoleId, text: data.RoleName });
- }
- else {
- _Permissions_ViewRoles.push({ id: data.RoleId, text: data.RoleName });
- }
- }
- }
- }
- DashboardPermissions.Instance().loadDashboardDetails(DashboardId, _Permissions_ViewRoles, ExcludeViewRoles);
- }
- loadDashboardDetails(DashboardId, _Permissions_ViewRoles, ExcludeViewRoles) {
- this.fileCacheHelper.loadJsFile("platform/dashboards/requests/dashboards.js", function () {
- Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getDashboard(DashboardId).then(function (response) {
- if (response.result.IsMandatory == true) {
- $('#divDashboardViewRoles').addClass("hidden");
- }
- else {
- $('#divDashboardViewRoles').removeClass("hidden");
- }
- if (response.result.IsTrackable) {
- $("#Ch_IsTrackable").prop('checked', true);
- }
- $("#chkIsDashboardViewable").prop('checked', response.result.IsMandatory);
- DashboardPermissions.Instance().loadViewRoles(DashboardId, response.result.IsMandatory, _Permissions_ViewRoles, ExcludeViewRoles);
- });
- });
- }
- loadViewRoles(DashboardId, IsMandatory, _Permissions_ViewRoles, ExcludeViewRoles) {
- var Ids = [];
- for (var i = 0; i < _Permissions_ViewRoles.length; i++) {
- Ids.push(_Permissions_ViewRoles[i].id);
- }
- let ExludedIds = [];
- for (var i = 0; i < ExcludeViewRoles.length; i++) {
- ExludedIds.push(ExcludeViewRoles[i].id);
- }
- var ViewRoleElementId = "txtDashboardViewRoles";
- var ExcludeRoleElementId = "txtDashboardExcludeViewRoles";
- DashboardPermissions.Instance().select2dashboardbinding(DashboardId, IsMandatory, _Permissions_ViewRoles, ExcludeViewRoles, Ids, ExludedIds, ViewRoleElementId, ExcludeRoleElementId);
- $('#txtDashboardViewRoles').on('select2:select', function (e) {
- let result = e.params.data;
- if (Number(result.id) != 0) {
- var roleId = result.id;
- DashboardPermissions.Instance().addViewRole(DashboardId, 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("#txtDashboardExcludeViewRoles").val(ExludedIds).trigger('change');
- return false;
- }
- });
- }
- });
- $('#txtDashboardViewRoles').on('select2:unselect', function (e) {
- let result = e.params.data;
- if (Number(result.id) != 0) {
- var roleId = result.id;
- DashboardPermissions.Instance().removeViewRole(DashboardId, roleId, false);
- }
- });
- $('#txtDashboardExcludeViewRoles').on('select2:select', function (e) {
- let result = e.params.data;
- if (Number(result.id) != 0) {
- var roleId = result.id;
- DashboardPermissions.Instance().addViewRole(DashboardId, 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("#txtDashboardViewRoles").val(Ids).trigger('change');
- return false;
- }
- });
- }
- });
- $('#txtDashboardExcludeViewRoles').on('select2:unselect', function (e) {
- let result = e.params.data;
- if (Number(result.id) != 0) {
- var roleId = result.id;
- DashboardPermissions.Instance().removeViewRole(DashboardId, roleId, true);
- }
- });
- }
- addViewRole(DashboarId, roleId, IsExclude) {
- this.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () {
- let reqObj = new Unibase.Platform.Dashboards.Requests.DashboardRole();
- reqObj.DashboardId = DashboarId;
- reqObj.RoleId = Number(roleId);
- reqObj.IsExclude = IsExclude;
- Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().addViewRole(reqObj).then(function (response) {
- });
- });
- }
- removeViewRole(DashboardId, roleId, IsExclude) {
- this.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () {
- let reqObj = new Unibase.Platform.Dashboards.Requests.DashboardRole();
- reqObj.DashboardId = DashboardId;
- reqObj.RoleId = Number(roleId);
- reqObj.IsExclude = IsExclude;
- Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().removeViewRole(reqObj).then(function (response) {
- });
- });
- }
- select2dashboardbinding(DashboardId, IsMandatory, _Permissions_ViewRoles, ExcludeViewRoles, Ids, ExludedIds, ViewRoleElementId, ExcludeRoleElementId) {
- return __awaiter(this, void 0, void 0, function* () {
- var user = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/roles/get/term/';
- $("#" + ViewRoleElementId).select2({
- multiple: true,
- allowClear: false,
- data: _Permissions_ViewRoles,
- placeholder: 'Select',
- ajax: {
- url: function (request) {
- var reqUrl = url;
- var term = request.term;
- if (term == "")
- term = undefined;
- if (term == undefined)
- reqUrl = reqUrl + term;
- else
- reqUrl = reqUrl + term;
- 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: ExcludeViewRoles,
- placeholder: 'Select',
- ajax: {
- url: function (request) {
- var reqUrl = url;
- var term = request.term;
- if (term == "")
- term = undefined;
- if (term == undefined)
- reqUrl = reqUrl + term;
- else
- reqUrl = reqUrl + term;
- 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; },
- });
- jQuery("#" + ExcludeRoleElementId).val(ExludedIds).trigger('change');
- });
- }
- static Instance() {
- return new DashboardPermissions();
- }
- }
- Components.DashboardPermissions = DashboardPermissions;
- })(Components = Dashboards.Components || (Dashboards.Components = {}));
- })(Dashboards = Platform.Dashboards || (Platform.Dashboards = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
|