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.

actions.apiintegrator.js 32KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  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 ApiIntegrator extends Platform.Core.BaseComponent {
  19. constructor() {
  20. super(...arguments);
  21. this.RowIndex = 0;
  22. this.RuleProviderId = 0;
  23. this.AutomationMode = 0;
  24. this.RuleInstance = Unibase.Platform.Automation.Components.Rule.Instance();
  25. }
  26. jsFiles() {
  27. var jsfiles = ["platform/automation/managers/rulemanager.js",
  28. "platform/automation/enums/automationmode.js",
  29. "platform/automation/components/conditions.js",
  30. "platform/automation/components/contactselection.js",
  31. "platform/automation/requests/ruleaction.js",
  32. "platform/automation/requests/rulecondition.js",
  33. "platform/forms/components/formviewer/formviewer.js",
  34. "libs/parsley/parsley.min.js",
  35. "libs/querybuilder/query-builder.min.js",
  36. "libs/querybuilder/query-builder.standalone.min.js",
  37. "libs/querybuilder/query-builder.standalone.js",
  38. "libs/querybuilder/sql-parser.min.js", "libs/notificationbuilder/notificationbuilder.js", "platform/apps/managers/stagemanager.js", "platform/automation/components/rulebuilder/rulebuilder.rule.js", "platform/automation/components/rulebuilder/notificationgroup.js", "platform/automation/managers/notificationgroupmanager.js"
  39. ];
  40. return jsfiles;
  41. }
  42. cssFiles() {
  43. return [];
  44. }
  45. html(id, containerid) {
  46. let html = `<form id="frmUnibase_ApiIntegrator" data-validate="parsley"data-isdynamic="false">
  47. <div class="card bg-light">
  48. <div class="b-b bg-white card-header header">
  49. <strong class="text-dark title" id="Spn_ApiIntegrator">Create Api Integrator</strong></div>
  50. <div class="card-body scrollable" style="overflow-y: scroll;">
  51. <div class="bg-white card" id="divApiIntegrator">
  52. <div id="Validate_ApiAction" class="clear"></div>
  53. <div class="card-body">
  54. <div class="row">
  55. <div class="col-sm-12">
  56. <div class="floating-label-form-group">
  57. <label for="lbl" id="lbl_RuleActionName">Action<span class="text-danger required" id="spnIsRequired_RuleActionName"> *</span></label>
  58. <input type="text" id="txtApiIntegrator_RuleActionName" class="form-control value-control required floating-label-control" placeholder="Action *" data-placeholder="Enter Action" data-label="Action *">
  59. <input type="hidden" id="hf_RuleActionName" />
  60. </div></div></div>
  61. <div class="row">
  62. <div class="col-sm-12">
  63. <div id="div_Subject" class="floating-label-form-group">
  64. <label for="lbl_ApiParameter" id="lbl_ApiParameter">Api Parameter</label>
  65. <div class="input-group">
  66. <input type="text" id="txtApiIntegrator_ApiParameter" class="col-sm-9 form-control value-control floating-label-control" data-placeholder="Enter ApiParameter" placeholder="ApiParameter" data-label="ApiParameter">
  67. <select id="ddl_ApiParameters" class="col-sm-3 form-control value-control">
  68. <option value="0">Select Token</option>
  69. </select></div></div></div></div>
  70. <div class="row">
  71. <div id="div_NotificationGrp" class="floating-label-form-group col-sm-6 floating-label-form-group-with-value">
  72. <label for="lbl_NotificationGrp" id="lbl_NotificationGroup">Notification Group<span class="text-danger"> *</span></label>
  73. <select id="ddl_NotificationGrp" class="form-control"><option value="0">Select Group</option></select>
  74. </div><div class="col-sm-6 createbtn_grp"><button class="badge badge-primary mt-30 ml-15" id="creategrp_btn">Create Group</button></div></div>
  75. <div class="row">
  76. <div class="col-sm-6">
  77. <div class="input-group">
  78. <label for="Doctype" class="font-bold">Services <span class="text-danger">*</span></label>
  79. <select id="txtAutoComplete_Services" class="form-control text-control required" style="width:100%;" placeholder="Services" data-placeholder="Services" data-label="" data-istagselect="true"></select>
  80. <input type="hidden" id="hf_Autocomplete_Services" class="form-control value-control" data-isdynamic="true"/></div></div>
  81. <div class="ResultActions col-sm-6 hidden">
  82. <div id="div_ResultAction" class=" floating-label-form-group floating-label-form-group-with-value">
  83. <label for="lbl" id="lbl_ResultAction">Result Action</label>
  84. <select id="ddl_ResultAction" class="form-control">
  85. <option value="0">Select</option></select>
  86. <label for="Validation" id="lblValidation_ResultAction"></label><input type="hidden" id="hfFormPropertyId" value="0"/></div></div></div>
  87. </div></div>
  88. <div class="bg-white card Advanced_optionsdata">
  89. <div class="card-header"><i class="fa fa-angle-down arrowicon mr-1" onclick="Unibase.Platform.Automation.Components.ApiIntegrator.Instance().Toggleadvancedoptions()"></i>Advanced Options</div>
  90. <div class="card-body Advanced_options hidden">
  91. <div class="row">
  92. <div class="col-sm-6 floating-label-form-group floating-label-form-group-with-value">
  93. <label class="Message_type">Message Type</label>
  94. <select class="form-control" id="message_result">
  95. <option value="0">Success</option>
  96. <option value="1">Warning</option>
  97. <option value="2">Error</option>
  98. </select>
  99. </div>
  100. <div class="col-sm-6">
  101. <input type="checkbox" class="test_data mt-50" id="chkAutoApprovedApiIntegrator" checked>Perform this Action
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. <div class="bg-white card" id="ActionConditionsDivdata">
  107. <div class="card-header"><i class="fa fa-angle-down conditionicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ToggleApiIntegratorConditions();"></i>Condition Details</div>
  108. <div class="card-body hidden" id="ActionConditionsDiv">
  109. <div class="ActionConditions">
  110. <!--For Action Conditions-->
  111. </div>
  112. </div>
  113. </div>
  114. <div class="bg-white card" id="SelectstagesDiv">
  115. <div class="card-header">Stage Event</div>
  116. <div class="card-body">
  117. <div class="stages_drp row"><div class="col-sm-6"><label class="from_label">From Stage</label><select class="from_stage_apiintegrator form-control"></select></div><div class="col-sm-6"><label class="_label">To Stage</label><select class="to_stage_apiintegrator form-control"></select></div></div>
  118. </div></div>
  119. </div>
  120. <div class="bg-white card-footer footer" id="CreateApiIntegratorFooter">
  121. <a href="javascript:;" id="btnCloseApiIntegrator" class="btn btn-light btn-sm mr-auto ">Close</a>
  122. <a href="javascript:;" id="btnSaveApiIntegrator" class="btn btn-primary btn-sm"> Save</a>
  123. </div>
  124. </div>
  125. </form>`;
  126. return html;
  127. }
  128. load(id, containerid, callback) {
  129. return __awaiter(this, void 0, void 0, function* () {
  130. var instance = this;
  131. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId = instance.ActionId;
  132. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleActionData = instance.RuleActionData;
  133. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RowIndex = instance.RowIndex;
  134. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode = instance.AutomationMode;
  135. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleProviderId = instance.RuleProviderId;
  136. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId = instance.ParentActionId;
  137. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode = instance.IsAutomationMode;
  138. yield Unibase.Platform.Automation.Components.NotificationGroup.Instance().LoadNotificationGroups();
  139. if (instance.AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode) {
  140. eval('bizgaze_automation_flow_main.getcontainerid("' + containerid + '")');
  141. }
  142. $('#creategrp_btn').click(function () {
  143. Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true);
  144. });
  145. $("#btnCloseApiIntegrator").click(function () {
  146. $('#' + containerid).modal('hide');
  147. $('#' + containerid).remove();
  148. if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
  149. if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode) {
  150. if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode) {
  151. Unibase.Platform.Automation.Components.Rule.Instance().ChangeAction(instance.RowIndex, id);
  152. }
  153. }
  154. }
  155. else {
  156. eval("bizgaze_automation_flow_main.getpopupclosed()");
  157. }
  158. Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
  159. });
  160. $("#btnSaveApiIntegrator").click(function () {
  161. let appcontrolid = "frmUnibase_ApiIntegrator";
  162. let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
  163. if (result == false) {
  164. MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_ApiAction");
  165. return false;
  166. }
  167. else {
  168. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().SaveApiIntegrator(id, containerid);
  169. }
  170. });
  171. $("#ddl_ApiParameters").change(function () {
  172. var textAreaTxt = $("#txtApiIntegrator_ApiParameter").val().toString();
  173. var txtToAdd = '{{' + $("#ddl_ApiParameters option:selected").text() + '}}';
  174. var firsttext = textAreaTxt.slice(0, ApiIntegrator.Instance().tokenposition);
  175. var lasttext = textAreaTxt.slice(ApiIntegrator.Instance().tokenposition, textAreaTxt.length);
  176. $("#txtApiIntegrator_ApiParameter").val(firsttext + txtToAdd + lasttext);
  177. $("#ddl_ApiParameters").val(0);
  178. });
  179. $("#txtApiIntegrator_ApiParameter").focusout(function (event) {
  180. ApiIntegrator.Instance().tokenposition = event["target"]["selectionStart"];
  181. });
  182. if (instance.RuleInstance.IsStageChangeEvent()) {
  183. $('#SelectstagesDiv').removeClass('d-none');
  184. yield Unibase.Platform.Automation.Components.ApiIntegrator.Instance().LoadAppStages();
  185. }
  186. else {
  187. $('#SelectstagesDiv').addClass('d-none');
  188. }
  189. if (instance.ParentActionId != 0) {
  190. yield Unibase.Platform.Automation.Components.ContactSelection.Instance().getResultActions(instance.ParentActionId);
  191. yield Unibase.Platform.Automation.Components.ApiIntegrator.Instance().GetRuleActionInfo(Number(instance.ParentActionId));
  192. $('#ddl_NotificationGrp').prop("disabled", true);
  193. $('#creategrp_btn').addClass('d-none');
  194. }
  195. if (id != "") {
  196. setTimeout(function () { Unibase.Platform.Automation.Components.ApiIntegrator.Instance().EditApiIntegrator(id); }, 10);
  197. }
  198. let rpid = instance.RuleProviderId;
  199. if (rpid != 0) {
  200. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().LoadApiParameters(rpid);
  201. Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(rpid, null);
  202. }
  203. if (instance.RuleActionData.length != 0) {
  204. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().LoadApiIntegratorData(instance.RuleActionData);
  205. }
  206. var url = _appsettings.server_url() + '/apis/v4/unibase/integrations/integrator/servicintegratorautocomplete/integratorid/0';
  207. AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Services", "#hf_Autocomplete_Services", url, function (response) {
  208. var data = response;
  209. });
  210. });
  211. }
  212. ToggleApiIntegratorConditions() {
  213. $('#ActionConditionsDiv').toggleClass("hidden");
  214. if ($('.conditionicon').hasClass('fa-angle-down')) {
  215. $('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
  216. Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleProviderId, null);
  217. }
  218. else {
  219. $('.conditionicon').removeClass('fa-angle-up').addClass('fa-angle-down');
  220. }
  221. }
  222. Toggleadvancedoptions() {
  223. if ($('.arrowicon').hasClass('fa-angle-down')) {
  224. $('.arrowicon').removeClass('fa-angle-down').addClass('fa-angle-up');
  225. }
  226. else {
  227. $('.arrowicon').removeClass('fa-angle-up').addClass('fa-angle-down');
  228. }
  229. $('.Advanced_options').toggleClass("hidden");
  230. }
  231. LoadAppStages() {
  232. return __awaiter(this, void 0, void 0, function* () {
  233. var html = '';
  234. var fromstage = '<option value="0">Select FromStage</option>';
  235. var tostage = '<option value="0">Select ToStage</option>';
  236. var installeappid = Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId;
  237. yield Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(installeappid).then(function (response) {
  238. if (response.result != null) {
  239. for (let i = 0; i < response.result.length; i++) {
  240. var data = response.result[i];
  241. html += '<option value=' + data.StageId + '>' + data.StageName + '</option>';
  242. }
  243. }
  244. $('.from_stage_apiintegrator').html(fromstage + html);
  245. $('.to_stage_apiintegrator').html(tostage + html);
  246. });
  247. });
  248. }
  249. EditApiIntegrator(id) {
  250. let actionid = Number(id);
  251. $("#Spn_ApiIntegrator").text("Edit Api Integrator");
  252. Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) {
  253. $("#txtApiIntegrator_RuleActionName").val(response.RuleActionName);
  254. $("#txtApiIntegrator_ApiParameter").val(response.BString2);
  255. $('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true);
  256. if (response.ResultActionId != null) {
  257. $('#ddl_ResultAction').val(response.ResultActionId);
  258. }
  259. if (!Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode) {
  260. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleId = response.RuleId;
  261. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleEventId = response.RuleEventId;
  262. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().EventGroupId = response.EventGroupId;
  263. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId = response.ActionId;
  264. Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId = response.ParentActionId;
  265. }
  266. if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved))
  267. $("#chkAutoApprovedApiIntegrator").prop("checked", false);
  268. else
  269. $("#chkAutoApprovedApiIntegrator").prop("checked", true);
  270. let id = Number(response.BString4);
  271. Unibase.Platform.Integrations.Managers.IntegrationManager.Instance().getServiceIntegratorById(id).then(function (res) {
  272. var serviceoption = new Option(res.result.ServiceIntegratorName, res.result.ServiceIntegratorId.toString(), true);
  273. $("#txtAutoComplete_Services").append(serviceoption);
  274. });
  275. Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
  276. if (response.SqlWhere != null && response.SqlWhere != "") {
  277. $("#ActionConditionsDiv").removeClass("hidden");
  278. $('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
  279. }
  280. if (response.FromStage != null && response.ToStage != null) {
  281. $('.from_stage_apiintegrator option[value=' + response.FromStage + ' ]').prop('selected', true);
  282. $('to_stage_apiintegrator option[value=' + response.ToStage + ']').prop('selected', true);
  283. }
  284. $('#message_result').val(Number(response.BString5));
  285. eval('_floatingLabelHelper.init();');
  286. });
  287. }
  288. LoadApiIntegratorData(Data) {
  289. for (var i = 0; i < Data.length; i++) {
  290. $("#txtApiIntegrator_RuleActionName").val(Data[i].RuleActionName);
  291. $("#txtApiIntegrator_ApiParameter").val(Data[i].BString1);
  292. let id = Number(Data[i].BString4);
  293. Unibase.Platform.Integrations.Managers.IntegrationManager.Instance().getServiceIntegratorById(id).then(function (res) {
  294. var serviceoption = new Option(res.result.ServiceIntegratorName, res.result.ServiceIntegratorId.toString(), true);
  295. $("#txtAutoComplete_Services").append(serviceoption);
  296. });
  297. if (!Data[i].AutoApproved)
  298. $("#chkAutoApprovedApiIntegrator").prop("checked", false);
  299. else
  300. $("#chkAutoApprovedApiIntegrator").prop("checked", true);
  301. if (Data[i].SqlWhere != "" && Data[i].SqlWhere != null) {
  302. Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleProviderId, Data[i].SqlWhere);
  303. $('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
  304. $("#ActionConditionsDiv").removeClass("hidden");
  305. }
  306. eval('_floatingLabelHelper.init();');
  307. }
  308. }
  309. SaveApiIntegrator(ApiIntegratorid, containerid) {
  310. var instance = this;
  311. let ruleactionid = Number(ApiIntegratorid);
  312. let queryelmnt = $("#builder");
  313. let model = new Unibase.Platform.Automation.Requests.RuleAction();
  314. model.RuleActionId = ruleactionid;
  315. model.RuleActionName = $("#txtApiIntegrator_RuleActionName").val().toString();
  316. model.BString1 = $("#txtApiIntegrator_ApiParameter").val().toString();
  317. model.BString2 = $("#txtApiIntegrator_ApiParameter").val().toString();
  318. model.BString4 = $("#txtAutoComplete_Services").val().toString();
  319. model.BString5 = $('#message_result option:selected').val().toString();
  320. model.ActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId;
  321. model.RuleId = 0;
  322. model.Users = "";
  323. model.NotificationGroupId = $('#ddl_NotificationGrp').val() == undefined ? 0 : Number($('#ddl_NotificationGrp').val());
  324. if (model.NotificationGroupId == 0) {
  325. MessageHelper.Instance().showError("Please Select Notification Group", "Validate_ApiAction");
  326. return;
  327. }
  328. if (instance.RuleInstance.IsStageChangeEvent()) {
  329. model.FromStage = $('.from_stage_apiintegrator option:selected').val() != "0" ? Number($('.from_stage_apiintegrator option:selected').val()) : 0;
  330. model.ToStage = $('.to_stage_apiintegrator option:selected').val() != "0" ? Number($('.to_stage_apiintegrator option:selected').val()) : 0;
  331. }
  332. let query = queryelmnt.queryBuilder('getSQL', false, true);
  333. if (query != null) {
  334. model.SqlWhere = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE");
  335. ;
  336. model.SqlWhereJson = JSON.stringify(queryelmnt.queryBuilder('getSQL', false, true));
  337. }
  338. else {
  339. model.SqlWhere = "";
  340. model.SqlWhereJson = "";
  341. }
  342. model.ResultActionId = Number($("#ddl_ResultAction option:selected").val());
  343. if (model.ResultActionId != 0) {
  344. model.ResultActionName = $("#ddl_ResultAction option:selected").text();
  345. }
  346. else {
  347. model.ResultActionName = "";
  348. }
  349. model.DelayTime = 0;
  350. model.ParentActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId;
  351. model.AutoApproved = $('#chkAutoApprovedApiIntegrator').is(':checked');
  352. model.RowIndex = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RowIndex;
  353. if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode) {
  354. if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
  355. Unibase.Platform.Automation.Components.Rule.Instance().RuleActionsArray(model);
  356. $('#' + containerid).modal('hide');
  357. $('#' + containerid).remove();
  358. Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
  359. }
  360. else {
  361. model.RuleId = eval("bizgaze_automation_flow_main.getruleid()");
  362. Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
  363. if (response.status == Unibase.Data.Status.Error) {
  364. MessageHelper.Instance().showError(response.message, "Validate_ApiAction");
  365. }
  366. else {
  367. MessageHelper.Instance().showSuccess(response.message, "Validate_ApiAction");
  368. $('#' + containerid).modal('hide');
  369. $('#' + containerid).remove();
  370. Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
  371. var actionname = response.result.RuleActionName;
  372. eval("bizgaze_automation_flow_main.saveApiIntegratorblock('" + response.result.RuleActionId + "','" + actionname + "')");
  373. }
  374. });
  375. }
  376. }
  377. else {
  378. model.RuleId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleId;
  379. model.EventGroupId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().EventGroupId;
  380. model.RuleEventId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleEventId;
  381. model.ActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId;
  382. model.ParentActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId;
  383. Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
  384. if (response.status == Unibase.Data.Status.Error) {
  385. MessageHelper.Instance().showError(response.message, "Validate_ApiAction");
  386. }
  387. else {
  388. MessageHelper.Instance().showSuccess(response.message, "Validate_ApiAction");
  389. $('#' + containerid).modal('hide');
  390. $('#' + containerid).remove();
  391. Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
  392. }
  393. });
  394. }
  395. }
  396. LoadApiParameters(ruleproviderid) {
  397. Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
  398. let ApiParameters = document.getElementById('ddl_ApiParameters');
  399. $('#ddl_ApiParameters').empty();
  400. var defaultOpt1 = document.createElement("option");
  401. defaultOpt1.text = "Select Token";
  402. defaultOpt1.value = "0";
  403. ApiParameters.appendChild(defaultOpt1);
  404. for (let i = 0; i <= response.length - 1; i++) {
  405. var opt = document.createElement("option");
  406. opt.text = response[i];
  407. opt.value = (i + 1).toString();
  408. ApiParameters.appendChild(opt);
  409. }
  410. });
  411. }
  412. GetRuleActionInfo(parentactionid) {
  413. return __awaiter(this, void 0, void 0, function* () {
  414. yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(parentactionid).then(function (response) {
  415. if (response != null) {
  416. var html = '<option value=' + response.NotificationGroupId + ' selected>' + response.NotificationGroupName + '</option>';
  417. $('#ddl_NotificationGrp').html('').html(html);
  418. }
  419. });
  420. });
  421. }
  422. static Instance() {
  423. if (this.instance === undefined) {
  424. this.instance = new ApiIntegrator();
  425. }
  426. return this.instance;
  427. }
  428. }
  429. Components.ApiIntegrator = ApiIntegrator;
  430. })(Components = Automation.Components || (Automation.Components = {}));
  431. })(Automation = Platform.Automation || (Platform.Automation = {}));
  432. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  433. })(Unibase || (Unibase = {}));