/// /// /// var elements = { SMS: { icon: "libs/flowy/assets/sms.svg", name: "SMS", color: "#eaeced", iconcolor: "#66636a" }, TASK: { icon: "libs/flowy/assets/task.svg", name: "TASK", color: "#eaeced", iconcolor: "#e7d93d" }, NOTIFICATION: { icon: "libs/flowy/assets/bell.svg", name: "NOTIFICATION", color: "#eaeced", iconcolor: "#f38d08" }, EXECUTEQUERY: { icon: "libs/flowy/assets/database.svg", name: "EXECUTEQUERY", color: "#eaeced", iconcolor: "#4da782" }, MAIL: { icon: "libs/flowy/assets/email.svg", name: "MAIL", color: "#eaeced", iconcolor: "#ff35a2" }, APIINTEGRATOR: { icon: "libs/flowy/assets/database.svg", name: "APIINTEGRATOR", color: "#eaeced", iconcolor: "#c96e3f" }, STAGECHANGE: { icon: "libs/flowy/assets/stage.svg", name: "STAGECHANGE", color: "#eaeced", iconcolor: "#60afb7" }, SCHEDULAR: { icon: "libs/flowy/assets/time.svg", name: "SCHEDULAR", color: "#eaeced", iconcolor: "#9a6aab" }, EVENT: { icon: "libs/flowy/assets/icon.png", name: "EVENT", color: "#959595", iconcolor: "" }, WHATSAPP: { icon: "libs/flowy/assets/whatsapp.svg", name: "WHATSAPP", color: "#eaeced", iconcolor: "#1fa581" }, } var containerid; var actions = []; var Ruleproviderid = 0; var smsblock; var emailblock; var notificationblock; var taskblock; var stagechangeblock; var etemplateblock; var whatsappblock; var eventblock; var apiblock; var disabledClick; var removefunction; var execuetqueryblock; var RuleId = 0; var importdata = ''; var ispopupopened = false; var datainfo = []; var isdelete = false; var isplusbtn = false; var installedappid = 0; var rpid = 0; var rulename = ""; var containerid; var _IsChildAction = false; var bizgaze_automation_flow_main = { //group id saveruleblock: function (id, name, ruleproviderid) { RuleId = Number(id); $('.rule_dataul').attr("id", RuleId).attr("alt", name); ispopupopened = false; //after saving disable all input fields $('#installedapp_dropdown').attr("disabled", "true"); $('#ddl_RuleProvider').attr("disabled", "true"); $("#txt_Rule").attr("disabled", "true"); }, saveeventblock: function (id, name) { if (Number(eventblock.id) == 0) { eventblock.id = id; $(eventblock).children().children().children('.action_data').append('
' + name + '
'); $(eventblock).parent().closest('.box').parent().children('.parent-list').attr("id", id).attr("alt", name) } if (!$(eventblock).children().children().children('.event_name').hasClass('event_name')) { $(eventblock).children().children('.card_menu_wrapper').append('') } ispopupopened = false; }, saveeventname(eventname) { $('.event_name').val(eventname) }, savesmsblock: function (id, name) { smsblock.id = id; $(smsblock).children().children().children().children('.action_data').append(name); $(smsblock).children().children('.deleteicon').children('.deleteblock').addClass('d-none'); $(smsblock).parent().closest('.box').parent().children('.parent-list').attr("id", id).attr("alt", name); ispopupopened = false; }, savenotificationblock: function (id, name) { notificationblock.id = id; $(notificationblock).children().children().children().children('.action_data').append(name); $(notificationblock).children().children('.deleteicon').children('.deleteblock').addClass('d-none'); ispopupopened = false; $(notificationblock).parent().closest('.box').parent().children('.parent-list').attr("id", id).attr("alt", name); }, savewhatsappblock: function (id, name) { whatsappblock.id = id; $(whatsappblock).children().children().children().children('.action_data').append(name); $(whatsappblock).children().children('.deleteicon').children('.deleteblock').addClass('d-none'); ispopupopened = false; $(whatsappblock).parent().closest('.box').parent().children('.parent-list').attr("id", id).attr("alt", name); }, savetaskblock: function (id, name) { taskblock.id = id; ispopupopened = false; $(taskblock).children().children().children().children('.action_data').append(name); $(taskblock).children().children('.deleteicon').children('.deleteblock').addClass('d-none'); $(taskblock).parent().closest('.box').parent().children('.parent-list').attr("id", id).attr("alt", name); }, saveemailblock: function (id, name) { emailblock.id = id; ispopupopened = false; $(emailblock).children().children().children().children('.action_data').append(name); $(emailblock).children().children('.deleteicon').children('.deleteblock').addClass('d-none'); $(emailblock).parent().closest('.box').parent().children('.parent-list').attr("id", id).attr("alt", name); }, savestagechangeblock: function (id, name) { stagechangeblock.id = id; ispopupopened = false; $(stagechangeblock).children().children().children().children('.action_data').append(name); $(stagechangeblock).children().children('.deleteicon').children('.deleteblock').addClass('d-none'); $(stagechangeblock).parent().closest('.box').parent().children('.parent-list').attr("id", id).attr("alt", name); }, saveApiIntegratorblock: function (id, name) { apiblock.id = id; ispopupopened = false; $(apiblock).children().children().children().children('.action_data').append(name); $(apiblock).children().children('.deleteicon').children('.deleteblock').addClass('d-none'); $(apiblock).parent().closest('.box').parent().children('.parent-list').attr("id", id).attr("alt", name); }, saveExecuteQueryblock: function (id, name) { execuetqueryblock.id = id; ispopupopened = false; $(execuetqueryblock).children().children().children().children('.action_data').append(name); $(execuetqueryblock).children().children('.deleteicon').children('.deleteblock').addClass('d-none'); $(execuetqueryblock).parent().closest('.box').parent().children('.parent-list').attr("id", id).attr("alt", name); }, getruleid: function () { return RuleId; }, import: function (data) { importdata = data.html; datainfo = data.data; }, output: function () { eval("closemenu()"); var datainfo = []; $('.parent-list').each(function () { if (Number($(this).attr("id")) != 0) { var info = { Name: $(this).attr("alt"), Id: Number($(this).attr("id")), Action: $(this).attr("data-name") } datainfo.push(info); } }); var output = { data: datainfo, html: $('.treebody').html() } return output; }, getruleid: function () { return RuleId; }, getruleproviderid: function () { return Ruleproviderid; }, getpopupclosed: function () { ispopupopened = false; }, appendruleid: function (id) { RuleId = Number(id); }, getcloseadvmode: function () { importdata = ''; datainfo = []; RuleId = 0; }, appendruleproviderid: function (id) { Ruleproviderid = Number(id); }, getcontainerid: function (containerdata) { containerid = containerdata; }, IsChildAction() { return _IsChildAction; } } // actions function load() { Unibase.Platform.Automation.Managers.RuleManager.Instance().getActions().then(function (response) { for (var i = 0; i <= response.length - 1; i++) { actions.push(response[i]); } }); //previous data if (datainfo.length > 0) { //rule var info = datainfo.find(x => x.Action == "RULE"); $("#txt_Rule").val(info.Name); //rule provider Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(Ruleproviderid).then(function (response) { if (response != null) { $('#installedapp_dropdown').html(''); $('#installedapp_dropdown').html(''); $('#ddl_RuleProvider').html(''); $('#ddl_RuleProvider').html(''); Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId = Number(response.InstalledAppId); } }); //disable all input fields $('#installedapp_dropdown').attr("disabled", "true"); $('#ddl_RuleProvider').attr("disabled", "true"); $("#txt_Rule").attr("disabled", "true"); } //import data var html = importdata; if (html == '') { html = `
  • +
    `; } $('.treebody').append(html); } function deleteblock(type) { isdelete = true; $(type).parent().closest('.box').parent().remove(); if (ispopupopened) { ispopupopened = false; $('#' + containerid).modal('hide'); $('#' + containerid).remove(); } } function parentid(type) { var parentname = $(type).parent().closest('.box').parent().children('.parent-list').parent().parent().attr('data-name'); var parentid = 0; if (parentname != "EVENT") { parentid = Number($(type).parent().closest('.box').parent().children('.parent-list').parent().parent().attr("id")); } return parentid; } //side menu function openmenu(e) { $('input[name="startbtnmenu"]').prop("checked", false); rpid = Number($('#ddl_RuleProvider option:selected').val()); rulename = $('#txt_Rule').val(); var parentname = $(e).parent().closest('.box').parent().children('.parent-list').attr('data-name'); var data = []; isplusbtn = true; if ($(e).parent().find('.sideline').hasClass('d-none') && $(e).parent().find('.sidemenu').hasClass('d-none')) { $('.sidemenu').each(function () { if (!$(this).hasClass('d-none')) { $(this).addClass('d-none'); } }); $('.sideline').each(function () { if (!$(this).hasClass('d-none')) { $(this).addClass('d-none'); } }); $(e).parent().find('.sideline').removeClass('d-none'); $(e).parent().find('.sidemenu').removeClass('d-none'); } else { $(e).parent().find('.sideline').addClass('d-none'); $(e).parent().find('.sidemenu').addClass('d-none'); } if (rulename == "" || rpid == 0) { $(e).parent().find('.sidemenu').html(Errorhtml("Rule Fields Are Missing")); } else if (Number($(e).parent().parent().children('.parent-list').attr("id")) == 0 && parentname != "RULE") { $(e).parent().find('.sidemenu').html(Errorhtml("Please Save Parent")); } else if ($(e).parent().find('.sidemenu').hasClass('dataadded') != true) { $(e).parent().find('.sidemenu').addClass('dataadded'); if (parentname != "RULE") { data = ["SMS", "NOTIFICATION", "MAIL", "EXECUTEQUERY", "STAGECHANGE", "APIINTEGRATOR", "TASK","WHATSAPP"]; } else { data = ["EVENT"]; } $(e).parent().find('.sidemenu').html(menubarfunction(data)); } } function closemenu() { if (!isplusbtn) { $('.sidemenu').each(function () { if (!$(this).hasClass('d-none')) { $(this).addClass('d-none'); } }); $('.sideline').each(function () { if (!$(this).hasClass('d-none')) { $(this).addClass('d-none'); } }); } else { isplusbtn = false; } } function Errorhtml(message) { var html = `
    `; return html; } function ruleproviders() { var installedappid = Number($('#installedapp_dropdown option:selected').val()); Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId = installedappid; Unibase.Platform.Automation.Managers.RuleManager.Instance().loadRuleProviders(installedappid).then(function (response) { var html = ""; if (response.length > 0) { for (let i = 0; i < response.length; i++) { html += ''; } $('#ddl_RuleProvider').append(html); } }); } function ruleprovideridinfo() { Ruleproviderid = Number($('#ddl_RuleProvider option:selected').val()); } //card design function getcarddesign(event) { var html = ""; if (event.name != "EVENT") { return `
    ${event.name}
    `; } else { return `
    ${event.name}
    EVENT
    `; } } //popup image function popup(type) { var name = $(type).children('.action_name').val(); if (!ispopupopened && !isdelete) { ispopupopened = true; if ($(type).parent().closest('.box').parent().hasClass('firstelement')) { $(type).parent().closest('.box').parent().removeClass('firstelement'); } var _fileCacheHelper = Unibase.Platform.Helpers.FileCacheHelper.Instance(); var id = 0; switch (name) { case "SMS": _fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.sms.js", function () { let smsid = Number($(type).attr("id")); smsblock = $(type).get(0) var sms = new Unibase.Platform.Automation.Components.SendSms(); sms.RuleProviderId = Ruleproviderid sms.ActionId = actions.filter(X => X.ActionName == "Send Sms")[0].ActionId; sms.ParentActionId = parentid(type); _IsChildAction = sms.ParentActionId == 0 ? false : true; sms.RuleActionData = []; sms.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode; sms.IsAutomationMode = true; Unibase.Platform.Helpers.NavigationHelper.Instance().popup(smsid, '', sms, function () { }, Unibase.Platform.Helpers.Size.Auto); }); break; case "NOTIFICATION": _fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.notification.js", function () { let notificationid = Number($(type).attr("id")); notificationblock = $(type).get(0); var notification = new Unibase.Platform.Automation.Components.SendNotification(); notification.RuleProviderId = Ruleproviderid notification.ParentActionId = parentid(type); _IsChildAction = notification.ParentActionId == 0 ? false : true; notification.ActionId = actions.filter(X => X.ActionName == "Send Notification")[0].ActionId; notification.RuleActionData = []; notification.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode; notification.IsAutomationMode = true; Unibase.Platform.Helpers.NavigationHelper.Instance().popup(notificationid, '', notification, function () { }, Unibase.Platform.Helpers.Size.Auto); }); break; case "EXECUTEQUERY": _fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.executequery.js", function () { let executequeryid = Number($(type).attr("id")); execuetqueryblock = $(type).get(0); var ExecuteQuery = new Unibase.Platform.Automation.Components.ExecuteQuery(); ExecuteQuery.RuleProviderId = Ruleproviderid ExecuteQuery.ActionId = actions.filter(X => X.ActionName == "Execute Query")[0].ActionId; ExecuteQuery.ParentActionId = parentid(type);; _IsChildAction = ExecuteQuery.ParentActionId == 0 ? false : true; ExecuteQuery.RuleActionData = []; ExecuteQuery.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode; ExecuteQuery.IsAutomationMode = true; Unibase.Platform.Helpers.NavigationHelper.Instance().popup(executequeryid, '', ExecuteQuery, function () { }, Unibase.Platform.Helpers.Size.Auto); }); break; case "MAIL": _fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.email.js", function () { let emailid = Number($(type).attr("id")); emailblock = $(type).get(0); var email = new Unibase.Platform.Automation.Components.SendEmail(); email.RuleProviderId = Ruleproviderid email.ActionId = actions.filter(X => X.ActionName == "Send Email")[0].ActionId; email.ParentActionId = parentid(type);; _IsChildAction = email.ParentActionId == 0 ? false : true; email.RuleActionData = []; email.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode; email.IsAutomationMode = true; Unibase.Platform.Helpers.NavigationHelper.Instance().popup(emailid, '', email, function () { }, Unibase.Platform.Helpers.Size.Auto); }); break; case "TASK": _fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.task.js", function () { let taskid = Number($(type).attr("id")); taskblock = $(type).get(0); var task = new Unibase.Platform.Automation.Components.SendTask(); task.RuleProviderId = Ruleproviderid task.ActionId = actions.filter(X => X.ActionName == "Send Task")[0].ActionId; task.ParentActionId = parentid(type);; _IsChildAction = task.ParentActionId == 0 ? false : true; task.RuleActionData = []; task.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode; task.IsAutomationMode = true; Unibase.Platform.Helpers.NavigationHelper.Instance().popup(taskid, '', task, function () { }, Unibase.Platform.Helpers.Size.Auto); }); break; case "WHATSAPP": _fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.whatsapp.js", function () { let whatsappid = Number($(type).attr("id")); whatsappblock = $(type).get(0); var whatsapp = new Unibase.Platform.Automation.Components.SendWhatsApp(); whatsapp.RuleProviderId = Ruleproviderid whatsapp.ActionId = actions.filter(X => X.ActionName == "Send WhatsApp")[0].ActionId; whatsapp.ParentActionId = parentid(type);; _IsChildAction = whatsapp.ParentActionId == 0 ? false : true; whatsapp.RuleActionData = []; whatsapp.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode; whatsapp.IsAutomationMode = true; Unibase.Platform.Helpers.NavigationHelper.Instance().popup(whatsappid, '', whatsapp, function () { }, Unibase.Platform.Helpers.Size.Auto); }); break; case "APIINTEGRATOR": _fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.apiintegrator.js", function () { let apiintegratorid = Number($(type).attr("id")); apiblock = $(type).get(0); var ApiIntegrator = new Unibase.Platform.Automation.Components.ApiIntegrator(); ApiIntegrator.RuleProviderId = Ruleproviderid ApiIntegrator.ActionId = actions.filter(X => X.ActionName == "Api Integration")[0].ActionId; ApiIntegrator.ParentActionId = parentid(type);; _IsChildAction = ApiIntegrator.ParentActionId == 0 ? false : true; ApiIntegrator.RuleActionData = []; ApiIntegrator.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode; ApiIntegrator.IsAutomationMode = true; Unibase.Platform.Helpers.NavigationHelper.Instance().popup(apiintegratorid, '', ApiIntegrator, function () { }, Unibase.Platform.Helpers.Size.Auto); }); break; case "STAGECHANGE": _fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.stagechange.js", function () { let stagechangeid = Number($(type).attr("id")); stagechangeblock = $(type).get(0); var stagechange = new Unibase.Platform.Automation.Components.StageChange(); stagechange.RuleProviderId = Ruleproviderid stagechange.ActionId = actions.filter(X => X.ActionName == "Stage Change")[0].ActionId; stagechange.ParentActionId = parentid(type);; stagechange.RuleActionData = []; stagechange.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode; stagechange.IsAutomationMode = true; Unibase.Platform.Helpers.NavigationHelper.Instance().popup(stagechangeid, '', stagechange, function () { }, Unibase.Platform.Helpers.Size.Auto); }); break; case "SCHEDULAR": //not assigning id after saving _fileCacheHelper.loadJsFile("platform/automation/components/templatenotes.js", function () { let etemplateid = Number($(type).attr("id")); etemplateblock = $(type).get(0); var eventtemplate = new Unibase.Platform.Automation.Components.EventTemplate(); Unibase.Platform.Helpers.NavigationHelper.Instance().popup(etemplateid, '', eventtemplate, function () { }, Unibase.Platform.Helpers.Size.Auto); }); break; case "EVENT": _fileCacheHelper.loadJsFile("platform/automation/components/rulebuilder/rulebuilder.event.js", function () { let eventid = Number($(type).attr("id")); eventblock = $(type).get(0); var ruleevent = new Unibase.Platform.Automation.Components.RuleEvent(); ruleevent.RuleProviderId = Ruleproviderid; Unibase.Platform.Helpers.NavigationHelper.Instance().popup(eventid, '', ruleevent, function () { }, Unibase.Platform.Helpers.Size.Auto); }); break; } } else { isdelete = false; } } //line design function getlinedesign(data) { isdelete = false; $(data).parent().parent().parent().find('.sideline').addClass('d-none'); $(data).parent().parent().parent().find('.sidemenu').addClass('d-none'); var elementdata = elements[$(data).children('.block_action').val()]; var carddesign = getcarddesign(elementdata); var html = `
  • ${carddesign}
    +
  • `; $(data).parent().closest('.box').parent().children('.parent-list').append(html); var type = $(data).parent().closest('.box').parent().children('.parent-list').children('.firstelement').children('.box').children('.boxcontent').children('.cardTree').get(0); popup(type); } //hidden menu function menubarfunction(data) { var innerhtml = ''; for (let i = 0; i < data.length; i++) { innerhtml += `
    `; } var html = ''; return html; }