Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

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 = {}));