var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Unibase; (function (Unibase) { let Platform; (function (Platform) { let Automation; (function (Automation) { let Components; (function (Components) { class ApiIntegrator extends Platform.Core.BaseComponent { constructor() { super(...arguments); this.RowIndex = 0; this.RuleProviderId = 0; this.AutomationMode = 0; this.RuleInstance = Unibase.Platform.Automation.Components.Rule.Instance(); } jsFiles() { var jsfiles = ["platform/automation/managers/rulemanager.js", "platform/automation/enums/automationmode.js", "platform/automation/components/conditions.js", "platform/automation/components/contactselection.js", "platform/automation/requests/ruleaction.js", "platform/automation/requests/rulecondition.js", "platform/forms/components/formviewer/formviewer.js", "libs/parsley/parsley.min.js", "libs/querybuilder/query-builder.min.js", "libs/querybuilder/query-builder.standalone.min.js", "libs/querybuilder/query-builder.standalone.js", "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" ]; return jsfiles; } cssFiles() { return []; } html(id, containerid) { let html = `
`; return html; } load(id, containerid, callback) { return __awaiter(this, void 0, void 0, function* () { var instance = this; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId = instance.ActionId; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleActionData = instance.RuleActionData; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RowIndex = instance.RowIndex; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode = instance.AutomationMode; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleProviderId = instance.RuleProviderId; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId = instance.ParentActionId; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode = instance.IsAutomationMode; yield Unibase.Platform.Automation.Components.NotificationGroup.Instance().LoadNotificationGroups(); if (instance.AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode) { eval('bizgaze_automation_flow_main.getcontainerid("' + containerid + '")'); } $('#creategrp_btn').click(function () { Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true); }); $("#btnCloseApiIntegrator").click(function () { $('#' + containerid).modal('hide'); $('#' + containerid).remove(); if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) { if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode) { if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode) { Unibase.Platform.Automation.Components.Rule.Instance().ChangeAction(instance.RowIndex, id); } } } else { eval("bizgaze_automation_flow_main.getpopupclosed()"); } Unibase.Platform.Automation.Components.Conditions.conditionArray = []; }); $("#btnSaveApiIntegrator").click(function () { let appcontrolid = "frmUnibase_ApiIntegrator"; let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid); if (result == false) { MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_ApiAction"); return false; } else { Unibase.Platform.Automation.Components.ApiIntegrator.Instance().SaveApiIntegrator(id, containerid); } }); $("#ddl_ApiParameters").change(function () { var textAreaTxt = $("#txtApiIntegrator_ApiParameter").val().toString(); var txtToAdd = '{{' + $("#ddl_ApiParameters option:selected").text() + '}}'; var firsttext = textAreaTxt.slice(0, ApiIntegrator.Instance().tokenposition); var lasttext = textAreaTxt.slice(ApiIntegrator.Instance().tokenposition, textAreaTxt.length); $("#txtApiIntegrator_ApiParameter").val(firsttext + txtToAdd + lasttext); $("#ddl_ApiParameters").val(0); }); $("#txtApiIntegrator_ApiParameter").focusout(function (event) { ApiIntegrator.Instance().tokenposition = event["target"]["selectionStart"]; }); if (instance.RuleInstance.IsStageChangeEvent()) { $('#SelectstagesDiv').removeClass('d-none'); yield Unibase.Platform.Automation.Components.ApiIntegrator.Instance().LoadAppStages(); } else { $('#SelectstagesDiv').addClass('d-none'); } if (instance.ParentActionId != 0) { yield Unibase.Platform.Automation.Components.ContactSelection.Instance().getResultActions(instance.ParentActionId); yield Unibase.Platform.Automation.Components.ApiIntegrator.Instance().GetRuleActionInfo(Number(instance.ParentActionId)); $('#ddl_NotificationGrp').prop("disabled", true); $('#creategrp_btn').addClass('d-none'); } if (id != "") { setTimeout(function () { Unibase.Platform.Automation.Components.ApiIntegrator.Instance().EditApiIntegrator(id); }, 10); } let rpid = instance.RuleProviderId; if (rpid != 0) { Unibase.Platform.Automation.Components.ApiIntegrator.Instance().LoadApiParameters(rpid); Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(rpid, null); } if (instance.RuleActionData.length != 0) { Unibase.Platform.Automation.Components.ApiIntegrator.Instance().LoadApiIntegratorData(instance.RuleActionData); } var url = _appsettings.server_url() + '/apis/v4/unibase/integrations/integrator/servicintegratorautocomplete/integratorid/0'; AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Services", "#hf_Autocomplete_Services", url, function (response) { var data = response; }); }); } ToggleApiIntegratorConditions() { $('#ActionConditionsDiv').toggleClass("hidden"); if ($('.conditionicon').hasClass('fa-angle-down')) { $('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up'); Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleProviderId, null); } else { $('.conditionicon').removeClass('fa-angle-up').addClass('fa-angle-down'); } } Toggleadvancedoptions() { if ($('.arrowicon').hasClass('fa-angle-down')) { $('.arrowicon').removeClass('fa-angle-down').addClass('fa-angle-up'); } else { $('.arrowicon').removeClass('fa-angle-up').addClass('fa-angle-down'); } $('.Advanced_options').toggleClass("hidden"); } LoadAppStages() { return __awaiter(this, void 0, void 0, function* () { var html = ''; var fromstage = ''; var tostage = ''; var installeappid = Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId; yield Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(installeappid).then(function (response) { if (response.result != null) { for (let i = 0; i < response.result.length; i++) { var data = response.result[i]; html += ''; } } $('.from_stage_apiintegrator').html(fromstage + html); $('.to_stage_apiintegrator').html(tostage + html); }); }); } EditApiIntegrator(id) { let actionid = Number(id); $("#Spn_ApiIntegrator").text("Edit Api Integrator"); Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) { $("#txtApiIntegrator_RuleActionName").val(response.RuleActionName); $("#txtApiIntegrator_ApiParameter").val(response.BString2); $('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true); if (response.ResultActionId != null) { $('#ddl_ResultAction').val(response.ResultActionId); } if (!Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode) { Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleId = response.RuleId; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleEventId = response.RuleEventId; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().EventGroupId = response.EventGroupId; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId = response.ActionId; Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId = response.ParentActionId; } if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved)) $("#chkAutoApprovedApiIntegrator").prop("checked", false); else $("#chkAutoApprovedApiIntegrator").prop("checked", true); let id = Number(response.BString4); Unibase.Platform.Integrations.Managers.IntegrationManager.Instance().getServiceIntegratorById(id).then(function (res) { var serviceoption = new Option(res.result.ServiceIntegratorName, res.result.ServiceIntegratorId.toString(), true); $("#txtAutoComplete_Services").append(serviceoption); }); Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere); if (response.SqlWhere != null && response.SqlWhere != "") { $("#ActionConditionsDiv").removeClass("hidden"); $('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up'); } if (response.FromStage != null && response.ToStage != null) { $('.from_stage_apiintegrator option[value=' + response.FromStage + ' ]').prop('selected', true); $('to_stage_apiintegrator option[value=' + response.ToStage + ']').prop('selected', true); } $('#message_result').val(Number(response.BString5)); eval('_floatingLabelHelper.init();'); }); } LoadApiIntegratorData(Data) { for (var i = 0; i < Data.length; i++) { $("#txtApiIntegrator_RuleActionName").val(Data[i].RuleActionName); $("#txtApiIntegrator_ApiParameter").val(Data[i].BString1); let id = Number(Data[i].BString4); Unibase.Platform.Integrations.Managers.IntegrationManager.Instance().getServiceIntegratorById(id).then(function (res) { var serviceoption = new Option(res.result.ServiceIntegratorName, res.result.ServiceIntegratorId.toString(), true); $("#txtAutoComplete_Services").append(serviceoption); }); if (!Data[i].AutoApproved) $("#chkAutoApprovedApiIntegrator").prop("checked", false); else $("#chkAutoApprovedApiIntegrator").prop("checked", true); if (Data[i].SqlWhere != "" && Data[i].SqlWhere != null) { Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleProviderId, Data[i].SqlWhere); $('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up'); $("#ActionConditionsDiv").removeClass("hidden"); } eval('_floatingLabelHelper.init();'); } } SaveApiIntegrator(ApiIntegratorid, containerid) { var instance = this; let ruleactionid = Number(ApiIntegratorid); let queryelmnt = $("#builder"); let model = new Unibase.Platform.Automation.Requests.RuleAction(); model.RuleActionId = ruleactionid; model.RuleActionName = $("#txtApiIntegrator_RuleActionName").val().toString(); model.BString1 = $("#txtApiIntegrator_ApiParameter").val().toString(); model.BString2 = $("#txtApiIntegrator_ApiParameter").val().toString(); model.BString4 = $("#txtAutoComplete_Services").val().toString(); model.BString5 = $('#message_result option:selected').val().toString(); model.ActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId; model.RuleId = 0; model.Users = ""; model.NotificationGroupId = $('#ddl_NotificationGrp').val() == undefined ? 0 : Number($('#ddl_NotificationGrp').val()); if (model.NotificationGroupId == 0) { MessageHelper.Instance().showError("Please Select Notification Group", "Validate_ApiAction"); return; } if (instance.RuleInstance.IsStageChangeEvent()) { model.FromStage = $('.from_stage_apiintegrator option:selected').val() != "0" ? Number($('.from_stage_apiintegrator option:selected').val()) : 0; model.ToStage = $('.to_stage_apiintegrator option:selected').val() != "0" ? Number($('.to_stage_apiintegrator option:selected').val()) : 0; } let query = queryelmnt.queryBuilder('getSQL', false, true); if (query != null) { model.SqlWhere = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE"); ; model.SqlWhereJson = JSON.stringify(queryelmnt.queryBuilder('getSQL', false, true)); } else { model.SqlWhere = ""; model.SqlWhereJson = ""; } model.ResultActionId = Number($("#ddl_ResultAction option:selected").val()); if (model.ResultActionId != 0) { model.ResultActionName = $("#ddl_ResultAction option:selected").text(); } else { model.ResultActionName = ""; } model.DelayTime = 0; model.ParentActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId; model.AutoApproved = $('#chkAutoApprovedApiIntegrator').is(':checked'); model.RowIndex = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RowIndex; if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode) { if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) { Unibase.Platform.Automation.Components.Rule.Instance().RuleActionsArray(model); $('#' + containerid).modal('hide'); $('#' + containerid).remove(); Unibase.Platform.Automation.Components.Conditions.conditionArray = []; } else { model.RuleId = eval("bizgaze_automation_flow_main.getruleid()"); Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) { if (response.status == Unibase.Data.Status.Error) { MessageHelper.Instance().showError(response.message, "Validate_ApiAction"); } else { MessageHelper.Instance().showSuccess(response.message, "Validate_ApiAction"); $('#' + containerid).modal('hide'); $('#' + containerid).remove(); Unibase.Platform.Automation.Components.Conditions.conditionArray = []; var actionname = response.result.RuleActionName; eval("bizgaze_automation_flow_main.saveApiIntegratorblock('" + response.result.RuleActionId + "','" + actionname + "')"); } }); } } else { model.RuleId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleId; model.EventGroupId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().EventGroupId; model.RuleEventId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleEventId; model.ActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId; model.ParentActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId; Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) { if (response.status == Unibase.Data.Status.Error) { MessageHelper.Instance().showError(response.message, "Validate_ApiAction"); } else { MessageHelper.Instance().showSuccess(response.message, "Validate_ApiAction"); $('#' + containerid).modal('hide'); $('#' + containerid).remove(); Unibase.Platform.Automation.Components.Conditions.conditionArray = []; } }); } } LoadApiParameters(ruleproviderid) { Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) { let ApiParameters = document.getElementById('ddl_ApiParameters'); $('#ddl_ApiParameters').empty(); var defaultOpt1 = document.createElement("option"); defaultOpt1.text = "Select Token"; defaultOpt1.value = "0"; ApiParameters.appendChild(defaultOpt1); for (let i = 0; i <= response.length - 1; i++) { var opt = document.createElement("option"); opt.text = response[i]; opt.value = (i + 1).toString(); ApiParameters.appendChild(opt); } }); } GetRuleActionInfo(parentactionid) { return __awaiter(this, void 0, void 0, function* () { yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(parentactionid).then(function (response) { if (response != null) { var html = ''; $('#ddl_NotificationGrp').html('').html(html); } }); }); } static Instance() { if (this.instance === undefined) { this.instance = new ApiIntegrator(); } return this.instance; } } Components.ApiIntegrator = ApiIntegrator; })(Components = Automation.Components || (Automation.Components = {})); })(Automation = Platform.Automation || (Platform.Automation = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));