123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- var __awaiter=this&&this.__awaiter||function(n,t,i,r){function u(n){return n instanceof i?n:new i(function(t){t(n)})}return new(i||(i=Promise))(function(i,f){function o(n){try{e(r.next(n))}catch(t){f(t)}}function s(n){try{e(r["throw"](n))}catch(t){f(t)}}function e(n){n.done?i(n.value):u(n.value).then(o,s)}e((r=r.apply(n,t||[])).next())})},Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super(...arguments);this.RuleInstalledAppId=0;this.CurrentEventIndex=0}jsFiles(){return["platform/automation/managers/rulemanager.js","platform/datasources/managers/doctypemanager.js","platform/analytics/managers/reportmanager.js","platform/forms/managers/formmanager.js","platform/automation/enums/eventtype.js","platform/automation/enums/ruletype.js","platform/automation/enums/expop.js","platform/automation/enums/automationmode.js","platform/automation/enums/executeactionstatus.js","platform/automation/components/conditions.js","platform/automation/requests/rule.js","platform/automation/requests/ruleevent.js","platform/automation/requests/ruleaction.js","platform/automation/requests/rulecondition.js","platform/automation/components/rulebuilder/rulebuilder.condition.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","platform/datasources/components/datalistbuilder/querybuilder.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/automation/components/rulebuilder/rulebuilder.js"]}cssFiles(){return["libs/querybuilder/query-builder.default.css"]}html(){return`<form id="frmUnibase_Rule" data-validate="parsley" data-isdynamic="false">
- <div class="card bg-light">
- <div class="b-b bg-white card-header header">
- <strong class="text-dark title" id="Form_Rule">Create Rule</strong>
- <span class="pull-right" id="ModeType">
- <a href="javascript:;" id="link_AdvancedMode" class="pull-right">Advanced Mode</a>
- <a href="javascript:;" id="link_NormalMode" class="pull-right hidden">Normal Mode</a>
- </span>
- </div>
- <div class="card-body scrollable" style="overflow-y: scroll;">
- <div id="Validate_Rule" class="clear"></div>
- <div class="row">
- <div class="col-sm-3" id="InstalledAppsList">
- <div id="Search" class="mb-15 mt-1">
- <input type="text" id="txt_Search" onkeyup="Unibase.Platform.Automation.Components.Rule.Instance().SearchBlocks();" class="form-control value-control floating-label-control" placeholder="Search App">
- </div>
- <div id="txt_noresults" class="hidden" style="text-align:center;">No Results Found</div>
- </div>
- <div class="col-sm-9 hidden" id="RuleSection">
- <div class="bg-white card" id="RuleDetails">
- <div class="card-body">
- <div class="row">
- <div class="col-sm-12">
- <div class="floating-label-form-group">
- <label for="lbl_Rule" id="lbl_Rule">Rule Name<span class="text-danger">*</span></label>
- <input type="text" id="txt_Rule" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Rule Name*" data-placeholder="Enter Rule Name" data-label="Rule Name*" />
- <input type="hidden" id="hf_Rule" />
- <label for="Validation" id="lblValidation_Rule"></label>
- </div>
- </div>
- <div class="col-sm-12">
- Rule Provider<span class="text-danger">*</span>
- <select id="ddl_RuleProvider" class="required form-control value-control" data-isdynamic="true">
- </select>
- <input type="hidden" id="hf_RuleProvider" value="" />
- </div>
- </div>
- </div>
- </div>
- <div class="bg-white card hidden" id="EventModeEvent">
- <div class="card-header">When</div>
- <div class="card-body">
- <div class="row" id="AddEvents">
- <div class="card col-sm-4">
- <div class="card-body">Order Created</div>
- </div>
- </div>
- <div class="row pull-right">
- <button type="button" id="btn_EventNames" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventNames();">Show More</button>
- </div>
- </div>
- </div>
- <div class="bg-white card hidden" id="NormalModeEvent">
- <div class="card-header">
- When
- <span class="pull-right" id="AddEvent">
- <a id="" title="Create" onclick="Unibase.Platform.Automation.Components.Rule.Instance().AddEvent();">
- <i class="fa fa-plus"></i>
- </a>
- </span>
- </div>
- <div class="card-body" id="MultipleEvents">
- <div class="ml-5" id="AddNewEvents">
- <!--- <div class="row eventrow" id="row_0">
- <lable class="hidden" id="EventGroupId_0">0</lable>
- <lable class="hidden" id="RuleActionId_0">0</lable>
- <div class="col-sm-2 mt-10"><label>When </label></div>
- <div class="col-sm-3 mt-10" id="ELable_0" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventColumnLable(0);">
- <u><b style="font-weight: bold;" id="EventColumnLable_0"></b></u>
- </div>
- <div class="col-sm-3 hidden" id="EAutocomplete_0">
- <div id="div_EventColumns" class="floating-label-form-group" style="border-bottom:0;"><input type="hidden" class="event_name_0">
- <select id="select2_EventColumns_0" class="select2_0_EventColumns required value-control form-control text-control" multiple="multiple" style="width:100%;" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeEventColumn(0);"></select>
- <input type="hidden" id="hfSelect2Id_EventColumns_0" value="0" class="form-control text-control" data-isdynamic="true" />
- <input type="hidden" id="hfId_EventColumns" value=""><label for="Validation" id="lblValidation_EventColumns"></label>
- </div>
- </div>
- <div class="col-sm-1 mt-10"><label id="Event_0"></label></div>
- <div class="col-sm-1 mt-10"><label>Then </label></div>
- <div class="col-sm-3 mt-10" id="ALable_0" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleActions(0);"><u><b style="font-weight: bold;" class="" id="ActionLable_0"></b></u></div>
- <div class="col-sm-3 hidden" id="AAutocomplete_0">
- <div class="floating-label-form-group floating-label-form-group-with-value focus">
- <select id="Action_Autocomplete_0" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions(0);" style="-webkit-appearance: none;" class="required form-control value-control" data-isdynamic="true">
- </select>
- <input type="hidden" value="0" id="hf_Action_0" />
- </div>
- </div>
- <div class="col-sm-1 mt-10"><a href="javascript:;" id="link_Configure"><i class="fa fa-cog"></i></a></div>
- <div class="col-sm-1 mt-10"><a id="delete_0" title="Delete" style="cursor:pointer" onclick="Unibase.Platform.Automation.Components.Rule.Instance().DeleteEventGroupRow(0,0);"><i class="fa fa-close"></i></a></div>
- </div>---->
- </div>
- </div>
- </div>
- <div class="bg-white card" id="btn_Conditions">
- <button type="button" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleGlobalConditions();">Conditions</button>
- </div>
- <div class="bg-white card hidden" id="ConditionDetailsDiv">
- <div class="card-header">Global Condition Details</div>
- <div class="card-body">
- <div class="ConditionDetails">
-
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="bg-white card-footer footer" id="CreateRuleFooter">
- <a href="javascript:;" id="btnCloseRule" class="btn btn-light btn-sm mr-auto "> Close</a>
- <a href="javascript:;" id="btnSaveRule" class="btn btn-primary btn-sm"> Save</a>
- </div>
- </div>
- </form>`}load(t,i){n.Platform.Automation.Components.Rule.AutomationMode=n.Platform.Automation.Enums.AutomationMode.NormalMode;n.Platform.Automation.Components.Rule.Instance().GetActions();n.Platform.Automation.Components.Rule.RuleId=t;n.Platform.Automation.Components.Rule.Instance().default_event();$("#btnCloseRule").click(function(){$("#"+i).modal("hide");$("#"+i).remove();n.Platform.Automation.Components.Rule.keysindex=0;n.Platform.Automation.Components.Rule.keyscount=0;n.Platform.Automation.Components.Rule.keysflag=0;n.Platform.Automation.Components.Rule.RuleId=0;n.Platform.Automation.Components.Rule.ActionsArray=[];n.Platform.Automation.Components.Rule.EventColumnData=[];n.Platform.Automation.Components.Rule.RuleActionsData=[];n.Platform.Automation.Components.RuleCondition.ruleConditionArray=[]});$("#btnSaveRule").click(function(){let r=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("frmUnibase_Rule");if(r==!1)return MessageHelper.Instance().showError("Mandatory fields are missing","Validate_Rule"),$(".eventrow").each(function(){let t=$(this).find(".eventrow"),n=t.prevObject[0].id.split("_");n=n[1];let i=$("#select2_EventColumns_"+n+"").val();i.length==0&&$("#EventColumnLable_"+n+"").addClass("form-group-required")}),!1;n.Platform.Automation.Components.Rule.Instance().SaveRule(t,i)});$("#link_AdvancedMode").click(function(){$("#link_NormalMode").removeClass("hidden");$("#link_AdvancedMode").addClass("hidden");$("#"+i).modal("hide");$("#"+i).remove();n.Platform.Automation.Components.Rule.Instance().AdvancedMode(t,i)});$("#link_NormalMode").click(function(){$("#link_NormalMode").addClass("hidden");$("#link_AdvancedMode").removeClass("hidden")});$("#InstalledAppsList").height($(window).outerHeight()-90).css("overflow","hidden auto");$("#Action_Autocomplete").change(function(){$("#ALable").removeClass("hidden");$("#AAutocomplete").addClass("hidden");$("#ActionLable").text($("#Action_Autocomplete option:selected").text())});let r=n.Platform.Automation.Components.Rule.Instance();$("#ddl_RuleProvider").change(function(){$("#NormalModeEvent").removeClass("hidden");$("#AddNewEvents").html("");n.Platform.Automation.Components.Rule.EventColumnData=[];n.Platform.Automation.Components.Rule.Instance().default_event();r.loadEventColomns();r.loadActions(0);r.loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()),null)});r.LoadInstalledApps();r.loadActions(0);t!=""&&n.Platform.Automation.Components.Rule.Instance().EditRule(t,i)}loadForm(t,i,r){u.Instance().init(i,null);n.Platform.Apps.Managers.AppManager.Instance().getAppConfiguration(r).then(function(t){n.Platform.Automation.Components.Rule.installedappid=t.result.InstalledAppId})}loadNotificationRule(i){var r=0;i||(r=n.Themes.Providers.DetailHelper.recordId);this.navigationHelper.popup(r,"",n.Platform.Automation.Components.Rule.Instance(),null,t.Helpers.Size.DockLeft)}init(n,t){this.render(n,t)}render(i){this.navigationHelper.popup(i,"",n.Platform.Automation.Components.Rule.Instance(),null,t.Helpers.Size.DockLeft)}GetActions(){n.Platform.Automation.Managers.RuleManager.Instance().getActions().then(function(t){for(var i=0;i<=t.length-1;i++)n.Platform.Automation.Components.Rule.ActionsArray.push(t[i])})}OnChangeEventColumn(t){let i=[];i=$("#select2_EventColumns_"+t+"").val();i.length>0&&($("#ELable_"+t+"").removeClass("hidden"),$("#EAutocomplete_"+t+"").addClass("hidden"),$("#EventColumnLable_"+t+"").text(n.Platform.Automation.Components.Rule.Instance().GetEventColumns(t)),$(".event_name_"+t+"").val("").val(n.Platform.Automation.Components.Rule.Instance().GetEventColumns(t)))}OnChangeActions(i){var r,u;$("#ALable_"+i+"").removeClass("hidden");$("#AAutocomplete_"+i+"").addClass("hidden");$("#ActionLable_"+i+"").text($("#Action_Autocomplete_"+i+" option:selected").text());$("#ActionLable_"+i+"").removeClass("form-group-required");r=t.Helpers.FileCacheHelper.Instance();let f=Number($("#RuleActionId_"+i+"").text()),e=Number($("#Action_Autocomplete_"+i+" option:selected").val()),o=Number($("#ddl_RuleProvider option:selected").val());if(u=this,$("#ConditionDetailsDiv").hasClass("hidden")){let n=$("#builder");n.queryBuilder("destroy");$("#QueryBuilder").remove()}else n.Platform.Automation.Components.Rule.Instance().SaveQueryString();n.Platform.Automation.Managers.RuleManager.Instance().getAction(e).then(function(e){e!=null&&r.loadJsFile(e.JsUrl,function(){var s=eval(e.JsVariableName),r=new s;r.RuleProviderId=o;r.RowIndex=i;r.ActionId=e.ActionId;r.RuleActionData=n.Platform.Automation.Components.Rule.RuleActionsData.filter(n=>n.RowIndex==i);r.AutomationMode=n.Platform.Automation.Components.Rule.AutomationMode;r.IsAutomationMode=!0;r.ParentActionId=0;u.navigationHelper.popup(f,"",r,function(){},t.Helpers.Size.Auto)})})}default_event(){var n=`<div class="row eventrow" id="row_0">
- <lable class="hidden" id="EventGroupId_0">0</lable>
- <lable class="hidden" id="RuleActionId_0">0</lable>
- <div class="col-sm-2 mt-10"><label>When </label></div>
- <div class="col-sm-3 mt-10" id="ELable_0" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventColumnLable(0);">
- <u><b style="font-weight: bold;" id="EventColumnLable_0"></b></u>
- </div>
- <div class="col-sm-3 hidden" id="EAutocomplete_0">
- <div id="div_EventColumns" class="floating-label-form-group" style="border-bottom:0;"><input type="hidden" class="event_name_0">
- <select id="select2_EventColumns_0" class="select2_0_EventColumns required value-control form-control text-control" multiple="multiple" style="width:100%;" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeEventColumn(0);"></select>
- <input type="hidden" id="hfSelect2Id_EventColumns_0" value="0" class="form-control text-control" data-isdynamic="true" />
- <input type="hidden" id="hfId_EventColumns" value=""><label for="Validation" id="lblValidation_EventColumns"></label>
- </div>
- </div>
- <div class="col-sm-1 mt-10"><label id="Event_0"></label></div>
- <div class="col-sm-1 mt-10"><label>Then </label></div>
- <div class="col-sm-3 mt-10" id="ALable_0" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleActions(0);"><u><b style="font-weight: bold;" class="" id="ActionLable_0"></b></u></div>
- <div class="col-sm-3 hidden" id="AAutocomplete_0">
- <div class="floating-label-form-group floating-label-form-group-with-value focus">
- <select id="Action_Autocomplete_0" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions(0);" style="-webkit-appearance: none;" class="required form-control value-control" data-isdynamic="true">
- </select>
- <input type="hidden" value="0" id="hf_Action_0" />
- </div>
- </div>
- <div class="col-sm-1 mt-10"><a href="javascript:;" id="link_Configure"><i class="fa fa-cog"></i></a></div>
- <div class="col-sm-1 mt-10"><a id="delete_0" title="Delete" style="cursor:pointer" onclick="Unibase.Platform.Automation.Components.Rule.Instance().DeleteEventGroupRow(0,0);"><i class="fa fa-close"></i></a></div>
- </div>`;$("#AddNewEvents").append(n)}ToggleEventNames(){$("#btn_EventNames").text()=="Show More"?($("[id='EventCard']").show(),$("#btn_EventNames").text("Show Less")):($("[id='EventCard']").hide(),$("#btn_EventNames").text("Show More"))}ToggleGlobalConditions(){$("#ConditionDetailsDiv").toggle(function(){$("#btn_Conditions").addClass("hidden");$("#ConditionDetailsDiv").removeClass("hidden");n.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()),null)})}loadEventColomns(){return __awaiter(this,void 0,void 0,function*(){var i=this;let t=Number($("#ddl_RuleProvider option:selected").val());if(t!=0)return yield n.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(t).then(function(t){return n.Platform.Automation.Components.Rule.EventColumnData.push({id:t.DoctypeName+" Created",text:t.DoctypeName+" Created"}),n.Platform.Automation.Components.Rule.EventColumnData.push({id:t.DoctypeName+" Deleted",text:t.DoctypeName+" Deleted"}),n.Platform.DataSources.Managers.DocTypeManager.Instance().getDocProperties(t.DoctypeId).then(function(t){let i=t.result;for(let t=0;t<i.length;t++){var r=i[t];n.Platform.Automation.Components.Rule.EventColumnData.push({id:i[t].PropColumnName+" Changed",text:i[t].PropColumnName+" Changed"})}n.Platform.Automation.Components.Rule.Instance().BindEventColumns(0)})})})}BindEventColumns(t){return __awaiter(this,void 0,void 0,function*(){$("#EventColumnLable_"+t+"").text(n.Platform.Automation.Components.Rule.EventColumnData[0].id);$(".event_name_"+t+"").val("").val(n.Platform.Automation.Components.Rule.EventColumnData[0].id);$("#select2_EventColumns_"+t+"").select2({placeholder:"Select",data:n.Platform.Automation.Components.Rule.EventColumnData})})}loadActions(t){return __awaiter(this,void 0,void 0,function*(){return yield n.Platform.Automation.Managers.RuleManager.Instance().getActions().then(function(n){var i,r;let u=document.getElementById("Action_Autocomplete_"+t+"");$("#Action_Autocomplete_"+t+"").empty();i=document.createElement("option");i.text="Select";i.value="0";u.appendChild(i);for(let t=0;t<=n.length-1;t++)r=document.createElement("option"),r.text=n[t].ActionName,r.value=n[t].ActionId.toString(),u.appendChild(r);$("#Action_Autocomplete_"+t+"").val(Number($("#hf_Action_"+t+"").val()));$("#ActionLable_"+t+"").text($("#Action_Autocomplete_"+t+" option:selected").text())})})}ToggleEventColumnLable(n){$("#ELable_"+n+"").addClass("hidden");$("#EAutocomplete_"+n+"").removeClass("hidden");$("#EventColumnLable_"+n+"").removeClass("form-group-required")}ToggleActions(t){var i=this;i.CurrentEventIndex=t;$("#ALable_"+t+"").addClass("hidden");$("#AAutocomplete_"+t+"").removeClass("hidden");$("#ActionLable_"+t+"").text()!="Select"&&$("#ActionLable_"+t+"").text()!=""&&n.Platform.Automation.Components.Rule.Instance().OnChangeActions(t)}SaveRule(t,r){let s=Number(t),o=[];$("#ConditionDetailsDiv").hasClass("hidden")||n.Platform.Automation.Components.Rule.Instance().SaveQueryString();let e=u.Instance().EventArray();for(let n=0;n<e.length;n++)o.push({EventGroupId:e[n].EventGroupId,RuleId:e[n].RuleId,RuleEventData:e[n].RuleEventData,RuleActionData:e[n].RuleActionData,RuleConditionData:e[n].RuleConditionData,RuleData:e[n].RuleData,RuleType:e[n].RuleType});let f=new n.Platform.Automation.Requests.Rule;f.RuleId=s;f.RuleName=$("#txt_Rule").val().toString();f.RuleProviderId=Number($("#ddl_RuleProvider option:selected").val());n.Platform.Automation.Components.Rule.QueryString!=null?(f.SqlWhere=n.Platform.Automation.Components.Rule.QueryString,f.SqlWhereJson=JSON.stringify(n.Platform.Automation.Components.Rule.QueryString)):(f.SqlWhere="",f.SqlWhereJson="");f.EventGroupData=o;f.RuleType=n.Platform.Automation.Enums.RuleType.Event;f.AutomationModeId=Number(n.Platform.Automation.Components.Rule.AutomationMode);i.Managers.RuleManager.Instance().saveRule(f).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,"Validate_Rule"):(MessageHelper.Instance().showSuccess(t.message,"Validate_Rule"),n.Platform.Automation.Components.Rule.ActionsArray=[],n.Platform.Automation.Components.Rule.keysindex=0,n.Platform.Automation.Components.Rule.keyscount=0,n.Platform.Automation.Components.Rule.RuleId=0,n.Platform.Automation.Components.Rule.keysflag=0,n.Platform.Automation.Components.Rule.EventColumnData=[],n.Platform.Automation.Components.Rule.RuleActionsData=[],n.Platform.Automation.Components.RuleCondition.ruleConditionArray=[],$("#"+r).modal("hide"),$("#"+r).remove(),n.Platform.Helpers.NavigationHelper.Instance().loadDetail(t.result.RuleId,n.Platform.Automation.Components.Rule.installedappid,null))})}EditRule(t,i){$("#txt_search").attr("disabled","true");$("#ddl_RuleProvider").attr("disabled","true");$("#txt_Rule").attr("disabled","true");let r=Number(t);$("#Form_Rule").text("Edit Rule");n.Platform.Automation.Managers.RuleManager.Instance().getRule(r).then(function(t){if(t.AutomationModeId==Number(n.Platform.Automation.Enums.AutomationMode.NormalMode)){let i=t.RuleId;$("#hf_RuleProvider").val(t.RuleProviderId);$("#txt_Rule").val(t.RuleName);n.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(t.RuleProviderId).then(function(t){n.Platform.Automation.Components.Rule.Instance().SelectedApp(t.InstalledAppId).then(function(){n.Platform.Automation.Components.Rule.Instance().LoadEvents(i);n.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId=Number(t.InstalledAppId)})});t.SqlWhere!=""&&t.SqlWhere!=null&&($("#btn_Conditions").addClass("hidden"),$("#ConditionDetailsDiv").removeClass("hidden"));n.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(t.RuleProviderId,t.SqlWhere)}else n.Platform.Automation.Components.Rule.Instance().AdvancedMode(t.RuleId,i);eval("_floatingLabelHelper.init();")})}LoadInstalledApps(){n.Platform.Automation.Managers.RuleManager.Instance().getInstalledApps().then(function(n){for(let t=0;t<=n.length-1;t++){let i='<div class="AppRow bg-white card" onclick="Unibase.Platform.Automation.Components.Rule.Instance().SelectedApp('+n[t].InstalledAppId+');" id ="div_'+n[t].InstalledAppId+'"><div class="card-body"><div class="row"><div class="col-sm-12"><span>'+n[t].AppTitle+"<\/span><\/div><\/div><\/div><\/div>";$("#InstalledAppsList").append(i);i=""}})}LoadAppStages(){return __awaiter(this,void 0,void 0,function*(){var t="",i=n.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId;return yield n.Platform.Apps.Managers.StageManager.Instance().getStages(i).then(function(n){if(n.result!=null)for(let r=0;r<n.result.length;r++){var i=n.result[r];t+="<option value="+i.StageId+">"+i.StageName+"<option>"}}),t})}IsStageChangeEvent(){var t=null,r,i;return n.Platform.Automation.Components.Rule.AutomationMode==n.Platform.Automation.Enums.AutomationMode.AdvancedMode?(r=eval("bizgaze_automation_flow_main.IsChildAction()"),r)?!1:(t=$(".event_name").val()==undefined?null:$(".event_name").val().toString(),t==null?!1:t.includes("stageid Changed")):(i=n.Platform.Automation.Components.Rule.Instance().CurrentEventIndex,t=$(".event_name_"+i+"").val()==undefined?null:$(".event_name_"+i+"").val().toString(),t==null?!1:t.includes("stageid Changed"))}SelectedApp(t){return __awaiter(this,void 0,void 0,function*(){$(".AppRow").removeAttr("style");$("#div_"+t+"").css("border"," 2px solid blue");let i=Number(t);n.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId=Number(i);var r=_appsettings.server_url()+"/apis/v4/unibase/notificationrule/platform/ruleprovidersautocomplete/InstalledAppId/"+i;yield n.Platform.Automation.Managers.RuleManager.Instance().loadRuleProviders(t).then(function(t){var i,r;if(t.length!=0){$("#RuleSection").removeClass("hidden");let u=document.getElementById("ddl_RuleProvider");$("#ddl_RuleProvider").empty();i=document.createElement("option");i.text="Select";i.value="";u.appendChild(i);for(let n=0;n<=t.length-1;n++)r=document.createElement("option"),r.text=t[n].RuleProviderName,r.value=t[n].RuleProviderId.toString(),u.appendChild(r);return $("#hf_RuleProvider").val()==""?$("#ddl_RuleProvider").val(null):$("#ddl_RuleProvider").val(Number($("#hf_RuleProvider").val())),n.Platform.Automation.Components.Rule.Instance().loadEventColomns()}MessageHelper.Instance().showError("No RuleProvider Configured For The Selected App.","Validate_Rule")})})}DeleteEventGroupRow(t,i){var r=confirm("Are you sure! You want to delete?");r&&(i!=0?n.Platform.Automation.Managers.RuleManager.Instance().deleteEventGroup(i).then(function(i){i.status==n.Data.Status.Error?MessageHelper.Instance().showError(i.message,"Validate_Rule"):$("#row_"+t).remove()}):$("#row_"+t).remove())}AddEvent(){let t=n.Platform.Automation.Components.Rule.keysindex-0;if($("#ActionLable_"+t).text()!="Select"){n.Platform.Automation.Components.Rule.keysflag=0;let t="";n.Platform.Automation.Components.Rule.keysindex=n.Platform.Automation.Components.Rule.keyscount?n.Platform.Automation.Components.Rule.keyscount:n.Platform.Automation.Components.Rule.keysindex+1;t+='<div class="row eventrow" id="row_'+n.Platform.Automation.Components.Rule.keysindex+'"><lable class="hidden" id="EventGroupId_'+n.Platform.Automation.Components.Rule.keysindex+'">0<\/lable><lable class="hidden" id="RuleActionId_'+n.Platform.Automation.Components.Rule.keysindex+'">0<\/lable><div class="col-sm-2 mt-10"><label>When <\/label><\/div><div class="col-sm-3 mt-10" id="ELable_'+n.Platform.Automation.Components.Rule.keysindex+'" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventColumnLable('+n.Platform.Automation.Components.Rule.keysindex+');"><u><b style="font-weight: bold;" id="EventColumnLable_'+n.Platform.Automation.Components.Rule.keysindex+'"><\/b><\/u><\/div><div class="col-sm-3 hidden" id="EAutocomplete_'+n.Platform.Automation.Components.Rule.keysindex+'"><div id="div_EventColumns" class="floating-label-form-group" style="border-bottom:0;"><input type="hidden" class="event_name_'+n.Platform.Automation.Components.Rule.keysindex+'"><select id="select2_EventColumns_'+n.Platform.Automation.Components.Rule.keysindex+'" class="select2_0_EventColumns required value-control form-control text-control" multiple="multiple" style="width:100%;" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeEventColumn('+n.Platform.Automation.Components.Rule.keysindex+');"><\/select><input type="hidden" id="hfSelect2Id_EventColumns_'+n.Platform.Automation.Components.Rule.keysindex+'" value="0" class="form-control text-control" data-isdynamic="true" /><input type="hidden" id="hfId_EventColumns" value=""><label for="Validation" id="lblValidation_EventColumns"><\/label><\/div><\/div><div class="col-sm-1 mt-10"><label id="Event_'+n.Platform.Automation.Components.Rule.keysindex+'"><\/label><\/div><div class="col-sm-1 mt-10"><label>Then <\/label><\/div><div class="col-sm-3 mt-10" id="ALable_'+n.Platform.Automation.Components.Rule.keysindex+'" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleActions('+n.Platform.Automation.Components.Rule.keysindex+');"><u><b style="font-weight: bold;" id="ActionLable_'+n.Platform.Automation.Components.Rule.keysindex+'"><\/b><\/u><\/div><div class="col-sm-3 hidden" id="AAutocomplete_'+n.Platform.Automation.Components.Rule.keysindex+'"><div class="floating-label-form-group floating-label-form-group-with-value focus"><select id="Action_Autocomplete_'+n.Platform.Automation.Components.Rule.keysindex+'" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions('+n.Platform.Automation.Components.Rule.keysindex+');" style="-webkit-appearance: none;" class="required form-control value-control" data-isdynamic="true"><\/select><input type="hidden" id="hf_Action_'+n.Platform.Automation.Components.Rule.keysindex+'" /><\/div><\/div><div class="col-sm-1 mt-10"><a href="javascript:;" id="link_Configure"><i class="fa fa-cog"><\/i><\/a><\/div><div class="col-sm-1 mt-10" > <a id="delete_'+n.Platform.Automation.Components.Rule.keysindex+'" title = "Delete" style="cursor:pointer" onclick = "Unibase.Platform.Automation.Components.Rule.Instance().DeleteEventGroupRow('+n.Platform.Automation.Components.Rule.keysindex+',0);" ><i class="fa fa-close"> <\/i><\/a><\/div ><\/div>';n.Platform.Automation.Components.Rule.keysflag==0?($("#AddNewEvents").append(t),$("#ActionLable_"+n.Platform.Automation.Components.Rule.keysindex+"").text("Select"),this.BindEventColumns(n.Platform.Automation.Components.Rule.keysindex),this.loadActions(n.Platform.Automation.Components.Rule.keysindex),n.Platform.Automation.Components.Rule.keyscount=0,n.Platform.Automation.Components.Rule.keysflag=0):n.Platform.Automation.Components.Rule.keysindex=n.Platform.Automation.Components.Rule.keysindex-1}else $("#ActionLable_"+n.Platform.Automation.Components.Rule.keysindex+"").addClass("form-group-required"),MessageHelper.Instance().showError("Please Select Action.","Validate_Rule")}EventArray(){var i=this;let t=[];return $(".eventrow").each(function(){let e=[],f={},o=$(this).find(".eventrow"),r=o.prevObject[0].id.split("_");r=r[1];let u=n.Platform.Automation.Components.Rule.Instance().GetEventColumns(r).split(",");for(var i=0;i<u.length;i++){let r={},t,o=u[i].split(" ")[1],f="";o.toLowerCase()=="created"?t=n.Platform.Automation.Enums.EventType.Created:o.toLowerCase()=="deleted"?t=n.Platform.Automation.Enums.EventType.Deleted:u[i].toLowerCase()=="stageid changed"?(t=n.Platform.Automation.Enums.EventType.StageEvent,f=u[i].split(" ")[0]):(t=n.Platform.Automation.Enums.EventType.Updated,f=u[i].split(" ")[0]);r.RuleEventId=0;r.EventColumnName=f;r.EventType=t;e.push(r)}f.EventGroupId=Number($(this).find("#EventGroupId_"+r+"").text());f.RuleEventData=e;f.RuleActionData=n.Platform.Automation.Components.Rule.RuleActionsData.filter(n=>n.RowIndex==r);t.push(f)}),t}LoadEvents(t){return __awaiter(this,void 0,void 0,function*(){var i=function(n,t){return n.reduce(function(n,i){return(n[i[t]]=n[i[t]]||[]).push(i),n},{})};n.Platform.Automation.Components.Rule.keysindex=0;$("#row_0").remove();yield n.Platform.Automation.Managers.RuleManager.Instance().getRuleEvents(t).then(function(t){for(var e,u=i(t,"EventGroupId"),f=Object.keys(u),r=0;r<=f.length-1;r++){let t=Number(f[r]);e=u[t];n.Platform.Automation.Components.Rule.keysindex=r+1;n.Platform.Automation.Components.Rule.Instance().LoadEventsHtml(n.Platform.Automation.Components.Rule.keysindex,t,e)}})})}LoadEventsHtml(t,i,r){return __awaiter(this,void 0,void 0,function*(){var u=this;u.CurrentEventIndex=t;n.Platform.Automation.Managers.RuleManager.Instance().getRuleActionByEventGroupId(i).then(function(u){var o="",f;o+='<div class="row eventrow" id="row_'+t+'"><lable class="hidden" id="EventGroupId_'+t+'">'+i+'<\/lable><lable class="hidden" id="RuleActionId_'+t+'">'+u.RuleActionId+'<\/lable><div class="col-sm-2 mt-10"><label>When <\/label><\/div><div class="col-sm-3 mt-10" id="ELable_'+t+'" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventColumnLable('+t+');"><u><b style="font-weight: bold;" id="EventColumnLable_'+t+'"><\/b><\/u><\/div><div class="col-sm-3 hidden" id="EAutocomplete_'+t+'"><div id="div_EventColumns" class="floating-label-form-group" style="border-bottom:0;"><input type="hidden" class="event_name_'+t+'"><select id="select2_EventColumns_'+t+'" class="select2_0_EventColumns required value - control form - control text - control" multiple="multiple" style="width: 100 %; " onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeEventColumn('+t+'); "><option>Select<\/option><\/select><input type="hidden" id="hfSelect2Id_EventColumns_'+t+'" value="0" class="form - control text - control" data-isdynamic="true" /><input type="hidden" id="hfId_EventColumns" value=""><label for="Validation" id="lblValidation_EventColumns"><\/label><\/div><\/div><div class="col-sm-1 mt-10"><label id="Event_'+t+'"><\/label><\/div><div class="col-sm-1 mt-10"><label>Then <\/label><\/div><div class="col-sm-3 mt-10" id="ALable_'+t+'" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleActions('+t+');"><u><b style="font-weight: bold;" id="ActionLable_'+t+'"><\/b><\/u><\/div><div class="col-sm-3 hidden" id="AAutocomplete_'+t+'"><div class="floating-label-form-group floating-label-form-group-with-value focus"><select id="Action_Autocomplete_'+t+'" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions('+t+');" style="-webkit-appearance: none;" class="required form-control value-control" data-isdynamic="true"><\/select><input type="hidden" id ="hf_Action_'+t+'" /><\/div><\/div><div class="col-sm-1 mt-10"><a href="javascript:;" id="link_Configure"><i class="fa fa-cog"><\/i><\/a><\/div><div class="col-sm-1 mt-10"><a id="delete_'+n.Platform.Automation.Components.Rule.keysindex+'" title = "Delete" style="cursor:pointer" onclick = "Unibase.Platform.Automation.Components.Rule.Instance().DeleteEventGroupRow('+n.Platform.Automation.Components.Rule.keysindex+","+i+');" ><i class="fa fa-close"> <\/i><\/a><\/div ><\/div>';$("#NormalModeEvent").removeClass("hidden");$("#AddNewEvents").append(o);$("#hf_Action_"+t+"").val(u.ActionId);let e=[];for(f=0;f<=r.length-1;f++){let n=r[f].EventName;if(r[f].EventColumnName!=null&&r[f].EventColumnName!="")n=n.split("_")[2],e.push(""+n+" Changed");else{let t=n.split("_")[2];t.toLowerCase()=="created"?(n=n.split("_created")[0],e.push(""+n+" Created")):(n=n.split("_deleted")[0],e.push(""+n+" Deleted"))}}n.Platform.Automation.Components.Rule.Instance().BindEventColumns(t);$("#select2_EventColumns_"+t+"").val(e).trigger("change");let s=n.Platform.Automation.Components.Rule.Instance().GetEventColumns(t);$("#EventColumnLable_"+t+"").text(s);$(".event_name_"+t+"").val("").val(s);n.Platform.Automation.Components.Rule.Instance().loadActions(t)})})}GetEventColumns(n){var r,t;let i=[];for(i=$("#select2_EventColumns_"+n+"").val(),r="",t=0;t<i.length;t++)r+=i[t]+",";return r.slice(0,-1)}RuleActionsArray(t){let i={};i.RuleActionId=t.RuleActionId;i.ActionId=t.ActionId;i.RuleId=t.RuleId;i.RuleActionName=t.RuleActionName;i.String1=t.String1;i.String2=t.String2;i.String3=t.String3;i.String4=t.String4;i.String5=t.String5;i.String6=t.String6;i.String7=t.String7;i.BString1=t.BString1;i.BString2=t.BString2;i.BString3=t.BString3;i.BString4=t.BString4;i.BString5=t.BString5;i.BString6=t.BString6;i.BString7=t.BString7;i.BString8=t.BString8;i.BString9=t.BString9;i.BString10=t.BString10;i.BString11=t.BString11;i.BString12=t.BString12;i.BString13=t.BString13;i.Users=t.Users;i.SecondaryUsers=t.SecondaryUsers;i.ParentActionId=t.ParentActionId;i.ResultActionName=t.ResultActionName;i.ResultActionId=t.ResultActionId;i.DelayTime=t.DelayTime;i.ActionConditionData=t.ActionConditionData;i.RowIndex=t.RowIndex;i.AutoApproved=t.AutoApproved;i.RecipientsData=t.RecipientsData;i.SqlWhere=t.SqlWhere;i.SqlWhereJson=t.SqlWhere;i.ExternalReportId=t.ExternalReportId;i.ExternalReportColumnId=t.ExternalReportColumnId;i.ProviderColumnId=t.ProviderColumnId;i.ApproveStageId=t.ApproveStageId;i.IsParent=t.IsParent;i.FromStage=t.FromStage;i.ToStage=t.ToStage;i.NotificationGroupId=t.NotificationGroupId;var r=n.Platform.Automation.Components.Rule.RuleActionsData.find(n=>n.RowIndex==t.RowIndex);r!=undefined?n.Platform.Automation.Components.Rule.RuleActionsData[t.RowIndex]=i:n.Platform.Automation.Components.Rule.RuleActionsData.push(i);n.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()),n.Platform.Automation.Components.Rule.QueryString)}ChangeAction(t,i){i==0&&($("#Action_Autocomplete_"+t+"").val($("#hf_Action_"+t+"").val()),$("#ActionLable_"+t+"").text("Select"),n.Platform.Automation.Components.Rule.RuleActionsData=n.Platform.Automation.Components.Rule.RuleActionsData.filter(n=>n.RowIndex!=t));n.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()),n.Platform.Automation.Components.Rule.QueryString)}AdvancedMode(i,r){var e=this.fileCacheHelper,f=this,u;$("#"+r).modal("hide");$("#"+r).remove();n.Platform.Automation.Components.Rule.AutomationMode=n.Platform.Automation.Enums.AutomationMode.AdvancedMode;u=new n.Platform.Automation.Components.RuleBuilder;f.navigationHelper.popup(i,"",u,null,t.Helpers.Size.ExtraLarge)}loadQueryBuilder(t,i){return __awaiter(this,void 0,void 0,function*(){return yield n.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(t).then(function(t){let u=n.Platform.DataSources.Components.QueryBuilder.Instance().html(null,null);jQuery(".ConditionDetails").html(u);var r=n.Platform.DataSources.Components.QueryBuilder.Instance();r.QueryBuilder_Columns=[];r.QueryBuilder_Filters=[];r.queryBuilderString="";t.ReportId!=0?(r.ReportId=t.ReportId,r.loadQueryBuilderDiv(i)):(r.DoctypeId=t.DoctypeId,r.loadQueryBuilderDivByDoctypeId(i));$("#QueryBuilder").removeClass("hidden")})})}SaveQueryString(){let t=$("#builder"),i=t.queryBuilder("getSQL",!1,!0);n.Platform.Automation.Components.Rule.QueryString=i!=null?t.queryBuilder("getSQL",!1,!0).sql.replace(/\n/g," ").replace(/LIKE/g,"ILIKE"):null;t.queryBuilder("destroy");$("#QueryBuilder").remove()}SearchBlocks(){var f,r,e,n,u,t,i;for(f=document.getElementById("txt_Search"),r=f.value.toUpperCase(),e=document.getElementById("InstalledAppsList"),n=e.getElementsByClassName("AppRow"),i=0,t=0;t<n.length;t++)n[t].textContent.toUpperCase()==r?(u=n[t],u.innerHTML.indexOf(r)>-1&&(n[t].style.display="")):(u=n[t],u.textContent.toUpperCase().indexOf(r)>-1?n[t].style.display="":(n[t].style.display="none",i=i+1)),n.length==i?$("#txt_noresults").removeClass("hidden"):n.length!=i&&$("#txt_noresults").addClass("hidden")}EmptyEventColumns(){return __awaiter(this,void 0,void 0,function*(){return n.Platform.Automation.Components.Rule.EventColumnData=[],yield $(".eventrow").each(function(){let t=$(this).find(".eventrow"),n=t.prevObject[0].id.split("_");n=n[1];$("#select2_EventColumns_"+n+"").empty()})})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.keysindex=0;u.keysflag=0;u.AutomationMode=0;u.EventColumnData=[];u.RuleActionsData=[];u.ActionsArray=[];r.Rule=u})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
|