Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

portletpermission.js 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Portlets;
  6. (function (Portlets) {
  7. let Components;
  8. (function (Components) {
  9. class PortletPermission extends Platform.Core.BaseComponent {
  10. jsFiles() {
  11. return ['platform/portlets/managers/portletmanager.js', "platform/permission/managers/permissionmanager.js", 'platform/widgets/managers/widgetmanager.js', "platform/portlets/requests/portlet.js", 'platform/permission/managers/permissionmanager.js', "platform/widgets/requests/widgetrole.js", "platform/portlets/requests/portletrole.js", "platform/widgets/components/widgetpermission.js"];
  12. }
  13. cssFiles() {
  14. return [];
  15. }
  16. html(id, containerid) {
  17. let html = '<div id="divWidgetPermissions">' +
  18. ' <header class="header bg-light">' +
  19. ' <input type="hidden" id="hfApplyType" value="" />' +
  20. ' <strong><span class="permissionHeading"></span><span class="portletname"></span></strong>' +
  21. ' </header>' +
  22. ' <div class="scrollable">' +
  23. '<div class="wrapper">' +
  24. ' <div id="div_PortletMessage" class="clear m-b-sm">' +
  25. ' </div>' +
  26. '<div class="row">' +
  27. '<div class="col-sm-12">' +
  28. '<strong>Is Trackable ?</strong>' +
  29. '<label class="switch pull-right">' +
  30. '<input id="Ch_IsTrackable" data-group="Viewable" onchange="_bizgazePortlet_DashboardPortetPermission.Tracking();" type="checkbox">' +
  31. '<span></span>' +
  32. '</label>' +
  33. '</div>' +
  34. '</div>' +
  35. '<div class="row">' +
  36. '<div class="col-sm-12">' +
  37. '<strong>Everyone can view?</strong>' +
  38. ' <label class="switch pull-right">' +
  39. ' <input id="chkIsPortletViewable" data-group="Viewable" type="checkbox">' +
  40. ' <span></span>' +
  41. ' </label>' +
  42. ' </div>' +
  43. ' </div>' +
  44. ' <div class="row" id="divPortletViewRoles">' +
  45. ' <div class="col-sm-12 m-b">' +
  46. '<label>Roles that <strong>can</strong> view</label>' +
  47. ' <input type="hidden" id="hfPortletViewRoles" />' +
  48. ' <select multiple="multiple" style="width:100%" class="txtPortletViewRoles"></select>' +
  49. '</div>' +
  50. '</div>' +
  51. '<div class="row" id="divPortletexcludeViewRoles">' +
  52. '<div class="col-sm-12 m-b">' +
  53. `<label>Roles that <strong>can't</strong> view</label>` +
  54. '<input type="hidden" id="hfPortletExcludeViewRoles" />' +
  55. '<select multiple="multiple" id="txtPortletExcludeViewRoles" style="width:100%" class="txtPortletExcludeViewRoles"></select>' +
  56. '</div>' +
  57. '</div>' +
  58. '<br/><div class="row" id="divWPStages">' +
  59. '</div>' +
  60. ' </div>' +
  61. '</div>' +
  62. '<div class="footer bg-light">' +
  63. '<a href="javascript:;" id="btn_PortletPermissions_close" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().ClosePermissionModal()" class="btn btn-secondary btn-sm mr-auto">Close</a>' +
  64. '</div>' +
  65. '</div>';
  66. return html;
  67. }
  68. load(id, containerid, callback) {
  69. var instance = this;
  70. var activeportletid = 0;
  71. var appId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  72. let ActivePortletIndex = Unibase.Themes.Providers.Detail_Settings.Instance().ActivePortlets.findIndex(x => x.InstalledAppId == appId);
  73. if (ActivePortletIndex != -1) {
  74. activeportletid = Unibase.Themes.Providers.Detail_Settings.Instance().ActivePortlets[ActivePortletIndex].ActivePortletId;
  75. }
  76. else {
  77. activeportletid = Number($("#hf_PortletId").val());
  78. }
  79. $("#btn_PortletPermissions_close").click(function () {
  80. Unibase.Platform.Helpers.NavigationHelper.Instance().closePopUp();
  81. $('.btn_addportlt').removeClass('hidden');
  82. $('.btnEdit_portlet').removeClass('hidden');
  83. $('.manage_pPermissions').removeClass('hidden');
  84. $('.btn_dltportlet').removeClass('hidden');
  85. });
  86. $("#chkIsPortletViewable").change(function () {
  87. instance.setPortletViewable(activeportletid);
  88. });
  89. $("#Ch_IsTrackable").change(function () {
  90. instance.Tracking(activeportletid);
  91. });
  92. Unibase.Platform.Widgets.Components.WidgetPermission.Instance().showPermissions(activeportletid, 'portlet', 0);
  93. }
  94. Tracking(Portletid) {
  95. var instance = this;
  96. var isTrackble = $("#Ch_IsTrackable").prop('checked');
  97. this.fileCacheHelper.loadJsFile("platform/portlets/requests/portlet.js", function () {
  98. let reqObj = new Unibase.Platform.Portlets.Requests.Portlet();
  99. reqObj.PortletId = Portletid,
  100. reqObj.IsTrackable = isTrackble;
  101. Unibase.Platform.Portlets.Managers.PortletManager.Instance().updateTracking(reqObj).then(function (response) {
  102. if (response.status != Unibase.Data.Status.Error) {
  103. MessageHelper.Instance().showSuccess(response.message, 'div_PortletMessage');
  104. }
  105. else {
  106. MessageHelper.Instance().showError(response.message, 'div_PortletMessage');
  107. }
  108. });
  109. });
  110. }
  111. setPortletViewable(portletid) {
  112. var viewable = $("#chkIsPortletViewable").prop('checked');
  113. if (viewable)
  114. $('#divPortletViewRoles').hide();
  115. else
  116. $('#divPortletViewRoles').show();
  117. Unibase.Platform.Portlets.Managers.PortletManager.Instance().setViewable(portletid, viewable).then(function (response) {
  118. if (response.status != Unibase.Data.Status.Error) {
  119. MessageHelper.Instance().showSuccess(response.message, 'div_PortletMessage');
  120. }
  121. else {
  122. MessageHelper.Instance().showError(response.message, 'div_PortletMessage');
  123. }
  124. });
  125. }
  126. DataBind(Id) {
  127. Unibase.Platform.Portlets.Managers.PortletManager.Instance().getPortlet(Id).then(function (response) {
  128. if (response.result.IsMandatory == true) {
  129. $('#divPortletViewRoles').hide();
  130. }
  131. else {
  132. $('#divPortletViewRoles').show();
  133. }
  134. if (response.result.IsTrackable) {
  135. $("#Ch_IsTrackable").prop('checked', true);
  136. }
  137. if (response.result.ViewAllStages) {
  138. $('#tblWPStages').hide();
  139. }
  140. else {
  141. $('#tblWPStages').show();
  142. }
  143. $("#chkIsPortletViewable").prop('checked', response.result.IsMandatory);
  144. $("#chkAllStages").prop('checked', response.result.ViewAllStages);
  145. Unibase.Platform.Widgets.Components.WidgetPermission.Instance().loadViewRoles(response.result.IsMandatory);
  146. });
  147. }
  148. changeStagePortletPermissions(stageId, portletId, action) {
  149. var postData = {
  150. PortletId: portletId,
  151. Portlet_StageId: stageId,
  152. Status: action
  153. };
  154. Unibase.Platform.Portlets.Managers.PortletManager.Instance().savePortletStage(postData).then(function (response) {
  155. if (response.status != Unibase.Data.Status.Error) {
  156. MessageHelper.Instance().showSuccess(response.message, 'div_WidgetMessage');
  157. }
  158. else {
  159. MessageHelper.Instance().showError(response.message, 'div_WidgetMessage');
  160. }
  161. });
  162. }
  163. setViewToAllStages(portletid, viewable) {
  164. Unibase.Platform.Portlets.Managers.PortletManager.Instance().setViewToAllStages(portletid, viewable).then(function (response) {
  165. if (response.status == Unibase.Data.Status.Success) {
  166. if (response.result.ViewAllStages) {
  167. $('#tblWPStages').hide();
  168. }
  169. else {
  170. $('#tblWPStages').show();
  171. }
  172. MessageHelper.Instance().showSuccess(response.message, 'div_WidgetMessage');
  173. }
  174. else {
  175. MessageHelper.Instance().showError(response.message, 'div_WidgetMessage');
  176. }
  177. });
  178. }
  179. static Instance() {
  180. if (this._instance === undefined)
  181. this._instance = new PortletPermission();
  182. return this._instance;
  183. }
  184. }
  185. Components.PortletPermission = PortletPermission;
  186. })(Components = Portlets.Components || (Portlets.Components = {}));
  187. })(Portlets = Platform.Portlets || (Platform.Portlets = {}));
  188. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  189. })(Unibase || (Unibase = {}));