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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Widgets;
  6. (function (Widgets) {
  7. let Components;
  8. (function (Components) {
  9. class WidgetPermission extends Platform.Core.BaseComponent {
  10. constructor() {
  11. super();
  12. this.widgetpermissions_portletwidgetid = 0;
  13. this.widgetpermissions_portletid = 0;
  14. this.widgetpermissions_portletwidgetuniqkey = 0;
  15. }
  16. jsFiles() {
  17. 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/enums/widgettype.js"];
  18. }
  19. cssFiles() {
  20. return [];
  21. }
  22. html(id, containerid) {
  23. let html = '<div id="divWidgetPermissions">' +
  24. ' <header class="b-b bg-white header">' +
  25. ' <input type="hidden" id="hfApplyType" value="" />' +
  26. ' <strong><span class="permissionHeading"></span><span class="widgetname"></span></strong>' +
  27. ' </header>' +
  28. ' <div data-simplebar class="simple-scroll-bar scrollable">' +
  29. '<div class="wrapper">' +
  30. ' <div id="div_WidgetMessage" class="clear m-b-sm">' +
  31. ' </div>' +
  32. '<div class="card">' +
  33. '<div class="card-header">' +
  34. ' <strong>Everyone can view?</strong>' +
  35. ' <label class="switch pull-right">' +
  36. ' <input id="chkIsWidgetViewable" data-group="Viewable" type="checkbox">' +
  37. '<span></span>' +
  38. ' </label>' +
  39. ' </div>' +
  40. ' </div>' +
  41. ' <div class="card" id="divWidgetViewRoles">' +
  42. ' <div class="card-header">' +
  43. '<label>Roles that <strong>can</strong> view</label>' +
  44. ' <input type="hidden" id="hfWidgetViewRoles" />' +
  45. '</div>' +
  46. '<div class="card-body">' +
  47. ' <select multiple="multiple" style="width:100%" class="txtWidgetViewRoles"></select>' +
  48. '</div>' +
  49. '</div>' +
  50. '<div class="card" id="divWidgetexcludeViewRoles">' +
  51. '<div class="card-header">' +
  52. `<label>Roles that <strong>can't</strong> view</label>` +
  53. '<input type="hidden" id="hfWidgetExcludeViewRoles" />' +
  54. '</div>' +
  55. '<div class="card-body">' +
  56. '<select multiple="multiple" id="txtWidgetExcludeViewRoles" style="width:100%" class="txtWidgetExcludeViewRoles"></select>' +
  57. '</div>' +
  58. '</div>' +
  59. '<br/><div class="row" id="divWPStages">' +
  60. '</div>' +
  61. ' </div>' +
  62. '</div>' +
  63. '<div class="footer bg-white b-b">' +
  64. '<a href="javascript:;" id="btn_WidgetPermissions_close" class="btn btn-outline-danger mr-auto">Close</a>' +
  65. '</div>' +
  66. '</div>';
  67. return html;
  68. }
  69. load(id, containerid, callback) {
  70. $("#btn_WidgetPermissions_close").click(function () {
  71. Unibase.Platform.Helpers.NavigationHelper.Instance().closePopUp();
  72. $('.btn_addportlt').removeClass('hidden');
  73. $('.btnEdit_portlet').removeClass('hidden');
  74. $('.manage_pPermissions').removeClass('hidden');
  75. $('.btn_dltportlet').removeClass('hidden');
  76. $(".toplayout-structures-panel").css({ "z-index": "9999" });
  77. $(".biz-submenu").css({ "z-index": "9999" });
  78. $(".biz-layout-3-left-nav").css({ "z-index": "9999" });
  79. });
  80. $("#chkIsWidgetViewable").change(function () {
  81. Unibase.Platform.Widgets.Components.WidgetPermission.Instance().setViewable();
  82. });
  83. }
  84. init() {
  85. this.fileCacheHelper.loadJsFile('platform/portlets/managers/portletmanager.js', null);
  86. this.fileCacheHelper.loadJsFile("platform/permission/managers/permissionmanager.js", null);
  87. }
  88. setViewable() {
  89. var viewable = $("#chkIsWidgetViewable").prop('checked');
  90. if (viewable)
  91. $('#divWidgetViewRoles').hide();
  92. else
  93. $('#divWidgetViewRoles').show();
  94. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().setViewable(Unibase.Platform.Widgets.Components.WidgetPermission.Instance().widgetpermissions_portletwidgetid, viewable).then(function (response) {
  95. if (response.status != Unibase.Data.Status.Error) {
  96. MessageHelper.Instance().showSuccess(response.message, 'div_WidgetMessage');
  97. }
  98. else {
  99. MessageHelper.Instance().showError(response.message, 'div_WidgetMessage');
  100. }
  101. });
  102. }
  103. showPermissions(Id, type, unix_pwid) {
  104. var instance = Unibase.Platform.Widgets.Components.WidgetPermission.Instance();
  105. instance.widgetpermissions_AllRoles = [];
  106. instance.widgetpermissions_WidgetRoles = [];
  107. instance.Stagespermissions_ViewRoles = [];
  108. instance.widgetpermissions_ReportStages = [];
  109. instance.widgetpermissions_portletwidgetid = 0;
  110. instance.widgetpermissions_portletid = 0;
  111. instance.widgetpermissions_AddViewRoles = [];
  112. instance.Stagespermissions_ExcludeViewRoles = [];
  113. instance.widgetpermissions_portletwidgetuniqkey = 0;
  114. if (Id == 0) {
  115. instance.Stagespermissions_ViewRoles;
  116. }
  117. instance.widgetpermissions_WidgetRoles = [];
  118. instance.widgetpermissions_portletid = 0;
  119. instance.widgetpermissions_portletwidgetid = 0;
  120. var url = "";
  121. if (type == 'portlet') {
  122. $('.permissionHeading').text('Portlet Permissions');
  123. var portletname = $("#portletName_" + Id + "").text();
  124. $('.portletname').text("(" + portletname + ")");
  125. instance.widgetpermissions_portletid = Id;
  126. Unibase.Platform.Portlets.Managers.PortletManager.Instance().getPortletRoles(Id).then(function (response) {
  127. var selectedRoles = response.result;
  128. for (let i = 0; i < selectedRoles.length; i++) {
  129. var id = 0;
  130. id = selectedRoles[i].PortletRoleId;
  131. instance.widgetpermissions_WidgetRoles.push({ RoleWidgetId: id, RoleId: selectedRoles[i].RoleId, RoleName: selectedRoles[i].RoleName, IsExclude: selectedRoles[i].IsExclude });
  132. }
  133. instance.getRoleList(Id, type);
  134. instance.loadStagePermissions(Id, type);
  135. });
  136. }
  137. else {
  138. $('.permissionHeading').text('Widget Permissions');
  139. var widgetname = $("#hf_widgetName_" + Id + "").val();
  140. $('.widgetname').text("(" + widgetname + ")");
  141. if (Id == undefined) {
  142. Id = 0;
  143. instance.widgetpermissions_portletwidgetid = Id;
  144. instance.widgetpermissions_portletwidgetuniqkey = unix_pwid;
  145. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidgetRoles(Id).then(function (response) {
  146. var selectedRoles = response.result;
  147. for (let i = 0; i < selectedRoles.length; i++) {
  148. var id = 0;
  149. id = selectedRoles[i].WidgetRoleId;
  150. instance.widgetpermissions_WidgetRoles.push({ RoleWidgetId: id, RoleId: selectedRoles[i].RoleId, RoleName: selectedRoles[i].RoleName, IsExclude: selectedRoles[i].IsExclude });
  151. }
  152. instance.getRoleList(Id, type);
  153. instance.loadStagePermissions(Id, type);
  154. });
  155. }
  156. else {
  157. instance.widgetpermissions_portletwidgetid = Id;
  158. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getPortletWidget(Id).then(function (response) {
  159. if (response.result != null) {
  160. var appId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  161. if (response.result.WidgetTypeId != Unibase.Platform.Widgets.Enums.WidgetType.DashboardWidget && appId != 0) {
  162. instance.loadStagePermissions(Id, type);
  163. }
  164. }
  165. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidgetRoles(Id).then(function (response) {
  166. var selectedRoles = response.result;
  167. for (let i = 0; i < selectedRoles.length; i++) {
  168. var id = 0;
  169. id = selectedRoles[i].WidgetRoleId;
  170. instance.widgetpermissions_WidgetRoles.push({ RoleWidgetId: id, RoleId: selectedRoles[i].RoleId, RoleName: selectedRoles[i].RoleName, IsExclude: selectedRoles[i].IsExclude });
  171. }
  172. instance.getRoleList(Id, type);
  173. });
  174. });
  175. }
  176. }
  177. $('#hfApplyType').val(type);
  178. }
  179. getRoleList(Id, type) {
  180. var instance = this;
  181. instance.Stagespermissions_ViewRoles = [];
  182. if (instance.widgetpermissions_AllRoles.length == 0) {
  183. Unibase.Platform.Permissions.Managers.PermissionManager.Instance().getRoles("").then(function (response) {
  184. instance.widgetpermissions_AllRoles = response.result;
  185. instance.loadAssignedRoles(Id, type);
  186. });
  187. }
  188. else {
  189. instance.loadAssignedRoles(Id, type);
  190. }
  191. }
  192. loadStagePermissions(Id, type) {
  193. var instance = this;
  194. instance.widgetpermissions_ReportStages = [];
  195. if (type == 'portlet') {
  196. Unibase.Platform.Portlets.Managers.PortletManager.Instance().getPortletStagesbyId(Id).then(function (response) {
  197. var selectedStages = response.result;
  198. for (let i = 0; i < selectedStages.length; i++) {
  199. Unibase.Platform.Widgets.Components.WidgetPermission.Instance().widgetpermissions_ReportStages.push({ StagePortletId: selectedStages[i].PortletStageId, Portlet_StageId: selectedStages[i].Portlet_StageId, StatusId: selectedStages[i].StatusId });
  200. }
  201. instance.loadStageList(Id, type);
  202. });
  203. }
  204. else {
  205. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidgetStages(Id).then(function (response) {
  206. var selectedStages = response.result;
  207. for (let i = 0; i < selectedStages.length; i++) {
  208. instance.widgetpermissions_ReportStages.push({ StageWidgetId: selectedStages[i].WidgetStageId, Portlet_StageId: selectedStages[i].StageId, StatusId: selectedStages[i].StatusId });
  209. }
  210. instance.loadStageList(Id, type);
  211. });
  212. }
  213. }
  214. loadStageList(Id, type) {
  215. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  216. var headerHtml = "";
  217. var html = "";
  218. Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(InstalledAppId).then(function (response) {
  219. var assignedStages = Unibase.Platform.Widgets.Components.WidgetPermission.Instance().widgetpermissions_ReportStages;
  220. var result = response.result;
  221. if (response.result.length > 0) {
  222. headerHtml = '<div class="col-sm-12">' +
  223. '<strong>Every stage can view?</strong>' +
  224. ' <label class="switch pull-right">' +
  225. ' <input id="chkAllStages" data-group="Viewable" type="checkbox" onclick="Unibase.Platform.Widgets.Components.WidgetPermission.Instance().viewToAllStages(' + Id + ');">' +
  226. ' <span></span>' +
  227. ' </label>' +
  228. ' </div>' +
  229. '<table id="tblWPStages" class="tblWPStages table table-bordered><tr class="success"><th class="col-md-10 h4">Stage</th><th class=col-md-2 h4>Select</th></tr>';
  230. }
  231. for (var i = 0; i < result.length; i++) {
  232. var data = result[i];
  233. var checked = "";
  234. for (var j = 0; j < assignedStages.length; j++) {
  235. var assignedStage = assignedStages[j];
  236. if (assignedStage.Portlet_StageId == data.StageId && assignedStage.StatusId != 3) {
  237. checked = "checked";
  238. break;
  239. }
  240. }
  241. html += '<tr><td class="col-md-10">' + data.StageName + '</td><td class="col-md-2"><input type="checkbox" onchange="Unibase.Platform.Widgets.Components.WidgetPermission.Instance().StagePermissionAction(' + data.StageId + ',' + Id + ',\'' + type + '\');" class="chkStage_' + data.StageId + '" ' + checked + ' id="chk' + data.StageId + '" /></td></tr>';
  242. }
  243. $("#divWPStages").html(headerHtml + html + '</table>');
  244. });
  245. }
  246. viewToAllStages(portletwidgetid) {
  247. var widinstance = Unibase.Platform.Widgets.Components.WidgetPermission.Instance();
  248. var viewable;
  249. var type = $('#hfApplyType').val();
  250. if (type == "widget") {
  251. viewable = $("#chkAllStages").prop('checked');
  252. }
  253. else if (type = "portlet") {
  254. viewable = $("#chkAllStages").prop('checked');
  255. }
  256. if (type == "portlet") {
  257. Unibase.Platform.Portlets.Components.PortletPermission.Instance().setViewToAllStages(widinstance.widgetpermissions_portletid, viewable);
  258. }
  259. else {
  260. widinstance.setViewToAllStages(portletwidgetid, viewable);
  261. }
  262. }
  263. StagePermissionAction(stageId, Id, type) {
  264. var instance = this;
  265. var action = $('.chkStage_' + stageId).is(':checked');
  266. if (type == 'portlet')
  267. Unibase.Platform.Portlets.Components.PortletPermission.Instance().changeStagePortletPermissions(stageId, Id, action);
  268. else
  269. instance.changeStageWidgetPermissions(stageId, Id, action);
  270. }
  271. setViewToAllStages(portletwidgetid, viewable) {
  272. var widgets = Unibase.Themes.Compact.Components.Details.Instance().model.find(x => x.PortletWidgetId == portletwidgetid);
  273. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().setViewToAllStages(widgets.WidgetId, viewable).then(function (response) {
  274. if (response.status == Unibase.Data.Status.Success) {
  275. if (response.result.ViewAllStages) {
  276. $('#tblWPStages').hide();
  277. }
  278. else {
  279. $('#tblWPStages').show();
  280. }
  281. MessageHelper.Instance().showSuccess(response.message, 'div_WidgetMessage');
  282. }
  283. else {
  284. MessageHelper.Instance().showError(response.message, 'div_WidgetMessage');
  285. }
  286. });
  287. }
  288. changeStageWidgetPermissions(stageId, portletwidgetId, action) {
  289. if (portletwidgetId != 0) {
  290. var postData = {
  291. PortletWidgetId: portletwidgetId,
  292. Widget_StageId: stageId,
  293. Status: action
  294. };
  295. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().saveWidgetStage(postData).then(function (response) {
  296. MessageHelper.Instance().showSuccess(response.message, 'div_WidgetMessage');
  297. }, function (response) {
  298. MessageHelper.Instance().showError(response.Message, 'div_WidgetMessage');
  299. });
  300. }
  301. else {
  302. var widgetinst = Unibase.Platform.Widgets.Components.WidgetPermission.Instance().widgetpermissions_portletwidgetuniqkey;
  303. var oldstages = Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgets[widgetinst].Stages.StageIds;
  304. if (oldstages == undefined) {
  305. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgets[widgetinst].Stages = {
  306. PortletWidgetId: portletwidgetId,
  307. StageIds: stageId
  308. };
  309. }
  310. else {
  311. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgets[widgetinst].Stages = {
  312. PortletWidgetId: portletwidgetId,
  313. StageIds: oldstages + '|' + stageId
  314. };
  315. }
  316. }
  317. }
  318. loadAssignedRoles(Id, type) {
  319. var widinstance = Unibase.Platform.Widgets.Components.WidgetPermission.Instance();
  320. for (let i = 0; i < widinstance.widgetpermissions_AllRoles.length; i++) {
  321. var data = widinstance.widgetpermissions_AllRoles[i];
  322. var assignedRoles = widinstance.widgetpermissions_WidgetRoles;
  323. for (let j = 0; j < assignedRoles.length; j++) {
  324. var assignedRole = assignedRoles[j];
  325. if (assignedRole.RoleId == data.RoleId) {
  326. if (assignedRole.IsExclude == true) {
  327. widinstance.Stagespermissions_ExcludeViewRoles.push({ id: data.RoleId, text: data.RoleName });
  328. }
  329. else {
  330. widinstance.Stagespermissions_ViewRoles.push({ id: data.RoleId, text: data.RoleName });
  331. }
  332. }
  333. }
  334. }
  335. if (type == "portlet") {
  336. Unibase.Platform.Portlets.Components.PortletPermission.Instance().DataBind(Id);
  337. }
  338. else {
  339. widinstance.DataBind(Id);
  340. }
  341. }
  342. DataBind(Id) {
  343. var widinstance = Unibase.Platform.Widgets.Components.WidgetPermission.Instance();
  344. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getPortletWidget(Id).then(function (response) {
  345. if (response.result != null) {
  346. if (response.result.ViewAll == true) {
  347. $('#divWidgetViewRoles').hide();
  348. }
  349. else {
  350. $('#divWidgetViewRoles').show();
  351. }
  352. widinstance.loadViewRoles(response.result.ViewAll);
  353. if (response.result.ViewAllStages == true) {
  354. $('#tblWPStages').hide();
  355. }
  356. else {
  357. $('#tblWPStages').show();
  358. }
  359. $("#chkIsWidgetViewable").prop('checked', response.result.ViewAll);
  360. $("#chkAllStages").prop('checked', response.result.ViewAllStages);
  361. }
  362. else {
  363. widinstance.loadViewRoles(true);
  364. $("#chkIsWidgetViewable").prop('checked', true);
  365. }
  366. });
  367. }
  368. loadViewRoles(canView) {
  369. var Ids = [];
  370. var ExcludeIds = [];
  371. var widinstance = Unibase.Platform.Widgets.Components.WidgetPermission.Instance();
  372. for (var i = 0; i < widinstance.Stagespermissions_ViewRoles.length; i++) {
  373. Ids.push(widinstance.Stagespermissions_ViewRoles[i].id);
  374. }
  375. var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  376. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/roles/getroles/term/';
  377. $(".txtWidgetViewRoles,.txtPortletViewRoles").select2({
  378. multiple: true,
  379. allowClear: false,
  380. data: widinstance.Stagespermissions_ViewRoles,
  381. placeholder: 'Select Role',
  382. ajax: {
  383. url: function (request) {
  384. var reqUrl = url;
  385. var term = request.term;
  386. if (term == "")
  387. term = undefined;
  388. if (term == undefined)
  389. reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId;
  390. else
  391. reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId;
  392. return reqUrl;
  393. },
  394. beforeSend: function (xhr) {
  395. if (userinfo !== undefined && userinfo !== null) {
  396. xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
  397. xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
  398. }
  399. },
  400. delay: 250,
  401. dataType: 'json',
  402. processResults: function (data) {
  403. var selectData = [];
  404. var Data = JSON.parse(data.result);
  405. for (var i = 0; i < Data.length; i++) {
  406. selectData.push({
  407. id: Data[i].Value,
  408. text: Data[i].DisplayText
  409. });
  410. }
  411. ;
  412. return { results: selectData };
  413. }
  414. },
  415. templateResult: function (item) { return item.text; },
  416. templateSelection: function (item) { return item.text; },
  417. });
  418. jQuery(".txtWidgetViewRoles,.txtPortletViewRoles").val(Ids).trigger('change');
  419. $('.txtWidgetViewRoles,.txtPortletViewRoles').on("select2:select", function (e) {
  420. var result = e.params.data;
  421. if (Number(result.id) != 0) {
  422. var roleId = Number(result.id);
  423. widinstance.addViewRole(roleId, false);
  424. Ids.push(roleId);
  425. $(ExcludeIds).each(function (i, value) {
  426. if (value == roleId) {
  427. var index = ExcludeIds.indexOf(value);
  428. if (index > -1) {
  429. ExcludeIds.splice(index, 1);
  430. }
  431. ExcludeIds.splice(value, 1);
  432. jQuery(".txtWidgetExcludeViewRoles,.txtPortletExcludeViewRoles").val(ExcludeIds).trigger('change');
  433. return false;
  434. }
  435. });
  436. }
  437. });
  438. $('.txtWidgetViewRoles,.txtPortletViewRoles').on("select2:unselect", function (e) {
  439. var result = e.params.data;
  440. if (Number(result.id) != 0) {
  441. var roleId = Number(result.id);
  442. widinstance.removeViewRole(roleId, false);
  443. Ids.splice(ExcludeIds.indexOf(roleId), 1);
  444. }
  445. });
  446. for (var i = 0; i < widinstance.Stagespermissions_ExcludeViewRoles.length; i++) {
  447. ExcludeIds.push(widinstance.Stagespermissions_ExcludeViewRoles[i].id);
  448. }
  449. $(".txtWidgetExcludeViewRoles,.txtPortletExcludeViewRoles").select2({
  450. multiple: true,
  451. allowClear: false,
  452. data: widinstance.Stagespermissions_ExcludeViewRoles,
  453. placeholder: 'Select Role',
  454. ajax: {
  455. url: function (request) {
  456. var reqUrl = url;
  457. var term = request.term;
  458. if (term == "")
  459. term = undefined;
  460. if (term == undefined)
  461. reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId;
  462. else
  463. reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId;
  464. return reqUrl;
  465. },
  466. delay: 250,
  467. beforeSend: function (xhr) {
  468. if (userinfo !== undefined && userinfo !== null) {
  469. xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
  470. xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
  471. }
  472. },
  473. dataType: 'json',
  474. processResults: function (data) {
  475. var selectData = [];
  476. var Data = JSON.parse(data.result);
  477. for (var i = 0; i < Data.length; i++) {
  478. selectData.push({
  479. id: Data[i].Value,
  480. text: Data[i].DisplayText
  481. });
  482. }
  483. ;
  484. return { results: selectData };
  485. }
  486. },
  487. templateResult: function (item) { return item.text; },
  488. templateSelection: function (item) { return item.text; },
  489. });
  490. jQuery(".txtWidgetExcludeViewRoles,.txtPortletExcludeViewRoles").val(ExcludeIds).trigger('change');
  491. $('.txtWidgetExcludeViewRoles,.txtPortletExcludeViewRoles').on("select2:select", function (e) {
  492. var result = e.params.data;
  493. if (Number(result.id) != 0) {
  494. var roleId = Number(result.id);
  495. widinstance.addViewRole(roleId, true);
  496. ExcludeIds.push(roleId);
  497. $(Ids).each(function (i, value) {
  498. if (value == roleId) {
  499. var index = Ids.indexOf(value);
  500. if (index > -1) {
  501. Ids.splice(index, 1);
  502. }
  503. jQuery(".txtWidgetViewRoles,.txtPortletViewRoles").val(Ids).trigger('change');
  504. return false;
  505. }
  506. });
  507. }
  508. });
  509. $('.txtWidgetExcludeViewRoles,.txtPortletExcludeViewRoles').on("select2:unselect", function (e) {
  510. var result = e.params.data;
  511. if (Number(result.id) != 0) {
  512. var roleId = Number(result.id);
  513. widinstance.removeViewRole(roleId, true);
  514. ExcludeIds.splice(ExcludeIds.indexOf(roleId), 1);
  515. }
  516. });
  517. }
  518. removeViewRole(roleId, IsExclude) {
  519. var instance = this;
  520. var id = 0;
  521. if (instance.widgetpermissions_portletwidgetid != 0) {
  522. id = instance.widgetpermissions_portletwidgetid;
  523. let reqObj = new Unibase.Platform.Widgets.Requests.WidgetRole();
  524. reqObj.PortletWidgetId = id;
  525. reqObj.RoleId = roleId,
  526. reqObj.IsExclude = IsExclude;
  527. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().removeViewRole(reqObj.PortletWidgetId, reqObj.RoleId, IsExclude).then(function (response) {
  528. MessageHelper.Instance().showSuccess(response.message, 'div_WidgetMessage');
  529. });
  530. }
  531. else if (instance.widgetpermissions_portletid != 0) {
  532. id = instance.widgetpermissions_portletid;
  533. let reqObj = new Unibase.Platform.Portlets.Requests.PortletRole();
  534. reqObj.PortletId = id;
  535. reqObj.RoleId = roleId,
  536. reqObj.IsExclude = IsExclude;
  537. Unibase.Platform.Portlets.Managers.PortletManager.Instance().removeViewRole(reqObj.PortletId, reqObj.RoleId, IsExclude).then(function (response) {
  538. MessageHelper.Instance().showSuccess(response.message, 'div_WidgetMessage');
  539. });
  540. }
  541. }
  542. addViewRole(roleId, IsExclude) {
  543. var instance = this;
  544. var id = 0;
  545. var postData = null;
  546. if (instance.widgetpermissions_portletid == 0) {
  547. id = Unibase.Platform.Widgets.Components.WidgetPermission.Instance().widgetpermissions_portletwidgetid;
  548. if (id != 0) {
  549. let reqObj = new Unibase.Platform.Widgets.Requests.WidgetRole();
  550. reqObj.PortletWidgetId = id;
  551. reqObj.RoleId = roleId,
  552. reqObj.IsExclude = IsExclude;
  553. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().saveWidgetRole(reqObj).then(function (response) {
  554. MessageHelper.Instance().showSuccess(response.message, 'div_WidgetMessage');
  555. });
  556. }
  557. else {
  558. var widgetinst = instance.widgetpermissions_portletwidgetuniqkey;
  559. var oldroles = Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgets[widgetinst].Roles.RoleIds;
  560. if (oldroles == undefined) {
  561. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgets[widgetinst].Roles = {
  562. PortletWidgetId: id,
  563. RoleId: roleId,
  564. IsExclude: IsExclude
  565. };
  566. }
  567. else {
  568. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgets[widgetinst].Roles = {
  569. PortletWidgetId: id,
  570. RoleIds: oldroles + '|' + roleId,
  571. IsExclude: IsExclude
  572. };
  573. }
  574. }
  575. }
  576. else {
  577. id = Number(instance.widgetpermissions_portletid);
  578. let reqObj = new Unibase.Platform.Portlets.Requests.PortletRole();
  579. reqObj.PortletId = id;
  580. reqObj.RoleId = roleId,
  581. reqObj.IsExclude = IsExclude;
  582. Unibase.Platform.Portlets.Managers.PortletManager.Instance().addViewRole(reqObj).then(function (response) {
  583. MessageHelper.Instance().showSuccess(response.message, 'div_WidgetMessage');
  584. });
  585. }
  586. }
  587. static Instance() {
  588. if (this._instance === undefined)
  589. this._instance = new WidgetPermission();
  590. return this._instance;
  591. }
  592. }
  593. Components.WidgetPermission = WidgetPermission;
  594. })(Components = Widgets.Components || (Widgets.Components = {}));
  595. })(Widgets = Platform.Widgets || (Platform.Widgets = {}));
  596. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  597. })(Unibase || (Unibase = {}));