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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Unibase;
  11. (function (Unibase) {
  12. let Platform;
  13. (function (Platform) {
  14. let Automation;
  15. (function (Automation) {
  16. let Components;
  17. (function (Components) {
  18. class Notifications extends Platform.Core.BaseComponent {
  19. constructor() {
  20. super(...arguments);
  21. this.InstalledAppId = 0;
  22. this.RuleId = 0;
  23. this.RuleActions = [];
  24. }
  25. cssFiles() {
  26. return [
  27. "libs/jquery-ui-slider-pips/jquery-ui-slider-pips.css",
  28. "libs/jquery-ui-slider-pips/Custom-slider-ui-pips.css",
  29. ];
  30. }
  31. jsFiles() {
  32. return [
  33. "libs/jquery-ui-slider-pips/jquery-ui-slider-pips.js",
  34. "/platform/automation/managers/rulemanager.js", "/platform/automation/enums/executeactionstatus.js", "/platform/automation/components/actions/actions.notification.js", "/platform/automation/components/notifications.contactselection.js", "/platform/automation/components/externalrecipients.js", "/platform/automation/requests/ruleaction.js", "/platform/automation/components/conditions.js", "platform/automation/managers/notificationgroupmanager.js"
  35. ];
  36. }
  37. html(id, containerid) {
  38. var instance = this;
  39. instance.InstalledAppId = instance.appSettings.InstalledAppId;
  40. let html = `<header class="bg-white shadow-bottom modal-header px-2" id="notificationRuleHeader">
  41. <div class="text-dark text-left py-2 font-weight-600"><span class="portletName font-16">Notifications</span>
  42. </div>
  43. </header>
  44. <section data-simplebar class="simple-scroll-bar scrollable">
  45. <div class="clear" id="message">
  46. </div>
  47. <div class="tab-content row mt-n mt-0" id="tabs">
  48. <div class="tab-pane w-100 active" id="rules">
  49. <div id="div_rules" class="card">
  50. <input type="hidden" id="hf_NotificationGroupId" value="" />
  51. <div class="card-body py-1 px-4">
  52. <div class="ruleslist-div text-body">
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. </section>
  60. <footer class="bg-white footer ft_notifications">
  61. <a href="javascript:;" id="btn_notificationsClose_` + containerid +
  62. `" class="btn btn-light btn-sm mr-auto btn-close">Close</a>
  63. </footer>`;
  64. return html;
  65. }
  66. load(id, containerid, callback) {
  67. var instance = this;
  68. instance.loadNotificationRules();
  69. }
  70. init() {
  71. var instance = this;
  72. this.navigationHelper.popup(0, "", instance, null, Platform.Helpers.Size.Large);
  73. }
  74. loadNotificationRules() {
  75. var instance = this;
  76. Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().GetNotificationGroups().then(function (response) {
  77. var data = response;
  78. var html = "<center class='mt-3 ml-5 mb-3' style='font-size:20px'>No Data</center>";
  79. var data = response;
  80. if (data.length > 0) {
  81. Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleActionsByInstalledApp(instance.InstalledAppId).then(function (responsedata) {
  82. Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions = responsedata;
  83. });
  84. html = "";
  85. data = data.sort((a, b) => a.Index - b.Index);
  86. for (var i = 0; i < data.length; i++) {
  87. var NotificationGroupId = data[i].NotificationGroupId;
  88. var NotificationGroupName = data[i].NotificationGroupName;
  89. html += "<section class='no-border Role-panel clearfix notificationgroupid-" + NotificationGroupId + "' >" +
  90. "<header class='panel-heading border-dark ruleHeader'>" +
  91. "<div class='d-flex align-items-center w-100 border-bottom'><a class='list-group w-100' href='javascript:;' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().loadRuleActions(" + NotificationGroupId + ")' class='panel-toggle text-muted sliderdiv2'><div class='d-flex align-items-center justify-content-between my-10 biz-highlight-bg-color'><span class='list-item-main-title'>" + NotificationGroupName + "</span>" + "<span><i class='fa fa-chevron-up d-none pull-right biz-highlight-bg-color' id='up_notificationgroupid_" + NotificationGroupId + "'></i><i class='fa fa-chevron-down pull-right' id='down_notificationgroupid_" + NotificationGroupId + "'></i></span></div></a></div></header>" + "<div id='panelId-" + NotificationGroupId + "' class='bg-white collapse'></div>" + "<div class='sliderdiv mr-10'>" + "</div>" + "</section>";
  92. }
  93. }
  94. $(".ruleslist-div").append(html);
  95. });
  96. }
  97. loadRuleActions(NotificationGroupId) {
  98. var collapsed = $("#panelId-" + NotificationGroupId).hasClass("collapse");
  99. if (!collapsed) {
  100. $("#panelId-" + NotificationGroupId).addClass("collapse");
  101. $(".notificationgroupid-" + NotificationGroupId).find("#down_notificationgroupid_" + NotificationGroupId).removeClass("d-none");
  102. $(".notificationgroupid-" + NotificationGroupId).find("#up_notificationgroupid_" + NotificationGroupId).addClass("d-none");
  103. }
  104. else {
  105. $(".notificationgroupid-" + NotificationGroupId).find("#up_notificationgroupid_" + NotificationGroupId).removeClass("d-none");
  106. $(".notificationgroupid-" + NotificationGroupId).find("#down_notificationgroupid_" + NotificationGroupId).addClass("d-none");
  107. $("#panelId-" + NotificationGroupId).removeClass("collapse");
  108. $(".notificationgroupid-" + NotificationGroupId).find(".sliderDetails").remove();
  109. }
  110. var html = "<center class='mt-3 ml-5 mb-3' style='font-size:15px'>No Data</center>";
  111. var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.filter(x => x.NotificationGroupId == NotificationGroupId);
  112. if (data.length > 0) {
  113. html = "";
  114. for (var i = 0; i < data.length; i++) {
  115. var ruleName = data[i].RuleActionName;
  116. var actionType = data[i].ActionName;
  117. var ruleactionid = data[i].RuleActionId;
  118. var executestatus = data[i].ExecuteStatusId;
  119. var Bodyonclick = "onclick='Unibase.Platform.Automation.Components.Notifications.Instance().editMessageBody(" + ruleactionid + ")'";
  120. var Recipientonclick = "onclick='Unibase.Platform.Automation.Components.Notifications.Instance().EditRuleActions(" + ruleactionid + ")'";
  121. var styleclass = "";
  122. var isChecked;
  123. if (executestatus == 2) {
  124. isChecked = "checked";
  125. }
  126. else {
  127. isChecked = "";
  128. }
  129. if (actionType == "Stage Change" || actionType == "Api Integrator" || actionType == "Execute Query") {
  130. Bodyonclick = "", Recipientonclick = "";
  131. styleclass = "text-light";
  132. }
  133. html += "<div class='d-flex align-items-center text-dark mt-2 font-14 ruleaction-Row border-bottom' id='ruleaction_" + ruleactionid + "'><div class=' d-flex flex-row align-items-center " + ruleactionid + " w-60 w-sm-80 p-0'><span class='ruleactionid -" + ruleactionid + " font-24 mx-2' data-actionType='" + actionType + "' data-tooltip='true' title='" + actionType + "'>";
  134. if (actionType.toLowerCase().includes('email')) {
  135. html += '<i class="la la-envelope"></i>';
  136. }
  137. else if (actionType.toLowerCase().includes('task')) {
  138. html += '<i class="la la-tasks"></i>';
  139. }
  140. else if (actionType.toLowerCase().includes('change')) {
  141. html += '<i class="la la-sync"></i>';
  142. }
  143. else if (actionType.toLowerCase().includes('send')) {
  144. html += '<i class="la la-share"></i>';
  145. }
  146. html += "</span><span>" + ruleName + "</span></div><div class='w-40 w-sm-20 d-flex justify-content-between'><div class='" + ruleactionid + " '><a class='nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1' " + Bodyonclick + " href='javascript:;' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false' data-tooltip='true' title='Edit Message'><span class='btn-icon-wrap'><i class='la la-pencil font-20 ellipsis-hover-1 " + styleclass + "'></i></span></a></div><div class='" + ruleactionid + "'><a class='nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1' " + Recipientonclick + " href='javascript:;' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false' data-tooltip='true' title='Edit Rule Action'><span class='btn-icon-wrap'><i class='la la-user font-20 ellipsis-hover-1 " + styleclass + "'></i></span></a></div><div class='" + ruleactionid + "' > <label class='switch mb-0' > <input id='chk_" + ruleactionid + "' type = 'checkbox' " + isChecked + " onChange = 'Unibase.Platform.Automation.Components.Notifications.Instance().ChangeRuleActionStatus(" + ruleactionid + ")' / > <span class='slider round' > </span></label > </div></div > </div><div class='edit_ruleactions' id='edit_ruleactions_" + ruleactionid + "'></div > ";
  147. }
  148. }
  149. $("#panelId-" + NotificationGroupId).html(html);
  150. }
  151. closeRuleActions(ruleactionid, response, Textdiv) {
  152. if (!Textdiv) {
  153. $("#SelectRoleDiv_" + ruleactionid).remove();
  154. }
  155. else {
  156. $("#MessageDiv_" + ruleactionid).remove();
  157. }
  158. let index = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.findIndex(x => x.RuleActionId == ruleactionid);
  159. Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions[index] = response;
  160. }
  161. closeActions(RuleActionId, textdiv) {
  162. $('#ruleaction_' + RuleActionId).addClass('border-bottom');
  163. ;
  164. if (textdiv) {
  165. $("#MessageDiv_" + RuleActionId).addClass('d-none');
  166. }
  167. else {
  168. $("#SelectRoleDiv_" + RuleActionId).addClass('d-none');
  169. }
  170. }
  171. editMessageBody(RuleActionId) {
  172. var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.find(x => x.RuleActionId == RuleActionId);
  173. $("#ruleaction_" + RuleActionId).removeClass("border-bottom");
  174. var html = "<div class='bg-white border shadow card mt-2 text-dark w-100' id='MessageDiv_" + RuleActionId + "'><div class='card-body border-bottom p-2'><div class='MessageSelection_" + RuleActionId + " w-100'></div><div class='card-body border-0 p-0'><div class=''><div class=''><div id='div_Subject' class='floating-label-form-group'><span for='lbl_MessageSubject' id ='lbl_MessageSubject' class='ml-1'> Subject <span class='text-danger'> * </span></span><div class='input-group'><input type='text' id='txtNotifications_MessageSubject_" + RuleActionId + "' class='col-sm-9 form-control value-control required floating-label-control mr-20' data-placeholder='Enter Subject' placeholder='Subject *' data-label='Subject *' ><select id='ddl_SubjectTokens_" + RuleActionId + "' class='col-sm-3 form-control value-control'><option value='0'> Select Token </option></select></div></div></div></div><div class='mt-3 mb-2'><div class='w-100'><div id='div_Body' class='floating-label-form-group'><label for= 'lbl_MessageBody' id='lbl_MessageBody' class='ml-1'> Body <span class='text-danger'> * </span></label><div class='textarea input-group align-items-end'><textarea id='txtNotifications_MessageBody_" + RuleActionId + "' class='form-control value-control required floating-label-control w-50 notifi-autoSize h-100p mr-20' placeholder='Body * ' data-placeholder='Notification Body' data-label='Body *'></textarea><select id='ddl_BodyTokens_" + RuleActionId + "' class='col-sm-3 form-control value-control'><option value='0'> Select Token </option></select></div></div></div></div></div></div><div class='bg-white card-footer px-2 border-0 footer' id='CreateNotificationFooter'><a href = 'javascript:;' id='btnCloseNotification' class='btn btn-light btn-sm mr-auto' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().closeActions(" + RuleActionId + ",true)'>Close</a> <a href = 'javascript:;' id='btnSaveNotification' class='btn btn-primary btn-sm' onclick = 'Unibase.Platform.Automation.Components.Notifications.Instance().SaveNotificationAction(" + RuleActionId + ",true)'> Save </a></div></div>";
  175. $("#edit_ruleactions_" + RuleActionId).html(html);
  176. var RuleProviderId = data.RuleProviderId;
  177. $('#txtNotifications_MessageSubject_' + RuleActionId).val(data.BString1);
  178. $("#txtNotifications_MessageBody_" + RuleActionId).val(data.BString2);
  179. $("#ddl_SubjectTokens_" + RuleActionId).change(function () {
  180. var textAreaTxt = $("#txtNotifications_MessageSubject_" + RuleActionId).val().toString();
  181. var txtToAdd = '{{' + $("#ddl_SubjectTokens_" + RuleActionId + " option:selected").text() + '}}';
  182. var firsttext = textAreaTxt.slice(0, Notifications.Instance().tokenposition);
  183. var lasttext = textAreaTxt.slice(Notifications.Instance().tokenposition, textAreaTxt.length);
  184. $("#txtNotifications_MessageSubject_" + RuleActionId).val(firsttext + txtToAdd + lasttext);
  185. $("#ddl_SubjectTokens_" + RuleActionId).val(0);
  186. });
  187. $("#ddl_BodyTokens_" + RuleActionId).change(function (event) {
  188. var textAreaTxt = $("#txtNotifications_MessageBody_" + RuleActionId).val().toString();
  189. var txtToAdd = '{{' + $("#ddl_BodyTokens_" + RuleActionId + " option:selected").text() + '}}';
  190. var firsttext = textAreaTxt.slice(0, Notifications.Instance().tokenposition);
  191. var lasttext = textAreaTxt.slice(Notifications.Instance().tokenposition, textAreaTxt.length);
  192. $("#txtNotifications_MessageBody_" + RuleActionId).val(firsttext + txtToAdd + lasttext);
  193. $("#ddl_BodyTokens_" + RuleActionId).val(0);
  194. });
  195. $("#txtNotifications_MessageBody_" + RuleActionId).focusout(function (event) {
  196. Notifications.Instance().tokenposition = event["target"]["selectionStart"];
  197. });
  198. $("#txtNotifications_MessageSubject_" + RuleActionId).focusout(function (event) {
  199. Notifications.Instance().tokenposition = event["target"]["selectionStart"];
  200. });
  201. if (RuleActionId != 0 && RuleProviderId != 0) {
  202. Unibase.Platform.Automation.Components.Notifications.Instance().LoadMsgSubjectTokens(RuleProviderId, RuleActionId);
  203. Unibase.Platform.Automation.Components.Notifications.Instance().LoadMsgBodyTokens(RuleProviderId, RuleActionId);
  204. }
  205. }
  206. LoadMsgSubjectTokens(ruleproviderid, ruleactionid) {
  207. Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
  208. let cmbConditionProperties = document.getElementById('ddl_SubjectTokens_' + ruleactionid);
  209. $('#ddl_SubjectTokens_' + ruleactionid).empty();
  210. var defaultOpt1 = document.createElement("option");
  211. defaultOpt1.text = "Select Token";
  212. defaultOpt1.value = "0";
  213. cmbConditionProperties.appendChild(defaultOpt1);
  214. for (let i = 0; i <= response.length - 1; i++) {
  215. var opt = document.createElement("option");
  216. opt.text = response[i];
  217. opt.value = (i + 1).toString();
  218. cmbConditionProperties.appendChild(opt);
  219. }
  220. });
  221. }
  222. LoadExternalreports(ruleactionid) {
  223. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
  224. AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ReportsExternal_" + ruleactionid, "#hf_Autocomplete_ReportsExternal", url, function (response) {
  225. var data = response;
  226. });
  227. }
  228. LoadMsgBodyTokens(ruleproviderid, ruleactionid) {
  229. Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
  230. let cmbConditionProperties = document.getElementById('ddl_BodyTokens_' + ruleactionid);
  231. $('#ddl_BodyTokens_' + ruleactionid).empty();
  232. var defaultOpt1 = document.createElement("option");
  233. defaultOpt1.text = "Select Token";
  234. defaultOpt1.value = "0";
  235. cmbConditionProperties.appendChild(defaultOpt1);
  236. for (let i = 0; i <= response.length - 1; i++) {
  237. var opt = document.createElement("option");
  238. opt.text = response[i];
  239. opt.value = (i + 1).toString();
  240. cmbConditionProperties.appendChild(opt);
  241. }
  242. });
  243. }
  244. EditRuleActions(RuleActionId) {
  245. return __awaiter(this, void 0, void 0, function* () {
  246. var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.find(x => x.RuleActionId == RuleActionId);
  247. var additionalhtml = '';
  248. if (data.actiontype == "Send Sms" || data.actiontype == "Send Email") {
  249. additionalhtml = Unibase.Platform.Automation.Components.Notifications.Instance().AdditionalHtml(RuleActionId);
  250. }
  251. $('#ruleaction_' + RuleActionId).removeClass('border-bottom');
  252. var html = "<div class='bg-white border shadow card mt-2 p-2 text-dark w-100' id='SelectRoleDiv_" + RuleActionId + "'><div class='card-header border-bottom py-2 px-0 mb-1'> Send To Contacts</div> <div class='card-body border-bottom p-0'><div class='ContactSelection_" + RuleActionId + " w-100 px-0'></div>" + additionalhtml + "</div><div class='bg-white border-0 card-footer footer px-0 pb-1' id='CreateNotificationFooter'><a href = 'javascript:;' id = 'btnCloseNotification' class='btn btn-light btn-sm mr-auto' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().closeActions(" + RuleActionId + ",false)'>Close</a><a href = 'javascript:;' id = 'btnSaveNotification' class='btn btn-primary btn-sm' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().SaveNotificationAction(" + RuleActionId + ",false)'> Save </a></div></div>";
  253. $("#edit_ruleactions_" + RuleActionId).html(html);
  254. var RuleProviderId = data.RuleProviderId;
  255. Unibase.Platform.Automation.Components.Notifications.Instance().BindData(RuleActionId).then(function () {
  256. Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().loadRecipients(RuleActionId).then(function () {
  257. Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().LoadContactColumns(RuleProviderId, RuleActionId).then(function () {
  258. Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().BindRecipients(RuleActionId);
  259. Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().CheckContactColumns(data.Users, RuleActionId);
  260. Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().CheckSecondaryContactColumns(data.SecondaryUsers, RuleActionId);
  261. });
  262. Unibase.Platform.Automation.Components.Notifications.Instance().LoadExternalreports(RuleActionId);
  263. });
  264. });
  265. });
  266. }
  267. AdditionalHtml(ruleactionid) {
  268. var html = "";
  269. return html;
  270. }
  271. BindData(ruleactionid) {
  272. return __awaiter(this, void 0, void 0, function* () {
  273. return $(".ContactSelection_" + ruleactionid).html(yield Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().html(ruleactionid));
  274. });
  275. }
  276. SaveNotificationAction(RuleActionId, istext) {
  277. var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.find(x => x.RuleActionId == RuleActionId);
  278. let model = new Unibase.Platform.Automation.Requests.RuleAction();
  279. model.RuleActionId = data.RuleActionId;
  280. model.RuleActionName = data.RuleActionName;
  281. model.BString4 = data.BString4;
  282. model.BString1 = data.BString1;
  283. model.BString2 = data.BString2;
  284. model.BString3 = data.BString3;
  285. model.BString6 = data.BString6;
  286. model.BString7 = data.BString7;
  287. model.BString5 = data.BString5;
  288. model.ExternalReportId = data.ExternalReportId;
  289. model.ExternalReportColumnId = data.ExternalReportColumnId;
  290. model.ProviderColumnId = data.ProviderColumnId;
  291. model.ActionId = data.ActionId;
  292. model.RuleId = data.RuleId;
  293. model.Users = data.Users;
  294. model.SecondaryUsers = data.SecondaryUsers;
  295. model.String2 = data.String2;
  296. model.String6 = data.String6;
  297. model.String7 = data.String7;
  298. model.IsParent = data.IsParent;
  299. model.ResultActionId = data.ResultActionId;
  300. model.DelayTime = data.DelayTime;
  301. model.ParentActionId = data.ParentActionId;
  302. model.AutoApproved = $('#chk_' + RuleActionId).is(':checked');
  303. model.RecipientsData = data.RecipientsData;
  304. model.RowIndex = data.RowIndex;
  305. model.EventGroupId = data.EventGroupId;
  306. model.RuleEventId = data.RuleEventId;
  307. model.NotificationGroupId = data.NotificationGroupId;
  308. model.ExternalReportId = data.ExternalReportId;
  309. model.ExternalRecipients = data.ExternalRecipients;
  310. if (istext) {
  311. model.BString1 = $('#txtNotifications_MessageSubject_' + RuleActionId).val().toString();
  312. model.BString2 = $('#txtNotifications_MessageBody_' + RuleActionId).val().toString();
  313. data.BString1 = $('#txtNotifications_MessageSubject_' + RuleActionId).val().toString();
  314. data.BString2 = $('#txtNotifications_MessageBody_' + RuleActionId).val().toString();
  315. }
  316. else {
  317. let recipients = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().GetRecipients(RuleActionId);
  318. let contactcolumns = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().getContactColumns(RuleActionId);
  319. let secondarycontactcolumns = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().getSecondaryContactColumns(RuleActionId);
  320. model.RecipientsData = recipients;
  321. model.Users = contactcolumns;
  322. model.SecondaryUsers = secondarycontactcolumns;
  323. data.RecipientsData = recipients;
  324. data.Users = contactcolumns;
  325. data.SecondaryUsers = secondarycontactcolumns;
  326. }
  327. Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
  328. if (response.status == Unibase.Data.Status.Error) {
  329. MessageHelper.Instance().showError(response.message, "Validate_NotificationAction");
  330. }
  331. else {
  332. MessageHelper.Instance().showSuccess(response.message, "Validate_NotificationAction");
  333. Unibase.Platform.Automation.Components.Notifications.Instance().closeRuleActions(model.RuleActionId, data, istext);
  334. }
  335. });
  336. }
  337. ChangeRuleActionStatus(RuleActionId) {
  338. var status = Unibase.Platform.Automation.Enums.ExecuteActionStatus.Draft;
  339. if ($('#chk_' + RuleActionId).is(":checked")) {
  340. status = Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved;
  341. }
  342. Unibase.Platform.Automation.Managers.RuleManager.Instance().UpdateRuleActionStatus(RuleActionId, status).then(function (response) {
  343. if (response.status == Unibase.Data.Status.Success) {
  344. MessageHelper.Instance().showSuccess(response.message, " ");
  345. }
  346. });
  347. }
  348. static Instance() {
  349. if (this.instance == undefined) {
  350. this.instance = new Notifications();
  351. }
  352. return this.instance;
  353. }
  354. }
  355. Components.Notifications = Notifications;
  356. })(Components = Automation.Components || (Automation.Components = {}));
  357. })(Automation = Platform.Automation || (Platform.Automation = {}));
  358. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  359. })(Unibase || (Unibase = {}));