Built files from Bizgaze WebServer
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

dashboardgrouppermissions.js 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Dashboards;
  6. (function (Dashboards) {
  7. let Components;
  8. (function (Components) {
  9. class DashboardGroupPermissions extends Platform.Core.BaseComponent {
  10. chkIsGroupViewable() {
  11. if ($('#chkIsGroupViewable').prop('checked')) {
  12. $('#divGroupViewRoles').addClass('hidden');
  13. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().setgroupasviewable($('#hf_DashboardGroupId').val(), true);
  14. }
  15. else {
  16. $('#divGroupViewRoles').removeClass('hidden');
  17. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().setgroupasviewable($('#hf_DashboardGroupId').val(), false);
  18. }
  19. }
  20. setgroupasviewable(DashboardGroupId, Viewable) {
  21. this.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () {
  22. var objreq = new Unibase.Platform.Dashboards.Requests.DashboardGroupRole();
  23. objreq.DashboardGroupId = DashboardGroupId;
  24. objreq.IsExclude = Viewable;
  25. Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().setDashboardGroupAsViewable(objreq).then(function (response) {
  26. });
  27. });
  28. }
  29. loadallpermissions(DashboardGroupId) {
  30. $('#hf_DashboardGroupId').val(DashboardGroupId);
  31. var _DashboardGroup_roles = [];
  32. var all_Roles = [];
  33. this.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () {
  34. Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getDashboardRolesByGroup(DashboardGroupId).then(function (response) {
  35. var selectedRoles = response;
  36. for (var i = 0; i < selectedRoles.result.length; i++) {
  37. var id = 0;
  38. id = selectedRoles.result[i].PortletGroupRoleId;
  39. _DashboardGroup_roles.push({ GroupRoleId: id, RoleId: selectedRoles.result[i].RoleId, RoleName: selectedRoles.result[i].RoleName, IsExclude: selectedRoles.result[i].IsExclude });
  40. }
  41. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().getgrouproleList(DashboardGroupId, all_Roles, _DashboardGroup_roles);
  42. });
  43. });
  44. }
  45. getgrouproleList(DashboardGroupId, all_Roles, _DashboardGroup_roles) {
  46. if (all_Roles.length == 0) {
  47. this.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () {
  48. Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getRolesList().then(function (response) {
  49. all_Roles = response;
  50. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().loadAssignedRoles(DashboardGroupId, all_Roles, _DashboardGroup_roles);
  51. });
  52. });
  53. }
  54. else {
  55. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().loadAssignedRoles(DashboardGroupId, all_Roles, _DashboardGroup_roles);
  56. }
  57. }
  58. loadAssignedRoles(DashboardGroupId, all_Roles, _DashboardGroup_roles) {
  59. var _Permission_ViewRoles = [];
  60. var _DashboardGroup_Excluderoles = [];
  61. for (var i = 0; i < all_Roles.result.length; i++) {
  62. var data = all_Roles.result[i];
  63. var assignedRoles = _DashboardGroup_roles;
  64. for (var j = 0; j < assignedRoles.length; j++) {
  65. var assignedRole = assignedRoles[j];
  66. if (assignedRole.RoleId == data.RoleId) {
  67. if (assignedRole.IsExclude == true) {
  68. _DashboardGroup_Excluderoles.push({ id: data.RoleId, text: data.RoleName });
  69. }
  70. else {
  71. _Permission_ViewRoles.push({ id: data.RoleId, text: data.RoleName });
  72. }
  73. }
  74. }
  75. }
  76. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().loadDashboardGroupDetails(DashboardGroupId, _Permission_ViewRoles, _DashboardGroup_Excluderoles);
  77. }
  78. loadDashboardGroupDetails(DashboardGroupId, _Permission_ViewRoles, _DashboardGroup_Excluderoles) {
  79. this.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () {
  80. Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getDashboardGroup(DashboardGroupId).then(function (response) {
  81. if (response.result.ViewAll == true) {
  82. $('#divGroupViewRoles').addClass("hidden");
  83. }
  84. else {
  85. $('#divGroupExcludeViewRoles').removeClass("hidden");
  86. $('#divGroupViewRoles').removeClass("hidden");
  87. }
  88. $("#chkIsGroupViewable").prop('checked', response.result.ViewAll);
  89. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().loadViewRoles(DashboardGroupId, _Permission_ViewRoles, _DashboardGroup_Excluderoles);
  90. });
  91. });
  92. }
  93. loadViewRoles(DashboardGroupId, _Permission_ViewRoles, _DashboardGroup_Excluderoles) {
  94. var Ids = [];
  95. var ExludedIds = [];
  96. if (_Permission_ViewRoles.length != 0) {
  97. for (var i = 0; i < _Permission_ViewRoles.length; i++) {
  98. Ids.push(_Permission_ViewRoles[i].id);
  99. }
  100. }
  101. for (var i = 0; i < _DashboardGroup_Excluderoles.length; i++) {
  102. ExludedIds.push(_DashboardGroup_Excluderoles[i].id);
  103. }
  104. let ViewRoleElementId = "txtGroupViewRoles";
  105. let ExcludeRoleElementId = "txtGroupExcludeViewRoles";
  106. DashboardGroupPermissions.Instance().select2dashboardgroupDatabinding(_Permission_ViewRoles, _DashboardGroup_Excluderoles, Ids, ExludedIds, ViewRoleElementId, ExcludeRoleElementId);
  107. $('#txtGroupViewRoles').on('select2:select', function (e) {
  108. var result = e.params.data;
  109. if (Number(result.id) != 0) {
  110. var roleId = result.id;
  111. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().addViewRole(DashboardGroupId, roleId, false);
  112. Ids.push(roleId);
  113. $(ExludedIds).each(function (i, value) {
  114. if (value == roleId) {
  115. var index = ExludedIds.indexOf(value);
  116. if (index > -1) {
  117. ExludedIds.splice(index, 1);
  118. }
  119. ExludedIds.splice(value, 1);
  120. jQuery("#txtGroupExcludeViewRoles").val(ExludedIds).trigger('change');
  121. return false;
  122. }
  123. });
  124. }
  125. });
  126. $('#txtGroupViewRoles').on('select2:unselect', function (e) {
  127. var result = e.params.data;
  128. if (Number(result.id) != 0) {
  129. var roleId = result.id;
  130. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().removeViewRole(DashboardGroupId, roleId, false);
  131. }
  132. });
  133. $('#txtGroupExcludeViewRoles').on('select2:select', function (e) {
  134. var result = e.params.data;
  135. if (Number(result.id) != 0) {
  136. var roleId = result.id;
  137. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().addViewRole(DashboardGroupId, roleId, true);
  138. ExludedIds.push(roleId);
  139. $(Ids).each(function (i, value) {
  140. if (value == roleId) {
  141. var index = Ids.indexOf(value);
  142. if (index > -1) {
  143. Ids.splice(index, 1);
  144. }
  145. jQuery("#txtGroupViewRoles").val(Ids).trigger('change');
  146. return false;
  147. }
  148. });
  149. }
  150. });
  151. $('#txtGroupExcludeViewRoles').on('select2:unselect', function (e) {
  152. var result = e.params.data;
  153. if (Number(result.id) != 0) {
  154. var roleId = result.id;
  155. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().removeViewRole(DashboardGroupId, roleId, true);
  156. }
  157. });
  158. }
  159. addViewRole(DashboardGroupId, roleId, IsExclude) {
  160. this.fileCacheHelper.loadJsFile("platform/dashboards/requests/dashboards.js", function () {
  161. var objreq = new Unibase.Platform.Dashboards.Requests.DashboardGroupRole();
  162. objreq.DashboardGroupId = DashboardGroupId;
  163. objreq.RoleId = roleId;
  164. objreq.IsExclude = IsExclude;
  165. Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().saveDashboardGroupRole(objreq).then(function (response) {
  166. });
  167. });
  168. }
  169. removeViewRole(DashboardGroupId, roleId, IsExclude) {
  170. this.fileCacheHelper.loadJsFile("platform/dashboards/requests/dashboards.js", function () {
  171. var objreq = new Unibase.Platform.Dashboards.Requests.DashboardGroupRole();
  172. objreq.DashboardGroupId = DashboardGroupId;
  173. objreq.RoleId = roleId;
  174. objreq.IsExclude = IsExclude;
  175. Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().removeDashboardGroupRole(objreq).then(function (response) {
  176. });
  177. });
  178. }
  179. select2dashboardgroupDatabinding(_Permission_ViewRoles, _DashboardGroup_Excluderoles, Ids, ExludedIds, ViewRoleElementId, ExcludeRoleElementId) {
  180. var user = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  181. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/roles/get/term/undefined';
  182. $("#" + ViewRoleElementId).select2({
  183. multiple: true,
  184. allowClear: false,
  185. data: _Permission_ViewRoles,
  186. placeholder: 'Select',
  187. ajax: {
  188. url: function (request) {
  189. var reqUrl = url;
  190. return reqUrl;
  191. },
  192. beforeSend: function (xhr) {
  193. if (user !== undefined && user !== null) {
  194. xhr.setRequestHeader("Authorization", "Basic " + user.sessionId);
  195. xhr.setRequestHeader('geoposition', user.latd + ':' + user.lgId);
  196. }
  197. },
  198. delay: 250,
  199. dataType: 'json',
  200. processResults: function (data) {
  201. var selectData = [];
  202. var Data = JSON.parse(data.result);
  203. for (var i = 0; i < Data.length; i++) {
  204. selectData.push({
  205. id: Data[i].RoleId,
  206. text: Data[i].RoleName
  207. });
  208. }
  209. ;
  210. return { results: selectData };
  211. }
  212. },
  213. templateResult: function (item) { return item.text; },
  214. templateSelection: function (item) { return item.text; },
  215. });
  216. $("#" + ViewRoleElementId).val(Ids).trigger('change');
  217. $("#" + ExcludeRoleElementId).select2({
  218. multiple: true,
  219. allowClear: false,
  220. data: _DashboardGroup_Excluderoles,
  221. placeholder: 'Select',
  222. ajax: {
  223. url: function (request) {
  224. var reqUrl = url;
  225. return reqUrl;
  226. },
  227. beforeSend: function (xhr) {
  228. if (user !== undefined && user !== null) {
  229. xhr.setRequestHeader("Authorization", "Basic " + user.sessionId);
  230. xhr.setRequestHeader('geoposition', user.latd + ':' + user.lgId);
  231. }
  232. },
  233. delay: 250,
  234. dataType: 'json',
  235. processResults: function (data) {
  236. var selectData = [];
  237. var Data = JSON.parse(data.result);
  238. for (var i = 0; i < Data.length; i++) {
  239. selectData.push({
  240. id: Data[i].RoleId,
  241. text: Data[i].RoleName
  242. });
  243. }
  244. ;
  245. return { results: selectData };
  246. }
  247. },
  248. templateResult: function (item) { return item.text; },
  249. templateSelection: function (item) { return item.text; },
  250. });
  251. $("#" + ExcludeRoleElementId).val(ExludedIds).trigger('change');
  252. }
  253. static Instance() {
  254. return new DashboardGroupPermissions();
  255. }
  256. }
  257. Components.DashboardGroupPermissions = DashboardGroupPermissions;
  258. })(Components = Dashboards.Components || (Dashboards.Components = {}));
  259. })(Dashboards = Platform.Dashboards || (Platform.Dashboards = {}));
  260. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  261. })(Unibase || (Unibase = {}));