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.

eventtemplate.js 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Automation;
  6. (function (Automation) {
  7. let Components;
  8. (function (Components) {
  9. class EventTemplate extends Platform.Core.BaseComponent {
  10. jsFiles() {
  11. return ["platform/automation/managers/rulemanager.js"];
  12. }
  13. cssFiles() {
  14. return [];
  15. }
  16. html(id, containerid) {
  17. let html = `<form id="frmUnibase_EventTemplate" data-validate="parsley" data-isdynamic="false">
  18. <div class="card bg-light">
  19. <div class="b-b bg-white card-header header">
  20. <strong class="text-dark title" id="">Create EventTemplate</strong>
  21. </div>
  22. <div class="card-body scrollable" style="overflow-y: scroll;">
  23. <div class="bg-white card" id="EventTemplates">
  24. <div id="unibase_ValidationSummary" class="clear"></div>
  25. <div class="card-body">
  26. <div class="row">
  27. <div class="col-sm-6">
  28. DocType<span class="text-danger">*</span>
  29. <select id="Doctype_AutoComplete" class="required form-control value-control" data-isdynamic="true">
  30. <option value="0">Select</option>
  31. <option value="1">OrderEntity</option>
  32. </select>
  33. <input type="hidden" id="hf_DocType" />
  34. </div>
  35. <div class="col-sm-6">
  36. DocType Columns<span class="text-danger">*</span>
  37. <select id="DocTypeColumns_AutoComplete" class="required form-control value-control" data-isdynamic="true">
  38. </select>
  39. <input type="hidden" id="hf_DocTypeColumns" />
  40. </div>
  41. </div>
  42. </div>
  43. </div>
  44. <div class="bg-white card" id="TemplateKeys">
  45. <div class="card-header">Event Template</div>
  46. <div class="card-body">
  47. <div class="row">
  48. <div class="col-sm-10"><input type="text" id="Template" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>
  49. <div class="col-sm-2" id="AddKey">
  50. <span class="pull-right">
  51. <a id="" title="Create" onclick="Unibase.Platform.Automation.Components.EventTemplate.Instance().AddKey();">
  52. <i class="fa fa-plus"></i>
  53. </a>
  54. </span>
  55. </div>
  56. </div>
  57. <hr />
  58. <div class="row mt-10" id="AddKeys">
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. <div class="bg-white card-footer footer" id="CreateEventTemplateFooter">
  64. <button id="btnCloseEventTemplate" class="btn btn-secondary btn-sm mr-auto">Close</button>
  65. <button id="btnSaveEventTemplate" class="btn btn-primary btn-sm pull-right">Save</button>
  66. </div>
  67. </div>
  68. </form>`;
  69. return html;
  70. }
  71. load(id, containerid, callback) {
  72. $("#btnCloseEventTemplate").click(function () {
  73. $('#' + containerid).modal('hide');
  74. $('#' + containerid).remove();
  75. });
  76. $("#btnSaveEventTemplate").click(function () {
  77. EventTemplate.Instance().SaveEventTemplate();
  78. $('#' + containerid).modal('hide');
  79. $('#' + containerid).remove();
  80. });
  81. $("#Doctype_AutoComplete").change(function () {
  82. if ($("#Doctype_AutoComplete option:selected").text() == "OrderEntity") {
  83. let cmbEventColomns = document.getElementById('DocTypeColumns_AutoComplete');
  84. $('#DocTypeColumns_AutoComplete').empty();
  85. var defaultOpt = document.createElement("option");
  86. defaultOpt.text = "Select";
  87. defaultOpt.value = "0";
  88. cmbEventColomns.appendChild(defaultOpt);
  89. for (let i = 0; i <= Unibase.Platform.Automation.Components.EventTemplate.doctypecolumnArray.length - 1; i++) {
  90. var opt = document.createElement("option");
  91. opt.text = Unibase.Platform.Automation.Components.EventTemplate.doctypecolumnArray[i];
  92. opt.value = "" + i + 1 + "";
  93. cmbEventColomns.appendChild(opt);
  94. }
  95. }
  96. });
  97. $("#DocTypeColumns_AutoComplete").change(function () {
  98. $("#Template").text("");
  99. if ($("#DocTypeColumns_AutoComplete option:selected").text() == "OrgContactId") {
  100. $("#Template").val("Order ContactName Changed From {{Key1}} To {{Key2}}");
  101. }
  102. else if ($("#DocTypeColumns_AutoComplete option:selected").text() == "BillingAddressId") {
  103. $("#Template").val("Order BillingAddressName Changed From {{Key1}} To {{Key2}}");
  104. }
  105. else if ($("#DocTypeColumns_AutoComplete option:selected").text() == "ShippingAddressId") {
  106. $("#Template").val("Order ShippingAddressName Changed From {{Key1}} To {{Key2}}");
  107. }
  108. });
  109. }
  110. AddKey() {
  111. Unibase.Platform.Automation.Components.EventTemplate.keysflag = 0;
  112. let html = "";
  113. if (!Unibase.Platform.Automation.Components.EventTemplate.keyscount) {
  114. Unibase.Platform.Automation.Components.EventTemplate.keyslen = Unibase.Platform.Automation.Components.EventTemplate.keyslen + 1;
  115. }
  116. else {
  117. Unibase.Platform.Automation.Components.EventTemplate.keyslen = Unibase.Platform.Automation.Components.EventTemplate.keyscount;
  118. }
  119. html += '<div class="EventKeys row col-sm-12" id="row_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '">' +
  120. '<div class="col-sm-2"><input type="text" id="txt_KeyName_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
  121. '<div class="col-sm-3 hidden" id="Report_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"><input type="text" id="txt_Report_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
  122. '<div class="col-sm-3 hidden" id="ReportColumn_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"><input type="text" id="txt_ReportColumn_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
  123. '<div class="col-sm-3"><input type="text" id="txt_Key_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
  124. '<div class="col-sm-1"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" name="Keys" onclick="Unibase.Platform.Automation.Components.EventTemplate.Instance().Cheked(' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + ');" class="custom-control-input" id="chk_Key_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"><label class="custom-control-label" id="lblcontact" for="chk_Key_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"></label></div></div>' +
  125. '<div>';
  126. if (Unibase.Platform.Automation.Components.EventTemplate.keysflag == 0) {
  127. $("#AddKeys").append(html);
  128. $("#txt_KeyName_" + Unibase.Platform.Automation.Components.EventTemplate.keyslen + "").val("Key" + Unibase.Platform.Automation.Components.EventTemplate.keyslen + "");
  129. Unibase.Platform.Automation.Components.EventTemplate.keyscount = 0;
  130. Unibase.Platform.Automation.Components.EventTemplate.keysflag = 0;
  131. }
  132. else {
  133. Unibase.Platform.Automation.Components.EventTemplate.keyslen = Unibase.Platform.Automation.Components.EventTemplate.keyslen - 1;
  134. }
  135. }
  136. Cheked(KeyNum) {
  137. if ($("#chk_Key_" + KeyNum + "").prop("checked") == true) {
  138. $("#Report_" + KeyNum + "").removeClass("hidden");
  139. $("#ReportColumn_" + KeyNum + "").removeClass("hidden");
  140. }
  141. else {
  142. $("#Report_" + KeyNum + "").addClass("hidden");
  143. $("#ReportColumn_" + KeyNum + "").addClass("hidden");
  144. }
  145. }
  146. AddKeysData() {
  147. let myarray = [];
  148. $(".EventKeys").each(function () {
  149. let templatekeys = {};
  150. let id = $(this).find(".EventKeys");
  151. let len = (id.prevObject[0].id).split('_');
  152. len = len[1];
  153. templatekeys.TemplateKeyId = 0;
  154. templatekeys.TemplateId = 0;
  155. templatekeys.KeyName = "Key_' + len +'";
  156. templatekeys.ReportId = 0;
  157. templatekeys.ResultColumnId = 0;
  158. templatekeys.ReportColumnId = 0;
  159. templatekeys.DocpropertyId = 0;
  160. myarray.push(templatekeys);
  161. });
  162. return myarray;
  163. }
  164. SaveEventTemplate() {
  165. let tempkey = [];
  166. let keydata = EventTemplate.Instance().AddKeysData();
  167. for (let i = 0; i < keydata.length; i++) {
  168. tempkey.push({
  169. TemplateKeyId: keydata[i].TemplateKeyId,
  170. TemplateId: keydata[i].TemplateId,
  171. KeyName: keydata[i].KeyName,
  172. ReportId: keydata[i].ReportId,
  173. ReportColumnId: keydata[i].ReportColumnId,
  174. ResultColumnId: keydata[i].ResultColumnId,
  175. DocpropertyId: keydata[i].DocpropertyId,
  176. });
  177. }
  178. let tempnote = [];
  179. tempnote.push({
  180. TemplateNoteId: 0,
  181. TemplateId: 0,
  182. NotesText: $("#Template").val().toString(),
  183. LanguageId: 1,
  184. IsSystemGenerated: false
  185. });
  186. var post = {
  187. TemplateId: 0,
  188. EventId: 0,
  189. EventTempKeys: tempkey,
  190. EventTempNotes: tempnote,
  191. EventAliasName: null
  192. };
  193. Automation.Managers.RuleManager.Instance().saveEventTemplate(post).then(function (response) {
  194. var tableData = response;
  195. });
  196. }
  197. static Instance() {
  198. if (this.instance === undefined) {
  199. this.instance = new EventTemplate();
  200. }
  201. return this.instance;
  202. }
  203. }
  204. EventTemplate.doctypecolumnArray = ["OrderId", "OrderNo", "RefNo", "Notes", "OrderDate", "OrderTypeId", "VersionGuid", "DueDate", "OrgContactId", "BillingAddressId", "OrderStatusId", "SalesPersonId", "TotalAmount", "SystemNotes", "ShippingAddressId", "BranchId", "LobId", "OrderName", "SuccessProbability", "CloseDate", "RefDate", "OrderModeId", "RefId", "PriceCodeId", "InvoicedDate", "InvoicedBy", "DecidedDate", "DecidedBy", "PriorityOrder", "RecurTenure", "RecurTenureTypeId", "RecurIterations", "Description", "RefOrderId", "ApplicationTypeId", "Volume", "ProformaInvoiceId", "DiscountAmount", "TaxAmount", "AdvanceOrder", "FutureOrder", "TemplateId", "ProposedDeliveryDate", "ExpectedDeliveryDate", "PaymentTermId", "IsTaxInclusive", "InvoiceScheduleId", "ConsultantId", "RefGuid", "CFormNoRequired", "IsExciseSeperate", "FutureOrderDate", "AdvanceOrderDate", "PaymentMethodId", "InventoryApplyType", "ProposedDelivery", "ProposedDeliveryType", "ScrapDiscountAmount", "DiscountPercent", "DiscountValue", "PriceListId", "StatusId", "CreatedDate", "CreatedBy", "LastUpdatedDate", "LastUpdatedBy", "LatId", "LngId", "SourceId", "OwnerId", "RemoteId", "StageId", "StageUpdatedDate", "ReasonId", "TenantId", "IsStockJournal", "Negotiation", "Terms", "HideBomItems", "DeliveryMethodId", "RecurringOpportunity", "IpAddress", "ExpiryDate", "ShipFromAddressId", "SeriesId", "RefOpportunityId", "RefEstimateId", "InstalledAppId", "DeviceId", "OrganizationId"];
  205. EventTemplate.keyslen = 0;
  206. EventTemplate.keysflag = 0;
  207. Components.EventTemplate = EventTemplate;
  208. })(Components = Automation.Components || (Automation.Components = {}));
  209. })(Automation = Platform.Automation || (Platform.Automation = {}));
  210. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  211. })(Unibase || (Unibase = {}));