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 SendWhatsApp 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/templates/managers/templatemanager.js", "platform/automation/requests/rulecondition.js", "platform/forms/components/formviewer/formviewer.js", "libs/parsley/parsley.min.js", "platform/templates/enums/templatetype.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", "apps/communications/managers/whatsapp/whatsappmanager.js" ]; return jsfiles; } cssFiles() { return []; } html(id, containerid) { let html = `
Create WhatsAppReminder
Advanced Options
Condition Details
Send To Details
Send From Details
`; return html; } load(id, containerid, callback) { return __awaiter(this, void 0, void 0, function* () { var instance = this; Unibase.Platform.Automation.Components.SendWhatsApp.Instance().ActionId = instance.ActionId; Unibase.Platform.Automation.Components.SendWhatsApp.Instance().RuleActionData = instance.RuleActionData; Unibase.Platform.Automation.Components.SendWhatsApp.Instance().RowIndex = instance.RowIndex; Unibase.Platform.Automation.Components.SendWhatsApp.Instance().AutomationMode = instance.AutomationMode; Unibase.Platform.Automation.Components.SendWhatsApp.Instance().RuleProviderId = instance.RuleProviderId; Unibase.Platform.Automation.Components.SendWhatsApp.Instance().ParentActionId = instance.ParentActionId; Unibase.Platform.Automation.Components.SendWhatsApp.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 + '")'); } if (instance.ParentActionId != 0) { yield Unibase.Platform.Automation.Components.ContactSelection.Instance().getResultActions(instance.ParentActionId); yield Unibase.Platform.Automation.Components.SendWhatsApp.Instance().GetRuleActionInfo(Number(instance.ParentActionId)); $('#ddl_NotificationGrp').prop("disabled", true); $('#creategrp_btn').addClass('d-none'); } yield Unibase.Platform.Automation.Components.SendWhatsApp.Instance().loadproviders(); var _fileCacheHelper = Platform.Helpers.FileCacheHelper.Instance(); yield _fileCacheHelper.loadJsFileAsync("platform/automation/components/contactselection.js", function () { jQuery(".ContactSelection").html(Unibase.Platform.Automation.Components.ContactSelection.Instance().init(instance.RuleProviderId)); if (instance.RuleActionData.length != 0) { Unibase.Platform.Automation.Components.SendWhatsApp.Instance().LoadWhatsAppData(instance.RuleActionData); } }); yield _fileCacheHelper.loadJsFileAsync("platform/automation/components/externalrecipients.js", function () { jQuery(".ExternalRecipients").html(Unibase.Platform.Automation.Components.ExternalRecipients.Instance().init(instance.RuleProviderId)); Unibase.Platform.Automation.Components.ExternalRecipients.Instance().load(instance.RuleProviderId); }); $('#creategrp_btn').click(function () { Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true); }); $("#btnCloseWhatsAppReminder").click(function () { $('#' + containerid).modal('hide'); $('#' + containerid).remove(); if (Unibase.Platform.Automation.Components.SendWhatsApp.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) { if (Unibase.Platform.Automation.Components.SendWhatsApp.Instance().AutomationMode) { if (Unibase.Platform.Automation.Components.SendWhatsApp.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 = []; }); $("#btnSaveWhatsAppReminder").click(function () { let appcontrolid = "frmUnibase_SendWhatsApp"; let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid); if (result == false) { MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_WhatsAppAction"); return false; } else { Unibase.Platform.Automation.Components.SendWhatsApp.Instance().SaveWhatsAppReminder(id, containerid); } }); $("#ddl_bodyTokens").change(function () { var textAreaTxt = $(".textArea_WhatsappBody").val() == undefined ? "" : $(".textArea_WhatsappBody").val().toString(); SendWhatsApp.Instance().Parameters = $("#ddl_bodyTokens option:selected").text() + "|"; var txtToAdd = '{{' + $("#ddl_bodyTokens option:selected").text() + '}}'; var firsttext = textAreaTxt.slice(0, SendWhatsApp.Instance().tokenposition); var lasttext = textAreaTxt.slice(SendWhatsApp.Instance().tokenposition, textAreaTxt.length); $(".textArea_WhatsappBody").val(firsttext + txtToAdd + lasttext); $("#ddl_bodyTokens").val(0); }); $(".textArea_WhatsappBody").focusout(function (event) { SendWhatsApp.Instance().tokenposition = event["target"]["selectionStart"]; }); $("#Autocomplete_Template").change(function () { let templateid = Number($("#Autocomplete_Template option:selected").val()); Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplateText(Number(templateid)).then(function (response) { if (response.result != null) { var templatetext = HtmlHelper.getHelper().decode(response.result.TemplateText); $('.textArea_WhatsappBody').text(templatetext); } }); }); let rpid = instance.RuleProviderId; if (rpid != 0) { Unibase.Platform.Automation.Components.SendWhatsApp.Instance().LoadBodyTokens(rpid); Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(rpid, null); Unibase.Platform.Automation.Components.SendWhatsApp.Instance().loadTemplates(instance.RuleProviderId); } if (id != "") { Unibase.Platform.Automation.Components.SendWhatsApp.Instance().EditWhatsAppReminder(id, containerid); } $('#Autocomplete_ProviderName').change(function () { if (SendWhatsApp.whatsappsenders.length > 0) { var providerid = Number($('#Autocomplete_ProviderName option:selected').val()); var data = SendWhatsApp.whatsappsenders.filter(x => x.ProviderId = providerid); var html = ''; for (let i = 0; i < data.length; i++) { html += ''; } $('#Autocomplete_SenderName').html(html); } }); }); } 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"); } loadproviders() { return __awaiter(this, void 0, void 0, function* () { yield Unibase.Apps.Communications.Managers.WhatsAppManager.Instance().GetWhatAppSenders().then(function (response) { if (response.result != null) { SendWhatsApp.whatsappsenders = response.result; var htmlProvider = ''; for (let i = 0; i < response.result.length; i++) { var data = response.result[i]; htmlProvider += ''; } $('#Autocomplete_ProviderName').html(htmlProvider); } }); }); } 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); } }); }); } SaveWhatsAppReminder(id, containerid) { var instance = this; let ruleactionid = Number(id); let queryelmnt = $("#builder"); let recipients = Unibase.Platform.Automation.Components.ContactSelection.Instance().GetRecipients(); let contactcolumns = Unibase.Platform.Automation.Components.ContactSelection.Instance().getContactColumns(); let secondarycontactcolumns = Unibase.Platform.Automation.Components.ContactSelection.Instance().getSecondaryContactColumns(); let externalroles = Unibase.Platform.Automation.Components.ExternalRecipients.Instance().GetExternalRoles(); let externalusers = Unibase.Platform.Automation.Components.ExternalRecipients.Instance().GetExternalUsers(); let model = new Unibase.Platform.Automation.Requests.RuleAction(); model.RuleActionId = ruleactionid; model.RuleActionName = $("#txtWhatsApp_RuleActionName").val().toString(); model.NotificationGroupId = $('#ddl_NotificationGrp').val() == undefined ? 0 : Number($('#ddl_NotificationGrp').val()); if (model.NotificationGroupId == 0) { MessageHelper.Instance().showError("Please Select Notification Group", "Validate_NotificationAction"); return; } model.ResultActionId = Number($("#ddl_ResultAction option:selected").val()); if (model.ResultActionId != 0) { model.ResultActionName = $("#ddl_ResultAction option:selected").text(); } else { model.ResultActionName = ""; } model.BString6 = externalroles; model.BString7 = externalusers; model.String1 = $("#Autocomplete_Template option:selected").val() == undefined ? "0" : $("#Autocomplete_Template option:selected").val().toString(); model.String2 = $('#ddl_TemplateType option:selected').val().toString(); model.String3 = $('#ddl_LanguageCode option:selected').val().toString(); if (model.String1 == "0" || model.String2 == "0" || model.String3 == "0") { MessageHelper.Instance().showError("Please Select Mandatory Fields", "Validate_WhatsAppAction"); return; } model.BString10 = $('#Autocomplete_ProviderName option:selected').val() == undefined ? "0" : $('#Autocomplete_ProviderName option:selected').val().toString(); model.BString11 = $('#Autocomplete_SenderName option:selected').val() == undefined ? "0" : $('#Autocomplete_SenderName option:selected').val().toString(); if (model.BString10 == "0" || model.BString11 == "0") { MessageHelper.Instance().showError("Please Select manag=datory Fields", "Validate_WhatsAppAction"); } model.String5 = $(".textArea_WhatsappBody").val().toString(); model.String6 = SendWhatsApp.Instance().Parameters; SendWhatsApp.Instance().Parameters = ""; model.ActionId = Unibase.Platform.Automation.Components.SendWhatsApp.Instance().ActionId; model.RuleId = 0; model.Users = contactcolumns; model.SecondaryUsers = secondarycontactcolumns; 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.String7 = true; model.DelayTime = 0; model.ParentActionId = Unibase.Platform.Automation.Components.SendWhatsApp.Instance().ParentActionId; model.AutoApproved = $('#chkAutoApprovedWhatsapp').is(':checked'); model.RecipientsData = recipients; model.RowIndex = Unibase.Platform.Automation.Components.SendWhatsApp.Instance().RowIndex; if (Unibase.Platform.Automation.Components.SendWhatsApp.Instance().IsAutomationMode) { if (Unibase.Platform.Automation.Components.SendWhatsApp.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_WhatsAppAction"); } else { MessageHelper.Instance().showSuccess(response.message, "Validate_WhatsAppAction"); $('#' + containerid).modal('hide'); $('#' + containerid).remove(); Unibase.Platform.Automation.Components.Conditions.conditionArray = []; var actionname = response.result.RuleActionName; eval("bizgaze_automation_flow_main.savewhatsappblock('" + response.result.RuleActionId + "','" + actionname + "')"); } }); } } else { model.RuleId = Unibase.Platform.Automation.Components.SendWhatsApp.Instance().RuleId; model.EventGroupId = Unibase.Platform.Automation.Components.SendWhatsApp.Instance().EventGroupId; model.RuleEventId = Unibase.Platform.Automation.Components.SendWhatsApp.Instance().RuleEventId; model.ActionId = Unibase.Platform.Automation.Components.SendWhatsApp.Instance().ActionId; model.ParentActionId = Unibase.Platform.Automation.Components.SendWhatsApp.Instance().ParentActionId; Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) { if (response.status == Unibase.Data.Status.Error) { MessageHelper.Instance().showError(response.message, "Validate_WhatsAppAction"); } else { MessageHelper.Instance().showSuccess(response.message, "Validate_WhatsAppAction"); $('#' + containerid).modal('hide'); $('#' + containerid).remove(); Unibase.Platform.Automation.Components.Conditions.conditionArray = []; } }); } } ToggleWhatsAppConditions() { $('#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.SendNotification.Instance().RuleProviderId, null); } else { $('.conditionicon').removeClass('fa-angle-up').addClass('fa-angle-down'); } } loadTemplates(ruleproviderid) { let templatetypeid = Number(Unibase.Platform.Templates.Enums.TemplateType.Mail); Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) { var url = _appsettings.server_url() + '/apis/v4/unibase/platform/templates/gettemplatesautocomplatebytemplatetype/installedappid/' + response.InstalledAppId + '/templatetypeid/' + templatetypeid; AutoCompleteHelper.getHelper().Create("#Autocomplete_Template", "#hf_Template", url, function (response) { var data = response; }); }); } EditWhatsAppReminder(id, containerid) { let actionid = Number(id); $("#Spn_SendWhatsApp").text("Edit WhatsAppReminder"); Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) { $("#txtWhatsApp_RuleActionName").val(response.RuleActionName); $('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true); if (!Unibase.Platform.Automation.Components.SendWhatsApp.Instance().IsAutomationMode) { Unibase.Platform.Automation.Components.SendWhatsApp.Instance().RuleId = response.RuleId; Unibase.Platform.Automation.Components.SendWhatsApp.Instance().RuleEventId = response.RuleEventId; Unibase.Platform.Automation.Components.SendWhatsApp.Instance().EventGroupId = response.EventGroupId; Unibase.Platform.Automation.Components.SendWhatsApp.Instance().ActionId = response.ActionId; Unibase.Platform.Automation.Components.SendWhatsApp.Instance().ParentActionId = response.ParentActionId; } if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved)) $("#chkAutoApprovedWhatsapp").prop("checked", false); else $("#chkAutoApprovedWhatsapp").prop("checked", true); $('.textArea_WhatsappBody').val(response.String5); $('#ddl_TemplateType').val(response.String2); $('#ddl_LanguageCode').val(response.String3); $('#Autocomplete_ProviderName').val(response.BString10); var datainfo = SendWhatsApp.whatsappsenders.find(x => x.SenderId == Number(response.BString11)); $('#Autocomplete_SenderName').html(''); Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckContactColumns(response.Users); Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckSecondaryContactColumns(response.SecondaryUsers); Unibase.Platform.Automation.Components.ContactSelection.Instance().BindRecipients(response.RuleActionId); if (response.ResultActionId != null) { $('#ddl_ResultAction').val(response.ResultActionId); } if (response.SqlWhere != null && response.SqlWhere != "") { $('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up'); $("#ActionConditionsDiv").removeClass("hidden"); } let templateid = Number(response.String1); Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplateText(templateid).then(function (res) { var whatsapptemplate = new Option(res.result.TemplateName, res.result.TemplateId.toString(), true); $("#Autocomplete_Template").append(whatsapptemplate); }); Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere); eval('_floatingLabelHelper.init();'); }); } LoadBodyTokens(ruleproviderid) { Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) { let cmbConditionProperties = document.getElementById('ddl_bodyTokens'); $('#ddl_bodyTokens').empty(); var defaultOpt1 = document.createElement("option"); defaultOpt1.text = "Select Token"; defaultOpt1.value = "0"; cmbConditionProperties.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(); cmbConditionProperties.appendChild(opt); } }); } LoadWhatsAppData(Data) { for (var i = 0; i < Data.length; i++) { $("#txtWhatsApp_RuleActionName").val(Data[i].RuleActionName); $("#txtWhatsApp_MessageSubject").val(Data[i].BString1); $("#txtWhatsApp_MessageBody").val(Data[i].BString2); if (!Data[i].AutoApproved) $("#chkAutoApprovedWhatsapp").prop("checked", false); else $("#chkAutoApprovedWhatsapp").prop("checked", true); Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckContactColumns(Data[i].Users); Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckSecondaryContactColumns(Data[i].SecondaryUsers); $("#div_Subject").addClass('floating-label-form-group-with-value'); $("#div_Body").addClass('floating-label-form-group-with-value'); if (Data[i].RecipientsData != null) { $("#select2_Roles").val(Data[i].RecipientsData.RoleRecipients).trigger('change'); $("#select2_Users").val(Data[i].RecipientsData.UserRecipients).trigger('change'); } if (Data[i].SqlWhere != "" && Data[i].SqlWhere != null) { Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.SendNotification.Instance().RuleProviderId, Data[i].SqlWhere); $("#btn_ActionConditions").addClass("hidden"); $("#ActionConditionsDiv").removeClass("hidden"); } eval('_floatingLabelHelper.init();'); } } static Instance() { if (this.instance === undefined) { this.instance = new SendWhatsApp(); } return this.instance; } } SendWhatsApp.whatsappsenders = []; Components.SendWhatsApp = SendWhatsApp; })(Components = Automation.Components || (Automation.Components = {})); })(Automation = Platform.Automation || (Platform.Automation = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));