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.

contactselection.js 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  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 ContactSelection {
  19. constructor() {
  20. this.RecipientProviders = [];
  21. }
  22. init(rpid) {
  23. Unibase.Platform.Automation.Components.ContactSelection.Instance().loadRecipients();
  24. Unibase.Platform.Automation.Components.ContactSelection.Instance().LoadContactColumns(rpid);
  25. return Unibase.Platform.Automation.Components.ContactSelection.Instance().html();
  26. }
  27. loadRecipients() {
  28. return __awaiter(this, void 0, void 0, function* () {
  29. return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRecipientProviders().then(function (response) {
  30. Unibase.Platform.Automation.Components.ContactSelection.Instance().RecipientProviders = response;
  31. for (var i = 0; i <= response.length - 1; i++) {
  32. let html = '';
  33. html += '<div class="col-sm-6 recipient"><div id="div_' + response[i].RecipientName + '" class="floating-label-form-group-with-value floating-validate" style="border-bottom:0;"><label for= "lbl" id = "lbl_' + response[i].RecipientName + '" >' + response[i].DisplayName + '</label ><label class="hidden propname">' + response[i].ColumnName + '</label><label class="hidden recipientname">' + response[i].RecipientName + '</label>' +
  34. '<input type="hidden" id="hdnselect2_' + response[i].RecipientName + '" class="value-control" value="0">' +
  35. '<select id="select2_' + response[i].RecipientName + '" class="type-control select2_' + response[i].RecipientName + ' form-control text-control" multiple="multiple" style="width:100%;"></select>' +
  36. '</div></div>';
  37. $(".recipients").append(html);
  38. let selectid = "select2_" + response[i].RecipientName + "";
  39. let selectlable = response[i].DisplayName;
  40. let recipientProviderid = response[i].RecipientProviderId;
  41. Unibase.Platform.Automation.Components.ContactSelection.Instance().RecipientsData(selectid, selectlable, recipientProviderid);
  42. }
  43. });
  44. });
  45. }
  46. html() {
  47. let html = `<div class="row recipients">
  48. </div>
  49. <div class="row mt-10" id="contactcolumns" >
  50. </div>
  51. <div class="row mt-10" id="secondarycontactcolumns" >
  52. <div class="col-sm-12">Secondary Contacts:-</div>
  53. </div>`;
  54. return html;
  55. }
  56. RecipientsData(selectid, selectlable, recipientProviderid) {
  57. return __awaiter(this, void 0, void 0, function* () {
  58. var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/RecipientsAutoComplete/RecipientProviderId/' + recipientProviderid;
  59. return yield AutoCompleteHelper.getHelper().Create("#" + selectid, "hdn" + selectid, url, function (response) {
  60. var data = response;
  61. });
  62. });
  63. }
  64. GetRecipients() {
  65. var obj = new Object();
  66. $(".recipient").each(function () {
  67. let id = $(this).find(".recipient");
  68. let index = (id.prevObject[0].id).split('_');
  69. index = index[1];
  70. let propname = $(this).find(".propname").text();
  71. let recipientname = $(this).find(".recipientname").text();
  72. let selectid = "select2_" + recipientname + "";
  73. let recipients = Unibase.Platform.Automation.Components.ContactSelection.Instance().getSelectedRecipients(selectid);
  74. obj[propname] = recipients;
  75. });
  76. return obj;
  77. }
  78. BindRecipients(ruleactionid) {
  79. return __awaiter(this, void 0, void 0, function* () {
  80. var recipientproviders = Unibase.Platform.Automation.Components.ContactSelection.Instance().RecipientProviders;
  81. return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getActionRecipient(ruleactionid).then(function (response) {
  82. for (var i = 0; i < recipientproviders.length; i++) {
  83. let recipients = response[recipientproviders[i].ColumnName];
  84. let IdColumn = recipientproviders[i].IdColumn;
  85. let RecipientProviderId = Number(recipientproviders[i].RecipientProviderId);
  86. Unibase.Platform.Automation.Components.ContactSelection.Instance().BindRecipientOptions(RecipientProviderId, recipients, IdColumn, recipientproviders[i].RecipientName);
  87. }
  88. if (response.ExternalRecipients != undefined && response.ExternalRecipients != null) {
  89. Unibase.Platform.Automation.Components.ContactSelection.Instance().BindExternalRecipients(response.ExternalRecipients);
  90. }
  91. });
  92. });
  93. }
  94. BindExternalRecipients(externalrecipients) {
  95. var recipients = externalrecipients.split("|");
  96. for (let i = 0; i < recipients.length; i++) {
  97. $("#chkreportcolumns_" + recipients[i]).prop("checked", true);
  98. }
  99. }
  100. BindRecipientOptions(RecipientProviderId, recipients, IdColumn, RecipientName) {
  101. return __awaiter(this, void 0, void 0, function* () {
  102. return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getSelectedRecipientsData(RecipientProviderId, recipients, IdColumn).then(function (response) {
  103. if (response != "" && response.result.length > 0) {
  104. var Result = response.result;
  105. for (var j = 0; j < Result.length; j++) {
  106. var recipient = Result[j];
  107. var newOption = new Option(recipient.AutoCompleteTextColumn, recipient.AutoCompleteIdColumn, true, true);
  108. $("#select2_" + RecipientName + "").append(newOption).trigger('change');
  109. }
  110. }
  111. });
  112. });
  113. }
  114. getSelectedRecipients(selectid) {
  115. let Recipientcount = new Array();
  116. Recipientcount = $('#' + selectid).val();
  117. let Recipient = "";
  118. for (var i = 0; i < Recipientcount.length; i++) {
  119. Recipient += "|" + Recipientcount[i];
  120. }
  121. if (Recipient != "")
  122. Recipient += "|";
  123. return Recipient;
  124. }
  125. LoadContactColumns(rpid) {
  126. return __awaiter(this, void 0, void 0, function* () {
  127. let ruleproviderid = rpid;
  128. return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getContactColumns(ruleproviderid).then(function (response) {
  129. if (response != null) {
  130. for (let i = 0; i <= response.length - 1; i++) {
  131. let html = '';
  132. let secondaryhtml = '';
  133. html += '<div class="col-sm-3"><div class="custom-control custom-checkbox divEnablePieces checkbox-primary"><input type="checkbox" class="type-control custom-control-input" id="chk_' + response[i] + '" name="Contactcolumns" onclick="' + onclick + '"><label class="custom-control-label" for="chk_' + response[i] + '">' + response[i] + '</label><span></span>&nbsp</div></div>';
  134. secondaryhtml += '<div class="col-sm-3"><div class="custom-control custom-checkbox divEnablePieces checkbox-primary"><input type="checkbox" class="type-control custom-control-input" id="chk_sec_' + response[i] + '" name="SecondaryContactcolumns" onclick="' + onclick + '"><label class="custom-control-label" for="chk_sec_' + response[i] + '">' + response[i] + '</label><span></span>&nbsp</div></div>';
  135. $("#contactcolumns").append(html);
  136. $("#secondarycontactcolumns").append(secondaryhtml);
  137. }
  138. }
  139. });
  140. });
  141. }
  142. getContactColumns() {
  143. var contactcolumns = "";
  144. $.each($("input[name='Contactcolumns']:checked"), function () {
  145. var Contact = $(this).parents("label");
  146. Contact = Contact.prevObject[0].labels[0].innerText;
  147. contactcolumns += "|" + Contact;
  148. });
  149. if (contactcolumns != "")
  150. contactcolumns += "|";
  151. return contactcolumns;
  152. }
  153. getSecondaryContactColumns() {
  154. var contactcolumns = "";
  155. $.each($("input[name='SecondaryContactcolumns']:checked"), function () {
  156. var Contact = $(this).parents("label");
  157. Contact = Contact.prevObject[0].labels[0].innerText;
  158. contactcolumns += "|" + Contact;
  159. });
  160. if (contactcolumns != "")
  161. contactcolumns += "|";
  162. return contactcolumns;
  163. }
  164. CheckContactColumns(Users) {
  165. if (Users != null)
  166. var contacts = Users.split("|");
  167. for (var i = 0; i < contacts.length; i++) {
  168. if (contacts[i] != "") {
  169. var id = contacts[i];
  170. $('#chk_' + id + '').prop("checked", true);
  171. }
  172. }
  173. }
  174. CheckSecondaryContactColumns(Users) {
  175. if (Users != null)
  176. var contacts = Users.split("|");
  177. for (var i = 0; i < contacts.length; i++) {
  178. if (contacts[i] != "") {
  179. var id = contacts[i];
  180. $('#chk_sec_' + id + '').prop("checked", true);
  181. }
  182. }
  183. }
  184. loadexternalreportcolumns() {
  185. return __awaiter(this, void 0, void 0, function* () {
  186. var html = '';
  187. var reportid = $(' option:selected').val();
  188. Unibase.Platform.Automation.Managers.RuleManager.Instance().getExternalContactsFromReport(reportid).then(function (response) {
  189. if (response != null) {
  190. $('.external_reportcolumns').html('');
  191. for (let i = 0; i < response.length; i++) {
  192. html += '<input type="checkbox" class="chkreportcolumns_' + response.Displayindex + '">';
  193. }
  194. $('.external_reportcolumns').html(html);
  195. }
  196. });
  197. });
  198. }
  199. getResultActions(ruleactionid) {
  200. return __awaiter(this, void 0, void 0, function* () {
  201. yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getResultActions(ruleactionid).then(function (response) {
  202. if (response != null) {
  203. $(".ResultActions").removeClass("hidden");
  204. let cmbRActions = document.getElementById('ddl_ResultAction');
  205. $('#ddl_ResultAction').empty();
  206. var defaultOpt1 = document.createElement("option");
  207. defaultOpt1.text = "Select";
  208. defaultOpt1.value = "0";
  209. cmbRActions.appendChild(defaultOpt1);
  210. for (let i = 0; i <= response.length - 1; i++) {
  211. var opt = document.createElement("option");
  212. opt.text = response[i].EventName;
  213. opt.value = response[i].EventId.toString();
  214. cmbRActions.appendChild(opt);
  215. }
  216. $("#ddlResultAction").val($("#hf_ResultAction").val());
  217. }
  218. });
  219. });
  220. }
  221. loadQueryBuilder(ruleproviderid, querystring) {
  222. return __awaiter(this, void 0, void 0, function* () {
  223. return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
  224. let ruleconditionhtml = Unibase.Platform.DataSources.Components.QueryBuilder.Instance().html(null, null);
  225. jQuery(".ActionConditions").html(ruleconditionhtml);
  226. var qinstance = Unibase.Platform.DataSources.Components.QueryBuilder.Instance();
  227. qinstance.QueryBuilder_Columns = [];
  228. qinstance.QueryBuilder_Filters = [];
  229. qinstance.queryBuilderString = "";
  230. if (response.ReportId != 0) {
  231. qinstance.ReportId = response.ReportId;
  232. qinstance.loadQueryBuilderDiv(querystring);
  233. }
  234. else {
  235. qinstance.DoctypeId = response.DoctypeId;
  236. qinstance.loadQueryBuilderDivByDoctypeId(querystring);
  237. }
  238. $("#QueryBuilder").removeClass("hidden");
  239. });
  240. });
  241. }
  242. static Instance() {
  243. if (this.instance === undefined) {
  244. this.instance = new ContactSelection();
  245. }
  246. return this.instance;
  247. }
  248. }
  249. Components.ContactSelection = ContactSelection;
  250. })(Components = Automation.Components || (Automation.Components = {}));
  251. })(Automation = Platform.Automation || (Platform.Automation = {}));
  252. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  253. })(Unibase || (Unibase = {}));