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 RuleEvent extends Platform.Core.BaseComponent { constructor() { super(...arguments); this.RuleProviderId = 0; } cssFiles() { return []; } jsFiles() { var jsfiles = ["platform/automation/managers/rulemanager.js", "platform/automation/enums/eventtype.js", "platform/automation/enums/automationmode.js", "platform/automation/enums/expop.js", "platform/automation/requests/ruleevent.js", "platform/automation/requests/rulecondition.js", "platform/automation/requests/eventgroup.js", "platform/automation/components/rulebuilder/rulebuilder.condition.js", "platform/automation/components/rulebuilder/rulebuilder.advrule.js" ]; return jsfiles; } html(id, containerid) { let html = `
Create Event
`; return html; } load(id, containerid, callback) { var instance = this; let ruleid = eval("bizgaze_automation_flow_main.getruleid()"); Unibase.Platform.Automation.Components.RuleEvent.Instance().RuleProviderId = this.RuleProviderId; $("#btnCloseEvent").click(function () { $('#' + containerid).modal('hide'); $('#' + containerid).remove(); Unibase.Platform.Automation.Components.RuleEvent.EventColumnData = []; eval("bizgaze_automation_flow_main.getpopupclosed()"); }); $("#btnSaveEvent").click(function () { let appcontrolid = "frmUnibase_RuleEvent"; let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid); if (result == false) { MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_RuleEvent"); return false; } else { let ruleinfo = Number(eval("bizgaze_automation_flow_main.getruleid()")); if (ruleinfo == 0) { Unibase.Platform.Automation.Components.AdvRule.Instance().SaveRule(id, containerid); } else { RuleEvent.Instance().SaveRuleEvent(id, containerid); } } }); var url = _appsettings.server_url() + '/apis/v4/unibase/platform/followers/reports_followersauto'; AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Users", "#hf_Autocomplete_Users", url, function (response) { var data = response; }); let rpid = Unibase.Platform.Automation.Components.RuleEvent.Instance().RuleProviderId; if (rpid != 0) { Unibase.Platform.Automation.Components.RuleEvent.Instance().loadEventColomns(rpid).then(function () { if (id != "") { Unibase.Platform.Automation.Components.RuleEvent.Instance().EditEvent(id); } }); Unibase.Platform.Automation.Components.RuleEvent.Instance().loadQueryBuilder(rpid, null); } if (ruleid != 0) { Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(ruleid).then(function (response) { Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray = response; if (Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleTypeId == Number(Unibase.Platform.Automation.Enums.RuleType.Event)) { Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event; } else { Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType = Unibase.Platform.Automation.Enums.RuleType.Scheduler; } }); } $("#rdb_Instant").click(function () { $("#divEventDetails").addClass("hidden"); $("#ddl_SchedulerType").removeClass("required"); $("#date_StartDate").removeClass("required"); $("#date_EndDate").removeClass("required"); $("#select2_EventColumns").addClass("required"); $("#EventColumnsdiv").removeClass("hidden"); }); $("#rdb_Scheduled").change(function () { $("#divEventDetails").removeClass("hidden"); $("#ddl_SchedulerType").addClass("required"); $("#date_StartDate").addClass("required"); $("#date_EndDate").addClass("required"); $("#EventColumnsdiv").addClass("hidden"); $("#select2_EventColumns").removeClass("required"); $("#ddl_SchedulerType").val(''); $("#date_StartDate").val(""); $("#date_EndDate").val(""); }); $("#date_StartDate").daterangepicker({ autoUpdateInput: false, timePicker: true, timePicker24Hour: true, locale: { format: 'DD/MM/YYYY HH:mm', }, singleDatePicker: true, showDropdowns: true, minYear: 1901, maxDate: new Date(2050, 11, 31) }); $("#date_EndDate").daterangepicker({ autoUpdateInput: false, timePicker: true, timePicker24Hour: true, locale: { format: 'DD/MM/YYYY HH:mm', }, singleDatePicker: true, showDropdowns: true, minYear: 1901, maxDate: new Date(2050, 11, 31) }); $('#date_StartDate').on('apply.daterangepicker', function (ev, picker) { $('#div_StartDate').addClass('floating-label-form-group-with-value'); }); $('#date_EndDate').on('apply.daterangepicker', function (ev, picker) { $('#div_EndDate').addClass('floating-label-form-group-with-value'); }); } ToggleRuleEventConditions() { $("#ConditionDetailsDiv").toggle(function () { $("#btn_Conditions").addClass("hidden"); $("#ConditionDetailsDiv").removeClass("hidden"); }); } loadEventColomns(ruleproviderid) { return __awaiter(this, void 0, void 0, function* () { return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) { Unibase.Platform.Automation.Components.RuleEvent.EventColumnData.push({ id: response.DoctypeName + " Created", text: response.DoctypeName + " Created" }); Unibase.Platform.Automation.Components.RuleEvent.EventColumnData.push({ id: response.DoctypeName + " Deleted", text: response.DoctypeName + " Deleted" }); Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDocProperties(response.DoctypeId).then(function (response) { let result = response.result; for (let i = 0; i < result.length; i++) { var EventColumn = result[i]; Unibase.Platform.Automation.Components.RuleEvent.EventColumnData.push({ id: result[i].PropColumnName + " Changed", text: result[i].PropColumnName + " Changed" }); } return $("#select2_EventColumns").select2({ placeholder: 'Select', data: Unibase.Platform.Automation.Components.RuleEvent.EventColumnData, }); }); }); }); } GetEventColumns() { let eventcolumnscount = new Array(); eventcolumnscount = $("#select2_EventColumns").val(); var eventcolumn = ""; for (var i = 0; i < eventcolumnscount.length; i++) { eventcolumn += eventcolumnscount[i] + ","; } return eventcolumn.slice(0, -1); } EditEvent(id) { $("#Form_RuleEvent").text("Edit Event"); let ruleid = eval("bizgaze_automation_flow_main.getruleid()"); let response; Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(ruleid).then(function (res) { response = res; if (id != ruleid) { Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleEventsByEventGroupId(id).then(function (response) { let EventColArr = []; let RuleId = 0; for (var i = 0; i <= response.length - 1; i++) { RuleId = response[i].RuleId; let eventname = response[i].EventName; if (response[i].EventColumnName != null && response[i].EventColumnName != "") { eventname = eventname.split("_")[2]; EventColArr.push("" + eventname + " Changed"); } else { let eventtype = eventname.split("_")[2]; if (eventtype.toLowerCase() == "created") { eventname = eventname.split("_created")[0]; EventColArr.push("" + eventname + " Created"); } else { eventname = eventname.split("_deleted")[0]; EventColArr.push("" + eventname + " Deleted"); } } } $("#select2_EventColumns").val(EventColArr).trigger('change'); $("input[type=radio]").attr('disabled', 1); }); } else { $("#rdb_Scheduled").attr('checked', 1); $("#hf_SchedulerType").val(response.SchedulerId); $("#divEventDetails").removeClass("hidden"); $("#EventColumnsdiv").addClass("hidden"); $("#select2_EventColumns").removeClass("required"); $("#date_StartDate").val(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(response.StartDate)); $("#date_EndDate").val(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(response.EndDate)); $("#ddl_SchedulerType").val($("#hf_SchedulerType").val()); $("input[type=radio]").attr('disabled', 1); var useroption = new Option(response.UserName, response.IdentityUserId.toString(), true, true); $("#txtAutoComplete_Users").append(useroption); } if (response.SqlWhere != null && response.SqlWhere != "") { Unibase.Platform.Automation.Components.RuleEvent.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere); $("#btn_Conditions").addClass("hidden"); $("#ConditionDetailsDiv").removeClass("hidden"); } $("#div_StartDate").addClass('floating-label-form-group-with-value'); $("#div_EndDate").addClass('floating-label-form-group-with-value'); eval('_floatingLabelHelper.init();'); }); } RuleEventArray() { let eventarray = []; let eventcolumns = Unibase.Platform.Automation.Components.RuleEvent.Instance().GetEventColumns().split(","); for (var i = 0; i < eventcolumns.length; i++) { let eventobj = {}; let eventtype; let etype = eventcolumns[i].split(" ")[1]; let eventcolumn = ""; if (etype == "Created") { eventtype = Unibase.Platform.Automation.Enums.EventType.Created; } else if (etype == "Deleted") { eventtype = Unibase.Platform.Automation.Enums.EventType.Deleted; } else if (eventcolumns[i].toLowerCase() == "stageid changed") { eventtype = Unibase.Platform.Automation.Enums.EventType.StageEvent; eventcolumn = eventcolumns[i].split(" ")[0]; } else { eventtype = Unibase.Platform.Automation.Enums.EventType.Updated; eventcolumn = eventcolumns[i].split(" ")[0]; } eventobj.RuleEventId = 0; eventobj.EventColumnName = eventcolumn; eventobj.EventType = eventtype; eventobj.RuleId = eval("bizgaze_automation_flow_main.getruleid()"); eventarray.push(eventobj); } return eventarray; } Ruledata() { return __awaiter(this, void 0, void 0, function* () { let ruleid = eval("bizgaze_automation_flow_main.getruleid()"); if (ruleid != 0) { yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(ruleid).then(function (response) { Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray = response; if (Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleTypeId == Number(Unibase.Platform.Automation.Enums.RuleType.Event)) { Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event; } else { Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType = Unibase.Platform.Automation.Enums.RuleType.Scheduler; } }); } }); } SaveRuleEvent(id, containerid) { return __awaiter(this, void 0, void 0, function* () { var eventcolumns = ''; let EventGroupId = Number(id); let ruledata = []; let ruleeventdata = []; yield Unibase.Platform.Automation.Components.RuleEvent.Instance().Ruledata(); let SchedulerTypeId = Number($('input[name=SchedulerType]:checked').val()); if (SchedulerTypeId == 2) { let rulearr = Unibase.Platform.Automation.Components.RuleEvent.Instance().GetSRuleData(); for (let i = 0; i < rulearr.length; i++) { ruledata.push({ RuleId: rulearr[i].RuleId, RuleProviderId: rulearr[i].RuleProviderId, DocTypeId: rulearr[i].DocTypeId, RuleName: rulearr[i].RuleName, SchedulerId: rulearr[i].SchedulerId, RuleType: rulearr[i].RuleType, Notes: rulearr[i].Notes, RuleFlow: rulearr[i].RuleFlow, StartDate: rulearr[i].StartDate, EndDate: rulearr[i].EndDate, RuleConditionData: rulearr[i].RuleConditionData, EventGroupData: rulearr[i].EventGroupData, AutomationModeId: rulearr[i].AutomationModeId, SqlWhere: rulearr[i].SqlWhere, SqlWhereJson: rulearr[i].SqlWhereJson, IdentityUserId: rulearr[i].IdentityUserId, }); } } else { let ruleeventarray = Unibase.Platform.Automation.Components.RuleEvent.Instance().RuleEventArray(); for (let i = 0; i < ruleeventarray.length; i++) { ruleeventdata.push({ RuleEventId: ruleeventarray[i].RuleEventId, RuleId: ruleeventarray[i].RuleId, EventId: ruleeventarray[i].EventId, EventColumnName: ruleeventarray[i].EventColumnName, EventType: ruleeventarray[i].EventType, RuleType: ruleeventarray[i].RuleType }); if (ruleeventarray[i].EventColumnName != "") { eventcolumns += ruleeventarray[i].EventColumnName + " Changed ,"; } } let rulearr = Unibase.Platform.Automation.Components.RuleEvent.Instance().GetRuleData(); for (let i = 0; i < rulearr.length; i++) { ruledata.push({ RuleId: rulearr[i].RuleId, RuleProviderId: rulearr[i].RuleProviderId, DocTypeId: rulearr[i].DocTypeId, RuleName: rulearr[i].RuleName, SchedulerId: rulearr[i].SchedulerId, RuleType: rulearr[i].RuleType, Notes: rulearr[i].Notes, RuleFlow: rulearr[i].RuleFlow, StartDate: rulearr[i].StartDate, EndDate: rulearr[i].EndDate, RuleConditionData: rulearr[i].RuleConditionData, EventGroupData: rulearr[i].EventGroupData, AutomationModeId: rulearr[i].AutomationModeId, SqlWhere: rulearr[i].SqlWhere, SqlWhereJson: rulearr[i].SqlWhereJson, IdentityUserId: rulearr[i].IdentityUserId, }); } } let model = new Unibase.Platform.Automation.Requests.EventGroup(); model.EventGroupId = EventGroupId; model.RuleId = eval("bizgaze_automation_flow_main.getruleid()"); model.RuleEventData = ruleeventdata; if ($("#ddl_SchedulerType").val() != 0) { model.RuleType = Unibase.Platform.Automation.Enums.RuleType.Scheduler; } else { model.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event; } model.RuleData = ruledata; yield Automation.Managers.RuleManager.Instance().saveAdvRuleEvent(model).then(function (response) { if (response.status == Unibase.Data.Status.Error) { MessageHelper.Instance().showError(response.message, "Validate_Rule"); } else { if (response.result.EventGroupId != 0) { MessageHelper.Instance().showSuccess(response.message, "Validate_Rule"); eval("bizgaze_automation_flow_main.saveeventblock('" + response.result.EventGroupId + "','Event Configured')"); } else { MessageHelper.Instance().showSuccess(response.message, "Validate_Rule"); eval("bizgaze_automation_flow_main.saveeventblock('" + response.result.RuleId + "','Event Configured')"); } let queryelmnt = $("#builder"); queryelmnt.queryBuilder('destroy'); $("#QueryBuilder").remove(); $('#' + containerid).modal('hide'); $('#' + containerid).remove(); Unibase.Platform.Automation.Components.RuleEvent.EventColumnData = []; eval("bizgaze_automation_flow_main.saveeventname('" + eventcolumns + "')"); } }); }); } GetSRuleData() { let rulearray = []; let queryelmnt = $("#builder"); let ruleobj = {}; ruleobj.RuleId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleId; ruleobj.RuleProviderId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleProviderId; ruleobj.DocTypeId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.DocTypeId; ruleobj.RuleName = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleName; ruleobj.SchedulerId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.SchedulerId; ruleobj.RuleType = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType; ruleobj.Notes = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.Notes; ruleobj.RuleFlow = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleFlow; ruleobj.AutomationModeId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.AutomationModeId; if ($("#ddl_SchedulerType").val() != 0) { ruleobj.SchedulerId = Number($("#ddl_SchedulerType").val()); ruleobj.RuleType = Unibase.Platform.Automation.Enums.RuleType.Scheduler; } else { ruleobj.SchedulerId = 1; ruleobj.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event; } let StartDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_StartDate").val()); ruleobj.StartDate = new Date(StartDate); let EndDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_EndDate").val()); ruleobj.EndDate = new Date(EndDate); ruleobj.IdentityUserId = $("#txtAutoComplete_Users option:selected").val() == null || "" ? 0 : Number($("#txtAutoComplete_Users option:selected").val()); let query = queryelmnt.queryBuilder('getSQL', false, true); if (query != null) { ruleobj.SqlWhere = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE"); ruleobj.SqlWhereJson = JSON.stringify(queryelmnt.queryBuilder('getSQL', false, true)); } else { ruleobj.SqlWhere = ''; ruleobj.SqlWhereJson = ''; } rulearray.push(ruleobj); return rulearray; } GetRuleData() { let rulearray = []; let queryelmnt = $("#builder"); let ruleobj = {}; ruleobj.RuleId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleId; ruleobj.RuleProviderId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleProviderId; ruleobj.DocTypeId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.DocTypeId; ruleobj.RuleName = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleName; ruleobj.AutomationModeId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.AutomationModeId; ruleobj.SchedulerId = 1; ruleobj.RuleType = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType; ruleobj.Notes = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.Notes; ruleobj.RuleFlow = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleFlow; ruleobj.StartDate = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.StartDate; ruleobj.EndDate = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.EndDate; let query = queryelmnt.queryBuilder('getSQL', false, true); if (query != null) { ruleobj.SqlWhere = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE"); ruleobj.SqlWhereJson = JSON.stringify(queryelmnt.queryBuilder('getSQL', false, true)); } else { ruleobj.SqlWhere = ''; ruleobj.SqlWhereJson = ''; } rulearray.push(ruleobj); return rulearray; } loadQueryBuilder(ruleproviderid, querystring) { return __awaiter(this, void 0, void 0, function* () { return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) { let ruleconditionhtml = Unibase.Platform.DataSources.Components.QueryBuilder.Instance().html(null, null); jQuery(".ConditionDetails").html(ruleconditionhtml); var qinstance = Unibase.Platform.DataSources.Components.QueryBuilder.Instance(); qinstance.QueryBuilder_Columns = []; qinstance.QueryBuilder_Filters = []; qinstance.queryBuilderString = ""; if (response.ReportId != 0) { qinstance.ReportId = response.ReportId; qinstance.loadQueryBuilderDiv(querystring); } else { qinstance.DoctypeId = response.DoctypeId; qinstance.loadQueryBuilderDivByDoctypeId(querystring); } $("#QueryBuilder").removeClass("hidden"); }); }); } static Instance() { if (this.instance === undefined) { this.instance = new RuleEvent(); } return this.instance; } } RuleEvent.EventColumnData = []; RuleEvent.RuleDataArray = []; Components.RuleEvent = RuleEvent; })(Components = Automation.Components || (Automation.Components = {})); })(Automation = Platform.Automation || (Platform.Automation = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));