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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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 DashboardGroup extends Platform.Core.BaseComponent {
  10. constructor() {
  11. super();
  12. this.dashboardManager = Dashboards.Managers.DashboardManager.Instance();
  13. }
  14. cssFiles() {
  15. return [];
  16. }
  17. jsFiles() {
  18. return ["platform/dashboards/managers/dashboardmanager.js", "platform/dashboards/requests/dashboards.js", "platform/dashboards/components/dashboardgrouppermissions.js"];
  19. }
  20. html(id, containerid) {
  21. let html = `<form id="frm_Bizgazetransact_createdashboardGroup" method="post" data-validate="parsley" class="w-f bg-white">
  22. <div class="header b-b "><p class="h5 text-dark">Create Group</p></div><div class="scrollable"><div id="Bizgaze_EditGroupErrorMessages" class="clear"></div><div class="card"><div class="card-header">Details</div><div class="card-body"><div class="row"><div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value" id="div_GroupName"><label for="txt_GroupName" id="lbl_GrpName">Group Name<span class="text-danger"> *</span></label><div class=""><input type="text" id="Txt_GrpName" class="form-control value-control floating-label-control" data-isdynamic="false" placeholder="Group Name *" data-placeholder="Enter Group Name" data-label="Group Name *" /></div></div></div><div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value" id="div_Index"><label for="txt_DisplayIndex" id="lbl_PGIndex">Display index</label><div class=""><input type="number" min="0" onkeypress="return event.charCode != 45 && event.charCode!=101" id="Txt_DsplyIndex" class="form-control value-control floating-label-control" data-isdynamic="false" placeholder="Display Index" data-placeholder="Enter Display Index" data-label="Display Index" /></div></div></div></div></div><br /><br /></div>
  23. <div class="card"><div class="card-header">Permissions</div><div class="card-body"><div class="row"><div class="col-sm-12"><strong>Everyone can view?</strong><a href="javascript:;"><label class="switch pull-right"><input id="chkIsGroupViewable" type="checkbox" data-group="Viewable" checked><span class="slider round"></span></label></a></div></div><div class="row hidden mb-4" id="divGroupViewRoles"><div class="col-sm-12 m-b"><label>Roles that <strong>can</strong> view</label><input type="hidden" id="hfGroupViewRoles" /><select type="text" id="txtGroupViewRoles" style="width:100%" value="" multiple="multiple"></select></div></div><div class="row" id="divGroupExcludeViewRoles"><div class="col-sm-12 m-b"><label>Roles that <strong>can't</strong> view</label><input type="hidden" id="hfGroupExcludeViewRoles" /><select type="text" id="txtGroupExcludeViewRoles" style="width:100%" value="" multiple="multiple"></select></div></div></div></div>
  24. <div class="card" id="div_Choosedashboards"><div class="card-header">Choose Dashboards</div><div class="card-body"><div class="row"><div class="col-sm-12" style="overflow:auto"><!--<span style="font-size:20px"><i class="fa fa-file-text"></i>&nbsp;&nbsp;<b>Select dashboards</b></span>--><ul class="list-group" style="" id="UnGroupeddashboardItems"></ul></div></div></div></div></div>
  25. <div class="footer bg-white"><a href="javascript:;" id="btn_ClosedashboardGroup" class="pull-left btn btn-light btn-sm mr-auto">Close</a><a href="javascript:;" id="btn_SaveDashboardGroup" class="pull-right btn btn-primary btn-sm">Save</a></div></form>`;
  26. return html;
  27. }
  28. load(id, containerid, callback) {
  29. var instance = this;
  30. var selecteddashboards = [];
  31. var viewRoles = [];
  32. var ExcludeRoles = [];
  33. $('#chkIsGroupViewable').change(function () {
  34. if ($('#chkIsGroupViewable').prop('checked')) {
  35. viewRoles = [];
  36. $('#divGroupViewRoles').addClass('hidden');
  37. }
  38. else {
  39. viewRoles = [];
  40. $('#divGroupViewRoles').removeClass('hidden');
  41. }
  42. });
  43. var TotalGroups = $('li.RootGroup').length;
  44. $("#Txt_DsplyIndex").val(TotalGroups + 1);
  45. instance.loadUngroupedDashboards();
  46. let ViewRoleElementId = "txtGroupViewRoles";
  47. let ExcludeRoleElementId = "txtGroupExcludeViewRoles";
  48. let _Permission_ViewRoles = [];
  49. let _dashboardGroup_Excluderoles = [];
  50. let Ids = [];
  51. let ExludedIds = [];
  52. Unibase.Platform.Dashboards.Components.DashboardGroupPermissions.Instance().select2dashboardgroupDatabinding(_Permission_ViewRoles, _dashboardGroup_Excluderoles, Ids, ExludedIds, ViewRoleElementId, ExcludeRoleElementId);
  53. $('#txtGroupViewRoles').on("select2:select", function (e) {
  54. var result = e.params.data;
  55. if (Number(result.id) != 0) {
  56. var roleId = result.id;
  57. viewRoles.push(roleId);
  58. $(ExcludeRoles).each(function (i, value) {
  59. if (value == roleId) {
  60. var index = ExcludeRoles.indexOf(value);
  61. if (index > -1) {
  62. ExcludeRoles.splice(index, 1);
  63. }
  64. ExcludeRoles.splice(value, 1);
  65. $("#txtGroupExcludeViewRoles").val(ExcludeRoles).trigger('change');
  66. return false;
  67. }
  68. });
  69. }
  70. });
  71. $('#txtGroupViewRoles').on("select2:unselect", function (e) {
  72. var result = e.params.data;
  73. if (Number(result.id) != 0) {
  74. var roleId = result.id;
  75. viewRoles.pop(roleId);
  76. }
  77. });
  78. $('#txtGroupExcludeViewRoles').on("select2:select", function (e) {
  79. var result = e.params.data;
  80. if (Number(result.id) != 0) {
  81. var roleId = result.id;
  82. ExcludeRoles.push(roleId);
  83. $(viewRoles).each(function (i, value) {
  84. if (value == roleId) {
  85. var index = viewRoles.indexOf(value);
  86. if (index > -1) {
  87. viewRoles.splice(index, 1);
  88. }
  89. jQuery("#txtGroupViewRoles").val(viewRoles).trigger('change');
  90. return false;
  91. }
  92. });
  93. }
  94. });
  95. $('#txtGroupExcludeViewRoles').on("select2:unselect", function (e) {
  96. var result = e.params.data;
  97. if (Number(result.id) != 0) {
  98. var roleId = result.id;
  99. ExcludeRoles.pop(roleId);
  100. }
  101. });
  102. $("#btn_SaveDashboardGroup").click(function () {
  103. if ($("#Txt_GrpName").val() == "") {
  104. MessageHelper.Instance().showError('Group Name is required', 'Bizgaze_EditGroupErrorMessages');
  105. return false;
  106. }
  107. $("#UnGroupeddashboardItems li").each(function () {
  108. var cb = $(this).find(':checkbox');
  109. if (cb.prop("checked")) {
  110. var dashboardId = cb.parent('li').attr('id');
  111. selecteddashboards.push(Number(dashboardId));
  112. }
  113. });
  114. let reqObj = new Dashboards.Requests.DashboardGroup();
  115. reqObj.DashboardGroupName = String($("#Txt_GrpName").val());
  116. reqObj.DisplayIndex = Number($("#Txt_DsplyIndex").val());
  117. reqObj.ViewAll = Boolean($("#chkIsGroupViewable").is(":checked"));
  118. reqObj.ExcludeRoles = ExcludeRoles;
  119. reqObj.ViewRoles = viewRoles;
  120. reqObj.Dashboards = selecteddashboards;
  121. reqObj.InstalledAppId = 0;
  122. instance.dashboardManager.saveDashboardGroup(reqObj).then(function (response) {
  123. if (response.errors == null) {
  124. instance.navigationHelper.closePopUp();
  125. MessageHelper.Instance().showSuccess('Group Saved Successfully', '');
  126. Unibase.Platform.Dashboards.Components.ManageDashboard.Instance().loadDashboardGroups();
  127. }
  128. else
  129. MessageHelper.Instance().showError(response.errors[0], 'Bizgaze_EditGroupErrorMessages');
  130. });
  131. });
  132. $("#btn_ClosedashboardGroup").click(function () {
  133. instance.navigationHelper.closePopUp();
  134. });
  135. }
  136. loadUngroupedDashboards() {
  137. var instance = this;
  138. instance.dashboardManager.getUnGroupedDashboards().then(function (response) {
  139. var ungroupeddashboards = response.result;
  140. let html = "";
  141. if (ungroupeddashboards.length > 0) {
  142. $('#div_Choosedashboards').removeClass("hidden");
  143. for (var i = 0; i < ungroupeddashboards.length; i++) {
  144. html += '<li id="' + ungroupeddashboards[i].DashboardId + '" style="margin-top:3px;font-size:15px" class="list-group-item"><input type="checkbox" style="height:17px;width:17px"><span style="margin-left:5px">' + ungroupeddashboards[i].DashboardName + '</span></li>';
  145. }
  146. $('#UnGroupeddashboardItems').html(html);
  147. }
  148. else {
  149. $('#div_Choosedashboards').addClass("hidden");
  150. }
  151. });
  152. }
  153. static Instance() {
  154. return new DashboardGroup();
  155. }
  156. }
  157. Components.DashboardGroup = DashboardGroup;
  158. })(Components = Dashboards.Components || (Dashboards.Components = {}));
  159. })(Dashboards = Platform.Dashboards || (Platform.Dashboards = {}));
  160. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  161. })(Unibase || (Unibase = {}));