This commit is contained in:
2023-03-11 17:30:20 +00:00
commit b6c4e025bc
5124 changed files with 1153349 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class Ruleflow_widget extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.ruleid = 0;
}
cssFiles() {
return ["libs\notificationbuilder\notificationbuilder.css"];
}
jsFiles() {
return ["libs\notificationbuilder\notificationbuilder.js"];
}
html() {
return "";
}
load() {
}
static Instance() {
if (this.instance == undefined) {
this.instance = new Ruleflow_widget();
}
return this.instance;
}
init(containerid) {
Unibase.Platform.Automation.Components.Ruleflow_widget.Instance().loadjsfile();
Unibase.Platform.Automation.Components.Ruleflow_widget.Instance().loadcssfile();
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid") {
Ruleflow_widget.Instance().ruleid = Number(obj.Value);
}
}
}
Unibase.Platform.Automation.Components.Ruleflow_widget.Instance().render(containerid);
}
loadjsfile() {
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(this.jsFiles(), function () { });
}
loadcssfile() {
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadCssFiles(this.cssFiles(), function () { });
}
render(containerid) {
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(Ruleflow_widget.Instance().ruleid).then(function (response) {
if (response.RuleFlow != null) {
$("." + containerid).html('');
var info = JSON.parse(response.RuleFlow);
info.html = info.html.replaceAll('\\\\', '').replaceAll("onclick", '');
var html = '<div class="rulewidget bg-white" style="height:100%;overflow:auto"><div class="flowchart_header"><b style="font-size:15px">Rule Flow</b></div><hr>' + info.html + '</div>';
$("." + containerid).html(html);
}
});
});
}
}
Components.Ruleflow_widget = Ruleflow_widget;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
//# sourceMappingURL=Ruleflow_widget.js.map
@@ -0,0 +1 @@
{"version":3,"file":"Ruleflow_widget.js","sourceRoot":"","sources":["Ruleflow_widget.ts"],"names":[],"mappings":"AACA,IAAU,OAAO,CA8DhB;AA9DD,WAAU,OAAO;IACb,IAAiB,QAAQ,CA4DxB;IA5DD,WAAiB,QAAQ;QACrB,IAAiB,UAAU,CA0D1B;QA1DD,WAAiB,UAAU;YACvB,IAAiB,UAAU,CAwD1B;YAxDD,WAAiB,UAAU;gBACvB,MAAa,eAAgB,SAAQ,QAAQ,CAAC,IAAI,CAAC,aAAa;oBAAhE;;wBAEI,WAAM,GAAG,CAAC,CAAC;oBAoDf,CAAC;oBAnDG,QAAQ;wBACJ,OAAO,CAAC,kDAAkD,CAAC,CAAC;oBAChE,CAAC;oBACD,OAAO;wBACH,OAAO,CAAC,iDAAiD,CAAC,CAAC;oBAC/D,CAAC;oBACD,IAAI;wBACA,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,IAAI;oBACJ,CAAC;oBAED,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;4BAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;yBACzC;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;oBACD,IAAI,CAAC,WAAW;wBACZ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC;wBAC/E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;wBAChF,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;4BAChF,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,eAAe,EAAE;gCACjF,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,GAAG,WAAW,EAAE;oCACxF,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iCACzD;6BACJ;yBACJ;wBACD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC1F,CAAC;oBACD,UAAU;wBAEN,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;oBACrG,CAAC;oBACD,WAAW;wBACP,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;oBACvG,CAAC;oBACD,MAAM,CAAC,WAAW;wBACd,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,6CAA6C,EAAE;4BAC1G,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;gCAC1H,IAAI,QAAQ,CAAC,QAAQ,IAAI,IAAI,EAAE;oCAC3B,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oCAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oCACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oCACvE,IAAI,IAAI,GAAG,qJAAqJ,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;oCACxL,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iCACnC;4BAEL,CAAC,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;oBACP,CAAC;iBACJ;gBAtDY,0BAAe,kBAsD3B,CAAA;YACL,CAAC,EAxDgB,UAAU,GAAV,qBAAU,KAAV,qBAAU,QAwD1B;QACL,CAAC,EA1DgB,UAAU,GAAV,mBAAU,KAAV,mBAAU,QA0D1B;IACL,CAAC,EA5DgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA4DxB;AACL,CAAC,EA9DS,OAAO,KAAP,OAAO,QA8DhB"}
@@ -0,0 +1,433 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class ApiIntegrator extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RowIndex = 0;
this.RuleProviderId = 0;
this.AutomationMode = 0;
this.RuleInstance = Unibase.Platform.Automation.Components.Rule.Instance();
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/automation/enums/automationmode.js",
"platform/automation/components/conditions.js",
"platform/automation/components/contactselection.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js",
"libs/querybuilder/query-builder.min.js",
"libs/querybuilder/query-builder.standalone.min.js",
"libs/querybuilder/query-builder.standalone.js",
"libs/querybuilder/sql-parser.min.js", "libs/notificationbuilder/notificationbuilder.js", "platform/apps/managers/stagemanager.js", "platform/automation/components/rulebuilder/rulebuilder.rule.js", "platform/automation/components/rulebuilder/notificationgroup.js", "platform/automation/managers/notificationgroupmanager.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_ApiIntegrator" 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="Spn_ApiIntegrator">Create Api Integrator</strong></div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divApiIntegrator">
<div id="Validate_ApiAction" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl" id="lbl_RuleActionName">Action<span class="text-danger required" id="spnIsRequired_RuleActionName"> *</span></label>
<input type="text" id="txtApiIntegrator_RuleActionName" class="form-control value-control required floating-label-control" placeholder="Action *" data-placeholder="Enter Action" data-label="Action *">
<input type="hidden" id="hf_RuleActionName" />
</div></div></div>
<div class="row">
<div class="col-sm-12">
<div id="div_Subject" class="floating-label-form-group">
<label for="lbl_ApiParameter" id="lbl_ApiParameter">Api Parameter</label>
<div class="input-group">
<input type="text" id="txtApiIntegrator_ApiParameter" class="col-sm-9 form-control value-control floating-label-control" data-placeholder="Enter ApiParameter" placeholder="ApiParameter" data-label="ApiParameter">
<select id="ddl_ApiParameters" class="col-sm-3 form-control value-control">
<option value="0">Select Token</option>
</select></div></div></div></div>
<div class="row">
<div id="div_NotificationGrp" class="floating-label-form-group col-sm-6 floating-label-form-group-with-value">
<label for="lbl_NotificationGrp" id="lbl_NotificationGroup">Notification Group<span class="text-danger"> *</span></label>
<select id="ddl_NotificationGrp" class="form-control"><option value="0">Select Group</option></select>
</div><div class="col-sm-6 createbtn_grp"><button class="badge badge-primary mt-30 ml-15" id="creategrp_btn">Create Group</button></div></div>
<div class="row">
<div class="col-sm-6">
<div class="input-group">
<label for="Doctype" class="font-bold">Services <span class="text-danger">*</span></label>
<select id="txtAutoComplete_Services" class="form-control text-control required" style="width:100%;" placeholder="Services" data-placeholder="Services" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_Services" class="form-control value-control" data-isdynamic="true"/></div></div>
<div class="ResultActions col-sm-6 hidden">
<div id="div_ResultAction" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_ResultAction">Result Action</label>
<select id="ddl_ResultAction" class="form-control">
<option value="0">Select</option></select>
<label for="Validation" id="lblValidation_ResultAction"></label><input type="hidden" id="hfFormPropertyId" value="0"/></div></div></div>
</div></div>
<div class="bg-white card Advanced_optionsdata">
<div class="card-header"><i class="fa fa-angle-down arrowicon mr-1" onclick="Unibase.Platform.Automation.Components.ApiIntegrator.Instance().Toggleadvancedoptions()"></i>Advanced Options</div>
<div class="card-body Advanced_options hidden">
<div class="row">
<div class="col-sm-6 floating-label-form-group floating-label-form-group-with-value">
<label class="Message_type">Message Type</label>
<select class="form-control" id="message_result">
<option value="0">Success</option>
<option value="1">Warning</option>
<option value="2">Error</option>
</select>
</div>
<div class="col-sm-6">
<input type="checkbox" class="test_data mt-50" id="chkAutoApprovedApiIntegrator" checked>Perform this Action
</div>
</div>
</div>
</div>
<div class="bg-white card" id="ActionConditionsDivdata">
<div class="card-header"><i class="fa fa-angle-down conditionicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ToggleApiIntegratorConditions();"></i>Condition Details</div>
<div class="card-body hidden" id="ActionConditionsDiv">
<div class="ActionConditions">
<!--For Action Conditions-->
</div>
</div>
</div>
<div class="bg-white card" id="SelectstagesDiv">
<div class="card-header">Stage Event</div>
<div class="card-body">
<div class="stages_drp row"><div class="col-sm-6"><label class="from_label">From Stage</label><select class="from_stage_apiintegrator form-control"></select></div><div class="col-sm-6"><label class="_label">To Stage</label><select class="to_stage_apiintegrator form-control"></select></div></div>
</div></div>
</div>
<div class="bg-white card-footer footer" id="CreateApiIntegratorFooter">
<a href="javascript:;" id="btnCloseApiIntegrator" class="btn btn-light btn-sm mr-auto ">Close</a>
<a href="javascript:;" id="btnSaveApiIntegrator" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId = instance.ActionId;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleActionData = instance.RuleActionData;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RowIndex = instance.RowIndex;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode = instance.AutomationMode;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleProviderId = instance.RuleProviderId;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId = instance.ParentActionId;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode = instance.IsAutomationMode;
yield Unibase.Platform.Automation.Components.NotificationGroup.Instance().LoadNotificationGroups();
if (instance.AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode) {
eval('bizgaze_automation_flow_main.getcontainerid("' + containerid + '")');
}
$('#creategrp_btn').click(function () {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true);
});
$("#btnCloseApiIntegrator").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode) {
if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode) {
Unibase.Platform.Automation.Components.Rule.Instance().ChangeAction(instance.RowIndex, id);
}
}
}
else {
eval("bizgaze_automation_flow_main.getpopupclosed()");
}
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
});
$("#btnSaveApiIntegrator").click(function () {
let appcontrolid = "frmUnibase_ApiIntegrator";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_ApiAction");
return false;
}
else {
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().SaveApiIntegrator(id, containerid);
}
});
$("#ddl_ApiParameters").change(function () {
var textAreaTxt = $("#txtApiIntegrator_ApiParameter").val().toString();
var txtToAdd = '{{' + $("#ddl_ApiParameters option:selected").text() + '}}';
var firsttext = textAreaTxt.slice(0, ApiIntegrator.Instance().tokenposition);
var lasttext = textAreaTxt.slice(ApiIntegrator.Instance().tokenposition, textAreaTxt.length);
$("#txtApiIntegrator_ApiParameter").val(firsttext + txtToAdd + lasttext);
$("#ddl_ApiParameters").val(0);
});
$("#txtApiIntegrator_ApiParameter").focusout(function (event) {
ApiIntegrator.Instance().tokenposition = event["target"]["selectionStart"];
});
if (instance.RuleInstance.IsStageChangeEvent()) {
$('#SelectstagesDiv').removeClass('d-none');
yield Unibase.Platform.Automation.Components.ApiIntegrator.Instance().LoadAppStages();
}
else {
$('#SelectstagesDiv').addClass('d-none');
}
if (instance.ParentActionId != 0) {
yield Unibase.Platform.Automation.Components.ContactSelection.Instance().getResultActions(instance.ParentActionId);
yield Unibase.Platform.Automation.Components.ApiIntegrator.Instance().GetRuleActionInfo(Number(instance.ParentActionId));
$('#ddl_NotificationGrp').prop("disabled", true);
$('#creategrp_btn').addClass('d-none');
}
if (id != "") {
setTimeout(function () { Unibase.Platform.Automation.Components.ApiIntegrator.Instance().EditApiIntegrator(id); }, 10);
}
let rpid = instance.RuleProviderId;
if (rpid != 0) {
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().LoadApiParameters(rpid);
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(rpid, null);
}
if (instance.RuleActionData.length != 0) {
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().LoadApiIntegratorData(instance.RuleActionData);
}
var url = _appsettings.server_url() + '/apis/v4/unibase/integrations/integrator/servicintegratorautocomplete/integratorid/0';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Services", "#hf_Autocomplete_Services", url, function (response) {
var data = response;
});
});
}
ToggleApiIntegratorConditions() {
$('#ActionConditionsDiv').toggleClass("hidden");
if ($('.conditionicon').hasClass('fa-angle-down')) {
$('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleProviderId, null);
}
else {
$('.conditionicon').removeClass('fa-angle-up').addClass('fa-angle-down');
}
}
Toggleadvancedoptions() {
if ($('.arrowicon').hasClass('fa-angle-down')) {
$('.arrowicon').removeClass('fa-angle-down').addClass('fa-angle-up');
}
else {
$('.arrowicon').removeClass('fa-angle-up').addClass('fa-angle-down');
}
$('.Advanced_options').toggleClass("hidden");
}
LoadAppStages() {
return __awaiter(this, void 0, void 0, function* () {
var html = '';
var fromstage = '<option value="0">Select FromStage</option>';
var tostage = '<option value="0">Select ToStage</option>';
var installeappid = Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId;
yield Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(installeappid).then(function (response) {
if (response.result != null) {
for (let i = 0; i < response.result.length; i++) {
var data = response.result[i];
html += '<option value=' + data.StageId + '>' + data.StageName + '</option>';
}
}
$('.from_stage_apiintegrator').html(fromstage + html);
$('.to_stage_apiintegrator').html(tostage + html);
});
});
}
EditApiIntegrator(id) {
let actionid = Number(id);
$("#Spn_ApiIntegrator").text("Edit Api Integrator");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) {
$("#txtApiIntegrator_RuleActionName").val(response.RuleActionName);
$("#txtApiIntegrator_ApiParameter").val(response.BString2);
$('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true);
if (response.ResultActionId != null) {
$('#ddl_ResultAction').val(response.ResultActionId);
}
if (!Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode) {
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleId = response.RuleId;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleEventId = response.RuleEventId;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().EventGroupId = response.EventGroupId;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId = response.ActionId;
Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId = response.ParentActionId;
}
if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved))
$("#chkAutoApprovedApiIntegrator").prop("checked", false);
else
$("#chkAutoApprovedApiIntegrator").prop("checked", true);
let id = Number(response.BString4);
Unibase.Platform.Integrations.Managers.IntegrationManager.Instance().getServiceIntegratorById(id).then(function (res) {
var serviceoption = new Option(res.result.ServiceIntegratorName, res.result.ServiceIntegratorId.toString(), true);
$("#txtAutoComplete_Services").append(serviceoption);
});
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
if (response.SqlWhere != null && response.SqlWhere != "") {
$("#ActionConditionsDiv").removeClass("hidden");
$('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
}
if (response.FromStage != null && response.ToStage != null) {
$('.from_stage_apiintegrator option[value=' + response.FromStage + ' ]').prop('selected', true);
$('to_stage_apiintegrator option[value=' + response.ToStage + ']').prop('selected', true);
}
$('#message_result').val(Number(response.BString5));
eval('_floatingLabelHelper.init();');
});
}
LoadApiIntegratorData(Data) {
for (var i = 0; i < Data.length; i++) {
$("#txtApiIntegrator_RuleActionName").val(Data[i].RuleActionName);
$("#txtApiIntegrator_ApiParameter").val(Data[i].BString1);
let id = Number(Data[i].BString4);
Unibase.Platform.Integrations.Managers.IntegrationManager.Instance().getServiceIntegratorById(id).then(function (res) {
var serviceoption = new Option(res.result.ServiceIntegratorName, res.result.ServiceIntegratorId.toString(), true);
$("#txtAutoComplete_Services").append(serviceoption);
});
if (!Data[i].AutoApproved)
$("#chkAutoApprovedApiIntegrator").prop("checked", false);
else
$("#chkAutoApprovedApiIntegrator").prop("checked", true);
if (Data[i].SqlWhere != "" && Data[i].SqlWhere != null) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleProviderId, Data[i].SqlWhere);
$('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
$("#ActionConditionsDiv").removeClass("hidden");
}
eval('_floatingLabelHelper.init();');
}
}
SaveApiIntegrator(ApiIntegratorid, containerid) {
var instance = this;
let ruleactionid = Number(ApiIntegratorid);
let queryelmnt = $("#builder");
let model = new Unibase.Platform.Automation.Requests.RuleAction();
model.RuleActionId = ruleactionid;
model.RuleActionName = $("#txtApiIntegrator_RuleActionName").val().toString();
model.BString1 = $("#txtApiIntegrator_ApiParameter").val().toString();
model.BString2 = $("#txtApiIntegrator_ApiParameter").val().toString();
model.BString4 = $("#txtAutoComplete_Services").val().toString();
model.BString5 = $('#message_result option:selected').val().toString();
model.ActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId;
model.RuleId = 0;
model.Users = "";
model.NotificationGroupId = $('#ddl_NotificationGrp').val() == undefined ? 0 : Number($('#ddl_NotificationGrp').val());
if (model.NotificationGroupId == 0) {
MessageHelper.Instance().showError("Please Select Notification Group", "Validate_ApiAction");
return;
}
if (instance.RuleInstance.IsStageChangeEvent()) {
model.FromStage = $('.from_stage_apiintegrator option:selected').val() != "0" ? Number($('.from_stage_apiintegrator option:selected').val()) : 0;
model.ToStage = $('.to_stage_apiintegrator option:selected').val() != "0" ? Number($('.to_stage_apiintegrator option:selected').val()) : 0;
}
let query = queryelmnt.queryBuilder('getSQL', false, true);
if (query != null) {
model.SqlWhere = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE");
;
model.SqlWhereJson = JSON.stringify(queryelmnt.queryBuilder('getSQL', false, true));
}
else {
model.SqlWhere = "";
model.SqlWhereJson = "";
}
model.ResultActionId = Number($("#ddl_ResultAction option:selected").val());
if (model.ResultActionId != 0) {
model.ResultActionName = $("#ddl_ResultAction option:selected").text();
}
else {
model.ResultActionName = "";
}
model.DelayTime = 0;
model.ParentActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId;
model.AutoApproved = $('#chkAutoApprovedApiIntegrator').is(':checked');
model.RowIndex = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RowIndex;
if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().IsAutomationMode) {
if (Unibase.Platform.Automation.Components.ApiIntegrator.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
Unibase.Platform.Automation.Components.Rule.Instance().RuleActionsArray(model);
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
}
else {
model.RuleId = eval("bizgaze_automation_flow_main.getruleid()");
Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_ApiAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_ApiAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
var actionname = response.result.RuleActionName;
eval("bizgaze_automation_flow_main.saveApiIntegratorblock('" + response.result.RuleActionId + "','" + actionname + "')");
}
});
}
}
else {
model.RuleId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleId;
model.EventGroupId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().EventGroupId;
model.RuleEventId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().RuleEventId;
model.ActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ActionId;
model.ParentActionId = Unibase.Platform.Automation.Components.ApiIntegrator.Instance().ParentActionId;
Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_ApiAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_ApiAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
}
});
}
}
LoadApiParameters(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let ApiParameters = document.getElementById('ddl_ApiParameters');
$('#ddl_ApiParameters').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select Token";
defaultOpt1.value = "0";
ApiParameters.appendChild(defaultOpt1);
for (let i = 0; i <= response.length - 1; i++) {
var opt = document.createElement("option");
opt.text = response[i];
opt.value = (i + 1).toString();
ApiParameters.appendChild(opt);
}
});
}
GetRuleActionInfo(parentactionid) {
return __awaiter(this, void 0, void 0, function* () {
yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(parentactionid).then(function (response) {
if (response != null) {
var html = '<option value=' + response.NotificationGroupId + ' selected>' + response.NotificationGroupName + '</option>';
$('#ddl_NotificationGrp').html('').html(html);
}
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ApiIntegrator();
}
return this.instance;
}
}
Components.ApiIntegrator = ApiIntegrator;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,712 @@
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 SendEmail extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RuleProviderId = 0;
this.RowIndex = 0;
this.AutomationMode = 0;
this.RuleInstance = Unibase.Platform.Automation.Components.Rule.Instance();
this.formpropertyid = "ExternalAttachments";
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/automation/enums/automationmode.js",
"platform/automation/components/conditions.js",
"platform/automation/components/contactselection.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js",
"libs/querybuilder/query-builder.min.js",
"libs/querybuilder/query-builder.standalone.min.js",
"libs/querybuilder/query-builder.standalone.js",
"libs/querybuilder/sql-parser.min.js",
"apps/communications/managers/mails/mailmanager.js",
"platform/templates/enums/templatetype.js",
"platform/templates/managers/templatemanager.js", "libs/notificationbuilder/notificationbuilder.js", "platform/apps/managers/stagemanager.js", "platform/automation/components/rulebuilder/rulebuilder.rule.js", "platform/automation/components/externalrecipients.js", "platform/automation/components/rulebuilder/notificationgroup.js", "platform/automation/managers/notificationgroupmanager.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_SendEmail" 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="Spn_SendEmail">Create Email</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divSendEmail">
<div id="Validate_EmailAction" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl" id="lbl_RuleActionName">Action<span class="text-danger required" id="spnIsRequired_RuleActionName"> *</span></label>
<input type="text" id="txtEmail_RuleActionName" class="form-control value-control required floating-label-control" placeholder="Action *" data-placeholder="Enter Action" data-label="Action *">
<input type="hidden" id="hf_RuleActionName" />
</div>
</div>
</div>
<div class="row">
<div id="div_NotificationGrp" class="floating-label-form-group col-sm-6 floating-label-form-group-with-value">
<label for="lbl_NotificationGrp" id="lbl_NotificationGroup">Notification Group<span class="text-danger"> *</span></label>
<select id="ddl_NotificationGrp" class="form-control"><option value="0">Select Group</option></select>
</div><div class="col-sm-6 createbtn_grp"><button class="badge badge-primary mt-30 ml-15" id="creategrp_btn">Create Group</button></div></div>
<div class="row">
<div class="ResultActions col-sm-6 hidden">
<div id="div_ResultAction" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_ResultAction">Result Action</label>
<select id="ddl_ResultAction" class="form-control">
<option value="">-- Select --</option>
</select>
<label for="Validation" id="lblValidation_ResultAction"></label><input type="hidden" id="hfFormPropertyId" value="" />
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card" id="EmailDetailsDiv">
<div class="card-header">Mail Details</div>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>Template</label>
<select id="Autocomplete_Template" class="form-control value-control" data-isdynamic="true"></select>
<input type="hidden" id="hf_Template" />
</div>
</div>
</div>
<div class="row">
<div id="div_MailBody" class="TextEditor col-sm-12">
<inpu type="hidden" id="txthdn__MailBody" class="value-control" value="">
<span class="text-danger" id="spnIsRequired__MailBody"></span>
<div class="type-control summernote__MailBody" style="display: block;" id="summernote__MailBody" data-propdoctypename="MailBody" data-required="" placeholder="Mail Body" data-placeholder="Mail Body" data-label="Mail Body"></div>
<label for="Validation" id="lblValidation"></label>
</input>
</div>
</div>
</div>
</div>
<div class="bg-white card" id="AttachmentsDiv">
<div class="card-header">Attachments</div>
<div class="card-body" id="ExternalAttachments">
</div>
</div>
<div class="bg-white card Advanced_optionsdata">
<div class="card-header"><i class="fa fa-angle-down arrowicon mr-1" onclick="Unibase.Platform.Automation.Components.SendEmail.Instance().Toggleadvancedoptions()"></i>Advanced Options</div>
<div class="card-body Advanced_options hidden">
<div class="row">
<div class="col-sm-6 floating-label-form-group floating-label-form-group-with-value">
<label class="Message_type">Message Type</label>
<select class="form-control" id="message_result">
<option value="0">Success</option>
<option value="1">Warning</option>
<option value="2">Error</option>
</select>
</div>
<div class="col-sm-6">
<input type="checkbox" class="test_data mt-50" id="chkAutoApprovedEmail" checked>Perform this Action
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="input-group">
<label for="lbl_InternalTemplate" id="lbl_InternalTemplate">Internal Template</label>
<select id="Autocomplete_InternalTemplate" class="form-control text-control" style="width:100%;" placeholder="InternalTemplate" data-placeholder="InternalTemplate" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_InternalTemplate" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<input type="checkbox" class="refattchments mt-50" id="chkIsRefAttachments">IsRefAttachments
</div>
<div class="col-sm-6">
<input type="checkbox" class="isbulk_send mt-50 " id="isbulksend" checked><span class="ml-5">Is Bulk</span>
</div>
</div>
</div>
</div>
<div class="bg-white card hidden" id="DocTypesDiv">
<div class="card-header">DocTypes</div>
<div class="card-body">
<div class="SelectDocType col-sm-12">
<!--For Mapping of datalists-->
</div>
</div>
</div>
<div class="bg-white card" id="ActionConditionsDivdata">
<div class="card-header"><i class="fa fa-angle-down conditionicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.SendEmail.Instance().ToggleSendEmailConditions();"></i>Condition Details</div>
<div class="card-body hidden" id="ActionConditionsDiv">
<div class="ActionConditions">
<!--For Action Conditions-->
</div>
</div>
</div><div class="bg-white card" id="SelectstagesDiv">
<div class="card-header">Stage Event</div>
<div class="card-body">
<div class="stages_drp row"><div class="col-sm-6"><label class="from_label">From Stage</label><select class="from_stage_email form-control"></select></div><div class="col-sm-6"><label class="_label">To Stage</label><select class="to_stage_email form-control"></select></div></div>
</div></div>
<div class="bg-white card" id="SelectRoleDiv">
<div class="card-header">Send To Details</div>
<div class="card-body">
<div class="ContactSelection col-sm-12">
<!--For ContactSelection page-->
</div>
</div>
</div>
<div class="bg-white card" id="external_recipientsdiv">
<div class="card-header">External Recipients</div>
<div class="card-body">
<div class="reportautocomplete">
<div class="row">
<div class="col-sm-6">
<div class="input-group">
<label for="Report" class="font-bold">External Report</label>
<select id="txtAutoComplete_ReportsExternal" class="form-control text-control" style="width:100%;" placeholder="Report" data-placeholder="Report" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_ReportsExternal" class="form-control value-control" data-isdynamic="true" /></div></div></div></div>
<div class="external_reportcolumns mt-4"><div class="row externalreport_row"></div></div></div></div>
<div class="bg-white card col-sm-3 hidden" id="btn_ExternalRecipients">
<button type="button" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.SendEmail.Instance().ToggleExternalRecipients();">External Recipients</button>
</div>
<div class="bg-white card hidden" id="ExternalRecipientsDiv">
<div class="card-header">External Recipients</div>
<div class="card-body">
<div class="ExternalRecipients">
</div>
</div>
</div><div class="bg-white card hidden" id="external_reportcolumnsdiv">
<div class="card-header">External ReportContacts</div>
<div class="card-body">
</div>
</div>
<div class="bg-white card col-sm-3" id="btn_SendFrom">
<button type="button" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.SendEmail.Instance().ToggleEmailSendFrom();">Send From</button>
</div>
<div class="bg-white card hidden" id="SendFromDiv">
<div class="card-header">Send From Details</div>
<div class="card-body">
<div class="row SendFrom">
<div class="col-sm-6">
<div class="input-group">
<label for="lbl_MailServer" id="lbl_MailServer">Mail Server<span class="text-danger" id="span_MailServer">*</span></label>
<select id="Autocomplete_MailServer" class="form-control text-control required" style="width:100%;" placeholder="MailServer" data-placeholder="MailServer" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_MailServer" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="lbl_MailAccount" id="lbl_MailAccount">Mail Account<span class="text-danger" id="span_MailAccount">*</span></label>
<select id="Autocomplete_MailAccount" class="form-control text-control required" style="width:100%;" placeholder="MailAccount" data-placeholder="MailAccount" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_MailAccount" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateEmailFooter">
<a href="javascript:;" id="btnCloseEmail" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveEmail" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
Unibase.Platform.Automation.Components.SendEmail.Instance().ActionId = instance.ActionId;
Unibase.Platform.Automation.Components.SendEmail.Instance().RuleActionData = instance.RuleActionData;
Unibase.Platform.Automation.Components.SendEmail.Instance().RowIndex = instance.RowIndex;
Unibase.Platform.Automation.Components.SendEmail.Instance().AutomationMode = instance.AutomationMode;
Unibase.Platform.Automation.Components.SendEmail.Instance().ParentActionId = instance.ParentActionId;
Unibase.Platform.Automation.Components.SendEmail.Instance().IsAutomationMode = instance.IsAutomationMode;
yield Unibase.Platform.Automation.Components.NotificationGroup.Instance().LoadNotificationGroups();
Unibase.Platform.Automation.Components.ExternalRecipients.Instance().loadreports();
if (instance.AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode) {
eval('bizgaze_automation_flow_main.getcontainerid("' + containerid + '")');
}
$("#btnCloseEmail").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (Unibase.Platform.Automation.Components.SendEmail.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
if (Unibase.Platform.Automation.Components.SendEmail.Instance().AutomationMode) {
if (Unibase.Platform.Automation.Components.SendEmail.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 = [];
});
$("#txtAutoComplete_ReportsExternal").change(function () {
var reportid = Number($('#txtAutoComplete_ReportsExternal option:selected').val());
Unibase.Platform.Automation.Components.ExternalRecipients.Instance().loadexternalreportcolumns(reportid);
});
$("#btnSaveEmail").click(function () {
let appcontrolid = "frmUnibase_SendEmail";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_EmailAction");
return false;
}
else {
Unibase.Platform.Automation.Components.SendEmail.Instance().SaveEmailAction(id, containerid);
}
});
$('#creategrp_btn').click(function () {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true);
});
if (instance.RuleInstance.IsStageChangeEvent()) {
$('#SelectstagesDiv').removeClass('d-none');
yield Unibase.Platform.Automation.Components.SendEmail.Instance().LoadAppStages();
}
else {
$('#SelectstagesDiv').addClass('d-none');
}
var url = _appsettings.server_url() + '/apis/v4/bizgaze/communications/mail/mailserverautocomplete';
AutoCompleteHelper.getHelper().Create("#Autocomplete_MailServer", "#hf_MailServer", url, function (response) {
var data = response;
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/templates/getprintprovidersautocomplete';
AutoCompleteHelper.getHelper().Create("#Autocomplete_InternalTemplate", "#hf_InternalTemplate", url, function (response) {
var data = response;
});
$("#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);
$('.summernote__MailBody').summernote("code", templatetext);
}
});
});
var _fileCacheHelper = Platform.Helpers.FileCacheHelper.Instance();
yield _fileCacheHelper.loadJsFileAsync("platform/automation/components/contactselection.js", function () {
let contactselectionhtml = Unibase.Platform.Automation.Components.ContactSelection.Instance().init(instance.RuleProviderId);
jQuery(".ContactSelection").html(contactselectionhtml);
});
yield _fileCacheHelper.loadJsFileAsync("platform/automation/components/externalrecipients.js", function () {
let externalrecipientshtml = Unibase.Platform.Automation.Components.ExternalRecipients.Instance().init(instance.RuleProviderId);
jQuery(".ExternalRecipients").html(externalrecipientshtml);
Unibase.Platform.Automation.Components.ExternalRecipients.Instance().load(instance.RuleProviderId);
});
yield _fileCacheHelper.loadJsFileAsync("platform/automation/components/actions/externalattachments.js", function () {
let IsMultiple = true;
let ValidationDiv = "Validate_EmailAction";
let externalattchmentshtml = Unibase.Platform.Automation.Components.ExternalAttachments.Instance().init(Unibase.Platform.Automation.Components.SendEmail.Instance().formpropertyid, IsMultiple, ValidationDiv);
jQuery("#ExternalAttachments").html(externalattchmentshtml);
$(".drag").css("border", "3px dashed #cccccc");
Unibase.Platform.Automation.Components.ExternalAttachments.Instance().dragNdrop(Unibase.Platform.Automation.Components.SendEmail.Instance().formpropertyid);
});
if (instance.ParentActionId != 0) {
yield Unibase.Platform.Automation.Components.ContactSelection.Instance().getResultActions(instance.ParentActionId);
yield Unibase.Platform.Automation.Components.SendTask.Instance().GetRuleActionInfo(Number(instance.ParentActionId));
$('#ddl_NotificationGrp').prop("disabled", true);
$('#creategrp_btn').addClass('d-none');
}
if (instance.RuleActionData.length == 0 && id == "") {
Unibase.Platform.Automation.Components.SendEmail.Instance().getDefaultMailServer();
}
if (id != "") {
setTimeout(function () { Unibase.Platform.Automation.Components.SendEmail.Instance().EditEmailAction(id); }, 10);
}
if (instance.RuleProviderId != 0) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(instance.RuleProviderId, null);
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(instance.RuleProviderId).then(function (response) {
var Data = new Array();
for (let i = 0; i <= response.length - 1; i++) {
var result = response[i];
Data.push(result);
}
Unibase.Platform.Automation.Components.SendEmail.Instance().loadSummernote(Data);
});
Unibase.Platform.Automation.Components.SendEmail.Instance().loadTemplates(instance.RuleProviderId);
}
if (instance.RuleActionData.length != 0) {
Unibase.Platform.Automation.Components.SendEmail.Instance().LoadEmailData(instance.RuleActionData);
}
});
}
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");
}
ToggleSendEmailConditions() {
$('#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.SendEmail.Instance().RuleProviderId, null);
}
else {
$('.conditionicon').removeClass('fa-angle-up').addClass('fa-angle-down');
}
}
ToggleExternalRecipients() {
$("#ExternalRecipientsDiv").toggle(function () {
$("#btn_ExternalRecipients").addClass("hidden");
$("#ExternalRecipientsDiv").removeClass("hidden");
});
}
ToggleEmailSendFrom() {
$("#SendFromDiv").toggle(function () {
$("#btn_SendFrom").addClass("hidden");
$("#SendFromDiv").removeClass("hidden");
});
}
EditEmailAction(id) {
let actionid = Number(id);
$("#Spn_SendEmail").text("Edit Email");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) {
$("#txtEmail_RuleActionName").val(response.RuleActionName);
$('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true);
if (!Unibase.Platform.Automation.Components.SendEmail.Instance().IsAutomationMode) {
Unibase.Platform.Automation.Components.SendEmail.Instance().RuleId = response.RuleId;
Unibase.Platform.Automation.Components.SendEmail.Instance().RuleEventId = response.RuleEventId;
Unibase.Platform.Automation.Components.SendEmail.Instance().EventGroupId = response.EventGroupId;
Unibase.Platform.Automation.Components.SendEmail.Instance().ActionId = response.ActionId;
Unibase.Platform.Automation.Components.SendEmail.Instance().ParentActionId = response.ParentActionId;
}
if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved))
$("#chkAutoApprovedEmail").prop("checked", false);
else
$("#chkAutoApprovedEmail").prop("checked", true);
if (response.String5 != "true")
$("#chkIsRefAttachments").prop("checked", false);
else
$("#chkIsRefAttachments").prop("checked", true);
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);
$('#btn_SendFrom').addClass('hidden');
$('#SendFromDiv').removeClass('hidden');
$('.summernote__MailBody').summernote("code", response.BString2);
$('#message_result').val(Number(response.BString5));
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");
}
if (response.BString3 != "" && response.BString3 != null) {
Unibase.Platform.Automation.Components.ExternalAttachments.Instance().bindEditFormDetails((Unibase.Platform.Automation.Components.SendEmail.Instance().formpropertyid), response.BString3);
}
if (response.String7) {
$('.isbulk_send').prop("checked", true);
}
if (response.FromStage != null && response.ToStage != null) {
$('.from_stage_email option[value=' + response.FromStage + ' ]').prop('selected', true);
$('to_stage_email option[value=' + response.ToStage + ']').prop('selected', true);
}
if (response.ExternalReportId != 0) {
$('#txtAutoComplete_ReportsExternal option[value=' + response.ExternalReportId + ']').prop("selected", true);
}
Unibase.Apps.Communications.Managers.MailManager.Instance().getMailAccount(Number(response.String3)).then(function (mailresponse) {
if (mailresponse.status == Unibase.Data.Status.Success) {
var mailserveroption = new Option(mailresponse.result.ServerName, mailresponse.result.MailServerId.toString(), true);
$("#Autocomplete_MailServer").append(mailserveroption);
var mailaccountoption = new Option(mailresponse.result.UserName, mailresponse.result.MailAccountId.toString(), true);
$("#Autocomplete_MailAccount").append(mailaccountoption);
}
});
let templateid = Number(response.BString1);
Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplateText(templateid).then(function (res) {
var mailtemplate = new Option(res.result.TemplateName, res.result.TemplateId.toString(), true);
$("#Autocomplete_Template").append(mailtemplate);
});
if (response.String1 != "" && response.String1 != null) {
let printProviderId = Number(response.String1);
Unibase.Platform.Templates.Managers.TemplateManager.Instance().getPrintProvider(printProviderId).then(function (res) {
var mailtemplate = new Option(res.result.ProviderName, res.result.PrintProviderId.toString(), true);
$("#Autocomplete_InternalTemplate").append(mailtemplate);
});
}
var decodedData = unescape(response.BString2);
var decode = HtmlHelper.getHelper().decode(decodedData);
$('.summernote__MailBody').summernote("code", decode);
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
eval('_floatingLabelHelper.init();');
});
}
LoadAppStages() {
return __awaiter(this, void 0, void 0, function* () {
var html = '';
var fromstage = '<option value="0">Select FromStage</option>';
var tostage = '<option value="0">Select ToStage</option>';
var installeappid = Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId;
yield Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(installeappid).then(function (response) {
if (response.result != null) {
for (let i = 0; i < response.result.length; i++) {
var data = response.result[i];
html += '<option value=' + data.StageId + '>' + data.StageName + '</option>';
}
}
$('.from_stage_email').html(fromstage + html);
$('.to_stage_email').html(tostage + html);
});
});
}
LoadEmailData(Data) {
for (var i = 0; i < Data.length; i++) {
$("#txtEmail_RuleActionName").val(Data[i].RuleActionName);
if (!Data[i].AutoApproved)
$("#chkAutoApprovedEmail").prop("checked", false);
else
$("#chkAutoApprovedEmail").prop("checked", true);
if (Data[i].String5 != "true")
$("#chkIsRefAttachments").prop("checked", false);
else
$("#chkIsRefAttachments").prop("checked", true);
Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckContactColumns(Data[i].Users);
Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckSecondaryContactColumns(Data[i].SecondaryUsers);
if (Data[i].SqlWhere != "" && Data[i].SqlWhere != null) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.SendEmail.Instance().RuleProviderId, Data[i].SqlWhere);
$("#btn_ActionConditions").addClass("hidden");
$('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
$("#ActionConditionsDiv").removeClass("hidden");
}
if (Data[i].BString3 != "" && Data[i].BString3 != null) {
Unibase.Platform.Automation.Components.ExternalAttachments.Instance().bindEditFormDetails((Unibase.Platform.Automation.Components.SendEmail.Instance().formpropertyid), Data[i].BString3);
}
Unibase.Apps.Communications.Managers.MailManager.Instance().getMailAccount(Number(Data[i].String3)).then(function (mailresponse) {
if (mailresponse.status == Unibase.Data.Status.Success) {
var mailserveroption = new Option(mailresponse.result.ServerName, mailresponse.result.MailServerId.toString(), true);
$("#Autocomplete_MailServer").append(mailserveroption);
var url = _appsettings.server_url() + '/apis/v4/bizgaze/communications/mail/getMailAccountAutocomplete/mailServerId/' + Number($("#Autocomplete_MailServer option:selected").val());
AutoCompleteHelper.getHelper().Create("#Autocomplete_MailAccount", "#hf_MailAccount", url, function (res) {
var data = res;
var mailaccountoption = new Option(mailresponse.result.UserName, mailresponse.result.MailAccountId.toString(), true);
$("#Autocomplete_MailAccount").append(mailaccountoption);
});
}
});
let templateid = Number(Data[i].BString1);
Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplateText(templateid).then(function (res) {
var mailtemplate = new Option(res.result.TemplateName, res.result.TemplateId.toString(), true);
$("#Autocomplete_Template").append(mailtemplate);
});
if (Data[i].String1 != "" && Data[i].String1 != null) {
let printProviderId = Number(Data[i].String1);
Unibase.Platform.Templates.Managers.TemplateManager.Instance().getPrintProvider(printProviderId).then(function (res) {
var mailtemplate = new Option(res.result.ProviderName, res.result.PrintProviderId.toString(), true);
$("#Autocomplete_InternalTemplate").append(mailtemplate);
});
}
var decodedData = unescape(Data[i].BString2);
var decode = HtmlHelper.getHelper().decode(decodedData);
$('.summernote__MailBody').summernote("code", decode);
eval('_floatingLabelHelper.init();');
}
}
getDefaultMailServer() {
Unibase.Apps.Communications.Managers.MailManager.Instance().getUserDefaultMailAccount().then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
var mailserveroption = new Option(response.result.ServerName, response.result.MailServerId.toString(), true);
$("#Autocomplete_MailServer").append(mailserveroption);
var mailaccountoption = new Option(response.result.UserName, response.result.MailAccountId.toString(), true);
$("#Autocomplete_MailAccount").append(mailaccountoption);
}
});
}
SaveEmailAction(emailid, containerid) {
var instance = this;
let ruleactionid = Number(emailid);
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();
let ExternalAttachments = Unibase.Platform.Automation.Components.ExternalAttachments.Instance().getFiles(Unibase.Platform.Automation.Components.SendEmail.Instance().formpropertyid);
var externalrecipients = Unibase.Platform.Automation.Components.ExternalRecipients.Instance().getexternalrecipients();
var template = "";
var code = $(".summernote__MailBody").summernote('code');
template = HtmlHelper.getHelper().encode(code);
template = template.trim();
model.RuleActionId = ruleactionid;
model.ActionId = Unibase.Platform.Automation.Components.SendEmail.Instance().ActionId;
model.RuleId = 0;
model.NotificationGroupId = $('#ddl_NotificationGrp').val() == undefined ? 0 : Number($('#ddl_NotificationGrp').val());
if (model.NotificationGroupId == 0) {
MessageHelper.Instance().showError("Please Select Notification Group", "Validate_EmailAction");
return;
}
if (instance.RuleInstance.IsStageChangeEvent()) {
model.FromStage = $('.from_stage_email option:selected').val() != "0" ? Number($('.from_stage_email option:selected').val()) : 0;
model.ToStage = $('.to_stage_email option:selected').val() != "0" ? Number($('.to_stage_email option:selected').val()) : 0;
}
model.RuleActionName = $("#txtEmail_RuleActionName").val().toString();
model.String1 = $("#Autocomplete_InternalTemplate option:selected").val() == undefined || null ? "" : $("#Autocomplete_InternalTemplate option:selected").val().toString();
model.BString1 = $("#Autocomplete_Template option:selected").val() == undefined || null ? "" : $("#Autocomplete_Template option:selected").val().toString();
model.BString2 = template;
model.BString3 = ExternalAttachments.length > 0 ? JSON.stringify(ExternalAttachments) : "";
model.BString4 = "";
model.BString5 = $('#message_result option:selected').val().toString();
model.BString6 = externalroles;
model.BString7 = externalusers;
model.String3 = $("#Autocomplete_MailAccount option:selected").val() == undefined || null ? "" : $("#Autocomplete_MailAccount option:selected").val().toString();
model.String4 = Number($("#Autocomplete_MailServer option:selected").val());
model.String5 = $('#chkIsRefAttachments').is(':checked').toString();
model.String7 = $('.isbulk_send').is(":checked");
model.ExternalReportId = ($("#txtAutoComplete_ReportsExternal option:selected").val() == undefined) ? 0 : Number($("#txtAutoComplete_ReportsExternal option:selected").val());
model.ExternalReportColumnId = Number($("#txtAutoComplete_ReportColumns option:selected").val());
model.ProviderColumnId = Number($("#txtAutoComplete_ProviderColumns option:selected").val());
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.ResultActionId = $("#ddl_ResultAction option:selected").val() == undefined ? 0 : Number($("#ddl_ResultAction option:selected").val());
if (model.ResultActionId != 0) {
model.ResultActionName = $("#ddl_ResultAction option:selected").text();
}
else {
model.ResultActionName = "";
}
model.DelayTime = 0;
model.ParentActionId = Unibase.Platform.Automation.Components.SendEmail.Instance().ParentActionId;
model.AutoApproved = $('#chkAutoApprovedEmail').is(':checked');
model.RecipientsData = recipients;
model.ExternalRecipients = externalrecipients;
model.RowIndex = Unibase.Platform.Automation.Components.SendEmail.Instance().RowIndex;
if (Unibase.Platform.Automation.Components.SendEmail.Instance().IsAutomationMode) {
if (Unibase.Platform.Automation.Components.SendEmail.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_EmailAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_EmailAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
var actionname = response.result.RuleActionName;
eval("bizgaze_automation_flow_main.saveemailblock('" + response.result.RuleActionId + "','" + actionname + "')");
}
});
}
}
else {
model.RuleId = Unibase.Platform.Automation.Components.SendEmail.Instance().RuleId;
model.EventGroupId = Unibase.Platform.Automation.Components.SendEmail.Instance().EventGroupId;
model.RuleEventId = Unibase.Platform.Automation.Components.SendEmail.Instance().RuleEventId;
model.ActionId = Unibase.Platform.Automation.Components.SendEmail.Instance().ActionId;
model.ParentActionId = Unibase.Platform.Automation.Components.SendEmail.Instance().ParentActionId;
Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_EmailAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_EmailAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
}
});
}
}
loadSummernote(Data) {
$(".summernote__MailBody").summernote({
height: 100,
minHeight: null,
maxHeight: null,
placeholder: "Mail Body",
disableDragAndDrop: true,
codemirror: {
mode: 'text/html',
lineNumbers: true
},
toolbar: [
['font', ['bold', 'italic', 'underline']],
['color', ['color']],
['view', ['fullscreen', 'codeview', 'help']],
],
hint: {
match: /\B[@!](\w*)$/,
search: function (keyword, callback) {
callback($.grep(Data, function (i) {
var user = i;
return user.indexOf(keyword) === 0;
}));
},
content: function (i) {
var user = i;
return $('<span>{{' + user + '}}</span>')[0];
}
}
});
}
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;
});
});
}
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 = '<option value=' + response.NotificationGroupId + ' selected>' + response.NotificationGroupName + '</option>';
$('#ddl_NotificationGrp').html('').html(html);
}
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new SendEmail();
}
return this.instance;
}
}
Components.SendEmail = SendEmail;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,444 @@
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 ExecuteQuery extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RowIndex = 0;
this.RuleProviderId = 0;
this.AutomationMode = 0;
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/automation/enums/automationmode.js",
"platform/automation/components/conditions.js",
"platform/automation/components/contactselection.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js",
"libs/querybuilder/query-builder.min.js",
"libs/querybuilder/query-builder.standalone.min.js",
"libs/querybuilder/query-builder.standalone.js",
"libs/querybuilder/sql-parser.min.js", "libs/notificationbuilder/notificationbuilder.js", "platform/automation/components/rulebuilder/notificationgroup.js", "platform/automation/managers/notificationgroupmanager.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_ExecuteQuery" 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="Spn_ExecuteQuery">Create Execute Query</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divExecuteQuery">
<div id="Validate_ExecuteQueryAction" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl" id="lbl_RuleActionName">Action<span class="text-danger required" id="spnIsRequired_RuleActionName"> *</span></label>
<input type="text" id="txtExecuteQuery_RuleActionName" class="form-control value-control required floating-label-control" placeholder="Action *" data-placeholder="Enter Action" data-label="Action *">
<input type="hidden" id="hf_RuleActionName" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div id="div_QueryType" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_QueryType">Query Type</label>
<select id="ddl_QueryType" class="form-control">
<option value="1">Query</option>
<option value="2">Procedure</option>
</select>
<label for="Validation" id="lblValidation_QueryType"></label><input type="hidden" id="hfFormPropertyId" value="0" />
</div>
</div>
<div class="col-sm-6">
<div class="custom-control custom-checkbox checkbox-primary mt-40">
<input type="checkbox" class="custom-control-input" id="chkIsAsync">
<label class="custom-control-label" for="chkIsAsync">IsAsync</label>&nbsp
</div>
</div>
</div>
<div class="row">
<div id="div_Query" class="TextEditor col-sm-12">
<inpu type="hidden" id="txthdn__Query" class="value-control" value="">
<span class="text-danger" id="spnIsRequired__Query"></span>
<div class="type-control summernote__Query" style="display: block;" id="summernote__Query" data-propdoctypename="Query" data-required="" placeholder="Query" data-placeholder="Query" data-label="Query"></div>
<label for="Validation" id="lblValidation"></label>
</inpu>
</div>
</div>
<div class="row">
<div id="div_NotificationGrp" class="floating-label-form-group col-sm-6 floating-label-form-group-with-value">
<label for="lbl_NotificationGrp" id="lbl_NotificationGroup">Notification Group<span class="text-danger"> *</span></label>
<select id="ddl_NotificationGrp" class="form-control"><option value="0">Select Group</option></select>
</div><div class="col-sm-6 createbtn_grp"><button class="badge badge-primary mt-30 ml-15" id="creategrp_btn">Create Group</button></div></div>
<div class="row">
<div class="ResultActions col-sm-6 hidden">
<div id="div_ResultAction" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_ResultAction">Result Action</label>
<select id="ddl_ResultAction" class="form-control">
<option value="0">Select</option>
</select>
<label for="Validation" id="lblValidation_ResultAction"></label><input type="hidden" id="hfFormPropertyId" value="0" />
</div>
</div>
<!---- <div class="col-sm-6">
<div class="custom-control custom-checkbox divEnablePieces checkbox-primary mt-25">
<input type="checkbox" class="custom-control-input" id="chkAutoApprovedExecuteQuery" checked>
<label class="custom-control-label" for="chkAutoApprovedExecuteQuery">Perform this Action</label>&nbsp
</div>
</div>---->
</div>
</div>
</div>
<div class="bg-white card Advanced_optionsdata">
<div class="card-header"><i class="fa fa-angle-down arrowicon mr-1" onclick="Unibase.Platform.Automation.Components.ExecuteQuery.Instance().Toggleadvancedoptions()"></i>Advanced Options</div>
<div class="card-body Advanced_options hidden">
<div class="row">
<div class="col-sm-6 floating-label-form-group floating-label-form-group-with-value">
<label class="Message_type">Message Type</label>
<select class="form-control" id="message_result">
<option value="0">Success</option>
<option value="1">Warning</option>
<option value="2">Error</option>
</select>
</div>
<div class="col-sm-6">
<input type="checkbox" class="test_data mt-50" id="chkAutoApprovedExecuteQuery" checked>Perform this Action
<!---<label class="check_action">Perform this Action</label>---->
</div>
</div>
</div>
</div>
<div class="bg-white card" id="ActionConditionsDivdata">
<div class="card-header"><i class="fa fa-angle-down conditionicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.ExecuteQuery.Instance().ToggleExecuteQueryConditions();"></i>Condition Details</div>
<div class="card-body hidden" id="ActionConditionsDiv">
<div class="ActionConditions">
<!--For Action Conditions-->
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateExecuteQueryFooter">
<a href="javascript:;" id="btnCloseExecuteQuery" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveExecuteQuery" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().ActionId = instance.ActionId;
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().RuleActionData = instance.RuleActionData;
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().RowIndex = instance.RowIndex;
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().AutomationMode = instance.AutomationMode;
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().RuleProviderId = instance.RuleProviderId;
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().ParentActionId = instance.ParentActionId;
Unibase.Platform.Automation.Components.ExecuteQuery.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 + '")');
}
$("#btnCloseExecuteQuery").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (Unibase.Platform.Automation.Components.ExecuteQuery.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
if (Unibase.Platform.Automation.Components.ExecuteQuery.Instance().AutomationMode) {
if (Unibase.Platform.Automation.Components.ExecuteQuery.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 = [];
});
$("#btnSaveExecuteQuery").click(function () {
let appcontrolid = "frmUnibase_ExecuteQuery";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_ExecuteQueryAction");
return false;
}
else {
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().SaveExecuteQuery(id, containerid);
}
});
$("#ddl_QueryType").val(1);
if (instance.ParentActionId != 0) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().getResultActions(instance.ParentActionId);
yield Unibase.Platform.Automation.Components.ExecuteQuery.Instance().GetRuleActionInfo(Number(instance.ParentActionId));
$('#ddl_NotificationGrp').prop("disabled", true);
$('#creategrp_btn').addClass('d-none');
}
$('#creategrp_btn').click(function () {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true);
});
if (id != "") {
setTimeout(function () { Unibase.Platform.Automation.Components.ExecuteQuery.Instance().EditExecuteQuery(id); }, 10);
}
let rpid = instance.RuleProviderId;
if (rpid != 0) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(rpid, null);
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(instance.RuleProviderId).then(function (response) {
var Data = new Array();
for (let i = 0; i <= response.length - 1; i++) {
var result = response[i];
Data.push(result);
}
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().loadSummernote(Data);
});
}
if (instance.RuleActionData.length != 0) {
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().LoadExecuteQueryData(instance.RuleActionData);
}
});
}
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 = '<option value=' + response.NotificationGroupId + ' selected>' + response.NotificationGroupName + '</option>';
$('#ddl_NotificationGrp').html('').html(html);
}
});
});
}
ToggleExecuteQueryConditions() {
$('#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.ExecuteQuery.Instance().RuleProviderId, null);
}
else {
$('.conditionicon').removeClass('fa-angle-up').addClass('fa-angle-down');
}
}
Toggleadvancedoptions() {
if ($('.arrowicon').hasClass('fa-angle-down')) {
$('.arrowicon').removeClass('fa-angle-down').addClass('fa-angle-up');
}
else {
$('.arrowicon').removeClass('fa-angle-up').addClass('fa-angle-down');
}
$('.Advanced_options').toggleClass("hidden");
}
EditExecuteQuery(id) {
let actionid = Number(id);
$("#Spn_ExecuteQuery").text("Edit Execute Query");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) {
$("#txtExecuteQuery_RuleActionName").val(response.RuleActionName);
$('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true);
if (!Unibase.Platform.Automation.Components.ExecuteQuery.Instance().IsAutomationMode) {
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().RuleId = response.RuleId;
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().RuleEventId = response.RuleEventId;
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().EventGroupId = response.EventGroupId;
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().ActionId = response.ActionId;
Unibase.Platform.Automation.Components.ExecuteQuery.Instance().ParentActionId = response.ParentActionId;
}
$("#ddl_QueryType").val(response.String4);
$("#ddl_QueryType").attr("disabled", "disabled");
$('#message_result').val(Number(response.BString5));
if (response.ResultActionId != null) {
$('#ddl_ResultAction').val(response.ResultActionId);
}
if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved))
$("#chkAutoApprovedExecuteQuery").prop("checked", false);
else
$("#chkAutoApprovedExecuteQuery").prop("checked", true);
if (response.BString2 == "1") {
$("#chkIsAsync").prop("checked", true);
}
else {
$("#chkIsAsync").prop("checked", false);
}
$('.summernote__Query').summernote("code", response.BString1);
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
$("#btn_ActionConditions").addClass("hidden");
if (response.SqlWhere != null && response.SqlWhere != "") {
$('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
$("#ActionConditionsDiv").removeClass("hidden");
}
eval('_floatingLabelHelper.init();');
});
}
LoadExecuteQueryData(Data) {
for (var i = 0; i < Data.length; i++) {
$("#txtExecuteQuery_RuleActionName").val(Data[i].RuleActionName);
$("#txtExecuteQuery_ApiParameter").val(Data[i].BString1);
if (!Data[i].AutoApproved)
$("#chkAutoApprovedExecuteQuery").prop("checked", false);
else
$("#chkAutoApprovedExecuteQuery").prop("checked", true);
if (Data[i].BString2 == "1") {
$("#chkIsAsync").prop("checked", true);
}
else {
$("#chkIsAsync").prop("checked", false);
}
$('.summernote__Query').summernote("code", Data[i].BString1);
if (Data[i].SqlWhere != "" && Data[i].SqlWhere != null) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.ExecuteQuery.Instance().RuleProviderId, Data[i].SqlWhere);
$("#btn_ActionConditions").addClass("hidden");
$('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
$("#ActionConditionsDiv").removeClass("hidden");
}
eval('_floatingLabelHelper.init();');
}
}
SaveExecuteQuery(ExecuteQueryid, containerid) {
let ruleactionid = Number(ExecuteQueryid);
var contents = $('.summernote__Query').summernote('code');
var plainText = $("<p>" + contents + "</p>").text();
let queryelmnt = $("#builder");
let model = new Unibase.Platform.Automation.Requests.RuleAction();
model.RuleActionId = ruleactionid;
model.RuleActionName = $("#txtExecuteQuery_RuleActionName").val().toString();
model.BString1 = plainText;
model.String4 = Number($("#ddl_QueryType option:selected").val());
model.BString5 = $('#message_result option:selected').val().toString();
model.ActionId = Unibase.Platform.Automation.Components.ExecuteQuery.Instance().ActionId;
model.RuleId = 0;
model.Users = "";
model.NotificationGroupId = $('#ddl_NotificationGrp').val() == undefined ? 0 : Number($('#ddl_NotificationGrp').val());
if (model.NotificationGroupId == 0) {
MessageHelper.Instance().showError("Please Select Notification Group", "Validate_ExecuteQueryAction");
return;
}
let query = queryelmnt.queryBuilder('getSQL', false, true);
if (query != null) {
model.SqlWhere = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE");
;
model.SqlWhereJson = JSON.stringify(queryelmnt.queryBuilder('getSQL', false, true));
}
else {
model.SqlWhere = "";
model.SqlWhereJson = "";
}
model.ResultActionId = Number($("#ddl_ResultAction option:selected").val());
if (model.ResultActionId != 0) {
model.ResultActionName = $("#ddl_ResultAction option:selected").text();
}
else {
model.ResultActionName = "";
}
if ($('#chkIsAsync').is(':checked')) {
model.BString2 = "1";
}
else {
model.BString2 = "0";
}
model.DelayTime = 0;
model.ParentActionId = Unibase.Platform.Automation.Components.ExecuteQuery.Instance().ParentActionId;
model.AutoApproved = $('#chkAutoApprovedExecuteQuery').is(':checked');
model.RowIndex = Unibase.Platform.Automation.Components.ExecuteQuery.Instance().RowIndex;
if (Unibase.Platform.Automation.Components.ExecuteQuery.Instance().IsAutomationMode) {
if (Unibase.Platform.Automation.Components.ExecuteQuery.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_ExecuteQueryAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_ExecuteQueryAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
var actionname = response.result.RuleActionName;
eval("bizgaze_automation_flow_main.saveExecuteQueryblock('" + response.result.RuleActionId + "','" + actionname + "')");
}
});
}
}
else {
model.RuleId = Unibase.Platform.Automation.Components.ExecuteQuery.Instance().RuleId;
model.EventGroupId = Unibase.Platform.Automation.Components.ExecuteQuery.Instance().EventGroupId;
model.RuleEventId = Unibase.Platform.Automation.Components.ExecuteQuery.Instance().RuleEventId;
model.ActionId = Unibase.Platform.Automation.Components.ExecuteQuery.Instance().ActionId;
model.ParentActionId = Unibase.Platform.Automation.Components.ExecuteQuery.Instance().ParentActionId;
Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_ExecuteQueryAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_ExecuteQueryAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
}
});
}
}
loadSummernote(Data) {
$(".summernote__Query").summernote({
height: 100,
minHeight: null,
maxHeight: null,
placeholder: "Query",
disableDragAndDrop: true,
codemirror: {
mode: 'text/html',
lineNumbers: true
},
toolbar: [
['font', ['bold', 'italic', 'underline']],
['color', ['color']],
['view', ['fullscreen', 'codeview', 'help']],
],
hint: {
match: /\B[@!](\w*)$/,
search: function (keyword, callback) {
callback($.grep(Data, function (i) {
var user = i;
return user.indexOf(keyword) === 0;
}));
},
content: function (i) {
var user = i;
return $('<span>@' + user + '</span>')[0];
}
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ExecuteQuery();
}
return this.instance;
}
}
Components.ExecuteQuery = ExecuteQuery;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,694 @@
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 SendNotification extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RowIndex = 0;
this.RuleProviderId = 0;
this.AutomationMode = 0;
this.RuleInstance = Unibase.Platform.Automation.Components.Rule.Instance();
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/automation/enums/automationmode.js",
"platform/automation/components/conditions.js",
"platform/automation/components/contactselection.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js",
"libs/querybuilder/query-builder.min.js",
"libs/querybuilder/query-builder.standalone.min.js",
"libs/querybuilder/query-builder.standalone.js",
"libs/querybuilder/sql-parser.min.js", "libs/notificationbuilder/notificationbuilder.js", "platform/apps/managers/stagemanager.js", "platform/automation/components/rulebuilder/rulebuilder.rule.js", "platform/automation/components/rulebuilder/notificationgroup.js", "platform/automation/managers/notificationgroupmanager.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_SendNotification" 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="Spn_SendNotification">Create Notification</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divSendNotification">
<div id="Validate_NotificationAction" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl_RuleActionName" id="lbl_RuleActionName">Action<span class="text-danger">*</span></label>
<input type="text" id="txtNotifications_RuleActionName" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Action *" data-placeholder="Enter Action" data-label="Action *" />
<input type="hidden" id="hf_RuleActionName" />
<label for="Validation" id="lblValidation_RuleActionName"></label>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div id="div_Subject" class="floating-label-form-group">
<label for="lbl_MessageSubject" id="lbl_MessageSubject">Subject<span class="text-danger"> *</span></label>
<div class="input-group">
<input type="text" id="txtNotifications_MessageSubject" class="col-sm-9 form-control value-control required floating-label-control" data-placeholder="Enter Subject" placeholder="Subject *" data-label="Subject *">
<select id="ddl_SubjectTokens" class="col-sm-3 form-control value-control">
<option value="0">Select Token</option>
</select>
</div>
</div>
</div>
</div>
<div class="row mt-3">
<div class="col-sm-12">
<div id="div_Body" class="floating-label-form-group">
<label for="lbl_MessageBody" id="lbl_MessageBody">Body<span class="text-danger"> *</span></label>
<div class="input-group">
<!--- <input type="text" id="txtNotifications_MessageBody" class="col-sm-9 form-control value-control required floating-label-control" data-placeholder="Enter Body" placeholder="Body *" data-label="Body *">--->
<textarea id="txtNotifications_MessageBody" class="form-control value-control required floating-label-control" style="width:50%;" placeholder="Body" data-placeholder="Notification Body" data-label="Body*"></textarea>
<select id="ddl_BodyTokens" class="col-sm-3 form-control value-control">
<option value="0">Select Token</option>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<div id="div_NotificationGrp" class="floating-label-form-group col-sm-6 floating-label-form-group-with-value">
<label for="lbl_NotificationGrp" id="lbl_NotificationGroup">Notification Group<span class="text-danger"> *</span></label>
<select id="ddl_NotificationGrp" class="form-control"><option value="0">Select Group</option></select>
</div><div class="col-sm-6 createbtn_grp"><button class="badge badge-primary mt-30 ml-15" id="creategrp_btn">Create Group</button></div></div>
<div class="row">
<div class="ResultActions col-sm-6 hidden">
<div id="div_ResultAction" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_ResultAction">Result Action</label>
<select id="ddl_ResultAction" class="form-control">
<option value="0">Select</option>
</select>
<label for="Validation" id="lblValidation_ResultAction"></label><input type="hidden" id="hfFormPropertyId" value="0" />
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card Advanced_optionsdata">
<div class="card-header"><i class="fa fa-angle-down arrowicon mr-1" onclick="Unibase.Platform.Automation.Components.SendNotification.Instance().Toggleadvancedoptions()"></i>Advanced Options</div>
<div class="card-body Advanced_options hidden">
<div class="row">
<div class="col-sm-6">
<div id="div_NotificationType" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_NotificationType">Notification Type</label>
<select id="ddl_NotificationType" class="form-control">
<option value="0">Select</option>
<option value="1">List</option>
<option value="2">Details</option>
<option value="3">FileDownload</option>
<option value="4">FilePreview</option>
<option value="5">FolderPreview</option>
<option value="6">Create</option>
</select>
<input type="hidden" id="hf_NotificationType" value="2" />
</div>
</div>
<div class="col-sm-6">
<div id="div_RefColumn" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_RefColumn">Ref Column</label>
<select id="ddl_RefColumn" class="form-control"> </select>
<input type="hidden" id="hf_RefColumn" value="" />
</div>
</div>
</div>
<div class="row hidden mt-2" id="createform_row">
<div class="col-sm-6">
<div id="div_createinstalledid" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl">Installed App</label>
<select id="ddl_createinstalledid" class="form-control text-control" style="width:100%;">
</select>
</div>
</div>
<div class="col-sm-6">
<div id="div_Form" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_RefColumn">Create Form</label>
<select id="ddl_Form" class="form-control"></select>
<input type="hidden" id="hf_createForm" value=""/>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6 floating-label-form-group floating-label-form-group-with-value">
<label class="Message_type">Message Type</label>
<select class="form-control" id="message_result">
<option value="0">Success</option>
<option value="1">Warning</option>
<option value="2">Error</option>
</select>
</div>
<div class="col-sm-6">
<input type="checkbox" class="test_data mt-50" id="chkAutoApprovedNotification"checked>Perform this Action
</div>
</div>
<!---parent options---->
<div class="row">
<div class="col-sm-6 mt-50">
<input type="checkbox" class="isparent"><span class="ml-2">IsParent</span>
</div>
<div class="col-sm-6 floating-label-form-group-with-value Parentcolumns_info d-none">
<label class="Parent_pkid ml-2 mt-2">Parent Pkid</label>
<select class="form-control" id="parent_pkid">
</select>
</div>
</div>
<!---end---->
</div>
</div>
<div class="bg-white card hidden" id="DocTypesDiv">
<div class="card-header">DocTypes</div>
<div class="card-body">
<div class="SelectDocType col-sm-12">
<!--For Mapping of datalists-->
</div>
</div>
</div>
<div class="bg-white card" id="ActionConditionsDivdata">
<div class="card-header"><i class="fa fa-angle-down conditionicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.SendNotification.Instance().ToggleNotificationConditions();"></i>Condition Details</div>
<div class="card-body hidden" id="ActionConditionsDiv">
<div class="ActionConditions">
<!--For Action Conditions-->
</div>
</div>
</div><div class="bg-white card" id="SelectstagesDiv">
<div class="card-header">Stage Event</div>
<div class="card-body">
<div class="stages_drp row"><div class="col-sm-6"><label class="from_label">From Stage</label><select class="from_stage_notification form-control"></select></div><div class="col-sm-6"><label class="_label">To Stage</label><select class="to_stage_notification form-control"></select></div></div>
</div></div>
<div class="bg-white card" id="SelectRoleDiv">
<div class="card-header">Send To Details</div>
<div class="card-body">
<div class="ContactSelection col-sm-12">
<!--For ContactSelection page-->
</div>
</div>
</div>
<div class="bg-white card col-sm-3 hidden" id="btn_ExternalRecipients">
<button type="button" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.SendNotification.Instance().ToggleExternalRecipients();">External Recipients</button>
</div>
<div class="bg-white card hidden" id="ExternalRecipientsDiv">
<div class="card-header">External Recipients</div>
<div class="card-body">
<div class="ExternalRecipients">
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateNotificationFooter">
<a href="javascript:;" id="btnCloseNotification" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveNotification" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
Unibase.Platform.Automation.Components.SendNotification.Instance().ActionId = instance.ActionId;
Unibase.Platform.Automation.Components.SendNotification.Instance().RuleActionData = instance.RuleActionData;
Unibase.Platform.Automation.Components.SendNotification.Instance().RowIndex = instance.RowIndex;
Unibase.Platform.Automation.Components.SendNotification.Instance().AutomationMode = instance.AutomationMode;
Unibase.Platform.Automation.Components.SendNotification.Instance().RuleProviderId = instance.RuleProviderId;
Unibase.Platform.Automation.Components.SendNotification.Instance().ParentActionId = instance.ParentActionId;
Unibase.Platform.Automation.Components.SendNotification.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.SendNotification.Instance().GetRuleActionInfo(Number(instance.ParentActionId));
$('#ddl_NotificationGrp').prop("disabled", true);
$('#creategrp_btn').addClass('d-none');
}
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.SendNotification.Instance().LoadNotificationData(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);
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
AutoCompleteHelper.getHelper().Create("#ddl_createinstalledid", "#hf_Autocomplete_InstalledApp", url, function (response) {
var data = response;
});
$('#creategrp_btn').click(function () {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true);
});
$("#btnCloseNotification").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (Unibase.Platform.Automation.Components.SendNotification.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
if (Unibase.Platform.Automation.Components.SendNotification.Instance().AutomationMode) {
if (Unibase.Platform.Automation.Components.SendNotification.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 = [];
});
$('.isparent').change(function () {
if ($('.isparent').is(':checked')) {
$('.Parentcolumns_info').removeClass('d-none');
}
else {
$('.Parentcolumns_info').addClass('d-none');
}
});
if (instance.RuleInstance.IsStageChangeEvent()) {
$('#SelectstagesDiv').removeClass('d-none');
yield Unibase.Platform.Automation.Components.SendNotification.Instance().LoadAppStages();
}
else {
$('#SelectstagesDiv').addClass('d-none');
}
$("#btnSaveNotification").click(function () {
let appcontrolid = "frmUnibase_SendNotification";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_NotificationAction");
return false;
}
else {
Unibase.Platform.Automation.Components.SendNotification.Instance().SaveNotificationAction(id, containerid);
}
});
$("#ddl_SubjectTokens").change(function () {
var textAreaTxt = $("#txtNotifications_MessageSubject").val().toString();
var txtToAdd = '{{' + $("#ddl_SubjectTokens option:selected").text() + '}}';
var firsttext = textAreaTxt.slice(0, SendNotification.Instance().tokenposition);
var lasttext = textAreaTxt.slice(SendNotification.Instance().tokenposition, textAreaTxt.length);
$("#txtNotifications_MessageSubject").val(firsttext + txtToAdd + lasttext);
$("#ddl_SubjectTokens").val(0);
});
$("#ddl_BodyTokens").change(function (event) {
var textAreaTxt = $("#txtNotifications_MessageBody").val().toString();
var txtToAdd = '{{' + $("#ddl_BodyTokens option:selected").text() + '}}';
var firsttext = textAreaTxt.slice(0, SendNotification.Instance().tokenposition);
var lasttext = textAreaTxt.slice(SendNotification.Instance().tokenposition, textAreaTxt.length);
$("#txtNotifications_MessageBody").val(firsttext + txtToAdd + lasttext);
$("#ddl_BodyTokens").val(0);
});
$("#txtNotifications_MessageBody").focusout(function (event) {
SendNotification.Instance().tokenposition = event["target"]["selectionStart"];
});
$("#txtNotifications_MessageSubject").focusout(function (event) {
SendNotification.Instance().tokenposition = event["target"]["selectionStart"];
});
$("#ddl_NotificationType").val($("#hf_NotificationType").val());
let rpid = instance.RuleProviderId;
if (rpid != 0) {
Unibase.Platform.Automation.Components.SendNotification.Instance().LoadMsgSubjectTokens(rpid);
Unibase.Platform.Automation.Components.SendNotification.Instance().LoadMsgBodyTokens(rpid);
yield Unibase.Platform.Automation.Components.SendNotification.Instance().LoadParentTokens(rpid);
Unibase.Platform.Automation.Components.SendNotification.Instance().LoadRefColumns(rpid);
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(rpid, null);
}
if (id != "") {
Unibase.Platform.Automation.Components.SendNotification.Instance().EditNotificationAction(id, containerid);
}
$("#ddl_createinstalledid").change(function () {
$('#ddl_Form').html('');
var installedid = Number($("#ddl_createinstalledid option:selected").val());
if (installedid != 0) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getCreateFormsByInstalledAppId(installedid).then(function (response) {
if (response.result != null) {
var html = '';
for (let i = 0; i < response.result.length; i++) {
html += '<option value=' + response.result[i].Appconfigid + '>' + response.result[i].FormName + '</option>';
}
$('#ddl_Form').append(html);
}
});
}
});
$('#ddl_NotificationType').change(function () {
if ($("#ddl_NotificationType").val() == "6") {
$('#createform_row').removeClass('hidden');
}
else {
$('#createform_row').addClass('hidden');
}
});
});
}
ToggleNotificationConditions() {
$('#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');
}
}
ToggleExternalRecipients() {
$("#ExternalRecipientsDiv").toggle(function () {
$("#btn_ExternalRecipients").addClass("hidden");
$("#ExternalRecipientsDiv").removeClass("hidden");
});
}
LoadAppStages() {
return __awaiter(this, void 0, void 0, function* () {
var html = '';
var fromstage = '<option value="0">Select FromStage</option>';
var tostage = '<option value="0">Select ToStage</option>';
var installeappid = Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId;
yield Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(installeappid).then(function (response) {
if (response.result != null) {
for (let i = 0; i < response.result.length; i++) {
var data = response.result[i];
html += '<option value=' + data.StageId + '>' + data.StageName + '</option>';
}
}
$('.from_stage_notification').html(fromstage + html);
$('.to_stage_notification').html(tostage + 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");
}
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 = '<option value=' + response.NotificationGroupId + ' selected>' + response.NotificationGroupName + '</option>';
$('#ddl_NotificationGrp').html('').html(html);
}
});
});
}
EditNotificationAction(id, containerid) {
let actionid = Number(id);
$("#Spn_SendNotification").text("Edit Notification");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) {
$("#txtNotifications_RuleActionName").val(response.RuleActionName);
$("#txtNotifications_MessageSubject").val(response.BString1);
$("#txtNotifications_MessageBody").val(response.BString2);
$("#ddl_NotificationType").val(response.String4);
$("#hf_RefColumn").val(response.BString3);
$('#message_result').val(Number(response.BString5));
$('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true);
if (response.ResultActionId != null && response.ResultActionId != "") {
$('#ddl_ResultAction').val(response.ResultActionId);
}
if (!Unibase.Platform.Automation.Components.SendNotification.Instance().IsAutomationMode) {
Unibase.Platform.Automation.Components.SendNotification.Instance().RuleId = response.RuleId;
Unibase.Platform.Automation.Components.SendNotification.Instance().RuleEventId = response.RuleEventId;
Unibase.Platform.Automation.Components.SendNotification.Instance().EventGroupId = response.EventGroupId;
Unibase.Platform.Automation.Components.SendNotification.Instance().ActionId = response.ActionId;
Unibase.Platform.Automation.Components.SendNotification.Instance().ParentActionId = response.ParentActionId;
}
if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved))
$("#chkAutoApprovedNotification").prop("checked", false);
else
$("#chkAutoApprovedNotification").prop("checked", true);
$("#div_Subject").addClass('floating-label-form-group-with-value');
$("#div_Body").addClass('floating-label-form-group-with-value');
Unibase.Platform.Automation.Components.ContactSelection.Instance().BindRecipients(response.RuleActionId);
Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckContactColumns(response.Users);
Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckSecondaryContactColumns(response.SecondaryUsers);
$("#btn_ActionConditions").addClass("hidden");
if (response.SqlWhere != null && response.SqlWhere != "") {
$("#ActionConditionsDiv").removeClass("hidden");
$('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
}
if (response.FromStage != 0 && response.ToStage != 0) {
$('.from_stage_notification option[value=' + response.FromStage + ' ]').prop('selected', true);
$('to_stage_notification option[value=' + response.ToStage + ']').prop('selected', true);
}
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
$("#btn_ActionConditions").addClass("hidden");
if (response.String6 != null && response.String6 != "") {
$('#createform_row').removeClass('hidden');
Unibase.Platform.Forms.Managers.FormManager.Instance().getFormByAppConfiguration(Number(response.String6)).then(function (responsedata) {
if (responsedata.result != null) {
$('#ddl_Form').append('<option value=' + response.String6 + ' option:selected>' + responsedata.result.FormName + '</option>');
Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(Number(responsedata.result.InstalledAppId)).then(function (resultinfo) {
if (resultinfo.result != null) {
$('#ddl_createinstalledid').append('<option value="' + resultinfo.result.InstalledAppId + '" option:selected>' + resultinfo.result.AppTitle + '</option>');
}
});
}
});
}
if (response.IsParent) {
$('.isparent').prop("checked", true);
$('.Parentcolumns_info').removeClass('d-none');
if (response.String2 != null)
$('#parent_pkid').find("#" + response.String2 + "").attr("selected", "true");
}
eval('_floatingLabelHelper.init();');
});
}
LoadNotificationData(Data) {
for (var i = 0; i < Data.length; i++) {
$("#txtNotifications_RuleActionName").val(Data[i].RuleActionName);
$("#txtNotifications_MessageSubject").val(Data[i].BString1);
$("#txtNotifications_MessageBody").val(Data[i].BString2);
$("#ddl_NotificationType").val(Data[i].String4);
$("#hf_RefColumn").val(Data[i].BString3);
if (!Data[i].AutoApproved)
$("#chkAutoApprovedNotification").prop("checked", false);
else
$("#chkAutoApprovedNotification").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();');
}
}
SaveNotificationAction(notificationid, containerid) {
var instance = this;
let ruleactionid = Number(notificationid);
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 = $("#txtNotifications_RuleActionName").val().toString();
model.String4 = Number($("#ddl_NotificationType option:selected").val());
model.BString1 = $("#txtNotifications_MessageSubject").val().toString();
model.BString2 = $("#txtNotifications_MessageBody").val().toString();
model.BString3 = $('#ddl_RefColumn option:selected').val() == undefined ? null : $('#ddl_RefColumn option:selected').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;
}
if (instance.RuleInstance.IsStageChangeEvent()) {
model.FromStage = $('.from_stage_notificaction option:selected').val() != "0" ? Number($('.from_stage_notification option:selected').val()) : 0;
model.ToStage = $('.to_stage_notification option:selected').val() != "0" ? Number($('.to_stage_notification option:selected').val()) : 0;
}
model.BString6 = externalroles;
model.BString7 = externalusers;
model.BString5 = $('#message_result option:selected').val().toString();
model.ExternalReportId = ($("#txtAutoComplete_Reports option:selected").val() == undefined) ? 0 : Number($("#txtAutoComplete_Reports option:selected").val());
model.ExternalReportColumnId = Number($("#txtAutoComplete_ReportColumns option:selected").val());
model.ProviderColumnId = Number($("#txtAutoComplete_ProviderColumns option:selected").val());
model.ActionId = Unibase.Platform.Automation.Components.SendNotification.Instance().ActionId;
model.RuleId = 0;
model.Users = contactcolumns;
model.SecondaryUsers = secondarycontactcolumns;
model.String2 = $('#parent_pkid option:selected').text() == "Select Token" ? null : $('#parent_pkid option:selected').text();
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 = "";
}
if ($("#ddl_NotificationType").val() == "6") {
model.String6 = $('#ddl_Form option:selected').val() == undefined || $('#ddl_Form option:selected').val() == null ? "" : $('#ddl_Form option:selected').val().toString();
}
else {
model.String6 = "";
}
model.String7 = true;
model.IsParent = $('.isparent').is(":checked");
model.ResultActionId = Number($("#ddl_ResultAction option:selected").val());
if (model.ResultActionId != 0) {
model.ResultActionName = $("#ddl_ResultAction option:selected").text();
}
else {
model.ResultActionName = "";
}
model.DelayTime = 0;
model.ParentActionId = Unibase.Platform.Automation.Components.SendNotification.Instance().ParentActionId;
model.AutoApproved = $('#chkAutoApprovedNotification').is(':checked');
model.RecipientsData = recipients;
model.RowIndex = Unibase.Platform.Automation.Components.SendNotification.Instance().RowIndex;
if (Unibase.Platform.Automation.Components.SendNotification.Instance().IsAutomationMode) {
if (Unibase.Platform.Automation.Components.SendNotification.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_NotificationAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_NotificationAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
var actionname = response.result.RuleActionName;
eval("bizgaze_automation_flow_main.savenotificationblock('" + response.result.RuleActionId + "','" + actionname + "')");
}
});
}
}
else {
model.RuleId = Unibase.Platform.Automation.Components.SendNotification.Instance().RuleId;
model.EventGroupId = Unibase.Platform.Automation.Components.SendNotification.Instance().EventGroupId;
model.RuleEventId = Unibase.Platform.Automation.Components.SendNotification.Instance().RuleEventId;
model.ActionId = Unibase.Platform.Automation.Components.SendNotification.Instance().ActionId;
model.ParentActionId = Unibase.Platform.Automation.Components.SendNotification.Instance().ParentActionId;
Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_NotificationAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_NotificationAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
}
});
}
}
LoadMsgSubjectTokens(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('ddl_SubjectTokens');
$('#ddl_SubjectTokens').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);
}
});
}
LoadMsgBodyTokens(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);
}
});
}
LoadParentTokens(ruleproviderid) {
return __awaiter(this, void 0, void 0, function* () {
yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
$('#parent_pkid').html('');
var html = "<option value='0'>Select Token</option>";
for (let i = 0; i <= response.length - 1; i++) {
html += '<option id=' + response[i] + ' value=' + response[i] + '>' + response[i] + '</option>';
}
$('#parent_pkid').append(html);
});
});
}
LoadRefColumns(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('ddl_RefColumn');
$('#ddl_RefColumn').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
defaultOpt1.value = "";
cmbConditionProperties.appendChild(defaultOpt1);
for (let i = 0; i <= response.length - 1; i++) {
var opt = document.createElement("option");
opt.text = response[i];
opt.value = response[i];
cmbConditionProperties.appendChild(opt);
}
if ($("#hf_RefColumn").val() == "") {
$("#ddl_RefColumn").val(null);
}
else {
$("#ddl_RefColumn").val($("#hf_RefColumn").val());
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new SendNotification();
}
return this.instance;
}
}
Components.SendNotification = SendNotification;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,443 @@
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 PropertyChange extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RowIndex = 0;
this.RuleProviderId = 0;
this.AutomationMode = 0;
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/automation/enums/automationmode.js",
"platform/automation/components/conditions.js",
"platform/automation/components/contactselection.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js",
"libs/querybuilder/query-builder.min.js",
"libs/querybuilder/query-builder.standalone.min.js",
"libs/querybuilder/query-builder.standalone.js",
"libs/querybuilder/sql-parser.min.js", "libs/notificationbuilder/notificationbuilder.js", "platform/automation/components/rulebuilder/notificationgroup.js", "platform/automation/managers/notificationgroupmanager.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_PropertyChange" 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="Spn_PropertyChange">Create PropertyChange</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divPropertyChange">
<div id="Validate_PropertyChnageAction" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl" id="lbl_RuleActionName">Action<span class="text-danger required" id="spnIsRequired_RuleActionName"> *</span></label>
<input type="text" id="txtPropertyChange_RuleActionName" class="form-control value-control required floating-label-control" placeholder="Action *" data-placeholder="Enter Action" data-label="Action *">
<input type="hidden" id="hf_RuleActionName" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="input-group">
<label for="InstalledApps" class="font-bold">InstalledApps<span class="text-danger">*</span></label>
<select id="txtAutoComplete_InstalledApps" class="form-control text-control required" style="width:100%;" placeholder="InstalledApps" data-placeholder="InstalledApps" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_InstalledApps" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="AppDoctypes" class="font-bold">AppDoctypes<span class="text-danger">*</span></label>
<select id="txtAutoComplete_AppDoctypes" class="form-control text-control required" style="width:100%;" placeholder="AppDoctypes" data-placeholder="AppDoctypes" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_AppDoctypes" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="input-group">
<label for="DocProperties" class="font-bold">DocProperties<span class="text-danger">*</span></label>
<select id="txtAutoComplete_DocProperties" class="form-control text-control required" style="width:100%;" placeholder="DocProperties" data-placeholder="DocProperties" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_DocProperties" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="floating-label-form-group">
<label for="txt_Property" id="lbl_Property">Property Name<span class="text-danger">*</span></label>
<input type="text" id="txt_Property" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Property Name*" data-placeholder="Enter Property Name" data-label="Property Name*" />
<input type="hidden" id="hf_Property" />
<label for="Validation" id="lblValidation_Property"></label>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div id="div_Parameter" class="floating-label-form-group">
<label for="lbl_ApiParameter" id="lbl_ApiParameter">Parameter<span class="text-danger"> *</span></label>
<div class="input-group">
<input type="text" id="txtPropertyChange_Parameter" class="col-sm-9 form-control value-control required floating-label-control" data-placeholder="Enter Parameter" placeholder="Parameter *" data-label="Parameter *">
<select id="ddl_PropertyChangeParameters" class="col-sm-3 form-control value-control">
<option value="0">Select Token</option>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<div id="div_NotificationGrp" class="floating-label-form-group col-sm-6 floating-label-form-group-with-value">
<label for="lbl_NotificationGrp" id="lbl_NotificationGroup">Notification Group<span class="text-danger"> *</span></label>
<select id="ddl_NotificationGrp" class="form-control"><option value="0">Select Group</option></select>
</div><div class="col-sm-6 createbtn_grp"><button class="badge badge-primary mt-30 ml-15" id="creategrp_btn">Create Group</button></div></div>
<div class="row">
<div class="ResultActions col-sm-6 hidden">
<div id="div_ResultAction" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_ResultAction">Result Action</label>
<select id="ddl_ResultAction" class="form-control">
<option value="0">Select</option>
</select>
<label for="Validation" id="lblValidation_ResultAction"></label><input type="hidden" id="hfFormPropertyId" value="0" />
</div>
</div>
<div class="col-sm-6">
<div class="custom-control custom-checkbox divEnablePieces checkbox-primary mt-20">
<input type="checkbox" class="custom-control-input" id="chkAutoApprovedPropertyChange" checked>
<label class="custom-control-label" for="chkAutoApprovedPropertyChange">Perform this Action</label>&nbsp
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card col-sm-3" id="btn_ActionConditions">
<button type="button" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.PropertyChange.Instance().TogglePropertyChangeConditions();">Conditions</button>
</div>
<div class="bg-white card hidden" id="ActionConditionsDiv">
<div class="card-header">Condition Details</div>
<div class="card-body">
<div class="ActionConditions">
<!--For Action Conditions-->
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreatePropertyChangeFooter">
<a href="javascript:;" id="btnClosePropertyChange" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSavePropertyChange" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
Unibase.Platform.Automation.Components.PropertyChange.Instance().ActionId = instance.ActionId;
Unibase.Platform.Automation.Components.PropertyChange.Instance().RuleActionData = instance.RuleActionData;
Unibase.Platform.Automation.Components.PropertyChange.Instance().RowIndex = instance.RowIndex;
Unibase.Platform.Automation.Components.PropertyChange.Instance().AutomationMode = instance.AutomationMode;
Unibase.Platform.Automation.Components.PropertyChange.Instance().RuleProviderId = instance.RuleProviderId;
Unibase.Platform.Automation.Components.PropertyChange.Instance().ParentActionId = instance.ParentActionId;
Unibase.Platform.Automation.Components.PropertyChange.Instance().IsAutomationMode = instance.IsAutomationMode;
yield Unibase.Platform.Automation.Components.NotificationGroup.Instance().LoadNotificationGroups();
$("#btnClosePropertyChange").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (Unibase.Platform.Automation.Components.PropertyChange.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
if (Unibase.Platform.Automation.Components.PropertyChange.Instance().AutomationMode) {
if (Unibase.Platform.Automation.Components.PropertyChange.Instance().IsAutomationMode) {
Unibase.Platform.Automation.Components.Rule.Instance().ChangeAction(instance.RowIndex, id);
}
}
}
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
});
$("#btnSavePropertyChange").click(function () {
let appcontrolid = "frmUnibase_PropertyChange";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_PropertyChnageAction");
return false;
}
else {
Unibase.Platform.Automation.Components.PropertyChange.Instance().SavePropertyChange(id, containerid);
}
});
$("#ddl_PropertyChangeParameters").change(function () {
var textAreaTxt = $("#txtPropertyChange_Parameter").val();
var txtToAdd = '{{' + $("#ddl_PropertyChangeParameters option:selected").text() + '}}';
$("#txtPropertyChange_Parameter").val(textAreaTxt + txtToAdd);
$("#ddl_PropertyChangeParameters").val(0);
});
if (id != "") {
Unibase.Platform.Automation.Components.PropertyChange.Instance().EditPropertyChange(id);
}
let rpid = instance.RuleProviderId;
if (rpid != 0) {
Unibase.Platform.Automation.Components.PropertyChange.Instance().LoadPropertyChangeParameters(rpid);
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(rpid, null);
}
if (instance.RuleActionData.length != 0) {
Unibase.Platform.Automation.Components.PropertyChange.Instance().LoadPropertyChangeData(instance.RuleActionData);
}
$('#creategrp_btn').click(function () {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true);
});
if (instance.ParentActionId != 0) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().getResultActions(instance.ParentActionId);
yield Unibase.Platform.Automation.Components.PropertyChange.Instance().GetRuleActionInfo(Number(instance.ParentActionId));
$('#ddl_NotificationGrp').prop("disabled", true);
$('#creategrp_btn').addClass('d-none');
}
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_InstalledApps", "#hf_Autocomplete_InstalledApps", url, function (response) {
var data = response;
});
$("#txtAutoComplete_InstalledApps").change(function () {
Unibase.Platform.Automation.Components.PropertyChange.Instance().OnChangeInstalledApp();
});
$("#txtAutoComplete_AppDoctypes").change(function () {
Unibase.Platform.Automation.Components.PropertyChange.Instance().OnChangeDoctype();
});
});
}
OnChangeInstalledApp() {
return __awaiter(this, void 0, void 0, function* () {
$("#txtAutoComplete_AppDoctypes").val(0);
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/' + Number($("#txtAutoComplete_InstalledApps option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_AppDoctypes", "#hf_Autocomplete_AppDoctypes", url, function (response) {
var data = response;
});
});
}
OnChangeDoctype() {
return __awaiter(this, void 0, void 0, function* () {
$("#txtAutoComplete_DocProperties").val(0);
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertiesautocomplete/doctypeid/' + Number($("#txtAutoComplete_AppDoctypes option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_DocProperties", "#hf_Autocomplete_DocProperties", url, function (response) {
var data = response;
});
});
}
TogglePropertyChangeConditions() {
$("#ActionConditionsDiv").toggle(function () {
$("#btn_ActionConditions").addClass("hidden");
$("#ActionConditionsDiv").removeClass("hidden");
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.PropertyChange.Instance().RuleProviderId, null);
});
}
LoadPropertyChangeData(Data) {
for (var i = 0; i < Data.length; i++) {
$("#txtPropertyChange_RuleActionName").val(Data[i].RuleActionName);
$("#txt_Property").val(Data[i].BString1);
$("#txtPropertyChange_Parameter").val(Data[i].BString2);
$("#txtAutoComplete_InstalledApps").append(Data[i].String1);
$("#txtAutoComplete_AppDoctypes").append(Data[i].String2);
$("#txtAutoComplete_DocProperties").append(Data[i].String3);
let id = Number(Data[i].String1);
Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(id).then(function (res) {
var selectedappoption = new Option(res.result.AppTitle, res.result.InstalledAppId.toString(), true);
$("#txtAutoComplete_InstalledApps").append(selectedappoption);
});
let docid = Number(Data[i].String2);
Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDoctype(docid).then(function (docres) {
var selecteddoctypeoption = new Option(docres.result.DocTypeName, docres.result.DocTypeId.toString(), true);
$("#txtAutoComplete_AppDoctypes").append(selecteddoctypeoption);
});
let docpropid = Number(Data[i].String3);
Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDocProperty(docpropid).then(function (docpropres) {
var selecteddocpropoption = new Option(docpropres.result.DocPropertyName, docpropres.result.DocPropertyId.toString(), true);
$("#txtAutoComplete_DocProperties").append(selecteddocpropoption);
});
if (Data[i].ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved))
$("#chkAutoApprovedPropertyChange").prop("checked", false);
else
$("#chkAutoApprovedPropertyChange").prop("checked", true);
if (Data[i].SqlWhere != "" && Data[i].SqlWhere != null) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.PropertyChange.Instance().RuleProviderId, Data[i].SqlWhere);
$("#btn_ActionConditions").addClass("hidden");
$("#ActionConditionsDiv").removeClass("hidden");
}
$("#div_Parameter").addClass('floating-label-form-group-with-value');
eval('_floatingLabelHelper.init();');
}
}
LoadPropertyChangeParameters(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let ApiParameters = document.getElementById('ddl_PropertyChangeParameters');
$('#ddl_PropertyChangeParameters').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select Token";
defaultOpt1.value = "0";
ApiParameters.appendChild(defaultOpt1);
for (let i = 0; i <= response.length - 1; i++) {
var opt = document.createElement("option");
opt.text = response[i];
opt.value = (i + 1).toString();
ApiParameters.appendChild(opt);
}
});
}
EditPropertyChange(id) {
let actionid = Number(id);
$("#Spn_PropertyChange").text("Edit PropertyChange");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) {
$("#txtPropertyChange_RuleActionName").val(response.RuleActionName);
$("#txtPropertyChange_Parameter").val(response.BString2);
$("#txt_Property").val(response.BString1);
$('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true);
if (!Unibase.Platform.Automation.Components.PropertyChange.Instance().IsAutomationMode) {
Unibase.Platform.Automation.Components.PropertyChange.Instance().RuleId = response.RuleId;
Unibase.Platform.Automation.Components.PropertyChange.Instance().RuleEventId = response.RuleEventId;
Unibase.Platform.Automation.Components.PropertyChange.Instance().EventGroupId = response.EventGroupId;
Unibase.Platform.Automation.Components.PropertyChange.Instance().ActionId = response.ActionId;
Unibase.Platform.Automation.Components.PropertyChange.Instance().ParentActionId = response.ParentActionId;
}
if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved))
$("#chkAutoApprovedPropertyChange").prop("checked", false);
else
$("#chkAutoApprovedPropertyChange").prop("checked", true);
let id = Number(response.String1);
Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(id).then(function (res) {
var selectedappoption = new Option(res.result.AppTitle, res.result.InstalledAppId.toString(), true);
$("#txtAutoComplete_InstalledApps").append(selectedappoption);
});
let docid = Number(response.String2);
Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDoctype(docid).then(function (docres) {
var selecteddoctypeoption = new Option(docres.result.DocTypeName, docres.result.DocTypeId.toString(), true);
$("#txtAutoComplete_AppDoctypes").append(selecteddoctypeoption);
});
let docpropid = Number(response.String3);
Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDocProperty(docpropid).then(function (docpropres) {
var selecteddocpropoption = new Option(docpropres.result.DocPropertyName, docpropres.result.DocPropertyId.toString(), true);
$("#txtAutoComplete_DocProperties").append(selecteddocpropoption);
});
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
$("#btn_ActionConditions").addClass("hidden");
$("#ActionConditionsDiv").removeClass("hidden");
$("#div_Parameter").addClass('floating-label-form-group-with-value');
eval('_floatingLabelHelper.init();');
});
}
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 = '<option value=' + response.NotificationGroupId + ' selected>' + response.NotificationGroupName + '</option>';
$('#ddl_NotificationGrp').html('').html(html);
}
});
});
}
SavePropertyChange(PropertyChangeid, containerid) {
let ruleactionid = Number(PropertyChangeid);
let queryelmnt = $("#builder");
let model = new Unibase.Platform.Automation.Requests.RuleAction();
model.RuleActionId = ruleactionid;
model.RuleActionName = $("#txtPropertyChange_RuleActionName").val().toString();
model.String1 = $("#txtAutoComplete_InstalledApps option:selected").val().toString();
model.String2 = $("#txtAutoComplete_AppDoctypes option:selected").val().toString();
model.String3 = $("#txtAutoComplete_DocProperties option:selected").val().toString();
model.BString1 = $("#txt_Property").val().toString();
model.BString2 = $("#txtPropertyChange_Parameter").val().toString();
model.ActionId = Unibase.Platform.Automation.Components.PropertyChange.Instance().ActionId;
model.RuleId = 0;
model.Users = "";
model.NotificationGroupId = $('#ddl_NotificationGrp').val() == undefined ? 0 : Number($('#ddl_NotificationGrp').val());
if (model.NotificationGroupId == 0) {
MessageHelper.Instance().showError("Please Select Notification Group", "Validate_NotificationAction");
return;
}
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));
}
model.ResultActionId = Number($("#ddl_ResultAction option:selected").val());
if (model.ResultActionId != 0) {
model.ResultActionName = $("#ddl_ResultAction option:selected").text();
}
else {
model.ResultActionName = "";
}
model.DelayTime = 0;
model.ParentActionId = Unibase.Platform.Automation.Components.PropertyChange.Instance().ParentActionId;
model.AutoApproved = $('#chkAutoApprovedPropertyChange').is(':checked');
model.RowIndex = Unibase.Platform.Automation.Components.PropertyChange.Instance().RowIndex;
if (Unibase.Platform.Automation.Components.PropertyChange.Instance().IsAutomationMode) {
if (Unibase.Platform.Automation.Components.PropertyChange.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_PropertyChnageAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_PropertyChnageAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
var actionname = response.result.RuleActionName;
eval("bizgaze_automation_flow_main.savePropertyChangeblock('" + response.result.RuleActionId + "','" + actionname + "')");
}
});
}
}
else {
model.RuleId = Unibase.Platform.Automation.Components.PropertyChange.Instance().RuleId;
model.EventGroupId = Unibase.Platform.Automation.Components.PropertyChange.Instance().EventGroupId;
model.RuleEventId = Unibase.Platform.Automation.Components.PropertyChange.Instance().RuleEventId;
model.ActionId = Unibase.Platform.Automation.Components.PropertyChange.Instance().ActionId;
model.ParentActionId = Unibase.Platform.Automation.Components.PropertyChange.Instance().ParentActionId;
Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_PropertyChnageAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_PropertyChnageAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
}
});
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new PropertyChange();
}
return this.instance;
}
}
Components.PropertyChange = PropertyChange;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,646 @@
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 SendSms extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RuleProviderId = 0;
this.RowIndex = 0;
this.AutomationMode = 0;
this.RuleInstance = Unibase.Platform.Automation.Components.Rule.Instance();
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/automation/enums/automationmode.js",
"platform/automation/components/conditions.js",
"platform/automation/components/contactselection.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js",
"libs/floatinglabels/floatinglabel.js",
"apps/communications/managers/sms/smsmanager.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/templates/enums/templatetype.js",
"platform/templates/managers/templatemanager.js", "libs/notificationbuilder/notificationbuilder.js", "platform/apps/managers/stagemanager.js", "platform/automation/components/rulebuilder/rulebuilder.rule.js", "platform/automation/components/externalrecipients.js", "platform/automation/components/rulebuilder/notificationgroup.js", "platform/automation/managers/notificationgroupmanager.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_SendSms" 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="Spn_SendSMS">Create Sms</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divSendSms">
<div id="Validate_SmsAction" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl" id="lbl_RuleActionName">Action<span class="text-danger required" id="spnIsRequired_RuleActionName"> *</span></label>
<input type="text" id="txtSms_RuleActionName" class="form-control value-control required floating-label-control" placeholder="Action *" data-placeholder="Enter Action" data-label="Action *">
<input type="hidden" id="hf_RuleActionName" />
</div>
</div>
</div>
<div class="row">
<div id="div_NotificationGrp" class="floating-label-form-group col-sm-6 floating-label-form-group-with-value">
<label for="lbl_NotificationGrp" id="lbl_NotificationGroup">Notification Group<span class="text-danger"> *</span></label>
<select id="ddl_NotificationGrp" class="form-control"><option value="0">Select Group</option></select>
</div><div class="col-sm-6 createbtn_grp"><button class="badge badge-primary mt-30 ml-15" id="creategrp_btn">Create Group</button></div></div>
<div class="row">
<div class="ResultActions col-sm-6 hidden">
<div id="div_ResultAction" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_ResultAction">Result Action</label>
<select id="ddl_ResultAction" class="form-control">
<option value="">-- Select --</option>
</select>
<label for="Validation" id="lblValidation_ResultAction"></label><input type="hidden" id="hfFormPropertyId" value="" />
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card" id="SMSDetailsDiv">
<div class="card-header">SMS Details</div>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<label for="lbl_Template" id="lbl_Template" class="font-bold">Template</label>
<select id="Autocomplete_Template" class="form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_Template" />
</div>
</div><br />
<div class="row">
<div id="div_SMSBody" class="TextEditor col-sm-12">
<inpu type="hidden" id="txthdn__SMSBody" class="value-control" value="">
<span class="text-danger" id="spnIsRequired__SMSBody"></span>
<div class="type-control summernote__SMSBody" style="display: block;" id="summernote__SMSBody" data-propdoctypename="SMSBody" data-required="" placeholder="SMS Body" data-placeholder="SMS Body" data-label="SMS Body"></div>
<label for="Validation" id="lblValidation"></label>
</inpu>
</div>
</div>
</div>
</div>
<div class="bg-white card Advanced_optionsdata">
<div class="card-header"><i class="fa fa-angle-down arrowicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.SendSms.Instance().Toggleadvancedoptions()"></i>Advanced Options</div>
<div class="card-body Advanced_options hidden">
<div class="row">
<div class="col-sm-6 floating-label-form-group floating-label-form-group-with-value">
<label class="Message_type">Message Type</label>
<select class="form-control" id="message_result">
<option value="0">Success</option>
<option value="1">Warning</option>
<option value="2">Error</option>
</select>
</div>
<div class="col-sm-6">
<input type="checkbox" class="test_data mt-50" id="chkAutoApprovedSMS" checked>Perform this Action
</div>
</div>
</div>
</div>
<div class="bg-white card hidden" id="DocTypesDiv">
<div class="card-header">DocTypes</div>
<div class="card-body">
<div class="SelectDocType col-sm-12">
<!--For Mapping of datalists-->
</div>
</div>
</div>
<div class="bg-white card" id="ActionConditionsDivdata">
<div class="card-header"><i class="fa fa-angle-down conditionicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.SendSms.Instance().ToggleSendSmsConditions();"></i>Condition Details</div>
<div class="card-body hidden" id="ActionConditionsDiv">
<div class="ActionConditions">
<!--For Action Conditions-->
</div>
</div>
</div>
<div class="bg-white card" id="SelectstagesDiv">
<div class="card-header">Stage Event</div>
<div class="card-body">
<div class="stages_drp row"><div class="col-sm-6"><label class="from_label">From Stage</label><select class="from_stage_sms form-control"></select></div><div class="col-sm-6"><label class="_label">To Stage</label><select class="to_stage_sms form-control"></select></div></div>
</div></div>
<div class="bg-white card" id="SelectRoleDiv">
<div class="card-header">Send To Details</div>
<div class="card-body">
<div class="ContactSelection col-sm-12">
<!--For ContactSelection page-->
</div>
</div>
</div>
<div class="bg-white card" id="external_recipientsdiv">
<div class="card-header">External Recipients</div>
<div class="card-body">
<div class="reportautocomplete">
<div class="row">
<div class="col-sm-6">
<div class="input-group">
<label for="Report" class="font-bold">External Report</label>
<select id="txtAutoComplete_ReportsExternal" class="form-control text-control" style="width:100%;" placeholder="Report" data-placeholder="Report" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_ReportsExternal" class="form-control value-control" data-isdynamic="true" /></div></div></div></div>
<div class="external_reportcolumns mt-4"><div class="row externalreport_row"></div></div></div></div>
<div class="bg-white card col-sm-3 hidden" id="btn_ExternalRecipients">
<button type="button" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.SendSms.Instance().ToggleExternalRecipients();">External Recipients</button>
</div>
<div class="bg-white card hidden" id="ExternalRecipientsDiv">
<div class="card-header">External Recipients</div>
<div class="card-body">
<div class="ExternalRecipients">
</div>
</div>
</div>
<div class="bg-white card col-sm-3" id="btn_SendFrom">
<button type="button" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.SendSms.Instance().ToggleSmsSendFrom();">Send From</button>
</div>
<div class="bg-white card hidden" id="SendFromDetailsDiv">
<div class="card-header">Send From Details</div>
<div class="card-body">
<div class="row SendFrom">
<div class="col-sm-6">
<div class="input-group">
<label for="lbl_ProviderName" id="lbl_ProviderName">Provider Name <span class="text-danger" id="span_ProviderName">*</span></label>
<select id="Autocomplete_ProviderName" class="form-control text-control required" style="width:100%;" placeholder="ProviderName" data-placeholder="ProviderName" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_ProviderName" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="lbl_SendSmsFrom" id="lbl_SendFrom">Sender Name<span class="text-danger" id="span_smssendfrom">*</span></label>
<select id="Autocomplete_SenderName" class="form-control text-control required" style="width:100%;" placeholder="Sender Name" data-placeholder="Sender Name" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_SenderName" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateSmsFooter">
<a href="javascript:;" id="btnCloseSms" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveSms" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
Unibase.Platform.Automation.Components.SendSms.Instance().ActionId = instance.ActionId;
Unibase.Platform.Automation.Components.SendSms.Instance().RuleActionData = instance.RuleActionData;
Unibase.Platform.Automation.Components.SendSms.Instance().RowIndex = instance.RowIndex;
Unibase.Platform.Automation.Components.SendSms.Instance().AutomationMode = instance.AutomationMode;
Unibase.Platform.Automation.Components.SendSms.Instance().ParentActionId = instance.ParentActionId;
Unibase.Platform.Automation.Components.SendSms.Instance().IsAutomationMode = instance.IsAutomationMode;
yield Unibase.Platform.Automation.Components.NotificationGroup.Instance().LoadNotificationGroups();
Unibase.Platform.Automation.Components.ExternalRecipients.Instance().loadreports();
if (instance.AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode) {
eval('bizgaze_automation_flow_main.getcontainerid("' + containerid + '")');
}
$("#btnCloseSms").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (Unibase.Platform.Automation.Components.SendSms.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
if (Unibase.Platform.Automation.Components.SendSms.Instance().AutomationMode) {
if (Unibase.Platform.Automation.Components.SendSms.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 = [];
});
$('#creategrp_btn').click(function () {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true);
});
$("#txtAutoComplete_ReportsExternal").change(function () {
var reportid = Number($('#txtAutoComplete_ReportsExternal option:selected').val());
Unibase.Platform.Automation.Components.ExternalRecipients.Instance().loadexternalreportcolumns(reportid);
});
$("#btnSaveSms").click(function () {
let appcontrolid = "frmUnibase_SendSms";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_SmsAction");
return false;
}
else {
Unibase.Platform.Automation.Components.SendSms.Instance().SaveSmsAction(id, containerid);
}
});
if (instance.RuleInstance.IsStageChangeEvent()) {
$('#SelectstagesDiv').removeClass('d-none');
yield Unibase.Platform.Automation.Components.SendSms.Instance().LoadAppStages();
}
else {
$('#SelectstagesDiv').addClass('d-none');
}
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));
});
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);
});
if (instance.ParentActionId != 0) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().getResultActions(instance.ParentActionId);
yield Unibase.Platform.Automation.Components.SendSms.Instance().GetRuleActionInfo(Number(instance.ParentActionId));
$('#ddl_NotificationGrp').prop("disabled", true);
$('#creategrp_btn').addClass('d-none');
}
if (id != "") {
setTimeout(function () { Unibase.Platform.Automation.Components.SendSms.Instance().EditSmsAction(id); }, 10);
}
if (instance.RuleProviderId != 0) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(instance.RuleProviderId, null);
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(instance.RuleProviderId).then(function (response) {
var Data = new Array();
for (let i = 0; i <= response.length - 1; i++) {
var result = response[i];
Data.push(result);
}
Unibase.Platform.Automation.Components.SendSms.Instance().loadSummernote(Data);
});
Unibase.Platform.Automation.Components.SendSms.Instance().loadTemplates(instance.RuleProviderId);
}
var url = _appsettings.server_url() + '/apis/v4/bizgaze/communications/sms/SmsProvidersAutocomplete';
AutoCompleteHelper.getHelper().Create("#Autocomplete_ProviderName", "#hf_ProviderName", url, function (response) {
var data = response;
});
$("#Autocomplete_ProviderName").change(function () {
var url = _appsettings.server_url() + '/apis/v4/bizgaze/communications/sms/SmsSenderAutocomplete/smsproviderid/' + Number($("#Autocomplete_ProviderName option:selected").val());
AutoCompleteHelper.getHelper().Create("#Autocomplete_SenderName", "#hf_SenderName", url, function (response) {
var data = response;
});
});
$("#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);
$('.summernote__SMSBody').summernote("code", templatetext);
}
});
});
if (instance.RuleActionData.length == 0 && id == "") {
Unibase.Platform.Automation.Components.SendSms.Instance().getDefaultSmsSender();
}
if (instance.RuleActionData.length != 0) {
Unibase.Platform.Automation.Components.SendSms.Instance().LoadSmsData(instance.RuleActionData);
}
});
}
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");
}
ToggleSendSmsConditions() {
$('#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.SendSms.Instance().RuleProviderId, null);
}
else {
$('.conditionicon').removeClass('fa-angle-up').addClass('fa-angle-down');
}
}
LoadAppStages() {
return __awaiter(this, void 0, void 0, function* () {
var html = '';
var fromstage = '<option value="0">Select FromStage</option>';
var tostage = '<option value="0">Select ToStage</option>';
var installeappid = Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId;
yield Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(installeappid).then(function (response) {
if (response.result != null) {
for (let i = 0; i < response.result.length; i++) {
var data = response.result[i];
html += '<option value=' + data.StageId + '>' + data.StageName + '</option>';
}
}
$('.from_stage_sms').html(fromstage + html);
$('.to_stage_sms').html(tostage + html);
});
});
}
ToggleExternalRecipients() {
$("#ExternalRecipientsDiv").toggle(function () {
$("#btn_ExternalRecipients").addClass("hidden");
$("#ExternalRecipientsDiv").removeClass("hidden");
});
}
ToggleSmsSendFrom() {
$("#SendFromDetailsDiv").toggle(function () {
$("#btn_SendFrom").addClass("hidden");
$("#SendFromDetailsDiv").removeClass("hidden");
});
}
EditSmsAction(id) {
return __awaiter(this, void 0, void 0, function* () {
let actionid = Number(id);
$("#Spn_SendSMS").text("Edit Sms");
yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) {
$("#txtSms_RuleActionName").val(response.RuleActionName);
$('#message_result').val(Number(response.BString5));
$('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true);
if (response.ResultActionId != null) {
$('#ddl_ResultAction').val(response.ResultActionId);
}
if (!Unibase.Platform.Automation.Components.SendSms.Instance().IsAutomationMode) {
Unibase.Platform.Automation.Components.SendSms.Instance().RuleId = response.RuleId;
Unibase.Platform.Automation.Components.SendSms.Instance().RuleEventId = response.RuleEventId;
Unibase.Platform.Automation.Components.SendSms.Instance().EventGroupId = response.EventGroupId;
Unibase.Platform.Automation.Components.SendSms.Instance().ActionId = response.ActionId;
Unibase.Platform.Automation.Components.SendSms.Instance().ParentActionId = response.ParentActionId;
}
if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved))
$("#chkAutoApprovedSMS").prop("checked", false);
else
$("#chkAutoApprovedSMS").prop("checked", true);
$("#btn_SendFrom").addClass("hidden");
$("#SendFromDetailsDiv").removeClass("hidden");
if (response.FromStage != 0 && response.ToStage != 0) {
$('.from_stage_sms option[value=' + response.FromStage + ' ]').prop('selected', true);
$('to_stage_sms option[value=' + response.ToStage + ']').prop('selected', true);
}
if (response.ExternalReportId != 0) {
$('#txtAutoComplete_ReportsExternal option[value=' + response.ExternalReportId + ']').prop("selected", true);
}
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);
Unibase.Apps.Communications.Managers.SmsManager.Instance().getSmsSender(Number(response.String3)).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
var smsprovideroption = new Option(response.result.SmsProviderName, response.result.SmsProviderId.toString(), true);
$("#Autocomplete_ProviderName").append(smsprovideroption);
var url = _appsettings.server_url() + '/apis/v4/bizgaze/communications/sms/SmsSenderAutocomplete/smsproviderid/' + Number($("#Autocomplete_ProviderName option:selected").val());
AutoCompleteHelper.getHelper().Create("#Autocomplete_SenderName", "#hf_SenderName", url, function (res) {
var data = res;
var smssenderoption = new Option(response.result.SmsSenderName, response.result.SmsSenderId.toString(), true);
$("#Autocomplete_SenderName").append(smssenderoption);
});
}
});
let templateid = Number(response.BString1);
Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplateText(templateid).then(function (res) {
var smstemplate = new Option(res.result.TemplateName, res.result.TemplateId.toString(), true);
$("#Autocomplete_Template").append(smstemplate);
});
$('.summernote__SMSBody').summernote("code", response.BString2);
if (response.SqlWhere != null && response.SqlWhere != "") {
$('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
$("#ActionConditionsDiv").removeClass("hidden");
}
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
eval('_floatingLabelHelper.init();');
});
});
}
LoadSmsData(Data) {
for (var i = 0; i < Data.length; i++) {
$("#txtSms_RuleActionName").val(Data[i].RuleActionName);
if (!Data[i].AutoApproved)
$("#chkAutoApprovedSMS").prop("checked", false);
else
$("#chkAutoApprovedSMS").prop("checked", true);
Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckContactColumns(Data[i].Users);
Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckSecondaryContactColumns(Data[i].SecondaryUsers);
if (Data[i].SqlWhere != "" && Data[i].SqlWhere != null) {
$(".conditionicon").addClass("fa-angle-up").removeClass('fa-fa-angle-down');
$("#ActionConditionsDiv").removeClass("hidden");
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.SendSms.Instance().RuleProviderId, Data[i].SqlWhere);
}
Unibase.Apps.Communications.Managers.SmsManager.Instance().getSmsSender(Number(Data[i].String3)).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
var smsprovideroption = new Option(response.result.SmsProviderName, response.result.SmsProviderId.toString(), true);
$("#Autocomplete_ProviderName").append(smsprovideroption);
var url = _appsettings.server_url() + '/apis/v4/bizgaze/communications/sms/SmsSenderAutocomplete/smsproviderid/' + Number($("#Autocomplete_ProviderName option:selected").val());
AutoCompleteHelper.getHelper().Create("#Autocomplete_SenderName", "#hf_SenderName", url, function (res) {
var data = res;
var smssenderoption = new Option(response.result.SmsSenderName, response.result.SmsSenderId.toString(), true);
$("#Autocomplete_SenderName").append(smssenderoption);
});
}
});
let templateid = Number(Data[i].BString1);
Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplateText(templateid).then(function (res) {
var smstemplate = new Option(res.result.TemplateName, res.result.TemplateId.toString(), true);
$("#Autocomplete_Template").append(smstemplate);
});
$('.summernote__SMSBody').summernote("code", Data[i].BString2);
eval('_floatingLabelHelper.init();');
}
}
getDefaultSmsSender() {
Unibase.Apps.Communications.Managers.SmsManager.Instance().getDefaultSmsSender().then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
var smsprovideroption = new Option(response.result.SmsProviderName, response.result.SmsProviderId.toString(), true);
$("#Autocomplete_ProviderName").append(smsprovideroption);
var url = _appsettings.server_url() + '/apis/v4/bizgaze/communications/sms/SmsSenderAutocomplete/smsproviderid/' + Number($("#Autocomplete_ProviderName option:selected").val());
AutoCompleteHelper.getHelper().Create("#Autocomplete_SenderName", "#hf_SenderName", url, function (res) {
var data = res;
var smssenderoption = new Option(response.result.SmsSenderName, response.result.SmsSenderId.toString(), true);
$("#Autocomplete_SenderName").append(smssenderoption);
});
}
});
}
SaveSmsAction(smsid, containerid) {
var instance = this;
let ruleactionid = Number(smsid);
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();
var externalrecipients = Unibase.Platform.Automation.Components.ExternalRecipients.Instance().getexternalrecipients();
let externalroles = Unibase.Platform.Automation.Components.ExternalRecipients.Instance().GetExternalRoles();
let externalusers = Unibase.Platform.Automation.Components.ExternalRecipients.Instance().GetExternalUsers();
var contents = $('.summernote__SMSBody').summernote('code');
var plainText = $("<p>" + contents + "</p>").text();
let model = new Unibase.Platform.Automation.Requests.RuleAction();
model.RuleActionId = ruleactionid;
model.ActionId = Unibase.Platform.Automation.Components.SendSms.Instance().ActionId;
model.RuleId = 0;
model.NotificationGroupId = $('#ddl_NotificationGrp').val() == undefined ? 0 : Number($('#ddl_NotificationGrp').val());
if (model.NotificationGroupId == 0) {
MessageHelper.Instance().showError("Please Select Notification Group", "Validate_SmsAction");
return;
}
if (instance.RuleInstance.IsStageChangeEvent()) {
model.FromStage = $('.from_stage_sms option:selected').val() != "0" ? Number($('.from_stage option:selected').val()) : 0;
model.ToStage = $('.to_stage_sms option:selected').val() != "0" ? Number($('.to_stage option:selected').val()) : 0;
}
model.RuleActionName = $("#txtSms_RuleActionName").val().toString();
model.Users = contactcolumns;
model.String4 = Number($("#Autocomplete_ProviderName option:selected").val());
model.String3 = $("#Autocomplete_SenderName option:selected").val().toString();
model.BString1 = $("#Autocomplete_Template option:selected").val() == undefined || null ? "0" : $("#Autocomplete_Template option:selected").val().toString();
model.BString2 = plainText;
model.BString6 = externalroles;
model.BString7 = externalusers;
model.BString5 = $('#message_result option:selected').val().toString();
model.ExternalReportId = ($("#txtAutoComplete_ReportsExternal option:selected").val() == undefined) ? 0 : Number($("#txtAutoComplete_ReportsExternal option:selected").val());
model.ExternalReportColumnId = Number($("#txtAutoComplete_ReportColumns option:selected").val());
model.ProviderColumnId = Number($("#txtAutoComplete_ProviderColumns option:selected").val());
let query = queryelmnt.queryBuilder('getSQL', false, true);
if (query != null) {
model.SqlWhere = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE");
;
model.SqlWhereJson = JSON.stringify(queryelmnt.queryBuilder('getSQL', false, true));
}
else {
model.SqlWhere = "";
model.SqlWhereJson = "";
}
model.ResultActionId = $("#ddl_ResultAction option:selected").val() == undefined ? 0 : Number($("#ddl_ResultAction option:selected").val());
if (model.ResultActionId != 0) {
model.ResultActionName = $("#ddl_ResultAction option:selected").text();
}
else {
model.ResultActionName = "";
}
model.DelayTime = 0;
model.ParentActionId = Unibase.Platform.Automation.Components.SendSms.Instance().ParentActionId;
model.AutoApproved = $('#chkAutoApprovedSMS').is(':checked');
model.RecipientsData = recipients;
model.SecondaryUsers = secondarycontactcolumns;
model.ExternalRecipients = externalrecipients;
model.RowIndex = Unibase.Platform.Automation.Components.SendSms.Instance().RowIndex;
if (Unibase.Platform.Automation.Components.SendSms.Instance().IsAutomationMode) {
if (Unibase.Platform.Automation.Components.SendSms.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_SmsAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_SmsAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
var actionname = response.result.RuleActionName;
eval("bizgaze_automation_flow_main.savesmsblock('" + response.result.RuleActionId + "','" + actionname + "')");
}
});
}
}
else {
model.RuleId = Unibase.Platform.Automation.Components.SendSms.Instance().RuleId;
model.EventGroupId = Unibase.Platform.Automation.Components.SendSms.Instance().EventGroupId;
model.RuleEventId = Unibase.Platform.Automation.Components.SendSms.Instance().RuleEventId;
model.ActionId = Unibase.Platform.Automation.Components.SendSms.Instance().ActionId;
model.ParentActionId = Unibase.Platform.Automation.Components.SendSms.Instance().ParentActionId;
Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_SmsAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_SmsAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
}
});
}
}
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 = '<option value=' + response.NotificationGroupId + ' selected>' + response.NotificationGroupName + '</option>';
$('#ddl_NotificationGrp').html('').html(html);
}
});
});
}
loadSummernote(Data) {
$(".summernote__SMSBody").summernote({
height: 100,
minHeight: null,
maxHeight: null,
placeholder: "SMS Body",
disableDragAndDrop: true,
codemirror: {
mode: 'text/html',
lineNumbers: true
},
toolbar: [
['font', ['bold', 'italic', 'underline']],
['color', ['color']],
['view', ['fullscreen', 'codeview', 'help']],
],
hint: {
match: /\B[@!](\w*)$/,
search: function (keyword, callback) {
callback($.grep(Data, function (i) {
var user = i;
return user.indexOf(keyword) === 0;
}));
},
content: function (i) {
var user = i;
return $('<span>{{' + user + '}}</span>')[0];
}
}
});
}
loadTemplates(ruleproviderid) {
let templatetypeid = Number(Unibase.Platform.Templates.Enums.TemplateType.SMS);
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;
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new SendSms();
}
return this.instance;
}
}
Components.SendSms = SendSms;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,376 @@
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 StageChange extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RuleProviderId = 0;
this.RowIndex = 0;
this.AutomationMode = 0;
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/automation/enums/automationmode.js",
"platform/automation/components/conditions.js",
"platform/automation/components/contactselection.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/apps/managers/stagemanager.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js", "libs/notificationbuilder/notificationbuilder.js", "platform/automation/components/rulebuilder/notificationgroup.js", "platform/automation/managers/notificationgroupmanager.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_StageChange" 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="Spn_StageChange">Create StageChange</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divStageChange">
<div id="Validate_StageChangeAction" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl" id="lbl_RuleActionName">Action<span class="text-danger required" id="spnIsRequired_RuleActionName"> *</span></label>
<input type="text" id="txtStageChanges_RuleActionName" class="form-control value-control required floating-label-control" placeholder="Action *" data-placeholder="Enter Action" data-label="Action *">
<input type="hidden" id="hf_RuleActionName" />
</div>
</div>
</div>
<div class="row">
<div id="div_NotificationGrp" class="floating-label-form-group col-sm-6 floating-label-form-group-with-value">
<label for="lbl_NotificationGrp" id="lbl_NotificationGroup">Notification Group<span class="text-danger"> *</span></label>
<select id="ddl_NotificationGrp" class="form-control"><option value="0">Select Group</option></select>
</div><div class="col-sm-6 createbtn_grp"><button class="badge badge-primary mt-30 ml-15" id="creategrp_btn">Create Group</button></div></div>
<div class="row mt-10">
<div class="col-sm-6">
<label>Stage Name<span class="text-danger">*</span></label>
<select id="ddl_StageName" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_StageName" />
</div>
<div class="ResultActions col-sm-6 hidden">
<div id="div_ResultAction" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_ResultAction">Result Action</label>
<select id="ddl_ResultAction" class="form-control">
<option value="">-- Select --</option>
</select>
<label for="Validation" id="lblValidation_ResultAction"></label><input type="hidden" id="hfFormPropertyId" value="" />
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card Advanced_optionsdata">
<div class="card-header"><i class="fa fa-angle-down arrowicon mr-1" onclick="Unibase.Platform.Automation.Components.StageChange.Instance().Toggleadvancedoptions()"></i>Advanced Options</div>
<div class="card-body Advanced_options hidden">
<div class="row">
<div class="col-sm-6 floating-label-form-group floating-label-form-group-with-value">
<label class="Message_type">Message Type</label>
<select class="form-control" id="message_result">
<option value="0">Success</option>
<option value="1">Warning</option>
<option value="2">Error</option>
</select>
</div>
<div class="col-sm-6">
<input type="checkbox" class="test_data mt-50" id="chkAutoApprovedStageChange"checked>Perform this Action
</div>
</div>
</div>
</div>
<div class="bg-white card" id="ActionConditionsDivdata">
<div class="card-header"><i class="fa fa-angle-down conditionicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.StageChange.Instance().ToggleStageChangeConditions();"></i>Condition Details</div>
<div class="card-body hidden" id="ActionConditionsDiv">
<div class="ActionConditions">
<!--For Action Conditions-->
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateStageChangeFooter">
<a href="javascript:;" id="btnCloseStageChange" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveStageChange" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
Unibase.Platform.Automation.Components.StageChange.Instance().ActionId = instance.ActionId;
Unibase.Platform.Automation.Components.StageChange.Instance().RuleProviderId = instance.RuleProviderId;
Unibase.Platform.Automation.Components.StageChange.Instance().RuleActionData = instance.RuleActionData;
Unibase.Platform.Automation.Components.StageChange.Instance().RowIndex = instance.RowIndex;
Unibase.Platform.Automation.Components.StageChange.Instance().AutomationMode = instance.AutomationMode;
Unibase.Platform.Automation.Components.StageChange.Instance().ParentActionId = instance.ParentActionId;
Unibase.Platform.Automation.Components.StageChange.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 + '")');
}
$("#btnCloseStageChange").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (Unibase.Platform.Automation.Components.StageChange.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
if (Unibase.Platform.Automation.Components.StageChange.Instance().AutomationMode) {
if (Unibase.Platform.Automation.Components.StageChange.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 = [];
});
$("#btnSaveStageChange").click(function () {
let appcontrolid = "frmUnibase_StageChange";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_StageChangeAction");
return false;
}
else {
Unibase.Platform.Automation.Components.StageChange.Instance().SaveStageChangeAction(id, containerid);
}
});
if (instance.ParentActionId != 0) {
yield Unibase.Platform.Automation.Components.ContactSelection.Instance().getResultActions(instance.ParentActionId);
yield Unibase.Platform.Automation.Components.StageChange.Instance().GetRuleActionInfo(Number(instance.ParentActionId));
$('#ddl_NotificationGrp').prop("disabled", true);
$('#creategrp_btn').addClass('d-none');
}
$('#creategrp_btn').click(function () {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true);
});
if (id != "") {
setTimeout(function () { Unibase.Platform.Automation.Components.StageChange.Instance().EditStageChangeAction(id); }, 10);
}
if (instance.RuleProviderId != 0) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(instance.RuleProviderId, null);
Unibase.Platform.Automation.Components.StageChange.Instance().LoadStages(instance.RuleProviderId);
}
if (instance.RuleActionData.length != 0) {
Unibase.Platform.Automation.Components.StageChange.Instance().LoadStageChangeData(instance.RuleActionData);
}
});
}
ToggleStageChangeConditions() {
$('#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.StageChange.Instance().RuleProviderId, null);
}
else {
$('.conditionicon').removeClass('fa-angle-up').addClass('fa-angle-down');
}
}
EditStageChangeAction(id) {
let actionid = Number(id);
$("#Spn_StageChange").text("Edit StageChange");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) {
$("#txtStageChanges_RuleActionName").val(response.RuleActionName);
if (!Unibase.Platform.Automation.Components.StageChange.Instance().IsAutomationMode) {
Unibase.Platform.Automation.Components.StageChange.Instance().RuleId = response.RuleId;
Unibase.Platform.Automation.Components.StageChange.Instance().RuleEventId = response.RuleEventId;
Unibase.Platform.Automation.Components.StageChange.Instance().EventGroupId = response.EventGroupId;
Unibase.Platform.Automation.Components.StageChange.Instance().ActionId = response.ActionId;
Unibase.Platform.Automation.Components.StageChange.Instance().ParentActionId = response.ParentActionId;
}
$('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true);
if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved))
$("#chkAutoApprovedStageChange").prop("checked", false);
else
$("#chkAutoApprovedStageChange").prop("checked", true);
$("#hf_StageName").val(response.ApproveStageId);
Unibase.Platform.Automation.Components.StageChange.Instance().LoadStages(Unibase.Platform.Automation.Components.StageChange.Instance().RuleProviderId);
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
$("#btn_ActionConditions").addClass("hidden");
$('#message_result').val(Number(response.BString5));
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");
}
eval('_floatingLabelHelper.init();');
});
}
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");
}
LoadStageChangeData(Data) {
for (var i = 0; i < Data.length; i++) {
$("#txtStageChanges_RuleActionName").val(Data[i].RuleActionName);
if (!Data[i].AutoApproved)
$("#chkAutoApprovedStageChange").prop("checked", false);
else
$("#chkAutoApprovedStageChange").prop("checked", true);
$("#hf_StageName").val(Data[i].ApproveStageId);
Unibase.Platform.Automation.Components.StageChange.Instance().LoadStages(Unibase.Platform.Automation.Components.StageChange.Instance().RuleProviderId);
if (Data[i].SqlWhere != "" && Data[i].SqlWhere != null) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.StageChange.Instance().RuleProviderId, Data[i].SqlWhere);
$("#btn_ActionConditions").addClass("hidden");
$('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
$("#ActionConditionsDiv").removeClass("hidden");
}
eval('_floatingLabelHelper.init();');
}
}
SaveStageChangeAction(stagechangeid, containerid) {
let ruleactionid = Number(stagechangeid);
let queryelmnt = $("#builder");
let model = new Unibase.Platform.Automation.Requests.RuleAction();
model.RuleActionId = ruleactionid;
model.ActionId = Unibase.Platform.Automation.Components.StageChange.Instance().ActionId;
model.RuleId = 0;
model.RuleActionName = $("#txtStageChanges_RuleActionName").val().toString();
model.ResultActionId = 0;
model.NotificationGroupId = $('#ddl_NotificationGrp').val() == undefined ? 0 : Number($('#ddl_NotificationGrp').val());
if (model.NotificationGroupId == 0) {
MessageHelper.Instance().showError("Please Select Notification Group", "Validate_StageChangeAction");
return;
}
model.BString5 = $('#message_result option:selected').val().toString();
model.ApproveStageId = Number($("#ddl_StageName option:selected").val());
model.ParentActionId = Unibase.Platform.Automation.Components.StageChange.Instance().ParentActionId;
model.ResultActionId = Number($("#ddl_ResultAction option:selected").val());
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 = "";
}
if (model.ResultActionId != 0) {
model.ResultActionName = $("#ddl_ResultAction option:selected").text();
}
else {
model.ResultActionName = "";
}
model.AutoApproved = $('#chkAutoApprovedStageChange').is(':checked');
model.RowIndex = Unibase.Platform.Automation.Components.StageChange.Instance().RowIndex;
if (Unibase.Platform.Automation.Components.StageChange.Instance().IsAutomationMode) {
if (Unibase.Platform.Automation.Components.StageChange.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_StageChangeAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_StageChangeAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
var actionname = response.result.RuleActionName;
eval("bizgaze_automation_flow_main.savestagechangeblock('" + response.result.RuleActionId + "','" + actionname + "')");
}
});
}
}
else {
model.RuleId = Unibase.Platform.Automation.Components.StageChange.Instance().RuleId;
model.EventGroupId = Unibase.Platform.Automation.Components.StageChange.Instance().EventGroupId;
model.RuleEventId = Unibase.Platform.Automation.Components.StageChange.Instance().RuleEventId;
model.ActionId = Unibase.Platform.Automation.Components.StageChange.Instance().ActionId;
model.ParentActionId = Unibase.Platform.Automation.Components.StageChange.Instance().ParentActionId;
Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_StageChangeAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_StageChangeAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
}
});
}
}
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 = '<option value=' + response.NotificationGroupId + ' selected>' + response.NotificationGroupName + '</option>';
$('#ddl_NotificationGrp').html('').html(html);
}
});
});
}
LoadStages(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
if (response != null) {
Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(response.InstalledAppId).then(function (response) {
let cmbstages = document.getElementById('ddl_StageName');
$('#ddl_StageName').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
defaultOpt1.value = "";
cmbstages.appendChild(defaultOpt1);
var stages = response.result;
for (let i = 0; i <= stages.length - 1; i++) {
var opt = document.createElement("option");
var doctype = stages[i];
opt.text = doctype.StageName;
opt.value = doctype.StageId.toString();
cmbstages.appendChild(opt);
}
if ($("#hf_StageName").val() == "") {
$("#ddl_StageName").val(null);
}
else {
$("#ddl_StageName").val(Number($("#hf_StageName").val()));
}
});
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new StageChange();
}
return this.instance;
}
}
Components.StageChange = StageChange;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,691 @@
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 SendTask extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RuleProviderId = 0;
this.RowIndex = 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/forms/managers/formmanager.js",
"platform/automation/components/conditions.js",
"platform/automation/components/contactselection.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js",
"libs/querybuilder/query-builder.min.js",
"libs/querybuilder/query-builder.standalone.min.js",
"libs/querybuilder/query-builder.standalone.js",
"libs/querybuilder/sql-parser.min.js", "libs/notificationbuilder/notificationbuilder.js", "platform/apps/managers/stagemanager.js", "platform/automation/components/rulebuilder/rulebuilder.rule.js", "platform/automation/components/rulebuilder/notificationgroup.js", "platform/automation/managers/notificationgroupmanager.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_SendTask" 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="Spn_SendTask">Create Task</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divSendTask">
<div id="Validate_TaskAction" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl" id="lbl_RuleActionName">Action<span class="text-danger required" id="spnIsRequired_RuleActionName"> *</span></label>
<input type="text" id="txtTask_RuleActionName" class="form-control value-control required floating-label-control" placeholder="Action *" data-placeholder="Enter Action" data-label="Action *">
<input type="hidden" id="hf_RuleActionName" />
</div></div></div>
<div class="row">
<div class="col-sm-12">
<div id="div_Subject" class="floating-label-form-group">
<label for="lbl_MessageSubject" id="lbl_MessageSubject">Subject<span class="text-danger"> *</span></label>
<div class="input-group">
<input type="text" id="txtTask_MessageSubject" class="col-sm-9 form-control value-control required floating-label-control" data-placeholder="Enter Subject" placeholder="Subject *" data-label="Subject *">
<select id="ddl_SubjectTokens" class="col-sm-3 form-control value-control">
<option value="0">Select Token</option></select></div></div></div></div>
<div class="row mt-3"><div class="col-sm-12">
<div id="div_Body" class="floating-label-form-group">
<label for="lbl_MessageBody" id="lbl_MessageBody">Body<span class="text-danger"> *</span></label><div class="input-group">
<!---<input type="text" id="txtTask_MessageBody" class="col-sm-9 form-control value-control required floating-label-control" data-placeholder="Enter Body" placeholder="Body *" data-label="Body *">---->
<textarea id="txtTask_MessageBody" class="form-control value-control required floating-label-control"style="width:50%;" placeholder="Body" data-placeholder="Task Body" data-label="Body*"></textarea>
<select id="ddl_BodyTokens" class="col-sm-3 form-control value-control">
<option value="0">Select Token</option></select></div></div></div></div>
<div class="row">
<div id="div_NotificationGrp" class="floating-label-form-group col-sm-6 floating-label-form-group-with-value">
<label for="lbl_NotificationGrp" id="lbl_NotificationGroup">Notification Group<span class="text-danger"> *</span></label>
<select id="ddl_NotificationGrp" class="form-control"><option value="0">Select Group</option></select>
</div><div class="col-sm-6 createbtn_grp"><button class="badge badge-primary mt-30 ml-15" id="creategrp_btn">Create Group</button></div></div>
<div class="row">
<div class="ResultActions col-sm-6 hidden">
<div id="div_ResultAction" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_ResultAction">Result Action</label>
<select id="ddl_ResultAction" class="form-control">
<option value="">-- Select --</option></select>
<label for="Validation" id="lblValidation_ResultAction"></label><input type="hidden" id="hfFormPropertyId" value="" /></div></div></div></div></div>
<div class="bg-white card Advanced_optionsdata">
<div class="card-header"><i class="fa fa-angle-down arrowicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.SendTask.Instance().Toggleadvancedoptions()"></i>Advanced Options</div>
<div class="card-body Advanced_options hidden">
<div class="row">
<div class="col-sm-6">
<div class="input-group">
<label for="ApprovalForm" class="font-bold">Approval Form</label>
<select id="txtAutocomplete_ApprovalForm" class="form-control text-control" style="width:100%;" placeholder="ApprovalForm" data-placeholder="ApprovalForm" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_ApprovalForm" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="ApprovalFormPrimaryId" class="font-bold">Form PrimaryColumn</label>
<select id="txtAutocomplete_ApprovalFormPrimaryId" class="form-control text-control" style="width:100%;" placeholder="PrimaryColumn" data-placeholder="PrimaryColumn" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_ApprovalFormPrimaryId" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<!---rejectform--->
<div class="row mt-3">
<div class="col-sm-6">
<div class="input-group">
<label for="RejectForm" class="font-bold">Reject Form</label>
<select id="txtAutocomplete_RejectForm" class="form-control text-control" style="width:100%;" placeholder="RejectForm" data-placeholder="RejectForm" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_RejectForm" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="RejectFormPrimaryId" class="font-bold">Form PrimaryColumn</label>
<select id="txtAutocomplete_RejectFormPrimaryId" class="form-control text-control" style="width:100%;" placeholder="PrimaryColumn" data-placeholder="PrimaryColumn" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_RejectFormPrimaryId" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<!-----end--->
<!---user-defined text for buttons---->
<div class="row mt-3">
<div class="col-sm-6">
<div class="Approvalbtn_div">
<label for="ApprovalbtnText" class="font-bold">Approval Btn Text</label>
<input type="text" id="Approval_btn_text" class="form-control value-control" value="Confirm"/>
</div>
</div>
<div class="col-sm-6">
<div class="Rejectlbtn_div">
<label for="RejectlbtnText" class="font-bold">Reject Btn Text</label>
<input type="text" id="Reject_btn_text" class="form-control value-control" value="Reject"/>
</div>
</div>
</div>
<!----end--->
<div class="row mt-3">
<div class="col-sm-6 floating-label-form-group floating-label-form-group-with-value">
<label class="Message_type">Message Type</label>
<select class="form-control" id="message_result">
<option value="0">Success</option>
<option value="1">Warning</option>
<option value="2">Error</option>
</select>
</div>
<div class="col-sm-3">
<input type="checkbox" class="test_data mt-50" id="chkAutoApprovedTask"checked>Perform this Action
</div>
<div class="col-sm-3 mt-50">
<input type="checkbox" class="isparent"><span class="ml-2">IsParent</span>
</div>
</div>
<!---parent options---->
<div class="row mt-3 Parentcolumns_info d-none">
<div class="col-sm-6 floating-label-form-group-with-value">
<label class="Parent_pkid">Parent Pkid</label>
<select class="form-control" id="parent_pkid">
</select>
</div><div class="col-sm-6 floating-label-form-group-with-value">
<label class="Parent_refguid">Parent Versionguid</label>
<select class="form-control" id="parent_versionguid">
</select>
</div>
</div>
<!---end---->
</div>
</div>
<div class="bg-white card hidden" id="DocTypesDiv">
<div class="card-header">DocTypes</div>
<div class="card-body">
<div class="SelectDocType col-sm-12">
<!--For Mapping of datalists-->
</div>
</div>
</div>
<div class="bg-white card" id="ActionConditionsDivdata">
<div class="card-header"><i class="fa fa-angle-down conditionicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.SendTask.Instance().ToggleTaskConditions();"></i>Condition Details</div>
<div class="card-body hidden" id="ActionConditionsDiv">
<div class="ActionConditions">
<!--For Action Conditions-->
</div>
</div>
</div>
<div class="bg-white card" id="SelectstagesDiv">
<div class="card-header">Stage Event</div>
<div class="card-body">
<div class="stages_drp row"><div class="col-sm-6"><label class="from_label">From Stage</label><select class="from_stage_task form-control"></select></div><div class="col-sm-6"><label class="_label">To Stage</label><select class="to_stage_task form-control"></select></div></div>
</div></div>
<div class="bg-white card" id="SelectRoleDiv">
<div class="card-header">Send To Details</div>
<div class="card-body">
<div class="ContactSelection col-sm-12">
<!--For ContactSelection page-->
</div>
</div>
</div>
<div class="bg-white card col-sm-3 hidden" id="btn_ExternalRecipients">
<button type="button" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.SendTask.Instance().ToggleExternalRecipients();">External Recipients</button>
</div>
<div class="bg-white card hidden" id="ExternalRecipientsDiv">
<div class="card-header">External Recipients</div>
<div class="card-body">
<div class="ExternalRecipients">
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateTaskFooter">
<a href="javascript:;" id="btnCloseTask" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveTask" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
Unibase.Platform.Automation.Components.SendTask.Instance().ActionId = instance.ActionId;
Unibase.Platform.Automation.Components.SendTask.Instance().RuleActionData = instance.RuleActionData;
Unibase.Platform.Automation.Components.SendTask.Instance().RowIndex = instance.RowIndex;
Unibase.Platform.Automation.Components.SendTask.Instance().AutomationMode = instance.AutomationMode;
Unibase.Platform.Automation.Components.SendTask.Instance().ParentActionId = instance.ParentActionId;
Unibase.Platform.Automation.Components.SendTask.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.RuleInstance.IsStageChangeEvent()) {
$('#SelectstagesDiv').removeClass('d-none');
yield Unibase.Platform.Automation.Components.SendTask.Instance().LoadAppStages();
}
else {
$('#SelectstagesDiv').addClass('d-none');
}
$("#btnCloseTask").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (Unibase.Platform.Automation.Components.SendTask.Instance().AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.NormalMode) {
if (Unibase.Platform.Automation.Components.SendTask.Instance().AutomationMode) {
if (Unibase.Platform.Automation.Components.SendTask.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 = [];
});
$('#creategrp_btn').click(function () {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(0, null, true);
});
$("#btnSaveTask").click(function () {
let appcontrolid = "frmUnibase_SendTask";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_TaskAction");
return false;
}
else {
Unibase.Platform.Automation.Components.SendTask.Instance().SaveTaskAction(id, containerid);
}
});
$('.isparent').change(function () {
if ($('.isparent').is(':checked')) {
$('.Parentcolumns_info').removeClass('d-none');
}
else {
$('.Parentcolumns_info').addClass('d-none');
}
});
$("#ddl_SubjectTokens").change(function () {
var textAreaTxt = $("#txtTask_MessageSubject").val().toString();
var txtToAdd = '{{' + $("#ddl_SubjectTokens option:selected").text() + '}}';
var firsttext = textAreaTxt.slice(0, SendTask.Instance().tokenposition);
var lasttext = textAreaTxt.slice(SendTask.Instance().tokenposition, textAreaTxt.length);
$("#txtTask_MessageSubject").val(firsttext + txtToAdd + lasttext);
$("#ddl_SubjectTokens").val(0);
});
$("#ddl_BodyTokens").change(function () {
var textAreaTxt = $("#txtTask_MessageBody").val().toString();
var txtToAdd = '{{' + $("#ddl_BodyTokens option:selected").text() + '}}';
var firsttext = textAreaTxt.slice(0, SendTask.Instance().tokenposition);
var lasttext = textAreaTxt.slice(SendTask.Instance().tokenposition, textAreaTxt.length);
$("#txtTask_MessageBody").val(firsttext + txtToAdd + lasttext);
$("#ddl_BodyTokens").val(0);
});
$("#txtTask_MessageBody").focusout(function (event) {
SendTask.Instance().tokenposition = event["target"]["selectionStart"];
});
$("#txtTask_MessageSubject").focusout(function (event) {
SendTask.Instance().tokenposition = event["target"]["selectionStart"];
});
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));
});
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);
});
let rpid = Number(instance.RuleProviderId);
if (rpid != 0) {
Unibase.Platform.Automation.Components.SendTask.Instance().LoadMsgSubjectTokens(rpid);
Unibase.Platform.Automation.Components.SendTask.Instance().LoadMsgBodyTokens(rpid);
Unibase.Platform.Automation.Components.SendTask.Instance().LoadApprovalForm(rpid);
Unibase.Platform.Automation.Components.SendTask.Instance().LoadParentTokens(rpid);
Unibase.Platform.Automation.Components.SendTask.Instance().LoadApprovalFormProperties(rpid);
Unibase.Platform.Automation.Components.SendTask.Instance().LoadRejectForm(rpid);
Unibase.Platform.Automation.Components.SendTask.Instance().loadRejectFormProperties(rpid);
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(rpid, null);
}
if (instance.RuleActionData.length != 0) {
Unibase.Platform.Automation.Components.SendTask.Instance().LoadTaskData(instance.RuleActionData);
}
if (instance.ParentActionId != 0) {
yield Unibase.Platform.Automation.Components.ContactSelection.Instance().getResultActions(instance.ParentActionId);
yield Unibase.Platform.Automation.Components.SendTask.Instance().GetRuleActionInfo(Number(instance.ParentActionId));
$('#ddl_NotificationGrp').prop("disabled", true);
$('#creategrp_btn').addClass('d-none');
}
if (id != "") {
setTimeout(function () { Unibase.Platform.Automation.Components.SendTask.Instance().EditTaskAction(id); }, 10);
}
});
}
LoadAppStages() {
return __awaiter(this, void 0, void 0, function* () {
var html = '';
var fromstage = '<option value="0">Select FromStage</option>';
var tostage = '<option value="0">Select ToStage</option>';
var installeappid = Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId;
yield Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(installeappid).then(function (response) {
if (response.result != null) {
for (let i = 0; i < response.result.length; i++) {
var data = response.result[i];
html += '<option value=' + data.StageId + '>' + data.StageName + '</option>';
}
}
$('.from_stage_task').html(fromstage + html);
$('.to_stage_task').html(tostage + html);
});
});
}
ToggleTaskConditions() {
$('#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.SendTask.Instance().RuleProviderId, null);
}
else {
$('.conditionicon').removeClass('fa-angle-up').addClass('fa-angle-down');
}
}
ToggleExternalRecipients() {
$("#ExternalRecipientsDiv").toggle(function () {
$("#btn_ExternalRecipients").addClass("hidden");
$("#ExternalRecipientsDiv").removeClass("hidden");
});
}
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");
}
EditTaskAction(id) {
let actionid = Number(id);
$("#Spn_SendTask").text("Edit Task");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleAction(actionid).then(function (response) {
$("#txtTask_RuleActionName").val(response.RuleActionName);
$("#txtTask_MessageSubject").val(response.BString1);
$("#txtTask_MessageBody").val(response.BString2);
$('#ddl_NotificationGrp option[value=' + response.NotificationGroupId + ']').prop('selected', true);
if (!Unibase.Platform.Automation.Components.SendTask.Instance().IsAutomationMode) {
Unibase.Platform.Automation.Components.SendTask.Instance().RuleId = response.RuleId;
Unibase.Platform.Automation.Components.SendTask.Instance().RuleEventId = response.RuleEventId;
Unibase.Platform.Automation.Components.SendTask.Instance().EventGroupId = response.EventGroupId;
Unibase.Platform.Automation.Components.SendTask.Instance().ActionId = response.ActionId;
Unibase.Platform.Automation.Components.SendTask.Instance().ParentActionId = response.ParentActionId;
}
if (response.ExecuteStatusId != Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved))
$("#chkAutoApprovedTask").prop("checked", false);
else
$("#chkAutoApprovedTask").prop("checked", true);
$("#div_Subject").addClass('floating-label-form-group-with-value');
$("#div_Body").addClass('floating-label-form-group-with-value');
$("#txtAutocomplete_ApprovalForm").val("" + response.BString8 + "");
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.SqlWhere != null && response.SqlWhere != "") {
$('.conditionicon').removeClass('fa-angle-down').addClass('fa-angle-up');
$("#ActionConditionsDiv").removeClass("hidden");
}
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
$('#message_result').val(Number(response.BString5));
if (response.ResultActionId != null) {
$('#ddl_ResultAction').val(response.ResultActionId);
}
Unibase.Platform.Forms.Managers.FormManager.Instance().getForm(Number(response.BString8)).then(function (responseinfo) {
if (responseinfo.result != null) {
var apprlform = new Option(responseinfo.result.FormName, responseinfo.result.FormId.toString(), true);
$("#txtAutocomplete_ApprovalForm").append(apprlform);
$("#txtAutocomplete_ApprovalFormPrimaryId").html('<option selected>' + response.BString9 + '</option>');
}
});
Unibase.Platform.Forms.Managers.FormManager.Instance().getForm(Number(response.BString10)).then(function (responseinfo) {
if (responseinfo.result != null) {
var rejectform = new Option(responseinfo.result.FormName, responseinfo.result.FormId.toString(), true);
$("#txtAutocomplete_RejectForm").append(rejectform);
$("#txtAutocomplete_RejectFormPrimaryId").html('<option selected>' + response.BString11 + '</option>');
}
});
if (response.FromStage != 0 && response.ToStage != 0) {
$('.from_stage_task option[value=' + response.FromStage + ']').prop("selected", true);
$('.to_stage_task option[value=' + response.ToStage + ']').prop("selected", true);
}
if (response.BString12 != null && response.BString12 != "") {
$('#Approval_btn_text').val(response.BString12);
}
if (response.BString13 != null && response.BString13 != "") {
$('#Reject_btn_text').val(response.BString13);
}
if (response.IsParent) {
$('.isparent').prop("checked", true);
$('.Parentcolumns_info').removeClass('d-none');
if (response.String2 != null)
$('#parent_pkid option[value=' + response.String2 + ']').attr("selected", "true");
if (response.String3 != null)
$('#parent_versionguid option[value=' + response.String3 + ']').attr("selected", "true");
}
eval('_floatingLabelHelper.init();');
});
}
LoadParentTokens(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
$('#parent_pkid').empty();
$('#parent_versionguid').empty();
var optionshtml = '<option value="0">Select Token</option>';
for (let i = 0; i <= response.length - 1; i++) {
optionshtml += '<option id=' + response[i] + ' value="' + response[i] + '">' + response[i] + '</option>';
}
$('#parent_pkid').append(optionshtml);
$('#parent_versionguid').append(optionshtml);
});
}
LoadTaskData(Data) {
for (var i = 0; i < Data.length; i++) {
$("#txtTask_RuleActionName").val(Data[i].RuleActionName);
$("#txtTask_MessageSubject").val(Data[i].BString1);
$("#txtTask_MessageBody").val(Data[i].BString2);
if (!Data[i].AutoApproved)
$("#chkAutoApprovedTask").prop("checked", false);
else
$("#chkAutoApprovedTask").prop("checked", true);
$("#div_Subject").addClass('floating-label-form-group-with-value');
$("#div_Body").addClass('floating-label-form-group-with-value');
Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckContactColumns(Data[i].Users);
Unibase.Platform.Automation.Components.ContactSelection.Instance().CheckSecondaryContactColumns(Data[i].SecondaryUsers);
if (Data[i].SqlWhere != "" && Data[i].SqlWhere != null) {
$(".conditionicon").addClass("fa-angle-up").removeClass('fa-fa-angle-down');
$("#ActionConditionsDiv").removeClass("hidden");
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadQueryBuilder(Unibase.Platform.Automation.Components.SendTask.Instance().RuleProviderId, Data[i].SqlWhere);
}
eval('_floatingLabelHelper.init();');
}
}
SaveTaskAction(taskid, containerid) {
var instance = this;
let ruleactionid = Number(taskid);
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 approvalFormId = $("#txtAutocomplete_ApprovalForm option:selected").val() == undefined ? '' : $("#txtAutocomplete_ApprovalForm option:selected").val();
let model = new Unibase.Platform.Automation.Requests.RuleAction();
model.RuleActionId = ruleactionid;
model.ActionId = Unibase.Platform.Automation.Components.SendTask.Instance().ActionId;
model.RuleId = 0;
model.NotificationGroupId = $('#ddl_NotificationGrp').val() == undefined ? 0 : Number($('#ddl_NotificationGrp').val());
if (model.NotificationGroupId == 0) {
MessageHelper.Instance().showError("Please Select Notification Group", "Validate_TaskAction");
return;
}
model.RuleActionName = $("#txtTask_RuleActionName").val().toString();
model.BString1 = $("#txtTask_MessageSubject").val().toString();
model.BString2 = $("#txtTask_MessageBody").val().toString();
if (instance.RuleInstance.IsStageChangeEvent()) {
model.FromStage = $('.from_stage_task option:selected').val() != "0" ? Number($('.from_stage_task option:selected').val()) : 0;
model.ToStage = $('.to_stage_task option:selected').val() != "0" ? Number($('.to_stage_task option:selected').val()) : 0;
}
model.BString6 = externalroles;
model.BString7 = externalusers;
model.BString8 = approvalFormId.toString();
model.BString10 = $('#txtAutocomplete_RejectForm option:selected').val() == undefined ? null : $('#txtAutocomplete_RejectForm option:selected').val().toString();
model.BString11 = $('#txtAutocomplete_RejectFormPrimaryId option:selected').text() == "Select FormProperty" ? null : $('#txtAutocomplete_RejectFormPrimaryId option:selected').text().toString();
model.BString12 = $('#Approval_btn_text').val().toString();
model.BString13 = $('#Reject_btn_text').val().toString();
model.String2 = $('#parent_pkid option:selected').text() == "Select Token" || undefined || "" ? "" : $('#parent_pkid option:selected').text();
model.String3 = $('#parent_versionguid option:selected').text() == "Select Token" || undefined || "" ? "" : $('#parent_versionguid option:selected').text();
model.BString5 = $('#message_result option:selected').val().toString();
if ($('#txtAutocomplete_ApprovalFormPrimaryId option:selected').text() != "Select FormProperty") {
model.BString9 = $('#txtAutocomplete_ApprovalFormPrimaryId option:selected').text();
}
model.ExternalReportId = ($("#txtAutoComplete_Reports option:selected").val() == undefined) ? 0 : Number($("#txtAutoComplete_Reports option:selected").val());
model.ExternalReportColumnId = Number($("#txtAutoComplete_ReportColumns option:selected").val());
model.ProviderColumnId = Number($("#txtAutoComplete_ProviderColumns option:selected").val());
model.ApproveStageId = 0;
model.RejectStageId = 0;
model.Users = contactcolumns;
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.IsParent = $('.isparent').is(':checked');
model.ResultActionId = $("#ddl_ResultAction option:selected").val() == undefined ? 0 : Number($("#ddl_ResultAction option:selected").val());
model.ResultActionId = $("#ddl_ResultAction option:selected").val() == undefined ? 0 : Number($("#ddl_ResultAction option:selected").val());
if (model.ResultActionId != 0) {
model.ResultActionName = $("#ddl_ResultAction option:selected").text();
}
else {
model.ResultActionName = "";
}
model.DelayTime = 0;
model.ParentActionId = Unibase.Platform.Automation.Components.SendTask.Instance().ParentActionId;
model.AutoApproved = $('#chkAutoApprovedTask').is(':checked');
model.RecipientsData = recipients;
model.SecondaryUsers = secondarycontactcolumns;
model.RowIndex = Unibase.Platform.Automation.Components.SendTask.Instance().RowIndex;
if (Unibase.Platform.Automation.Components.SendTask.Instance().IsAutomationMode) {
if (Unibase.Platform.Automation.Components.SendTask.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_TaskAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_TaskAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
var actionname = response.result.RuleActionName;
eval("bizgaze_automation_flow_main.savetaskblock('" + response.result.RuleActionId + "','" + actionname + "')");
}
});
}
}
else {
model.RuleId = Unibase.Platform.Automation.Components.SendTask.Instance().RuleId;
model.EventGroupId = Unibase.Platform.Automation.Components.SendTask.Instance().EventGroupId;
model.RuleEventId = Unibase.Platform.Automation.Components.SendTask.Instance().RuleEventId;
model.ActionId = Unibase.Platform.Automation.Components.SendTask.Instance().ActionId;
model.ParentActionId = Unibase.Platform.Automation.Components.SendTask.Instance().ParentActionId;
Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_TaskAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_TaskAction");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
}
});
}
}
LoadMsgSubjectTokens(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('ddl_SubjectTokens');
$('#ddl_SubjectTokens').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);
}
});
}
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 = '<option value=' + response.NotificationGroupId + ' selected>' + response.NotificationGroupName + '</option>';
$('#ddl_NotificationGrp').html('').html(html);
}
});
});
}
LoadMsgBodyTokens(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);
}
});
}
LoadApprovalForm(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getforms/installedappid/' + response.InstalledAppId + '/appid/' + 0;
AutoCompleteHelper.getHelper().Create("#txtAutocomplete_ApprovalForm", "#hf_Autocomplete_ApprovalForm", url, function (response) {
});
});
}
LoadRejectForm(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getforms/installedappid/' + response.InstalledAppId + '/appid/' + 0;
AutoCompleteHelper.getHelper().Create("#txtAutocomplete_RejectForm", "#hf_Autocomplete_RejectForm", url, function (response) {
});
});
}
LoadApprovalFormProperties(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('txtAutocomplete_ApprovalFormPrimaryId');
$('#txtAutocomplete_ApprovalFormPrimaryId').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select FormProperty";
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);
}
});
}
loadRejectFormProperties(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('txtAutocomplete_RejectFormPrimaryId');
$('#txtAutocomplete_RejectFormPrimaryId').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select FormProperty";
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);
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new SendTask();
}
return this.instance;
}
}
Components.SendTask = SendTask;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,549 @@
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 = `<form id="frmUnibase_SendWhatsApp" data-validate="parsley" data-isdynamic="false" name="frmUnibase_SendWhatsApp">
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Spn_SendWhatsApp">Create WhatsAppReminder</strong>
</div>
<div class="card-body scrollable" style="overflow-y:scroll">
<div class="bg-white card" id="divSendWhatsApp">
<div id="Validate_WhatsAppAction" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl_RuleActionName" id="lbl_RuleActionName">Action<span class="text-danger">*</span></label><input type="text" id="txtWhatsApp_RuleActionName" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Action *" data-placeholder="Enter Action" data-label="Action *"> <input type="hidden" id="hf_RuleActionName"><label for="Validation" id="lblValidation_RuleActionName"></label>
</div>
</div>
</div>
<div class="row mt-3">
<div id="div_Template" class="col-sm-4 floating-label-form-group">
<label>Template Name<span class="text-danger">*</span></label><select id="Autocomplete_Template" class="form-control value-control" data-isdynamic="true"></select><input type="hidden" id="hf_Template"/></div>
<div class="col-sm-4">
<div id="div_TemplateType" class="floating-label-form-group floating-label-form-group-with-value">
<label for="lbl_TemplateType" id="lbl_TemplateType">Template Type<span class="text-danger">*</span></label><select id="ddl_TemplateType" class="form-control value-control ml-0 mr-0">
<option value="0">
Select Type
</option>
<option value="Template">
Template
</option>
</select>
</div>
</div>
<div class="col-sm-4">
<div id="div_LanguageCode">
<label for="lbl_LanguageCode" id="lbl_LanguageCode">Language<span class="text-danger">*</span></label><select id="ddl_LanguageCode" class="form-control value-control">
<option value="0">
Select Language
</option>
<option value="en">
English
</option>
</select>
</div>
</div>
</div>
<div class="row mt-3">
<div class="col-sm-10">
<label>Template Body</label><textArea class="col-sm-12 textArea_WhatsappBody" style="height:250px"></textArea></div>
<div class="col-sm-2 mt-3"><select id="ddl_bodyTokens" class="form-control value-control">
<option value="0">
Select Token
</option>
</select></div>
</div>
<div class="row mt-3">
<div id="div_NotificationGrp" class="floating-label-form-group col-sm-6 floating-label-form-group-with-value">
<label for="lbl_NotificationGrp" id="lbl_NotificationGroup">Notification Group<span class="text-danger">*</span></label><select id="ddl_NotificationGrp" class="form-control">
<option value="0">
Select Group
</option>
</select>
</div>
<div class="col-sm-6 createbtn_grp">
<button class="badge badge-primary mt-30 ml-15" id="creategrp_btn">Create Group</button>
</div>
<div class="ResultActions col-sm-6 hidden"><div id="div_ResultAction" class=" floating-label-form-group floating-label-form-group-with-value">
<label for="lbl" id="lbl_ResultAction">Result Action</label>
<select id="ddl_ResultAction" class="form-control">
<option value="0">Select</option></select><label for="Validation" id="lblValidation_ResultAction"></label><input type="hidden" id="hfFormPropertyId" value="0" />
</div></div>
</div>
</div>
</div>
<div class="bg-white card Advanced_optionsdata">
<div class="card-header">
<i class="fa fa-angle-down mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.SendWhatsApp.Instance().Toggleadvancedoptions();"></i>
Advanced Options
</div>
<div class="card-body Advanced_options hidden">
<div class="row">
<div class="col-sm-6 floating-label-form-group floating-label-form-group-with-value">
<label class="Message_type">Message Type</label><select class="form-control" id="message_result">
<option value="0">
Success
</option>
<option value="1">
Warning
</option>
<option value="2">
Error
</option>
</select>
</div>
<div class="col-sm-6">
<input type="checkbox" class="test_data mt-50" id="chkAutoApprovedWhatsapp" checked="checked">Perform this Action
</div>
</div>
</div>
</div>
<div class="bg-white card" id="ActionConditionsDivdata">
<div class="card-header">
<i class="fa fa-angle-down conditionicon mr-1" style="font-size:20px" onclick="Unibase.Platform.Automation.Components.SendWhatsApp.Instance().ToggleWhatsAppConditions();"></i>
Condition Details
</div>
<div class="card-body hidden" id="ActionConditionsDiv">
<div class="ActionConditions"></div>
</div>
</div>
<div class="bg-white card" id="SelectRoleDiv">
<div class="card-header">
Send To Details
</div>
<div class="card-body">
<div class="ContactSelection col-sm-12"></div>
</div>
</div>
<div class="bg-white card " id="SendFromDetailsDiv">
<div class="card-header">Send From Details</div>
<div class="card-body">
<div class="row SendFrom">
<div class="col-sm-6">
<div class="input-group">
<label for="lbl_ProviderName" id="lbl_ProviderName">Provider Name <span class="text-danger" id="span_ProviderName">*</span></label>
<select id="Autocomplete_ProviderName" class="form-control text-control required" style="width:100%;" placeholder="ProviderName" data-placeholder="ProviderName" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_ProviderName" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="lbl_SendSmsFrom" id="lbl_SendFrom">Sender Name<span class="text-danger" id="span_smssendfrom">*</span></label>
<select id="Autocomplete_SenderName" class="form-control text-control required" style="width:100%;" placeholder="Sender Name" data-placeholder="Sender Name" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_SenderName" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer modal-footer pa-10" id="CreateWhatsappFooter">
<a href="javascript:;" id="btnCloseWhatsAppReminder" class="btn btn-light btn-sm mr-auto">Close</a><a href="javascript:;" id="btnSaveWhatsAppReminder" class="btn btn-primary btn-sm">Save</a>
</div>
</form>`;
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 += '<option value=' + data[i].SenderId + '>' + data[i].SenderName + '</option>';
}
$('#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 = '<option value="0">Select Provider</option>';
for (let i = 0; i < response.result.length; i++) {
var data = response.result[i];
htmlProvider += '<option value=' + data.ProviderId + '>' + data.ProviderName + '</option>';
}
$('#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 = '<option value=' + response.NotificationGroupId + ' selected>' + response.NotificationGroupName + '</option>';
$('#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('<option value=' + datainfo.SenderId + ' selected>' + datainfo.SenderName + '</option>');
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 = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,448 @@
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 ExternalAttachments {
constructor() {
this.formPropArray = [];
this.files_array = [];
this.documentId = [];
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/automation/enums/automationmode.js",
"platform/automation/components/conditions.js",
"platform/automation/components/contactselection.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js",
"libs/querybuilder/query-builder.min.js",
"libs/querybuilder/query-builder.standalone.min.js",
"libs/querybuilder/query-builder.standalone.js",
"libs/querybuilder/sql-parser.min.js",
];
return jsfiles;
}
cssFiles() {
return [];
}
init(formpropertyid, ismultiple, validationdiv) {
Unibase.Platform.Automation.Components.ExternalAttachments.Instance().getDocumentTypes();
Unibase.Platform.Automation.Components.ExternalAttachments.Instance().assignValues(formpropertyid, ismultiple, validationdiv);
return Unibase.Platform.Automation.Components.ExternalAttachments.Instance().html(formpropertyid);
}
html(formpropertyid) {
let html = "";
html = '<div id="paneldrag" class="col-sm-12 mt-20 drag"><div class="col-sm-12" id="panel"><p>' +
'<div class="text-center"><i class="fa fa-cloud-download fa-3x" aria-hidden="true"></i></div>' +
'<div class="text-center" id="drag" style="font-size:medium">Drag and drop files here</div>' +
'<div class="text-center">Or</div>' +
'</p></div>' +
'<div class="row mb-10" id="UploadDiv_' + formpropertyid + '">' +
'<input type="text" class="hidden" id="hf_file_' + formpropertyid + '" value=""/>' +
'<div class="upload-btn-wrapper text-center container">' +
'<input id="file_' + formpropertyid + '" title="" type="file" onclick="this.value=null;" class="hidden d-none fileUpload_ form-control value-control" data-isrequired=" " data-propertyname=" " data-isdefault=" " data-propdoctypename="" data-required="" data-regularexp="" data-validatemsg="" data-formdata="" value="Unibase.Forms.Controls.FileDragNDrop.Instance().fileDragNDropObj(' + formpropertyid + ');"/>' +
'<input type="button" value="Browse" class="btn btn-primary btn-lg center-block" id="browse_' + formpropertyid + '" />' +
'</div></div></div>' +
'<div class="row ml-15 fileuploads_ filename" id="fileuploads_' + formpropertyid + '"><div class="row col-sm-12 ml-10 mt-10 pull-center thumb_doc"><div class="col-sm-12 row pl-0"><div class="input-group">' +
'<span class="Selectedfile_ text-dark hidden"><h5 class="Selection mb-10 mt-10">Selected Files :</h5> <span class="Selectedfile"></span></span>' +
'</div></div><div class="row col-sm-12 pl-0 pr-0">' +
'<ul id="ulselectedfiles_' + formpropertyid + '" class="list-group mb-n mt-n-15 no-border ulselectedfiles col-sm-12 pl-0 pr-0">' +
'<li class="hidden no-border"></li>' +
'</ul></div></div></div>';
return html;
}
fileDragNDropObj(formpropertyid) {
var instance = this;
var fileArray = [];
fileArray = instance.files_array[formpropertyid];
for (var i = 0; i < instance.rmvFiles_array.length; i++) {
var documentFileId = instance.rmvFiles_array[i].DocumentFileId;
if (documentFileId != 0) {
var fileReq = {
FileId: documentFileId,
FilePath: instance.rmvFiles_array[i].name,
};
fileArray.push(fileReq);
}
}
var fileObj = [...fileArray];
fileObj.unshift({
FileId: instance.documentId[formpropertyid],
});
return fileObj;
}
dragNdrop(formpropertyid) {
var instance = this;
$('#paneldrag').on('dragover', function (e) {
debugger;
e.preventDefault();
e.stopPropagation();
});
$('#paneldrag').on('dragenter', function (e) {
e.preventDefault();
e.stopPropagation();
});
$('#paneldrag').on('drop', function (e) {
if (e.originalEvent.dataTransfer) {
if (e.originalEvent.dataTransfer.files.length) {
e.preventDefault();
e.stopPropagation();
if (instance.ismultiple == false) {
instance.SingleUploadFile(e.originalEvent.dataTransfer.files, formpropertyid);
}
else if (instance.ismultiple == true) {
instance.MultipleUploadFile(e.originalEvent.dataTransfer.files, formpropertyid);
$("#file_" + formpropertyid).attr("multiple", "multiple");
}
else {
instance.SingleUploadFile(e.originalEvent.dataTransfer.files, formpropertyid);
}
}
}
});
$("#browse_" + formpropertyid + "").click(function () {
$("#file_" + formpropertyid).click();
});
$("#file_" + formpropertyid + "").change(function () {
Unibase.Platform.Automation.Components.ExternalAttachments.Instance().UploadFile(formpropertyid);
});
window.addEventListener("dragover", function (e) {
e = e || event;
e.preventDefault();
}, false);
window.addEventListener("drop", function (e) {
e = e || event;
e.preventDefault();
}, false);
}
UploadFile(formpropertyid) {
var instance = this;
if (instance.ismultiple == false) {
$('#fileuploads_' + formpropertyid).find('.Selection').text("Selected File :");
$('#fileuploads_' + formpropertyid).find('.Selection').addClass("text-dark");
instance.SingleUploadFile(null, formpropertyid);
}
else if (instance.ismultiple == true) {
instance.MultipleUploadFile(null, formpropertyid);
$("#file_" + formpropertyid).attr("multiple", "multiple");
}
else {
instance.SingleUploadFile(null, formpropertyid);
$('#fileuploads_' + formpropertyid).find('.Selection').text("Selected File :");
$('#fileuploads_' + formpropertyid).find('.Selection').addClass("text-dark");
}
}
SingleUploadFile(event, formpropertyid) {
var instance = this;
var fileUpload = $("#file_" + formpropertyid).get(0);
var files = fileUpload.files;
if (event != null)
files = event;
instance.singlefile = "";
var flag = 0;
if (files.length > 0) {
var html = "";
for (var i = 0; i < files.length; i++) {
flag = 0;
if (flag == 0) {
instance.itemid++;
var imgShow = '';
if (!files[i].type.match('image.*')) {
if (files[i].type.match('pdf.*')) {
imgShow = 'tenants/default/documenttypes/pdf.png';
}
else if (files[i].type.match('wordprocessingml.*') || files[i].type.match('text.*')) {
imgShow = 'tenants/default/documenttypes/word.png';
}
else if (files[i].type.match('spreadsheetml.*')) {
imgShow = 'tenants/default/documenttypes/excel.png';
}
else if (files[i].type.match('excel.*')) {
imgShow = 'tenants/default/documenttypes/excel.png';
}
else
imgShow = 'tenants/default/documenttypes/unknown.png';
}
else {
var tmppath = URL.createObjectURL(files[i]);
imgShow = tmppath;
}
var filename = encodeURIComponent(files[i].name).replace(/\'/g, "%2E");
html = '<li class="list-group-item b-a clear pl-0 pr-0" style="border: none !important">' +
'<span id="fileuploads_' + formpropertyid + '_' + instance.itemid + '" class="block fileuploads_' + instance.itemid + ' filename">' +
'<span class="pull-left">' +
'<span class="fa fa-trash-o fa-lg text-danger mr-15" style="cursor:pointer" href="javascript:;" onclick="javascript:Unibase.Platform.Automation.Components.ExternalAttachments.Instance().removeFile(\'' + formpropertyid + '\',' + instance.itemid + ',\'' + filename + '\'' + ',' + 0 + ');" title = "Click to Delete"></span>' +
'<img style="height:35px;width:35px;vertical-align:middle;" onerror="ReloadImage(event)" alt="" src="' + imgShow + '">' +
'<span class="ml-20 fileName">' + files[i].name + '</span>' +
'</span></span></li>';
instance.singlefile = files[i];
$('#ulselectedfiles_' + formpropertyid).html(html);
$('#fileuploads_' + formpropertyid).find('.Selectedfile_').removeClass("hidden");
var item = { Files: instance.singlefile };
instance.getBase64(item).then(function (response) {
var fileInfo = response;
instance.files_array[formpropertyid] = [];
instance.files_array[formpropertyid].push(fileInfo);
$("#hf_file_" + formpropertyid).val("fileexists");
});
}
}
}
}
MultipleUploadFile(event, formpropertyid) {
var instance = this;
var errormsg = Unibase.Platform.Automation.Components.ExternalAttachments.Instance().validationdiv;
var fileUpload = $("#file_" + formpropertyid).get(0);
var files = fileUpload.files;
if (event != null)
files = event;
var file = "";
var flag = 0;
if (files.length > 0) {
var xyz = "";
var html = "";
for (var i = 0; i < files.length; i++) {
flag = 0;
$("#ulselectedfiles_" + formpropertyid + " li").each(function (index, element) {
if (index != 0 && flag == 0) {
var filesSelected = $(this).find(".fileName").text();
if (files[i].name == filesSelected) {
xyz += files[i].name + " ";
MessageHelper.Instance().showError(xyz + " files already exist", "" + errormsg);
flag = 1;
}
}
});
if (flag == 0) {
instance.itemid++;
var imgShow = '';
var filename = files[i].name;
var fileExt = files[i].name.split(".");
if (files[i].type.match('image.*')) {
var tmppath = URL.createObjectURL(files[i]);
}
var docData = instance.documenttypes.find(x => x.documenttypename == fileExt[fileExt.length - 1].toLowerCase());
if (docData != null) {
if (docData.documentgroup == "Pdf") {
imgShow = 'tenants/default/documenttypes/pdf.png';
}
else if (docData.documentgroup == "Image") {
imgShow = tmppath;
}
else if (docData.documentgroup == "Word") {
imgShow = 'tenants/default/documenttypes/word.png';
}
else if (docData.documentgroup == "Excel") {
imgShow = 'tenants/default/documenttypes/excel.png';
}
else if (docData.documentgroup == "Video") {
imgShow = 'tenants/default/documenttypes/video.png';
}
else if (docData.documentgroup == "Audio") {
imgShow = 'tenants/default/documenttypes/audio.png';
}
}
else
imgShow = 'tenants/default/documenttypes/unknown.png';
filename = encodeURIComponent(filename).replace(/\'/g, "%2E");
html = '<li class="list-group-item b-a clear pl-0 pr-0" style="border: none !important">' +
'<span id="fileuploads_' + formpropertyid + '_' + instance.itemid + '" class="block fileuploads_' + instance.itemid + ' filename">' +
'<span class="pull-left col-sm-12 pl-0 pr-0">' +
'<span class="fa fa-trash-o fa-lg text-danger mr-15" style="cursor:pointer" ; href="javascript:;" onclick="javascript:Unibase.Platform.Automation.Components.ExternalAttachments.Instance().removeFile(\'' + formpropertyid + '\',' + instance.itemid + ',\'' + filename + '\'' + ',' + 0 + ');" title="Click to Delete"></span>' +
'<img class="mr-20" style="height:35px;width:35px;vertical-align:middle;" onerror="ReloadImage(event)" alt="" src="' + imgShow + '">' +
'<span class="fileName">' + files[i].name + '</span>' +
'</span></span></li>';
$('#ulselectedfiles_' + formpropertyid).append(html);
file = files[i];
$('#fileuploads_' + formpropertyid).find('.Selectedfile_').removeClass("hidden");
var item = { Files: file };
instance.getBase64(item).then(function (response) {
var fileInfo = response;
instance.files_array[formpropertyid].push(fileInfo);
$("#hf_file_" + formpropertyid).val("fileexists");
});
}
}
}
}
assignValues(formpropertyid, ismultiple, validationdiv) {
var instance = this;
instance.itemid = 0;
instance.files_array[formpropertyid] = [];
instance.documentId[formpropertyid] = 0;
instance.rmvFiles_array = [];
instance.ismultiple = ismultiple;
instance.singlefile = "";
instance.validationdiv = validationdiv;
}
getBase64(item) {
return __awaiter(this, void 0, void 0, function* () {
var fileName = "";
fileName = item.Files.DocumentFileName;
if (fileName == undefined)
fileName = item.Files.name;
var refId = 0;
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
refId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_recordid").Value);
}
let file = item.Files;
let fileInfo = item.Files.name.split('.');
let fileType = ".unknown";
if (fileInfo.length > 0) {
fileType = fileInfo[fileInfo.length - 1];
fileInfo.splice(fileInfo.length - 1, 1);
fileName = fileInfo.join('.');
}
return new Promise((resolve, reject) => {
let content = '';
const reader = new FileReader();
reader.readAsDataURL(item.Files);
reader.onloadend = function () {
var base64String = reader.result.toString().replace(/^data:.+;base64,/, '');
var fileReq = {
FileData: base64String,
FileName: fileName,
FileType: fileType,
RefId: refId,
ByteData: null
};
resolve(fileReq);
};
reader.onerror = function (e) {
reject(e);
};
});
});
}
removeFile(formpropertyid, itemid, name, DocumentFileId) {
name = decodeURIComponent(name.replace(/\%2E/g, "'"));
var instance = this;
instance.rmvFiles_array.push({ DocumentFileId: DocumentFileId, name: name });
$("#fileuploads_" + formpropertyid + "_" + itemid).addClass("hidden");
$("#fileuploads_" + formpropertyid + "_" + itemid).parents('.list-group-item').remove();
var fileIndex = instance.files_array[formpropertyid].findIndex(x => x.FileName == name);
instance.files_array[formpropertyid].splice(fileIndex, 1);
if ($('#ulselectedfiles_' + formpropertyid + ' li').length == 1) {
$('#fileuploads_' + formpropertyid).find('.Selectedfile_').addClass("hidden");
}
}
getDocumentTypes() {
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFileAsync("platform/files/managers/filemanager.js", function () {
Unibase.Platform.Files.Managers.FileManager.Instance().getDocumentTypes().then(function (response) {
Unibase.Platform.Automation.Components.ExternalAttachments.Instance().documenttypes = response.result;
});
});
}
getFiles(formpropertyid) {
return Unibase.Platform.Automation.Components.ExternalAttachments.Instance().files_array[formpropertyid];
}
bindEditFormDetails(formpropertyid, propval) {
var instance = this;
propval = propval.replaceAll("\\", "/");
var documentInfo = "";
documentInfo = JSON.parse(propval);
instance.documentId[formpropertyid] = documentInfo.DocumentId;
instance.bindData(documentInfo, formpropertyid);
}
bindData(documentInfo, formpropertyid) {
var instance = this;
var filesList = documentInfo;
for (var i = 0; i < documentInfo.length; i++) {
var isRequired = $("#file_" + formpropertyid).data("isrequired");
if (isRequired) {
$("#file_" + formpropertyid).removeClass("required");
}
var documentImage = '';
var imgSrc = "";
var DocumentGroup = "";
if (filesList[i].FileType != "") {
if (filesList[i].FileType == "png" || filesList[i].FileType == "jpg") {
DocumentGroup = "Image";
}
else if (filesList[i].FileType == "xlsx" || filesList[i].FileType == "csv") {
DocumentGroup = "Excel";
}
else if (filesList[i].FileType == "pdf") {
DocumentGroup = "Pdf";
}
else if (filesList[i].FileType == "docx") {
DocumentGroup = "Word";
}
else if (filesList[i].FileType == "mp4") {
DocumentGroup = "Video";
}
else if (filesList[i].FileType == "mp3") {
DocumentGroup = "Audio";
}
else {
DocumentGroup = "Unknown";
}
}
if (DocumentGroup != "") {
if (DocumentGroup == "Unknown")
documentImage = 'tenants/default/documenttypes/unknown.png';
else if (DocumentGroup == "Image") {
var byteCharacters = atob(filesList[i].FileData);
var byteNumbers = new Array(byteCharacters.length);
for (var k = 0; k < byteCharacters.length; k++) {
byteNumbers[k] = byteCharacters.charCodeAt(k);
}
var byteArray = new Uint8Array(byteNumbers);
var fileTemp = new Blob([byteArray], { type: filesList[i].DocumentGroup + '/' + filesList[i].FileType + ';base64' });
imgSrc = URL.createObjectURL(fileTemp);
documentImage = imgSrc;
}
else if (DocumentGroup == "Excel")
documentImage = 'tenants/default/documenttypes/excel.png';
else if (DocumentGroup == "Pdf")
documentImage = 'tenants/default/documenttypes/pdf.png';
else if (DocumentGroup == "Word")
documentImage = 'tenants/default/documenttypes/word.png';
else if (DocumentGroup == "Video")
documentImage = 'tenants/default/documenttypes/video.png';
else if (DocumentGroup == "Audio")
documentImage = 'tenants/default/documenttypes/audio.png';
}
instance.itemid++;
var docFileName = filesList[i].FileName;
var name = docFileName;
var html = '<li class="list-group-item b-a clear pl-0 pr-0" style="border: none !important">' +
'<span id="fileuploads_' + formpropertyid + '_' + instance.itemid + '" class="block fileuploads_' + instance.itemid + ' filename">' +
'<span class="pull-left col-sm-12 pl-0 pr-0">' +
'<span class="fa fa-trash-o fa-lg text-danger mr-15" style="cursor:pointer" ; href="javascript:;" onclick="javascript:Unibase.Platform.Automation.Components.ExternalAttachments.Instance().removeFile(\'' + formpropertyid + '\',' + instance.itemid + ',\'' + name + '\'' + ',' + filesList[i].DocumentFileId + ');" title="Click to Delete"></span>' +
'<img class="mr-20" style="height:35px;width:35px;vertical-align:middle;" onerror="ReloadImage(event)" alt="" src="' + documentImage + '">' +
'<span class="fileName">' + docFileName + '</span>' +
'</span></span></li>';
$('#ulselectedfiles_' + formpropertyid).append(html);
$('#fileuploads_' + formpropertyid).find('.Selectedfile_').removeClass("hidden");
instance.files_array[formpropertyid].push(filesList[i]);
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ExternalAttachments();
}
return this.instance;
}
}
Components.ExternalAttachments = ExternalAttachments;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,185 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class ExternalFollowers {
GetFollowersByPkId() {
if (Platform.TimeLine.Components.TimeLine.Instance().Followers.length > 0) {
var value = "";
var valuetext = "";
var valuecontainerid = ExternalFollowers.ToMailContainerId;
var addName = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_additionalname");
if (addName != undefined) {
var dataop = addName.Value;
var addEmail = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_additionalemail");
var addUserId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_additionalcontactid").Value;
if (addEmail != undefined && ExternalFollowers.IsMail) {
dataop = addEmail.Value;
valuetext += dataop + "|";
}
else if (ExternalFollowers.IsSms) {
valuetext += dataop + "|";
valuecontainerid = ExternalFollowers.ToSmsContainerId;
}
if (dataop != "") {
var option = new Option(dataop, addUserId, true, true);
$("#" + valuecontainerid).append(option);
value += addUserId + "|";
}
}
for (let i = 0; i < Platform.TimeLine.Components.TimeLine.Instance().Followers.length; i++) {
var data = Platform.TimeLine.Components.TimeLine.Instance().Followers[i];
var dataoption = ExternalFollowers.IsMail ? data.EmailAddress :
data.UserName;
if (dataoption == "" || dataoption == "undefined") {
continue;
}
var option = new Option(dataoption, data.UserId, true, true);
value += data.UserId + "|";
valuetext += dataoption + "|";
if (ExternalFollowers.IsMail) {
$("#" + ExternalFollowers.ToMailContainerId).append(option);
}
else if (ExternalFollowers.IsSms) {
$("#" + ExternalFollowers.ToSmsContainerId).append(option);
valuecontainerid = ExternalFollowers.ToSmsContainerId;
}
else if (ExternalFollowers.IsCalls) {
$("#" + ExternalFollowers.TocallsContainerId).append(option);
valuecontainerid = ExternalFollowers.TocallsContainerId;
}
else if (ExternalFollowers.IsTask) {
$("#" + ExternalFollowers.TasksContainerId).append(option);
}
else if (ExternalFollowers.IsMeeting) {
$("#" + ExternalFollowers.MeetingsContainerId).append(option);
valuecontainerid = ExternalFollowers.MeetingsContainerId;
}
}
$("#" + valuecontainerid).parent().children('.value-control').val(value).attr("data-text", valuetext).trigger("change");
}
}
GetFollowersByVersionGuid() {
var hiddenvalues = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_versionguid");
if (hiddenvalues != undefined) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().GetFollwersByVersionGuid(hiddenvalues.Value).then(function (response) {
var html = '';
if (response.result != null) {
}
});
}
}
GetToEmailContainer(tocontainerid) {
ExternalFollowers.IsTask = false;
ExternalFollowers.IsMail = true;
ExternalFollowers.IsSms = false;
ExternalFollowers.IsCalls = false;
ExternalFollowers.IsMeeting = false;
ExternalFollowers.ToMailContainerId = tocontainerid.attr("id");
}
GetBccEmailContainer(bcccontainerid) {
ExternalFollowers.BccMailContainerId = bcccontainerid.attr("id");
}
GetCcMailContainer(cccontainerid) {
ExternalFollowers.CcMailContainerId = cccontainerid.attr("id");
}
GetSmsToContainer(containerid) {
ExternalFollowers.IsTask = false;
ExternalFollowers.IsMail = false;
ExternalFollowers.IsSms = true;
ExternalFollowers.IsCalls = false;
ExternalFollowers.IsMeeting = false;
ExternalFollowers.ToSmsContainerId = containerid.attr("id");
}
GetCallsToContainer(containerId) {
ExternalFollowers.TocallsContainerId = containerId.attr("id");
ExternalFollowers.IsMail = false;
ExternalFollowers.IsSms = false;
ExternalFollowers.IsCalls = true;
ExternalFollowers.IsTask = false;
ExternalFollowers.IsMeeting = false;
}
GetTasksFollowersContainer(containerid) {
ExternalFollowers.TasksContainerId = containerid.attr("id");
;
ExternalFollowers.IsMail = false;
ExternalFollowers.IsSms = false;
ExternalFollowers.IsCalls = false;
ExternalFollowers.IsTask = true;
ExternalFollowers.IsMeeting = false;
}
GetMeetingFollowersContainer(containerid) {
ExternalFollowers.MeetingsContainerId = containerid.attr("id");
;
ExternalFollowers.IsMail = false;
ExternalFollowers.IsSms = false;
ExternalFollowers.IsCalls = false;
ExternalFollowers.IsTask = false;
ExternalFollowers.IsMeeting = true;
}
setDefaultMailAccount(mailcontainerid) {
var _fileCacheHelper = Platform.Helpers.FileCacheHelper.Instance();
_fileCacheHelper.loadJsFileAsync("apps/communications/managers/mails/mailmanager.js", function () {
Unibase.Apps.Communications.Managers.MailManager.Instance().getUserDefaultMailAccount().then(function (response) {
if (response.result != null) {
var option = new Option(response.result.UserName, response.result.MailAccountId, true, true);
var id = $(mailcontainerid).attr("id");
$("#" + id).append(option);
}
});
});
}
setDefaultSmsAccount(smscontainerid) {
var _fileCacheHelper = Platform.Helpers.FileCacheHelper.Instance();
_fileCacheHelper.loadJsFileAsync("apps/communications/managers/sms/smsmanager.js", function () {
Unibase.Apps.Communications.Managers.SmsManager.Instance().getDefaultSmsSender().then(function (response) {
if (response.result != null) {
var option = new Option(response.result.SmsSenderName, response.result.SmsSenderId, true, true);
var id = $(smscontainerid).attr("id");
$("#" + id).append(option);
}
});
});
}
GetDefaultTemplatesByInstalledAppId(containerid, templatetype) {
var id = containerid;
$(id).children().children('.appwise_templates').html('');
var _fileCacheHelper = Platform.Helpers.FileCacheHelper.Instance();
var installedappid = Unibase.Themes.Providers.DetailHelper.installedAppId;
_fileCacheHelper.loadJsFiles(["platform/templates/managers/templatemanager.js", "platform/templates/enums/templatetype.js"], function () {
Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplates(installedappid).then(function (response) {
if (response.result != null) {
var html = '<option value="0"data-html="">Select Template</option>';
var result = response.result.filter(x => x.TemplateTypeId == templatetype);
if (result.length == 0) {
html = '<option value="0"data-html="">No Data</option>';
}
for (let i = 0; i < result.length; i++) {
html += '<option value=' + result[i].TemplateId + ' data-html=' + result[i].TemplateText + '>' + result[i].TemplateName + '</option>';
}
$(id).children().children('.appwise_templates').html(html);
}
});
});
}
static Instance() {
if (this.instance == undefined) {
this.instance = new ExternalFollowers();
}
return this.instance;
}
}
ExternalFollowers.IsMail = false;
ExternalFollowers.IsCalls = false;
ExternalFollowers.IsSms = false;
ExternalFollowers.IsTask = false;
ExternalFollowers.IsMeeting = false;
Components.ExternalFollowers = ExternalFollowers;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,311 @@
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 ActiveRules extends Platform.Core.BaseComponent {
cssFiles() {
return [];
}
jsFiles() {
return ["platform/automation/managers/rulemanager.js", "platform/core/enums/rowstatus.js", "platform/automation/enums/schedulertype.js", "platform/automation/enums/ruletype.js"];
}
html(id, containerid) {
let html = `<form id="frmUnibase_RuleScheduler" data-validate="parsley" data-isdynamic="false">
<div id="Validate_RuleScheduler" class="clear"></div>
<div class="card bg-light m-0">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_RuleScheduler">Schedule Rule</strong>
</div>
<div class="card-body scrollable" style="height:100%;overflow-y:hidden scroll;">
<div class="bg-white card" id="divEventDetails">
<div class="card-body">
<div class="row" id="div_Scheduler">
<div class="col-sm-6">
<div class="floating-label-form-group floating-label-form-group-with-value">
<label for="lblSchedulerType" id="lbl_SchedulerType" class="font-bold">Scheduler Type<span class="text-danger">*</span></label>
<select id="ddl_SchedulerType" class="form-control value-control" data-isdynamic="true" placeholder="Select" data-placeholder="Select" data-label="Select">
<option value="">Select</option>
<option value="2">Daily</option>
<option value="3">FifteenMinute</option>
<option value="4">FiveMinute</option>
<option value="5">FortyFiveMinute</option>
<option value="6">HalfYearly</option>
<option value="7">Monthly</option>
<option value="8">NineHour</option>
<option value="9">OneHour</option>
<option value="10">OneMinute</option>
<option value="11">Quarterly</option>
<option value="12">SixHour</option>
<option value="13">ThirtyMinute</option>
<option value="14">ThreeHour</option>
<option value="15">ThreeMinute</option>
<option value="16">TwelveHour</option>
<option value="17">TwoHour</option>
<option value="18">TwoMinute</option>
<option value="19">Yearly</option>
</select>
<input type="hidden" id="hf_SchedulerType" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="User" class="font-bold">User</label>
<select id="txtAutoComplete_Users" class="form-control text-control" style="width:100%;" placeholder="User" data-placeholder="User" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_Users" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<div class="row" id="div_Dates">
<div id="" class="col-sm-6">
<div class="floating-label-form-group" id="div_StartDate">
<label for="lbl" id="lbl_StartDate">Start Date<span class="text-danger" id="spnIsRequired_StartDate"> *</span></label>
<div class="input-group">
<input type="text" id="date_StartDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="Start Date *" data-placeholder="dd/mm/yyyy hh:mm" data-label="Start Date *">
<span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
<input type="hidden" id="hf_StartDate" />
</div>
</div>
</div>
<div id="" class="col-sm-6">
<div class="floating-label-form-group" id="div_EndDate">
<label for="lbl" id="lbl_EndDate">End Date<span class="text-danger" id="spnIsRequired_EndDate"> *</span></label>
<div class="input-group">
<input type="text" id="date_EndDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="End Date *" data-placeholder="dd/mm/yyyy hh:mm" data-label="End Date *">
<span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
<input type="hidden" id="hf_EndDate" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="FooterRuleScheduler">
<a href="javascript:;" id="btnCloseRuleScheduler" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveRuleScheduler" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
$("#btnCloseRuleScheduler").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btnSaveRuleScheduler").click(function () {
let appcontrolid = "frmUnibase_RuleScheduler";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_RuleScheduler");
return false;
}
else {
ActiveRules.Instance().SaveRuleScheduler(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;
});
$("#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');
});
if (id != "") {
Unibase.Platform.Automation.Components.ActiveRules.Instance().EditRuleScheduler(id);
}
}
init(containerid) {
this.render(containerid);
this.loadJsFiles();
}
render(containerid) {
return __awaiter(this, void 0, void 0, function* () {
$("." + containerid).empty();
let html = `<form id="frmUnibase_ActiveRules" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light m-0">
<div class="b-b bg-white card-header">
<strong class="biz-highlight-bg-color title" id="">Active Rules</strong>
<span class="badge badge-light badge-pill badge-outline span_activerules_count">0</span>
</div>
<div class="card-body scrollable p-0" style="overflow-y: scroll;">
<table class="table m-0">
<thead style="background: #EAECEE !important;">
<tr >
<th class="biz-list-header">Rule Name</th>
<th class="biz-list-header">Sceduler Type</th>
<th class="biz-list-header">From Date</th>
<th class="biz-list-header">To Date</th>
<th class="biz-list-header">NextSceduled Date</th>
<th></th>
</tr>
</thead>
<tbody class="ActiveRuleslist_body bg-white text-dark font-14"></tbody>
</table>
</div>
<div class="bg-white card-footer footer" id="ActiveRulesFooter">
</div>
</div>
</form>`;
return yield $("." + containerid).append(html);
});
}
loadJsFiles() {
var jsfiles = Unibase.Platform.Automation.Components.ActiveRules.Instance().jsFiles();
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(jsfiles, function () {
let RuleId = "";
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_ruleid") {
RuleId = obj.Value.toString();
}
}
}
if (Number(RuleId) != 0) {
Unibase.Platform.Automation.Components.ActiveRules.Instance().GetActiveRules(Number(RuleId));
}
});
}
GetActiveRules(RuleId) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getActiveRules(RuleId).then(function (response) {
if (response.length > 0) {
$('.ActiveRuleslist_body').html('<tr class="ActiveRuleslist hidden"></tr>');
var html = "";
let ActiveRules = response;
let Status = ActiveRules[0].StatusId;
let StatusName = "";
let ChangeStatusName = "";
let statusbadge = "";
let SchedulerType = Unibase.Platform.Automation.Enums.SchedulerType[ActiveRules[0].SchedulerId];
let NewStatus;
if (Status == Number(Unibase.Platform.Core.Enums.RowStatus.Active)) {
StatusName = "Active";
ChangeStatusName = "DeActivate";
NewStatus = Unibase.Platform.Core.Enums.RowStatus.InActive;
statusbadge = "#fff";
}
else {
StatusName = "InActive";
ChangeStatusName = "Activate";
NewStatus = Unibase.Platform.Core.Enums.RowStatus.Active;
statusbadge = "#FFF1F1";
}
html = '<tr style="background:' + statusbadge + '"><td class="widget-list-item-main-title">' + ActiveRules[0].RuleName + '</td><td>' + SchedulerType + '</td><td>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTimeWithoutSeconds(ActiveRules[0].StartDate) + '</td><td>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTimeWithoutSeconds(ActiveRules[0].EndDate) + '</td><td>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTimeWithoutSeconds(ActiveRules[0].NextScheduleDate) + '</td><td><div><a href="javascript:;" data-toggle="dropdown" class="no-caret dropdown-toggle pull-right biz-transparent-text-color" id="" aria-expanded="false"><i class="fa fa-ellipsis-h mr-20"></i></a><ul class="dropdown-menu pull-right clearfix"><li class="dropdown-menu-item hidden"></li><li id=""><a class="dropdown-item biz-transparent-text-color" href="javascript:;" id="" onclick="Unibase.Platform.Automation.Components.ActiveRules.Instance().ChangeActiveRuleStatus(' + ActiveRules[0].ActiveRuleId + ',' + ActiveRules[0].RuleId + ',' + NewStatus + ');">' + ChangeStatusName + '</a></li></ul></div></td></tr>';
$(".ActiveRuleslist:last").before(html);
$(".span_activerules_count").text(1);
}
else {
$(".ActiveRuleslist_body").html('<div class="alert alert-primary text-center mb-0 border-0 rounded-0 w-100 ">No Records Found</div>');
$(".span_activerules_count").text(0);
}
});
}
ChangeActiveRuleStatus(ActiveRuleId, RuleId, Status) {
if (Status == Unibase.Platform.Core.Enums.RowStatus.Active) {
Unibase.Platform.Helpers.NavigationHelper.Instance().popup(RuleId, "", Unibase.Platform.Automation.Components.ActiveRules.Instance(), null, Platform.Helpers.Size.DockLeft);
}
else {
Unibase.Platform.Automation.Managers.RuleManager.Instance().UpdateActiveRuleStatus(ActiveRuleId, Status).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
MessageHelper.Instance().showSuccess(response.message, " ");
Unibase.Platform.Automation.Components.ActiveRules.Instance().GetActiveRules(response.result.RuleId);
}
});
}
}
EditRuleScheduler(id) {
let response;
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(id).then(function (res) {
response = res;
$("#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);
$("#div_StartDate").addClass('floating-label-form-group-with-value');
$("#div_EndDate").addClass('floating-label-form-group-with-value');
eval('_floatingLabelHelper.init();');
});
}
SaveRuleScheduler(id, containerid) {
let ruleobj = {};
ruleobj.RuleId = id;
ruleobj.SchedulerId = Number($("#ddl_SchedulerType").val());
ruleobj.RuleType = Unibase.Platform.Automation.Enums.RuleType.Scheduler;
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 = Number($("#txtAutoComplete_Users option:selected").val());
Unibase.Platform.Automation.Managers.RuleManager.Instance().UpdateRuleScheduler(ruleobj).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_RuleScheduler");
}
else {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.ActiveRules.Instance().GetActiveRules(response.result.RuleId);
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ActiveRules();
}
return this.instance;
}
}
Components.ActiveRules = ActiveRules;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+103
View File
@@ -0,0 +1,103 @@
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(i){class r extends t.Core.BaseComponent{cssFiles(){return[]}jsFiles(){return["platform/automation/managers/rulemanager.js","platform/core/enums/rowstatus.js","platform/automation/enums/schedulertype.js","platform/automation/enums/ruletype.js"]}html(){return`<form id="frmUnibase_RuleScheduler" data-validate="parsley" data-isdynamic="false">
<div id="Validate_RuleScheduler" class="clear"></div>
<div class="card bg-light m-0">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_RuleScheduler">Schedule Rule</strong>
</div>
<div class="card-body scrollable" style="height:100%;overflow-y:hidden scroll;">
<div class="bg-white card" id="divEventDetails">
<div class="card-body">
<div class="row" id="div_Scheduler">
<div class="col-sm-6">
<div class="floating-label-form-group floating-label-form-group-with-value">
<label for="lblSchedulerType" id="lbl_SchedulerType" class="font-bold">Scheduler Type<span class="text-danger">*</span></label>
<select id="ddl_SchedulerType" class="form-control value-control" data-isdynamic="true" placeholder="Select" data-placeholder="Select" data-label="Select">
<option value="">Select</option>
<option value="2">Daily</option>
<option value="3">FifteenMinute</option>
<option value="4">FiveMinute</option>
<option value="5">FortyFiveMinute</option>
<option value="6">HalfYearly</option>
<option value="7">Monthly</option>
<option value="8">NineHour</option>
<option value="9">OneHour</option>
<option value="10">OneMinute</option>
<option value="11">Quarterly</option>
<option value="12">SixHour</option>
<option value="13">ThirtyMinute</option>
<option value="14">ThreeHour</option>
<option value="15">ThreeMinute</option>
<option value="16">TwelveHour</option>
<option value="17">TwoHour</option>
<option value="18">TwoMinute</option>
<option value="19">Yearly</option>
</select>
<input type="hidden" id="hf_SchedulerType" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="User" class="font-bold">User</label>
<select id="txtAutoComplete_Users" class="form-control text-control" style="width:100%;" placeholder="User" data-placeholder="User" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_Users" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<div class="row" id="div_Dates">
<div id="" class="col-sm-6">
<div class="floating-label-form-group" id="div_StartDate">
<label for="lbl" id="lbl_StartDate">Start Date<span class="text-danger" id="spnIsRequired_StartDate"> *</span></label>
<div class="input-group">
<input type="text" id="date_StartDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="Start Date *" data-placeholder="dd/mm/yyyy hh:mm" data-label="Start Date *">
<span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
<input type="hidden" id="hf_StartDate" />
</div>
</div>
</div>
<div id="" class="col-sm-6">
<div class="floating-label-form-group" id="div_EndDate">
<label for="lbl" id="lbl_EndDate">End Date<span class="text-danger" id="spnIsRequired_EndDate"> *</span></label>
<div class="input-group">
<input type="text" id="date_EndDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="End Date *" data-placeholder="dd/mm/yyyy hh:mm" data-label="End Date *">
<span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
<input type="hidden" id="hf_EndDate" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="FooterRuleScheduler">
<a href="javascript:;" id="btnCloseRuleScheduler" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveRuleScheduler" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`}load(t,i){var f=this,u;$("#btnCloseRuleScheduler").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btnSaveRuleScheduler").click(function(){let u=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("frmUnibase_RuleScheduler");if(u==!1)return MessageHelper.Instance().showError("Mandatory fields are missing","Validate_RuleScheduler"),!1;r.Instance().SaveRuleScheduler(t,i)});u=_appsettings.server_url()+"/apis/v4/unibase/platform/followers/reports_followersauto";AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Users","#hf_Autocomplete_Users",u,function(n){var t=n});$("#date_StartDate").daterangepicker({autoUpdateInput:!1,timePicker:!0,timePicker24Hour:!0,locale:{format:"DD/MM/YYYY HH:mm"},singleDatePicker:!0,showDropdowns:!0,minYear:1901,maxDate:new Date(2050,11,31)});$("#date_EndDate").daterangepicker({autoUpdateInput:!1,timePicker:!0,timePicker24Hour:!0,locale:{format:"DD/MM/YYYY HH:mm"},singleDatePicker:!0,showDropdowns:!0,minYear:1901,maxDate:new Date(2050,11,31)});$("#date_StartDate").on("apply.daterangepicker",function(){$("#div_StartDate").addClass("floating-label-form-group-with-value")});$("#date_EndDate").on("apply.daterangepicker",function(){$("#div_EndDate").addClass("floating-label-form-group-with-value")});t!=""&&n.Platform.Automation.Components.ActiveRules.Instance().EditRuleScheduler(t)}init(n){this.render(n);this.loadJsFiles()}render(n){return __awaiter(this,void 0,void 0,function*(){$("."+n).empty();let t=`<form id="frmUnibase_ActiveRules" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light m-0">
<div class="b-b bg-white card-header">
<strong class="biz-highlight-bg-color title" id="">Active Rules</strong>
<span class="badge badge-light badge-pill badge-outline span_activerules_count">0</span>
</div>
<div class="card-body scrollable p-0" style="overflow-y: scroll;">
<table class="table m-0">
<thead style="background: #EAECEE !important;">
<tr >
<th class="biz-list-header">Rule Name</th>
<th class="biz-list-header">Sceduler Type</th>
<th class="biz-list-header">From Date</th>
<th class="biz-list-header">To Date</th>
<th class="biz-list-header">NextSceduled Date</th>
<th></th>
</tr>
</thead>
<tbody class="ActiveRuleslist_body bg-white text-dark font-14"></tbody>
</table>
</div>
<div class="bg-white card-footer footer" id="ActiveRulesFooter">
</div>
</div>
</form>`;return yield $("."+n).append(t)})}loadJsFiles(){var t=n.Platform.Automation.Components.ActiveRules.Instance().jsFiles();n.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(t,function(){let t="";if(n.Themes.Providers.Detail_Settings.Instance().InputParameters.length>0)for(let i of n.Themes.Providers.Detail_Settings.Instance().InputParameters)i.Key==="hf_"+n.Themes.Providers.DetailHelper.installedAppId+"_ruleid"&&(t=i.Value.toString());Number(t)!=0&&n.Platform.Automation.Components.ActiveRules.Instance().GetActiveRules(Number(t))})}GetActiveRules(t){n.Platform.Automation.Managers.RuleManager.Instance().getActiveRules(t).then(function(t){if(t.length>0){$(".ActiveRuleslist_body").html('<tr class="ActiveRuleslist hidden"><\/tr>');var i="";let r=t,s=r[0].StatusId,o="",u="",f="",h=n.Platform.Automation.Enums.SchedulerType[r[0].SchedulerId],e;s==Number(n.Platform.Core.Enums.RowStatus.Active)?(o="Active",u="DeActivate",e=n.Platform.Core.Enums.RowStatus.InActive,f="#fff"):(o="InActive",u="Activate",e=n.Platform.Core.Enums.RowStatus.Active,f="#FFF1F1");i='<tr style="background:'+f+'"><td class="widget-list-item-main-title">'+r[0].RuleName+"<\/td><td>"+h+"<\/td><td>"+n.Platform.Helpers.DateTimeHelper.Instance().FormatDateTimeWithoutSeconds(r[0].StartDate)+"<\/td><td>"+n.Platform.Helpers.DateTimeHelper.Instance().FormatDateTimeWithoutSeconds(r[0].EndDate)+"<\/td><td>"+n.Platform.Helpers.DateTimeHelper.Instance().FormatDateTimeWithoutSeconds(r[0].NextScheduleDate)+'<\/td><td><div><a href="javascript:;" data-toggle="dropdown" class="no-caret dropdown-toggle pull-right biz-transparent-text-color" id="" aria-expanded="false"><i class="fa fa-ellipsis-h mr-20"><\/i><\/a><ul class="dropdown-menu pull-right clearfix"><li class="dropdown-menu-item hidden"><\/li><li id=""><a class="dropdown-item biz-transparent-text-color" href="javascript:;" id="" onclick="Unibase.Platform.Automation.Components.ActiveRules.Instance().ChangeActiveRuleStatus('+r[0].ActiveRuleId+","+r[0].RuleId+","+e+');">'+u+"<\/a><\/li><\/ul><\/div><\/td><\/tr>";$(".ActiveRuleslist:last").before(i);$(".span_activerules_count").text(1)}else $(".ActiveRuleslist_body").html('<div class="alert alert-primary text-center mb-0 border-0 rounded-0 w-100 ">No Records Found<\/div>'),$(".span_activerules_count").text(0)})}ChangeActiveRuleStatus(i,r,u){u==n.Platform.Core.Enums.RowStatus.Active?n.Platform.Helpers.NavigationHelper.Instance().popup(r,"",n.Platform.Automation.Components.ActiveRules.Instance(),null,t.Helpers.Size.DockLeft):n.Platform.Automation.Managers.RuleManager.Instance().UpdateActiveRuleStatus(i,u).then(function(t){t.status==n.Data.Status.Success&&(MessageHelper.Instance().showSuccess(t.message," "),n.Platform.Automation.Components.ActiveRules.Instance().GetActiveRules(t.result.RuleId))})}EditRuleScheduler(t){let i;n.Platform.Automation.Managers.RuleManager.Instance().getRule(t).then(function(t){i=t;$("#hf_SchedulerType").val(i.SchedulerId);$("#divEventDetails").removeClass("hidden");$("#EventColumnsdiv").addClass("hidden");$("#select2_EventColumns").removeClass("required");$("#date_StartDate").val(n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(i.StartDate));$("#date_EndDate").val(n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(i.EndDate));$("#ddl_SchedulerType").val($("#hf_SchedulerType").val());$("input[type=radio]").attr("disabled",1);var r=new Option(i.UserName,i.IdentityUserId.toString(),!0,!0);$("#txtAutoComplete_Users").append(r);$("#div_StartDate").addClass("floating-label-form-group-with-value");$("#div_EndDate").addClass("floating-label-form-group-with-value");eval("_floatingLabelHelper.init();")})}SaveRuleScheduler(t,i){let r={};r.RuleId=t;r.SchedulerId=Number($("#ddl_SchedulerType").val());r.RuleType=n.Platform.Automation.Enums.RuleType.Scheduler;let u=n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_StartDate").val());r.StartDate=new Date(u);let f=n.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_EndDate").val());r.EndDate=new Date(f);r.IdentityUserId=Number($("#txtAutoComplete_Users option:selected").val());n.Platform.Automation.Managers.RuleManager.Instance().UpdateRuleScheduler(r).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,"Validate_RuleScheduler"):($("#"+i).modal("hide"),$("#"+i).remove(),n.Platform.Automation.Components.ActiveRules.Instance().GetActiveRules(t.result.RuleId))})}static Instance(){return this.instance===undefined&&(this.instance=new r),this.instance}}i.ActiveRules=r})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,510 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class Comments extends Unibase.Platform.Core.BaseComponent {
constructor() {
super();
this.commentcount = 0;
}
cssFiles() {
return [""];
}
jsFiles() {
return [""];
}
html(id, containerid) {
let html = `<div class="card card-default shadow-none border-0 mb-0" id="Form_Comments">
<div class="card-header card-header-action"><span id="WidgetTitle" class="biz-highlight-bg-color">Comments (<span class="comments_count">0</span>)</h4></div>
<div class="card-body"><div class="row"><div class="col-sm-12"><div class="divComments" id="divComments"></div></div></div></div>
</div>
<div class="divallcomments comment-list block" id="admincomments">
<div class="allcomment-block"></div>
<div class="row"><div class="form-group col-sm-12 ml-lg-10"><a href="/#/welcome" id="btnrefreshComments" class="btn btn-default hidden btn-sm"><i class="fa fa-plus icon-muted"></i> more</a></div></div>
</div>`;
$("." + containerid).html(html);
return "";
}
init(containerId) {
var instance = this;
instance.html("", containerId);
var id = "";
var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
instance.InstalledAppId = InstalledAppId;
for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
if (obj.Key === "hf_" + InstalledAppId + "_recordid") {
id = obj.Value;
}
}
instance.load(id, containerId, null);
}
load(id, containerid, callback) {
var instance = this;
instance.currentuser = Unibase.Platform.Membership.Infos.Identity.currentUser;
instance.showComments();
}
showComments() {
var instance = this;
$('.allComments_').remove();
var commentshtml = '<div class="divComments panel-default mb-2" id="divComments_">' +
'<div class="allComments_ allcomment-block bg-light"></div> <div id="divComment_items" class="comment-item_ mr-35">' +
'<div class="input-group form-group"><input type="text" id="commentTextBox_0" class="form-control commentTextBox txtnewComment_ " placeholder="Type Comments here...." onchange="Unibase.Platform.Automation.Components.Comments.Instance().enableSendbtn(event,0)">' +
'<a href="javascript:(0)" id="commentPostButton_0" class="list-group-anchor btn btn-sm py-1 border-bottom rounded-0 input-group-addon" onclick="Unibase.Platform.Automation.Components.Comments.Instance().saveComment();"><span class="btn-icon-wrap"><button class="btn btn-white fa fa-paper-plane-o p-0 text-disabled "></button></span></a></span></a>' +
'</div></div></div>';
$("#divComments").html(commentshtml);
instance.loadComments();
instance.addComments();
}
loadComments() {
var instance = this;
var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
var refGuid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_versionguid").Value;
var jsfiles = ['platform/automation/managers/commentmanager.js', 'platform/automation/infos/comment.js', 'platform/automation/requests/comment.js', 'platform/automation/enums/commenttype.js'];
instance.fileCacheHelper.loadJsFiles(jsfiles, function () {
Unibase.Platform.Automation.Managers.CommentManager.Instance().getMyCommentsByGuid(refGuid).then(function (response) {
var CommentId = 0;
var ParentCommentCount = 0;
$('.commentsCount_').text(response.result.length);
$('.comments_count').text(response.result.length);
var html = "";
$(".comment-addItem").remove();
$(".comment-item_").remove();
var commentClosed = true;
let photoUrl = "";
if (instance.currentUser.photoUrl != "" && instance.currentUser.photoUrl != null) {
photoUrl = instance.currentUser.photoUrl;
let srcSplit = photoUrl.split('/');
if (srcSplit[srcSplit.length - 1] == 'unnamed.png') {
photoUrl = "tenants/themes/compact/imgs/avatar.jpg";
}
}
else {
photoUrl = "tenants/themes/compact/imgs/avatar.jpg";
}
html += `<form><div id="divComment_items" class="mb-2 d-flex comment-item_">
<div class="comment-right-wrapper m-0 d-flex align-items-center w-100 border-bottom border-light-50"><input type="text" id="commentTextBox_0" class="w-100 border-0 outline-0 commentTextBox txtnewComment_" placeholder="Type Comments here...." oninput="Unibase.Platform.Automation.Components.Comments.Instance().enableSendbtn(event,0)">
<div class="comment-btn-wrapper" id="add-comment-btn">
<a href="javascript:(0)" id="commentPostButton_0" class="list-group-anchor btn btn-icon btn-sm rounded" onclick="Unibase.Platform.Automation.Components.Comments.Instance().saveComment();"><span class="btn-icon-wrap"><button class="btn btn-white fa fa-paper-plane-o mt-5 p-0 text-disabled commentSendBtn"></button></span></a>
</div></div></div></form>`;
for (var i = 0; i < response.result.length; i++) {
var model = response.result[i];
var deletehtml = '';
if (model.CreatedBy == instance.currentuser.userId) {
deletehtml = '<div class="d-flex align-items-center"><span class="mr-10"><a href="javascript:(0)" onclick="Unibase.Platform.Automation.Components.Comments.Instance().deleteComment(' + model.CommentId + ', 0, 0, 0);"><span class="btn-icon-wrap"><i class="fa fa-trash-o text-danger font-16"> </i></span> </a>' +
'</span></div>';
}
var CreatedByImage = " ";
if (model.FromUserPhotoUrl == null || model.FromUserPhotoUrl == "") {
if (model.ImageUrl == null) {
let avatarTxt = "";
let headingTxt = model.FromUserName;
let matches = headingTxt.match(/\b(\w)/g);
if (matches.length == 1) {
avatarTxt = $.trim(headingTxt).substr(0, 2);
}
else {
avatarTxt = matches.join('').slice(0, 2);
}
CreatedByImage = `<h5 class="biz-primary-text-color font-12">${avatarTxt}</h5>`;
}
else {
CreatedByImage = `<img src="${model.ImageUrl}" data-dynamic="1" onerror="ReloadImage(event)" class="avatar-img img-fluid rounded-circle font-11" alt="img">`;
}
}
else {
CreatedByImage = model.FromUserPhotoUrl;
let srcSplit = CreatedByImage.split('/');
if (srcSplit[srcSplit.length - 1] == 'unnamed.png' || CreatedByImage == null || CreatedByImage == "") {
let avatarTxt = "";
let headingTxt = model.FromUserName;
let matches = headingTxt.match(/\b(\w)/g);
if (matches.length == 1) {
avatarTxt = $.trim(headingTxt).substr(0, 2);
}
else {
avatarTxt = matches.join('').slice(0, 2);
}
CreatedByImage = `<h5 class="biz-primary-text-color font-12">${avatarTxt}</h5>`;
}
else {
CreatedByImage = `<img src="${model.FromUserPhotoUrl}" data-dynamic="1" onerror="ReloadImage(event)" class="avatar-img img-fluid rounded-circle font-11" alt="img">`;
}
}
var attachImage = "";
if (model.ImageUrl == null || model.ImageUrl == "")
attachImage = '';
else {
attachImage = "<img src='" + model.ImageUrl + "' class='w-100 h-100'>";
}
var commentIcon = "";
var commentName = "";
var IsEvent = "";
var bgcolor = "";
var parentCount = `<span class="pr-1 toGetReplyCountByParentId${model.CommentId}">Replies</span>`;
parentCount += `<span id="Reply_${model.CommentId}"> (${model.ParentCommentCount}) </span>`;
if (model.ParentCommentCount == 0) {
parentCount = `<span class="pr-1 toGetReplyCountByParentId${model.CommentId}">Reply</span>`;
parentCount += `<span id="Reply_${model.CommentId}"></span>`;
}
if (model.CommentType == Unibase.Platform.Automation.Enums.CommentType.Comment) {
}
else if (model.CommentType == Unibase.Platform.Automation.Enums.CommentType.Call) {
commentIcon = "fa fa-phone text-info";
commentName = "Call";
}
else if (model.CommentType == Unibase.Platform.Automation.Enums.CommentType.Mail) {
commentIcon = "fa fa-envelope-o text-info";
commentName = "Mail";
}
else if (model.CommentType == Unibase.Platform.Automation.Enums.CommentType.Meeting) {
commentIcon = "fa fa-users text-info ";
commentName = "Meeting";
}
else if (model.CommentType == Unibase.Platform.Automation.Enums.CommentType.Follow) {
commentIcon = "fa fa-flash text-info";
commentName = "Event";
IsEvent = "hidden";
}
if ($("#hfCommentids").val() != model.CommentId) {
if ($("#hfCommentids").val() != "0")
html += '</section></article></div>';
$("#hfCommentids").val(model.CommentId);
if (model.ParentCommentCount > 0) {
html += '<div class="block allComments_ allcomment-block comment-addItem pt-1 d-none"><article id="comment-' + model.CommentId + '" class="comment-item clear">' +
'<input type="hidden" id="hfAssignedFollowers_' + model.CommentId + '" value="' + model.AssignedFollowers + '" />' +
'<section class="comment-body"><div class="comment-body-wrapper d-flex justify-content-between">' +
'<div class="comment-user-img"><div class="avatar biz-detail-avatar biz-highlight-color" style="width: 25px !important;height: 25px !important;">' + CreatedByImage + '</div>' +
'</span></div>' +
'<div class="comment-details-wrapper ml-1" style="flex-grow:2"><div class="comment-user-details d-flex align-items-center justify-content-between flex-wrap w-100"><div class="comment-username d-flex align-items-center"><h6 class="font-14 biz-highlight-bg-color mr-5 commentusername_' + CommentId + '"> ' + model.FromUserName + '</h6></div><input type="hidden" id="hf_ParentCmtVersionGuid_' + model.CommentId + '" value="' + model.VersionGuid + '"/>';
}
else {
html += '<div class="block allComments_ allcomment-block comment-addItem pt-1 d-none"><article id="comment-' + model.CommentId + '" class="comment-item clear">' +
'<input type="hidden" id="hfAssignedFollowers_' + model.CommentId + '" value="' + model.AssignedFollowers + '" />' +
'<section class="comment-body"><div class="comment-body-wrapper d-flex justify-content-between">' +
'<div class="comment-user-img"><div class="avatar biz-detail-avatar biz-highlight-color" style="width: 25px !important;height: 25px !important;">' + CreatedByImage + '</div>' +
'</span></div>' +
'<div class="comment-details-wrapper ml-1" style="flex-grow:2"><div class="comment-user-details d-flex align-items-center justify-content-between flex-wrap w-100"><div class="comment-username d-flex align-items-center"><h6 class="font-14 biz-highlight-bg-color mr-5 commentusername_' + CommentId + '"> ' + model.FromUserName + '</h6></div><input type="hidden" id="hf_ParentCmtVersionGuid_' + model.CommentId + '" value="' + model.VersionGuid + '"/>';
}
if (model.IsSystemGenerated != true) {
if (window.innerWidth <= 1198) {
html += deletehtml + '</div>' +
'<div class="comment-text mt-1 w-sm-95 mb-5 text-dark font-11 word-break"><span>' + model.CommentSubject + ' </span></div>';
}
else {
html += deletehtml + '</div>' +
'<div class="comment-text mt-1 w-sm-95 mb-5 text-dark font-14 word-break"><span>' + model.CommentSubject + ' </span></div>';
}
}
}
html += '<div class="stats_container d-flex align-items-center mb-2 justify-content-between"><div class="comment-reply-wrapper"><span><a href="/#/welcome" class="list-group-anchor" onclick="Unibase.Platform.Automation.Components.Comments.Instance().details(' + model.CommentId + ');"><i class="' + commentIcon + '"></i> ' + commentName + '</a></span>';
if (model.IsSystemGenerated != true) {
if (window.innerWidth <= 1198) {
html += '<span class="panel-default"><a href="/#/welcome" data-parent="divcomment 4" class="list-group-anchor text-dark d-flex mr-3 font-11 list-item-main-title" onclick="Unibase.Platform.Automation.Components.Comments.Instance().childComments(' + model.CommentId + ');"> ' + parentCount + '</a>' +
'</span></div> <span class="comment-time font-11 text-dark">' + Unibase.Platform.Helpers.DateTimeHelper.Instance().commentsdateformat(model.CreatedDate) + '</span></div>' +
' <div class="bg-white hidden" id = "comments-' + model.CommentId + '" > ' +
'<div id="childcomment-list_' + model.CommentId + '" class="childcomment-list_' + model.CommentId + '"></div>' +
'</div></div></div></section></article></div>';
}
else {
html += '<span class="panel-default"><a href="/#/welcome" data-parent="divcomment 4" class="list-group-anchor text-dark d-flex mr-3 font-12 list-item-main-title" onclick="Unibase.Platform.Automation.Components.Comments.Instance().childComments(' + model.CommentId + ');"> ' + parentCount + '</a>' +
'</span></div> <span class="comment-time font-12 text-dark">' + Unibase.Platform.Helpers.DateTimeHelper.Instance().commentsdateformat(model.CreatedDate) + '</span></div>' +
' <div class="bg-white hidden" id = "comments-' + model.CommentId + '" > ' +
'<div id="childcomment-list_' + model.CommentId + '" class="childcomment-list_' + model.CommentId + '"></div>' +
'</div></div></div></section></article></div>';
}
}
CommentId = model.CommentId;
ParentCommentCount = model.ParentCommentCount;
}
$('.allComments_').after(html);
let size_li = $("#divComments_ .comment-addItem").length;
if (size_li >= 5) {
$('#loadMore-Comments').removeClass("d-none");
}
else {
$('#loadMore-Comments').addClass("d-none");
}
instance.commentcount = 5;
$('#divComments_ .comment-addItem:lt(' + instance.commentcount + ')').removeClass("d-none");
$('#loadMore-Comments').click(function () {
instance.commentcount = (instance.commentcount + 5 <= size_li) ? instance.commentcount + 5 : size_li;
$('#divComments_ .comment-addItem:lt(' + instance.commentcount + ')').removeClass("d-none");
debugger;
if (instance.commentcount == size_li) {
$('#loadMore-Comments').addClass("d-none");
instance.commentcount = 0;
}
});
instance.toGetReplyCountByParentId(CommentId, ParentCommentCount);
}, function (response) {
});
});
}
addComments() {
var html = "";
$('#divComments_').append(html);
$('#divComments_').append(`<div class="d-flex align-items-center justify-content-center click-more-btn"><div id="loadMore-Comments" class="btn btn-sm btn-success d-none">More</div></div>`);
}
toGetReplyCountByParentId(Id, Count) {
var ParentId = Id;
var ParentCommentCount = Count;
if (ParentId != 0) {
Unibase.Platform.Automation.Managers.CommentManager.Instance().getCommentsByParentId(ParentId).then(function (response) {
for (var i = 0; i < response.result.length; i++) {
ParentCommentCount = ParentCommentCount + response.result[i].ParentCommentCount;
if (ParentCommentCount != 0) {
$('.toGetReplyCountByParentId' + ParentId).text('Replies');
$('#Reply_' + ParentId).text(`(${ParentCommentCount})`);
}
else {
$('.toGetReplyCountByParentId' + ParentId).text('Reply');
$('#Reply_' + ParentId).text(``);
}
}
});
}
}
saveComment() {
var instance = this;
let size_li = $("#divComments_ .comment-addItem").length;
if (size_li >= 5) {
$('#loadMore-Comments').removeClass("d-none");
}
if ($('.txtnewComment_').val().toString().trim() == null || $('.txtnewComment_').val().toString().trim() == "") {
MessageHelper.Instance().showError("Please Enter Something...", "div_message");
return false;
}
var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
var refGuid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_versionguid").Value;
var postData = {
CommentId: 0,
RefGuid: refGuid,
CommentSubject: $(".txtnewComment_").val().toString().trim(),
CommentType: Unibase.Platform.Automation.Enums.CommentType.Comment,
Followers: null,
InstallPageId: Unibase.Themes.Providers.DetailHelper.installedAppId,
ParentId: 0
};
Unibase.Platform.Automation.Managers.CommentManager.Instance().saveComment(postData).then(function (response) {
var CommentId = response.result.CommentId;
$(".txtnewComment_").val(" ");
$("#Notifications_txtActivities").val(' ');
$("#childcomment-list_" + CommentId).html(' ');
instance.loadComments();
instance.childComments(CommentId, undefined, true);
});
}
childComments(commentId, parentid, fromsendbtn) {
Unibase.Platform.Automation.Managers.CommentManager.Instance().getCommentsByParentId(commentId).then(function (response) {
if (parentid == undefined) {
var html = '<div class="wrapper-sm childcomment-item_' + commentId + '">' +
'<form><div class="d-flex border-bottom border-light-50 bg-white w-85 ">' +
'<input type="text" id="commentTextBox_' + commentId + '" class="w-100 border-0 outline-0 commentTextBox txtnewComment_' + commentId + '" placeholder="Type Comments here...." oninput="Unibase.Platform.Automation.Components.Comments.Instance().enableSendbtn(event,' + commentId + ')">' +
'<div class="comment-btn-wrapper mb-1">' +
'<a href="/#/welcome" id="commentPostButton_' + commentId + '"class="list-group-anchor btn btn-icon btn-xs rounded" onclick="Unibase.Platform.Automation.Components.Comments.Instance().addChildCommentsforChildComments(' + commentId + ',' + commentId + ',true);"><span class="btn-icon-wrap"><button class="btn btn-white fa fa-paper-plane-o mt-5 p-0 text-disabled commentSendBtn"></button></span></a></span></div>' +
'</div></form>' +
'</div>';
}
else {
if (!fromsendbtn || fromsendbtn && $('.childcomment-item_' + commentId + '').hasClass('ml-35')) {
var html = '<div class="ml-35 childcomment-item wrapper-sm childcomment-item_' + commentId + '">';
}
else if (fromsendbtn && !$('.childcomment-item_' + commentId + '').hasClass('ml-35')) {
var html = '<div class="childcomment-item wrapper-sm childcomment-item_' + commentId + '">';
}
html += '<form><div class="d-flex border-bottom border-light-50 bg-white w-85 ml-35">' +
'<input type="text" id="commentTextBox_' + commentId + '" class="w-100 border-0 outline-0 commentTextBox txtnewComment_' + commentId + '" placeholder="Type Comments here...." oninput="Unibase.Platform.Automation.Components.Comments.Instance().enableSendbtn(event,' + commentId + ')">' +
'<div class="comment-btn-wrapper mb-1">' +
'<a href="/#/welcome" id="commentPostButton_' + commentId + '"class="btn btn-icon btn-xs rounded" onclick=" Unibase.Platform.Automation.Components.Comments.Instance().addChildCommentsforChildComments(' + commentId + ',' + parentid + ',true);"><span class="btn-icon-wrap"><button class="btn btn-white fa fa-paper-plane-o mt-5 p-0 text-disabled commentSendBtn"></button></span></a></span></div>' +
'</div></form>' +
'</div>';
}
if (response.result != null)
for (var i = response.result.length - 1; i >= 0; i--) {
var model = response.result[i];
var parentCount = `<span class="pr-1 toGetReplyCountByParentId${model.CommentId}">Replies</span>`;
parentCount += `<span id="Reply_${model.CommentId}"> (${model.ParentCommentCount}) </span>`;
if (model.ParentCommentCount == 0) {
parentCount = `<span class="pr-1 toGetReplyCountByParentId${model.CommentId}">Reply</span>`;
parentCount += `<span id="Reply_${model.CommentId}"></span>`;
}
var commentIcon = "";
var bgcolor = "";
var CommImage = "";
if (model.FromUserPhotoUrl == null || model.FromUserPhotoUrl == "") {
let avatarTxt = "";
let headingTxt = model.FromUserName;
let matches = headingTxt.match(/\b(\w)/g);
if (matches.length == 1) {
avatarTxt = $.trim(headingTxt).substr(0, 2);
}
else {
avatarTxt = matches.join('').slice(0, 2);
}
CommImage = `<h5 class="biz-primary-text-color font-12">${avatarTxt}</h5>`;
}
else {
let imgsrc = model.FromUserPhotoUrl;
let srcSplit = imgsrc.split('/');
if (srcSplit[srcSplit.length - 1] == 'unnamed.png') {
let avatarTxt = "";
let headingTxt = model.FromUserName;
let matches = headingTxt.match(/\b(\w)/g);
if (matches.length == 1) {
avatarTxt = $.trim(headingTxt).substr(0, 2);
}
else {
avatarTxt = matches.join('').slice(0, 2);
}
CommImage = `<h5 class="biz-primary-text-color font-12">${avatarTxt}</h5>`;
}
else {
CommImage = `<img src="${model.FromUserPhotoUrl}" data-dynamic="1" onerror="ReloadImage(event)" class="avatar-img img-fluid rounded-circle font-11" alt="img">`;
}
}
var deletehtml = '';
if (model.CreatedBy == Unibase.Platform.Automation.Components.Comments.Instance().currentuser.userId) {
deletehtml = '<div class="d-flex align-items-center"> <span class="mr-10"><a href="/#/welcome" onclick="Unibase.Platform.Automation.Components.Comments.Instance().deleteComment(' + model.CommentId + ',' + commentId + ',' + parentid + ',1);"> <span class="btn-icon-wrap"> <i class="fa fa-trash-o text-danger font-16"> </i></span> </a>' +
'</span></div>';
}
bgcolor = "text-warning";
$("#hfAssignedFollowers").val(model.AssignedFollowers);
if (window.innerWidth <= 1198) {
var innerhtml = '<div class="wrapper-sm mt-10 childcomment-item_' + commentId + '">' +
'<section class="comment-body"><div class="comment-body-wrapper d-flex justify-content-between">' +
'<div class="comment-user-img"><div class="avatar biz-detail-avatar biz-highlight-color" style="width: 25px !important;height: 25px !important;">' + CommImage + '</div></div>' +
'<div class="comment-details-wrapper ml-1" style="flex-grow:2"><div class="comment-user-details"><div class="comment-username"><div class="d-flex align-items-center justify-content-between"><h6 class="font-12 biz-highlight-bg-color mr-5 commentusername_' + commentId + '">' + model.FromUserName + '</h6>' + deletehtml + '</div><div class="comment-text mt-1 w-sm-80 mb-5 text-dark font-11"><span>' + model.CommentSubject + '</span></div><div class="commentChild-statsContainer d-flex align-items-center text-dark justify-content-end flex-row-reverse"> ' +
'<div class="comment-extra-details">' +
'<span class="comment-time font-11 1"> ' + Unibase.Platform.Helpers.DateTimeHelper.Instance().commentsdateformat(model.CreatedDate) + '</span>' +
'</div>';
}
else {
var innerhtml = '<div class="wrapper-sm mt-10 childcomment-item_' + commentId + '">' +
'<section class="comment-body"><div class="comment-body-wrapper d-flex justify-content-between">' +
'<div class="comment-user-img"><div class="avatar biz-detail-avatar biz-highlight-color" style="width: 25px !important;height: 25px !important;">' + CommImage + '</div></div>' +
'<div class="comment-details-wrapper ml-1" style="flex-grow:2"><div class="comment-user-details"><div class="comment-username"><div class="d-flex align-items-center justify-content-between"><h6 class="font-14 biz-highlight-bg-color mr-5 commentusername_' + commentId + '">' + model.FromUserName + '</h6>' + deletehtml + '</div><div class="comment-text mt-1 w-sm-80 mb-5 text-dark font-14"><span>' + model.CommentSubject + '</span></div><div class="commentChild-statsContainer d-flex align-items-center text-dark justify-content-end flex-row-reverse"> ' +
'<div class="comment-extra-details">' +
'<span class="comment-time font-12 1"> ' + Unibase.Platform.Helpers.DateTimeHelper.Instance().commentsdateformat(model.CreatedDate) + '</span>' +
'</div>';
}
if (parentid == undefined) {
innerhtml += '<div class="comment-reply-wrapper mr-3"><span class="panel-default"><a href="/#/welcome" data-parent="divcomment" class="list-group-anchor text-dark d-flex p-0 font-12 list-item-main-title repli_data" onclick=" Unibase.Platform.Automation.Components.Comments.Instance().childComments(' + model.CommentId + ',' + commentId + ');"> ' + parentCount + '</a>' +
'</span></div>' +
'</div> </div></section><div class="bg-white hidden" id = "comments-' + model.CommentId + '" > ' +
'<div id="childcomment-list_' + model.CommentId + '" class="childcomment-list_' + model.CommentId + '"></div>' +
'</div></</div>';
}
else {
innerhtml += '<div class="comment-reply-wrapper mr-3"><span class="panel-default"><a href="/#/welcome" data-parent="divcomment" class="p-0 list-group-anchor text-dark d-flex pl-0 font-12 list-item-main-title repli_data" onclick=" Unibase.Platform.Automation.Components.Comments.Instance().childComments(' + model.CommentId + ',' + parentid + ')"> ' + parentCount + '</a>' +
'</span></div>' +
'</div> </div></section><div class="bg-white hidden" id = "comments-' + model.CommentId + '" > ' +
'<div id="childcomment-list_' + model.CommentId + '" class="childcomment-list_' + model.CommentId + '"></div>' +
'</div></</div>';
}
html = html + innerhtml;
}
if (fromsendbtn != true) {
if ($('#comments-' + commentId).hasClass('hidden')) {
$('#comments-' + commentId).removeClass('hidden').addClass('show');
}
else {
$('#comments-' + commentId).removeClass('show').addClass('hidden');
}
}
$("#childcomment-list_" + commentId).html(html);
let userName;
if ($('.toGetReplyCountByParentId' + commentId).parents('.stats_container').length > 0) {
userName = $('.toGetReplyCountByParentId' + commentId).parents('.stats_container').siblings('.comment-user-details').find('.comment-username h6').text().trim();
}
else if ($('.toGetReplyCountByParentId' + commentId).parents('.comment-username').length > 0) {
userName = $('.toGetReplyCountByParentId' + commentId).parents('.comment-username').find('h6').text().trim();
}
$('.txtnewComment_' + commentId).val('@' + userName + ' ');
});
}
addChildCommentsforChildComments(commentId, parentid, fromsendbtn) {
var instance = this;
if ($('.txtnewComment_' + commentId).val() == null || $('.txtnewComment_' + commentId).val() == "") {
MessageHelper.Instance().showError("Please Enter Something...", "bizgaze_SpiltErrorMessages");
return false;
}
var assgflwrs = null;
if ($('#hfAssignedFollowers_' + commentId).val() != null) {
assgflwrs = $('#hfAssignedFollowers_' + commentId).val();
}
var postData = {
CommentId: 0,
RefGuid: $('#hf_ParentCmtVersionGuid_' + parentid).val().toString(),
CommentSubject: $(".txtnewComment_" + commentId).val().toString(),
CommentType: Unibase.Platform.Automation.Enums.CommentType.Comment,
Followers: assgflwrs,
InstallPageId: $("#hfBizgaze_InstalledPageId").val(),
ParentId: commentId,
};
Unibase.Platform.Automation.Managers.CommentManager.Instance().saveComment(postData).then(function (response) {
$(".txtnewComment_" + commentId).val(" ");
instance.childComments(commentId, parentid, fromsendbtn);
instance.toGetReplyCount(commentId, parentid);
});
}
deleteComment(commentId, parentCommentId, SuperParentCmtId, IsChild) {
var instance = this;
bootbox.confirm("Are you sure want to delete?", function (result) {
if (result) {
Unibase.Platform.Automation.Managers.CommentManager.Instance().deleteComment(commentId).then(function (response) {
MessageHelper.Instance().showSuccess(response.message, '');
if (IsChild == 0) {
instance.loadComments();
}
else {
instance.childComments(parentCommentId, SuperParentCmtId, true);
}
instance.toGetReplyCount(parentCommentId);
});
}
});
}
toGetReplyCount(Id, parentId) {
var CommentId = Id;
var ParentCommentCount = 0;
if (CommentId != 0) {
Unibase.Platform.Automation.Managers.CommentManager.Instance().getCommentByCommentId(CommentId).then(function (response) {
ParentCommentCount = ParentCommentCount + response.result.ParentCommentCount;
if (ParentCommentCount != 0) {
$('.toGetReplyCountByParentId' + CommentId).text('Replies');
$('#Reply_' + CommentId).text(`(${ParentCommentCount})`);
}
else {
$('.toGetReplyCountByParentId' + CommentId).text('Reply');
$('#Reply_' + CommentId).text(``);
}
CommentId = response.result.ParentId;
});
}
}
enableSendbtn(e, id) {
let input = $('#commentTextBox_' + id);
let btn = $('#commentPostButton_' + id).find('.commentSendBtn');
if (input.val().length > 0) {
btn.removeClass('text-disabled').addClass('text-primary');
}
else {
btn.removeClass('text-primary').addClass('text-disabled');
}
}
static Instance() {
if (this.instance == undefined) {
this.instance = new Comments();
}
return this.instance;
}
}
Components.Comments = Comments;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,255 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class Conditions {
getConditions() {
let html = `<form id="frmUnibase_Condition" data-validate="parsley" data-isdynamic="false">
<div class="row">
<label class="col-sm-4">Attribute Name</label>
<label class="col-sm-4">Condition</label>
<label class="col-sm-4">Value</label>
</div>
<div class="row">
<div class="col-sm-4 mt-5">
<select id="ddl_Action_PropertyName" class="form-control value-control" data-isdynamic="true">
<option value="">Select</option>
</select>
<input type="hidden" id="hf_Action_PropertyName">
</div>
<div class="col-sm-4 mt-5">
<select id="ddl_Action_Operator" class="form-control value-control" data-isdynamic="true">
<option value="0">Select</option>
<option value="1">Equals</option>
<option value="2">NotEquals</option>
<option value="3">EqualsColumn</option>
<option value="4">NotEqualsColumn</option>
<option value="5">GreaterThan</option>
<option value="6">GreaterThanOrEquals</option>
<option value="7">LessThan</option>
<option value="8">LessThanOrEquals</option>
<option value="9">GreaterThanColumn</option>
<option value="10">GreaterThanOrEqualsColumn</option>
<option value="11">LessThanColumn</option>
<option value="12">LessThanOrEqualsColumn</option>
<option value="13">Empty</option>
<option value="14">NotEmpty</option>
<option value="15">Contains</option>
<option value="16">DoesNotContains</option>
<option value="17">StartsWith</option>
<option value="18">EndsWith</option>
<option value="19">In</option>
<option value="20">NotIn</option>
<option value="21">Between</option>
<option value="22">NotBetween</option>
<option value="23">Date</option>
</select>
<input type="hidden" id="hf_Action_Operator">
</div>
<div class="col-sm-3 mt-5">
<input type="text" id="txt_Action_Value" class="form-control value-control floating-label-control" placeholder="Enter Value"/>
<input type="hidden" id="hf_Action_Value" />
</div>
<div class="col-sm-1 pull-right mt-5">
<span class="pull-right">
<a id="" title="Create" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().AddActionCondition();">
<i class="fa fa-plus"></i>
</a>
</span>
</div>
</div>
<div class="row mt-10" id="AddActionCondition">
</div>
</form>`;
return html;
}
AddActionCondition() {
Unibase.Platform.Automation.Components.Conditions.conflag = 0;
var html = "";
if (!Unibase.Platform.Automation.Components.Conditions.concount) {
Unibase.Platform.Automation.Components.Conditions.conlen = Unibase.Platform.Automation.Components.Conditions.conlen + 1;
}
else {
Unibase.Platform.Automation.Components.Conditions.conlen = Unibase.Platform.Automation.Components.Conditions.concount;
}
var attributeId = $('#ddl_Action_PropertyName :selected').val();
var attributeName = $('#ddl_Action_PropertyName :selected').text();
var conditionId = $('#ddl_Action_Operator :selected').val();
var conditionName = $('#ddl_Action_Operator :selected').text();
var value = $("#txt_Action_Value").val();
var RuleConditionId = 0;
html += '<div class="ActionConditionrow col-sm-12" id="row_' + Unibase.Platform.Automation.Components.Conditions.conlen + '">' +
'<label id="PropertyName_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + $("#ddl_Action_PropertyName :selected").text() + '</label>' +
'<label id="Operator_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + $("#ddl_Action_Operator :selected").text() + '</label>' +
'<label id="OperatorValue_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + $("#ddl_Action_Operator :selected").val() + '</label>' +
'<label id="Value_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-3">' + $("#txt_Action_Value").val() + '</label>' +
'<label id="hf_RuleConditionId_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + RuleConditionId + '</label>' +
'<span class="pull-right">' +
'<a id="btnEdit_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().EditRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ');">' +
' <i class="fa fa-pencil mr-5"></i>' +
'</a>' +
'<a id="btn_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().DeleteRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ');">' +
' <i class="fa fa-trash text-danger"></i>' +
'</a>' +
'</span>' +
'<div>';
if ($("#ddl_Action_PropertyName").val() != "0" && $("#ddl_Action_Operator").val() != "0" && $("#txt_Action_Value").val()) {
if (Unibase.Platform.Automation.Components.Conditions.conlen != 1) {
for (var i = 0; i < Unibase.Platform.Automation.Components.Conditions.conditionArray.length; i++) {
if ($("#ddl_Action_PropertyName :selected").text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[i].AttributeName && $("#ddl_Action_Operator :selected").text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[i].ConditionName && $("#txt_Action_Value").val() == Unibase.Platform.Automation.Components.Conditions.conditionArray[i].Value) {
Unibase.Platform.Automation.Components.Conditions.conflag = 1;
Unibase.Platform.Automation.Components.Conditions.conlen = Unibase.Platform.Automation.Components.Conditions.conlen - 1;
MessageHelper.Instance().showError("Already Exists", "Unibase_Actions_ValidationSummary");
return false;
}
}
}
if (Unibase.Platform.Automation.Components.Conditions.conflag == 0) {
$("#AddActionCondition").append(html);
Unibase.Platform.Automation.Components.Conditions.concount = 0;
$("#ddl_Action_PropertyName").val("0");
$("#ddl_Action_Operator").val("0");
$("#txt_Action_Value").val("");
Unibase.Platform.Automation.Components.Conditions.conflag = 0;
Unibase.Platform.Automation.Components.Conditions.conditionArray.push({ AttributeName: attributeName, ConditionName: conditionName, Value: value });
}
}
else {
Unibase.Platform.Automation.Components.Conditions.conlen = Unibase.Platform.Automation.Components.Conditions.conlen - 1;
MessageHelper.Instance().showError("Required fields are not provided", "Unibase_Actions_ValidationSummary");
}
}
EditRow(conlen) {
$("#ddl_Action_PropertyName").val($("#PropertyName_" + conlen + "").text());
$("#ddl_Action_Operator").val($("#OperatorValue_" + conlen + "").text());
$("#txt_Action_Value").val($("#Value_" + conlen + "").text());
$("#hfActionConditionId").val($("#hf_RuleConditionId_" + conlen + "").text());
$('#row_' + conlen + '').remove();
Unibase.Platform.Automation.Components.Conditions.concount = conlen;
for (var key in Unibase.Platform.Automation.Components.Conditions.conditionArray) {
if ($("#ddl_Action_PropertyName :selected").text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[key].AttributeName && $("#ddl_Action_Operator :selected").text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[key].ConditionName && $("#txt_Action_Value").val() == Unibase.Platform.Automation.Components.Conditions.conditionArray[key].Value) {
Unibase.Platform.Automation.Components.Conditions.conditionArray.splice(Number(key), 1);
break;
}
}
}
DeleteRow(conlen, RuleConditionId) {
for (var row in Unibase.Platform.Automation.Components.Conditions.conditionArray) {
if ($("#PropertyName_" + Unibase.Platform.Automation.Components.Conditions.conlen).text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[row].AttributeName && $("#Operator_" + Unibase.Platform.Automation.Components.Conditions.conlen).text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[row].ConditionName && $("#Value_" + Unibase.Platform.Automation.Components.Conditions.conlen).text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[row].Value) {
break;
}
}
$('#row_' + Unibase.Platform.Automation.Components.Conditions.conlen + '').remove();
}
AddConditionArray() {
let myarray = [];
$(".ActionConditionrow").each(function () {
let conditionobj = {};
let id = $(this).find(".EventKeys");
let len = (id.prevObject[0].id).split('_');
len = len[1];
conditionobj.RuleConditionId = Number($(this).find("#hf_RuleConditionId_" + len + "").text());
conditionobj.RuleId = 0;
conditionobj.PropertyName = $(this).find("#PropertyName_" + len + "").text();
conditionobj.OperatorType = $(this).find("#Operator_" + len + "").text();
conditionobj.FromValue = $(this).find("#Value_" + len + "").text();
conditionobj.ToValue = $(this).find("#Value_" + len + "").text();
conditionobj.RuleActionId = 0;
myarray.push(conditionobj);
});
return myarray;
}
LoadConditions(ruleid, ruleactionid) {
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
Unibase.Platform.Automation.Components.Conditions.conlen = 0;
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleActionConditions(ruleid, ruleactionid).then(function (response) {
for (var i = 0; i < response.length; i++) {
var html = "";
let operatortype = Unibase.Platform.Automation.Enums.ExpOp[response[i].OperatorId];
Unibase.Platform.Automation.Components.Conditions.conlen = i + 1;
html += '<div class="ActionConditionrow col-sm-12" id="row_' + Unibase.Platform.Automation.Components.Conditions.conlen + '">' +
'<label id="PropertyName_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + response[i].PropertyName + '</label>' +
'<label id="Operator_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + operatortype + '</label>' +
'<label id="OperatorValue_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + response[i].OperatorId + '</label>' +
'<label id="Value_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-3">' + response[i].FromValue + '</label>' +
'<label id="hf_RuleConditionId_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + response[i].RuleConditionId + '</label>' +
'<span class="pull-right">' +
'<a id="btnEdit_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().EditRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ');">' +
' <i class="fa fa-pencil mr-5"></i>' +
'</a>' +
'<a id="btn_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().DeleteRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ',' + response[i].RuleConditionId + ');">' +
' <i class="fa fa-trash text-danger"></i>' +
'</a>' +
'</span>' +
'<div>';
Unibase.Platform.Automation.Components.Conditions.conditionArray.push({ AttributeName: response[i].PropertyName, ConditionName: response[i].Operatortype, Value: response[i].FromValue });
$("#AddActionCondition").append(html);
Unibase.Platform.Automation.Components.Conditions.isCreate = 1;
}
});
}
LoadConditionProperties(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('ddl_Action_PropertyName');
$('#ddl_Action_PropertyName').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
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 = response[i];
cmbConditionProperties.appendChild(opt);
}
});
}
LoadConditionsData(ConditionsData) {
if (ConditionsData.length != 0) {
Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
Unibase.Platform.Automation.Components.Conditions.conlen = 0;
for (var i = 0; i < ConditionsData.length; i++) {
var html = "";
let operatortype = Unibase.Platform.Automation.Enums.ExpOp[ConditionsData[i].OperatorType];
Unibase.Platform.Automation.Components.Conditions.conlen = i + 1;
html += '<div class="ActionConditionrow col-sm-12" id="row_' + Unibase.Platform.Automation.Components.Conditions.conlen + '">' +
'<label id="PropertyName_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + ConditionsData[i].PropertyName + '</label>' +
'<label id="Operator_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + operatortype + '</label>' +
'<label id="OperatorValue_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + ConditionsData[i].OperatorType + '</label>' +
'<label id="Value_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-3">' + ConditionsData[i].FromValue + '</label>' +
'<label id="hf_RuleConditionId_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + ConditionsData[i].RuleConditionId + '</label>' +
'<span class="pull-right">' +
'<a id="btnEdit_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().EditRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ');">' +
' <i class="fa fa-pencil mr-5"></i>' +
'</a>' +
'<a id="btn_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().DeleteRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ',' + ConditionsData[i].RuleConditionId + ');">' +
' <i class="fa fa-trash text-danger"></i>' +
'</a>' +
'</span>' +
'<div>';
Unibase.Platform.Automation.Components.Conditions.conditionArray.push({ AttributeName: ConditionsData[i].PropertyName, ConditionName: ConditionsData[i].Operatortype, Value: ConditionsData[i].FromValue });
$("#AddActionCondition").append(html);
Unibase.Platform.Automation.Components.Conditions.isCreate = 1;
}
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Conditions();
}
return this.instance;
}
}
Conditions.conlen = 0;
Conditions.conditionArray = [];
Conditions.isCreate = 0;
Conditions.conflag = 0;
Components.Conditions = Conditions;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,254 @@
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 ContactSelection {
constructor() {
this.RecipientProviders = [];
}
init(rpid) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().loadRecipients();
Unibase.Platform.Automation.Components.ContactSelection.Instance().LoadContactColumns(rpid);
return Unibase.Platform.Automation.Components.ContactSelection.Instance().html();
}
loadRecipients() {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRecipientProviders().then(function (response) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().RecipientProviders = response;
for (var i = 0; i <= response.length - 1; i++) {
let html = '';
html += '<div class="col-sm-6 recipient"><div id="div_' + response[i].RecipientName + '" class="floating-label-form-group-with-value floating-validate" style="border-bottom:0;"><label for= "lbl" id = "lbl_' + response[i].RecipientName + '" >' + response[i].DisplayName + '</label ><label class="hidden propname">' + response[i].ColumnName + '</label><label class="hidden recipientname">' + response[i].RecipientName + '</label>' +
'<input type="hidden" id="hdnselect2_' + response[i].RecipientName + '" class="value-control" value="0">' +
'<select id="select2_' + response[i].RecipientName + '" class="type-control select2_' + response[i].RecipientName + ' form-control text-control" multiple="multiple" style="width:100%;"></select>' +
'</div></div>';
$(".recipients").append(html);
let selectid = "select2_" + response[i].RecipientName + "";
let selectlable = response[i].DisplayName;
let recipientProviderid = response[i].RecipientProviderId;
Unibase.Platform.Automation.Components.ContactSelection.Instance().RecipientsData(selectid, selectlable, recipientProviderid);
}
});
});
}
html() {
let html = `<div class="row recipients">
</div>
<div class="row mt-10" id="contactcolumns" >
</div>
<div class="row mt-10" id="secondarycontactcolumns" >
<div class="col-sm-12">Secondary Contacts:-</div>
</div>`;
return html;
}
RecipientsData(selectid, selectlable, recipientProviderid) {
return __awaiter(this, void 0, void 0, function* () {
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/RecipientsAutoComplete/RecipientProviderId/' + recipientProviderid;
return yield AutoCompleteHelper.getHelper().Create("#" + selectid, "hdn" + selectid, url, function (response) {
var data = response;
});
});
}
GetRecipients() {
var obj = new Object();
$(".recipient").each(function () {
let id = $(this).find(".recipient");
let index = (id.prevObject[0].id).split('_');
index = index[1];
let propname = $(this).find(".propname").text();
let recipientname = $(this).find(".recipientname").text();
let selectid = "select2_" + recipientname + "";
let recipients = Unibase.Platform.Automation.Components.ContactSelection.Instance().getSelectedRecipients(selectid);
obj[propname] = recipients;
});
return obj;
}
BindRecipients(ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
var recipientproviders = Unibase.Platform.Automation.Components.ContactSelection.Instance().RecipientProviders;
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getActionRecipient(ruleactionid).then(function (response) {
for (var i = 0; i < recipientproviders.length; i++) {
let recipients = response[recipientproviders[i].ColumnName];
let IdColumn = recipientproviders[i].IdColumn;
let RecipientProviderId = Number(recipientproviders[i].RecipientProviderId);
Unibase.Platform.Automation.Components.ContactSelection.Instance().BindRecipientOptions(RecipientProviderId, recipients, IdColumn, recipientproviders[i].RecipientName);
}
if (response.ExternalRecipients != undefined && response.ExternalRecipients != null) {
Unibase.Platform.Automation.Components.ContactSelection.Instance().BindExternalRecipients(response.ExternalRecipients);
}
});
});
}
BindExternalRecipients(externalrecipients) {
var recipients = externalrecipients.split("|");
for (let i = 0; i < recipients.length; i++) {
$("#chkreportcolumns_" + recipients[i]).prop("checked", true);
}
}
BindRecipientOptions(RecipientProviderId, recipients, IdColumn, RecipientName) {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getSelectedRecipientsData(RecipientProviderId, recipients, IdColumn).then(function (response) {
if (response != "" && response.result.length > 0) {
var Result = response.result;
for (var j = 0; j < Result.length; j++) {
var recipient = Result[j];
var newOption = new Option(recipient.AutoCompleteTextColumn, recipient.AutoCompleteIdColumn, true, true);
$("#select2_" + RecipientName + "").append(newOption).trigger('change');
}
}
});
});
}
getSelectedRecipients(selectid) {
let Recipientcount = new Array();
Recipientcount = $('#' + selectid).val();
let Recipient = "";
for (var i = 0; i < Recipientcount.length; i++) {
Recipient += "|" + Recipientcount[i];
}
if (Recipient != "")
Recipient += "|";
return Recipient;
}
LoadContactColumns(rpid) {
return __awaiter(this, void 0, void 0, function* () {
let ruleproviderid = rpid;
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getContactColumns(ruleproviderid).then(function (response) {
if (response != null) {
for (let i = 0; i <= response.length - 1; i++) {
let html = '';
let secondaryhtml = '';
html += '<div class="col-sm-3"><div class="custom-control custom-checkbox divEnablePieces checkbox-primary"><input type="checkbox" class="type-control custom-control-input" id="chk_' + response[i] + '" name="Contactcolumns" onclick="' + onclick + '"><label class="custom-control-label" for="chk_' + response[i] + '">' + response[i] + '</label><span></span>&nbsp</div></div>';
secondaryhtml += '<div class="col-sm-3"><div class="custom-control custom-checkbox divEnablePieces checkbox-primary"><input type="checkbox" class="type-control custom-control-input" id="chk_sec_' + response[i] + '" name="SecondaryContactcolumns" onclick="' + onclick + '"><label class="custom-control-label" for="chk_sec_' + response[i] + '">' + response[i] + '</label><span></span>&nbsp</div></div>';
$("#contactcolumns").append(html);
$("#secondarycontactcolumns").append(secondaryhtml);
}
}
});
});
}
getContactColumns() {
var contactcolumns = "";
$.each($("input[name='Contactcolumns']:checked"), function () {
var Contact = $(this).parents("label");
Contact = Contact.prevObject[0].labels[0].innerText;
contactcolumns += "|" + Contact;
});
if (contactcolumns != "")
contactcolumns += "|";
return contactcolumns;
}
getSecondaryContactColumns() {
var contactcolumns = "";
$.each($("input[name='SecondaryContactcolumns']:checked"), function () {
var Contact = $(this).parents("label");
Contact = Contact.prevObject[0].labels[0].innerText;
contactcolumns += "|" + Contact;
});
if (contactcolumns != "")
contactcolumns += "|";
return contactcolumns;
}
CheckContactColumns(Users) {
if (Users != null)
var contacts = Users.split("|");
for (var i = 0; i < contacts.length; i++) {
if (contacts[i] != "") {
var id = contacts[i];
$('#chk_' + id + '').prop("checked", true);
}
}
}
CheckSecondaryContactColumns(Users) {
if (Users != null)
var contacts = Users.split("|");
for (var i = 0; i < contacts.length; i++) {
if (contacts[i] != "") {
var id = contacts[i];
$('#chk_sec_' + id + '').prop("checked", true);
}
}
}
loadexternalreportcolumns() {
return __awaiter(this, void 0, void 0, function* () {
var html = '';
var reportid = $(' option:selected').val();
Unibase.Platform.Automation.Managers.RuleManager.Instance().getExternalContactsFromReport(reportid).then(function (response) {
if (response != null) {
$('.external_reportcolumns').html('');
for (let i = 0; i < response.length; i++) {
html += '<input type="checkbox" class="chkreportcolumns_' + response.Displayindex + '">';
}
$('.external_reportcolumns').html(html);
}
});
});
}
getResultActions(ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getResultActions(ruleactionid).then(function (response) {
if (response != null) {
$(".ResultActions").removeClass("hidden");
let cmbRActions = document.getElementById('ddl_ResultAction');
$('#ddl_ResultAction').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
defaultOpt1.value = "0";
cmbRActions.appendChild(defaultOpt1);
for (let i = 0; i <= response.length - 1; i++) {
var opt = document.createElement("option");
opt.text = response[i].EventName;
opt.value = response[i].EventId.toString();
cmbRActions.appendChild(opt);
}
$("#ddlResultAction").val($("#hf_ResultAction").val());
}
});
});
}
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(".ActionConditions").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 ContactSelection();
}
return this.instance;
}
}
Components.ContactSelection = ContactSelection;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,212 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class EventTemplate extends Platform.Core.BaseComponent {
jsFiles() {
return ["platform/automation/managers/rulemanager.js"];
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_EventTemplate" 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="">Create EventTemplate</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="EventTemplates">
<div id="unibase_ValidationSummary" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
DocType<span class="text-danger">*</span>
<select id="Doctype_AutoComplete" class="required form-control value-control" data-isdynamic="true">
<option value="0">Select</option>
<option value="1">OrderEntity</option>
</select>
<input type="hidden" id="hf_DocType" />
</div>
<div class="col-sm-6">
DocType Columns<span class="text-danger">*</span>
<select id="DocTypeColumns_AutoComplete" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_DocTypeColumns" />
</div>
</div>
</div>
</div>
<div class="bg-white card" id="TemplateKeys">
<div class="card-header">Event Template</div>
<div class="card-body">
<div class="row">
<div class="col-sm-10"><input type="text" id="Template" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>
<div class="col-sm-2" id="AddKey">
<span class="pull-right">
<a id="" title="Create" onclick="Unibase.Platform.Automation.Components.EventTemplate.Instance().AddKey();">
<i class="fa fa-plus"></i>
</a>
</span>
</div>
</div>
<hr />
<div class="row mt-10" id="AddKeys">
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateEventTemplateFooter">
<button id="btnCloseEventTemplate" class="btn btn-secondary btn-sm mr-auto">Close</button>
<button id="btnSaveEventTemplate" class="btn btn-primary btn-sm pull-right">Save</button>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
$("#btnCloseEventTemplate").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btnSaveEventTemplate").click(function () {
EventTemplate.Instance().SaveEventTemplate();
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#Doctype_AutoComplete").change(function () {
if ($("#Doctype_AutoComplete option:selected").text() == "OrderEntity") {
let cmbEventColomns = document.getElementById('DocTypeColumns_AutoComplete');
$('#DocTypeColumns_AutoComplete').empty();
var defaultOpt = document.createElement("option");
defaultOpt.text = "Select";
defaultOpt.value = "0";
cmbEventColomns.appendChild(defaultOpt);
for (let i = 0; i <= Unibase.Platform.Automation.Components.EventTemplate.doctypecolumnArray.length - 1; i++) {
var opt = document.createElement("option");
opt.text = Unibase.Platform.Automation.Components.EventTemplate.doctypecolumnArray[i];
opt.value = "" + i + 1 + "";
cmbEventColomns.appendChild(opt);
}
}
});
$("#DocTypeColumns_AutoComplete").change(function () {
$("#Template").text("");
if ($("#DocTypeColumns_AutoComplete option:selected").text() == "OrgContactId") {
$("#Template").val("Order ContactName Changed From {{Key1}} To {{Key2}}");
}
else if ($("#DocTypeColumns_AutoComplete option:selected").text() == "BillingAddressId") {
$("#Template").val("Order BillingAddressName Changed From {{Key1}} To {{Key2}}");
}
else if ($("#DocTypeColumns_AutoComplete option:selected").text() == "ShippingAddressId") {
$("#Template").val("Order ShippingAddressName Changed From {{Key1}} To {{Key2}}");
}
});
}
AddKey() {
Unibase.Platform.Automation.Components.EventTemplate.keysflag = 0;
let html = "";
if (!Unibase.Platform.Automation.Components.EventTemplate.keyscount) {
Unibase.Platform.Automation.Components.EventTemplate.keyslen = Unibase.Platform.Automation.Components.EventTemplate.keyslen + 1;
}
else {
Unibase.Platform.Automation.Components.EventTemplate.keyslen = Unibase.Platform.Automation.Components.EventTemplate.keyscount;
}
html += '<div class="EventKeys row col-sm-12" id="row_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '">' +
'<div class="col-sm-2"><input type="text" id="txt_KeyName_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
'<div class="col-sm-3 hidden" id="Report_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"><input type="text" id="txt_Report_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
'<div class="col-sm-3 hidden" id="ReportColumn_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"><input type="text" id="txt_ReportColumn_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
'<div class="col-sm-3"><input type="text" id="txt_Key_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
'<div class="col-sm-1"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" name="Keys" onclick="Unibase.Platform.Automation.Components.EventTemplate.Instance().Cheked(' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + ');" class="custom-control-input" id="chk_Key_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"><label class="custom-control-label" id="lblcontact" for="chk_Key_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"></label></div></div>' +
'<div>';
if (Unibase.Platform.Automation.Components.EventTemplate.keysflag == 0) {
$("#AddKeys").append(html);
$("#txt_KeyName_" + Unibase.Platform.Automation.Components.EventTemplate.keyslen + "").val("Key" + Unibase.Platform.Automation.Components.EventTemplate.keyslen + "");
Unibase.Platform.Automation.Components.EventTemplate.keyscount = 0;
Unibase.Platform.Automation.Components.EventTemplate.keysflag = 0;
}
else {
Unibase.Platform.Automation.Components.EventTemplate.keyslen = Unibase.Platform.Automation.Components.EventTemplate.keyslen - 1;
}
}
Cheked(KeyNum) {
if ($("#chk_Key_" + KeyNum + "").prop("checked") == true) {
$("#Report_" + KeyNum + "").removeClass("hidden");
$("#ReportColumn_" + KeyNum + "").removeClass("hidden");
}
else {
$("#Report_" + KeyNum + "").addClass("hidden");
$("#ReportColumn_" + KeyNum + "").addClass("hidden");
}
}
AddKeysData() {
let myarray = [];
$(".EventKeys").each(function () {
let templatekeys = {};
let id = $(this).find(".EventKeys");
let len = (id.prevObject[0].id).split('_');
len = len[1];
templatekeys.TemplateKeyId = 0;
templatekeys.TemplateId = 0;
templatekeys.KeyName = "Key_' + len +'";
templatekeys.ReportId = 0;
templatekeys.ResultColumnId = 0;
templatekeys.ReportColumnId = 0;
templatekeys.DocpropertyId = 0;
myarray.push(templatekeys);
});
return myarray;
}
SaveEventTemplate() {
let tempkey = [];
let keydata = EventTemplate.Instance().AddKeysData();
for (let i = 0; i < keydata.length; i++) {
tempkey.push({
TemplateKeyId: keydata[i].TemplateKeyId,
TemplateId: keydata[i].TemplateId,
KeyName: keydata[i].KeyName,
ReportId: keydata[i].ReportId,
ReportColumnId: keydata[i].ReportColumnId,
ResultColumnId: keydata[i].ResultColumnId,
DocpropertyId: keydata[i].DocpropertyId,
});
}
let tempnote = [];
tempnote.push({
TemplateNoteId: 0,
TemplateId: 0,
NotesText: $("#Template").val().toString(),
LanguageId: 1,
IsSystemGenerated: false
});
var post = {
TemplateId: 0,
EventId: 0,
EventTempKeys: tempkey,
EventTempNotes: tempnote,
EventAliasName: null
};
Automation.Managers.RuleManager.Instance().saveEventTemplate(post).then(function (response) {
var tableData = response;
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new EventTemplate();
}
return this.instance;
}
}
EventTemplate.doctypecolumnArray = ["OrderId", "OrderNo", "RefNo", "Notes", "OrderDate", "OrderTypeId", "VersionGuid", "DueDate", "OrgContactId", "BillingAddressId", "OrderStatusId", "SalesPersonId", "TotalAmount", "SystemNotes", "ShippingAddressId", "BranchId", "LobId", "OrderName", "SuccessProbability", "CloseDate", "RefDate", "OrderModeId", "RefId", "PriceCodeId", "InvoicedDate", "InvoicedBy", "DecidedDate", "DecidedBy", "PriorityOrder", "RecurTenure", "RecurTenureTypeId", "RecurIterations", "Description", "RefOrderId", "ApplicationTypeId", "Volume", "ProformaInvoiceId", "DiscountAmount", "TaxAmount", "AdvanceOrder", "FutureOrder", "TemplateId", "ProposedDeliveryDate", "ExpectedDeliveryDate", "PaymentTermId", "IsTaxInclusive", "InvoiceScheduleId", "ConsultantId", "RefGuid", "CFormNoRequired", "IsExciseSeperate", "FutureOrderDate", "AdvanceOrderDate", "PaymentMethodId", "InventoryApplyType", "ProposedDelivery", "ProposedDeliveryType", "ScrapDiscountAmount", "DiscountPercent", "DiscountValue", "PriceListId", "StatusId", "CreatedDate", "CreatedBy", "LastUpdatedDate", "LastUpdatedBy", "LatId", "LngId", "SourceId", "OwnerId", "RemoteId", "StageId", "StageUpdatedDate", "ReasonId", "TenantId", "IsStockJournal", "Negotiation", "Terms", "HideBomItems", "DeliveryMethodId", "RecurringOpportunity", "IpAddress", "ExpiryDate", "ShipFromAddressId", "SeriesId", "RefOpportunityId", "RefEstimateId", "InstalledAppId", "DeviceId", "OrganizationId"];
EventTemplate.keyslen = 0;
EventTemplate.keysflag = 0;
Components.EventTemplate = EventTemplate;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,425 @@
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 ExecutedActions extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.page_index = 0;
this.page_size = 10;
this.count = 0;
}
cssFiles() {
return [];
}
jsFiles() {
return ["platform/automation/managers/rulemanager.js", "platform/automation/requests/executedaction.js", "apps/communications/managers/sms/smsmanager.js", "libs/jquery/pagination/jquery.pagination.js"];
}
html(id, containerid) {
let html = `<form id="frmUnibase_ActionsData" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<span class="pull-right">
<a class="btn_actionsdata_close pull-right" href="javascript:;">
<i class="fa fa-close"></i>
</a>
</span>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="row">
<table class="table">
<thead>
<tr id="Reminders_Row" class="bg-primary">
<th>S.No</th>
<th>Recipient</th>
<th>Subject</th>
</tr>
</thead>
<tbody class="ActionsDatalist_body"></tbody>
</table>
</div>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
$(".btn_actionsdata_close").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
}
LoadFunctions() {
$("#date_FromDate").daterangepicker({
autoUpdateInput: true,
timePicker: false,
timePicker24Hour: false,
locale: {
format: 'DD/MM/YYYY',
},
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
maxDate: new Date(2050, 11, 31)
});
$("#date_ToDate").daterangepicker({
autoUpdateInput: false,
timePicker: false,
timePicker24Hour: false,
locale: {
format: 'DD/MM/YYYY',
},
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
maxDate: new Date(2050, 11, 31)
});
$('#date_FromDate').on('apply.daterangepicker', function (ev, picker) {
$('#div_FromDate').addClass('floating-label-form-group-with-value');
});
$('#date_ToDate').on('apply.daterangepicker', function (ev, picker) {
$('#div_ToDate').addClass('floating-label-form-group-with-value');
});
$("#Apply_Conditions").click(function () {
$(".ExecutedActionslist").html("");
let obj = new Unibase.Platform.Automation.Requests.ExecutedAction();
let FromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_FromDate").val());
let From_Date = new Date(FromDate);
let ToDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_ToDate").val());
let To_Date = new Date(ToDate);
let zeroactions = $('#chkZeroActions').is(':checked');
let ActionName = $("#txtAutoComplete_Actions option:selected").text();
Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index = 0;
obj.StartDate = From_Date;
obj.EndDate = To_Date;
if (ActionName != "Select") {
obj.ActionTypeName = ActionName;
}
obj.ZeroActions = zeroactions;
Unibase.Platform.Automation.Components.ExecutedActions.Instance().GetExecutedActions(obj);
});
}
init(containerid) {
this.render(containerid).then(function () {
Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadFunctions();
Unibase.Platform.Automation.Components.ExecutedActions.Instance().loadJsFiles();
});
}
loadJsFiles() {
var jsfiles = Unibase.Platform.Automation.Components.ExecutedActions.Instance().jsFiles();
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(jsfiles, function () {
Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadActions();
let obj = new Unibase.Platform.Automation.Requests.ExecutedAction();
var date = new Date();
let fromdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().serverDateformat(date);
let todate = Unibase.Platform.Helpers.DateTimeHelper.Instance().serverDateformat(date) + " 23:59";
$("#date_FromDate").val(fromdate);
$("#date_ToDate").val(todate);
let from_date = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_FromDate").val());
let to_date = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_ToDate").val());
let From_Date = new Date(from_date);
let To_Date = new Date(to_date);
obj.StartDate = From_Date;
obj.EndDate = To_Date;
obj.ActionTypeName = "";
obj.ZeroActions = false;
Unibase.Platform.Automation.Components.ExecutedActions.Instance().GetExecutedActions(obj);
});
}
render(containerid) {
return __awaiter(this, void 0, void 0, function* () {
$("." + containerid).empty();
let html = `<form id="frmUnibase_ExecutedActions" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light">
<div class="b-b bg-white card-header">
<strong class="text-dark title" id="">Executed Actions</strong>
<span class="badge badge-light badge-pill badge-outline span_executedactions_count">0</span>
<span class="pull-right" id="executedactions_angle">
<a class="btn_executedactions_angle" href="javascript:;" onclick="Unibase.Platform.Automation.Components.ExecutedActions.Instance().ToggleExecutedActions()">
<i class="fa fa-angle-down"></i>
<i class="fa fa-angle-up hidden"></i>
</a>
</span>
</div>
<div class="card-body Conditions hidden">
<div class="row">
<div class="col-sm-3">
<div class="floating-label-form-group" id="div_FromDate">
<label for="lbl" id="lbl_FromDate">FromDate</label>
<div class="input-group">
<input type="text" id="date_FromDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="FromDate" data-placeholder="dd/mm/yyyy" data-label="FromDate">
<span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
<input type="hidden" id="hf_FromDate" />
</div>
</div>
</div>
<div class="col-sm-3">
<div class="floating-label-form-group" id="div_ToDate">
<label for="lbl" id="lbl_ToDate">ToDate</label>
<div class="input-group">
<input type="text" id="date_ToDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="ToDate" data-placeholder="dd/mm/yyyy" data-label="ToDate">
<span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
<input type="hidden" id="hf_ToDate" />
</div>
</div>
</div>
<div class="col-sm-2">
<div class="input-group mt-30">
<select id="txtAutoComplete_Actions" class="form-control text-control" style="width:100%;" placeholder="User" data-placeholder="User" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_Actions" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-2">
<div class="custom-control custom-checkbox divEnablePieces checkbox-primary mt-40">
<input type="checkbox" class="custom-control-input" id="chkZeroActions">
<label class="custom-control-label" for="chkZeroActions">Zero Actions</label>&nbsp
</div>
</div>
<div class="col-sm-2">
<button type="button" id="Apply_Conditions" class="btn btn-success mt-30">Apply</button>
</div>
</div>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="row">
<table class="table">
<thead>
<tr class="bg-primary">
<th>Action Name</th>
<th>Action Type</th>
<th>Start Date</th>
<th>End date</th>
<th>Count</th>
</tr>
</thead>
<tbody class="ExecutedActionslist_body"></tbody>
</table>
</div>
</div>
<div class="bg-white card-footer footer" id="ExecutedActionsFooter">
<div class="Div_pagination row col-sm-12 mt-15">
<div class="col-sm-4" id="list_count">
<span id="TotalRecords" class="text-muted">Total : <span id="lblItemTotalRecords" class="lblItemTotalRecords mr-30"></span></span>
</div>
<div class="col-sm-8">
<div id="divpagination" class="pagination custom-pagination pagination-rounded pull-right"></div>
</div>
</div>
</div>
</div>
</form>`;
return yield $("." + containerid).append(html);
});
}
ToggleExecutedActions() {
$("#frmUnibase_ExecutedActions").find(".fa-angle-down").toggleClass("hidden");
$("#frmUnibase_ExecutedActions").find(".fa-angle-up").toggleClass("hidden");
$("#frmUnibase_ExecutedActions").find(".Conditions").toggleClass("hidden");
}
GetExecutedActionsCount() {
Unibase.Platform.Automation.Managers.RuleManager.Instance().ExecutedActions().then(function (response) {
if (response.result.length > 0) {
$(".span_executedactions_count").text(response.result.length);
}
});
}
GetExecutedActions(obj) {
let pageindex = Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index;
let pagesize = Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_size;
obj.PageIndex = Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index;
obj.PageRows = Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_size;
var MultiSelectList = pageindex;
if (pageindex < 1) {
MultiSelectList = 0;
}
else {
MultiSelectList = pageindex;
}
Unibase.Platform.Automation.Managers.RuleManager.Instance().ExecutedActionsList(obj).then(function (response) {
if (response.result.length > 0) {
$('.ExecutedActionslist_body').html('<tr class="ExecutedActionslist hidden"></tr>');
var Count = Unibase.Platform.Automation.Components.ExecutedActions.Instance().count;
var html = "";
var ExecutedActionss = response.result;
for (var i = 0; i < ExecutedActionss.length; i++) {
var ExecutedActions = ExecutedActionss[i];
var ExeActionName = ExecutedActions.RuleActionName;
var ActionType = ExecutedActions.ActionName;
var StartDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTimeWithoutSeconds(ExecutedActions.StartDate);
var EndDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTimeWithoutSeconds(ExecutedActions.EndDate);
var actionname = ExecutedActions.ActionName.replace("Send", "");
html = '<tr><td>' + ExeActionName + '</td><td>' + ActionType + '</td><td>' + StartDate + '</td><td>' + EndDate + '</td><td><a href="javascript:;" onclick="Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadPopoupDetails(\'' + ExecutedActions.ActionName + '\',\'' + ExecutedActions.ExecutedActionId + '\');">' + ExecutedActions.ReminderCount + " " + actionname + 's</a></td></tr>';
$(".ExecutedActionslist:last").before(html);
}
if (ExecutedActionss.length <= 0) {
$(".Div_pagination").hide();
}
else {
$(".Div_pagination").show();
var totalCount = ExecutedActionss[0].TotalRecords;
var startingValue = 0;
var _count = 0;
var t = (Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index + 1) * 10;
if (totalCount > 0) {
startingValue = 1;
_count = totalCount;
}
if (totalCount > t)
_count = t;
if (Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index > 0) {
startingValue += t - 10;
}
var result = startingValue + " - " + _count + " of " + totalCount;
$(".Div_pagination").show();
$(".lblItemTotalRecords").text(result);
var pageEle = $(".Div_pagination").find('#divpagination');
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('libs/jquery/pagination/jquery.pagination.js', function () {
var ele;
ele = $(".Div_pagination").find('#divpagination');
ele.pagination(ExecutedActionss[0].TotalRecords, 10, {
current_page: Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index,
callback: function (page, component) {
Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index = page;
Unibase.Platform.Automation.Components.ExecutedActions.Instance().GetExecutedActions(obj);
}
});
});
}
Unibase.Platform.Automation.Components.ExecutedActions.Instance().page_index = 0;
$(".span_executedactions_count").text(ExecutedActionss[0].TotalRecords);
}
else {
$(".ExecutedActionslist_body").html("No Records Found");
$(".span_executedactions_count").text("0");
}
});
}
LoadPopoupDetails(type, id) {
Unibase.Platform.Helpers.NavigationHelper.Instance().popup(id, "", Unibase.Platform.Automation.Components.ExecutedActions.Instance(), null, Platform.Helpers.Size.DockLeft);
if (type == "Send Notification") {
Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadReminderDetails(id);
}
else if (type == "Send Sms") {
Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadSMSDetails(id);
}
else if (type == "Send Email") {
Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadMailDetails(id);
}
else if (type == "Send Task") {
Unibase.Platform.Automation.Components.ExecutedActions.Instance().LoadTaskDetails(id);
}
else {
return false;
}
}
LoadActions() {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getActions().then(function (response) {
let cmbActions = document.getElementById('txtAutoComplete_Actions');
$('#txtAutoComplete_Actions').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
defaultOpt1.value = "";
cmbActions.appendChild(defaultOpt1);
for (let i = 0; i <= response.length - 1; i++) {
var opt = document.createElement("option");
opt.text = response[i].ActionName;
opt.value = response[i].ActionId.toString();
cmbActions.appendChild(opt);
}
});
}
LoadReminderDetails(id) {
Unibase.Platform.Communications.Managers.ReminderManager.Instance().getRemindersWithType(id, false).then(function (response) {
if (response.result.length > 0) {
$('.ActionsDatalist_body').html('<tr class="ActionsDatalist_body hidden"></tr>');
var html = "";
var Reminders = response.result;
for (var i = 0; i < Reminders.length; i++) {
var Reminder = Reminders[i];
var sno = i + 1;
html = '<tr class="Notification-item"><td>' + sno + '</td><td>' + Reminder.ToUserName + '</td><td>' + Reminder.Message + '</td></tr>';
$(".ActionsDatalist_body:last").before(html);
}
}
});
}
LoadSMSDetails(id) {
Unibase.Apps.Communications.Managers.SmsManager.Instance().getSmsByExecutedActionId(id).then(function (response) {
if (response.result.length > 0) {
var thhtml = "<th>Phone Number</th><th>Status</th><th class='hidden'>Delivery Report</th>";
$("#Reminders_Row").append(thhtml);
$('.ActionsDatalist_body').html('<tr class="ActionsDatalist_body hidden"></tr>');
var html = "";
var SmsResponse = response.result;
for (var i = 0; i < SmsResponse.length; i++) {
var Sms = SmsResponse[i];
var sno = i + 1;
html = '<tr class="Sms-item"><td>' + sno + '</td><td>' + Sms.ToUserName + '</td><td>' + Sms.SmsBody + '</td><td>' + Sms.ToPhoneNumber + '</td><td>' + Sms.RecipientStatus + '</td><td class="hidden">' + Sms.DeliveryReport + '</td></tr>';
$(".ActionsDatalist_body:last").before(html);
}
}
});
}
LoadMailDetails(id) {
this.fileCacheHelper.loadJsFile("apps/communications/managers/mails/mailmanager.js", function () {
Unibase.Apps.Communications.Managers.MailManager.Instance().getMailByExecutedActionId(id).then(function (response) {
var html = " ";
html = "<tr><th>S.No.</th><th>Recipient</th><th>Mail Address</th><th>Mail Subject</th></tr>";
$(".Reminders-head").html(html);
$(".Reminders-body").html('<tr class="Notification-item hidden"></tr>');
var record = 0;
for (var i = 0; i < response.result.length; i++) {
var data = response.result[i];
if (data.ToEmailAddress != null && data.ToEmailAddress != "" && data.ToEmailAddress != undefined) {
var toemailaddress = data.ToEmailAddress.split(",");
for (let c = 0; c < toemailaddress.length; c++) {
record = record + 1;
html = '<tr class="Notification-item"><td>' + record + '</td><td>' + toemailaddress[c] + '</td><td class="text-truncate w-200">' + data.MailBody + '</td></tr>';
$(".ActionsDatalist_body:last").append(html);
}
}
}
});
});
}
LoadTaskDetails(id) {
Unibase.Platform.Communications.Managers.ReminderManager.Instance().getRemindersWithType(id, true).then(function (response) {
if (response.result.length > 0) {
$('.ActionsDatalist_body').html('<tr class="ActionsDatalist_body hidden"></tr>');
var html = "";
var Reminders = response.result;
for (var i = 0; i < Reminders.length; i++) {
var Reminder = Reminders[i];
var sno = i + 1;
html = '<tr class="Notification-item"><td>' + sno + '</td><td>' + Reminder.ToUserName + '</td><td>' + Reminder.Message + '</td></tr>';
$(".ActionsDatalist_body:last").before(html);
}
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ExecutedActions();
}
return this.instance;
}
}
Components.ExecutedActions = ExecutedActions;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,189 @@
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 ExternalRecipients {
init(rpid) {
return Unibase.Platform.Automation.Components.ExternalRecipients.Instance().html();
}
html() {
let html = ` <div class="row">
<div class="col-sm-12">
<div class="input-group">
<label for="Report" class="font-bold">Report</label>
<select id="txtAutoComplete_Reports" class="form-control text-control" style="width:100%;" placeholder="Report" data-placeholder="Report" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_Reports" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="input-group">
<label for="ReportColumns" class="font-bold">Report Columns</label>
<select id="txtAutoComplete_ReportColumns" class="form-control text-control" style="width:100%;" placeholder="ReportColumns" data-placeholder="ReportColumns" data-label="" data-istagselect="true"><option value="0">Select</option></select>
<input type="hidden" id="hf_Autocomplete_ReportColumns" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="ProviderColumns" class="font-bold">RuleProvider Columns</label>
<select id="txtAutoComplete_ProviderColumns" class="form-control text-control" style="width:100%;" placeholder="ProviderColumns" data-placeholder="ProviderColumns" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_ProviderColumns" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div id="div_ExternalUsers" class="floating-label-form-group-with-value floating-validate" style="border-bottom:0;">
<label for="lbl" id="lbl_ExternalUsers">External Users</label>
<input type="hidden" id="hdnselect2_ExternalUsers" class="value-control" value="0">
<select id="select2_ExternalUsers" class="type-control select2_ExternalUsers form-control text-control" multiple="multiple" data-isdynamic="true" data-istagselect="true" style="width:100%;" data-propdoctypename="ExternalUsers" data-propertyid="" data-propertyname="ExternalUsers" data-formpropertyid="ExternalUsers" data-regularexp="" data-validatemsg=""></select>
</div>
</div>
<div class="col-sm-6">
<div id="div_ExternalRoles" class="floating-label-form-group-with-value floating-validate" style="border-bottom:0;">
<label for="lbl" id="lbl_ExternalRoles">External Roles</label>
<input type="hidden" id="hdnselect2_ExternalRoles" class="value-control" value="0">
<select id="select2_ExternalRoles" class="type-control select2_ExternalRoles form-control text-control" multiple="multiple" data-isdynamic="true" data-istagselect="true" style="width:100%;" data-propdoctypename="ExternalRoles" data-propertyid="" data-propertyname="ExternalRoles" data-formpropertyid="ExternalUsers" data-regularexp="" data-validatemsg=""></select>
</div>
</div>
</div>`;
return html;
}
load(rpid) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Reports", "#hf_Autocomplete_Reports", url, function (response) {
var data = response;
});
Unibase.Platform.Automation.Components.ExternalRecipients.Instance().LoadProviderColumns(rpid);
$("#txtAutoComplete_Reports").change(function () {
Unibase.Platform.Automation.Components.ExternalRecipients.Instance().LoadReportColumns();
Unibase.Platform.Automation.Components.ExternalRecipients.Instance().LoadExternalRoles();
Unibase.Platform.Automation.Components.ExternalRecipients.Instance().LoadExternalUsers();
});
}
LoadReportColumns() {
return __awaiter(this, void 0, void 0, function* () {
$("#txtAutoComplete_ReportColumns").val(0);
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + Number($("#txtAutoComplete_Reports option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ReportColumns", "#hf_Autocomplete_ReportColumns", url, function (response) {
var data = response;
});
});
}
LoadExternalUsers() {
return __awaiter(this, void 0, void 0, function* () {
$("#select2_ExternalUsers").val(0);
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + Number($("#txtAutoComplete_Reports option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#select2_ExternalUsers", "#hdnselect2_ExternalRoles", url, function (response) {
var data = response;
});
});
}
LoadExternalRoles() {
return __awaiter(this, void 0, void 0, function* () {
$("#select2_ExternalRoles").val(0);
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + Number($("#txtAutoComplete_Reports option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#select2_ExternalRoles", "#hdnselect2_ExternalRoles", url, function (response) {
var data = response;
});
});
}
GetExternalRoles() {
let externalrolescount = new Array();
var externalrole = "";
$("#select2_ExternalRoles option:selected").each(function () {
var $this = $(this);
if ($this.length) {
var selText = $this.text();
externalrole += selText + ",";
}
});
return externalrole.slice(0, -1);
}
GetExternalUsers() {
let externaluserscount = new Array();
var externaluser = "";
$("#select2_ExternalUsers option:selected").each(function () {
var $this = $(this);
if ($this.length) {
var selText = $this.text();
externaluser += selText + ",";
}
});
return externaluser.slice(0, -1);
}
LoadProviderColumns(ruleproviderid) {
return __awaiter(this, void 0, void 0, function* () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('txtAutoComplete_ProviderColumns');
$('#txtAutoComplete_ProviderColumns').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select ";
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);
}
});
});
}
loadreports() {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ReportsExternal", "#hf_Autocomplete_ReportsExternal", url, function (response) {
var data = response;
});
}
loadexternalreportcolumns(reportid) {
return __awaiter(this, void 0, void 0, function* () {
var html = '';
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getExternalContactsFromReport(reportid).then(function (response) {
if (response.result != null) {
$('.externalreport_row').html('');
for (let i = 0; i < response.result.length; i++) {
html += '<div class="col-sm-3"><div class="custom-control custom-checkbox"><input type="checkbox" class="type-control custom-control-input external_reportcolumnsoption" id="chkreportcolumns_' + response.result[i].DisplayText + '"<input type="hidden" class="hiddenname_' + response.result[i].DisplayText + '" value=' + response.result[i].DisplayText + '><label class="custom-control-label" for="chkreportcolumns_' + response.result[i].DisplayText + '" >' + response.result[i].DisplayText + '</label></div></div>';
}
$('.externalreport_row').html(html);
}
});
});
}
getexternalrecipients() {
var recipients = "";
$('.external_reportcolumnsoption').each(function () {
if ($(this).is(":checked")) {
var id = $(this).attr("id");
var idty = id.split("_");
recipients += idty[1] + "|";
}
});
return recipients;
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ExternalRecipients();
}
return this.instance;
}
}
Components.ExternalRecipients = ExternalRecipients;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+41
View File
@@ -0,0 +1,41 @@
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(t){let i;(function(t){class i{init(){return n.Platform.Automation.Components.ExternalRecipients.Instance().html()}html(){return` <div class="row">
<div class="col-sm-12">
<div class="input-group">
<label for="Report" class="font-bold">Report</label>
<select id="txtAutoComplete_Reports" class="form-control text-control" style="width:100%;" placeholder="Report" data-placeholder="Report" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_Reports" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="input-group">
<label for="ReportColumns" class="font-bold">Report Columns</label>
<select id="txtAutoComplete_ReportColumns" class="form-control text-control" style="width:100%;" placeholder="ReportColumns" data-placeholder="ReportColumns" data-label="" data-istagselect="true"><option value="0">Select</option></select>
<input type="hidden" id="hf_Autocomplete_ReportColumns" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="ProviderColumns" class="font-bold">RuleProvider Columns</label>
<select id="txtAutoComplete_ProviderColumns" class="form-control text-control" style="width:100%;" placeholder="ProviderColumns" data-placeholder="ProviderColumns" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_ProviderColumns" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div id="div_ExternalUsers" class="floating-label-form-group-with-value floating-validate" style="border-bottom:0;">
<label for="lbl" id="lbl_ExternalUsers">External Users</label>
<input type="hidden" id="hdnselect2_ExternalUsers" class="value-control" value="0">
<select id="select2_ExternalUsers" class="type-control select2_ExternalUsers form-control text-control" multiple="multiple" data-isdynamic="true" data-istagselect="true" style="width:100%;" data-propdoctypename="ExternalUsers" data-propertyid="" data-propertyname="ExternalUsers" data-formpropertyid="ExternalUsers" data-regularexp="" data-validatemsg=""></select>
</div>
</div>
<div class="col-sm-6">
<div id="div_ExternalRoles" class="floating-label-form-group-with-value floating-validate" style="border-bottom:0;">
<label for="lbl" id="lbl_ExternalRoles">External Roles</label>
<input type="hidden" id="hdnselect2_ExternalRoles" class="value-control" value="0">
<select id="select2_ExternalRoles" class="type-control select2_ExternalRoles form-control text-control" multiple="multiple" data-isdynamic="true" data-istagselect="true" style="width:100%;" data-propdoctypename="ExternalRoles" data-propertyid="" data-propertyname="ExternalRoles" data-formpropertyid="ExternalUsers" data-regularexp="" data-validatemsg=""></select>
</div>
</div>
</div>`}load(t){var i=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/reports";AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Reports","#hf_Autocomplete_Reports",i,function(n){var t=n});n.Platform.Automation.Components.ExternalRecipients.Instance().LoadProviderColumns(t);$("#txtAutoComplete_Reports").change(function(){n.Platform.Automation.Components.ExternalRecipients.Instance().LoadReportColumns();n.Platform.Automation.Components.ExternalRecipients.Instance().LoadExternalRoles();n.Platform.Automation.Components.ExternalRecipients.Instance().LoadExternalUsers()})}LoadReportColumns(){return __awaiter(this,void 0,void 0,function*(){$("#txtAutoComplete_ReportColumns").val(0);var n=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/"+Number($("#txtAutoComplete_Reports option:selected").val());return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ReportColumns","#hf_Autocomplete_ReportColumns",n,function(n){var t=n})})}LoadExternalUsers(){return __awaiter(this,void 0,void 0,function*(){$("#select2_ExternalUsers").val(0);var n=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/"+Number($("#txtAutoComplete_Reports option:selected").val());return yield AutoCompleteHelper.getHelper().Create("#select2_ExternalUsers","#hdnselect2_ExternalRoles",n,function(n){var t=n})})}LoadExternalRoles(){return __awaiter(this,void 0,void 0,function*(){$("#select2_ExternalRoles").val(0);var n=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/"+Number($("#txtAutoComplete_Reports option:selected").val());return yield AutoCompleteHelper.getHelper().Create("#select2_ExternalRoles","#hdnselect2_ExternalRoles",n,function(n){var t=n})})}GetExternalRoles(){var n="";return $("#select2_ExternalRoles option:selected").each(function(){var t=$(this),i;t.length&&(i=t.text(),n+=i+",")}),n.slice(0,-1)}GetExternalUsers(){var n="";return $("#select2_ExternalUsers option:selected").each(function(){var t=$(this),i;t.length&&(i=t.text(),n+=i+",")}),n.slice(0,-1)}LoadProviderColumns(t){return __awaiter(this,void 0,void 0,function*(){n.Platform.Automation.Managers.RuleManager.Instance().getTokens(t).then(function(n){var t,i;let r=document.getElementById("txtAutoComplete_ProviderColumns");$("#txtAutoComplete_ProviderColumns").empty();t=document.createElement("option");t.text="Select ";t.value="0";r.appendChild(t);for(let t=0;t<=n.length-1;t++)i=document.createElement("option"),i.text=n[t],i.value=(t+1).toString(),r.appendChild(i)})})}loadreports(){var n=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/reports";AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ReportsExternal","#hf_Autocomplete_ReportsExternal",n,function(n){var t=n})}loadexternalreportcolumns(t){return __awaiter(this,void 0,void 0,function*(){var i="";return yield n.Platform.Automation.Managers.RuleManager.Instance().getExternalContactsFromReport(t).then(function(n){if(n.result!=null){$(".externalreport_row").html("");for(let t=0;t<n.result.length;t++)i+='<div class="col-sm-3"><div class="custom-control custom-checkbox"><input type="checkbox" class="type-control custom-control-input external_reportcolumnsoption" id="chkreportcolumns_'+n.result[t].DisplayText+'"<input type="hidden" class="hiddenname_'+n.result[t].DisplayText+'" value='+n.result[t].DisplayText+'><label class="custom-control-label" for="chkreportcolumns_'+n.result[t].DisplayText+'" >'+n.result[t].DisplayText+"<\/label><\/div><\/div>";$(".externalreport_row").html(i)}})})}getexternalrecipients(){var n="";return $(".external_reportcolumnsoption").each(function(){if($(this).is(":checked")){var t=$(this).attr("id"),i=t.split("_");n+=i[1]+"|"}}),n}static Instance(){return this.instance===undefined&&(this.instance=new i),this.instance}}t.ExternalRecipients=i})(i=t.Components||(t.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
+550
View File
@@ -0,0 +1,550 @@
/// <reference path="../../../libs/flowy/flowy.min.js" />
/// <reference path="../../../libs/flowy/flowy.js" />
/// <reference path="../../core/helpers/filecache/filecachehelper.ts" />
const Automation_Elements = {
SMS: {
typeid: 1,
svgicon: "libs/flowy/assets/sms.svg",
title: "SMS",
description: "SMS"
},
Mail: {
typeid: 2,
svgicon: "libs/flowy/assets/email.svg",
title: "Mail",
description: "Mail"
},
Notification: {
typeid: 3,
svgicon: "libs/flowy/assets/bell.svg",
title: "Notification",
description: "Notification"
},
Task: {
typeid: 4,
svgicon: "libs/flowy/assets/task.svg",
title: "Task",
description: "Task"
},
Event: {
typeid: 5,
svgicon: "libs/flowy/assets/action.svg",
title: "Event",
description: "Event"
},
Scheduler: {
typeid: 6,
svgicon: "libs/flowy/assets/time.svg",
title: "Scheduler",
description: "Scheduler"
},
StageChange: {
typeid: 7,
svgicon: "libs/flowy/assets/stage.svg",
title: "StageChange",
description: "StageChange"
},
Rule: {
typeid: 8,
svgicon: "libs/flowy/assets/eye.svg",
title: "Rule",
description: "Rule"
},
ApiIntegrator: {
typeid: 9,
svgicon: "libs/flowy/assets/database.svg",
title: "ApiIntegrator",
description: "ApiIntegrator"
},
ExecuteQuery: {
typeid: 10,
svgicon: "libs/flowy/assets/database.svg",
title: "ExecuteQuery",
description: "ExecuteQuery"
}
};
var rightcard = false;
var tempblock;
var tempblock2;
var ruleblock;
var smsblock;
var emailblock;
var notificationblock;
var taskblock;
var stagechangeblock;
var etemplateblock;
var eventblock;
var apiblock;
var disabledClick;
var removefunction;
var execuetqueryblock;
var RuleId = 0;
var RuleProviderId = 0;
var actionsarray = [];
var bizgaze_automation_flow_main = {
load: function () {
bizgaze_automation_flow_main.getactions();
bizgaze_automation_flow_main.refreshblocks();
$("#close").click(bizgaze_automation_flow_main.closerightcard);
$("#removeblock").click(flowy.deleteBlocks);
bizgaze_automation_flow_main.registercanvasevents();
$('.side').click(function () {
if ($(this).attr("id") == "triggers") {
if ($('#triggers').hasClass("navdisabled") == true) {
$('#actions').removeClass("navactive").addClass("navdisabled");
$('#triggers').removeClass("navdisabled").addClass("navactive");
document.getElementById("blocklist").innerHTML = bizgaze_automation_flow_main.geteventblocks();
}
} else if ($(this).attr("id") == "actions") {
if ($('#actions').hasClass("navdisabled") == true) {
$('#triggers').removeClass("navactive").addClass("navdisabled");
$('#actions').removeClass("navdisabled").addClass("navactive");
document.getElementById("blocklist").innerHTML = bizgaze_automation_flow_main.getactionblocks();
}
}
});
},
getactions: function () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getActions().then(function (response) {
for (var i = 0; i <= response.length - 1; i++) {
actionsarray.push(response[i]);
}
});
},
bindelement: function (type) {
let typename = Automation_Elements[type]["title"];
let typeid = Automation_Elements[type]["typeid"];
let svgpath = Automation_Elements[type]["svgicon"];
let description = Automation_Elements[type]["description"];
return '<div class="blockelem create-flowy noselect" id="block_' + typename +'" onclick="bizgaze_automation_flow_main.doneTouch(this)"><input type="hidden" name="blockelemtypename" class="blockelemtypename" value="' + typename + '"><input type="hidden" name="blockelemtypename" id="blocktypeid" class="blockelemttypeid" value="' + typeid + '"><div class="grabme"><img src="libs/flowy/assets/grabme.svg"></div><div class="blockin"><div class="blockico"><span></span><img src="' + svgpath + '"></div><div class="blocktext"><p class="blocktitle">' + typename + '</p><p class="blockdesc">' + description + '</p></div></div></div>';
},
getdragelement: function (type) {
let typename = Automation_Elements[type]["title"];
let svgpath = Automation_Elements[type]["svgicon"];
let description = Automation_Elements[type]["description"];
return "<div class='blockyleft'><img src='" + svgpath + "'><p class='blockyname'>" + typename + "</p></div><div class='blockyright'><img src='libs/flowy/assets/more.svg'></div><div class='blockydiv'></div><div class='blockyinfo_"+typename+"'><div class='blockyinfo' >" + description + "</div></div>";
},
getactionblocks: function () {
let eventhtml = "";
let events = ["SMS", "Mail", "Notification", "Task", "StageChange", "ApiIntegrator", "ExecuteQuery"];
for (let i = 0; i < events.length; i++) {
eventhtml += bizgaze_automation_flow_main.bindelement(events[i]);
}
return eventhtml;
},
geteventblocks: function () {
let actionhtml = "";
let actions = ["Rule","Event", "Scheduler"];
for (let i = 0; i < actions.length; i++) {
actionhtml += bizgaze_automation_flow_main.bindelement(actions[i]);
}
return actionhtml;
},
addEventListenerMulti: function (type, listener, capture, selector) {
var nodes = document.querySelectorAll(selector);
for (var i = 0; i < nodes.length; i++) {
nodes[i].addEventListener(type, listener, capture);
}
},
removeEventListenerMulti: function (type, listener, capture, selector) {
var nodes = document.querySelectorAll(selector);
for (var i = 0; i < nodes.length; i++) {
nodes[i].addEventListener(type, listener, capture);
}
},
closerightcard: function () {
if (rightcard) {
rightcard = false;
document.getElementById("properties").classList.remove("expanded");
setTimeout(function () {
document.getElementById("propwrap").classList.remove("itson");
}, 300);
tempblock.classList.remove("selectedblock");
}
},
refreshblocks: function () {
$("#blocklist").html(bizgaze_automation_flow_main.geteventblocks());
},
registercanvasevents: function () {
function drag(block) {
block.classList.add("blockdisabled");
tempblock2 = block;
}
function release(event) {
if (tempblock2) {
tempblock2.classList.remove("blockdisabled");
}
}
function onRearrange(block, parent) {
// When a block is rearranged
return true;
}
function snapping(drag, first) {
var grab = drag.querySelector(".grabme");
grab.parentNode.removeChild(grab);
var blockin = drag.querySelector(".blockin");
blockin.parentNode.removeChild(blockin);
drag.innerHTML += bizgaze_automation_flow_main.getdragelement(drag.querySelector(".blockelemtypename").value);
return true;
}
flowy(document.getElementById("canvas"), drag, release, snapping, onRearrange);
},
output: function () {
return flowy.output();
},
saveruleblock: function (id, name,ruleproviderid) {
ruleblock.id = id;
ruleblock.innerHTML = name;
RuleId = Number(id);
RuleProviderId = ruleproviderid;
},
saveeventblock: function (id, name) {
eventblock.id = id;
eventblock.innerHTML = name;
},
savesmsblock: function (id, name) {
smsblock.id = id;
smsblock.innerHTML = name;
},
savenotificationblock: function (id, name) {
notificationblock.id = id;
notificationblock.innerHTML = name;
},
savetaskblock: function (id, name) {
taskblock.id = id;
taskblock.innerHTML = name;
},
saveemailblock: function (id, name) {
emailblock.id = id;
emailblock.innerHTML = name;
},
savestagechangeblock: function (id, name) {
stagechangeblock.id = id;
stagechangeblock.innerHTML = name;
},
saveApiIntegratorblock: function (id, name) {
apiblock.id = id;
apiblock.innerHTML = name;
},
saveExecuteQueryblock: function (id, name) {
execuetqueryblock.id = id;
execuetqueryblock.innerHTML = name;
},
getruleid: function () {
return RuleId;
},
appendruleid: function (ruleid) {
RuleId = Number(ruleid);
},
appendruleproviderid: function (ruleproviderid) {
RuleProviderId = Number(ruleproviderid);
},
getruleproviderid: function () {
return RuleProviderId;
},
Deleteblock: function () {
var canvas = bizgaze_automation_flow_main.output();
if (canvas != null && canvas != undefined) {
var len = canvas.blocks.length - 1;
if (canvas.blocks[len].data[0].value == "Rule") {
if (canvas.blocks.length > 1) {
for (var i = 0; i < canvas.blocks.length - 1; i++) {
if (canvas.blocks[i].data[0].value == "Rule") {
let rblockid = canvas.blocks[len].id;
flowy.deleteBlock(rblockid, true);
break;
}
}
}
}
else if (canvas.blocks[len].data[0].value == "Event") {
let parentblockid = canvas.blocks[len].parent;
if (parentblockid == -1) {
flowy.deleteBlock(canvas.blocks[len].id, true);
}
else {
for (var j = 0; j < canvas.blocks.length - 1; j++) {
if (canvas.blocks[j].id == parentblockid) {
if (canvas.blocks[j].data[0].value == "Rule") {
continue;
}
else {
let eblockid = canvas.blocks[len].id;
flowy.deleteBlock(eblockid, true);
break;
}
}
}
}
}
else {
if (canvas.blocks.length > 2) {
let parentblockid = canvas.blocks[len].parent;
for (var k = 0; k < canvas.blocks.length - 1; k++) {
if (canvas.blocks[k].id == parentblockid) {
if (canvas.blocks[k].data[0].value == "Event" || canvas.blocks[k].data[0].value == "Notification" || canvas.blocks[k].data[0].value == "SMS" || canvas.blocks[k].data[0].value == "Task" || canvas.blocks[k].data[0].value == "Mail" || canvas.blocks[k].data[0].value == "StageChange" || canvas.blocks[k].data[0].value == "ApiIntegrator" || canvas.blocks[k].data[0].value == "Scheduler") {
continue;
}
else {
let ablockid = canvas.blocks[len].id;
flowy.deleteBlock(ablockid, true);
break;
}
}
}
}
else {
let ablockid = canvas.blocks[len].id;
flowy.deleteBlock(ablockid, true);
}
}
}
},
import: function (output) {
var flow = Unibase.Platform.Automation.Components.RuleBuilder.Instance().RuleFlow;
flowy.import(JSON.parse(flow));
},
doneTouch: function (name)
{
var actionname = $('#' + name.id).find('.blockelemtypename').val();
let blockid = $('#' + name.id).closest(".blockelem").find("#blocktypeid").val();
let pblockid = $(name).children('.blockid').val();
var divid = moment.unix();
var pkid = 0;
var ParentActionId = 0;
var output = bizgaze_automation_flow_main.output();
if (output.blocks.length > 3 && actionname != "Rule" && actionname!= "Event") {
if (output.blocks[output.blocks.length - 2].data[0].value != "Rule" && output.blocks[output.blocks.length - 2].data[0].value != "Event") {
var parentblkid = output.blocks.filter(a => a.id == Number(pblockid))[0].parent;
var parentblockname = output.blocks.filter(a => a.id == Number(parentblkid))[0].data[0].value;
if (parentblockname != "Rule" && parentblockname != "Event") {
var parentblockid = output.blocks[output.blocks.length - 1].parent;
for (var i = 0; i < output.blocks.length; i++) {
if (output.blocks[i].id == parentblockid) {
ParentActionId = Number(output.blocks[i].data[3].value);
}
}
}
}
}
var _fileCacheHelper = Unibase.Platform.Helpers.FileCacheHelper.Instance();
_fileCacheHelper.loadJsFile("libs/moment/moment.min.js", function () {
_fileCacheHelper.loadJsFile("libs/bootstrap/js/bootstrap.min.js", function () {
if (blockid == "1") {
_fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.sms.js", function () {
let smsid = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').attr('id');
if (smsid == undefined) {
smsid = 0;
}
else {
smsid = Number(smsid);
}
smsblock = $(name).children('.blockyinfo_' + actionname+'').find('.blockyinfo').get(0)
var sms = new Unibase.Platform.Automation.Components.SendSms();
sms.RuleProviderId = eval("bizgaze_automation_flow_main.getruleproviderid()");
sms.ActionId = actionsarray.filter(X => X.ActionName == "Send Sms")[0].ActionId;
sms.ParentActionId = ParentActionId;
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);
});
}
else if (blockid == "2") {
_fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.email.js", function () {
let emailid = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').attr('id');
if (emailid == undefined) {
emailid = 0;
}
else {
emailid = Number(emailid);
}
emailblock = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').get(0);
var email = new Unibase.Platform.Automation.Components.SendEmail();
email.RuleProviderId = eval("bizgaze_automation_flow_main.getruleproviderid()");
email.ActionId = actionsarray.filter(X => X.ActionName == "Send Email")[0].ActionId;
email.ParentActionId = ParentActionId;
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);
});
}
else if (blockid == "3") {
_fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.notification.js", function () {
let notificationid = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').attr('id');
if (notificationid == undefined) {
notificationid = 0;
}
else {
notificationid = Number(notificationid);
}
notificationblock = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').get(0);
var notification = new Unibase.Platform.Automation.Components.SendNotification();
notification.RuleProviderId = eval("bizgaze_automation_flow_main.getruleproviderid()");
notification.ParentActionId = ParentActionId;
notification.ActionId = actionsarray.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);
});
}
else if (blockid == "4") {
_fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.task.js", function () {
let taskid = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').attr('id');
if (taskid == undefined) {
taskid = 0;
}
else {
taskid = Number(taskid);
}
taskblock = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').get(0);
var task = new Unibase.Platform.Automation.Components.SendTask();
task.RuleProviderId = eval("bizgaze_automation_flow_main.getruleproviderid()");
task.ActionId = actionsarray.filter(X => X.ActionName == "Send Task")[0].ActionId;
task.ParentActionId = ParentActionId;
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);
});
}
else if (blockid == "5") {
_fileCacheHelper.loadJsFile("platform/automation/components/rulebuilder/rulebuilder.event.js", function () {
let eventid = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').attr('id');
if (eventid == undefined) {
eventid = 0;
}
else {
eventid = Number(eventid);
}
eventblock = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').get(0);
var ruleevent = new Unibase.Platform.Automation.Components.RuleEvent();
ruleevent.RuleProviderId = eval("bizgaze_automation_flow_main.getruleproviderid()");
Unibase.Platform.Helpers.NavigationHelper.Instance().popup(eventid, '', ruleevent, function () {
}, Unibase.Platform.Helpers.Size.Auto);
});
}
else if (blockid == "6") {
_fileCacheHelper.loadJsFile("platform/automation/components/templatenotes.js", function () {
let etemplateid = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').attr('id');
if (etemplateid == undefined) {
etemplateid = 0;
}
else {
etemplateid = Number(etemplateid);
}
etemplateblock = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').get(0);
var eventtemplate = new Unibase.Platform.Automation.Components.EventTemplate();
Unibase.Platform.Helpers.NavigationHelper.Instance().popup(etemplateid, '', eventtemplate, function () {
}, Unibase.Platform.Helpers.Size.Auto);
});
}
else if (blockid == "7") {
_fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.stagechange.js", function () {
let stagechangeid = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').attr('id');
if (stagechangeid == undefined) {
stagechangeid = 0;
}
else {
stagechangeid = Number(stagechangeid);
}
stagechangeblock = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').get(0);
var stagechange = new Unibase.Platform.Automation.Components.StageChange();
stagechange.RuleProviderId = eval("bizgaze_automation_flow_main.getruleproviderid()");
stagechange.ActionId = actionsarray.filter(X => X.ActionName == "Stage Change")[0].ActionId;
stagechange.ParentActionId = ParentActionId;
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);
});
}
else if (blockid == "8") {
_fileCacheHelper.loadJsFile("platform/automation/components/rulebuilder/rulebuilder.advrule.js", function () {
let ruleid = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').attr('id');
if (ruleid == undefined) {
ruleid = 0;
}
else
{
ruleid = Number(ruleid);
}
ruleblock = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').get(0);
var advrule = new Unibase.Platform.Automation.Components.AdvRule();
Unibase.Platform.Helpers.NavigationHelper.Instance().popup(ruleid, '', advrule, function () {
}, Unibase.Platform.Helpers.Size.Auto);
});
}
else if (blockid == "9") {
_fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.apiintegrator.js", function () {
let apiintegratorid;
apiintegratorid = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').attr('id');
if (apiintegratorid == undefined) {
apiintegratorid = 0;
}
else {
apiintegratorid = Number(apiintegratorid);
}
apiblock = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').get(0);
var ApiIntegrator = new Unibase.Platform.Automation.Components.ApiIntegrator();
ApiIntegrator.RuleProviderId = eval("bizgaze_automation_flow_main.getruleproviderid()");
ApiIntegrator.ActionId = actionsarray.filter(X => X.ActionName == "Api Integration")[0].ActionId;
ApiIntegrator.ParentActionId = ParentActionId;
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);
});
}
else if (blockid == "10") {
_fileCacheHelper.loadJsFile("platform/automation/components/actions/actions.executequery.js", function () {
let executequeryid;
executequeryid = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').attr('id');
if (executequeryid == undefined) {
executequeryid = 0;
}
else {
executequeryid = Number(executequeryid);
}
execuetqueryblock = $(name).children('.blockyinfo_' + actionname + '').find('.blockyinfo').get(0);
var ExecuteQuery = new Unibase.Platform.Automation.Components.ExecuteQuery();
ExecuteQuery.RuleProviderId = eval("bizgaze_automation_flow_main.getruleproviderid()");
ExecuteQuery.ActionId = actionsarray.filter(X => X.ActionName == "Execute Query")[0].ActionId;
ExecuteQuery.ParentActionId = ParentActionId;
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);
});
}
});
});
}
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,48 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Hubs;
(function (Hubs) {
class NotificationHub {
constructor(huburl) {
this.server = {
Connect: function (packet, callback) {
Unibase.Platform.Automation.Hubs.NotificationHub.Instance(_appsettings.notification_url()).invoke("Connect", packet, callback);
}
};
this.huburl = huburl;
this.connection = new window['signalR'].HubConnectionBuilder()
.withUrl(this.huburl).withAutomaticReconnect()
.build();
}
getConnection() {
return this.connection;
}
connect(callback) {
this.getConnection().start().then(function () {
callback();
});
}
register(eventname, actionmethod) {
this.getConnection().on(eventname, actionmethod);
}
invoke(methodname, params, callback) {
Unibase.Platform.Automation.Hubs.NotificationHub.Instance(_appsettings.notification_url()).getConnection().invoke(methodname, params).catch(function (err) {
return console.error(err.toString());
});
}
static Instance(huburl) {
if (this.instance === undefined) {
this.instance = new NotificationHub(huburl);
}
return this.instance;
}
}
Hubs.NotificationHub = NotificationHub;
})(Hubs = Automation.Hubs || (Automation.Hubs = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"notificationhub.js","sourceRoot":"","sources":["notificationhub.ts"],"names":[],"mappings":"AACA,IAAU,OAAO,CAqDhB;AArDD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAmDxB;IAnDD,WAAiB,QAAQ;QACrB,IAAiB,UAAU,CAiD1B;QAjDD,WAAiB,UAAU;YACvB,IAAiB,IAAI,CA+CpB;YA/CD,WAAiB,IAAI;gBACjB,MAAa,eAAe;oBAKxB,YAAY,MAAc;wBA0B1B,WAAM,GAAG;4BACL,OAAO,EAAE,UAAU,MAAmD,EAAC,QAAiB;gCACpF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;4BACnI,CAAC;yBACJ,CAAA;wBA7BG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;wBACrB,IAAI,CAAC,UAAU,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE;6BACzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE;6BAC7C,KAAK,EAAE,CAAC;oBACjB,CAAC;oBAED,aAAa;wBACT,OAAO,IAAI,CAAC,UAAU,CAAC;oBAC3B,CAAC;oBAED,OAAO,CAAC,QAAkB;wBACtB,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC;4BAC9B,QAAQ,EAAE,CAAC;wBACf,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,QAAQ,CAAC,SAAiB,EAAE,YAAsB;wBAC9C,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;oBACrD,CAAC;oBAED,MAAM,CAAC,UAAkB,EAAE,MAA+C,EAAC,QAAiB;wBACxF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG;4BACrJ,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACzC,CAAC,CAAC,CAAC;oBACP,CAAC;oBASD,MAAM,CAAC,QAAQ,CAAC,MAAc;wBAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;yBAC/C;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACJ;gBA7CY,oBAAe,kBA6C3B,CAAA;YACL,CAAC,EA/CgB,IAAI,GAAJ,eAAI,KAAJ,eAAI,QA+CpB;QACL,CAAC,EAjDgB,UAAU,GAAV,mBAAU,KAAV,mBAAU,QAiD1B;IACL,CAAC,EAnDgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAmDxB;AACL,CAAC,EArDS,OAAO,KAAP,OAAO,QAqDhB"}
+1
View File
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(t){let i;(function(t){class i{constructor(t){this.server={Connect:function(t,i){n.Platform.Automation.Hubs.NotificationHub.Instance(_appsettings.notification_url()).invoke("Connect",t,i)}};this.huburl=t;this.connection=(new window.signalR.HubConnectionBuilder).withUrl(this.huburl).withAutomaticReconnect().build()}getConnection(){return this.connection}connect(n){this.getConnection().start().then(function(){n()})}register(n,t){this.getConnection().on(n,t)}invoke(t,i){n.Platform.Automation.Hubs.NotificationHub.Instance(_appsettings.notification_url()).getConnection().invoke(t,i).catch(function(n){return console.error(n.toString())})}static Instance(n){return this.instance===undefined&&(this.instance=new i(n)),this.instance}}t.NotificationHub=i})(i=t.Hubs||(t.Hubs={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,15 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Packets;
(function (Packets) {
class Connect {
}
Packets.Connect = Connect;
})(Packets = Automation.Packets || (Automation.Packets = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"notificationhub.packets.js","sourceRoot":"","sources":["notificationhub.packets.ts"],"names":[],"mappings":"AACA,IAAU,OAAO,CAchB;AAdD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAYxB;IAZD,WAAiB,QAAQ;QACrB,IAAiB,UAAU,CAU1B;QAVD,WAAiB,UAAU;YACvB,IAAiB,OAAO,CAQvB;YARD,WAAiB,OAAO;gBACpB,MAAa,OAAO;iBAMnB;gBANY,eAAO,UAMnB,CAAA;YACL,CAAC,EARgB,OAAO,GAAP,kBAAO,KAAP,kBAAO,QAQvB;QACL,CAAC,EAVgB,UAAU,GAAV,mBAAU,KAAV,mBAAU,QAU1B;IACL,CAAC,EAZgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAYxB;AACL,CAAC,EAdS,OAAO,KAAP,OAAO,QAchB"}
+1
View File
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(n){let t;(function(n){let t;(function(n){class t{}n.Connect=t})(t=n.Packets||(n.Packets={}))})(t=n.Automation||(n.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,102 @@
"use strict";
var connection;
//connection = new signalR.HubConnectionBuilder()
// .withUrl(_appsettings.notification_url()).withAutomaticReconnect()
// .build();
function start() {
try {
connection.on("sendnotification", function (UnibaseId, Subject, Message) {
$("#notificatonIconBadge").addClass('pulse');
$("#taskIconBadge").addClass('pulse');
if (!isMobileApp()) {
unibase_tenants_themes_notificationrefresh.playAudio();
if (Notification.permission != "granted")
Notification.requestPermission();
new Notification(Subject, { body: Message });
MessageHelper.Instance().showSuccess(Subject, '');
}
//console.log('Message received from ' + user + message)
});
connection.start().then(function () {
let identity = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = identity.userId;
let username = identity.name;
let unibaseid = identity.unibaseId;
console.log("connection started");
//connection.invoke("SendMessage", "test", "message").catch(function (err) {
// return console.error(err.toString());
//});
connection.invoke("Connect", username, userid, unibaseid).catch(function (err) {
return console.error(err.toString());
});
//connection.invoke("GetUserOnlineStatus", unibaseid).catch(function (err) {
// return console.error(err.toString());
//});
});
}
catch (err) {
console.log(err);
setTimeout(start, 5000);
}
};
start();
var unibase_tenants_themes_notificationrefresh = {
playAudio:function(){
var obj = document.createElement("audio");
obj.src = "tenants/Alert.mp3";
obj.volume = 0.10;
obj.autoPlay = false;
obj.preLoad = true;
obj.play();
},
couponApplied: function () {
var obj = document.createElement("audio");
obj.src = "tenants/coupon_applied.mp3";
obj.volume = 0.10;
obj.autoPlay = false;
obj.preLoad = true;
obj.play();
},
couponAlreadyRedeemed: function () {
var obj = document.createElement("audio");
obj.src = "tenants/coupon_already_redeemed.mp3";
obj.volume = 0.10;
obj.autoPlay = false;
obj.preLoad = true;
obj.play();
},
invalidDuplicateCoupon: function () {
var obj = document.createElement("audio");
obj.src = "tenants/invalid_duplicate_coupon.mp3";
obj.volume = 0.10;
obj.autoPlay = false;
obj.preLoad = true;
obj.play();
},
unauthenticCoupon: function () {
var obj = document.createElement("audio");
obj.src = "tenants/unauthentic_coupon.mp3";
obj.volume = 0.10;
obj.autoPlay = false;
obj.preLoad = true;
obj.play();
},
couponBeep:function() {
var obj = document.createElement("audio");
obj.src = "tenants/coupon_beep.mp3";
obj.volume = 0.10;
obj.autoPlay = false;
obj.preLoad = true;
obj.play();
},
couponScrapped: function () {
var obj = document.createElement("audio");
obj.src = "tenants/coupon_scrapped.mp3";
obj.volume = 0.10;
obj.autoPlay = false;
obj.preLoad = true;
obj.play();
}
};
+1
View File
@@ -0,0 +1 @@
"use strict";function start(){try{connection.on("sendnotification",function(n,t,i){$("#notificatonIconBadge").addClass("pulse");$("#taskIconBadge").addClass("pulse");isMobileApp()||(unibase_tenants_themes_notificationrefresh.playAudio(),Notification.permission!="granted"&&Notification.requestPermission(),new Notification(t,{body:i}),MessageHelper.Instance().showSuccess(t,""))});connection.start().then(function(){let n=Unibase.Platform.Membership.Infos.Identity.getCurrentUser(),t=n.userId,i=n.name,r=n.unibaseId;console.log("connection started");connection.invoke("Connect",i,t,r).catch(function(n){return console.error(n.toString())})})}catch(n){console.log(n);setTimeout(start,5e3)}}var connection,unibase_tenants_themes_notificationrefresh;start();unibase_tenants_themes_notificationrefresh={playAudio:function(){var n=document.createElement("audio");n.src="tenants/Alert.mp3";n.volume=.1;n.autoPlay=!1;n.preLoad=!0;n.play()},couponApplied:function(){var n=document.createElement("audio");n.src="tenants/coupon_applied.mp3";n.volume=.1;n.autoPlay=!1;n.preLoad=!0;n.play()},couponAlreadyRedeemed:function(){var n=document.createElement("audio");n.src="tenants/coupon_already_redeemed.mp3";n.volume=.1;n.autoPlay=!1;n.preLoad=!0;n.play()},invalidDuplicateCoupon:function(){var n=document.createElement("audio");n.src="tenants/invalid_duplicate_coupon.mp3";n.volume=.1;n.autoPlay=!1;n.preLoad=!0;n.play()},unauthenticCoupon:function(){var n=document.createElement("audio");n.src="tenants/unauthentic_coupon.mp3";n.volume=.1;n.autoPlay=!1;n.preLoad=!0;n.play()},couponBeep:function(){var n=document.createElement("audio");n.src="tenants/coupon_beep.mp3";n.volume=.1;n.autoPlay=!1;n.preLoad=!0;n.play()},couponScrapped:function(){var n=document.createElement("audio");n.src="tenants/coupon_scrapped.mp3";n.volume=.1;n.autoPlay=!1;n.preLoad=!0;n.play()}};
@@ -0,0 +1,184 @@
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 NotificationsContactSelection {
constructor() {
this.RecipientProviders = [];
}
init(rpid, ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().loadRecipients(ruleactionid);
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().LoadContactColumns(rpid, ruleactionid);
return Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().html(ruleactionid);
});
}
loadRecipients(ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRecipientProviders().then(function (response) {
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().RecipientProviders = response;
for (var i = 0; i <= response.length - 1; i++) {
let html = '';
html += '<div class="col-sm-6 recipient"><div id="div_' + ruleactionid + '_' + response[i].RecipientName + '" class="floating-label-form-group-with-value floating-validate" style="border-bottom:0;"><label for= "lbl" id = "lbl_' + ruleactionid + '_' + response[i].RecipientName + '" >' + response[i].DisplayName + '</label ><label class="hidden propname">' + response[i].ColumnName + '</label><label class="hidden recipientname">' + response[i].RecipientName + '</label>' +
'<input type="hidden" id="hdnselect2_' + ruleactionid + '_' + response[i].RecipientName + '" class="value-control" value="0">' +
'<select id="select2_' + ruleactionid + '_' + response[i].RecipientName + '" class="type-control select2_' + ruleactionid + '_' + response[i].RecipientName + ' form-control text-control" multiple="multiple" style="width:100%;"></select>' +
'</div></div>';
$(".recipients_" + ruleactionid).append(html);
let selectid = "select2_" + ruleactionid + "_" + response[i].RecipientName + "";
let selectlable = response[i].DisplayName;
let recipientProviderid = response[i].RecipientProviderId;
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().RecipientsData(selectid, selectlable, recipientProviderid);
}
});
});
}
html(ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
let html = '<div class="row recipients_' + ruleactionid + '"></div>' + '<div class="row mt-10" id="contactcolumns_' + ruleactionid + '"></div><div class="my-2">Secondary Contacts:</div><div class="row mt-10" id="secondarycontactcolumns_' + ruleactionid + '"></div>';
return yield html;
});
}
RecipientsData(selectid, selectlable, recipientProviderid) {
return __awaiter(this, void 0, void 0, function* () {
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/RecipientsAutoComplete/RecipientProviderId/' + recipientProviderid;
return yield AutoCompleteHelper.getHelper().Create("#" + selectid, "hdn" + selectid, url, function (response) {
var data = response;
});
});
}
GetRecipients(RuleActionId) {
var obj = new Object();
$(".recipient").each(function () {
let id = $(this).find(".recipient");
let index = (id.prevObject[0].id).split('_');
index = index[1];
let propname = $(this).find(".propname").text();
let recipientname = $(this).find(".recipientname").text();
let selectid = "select2_" + RuleActionId + "_" + recipientname;
let recipients = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().getSelectedRecipients(selectid);
obj[propname] = recipients;
});
return obj;
}
BindRecipients(ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
var recipientproviders = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().RecipientProviders;
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getActionRecipient(ruleactionid).then(function (response) {
for (var i = 0; i < recipientproviders.length; i++) {
let recipients = response[recipientproviders[i].ColumnName];
let IdColumn = recipientproviders[i].IdColumn;
let RecipientProviderId = Number(recipientproviders[i].RecipientProviderId);
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().BindRecipientOptions(RecipientProviderId, recipients, IdColumn, recipientproviders[i].RecipientName, ruleactionid);
}
});
});
}
BindRecipientOptions(RecipientProviderId, recipients, IdColumn, RecipientName, ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getSelectedRecipientsData(RecipientProviderId, recipients, IdColumn).then(function (response) {
if (response != "" && response.result.length > 0) {
var Result = response.result;
for (var j = 0; j < Result.length; j++) {
var recipient = Result[j];
var newOption = new Option(recipient.AutoCompleteTextColumn, recipient.AutoCompleteIdColumn, true, true);
$("#select2_" + ruleactionid + "_" + RecipientName + "").append(newOption).trigger('change');
}
}
});
});
}
getSelectedRecipients(selectid) {
let Recipientcount = new Array();
Recipientcount = $('#' + selectid).val();
let Recipient = "";
for (var i = 0; i < Recipientcount.length; i++) {
Recipient += "|" + Recipientcount[i];
}
if (Recipient != "")
Recipient += "|";
return Recipient;
}
LoadContactColumns(rpid, ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
let ruleproviderid = rpid;
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getContactColumns(ruleproviderid).then(function (response) {
if (response != null) {
let html = '';
let secondaryhtml = '';
for (let i = 0; i <= response.length - 1; i++) {
html += '<div class="col-sm-4"><div class="custom-control custom-checkbox divEnablePieces checkbox-primary"><input type="checkbox" class="type-control custom-control-input" id="chk_' + response[i] + '_' + ruleactionid + '" name="Contactcolumns_' + ruleactionid + '" onclick=' + onclick + '><label class="custom-control-label text-capitalize" for="chk_' + response[i] + '_' + ruleactionid + '">' + response[i] + '</label><span></span>&nbsp</div></div>';
secondaryhtml += '<div class="col-sm-4"><div class="custom-control custom-checkbox divEnablePieces checkbox-primary"><input type="checkbox" class="type-control custom-control-input" id="chk_sec_' + response[i] + '_' + ruleactionid + '" name="SecondaryContactcolumns_' + ruleactionid + '" onclick=' + onclick + '><label class="text-capitalize custom-control-label" for="chk_sec_' + response[i] + '_' + ruleactionid + '">' + response[i] + '</label><span></span>&nbsp</div></div>';
}
$("#contactcolumns_" + ruleactionid).append(html);
$("#secondarycontactcolumns_" + ruleactionid).append(secondaryhtml);
}
});
});
}
getContactColumns(RuleActionId) {
var contactcolumns = "";
$.each($("input[name='Contactcolumns_" + RuleActionId + "']:checked"), function () {
var Contact = $(this).parents("label");
Contact = Contact.prevObject[0].labels[0].innerText;
contactcolumns += "|" + Contact;
});
if (contactcolumns != "")
contactcolumns += "|";
return contactcolumns;
}
getSecondaryContactColumns(RuleActionId) {
var contactcolumns = "";
$.each($("input[name='SecondaryContactcolumns_" + RuleActionId + "']:checked"), function () {
var Contact = $(this).parents("label");
Contact = Contact.prevObject[0].labels[0].innerText;
contactcolumns += "|" + Contact;
});
if (contactcolumns != "")
contactcolumns += "|";
return contactcolumns;
}
CheckContactColumns(Users, ruleactionid) {
if (Users != null)
var contacts = Users.split("|");
for (var i = 0; i < contacts.length; i++) {
if (contacts[i] != "") {
var id = contacts[i].toLowerCase();
$('#chk_' + id + '_' + ruleactionid).prop("checked", true);
}
}
}
CheckSecondaryContactColumns(Users, ruleactionid) {
if (Users != null)
var contacts = Users.split("|");
for (var i = 0; i < contacts.length; i++) {
if (contacts[i] != "") {
var id = contacts[i].toLowerCase();
$('#chk_sec_' + id + '_' + ruleactionid).prop("checked", true);
}
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new NotificationsContactSelection();
}
return this.instance;
}
}
Components.NotificationsContactSelection = NotificationsContactSelection;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,359 @@
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 Notifications extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.InstalledAppId = 0;
this.RuleId = 0;
this.RuleActions = [];
}
cssFiles() {
return [
"libs/jquery-ui-slider-pips/jquery-ui-slider-pips.css",
"libs/jquery-ui-slider-pips/Custom-slider-ui-pips.css",
];
}
jsFiles() {
return [
"libs/jquery-ui-slider-pips/jquery-ui-slider-pips.js",
"/platform/automation/managers/rulemanager.js", "/platform/automation/enums/executeactionstatus.js", "/platform/automation/components/actions/actions.notification.js", "/platform/automation/components/notifications.contactselection.js", "/platform/automation/components/externalrecipients.js", "/platform/automation/requests/ruleaction.js", "/platform/automation/components/conditions.js", "platform/automation/managers/notificationgroupmanager.js"
];
}
html(id, containerid) {
var instance = this;
instance.InstalledAppId = instance.appSettings.InstalledAppId;
let html = `<header class="bg-white shadow-bottom modal-header px-2" id="notificationRuleHeader">
<div class="text-dark text-left py-2 font-weight-600"><span class="portletName font-16">Notifications</span>
</div>
</header>
<section data-simplebar class="simple-scroll-bar scrollable">
<div class="clear" id="message">
</div>
<div class="tab-content row mt-n mt-0" id="tabs">
<div class="tab-pane w-100 active" id="rules">
<div id="div_rules" class="card">
<input type="hidden" id="hf_NotificationGroupId" value="" />
<div class="card-body py-1 px-4">
<div class="ruleslist-div text-body">
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<footer class="bg-white footer ft_notifications">
<a href="javascript:;" id="btn_notificationsClose_` + containerid +
`" class="btn btn-light btn-sm mr-auto btn-close">Close</a>
</footer>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
instance.loadNotificationRules();
}
init() {
var instance = this;
this.navigationHelper.popup(0, "", instance, null, Platform.Helpers.Size.Large);
}
loadNotificationRules() {
var instance = this;
Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().GetNotificationGroups().then(function (response) {
var data = response;
var html = "<center class='mt-3 ml-5 mb-3' style='font-size:20px'>No Data</center>";
var data = response;
if (data.length > 0) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleActionsByInstalledApp(instance.InstalledAppId).then(function (responsedata) {
Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions = responsedata;
});
html = "";
data = data.sort((a, b) => a.Index - b.Index);
for (var i = 0; i < data.length; i++) {
var NotificationGroupId = data[i].NotificationGroupId;
var NotificationGroupName = data[i].NotificationGroupName;
html += "<section class='no-border Role-panel clearfix notificationgroupid-" + NotificationGroupId + "' >" +
"<header class='panel-heading border-dark ruleHeader'>" +
"<div class='d-flex align-items-center w-100 border-bottom'><a class='list-group w-100' href='javascript:;' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().loadRuleActions(" + NotificationGroupId + ")' class='panel-toggle text-muted sliderdiv2'><div class='d-flex align-items-center justify-content-between my-10 biz-highlight-bg-color'><span class='list-item-main-title'>" + NotificationGroupName + "</span>" + "<span><i class='fa fa-chevron-up d-none pull-right biz-highlight-bg-color' id='up_notificationgroupid_" + NotificationGroupId + "'></i><i class='fa fa-chevron-down pull-right' id='down_notificationgroupid_" + NotificationGroupId + "'></i></span></div></a></div></header>" + "<div id='panelId-" + NotificationGroupId + "' class='bg-white collapse'></div>" + "<div class='sliderdiv mr-10'>" + "</div>" + "</section>";
}
}
$(".ruleslist-div").append(html);
});
}
loadRuleActions(NotificationGroupId) {
var collapsed = $("#panelId-" + NotificationGroupId).hasClass("collapse");
if (!collapsed) {
$("#panelId-" + NotificationGroupId).addClass("collapse");
$(".notificationgroupid-" + NotificationGroupId).find("#down_notificationgroupid_" + NotificationGroupId).removeClass("d-none");
$(".notificationgroupid-" + NotificationGroupId).find("#up_notificationgroupid_" + NotificationGroupId).addClass("d-none");
}
else {
$(".notificationgroupid-" + NotificationGroupId).find("#up_notificationgroupid_" + NotificationGroupId).removeClass("d-none");
$(".notificationgroupid-" + NotificationGroupId).find("#down_notificationgroupid_" + NotificationGroupId).addClass("d-none");
$("#panelId-" + NotificationGroupId).removeClass("collapse");
$(".notificationgroupid-" + NotificationGroupId).find(".sliderDetails").remove();
}
var html = "<center class='mt-3 ml-5 mb-3' style='font-size:15px'>No Data</center>";
var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.filter(x => x.NotificationGroupId == NotificationGroupId);
if (data.length > 0) {
html = "";
for (var i = 0; i < data.length; i++) {
var ruleName = data[i].RuleActionName;
var actionType = data[i].ActionName;
var ruleactionid = data[i].RuleActionId;
var executestatus = data[i].ExecuteStatusId;
var Bodyonclick = "onclick='Unibase.Platform.Automation.Components.Notifications.Instance().editMessageBody(" + ruleactionid + ")'";
var Recipientonclick = "onclick='Unibase.Platform.Automation.Components.Notifications.Instance().EditRuleActions(" + ruleactionid + ")'";
var styleclass = "";
var isChecked;
if (executestatus == 2) {
isChecked = "checked";
}
else {
isChecked = "";
}
if (actionType == "Stage Change" || actionType == "Api Integrator" || actionType == "Execute Query") {
Bodyonclick = "", Recipientonclick = "";
styleclass = "text-light";
}
html += "<div class='d-flex align-items-center text-dark mt-2 font-14 ruleaction-Row border-bottom' id='ruleaction_" + ruleactionid + "'><div class=' d-flex flex-row align-items-center " + ruleactionid + " w-60 w-sm-80 p-0'><span class='ruleactionid -" + ruleactionid + " font-24 mx-2' data-actionType='" + actionType + "' data-tooltip='true' title='" + actionType + "'>";
if (actionType.toLowerCase().includes('email')) {
html += '<i class="la la-envelope"></i>';
}
else if (actionType.toLowerCase().includes('task')) {
html += '<i class="la la-tasks"></i>';
}
else if (actionType.toLowerCase().includes('change')) {
html += '<i class="la la-sync"></i>';
}
else if (actionType.toLowerCase().includes('send')) {
html += '<i class="la la-share"></i>';
}
html += "</span><span>" + ruleName + "</span></div><div class='w-40 w-sm-20 d-flex justify-content-between'><div class='" + ruleactionid + " '><a class='nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1' " + Bodyonclick + " href='javascript:;' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false' data-tooltip='true' title='Edit Message'><span class='btn-icon-wrap'><i class='la la-pencil font-20 ellipsis-hover-1 " + styleclass + "'></i></span></a></div><div class='" + ruleactionid + "'><a class='nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1' " + Recipientonclick + " href='javascript:;' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false' data-tooltip='true' title='Edit Rule Action'><span class='btn-icon-wrap'><i class='la la-user font-20 ellipsis-hover-1 " + styleclass + "'></i></span></a></div><div class='" + ruleactionid + "' > <label class='switch mb-0' > <input id='chk_" + ruleactionid + "' type = 'checkbox' " + isChecked + " onChange = 'Unibase.Platform.Automation.Components.Notifications.Instance().ChangeRuleActionStatus(" + ruleactionid + ")' / > <span class='slider round' > </span></label > </div></div > </div><div class='edit_ruleactions' id='edit_ruleactions_" + ruleactionid + "'></div > ";
}
}
$("#panelId-" + NotificationGroupId).html(html);
}
closeRuleActions(ruleactionid, response, Textdiv) {
if (!Textdiv) {
$("#SelectRoleDiv_" + ruleactionid).remove();
}
else {
$("#MessageDiv_" + ruleactionid).remove();
}
let index = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.findIndex(x => x.RuleActionId == ruleactionid);
Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions[index] = response;
}
closeActions(RuleActionId, textdiv) {
$('#ruleaction_' + RuleActionId).addClass('border-bottom');
;
if (textdiv) {
$("#MessageDiv_" + RuleActionId).addClass('d-none');
}
else {
$("#SelectRoleDiv_" + RuleActionId).addClass('d-none');
}
}
editMessageBody(RuleActionId) {
var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.find(x => x.RuleActionId == RuleActionId);
$("#ruleaction_" + RuleActionId).removeClass("border-bottom");
var html = "<div class='bg-white border shadow card mt-2 text-dark w-100' id='MessageDiv_" + RuleActionId + "'><div class='card-body border-bottom p-2'><div class='MessageSelection_" + RuleActionId + " w-100'></div><div class='card-body border-0 p-0'><div class=''><div class=''><div id='div_Subject' class='floating-label-form-group'><span for='lbl_MessageSubject' id ='lbl_MessageSubject' class='ml-1'> Subject <span class='text-danger'> * </span></span><div class='input-group'><input type='text' id='txtNotifications_MessageSubject_" + RuleActionId + "' class='col-sm-9 form-control value-control required floating-label-control mr-20' data-placeholder='Enter Subject' placeholder='Subject *' data-label='Subject *' ><select id='ddl_SubjectTokens_" + RuleActionId + "' class='col-sm-3 form-control value-control'><option value='0'> Select Token </option></select></div></div></div></div><div class='mt-3 mb-2'><div class='w-100'><div id='div_Body' class='floating-label-form-group'><label for= 'lbl_MessageBody' id='lbl_MessageBody' class='ml-1'> Body <span class='text-danger'> * </span></label><div class='textarea input-group align-items-end'><textarea id='txtNotifications_MessageBody_" + RuleActionId + "' class='form-control value-control required floating-label-control w-50 notifi-autoSize h-100p mr-20' placeholder='Body * ' data-placeholder='Notification Body' data-label='Body *'></textarea><select id='ddl_BodyTokens_" + RuleActionId + "' class='col-sm-3 form-control value-control'><option value='0'> Select Token </option></select></div></div></div></div></div></div><div class='bg-white card-footer px-2 border-0 footer' id='CreateNotificationFooter'><a href = 'javascript:;' id='btnCloseNotification' class='btn btn-light btn-sm mr-auto' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().closeActions(" + RuleActionId + ",true)'>Close</a> <a href = 'javascript:;' id='btnSaveNotification' class='btn btn-primary btn-sm' onclick = 'Unibase.Platform.Automation.Components.Notifications.Instance().SaveNotificationAction(" + RuleActionId + ",true)'> Save </a></div></div>";
$("#edit_ruleactions_" + RuleActionId).html(html);
var RuleProviderId = data.RuleProviderId;
$('#txtNotifications_MessageSubject_' + RuleActionId).val(data.BString1);
$("#txtNotifications_MessageBody_" + RuleActionId).val(data.BString2);
$("#ddl_SubjectTokens_" + RuleActionId).change(function () {
var textAreaTxt = $("#txtNotifications_MessageSubject_" + RuleActionId).val().toString();
var txtToAdd = '{{' + $("#ddl_SubjectTokens_" + RuleActionId + " option:selected").text() + '}}';
var firsttext = textAreaTxt.slice(0, Notifications.Instance().tokenposition);
var lasttext = textAreaTxt.slice(Notifications.Instance().tokenposition, textAreaTxt.length);
$("#txtNotifications_MessageSubject_" + RuleActionId).val(firsttext + txtToAdd + lasttext);
$("#ddl_SubjectTokens_" + RuleActionId).val(0);
});
$("#ddl_BodyTokens_" + RuleActionId).change(function (event) {
var textAreaTxt = $("#txtNotifications_MessageBody_" + RuleActionId).val().toString();
var txtToAdd = '{{' + $("#ddl_BodyTokens_" + RuleActionId + " option:selected").text() + '}}';
var firsttext = textAreaTxt.slice(0, Notifications.Instance().tokenposition);
var lasttext = textAreaTxt.slice(Notifications.Instance().tokenposition, textAreaTxt.length);
$("#txtNotifications_MessageBody_" + RuleActionId).val(firsttext + txtToAdd + lasttext);
$("#ddl_BodyTokens_" + RuleActionId).val(0);
});
$("#txtNotifications_MessageBody_" + RuleActionId).focusout(function (event) {
Notifications.Instance().tokenposition = event["target"]["selectionStart"];
});
$("#txtNotifications_MessageSubject_" + RuleActionId).focusout(function (event) {
Notifications.Instance().tokenposition = event["target"]["selectionStart"];
});
if (RuleActionId != 0 && RuleProviderId != 0) {
Unibase.Platform.Automation.Components.Notifications.Instance().LoadMsgSubjectTokens(RuleProviderId, RuleActionId);
Unibase.Platform.Automation.Components.Notifications.Instance().LoadMsgBodyTokens(RuleProviderId, RuleActionId);
}
}
LoadMsgSubjectTokens(ruleproviderid, ruleactionid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('ddl_SubjectTokens_' + ruleactionid);
$('#ddl_SubjectTokens_' + ruleactionid).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);
}
});
}
LoadExternalreports(ruleactionid) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ReportsExternal_" + ruleactionid, "#hf_Autocomplete_ReportsExternal", url, function (response) {
var data = response;
});
}
LoadMsgBodyTokens(ruleproviderid, ruleactionid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('ddl_BodyTokens_' + ruleactionid);
$('#ddl_BodyTokens_' + ruleactionid).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);
}
});
}
EditRuleActions(RuleActionId) {
return __awaiter(this, void 0, void 0, function* () {
var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.find(x => x.RuleActionId == RuleActionId);
var additionalhtml = '';
if (data.actiontype == "Send Sms" || data.actiontype == "Send Email") {
additionalhtml = Unibase.Platform.Automation.Components.Notifications.Instance().AdditionalHtml(RuleActionId);
}
$('#ruleaction_' + RuleActionId).removeClass('border-bottom');
var html = "<div class='bg-white border shadow card mt-2 p-2 text-dark w-100' id='SelectRoleDiv_" + RuleActionId + "'><div class='card-header border-bottom py-2 px-0 mb-1'> Send To Contacts</div> <div class='card-body border-bottom p-0'><div class='ContactSelection_" + RuleActionId + " w-100 px-0'></div>" + additionalhtml + "</div><div class='bg-white border-0 card-footer footer px-0 pb-1' id='CreateNotificationFooter'><a href = 'javascript:;' id = 'btnCloseNotification' class='btn btn-light btn-sm mr-auto' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().closeActions(" + RuleActionId + ",false)'>Close</a><a href = 'javascript:;' id = 'btnSaveNotification' class='btn btn-primary btn-sm' onclick='Unibase.Platform.Automation.Components.Notifications.Instance().SaveNotificationAction(" + RuleActionId + ",false)'> Save </a></div></div>";
$("#edit_ruleactions_" + RuleActionId).html(html);
var RuleProviderId = data.RuleProviderId;
Unibase.Platform.Automation.Components.Notifications.Instance().BindData(RuleActionId).then(function () {
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().loadRecipients(RuleActionId).then(function () {
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().LoadContactColumns(RuleProviderId, RuleActionId).then(function () {
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().BindRecipients(RuleActionId);
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().CheckContactColumns(data.Users, RuleActionId);
Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().CheckSecondaryContactColumns(data.SecondaryUsers, RuleActionId);
});
Unibase.Platform.Automation.Components.Notifications.Instance().LoadExternalreports(RuleActionId);
});
});
});
}
AdditionalHtml(ruleactionid) {
var html = "";
return html;
}
BindData(ruleactionid) {
return __awaiter(this, void 0, void 0, function* () {
return $(".ContactSelection_" + ruleactionid).html(yield Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().html(ruleactionid));
});
}
SaveNotificationAction(RuleActionId, istext) {
var data = Unibase.Platform.Automation.Components.Notifications.Instance().RuleActions.find(x => x.RuleActionId == RuleActionId);
let model = new Unibase.Platform.Automation.Requests.RuleAction();
model.RuleActionId = data.RuleActionId;
model.RuleActionName = data.RuleActionName;
model.BString4 = data.BString4;
model.BString1 = data.BString1;
model.BString2 = data.BString2;
model.BString3 = data.BString3;
model.BString6 = data.BString6;
model.BString7 = data.BString7;
model.BString5 = data.BString5;
model.ExternalReportId = data.ExternalReportId;
model.ExternalReportColumnId = data.ExternalReportColumnId;
model.ProviderColumnId = data.ProviderColumnId;
model.ActionId = data.ActionId;
model.RuleId = data.RuleId;
model.Users = data.Users;
model.SecondaryUsers = data.SecondaryUsers;
model.String2 = data.String2;
model.String6 = data.String6;
model.String7 = data.String7;
model.IsParent = data.IsParent;
model.ResultActionId = data.ResultActionId;
model.DelayTime = data.DelayTime;
model.ParentActionId = data.ParentActionId;
model.AutoApproved = $('#chk_' + RuleActionId).is(':checked');
model.RecipientsData = data.RecipientsData;
model.RowIndex = data.RowIndex;
model.EventGroupId = data.EventGroupId;
model.RuleEventId = data.RuleEventId;
model.NotificationGroupId = data.NotificationGroupId;
model.ExternalReportId = data.ExternalReportId;
model.ExternalRecipients = data.ExternalRecipients;
if (istext) {
model.BString1 = $('#txtNotifications_MessageSubject_' + RuleActionId).val().toString();
model.BString2 = $('#txtNotifications_MessageBody_' + RuleActionId).val().toString();
data.BString1 = $('#txtNotifications_MessageSubject_' + RuleActionId).val().toString();
data.BString2 = $('#txtNotifications_MessageBody_' + RuleActionId).val().toString();
}
else {
let recipients = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().GetRecipients(RuleActionId);
let contactcolumns = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().getContactColumns(RuleActionId);
let secondarycontactcolumns = Unibase.Platform.Automation.Components.NotificationsContactSelection.Instance().getSecondaryContactColumns(RuleActionId);
model.RecipientsData = recipients;
model.Users = contactcolumns;
model.SecondaryUsers = secondarycontactcolumns;
data.RecipientsData = recipients;
data.Users = contactcolumns;
data.SecondaryUsers = secondarycontactcolumns;
}
Automation.Managers.RuleManager.Instance().saveRuleAction(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_NotificationAction");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_NotificationAction");
Unibase.Platform.Automation.Components.Notifications.Instance().closeRuleActions(model.RuleActionId, data, istext);
}
});
}
ChangeRuleActionStatus(RuleActionId) {
var status = Unibase.Platform.Automation.Enums.ExecuteActionStatus.Draft;
if ($('#chk_' + RuleActionId).is(":checked")) {
status = Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved;
}
Unibase.Platform.Automation.Managers.RuleManager.Instance().UpdateRuleActionStatus(RuleActionId, status).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
MessageHelper.Instance().showSuccess(response.message, " ");
}
});
}
static Instance() {
if (this.instance == undefined) {
this.instance = new Notifications();
}
return this.instance;
}
}
Components.Notifications = Notifications;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,127 @@
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 Notifier {
constructor() {
this.methods = {
sendNotifiation: function (reminderobject) {
var isChatReminder = false;
var isTask = false;
if (!isMobileApp()) {
if (reminderobject.reminderType == Number(Unibase.Platform.Communications.Enums.ReminderType.Notification)) {
}
else if (reminderobject.reminderType == Number(Unibase.Platform.Communications.Enums.ReminderType.Task)) {
isTask = true;
}
else if (reminderobject.reminderType == Number(Unibase.Platform.Communications.Enums.ReminderType.Chat)) {
isChatReminder = true;
var chat = Unibase.Platform.Connect.Components.Chat;
if (chat.chatGroupId == reminderobject.refId && chat.privatewindow) {
return;
}
}
Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(Platform.Automation.Enums.NotifyAlerts.Alert);
if (Notification.permission != "granted")
Notification.requestPermission();
new Notification(reminderobject.subject, { body: reminderobject.message });
if (!isChatReminder)
MessageHelper.Instance().showSuccess(reminderobject.subject, '');
}
if (isTask) {
Unibase.Themes.Compact.Components.Notification.Instance().reloadPage(reminderobject.refGuId);
}
isChatReminder ?
$("#chatIconBadge").text(Number($("#chatIconBadge").text()) + 1).removeClass('d-none') :
Unibase.Themes.Compact.Components.Notification.Instance().GetUnreadRemindersCount();
}
};
}
init() {
this.seedAudioLibrary();
this._notificationHub = Automation.Hubs.NotificationHub.Instance(_appsettings.notification_url());
this.connection = this._notificationHub;
this.start();
}
playAudio(audiotype) {
var obj = document.createElement("audio");
obj.src = this.getAudioUrl(audiotype);
obj.volume = 0.10;
obj.autoplay = false;
obj.play();
}
getAudioUrl(audiotype) {
return this.audiolibrary[Number(audiotype)];
}
seedAudioLibrary() {
if (this.audiolibrary === undefined)
this.audiolibrary = new Array();
this.audiolibrary[Platform.Automation.Enums.NotifyAlerts.Alert] = "tenants/alerts/alert.mp3";
this.audiolibrary[Platform.Automation.Enums.NotifyAlerts.CouponApplied] = "tenants/alerts/coupon_applied.mp3";
this.audiolibrary[Platform.Automation.Enums.NotifyAlerts.CouponAlreadyRedeemed] = "tenants/alerts/coupon_already_redeemed.mp3";
this.audiolibrary[Platform.Automation.Enums.NotifyAlerts.InvalidDuplicateCoupon] = "tenants/alerts/invalid_duplicate_coupon.mp3";
this.audiolibrary[Platform.Automation.Enums.NotifyAlerts.UnAuthenticCoupon] = "tenants/alerts/unauthentic_coupon.mp3";
this.audiolibrary[Platform.Automation.Enums.NotifyAlerts.CouponBeep] = "tenants/alerts/coupon_beep.mp3";
this.audiolibrary[Platform.Automation.Enums.NotifyAlerts.CouponScrapped] = "tenants/alerts/coupon_scrapped.mp3";
this.audiolibrary[Platform.Automation.Enums.NotifyAlerts.Congratulations] = "tenants/alerts/congratulations_sprllproject.mp3";
}
getClientMethods() {
return [
{ MethodName: "sendnotification", Method: this.methods.sendNotifiation }
];
}
registerClientMethods() {
let _methods = this.getClientMethods();
if (_methods)
for (var i = 0; i < _methods.length; i++) {
this.connection.register(_methods[i].MethodName, _methods[i].Method);
}
}
start() {
return __awaiter(this, void 0, void 0, function* () {
try {
this.registerClientMethods();
this.connection.connect(function () {
let identity = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
console.log("connection started");
let _packet = new Unibase.Platform.Automation.Packets.Connect();
_packet.UnibaseId = identity.unibaseId;
_packet.UserName = identity.name;
_packet.UserId = identity.userId;
_packet.TenantId = identity.tenantId;
_packet.SessionId = identity.sessionId;
Unibase.Platform.Automation.Components.Notifier.Instance()._notificationHub.server.Connect(_packet, null);
});
}
catch (err) {
console.log(err);
setTimeout(this.start, 5000);
}
});
}
;
static Instance() {
if (this.instance === undefined) {
this.instance = new Notifier();
}
return this.instance;
}
}
Components.Notifier = Notifier;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"notifier.js","sourceRoot":"","sources":["notifier.ts"],"names":[],"mappings":";;;;;;;;;AACA,IAAU,OAAO,CAoGhB;AApGD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAkGxB;IAlGD,WAAiB,QAAQ;QACrB,IAAiB,UAAU,CAgG1B;QAhGD,WAAiB,UAAU;YACvB,IAAiB,UAAU,CA8F1B;YA9FD,WAAiB,UAAU;gBACvB,MAAa,QAAQ;oBAArB;wBAiCY,YAAO,GAAG;4BACd,eAAe,EAAE,UAAU,SAAiB,EAAE,OAAe,EAAE,OAAe,EAAE,YAAoB;gCAChG,IAAI,CAAC,WAAW,EAAE,EAAE;oCAChB,IAAI,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;wCACzF,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,uBAAuB,EAAE,CAAC;qCACvF;yCACI,IAAI,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;wCACtF,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,uBAAuB,EAAE,CAAC;qCACvF;oCACD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oCACnH,IAAI,YAAY,CAAC,UAAU,IAAI,SAAS;wCACpC,YAAY,CAAC,iBAAiB,EAAE,CAAC;oCACrC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oCAC7C,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;iCACrD;gCACD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,uBAAuB,EAAE,CAAC;4BACxF,CAAC;yBACJ,CAAA;oBA0CL,CAAC;oBAvFG,IAAI;wBACA,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACxB,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC;wBAClG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;wBACxC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACjB,CAAC;oBAED,SAAS,CAAC,SAAiD;wBACvD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;wBAC1C,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;wBACtC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;wBAClB,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;wBACrB,GAAG,CAAC,IAAI,EAAE,CAAC;oBACf,CAAC;oBACD,WAAW,CAAC,SAAiD;wBACzD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBAChD,CAAC;oBACD,gBAAgB;wBACZ,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;4BAAE,IAAI,CAAC,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;wBACrE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,0BAA0B,CAAC;wBAC7F,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,mCAAmC,CAAC;wBAC9G,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,4CAA4C,CAAC;wBAC/H,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,6CAA6C,CAAC;wBACjI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,uCAAuC,CAAC;wBACtH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,gCAAgC,CAAC;wBACxG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,oCAAoC,CAAC;wBAChH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,iDAAiD,CAAC;oBAClI,CAAC;oBAmBO,gBAAgB;wBACpB,OAAO;4BACH,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;yBAC3E,CAAC;oBAEN,CAAC;oBACO,qBAAqB;wBACzB,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACvC,IAAI,QAAQ;4BACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;6BACxE;oBAET,CAAC;oBACK,KAAK;;4BACP,IAAI;gCACA,IAAI,CAAC,qBAAqB,EAAE,CAAC;gCAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;oCACpB,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;oCAC3E,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oCAClC,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oCAChE,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;oCACvC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;oCACjC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;oCACjC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;oCACrC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;oCACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gCAC9G,CAAC,CAAC,CAAC;6BACN;4BACD,OAAO,GAAG,EAAE;gCACR,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCACjB,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;6BAChC;wBACL,CAAC;qBAAA;oBAAA,CAAC;oBAEF,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;yBAClC;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACJ;gBA5FY,mBAAQ,WA4FpB,CAAA;YACL,CAAC,EA9FgB,UAAU,GAAV,qBAAU,KAAV,qBAAU,QA8F1B;QACL,CAAC,EAhGgB,UAAU,GAAV,mBAAU,KAAV,mBAAU,QAgG1B;IACL,CAAC,EAlGgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAkGxB;AACL,CAAC,EApGS,OAAO,KAAP,OAAO,QAoGhB"}
+1
View File
@@ -0,0 +1 @@
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{constructor(){this.methods={sendNotifiation:function(i){var r=!1,u;if(!isMobileApp()){if(i.reminderType==Number(n.Platform.Communications.Enums.ReminderType.Notification))n.Themes.Compact.Components.Notification.Instance().GetUnreadRemindersCount();else if(i.reminderType==Number(n.Platform.Communications.Enums.ReminderType.Task))n.Themes.Compact.Components.Notification.Instance().GetUnreadRemindersCount();else if(i.reminderType==Number(n.Platform.Communications.Enums.ReminderType.Chat)&&(r=!0,u=n.Platform.Connect.Components.Chat,u.chatGroupId==i.refId&&u.privatewindow))return;n.Platform.Automation.Components.Notifier.Instance().playAudio(t.Automation.Enums.NotifyAlerts.Alert);Notification.permission!="granted"&&Notification.requestPermission();new Notification(i.subject,{body:i.message});r||MessageHelper.Instance().showSuccess(i.subject,"")}r?$("#chatIconBadge").text(Number($("#chatIconBadge").text())+1).removeClass("d-none"):n.Themes.Compact.Components.Notification.Instance().GetUnreadRemindersCount()}}}init(){this.seedAudioLibrary();this._notificationHub=i.Hubs.NotificationHub.Instance(_appsettings.notification_url());this.connection=this._notificationHub;this.start()}playAudio(n){var t=document.createElement("audio");t.src=this.getAudioUrl(n);t.volume=.1;t.autoplay=!1;t.play()}getAudioUrl(n){return this.audiolibrary[Number(n)]}seedAudioLibrary(){this.audiolibrary===undefined&&(this.audiolibrary=[]);this.audiolibrary[t.Automation.Enums.NotifyAlerts.Alert]="tenants/alerts/alert.mp3";this.audiolibrary[t.Automation.Enums.NotifyAlerts.CouponApplied]="tenants/alerts/coupon_applied.mp3";this.audiolibrary[t.Automation.Enums.NotifyAlerts.CouponAlreadyRedeemed]="tenants/alerts/coupon_already_redeemed.mp3";this.audiolibrary[t.Automation.Enums.NotifyAlerts.InvalidDuplicateCoupon]="tenants/alerts/invalid_duplicate_coupon.mp3";this.audiolibrary[t.Automation.Enums.NotifyAlerts.UnAuthenticCoupon]="tenants/alerts/unauthentic_coupon.mp3";this.audiolibrary[t.Automation.Enums.NotifyAlerts.CouponBeep]="tenants/alerts/coupon_beep.mp3";this.audiolibrary[t.Automation.Enums.NotifyAlerts.CouponScrapped]="tenants/alerts/coupon_scrapped.mp3";this.audiolibrary[t.Automation.Enums.NotifyAlerts.Congratulations]="tenants/alerts/congratulations_sprllproject.mp3"}getClientMethods(){return[{MethodName:"sendnotification",Method:this.methods.sendNotifiation}]}registerClientMethods(){let n=this.getClientMethods();if(n)for(var t=0;t<n.length;t++)this.connection.register(n[t].MethodName,n[t].Method)}start(){return __awaiter(this,void 0,void 0,function*(){try{this.registerClientMethods();this.connection.connect(function(){let i=n.Platform.Membership.Infos.Identity.getCurrentUser();console.log("connection started");let t=new n.Platform.Automation.Packets.Connect;t.UnibaseId=i.unibaseId;t.UserName=i.name;t.UserId=i.userId;t.TenantId=i.tenantId;t.SessionId=i.sessionId;n.Platform.Automation.Components.Notifier.Instance()._notificationHub.server.Connect(t,null)})}catch(t){console.log(t);setTimeout(this.start,5e3)}})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.Notifier=u})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,202 @@
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 RuleActions extends Platform.Core.BaseComponent {
cssFiles() {
return ["libs/querybuilder/query-builder.default.css"];
}
jsFiles() {
return ["platform/automation/managers/rulemanager.js",
"platform/automation/enums/executeactionstatus.js",
"platform/automation/components/actions/actions.sms.js",
"platform/automation/components/actions/actions.email.js",
"platform/automation/components/actions/actions.notification.js",
"platform/automation/components/actions/actions.task.js",
"platform/automation/components/actions/actions.stagechange.js",
"platform/automation/components/actions/actions.apiintegrator.js",
"platform/automation/components/actions/actions.executequery.js",
"platform/automation/enums/automationmode.js",
"libs/querybuilder/query-builder.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"
];
}
html(id, containerid) {
let html = ``;
return html;
}
load(id, containerid, callback) {
}
init(containerid) {
this.render(containerid);
this.loadJsFiles();
}
render(containerid) {
return __awaiter(this, void 0, void 0, function* () {
$("." + containerid).empty();
let html = `<form id="frmUnibase_RuleActions" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light m-0">
<div class="b-b bg-white card-header">
<strong class="biz-highlight-bg-color title" id="">Rule Actions</strong>
<span class="badge badge-light badge-pill badge-outline span_ruleactions_count">0</span>
</div>
<div class="card-body scrollable p-0" style="height:100%;overflow-y:hidden scroll;">
<table class="table m-0">
<thead style="background: #EAECEE !important;">
<tr>
<th class="biz-list-header">Action Name</th>
<th class="biz-list-header">Action Type</th>
<th class="biz-list-header">Subject</th>
<th></th>
</tr>
</thead>
<tbody class="RuleActionslist_body bg-white text-dark font-14"></tbody>
</table>
</div>
<div class="bg-white card-footer footer" id="RuleActionsFooter">
</div>
</div>
</form>`;
return yield $("." + containerid).append(html);
});
}
loadJsFiles() {
var jsfiles = Unibase.Platform.Automation.Components.RuleActions.Instance().jsFiles();
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(jsfiles, function () {
let RuleId = "";
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_ruleid") {
RuleId = obj.Value.toString();
}
}
}
if (Number(RuleId) != 0) {
Unibase.Platform.Automation.Components.RuleActions.Instance().GetRuleActions(Number(RuleId));
}
});
}
GetRuleActions(RuleId) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleActions(RuleId).then(function (response) {
if (response.length > 0) {
$('.RuleActionslist_body').html('<tr class="RuleActionslist hidden"></tr>');
var html = "";
let RuleActions = response;
for (var i = 0; i < RuleActions.length; i++) {
let Status = RuleActions[i].ExecuteStatusId;
let StatusName = "";
let ChangeStatusName = "";
let statusbadge = "";
let ExecutedActionStatus;
let Subject = RuleActions[i].BString1;
if (Status == Number(Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved)) {
StatusName = "Active";
ChangeStatusName = "DeActivate";
ExecutedActionStatus = Unibase.Platform.Automation.Enums.ExecuteActionStatus.Draft;
statusbadge = "#fff";
}
else {
StatusName = "InActive";
ChangeStatusName = "Activate";
ExecutedActionStatus = Unibase.Platform.Automation.Enums.ExecuteActionStatus.Approved;
statusbadge = "#FFF1F1";
}
if (Subject == null) {
Subject = "NA";
}
html = '<tr style="background:' + statusbadge + '"><td class="widget-list-item-main-title">' + RuleActions[i].RuleActionName + '</td><td>' + RuleActions[i].ActionName + '</td><td>' + Subject + '</td><td><div><a href="javascript:;" data-toggle="dropdown" class="no-caret dropdown-toggle pull-right biz-transparent-text-color" id="" aria-expanded="false"><i class="fa fa-ellipsis-h mr-20"></i></a><ul class="dropdown-menu pull-right clearfix"><li class="dropdown-menu-item hidden"></li><li id=""><a class="dropdown-item biz-transparent-text-color" href="javascript:;" id="" onclick="Unibase.Platform.Automation.Components.RuleActions.Instance().ChangeRuleActionStatus(' + RuleActions[i].RuleActionId + ',' + ExecutedActionStatus + ');">' + ChangeStatusName + '</a></li><li><a href="javascript:;" data-toggle="dropdown" class="dropdown-item biz-transparent-text-color" id="" onclick="Unibase.Platform.Automation.Components.RuleActions.Instance().EditRuleAction(' + RuleActions[i].RuleActionId + ',' + RuleActions[i].ActionId + ',' + RuleActions[i].RuleId + ',' + RuleActions[i].ParentActionId + ',`' + RuleActions[i].ActionName + '`);" aria-expanded="false">Edit</a></li></ul></div></td></tr>';
$(".RuleActionslist:last").before(html);
}
$(".span_ruleactions_count").text(RuleActions.length);
}
else {
$(".RuleActionslist_body").html('<div class="alert alert-primary text-center mb-0 border-0 rounded-0 w-100 ">No Records Found</div>');
}
});
}
ChangeRuleActionStatus(RuleActionId, Status) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().UpdateRuleActionStatus(RuleActionId, Status).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
MessageHelper.Instance().showSuccess(response.message, " ");
Unibase.Platform.Automation.Components.RuleActions.Instance().GetRuleActions(response.result.RuleId);
}
});
}
EditRuleAction(RuleActionId, ActionId, RuleId, ParentActionId, ActionName) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(RuleId).then(function (ruleresponse) {
if (ruleresponse != null) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleresponse.RuleProviderId).then(function (ruleproviderresponse) {
if (ruleproviderresponse != null) {
let Action;
if (ActionName == "Send Email") {
Action = Unibase.Platform.Automation.Components.SendEmail.Instance();
}
else if (ActionName == "Send Sms") {
Action = Unibase.Platform.Automation.Components.SendSms.Instance();
}
else if (ActionName == "Send Task") {
Action = Unibase.Platform.Automation.Components.SendTask.Instance();
}
else if (ActionName == "Api Integration") {
Action = Unibase.Platform.Automation.Components.ApiIntegrator.Instance();
}
else if (ActionName == "Execute Query") {
Action = Unibase.Platform.Automation.Components.ExecuteQuery.Instance();
}
else if (ActionName == "Send Notification") {
Action = Unibase.Platform.Automation.Components.SendNotification.Instance();
}
else if (ActionName == "Property Change") {
Action = Unibase.Platform.Automation.Components.PropertyChange.Instance();
}
else if (ActionName == "Stage Change") {
Action = Unibase.Platform.Automation.Components.StageChange.Instance();
}
Action.RuleProviderId = ruleproviderresponse.RuleProviderId;
Action.ParentActionId = ParentActionId;
Action.ActionId = ActionId;
Action.RowIndex = 0;
Action.RuleActionData = [];
Action.IsAutomationMode = false;
if (ruleresponse.AutomationModeId == Number(Unibase.Platform.Automation.Enums.AutomationMode.NormalMode)) {
Action.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.NormalMode;
}
else {
Action.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode;
}
Unibase.Platform.Helpers.NavigationHelper.Instance().popup(RuleActionId, "", Action, null, Platform.Helpers.Size.DockLeft);
}
});
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new RuleActions();
}
return this.instance;
}
}
Components.RuleActions = RuleActions;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+24
View File
@@ -0,0 +1,24 @@
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(i){class r extends t.Core.BaseComponent{cssFiles(){return["libs/querybuilder/query-builder.default.css"]}jsFiles(){return["platform/automation/managers/rulemanager.js","platform/automation/enums/executeactionstatus.js","platform/automation/components/actions/actions.sms.js","platform/automation/components/actions/actions.email.js","platform/automation/components/actions/actions.notification.js","platform/automation/components/actions/actions.task.js","platform/automation/components/actions/actions.stagechange.js","platform/automation/components/actions/actions.apiintegrator.js","platform/automation/components/actions/actions.executequery.js","platform/automation/enums/automationmode.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"]}html(){return``}load(){}init(n){this.render(n);this.loadJsFiles()}render(n){return __awaiter(this,void 0,void 0,function*(){$("."+n).empty();let t=`<form id="frmUnibase_RuleActions" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light m-0">
<div class="b-b bg-white card-header">
<strong class="biz-highlight-bg-color title" id="">Rule Actions</strong>
<span class="badge badge-light badge-pill badge-outline span_ruleactions_count">0</span>
</div>
<div class="card-body scrollable p-0" style="height:100%;overflow-y:hidden scroll;">
<table class="table m-0">
<thead style="background: #EAECEE !important;">
<tr>
<th class="biz-list-header">Action Name</th>
<th class="biz-list-header">Action Type</th>
<th class="biz-list-header">Subject</th>
<th></th>
</tr>
</thead>
<tbody class="RuleActionslist_body bg-white text-dark font-14"></tbody>
</table>
</div>
<div class="bg-white card-footer footer" id="RuleActionsFooter">
</div>
</div>
</form>`;return yield $("."+n).append(t)})}loadJsFiles(){var t=n.Platform.Automation.Components.RuleActions.Instance().jsFiles();n.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(t,function(){let t="";if(n.Themes.Providers.Detail_Settings.Instance().InputParameters.length>0)for(let i of n.Themes.Providers.Detail_Settings.Instance().InputParameters)i.Key==="hf_"+n.Themes.Providers.DetailHelper.installedAppId+"_ruleid"&&(t=i.Value.toString());Number(t)!=0&&n.Platform.Automation.Components.RuleActions.Instance().GetRuleActions(Number(t))})}GetRuleActions(t){n.Platform.Automation.Managers.RuleManager.Instance().getRuleActions(t).then(function(t){var r,i;if(t.length>0){$(".RuleActionslist_body").html('<tr class="RuleActionslist hidden"><\/tr>');r="";let u=t;for(i=0;i<u.length;i++){let h=u[i].ExecuteStatusId,s="",t="",f="",e,o=u[i].BString1;h==Number(n.Platform.Automation.Enums.ExecuteActionStatus.Approved)?(s="Active",t="DeActivate",e=n.Platform.Automation.Enums.ExecuteActionStatus.Draft,f="#fff"):(s="InActive",t="Activate",e=n.Platform.Automation.Enums.ExecuteActionStatus.Approved,f="#FFF1F1");o==null&&(o="NA");r='<tr style="background:'+f+'"><td class="widget-list-item-main-title">'+u[i].RuleActionName+"<\/td><td>"+u[i].ActionName+"<\/td><td>"+o+'<\/td><td><div><a href="javascript:;" data-toggle="dropdown" class="no-caret dropdown-toggle pull-right biz-transparent-text-color" id="" aria-expanded="false"><i class="fa fa-ellipsis-h mr-20"><\/i><\/a><ul class="dropdown-menu pull-right clearfix"><li class="dropdown-menu-item hidden"><\/li><li id=""><a class="dropdown-item biz-transparent-text-color" href="javascript:;" id="" onclick="Unibase.Platform.Automation.Components.RuleActions.Instance().ChangeRuleActionStatus('+u[i].RuleActionId+","+e+');">'+t+'<\/a><\/li><li><a href="javascript:;" data-toggle="dropdown" class="dropdown-item biz-transparent-text-color" id="" onclick="Unibase.Platform.Automation.Components.RuleActions.Instance().EditRuleAction('+u[i].RuleActionId+","+u[i].ActionId+","+u[i].RuleId+","+u[i].ParentActionId+",`"+u[i].ActionName+'`);" aria-expanded="false">Edit<\/a><\/li><\/ul><\/div><\/td><\/tr>';$(".RuleActionslist:last").before(r)}$(".span_ruleactions_count").text(u.length)}else $(".RuleActionslist_body").html('<div class="alert alert-primary text-center mb-0 border-0 rounded-0 w-100 ">No Records Found<\/div>')})}ChangeRuleActionStatus(t,i){n.Platform.Automation.Managers.RuleManager.Instance().UpdateRuleActionStatus(t,i).then(function(t){t.status==n.Data.Status.Success&&(MessageHelper.Instance().showSuccess(t.message," "),n.Platform.Automation.Components.RuleActions.Instance().GetRuleActions(t.result.RuleId))})}EditRuleAction(i,r,u,f,e){n.Platform.Automation.Managers.RuleManager.Instance().getRule(u).then(function(u){u!=null&&n.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(u.RuleProviderId).then(function(o){if(o!=null){let s;e=="Send Email"?s=n.Platform.Automation.Components.SendEmail.Instance():e=="Send Sms"?s=n.Platform.Automation.Components.SendSms.Instance():e=="Send Task"?s=n.Platform.Automation.Components.SendTask.Instance():e=="Api Integration"?s=n.Platform.Automation.Components.ApiIntegrator.Instance():e=="Execute Query"?s=n.Platform.Automation.Components.ExecuteQuery.Instance():e=="Send Notification"?s=n.Platform.Automation.Components.SendNotification.Instance():e=="Property Change"?s=n.Platform.Automation.Components.PropertyChange.Instance():e=="Stage Change"&&(s=n.Platform.Automation.Components.StageChange.Instance());s.RuleProviderId=o.RuleProviderId;s.ParentActionId=f;s.ActionId=r;s.RowIndex=0;s.RuleActionData=[];s.IsAutomationMode=!1;s.AutomationMode=u.AutomationModeId==Number(n.Platform.Automation.Enums.AutomationMode.NormalMode)?n.Platform.Automation.Enums.AutomationMode.NormalMode:n.Platform.Automation.Enums.AutomationMode.AdvancedMode;n.Platform.Helpers.NavigationHelper.Instance().popup(i,"",s,null,t.Helpers.Size.DockLeft)}})})}static Instance(){return this.instance===undefined&&(this.instance=new r),this.instance}}i.RuleActions=r})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,94 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class ImportLog extends Platform.Core.BaseComponent {
static Instance() {
if (this.instance == undefined) {
this.instance = new ImportLog();
}
return this.instance;
}
cssFiles() {
var css = [];
return css;
}
jsFiles() {
return ['platform/automation/managers/rulemanager.js'];
}
logType(type) {
}
html(id, containerid) {
return `<div class="modal-body p-0"><form id="frmUnibase_ActionsData" data-validate="parsley" data-isdynamic="false">
<table class="table mainLog">
<tr class="card-header" style="background-color:#a1a1a1"><th>Imported Date</th><th>Log</th></tr>
<tbody class="card-body error_logs" style="overflow-y: scroll;">
</tbody>
</table>
<table class="table childLog hidden">
<tr class="card-header" style="background-color:#a1a1a1"><th>ProcessId</th><th>Error Message</th><th>Stack Trace</th></tr>
<tbody class="card-body child_errorlogs" style="overflow-y: scroll;">
</tbody>
</table>
</form></div><div class="bg-white modal-footer w-100" style="position:absolute;bottom:2px" id="importlog_footer">
<a href="javascript:;" id="btnCloseImportlog" class="btn btn-light btn-sm mr-auto">Close</a></div>`;
}
;
load(id, containerid, callback) {
const instance = this;
$('#btnCloseImportlog').click(function () {
if ($('.mainLog').hasClass('hidden')) {
$('.childLog').addClass('hidden');
$('.mainLog').removeClass('hidden');
}
else {
instance.navigationHelper.closePopUp();
}
});
Unibase.Platform.Automation.Components.ImportLog.Instance().getImportLogs();
}
getImportLogs() {
var logtype = $('.report-title-dp-wrapper').children('.widget-font').children().attr('data-content');
Unibase.Platform.Automation.Managers.RuleManager.Instance().getImportLogs(logtype).then(function (response) {
var html = '<center style="position:absolute;top:100px;left:500px"><b>No Imports Found</b></center>';
if (response.result != null && response.result.length > 0) {
ImportLog.ImportLogs = response.result;
var processObject = [];
html = '';
for (let i = 0; i < ImportLog.ImportLogs.length; i++) {
var data = processObject.find(x => x == ImportLog.ImportLogs[i].ProcessId);
if (data == undefined) {
processObject.push(ImportLog.ImportLogs[i].ProcessId);
var date = moment.utc(ImportLog.ImportLogs[i].ImportDate).format("DD MMMM YYYY HH:mm:ss");
html += '<tr><td>' + date + '</td><td><a class="innerchildlog" data-processid=' + ImportLog.ImportLogs[i].ProcessId + ' style="color:blue">log</a></td></tr>';
}
}
}
$('.error_logs').html(html);
$('.innerchildlog').click(function () {
var processid = $(this).attr('data-processid');
Unibase.Platform.Automation.Components.ImportLog.Instance().appendErrorLogsByProcessId(processid);
});
});
}
appendErrorLogsByProcessId(processId) {
$('.mainLog').addClass('hidden');
$('.childLog').removeClass('hidden');
var html = '';
var resultdata = ImportLog.ImportLogs.filter(x => x.ProcessId == processId);
for (let i = 0; i < resultdata.length; i++) {
html += '<tr><td>' + resultdata[i].ProcessId + '</td><td>' + resultdata[i].ErrorMessage + '</td><td>' + resultdata[i].StackTrace + '</td></tr>';
}
$('.child_errorlogs').html(html);
}
}
ImportLog.ImportLogs = [];
Components.ImportLog = ImportLog;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1,129 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class ImportRule extends Platform.Core.BaseComponent {
constructor() {
super();
this.navigationhelper = Unibase.Platform.Helpers.NavigationHelper.Instance();
}
cssFiles() {
var cssfiles = ["libs/nestable/JqueryminMenu.css"];
return cssfiles;
}
jsFiles() {
return ['platform/automation/managers/rulemanager.js',
'platform/automation/components/rulebuilder/importrule.js',
"platform/forms/components/formviewer/formviewer.js",
'libs/parsley/parsley.min.js',
'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
var instance = this;
let html = '<form id="form_ImportRule" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"></div><div class="b-b bg-white header dataApiHeader"><strong>Import Rule</strong></div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import</div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportRule.Instance().FileUpload(\'' + containerid + '\');">Upload</a></div></div></div><div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div></div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div></form>';
return html;
}
showImport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Automation.Components.ImportRule.Instance(), null, Platform.Helpers.Size.Large);
}
FileUpload(containerid) {
var instance = this;
instance.navigationHelper.showLoading();
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/importrules/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Automation.Components.ImportRule.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showSuccess("SuccessFully Imported", "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Automation.Components.ImportRule.Instance().fileEvent(e);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Automation.Components.ImportRule.fileData = new FormData();
Unibase.Platform.Automation.Components.ImportRule.fileData.append(fileSelected.name, fileSelected);
}
exportSingleRule() {
var _fileCacheHelper = this.fileCacheHelper;
var ruleid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid").Value);
var rulename = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_rulename").Value;
if (rulename == undefined || rulename == null) {
rulename = "Rules.xml";
}
_fileCacheHelper.loadJsFileAsync('platform/automation/managers/rulemanager.js', function () {
Automation.Managers.RuleManager.Instance().exportSingleRule(ruleid).then(function (response) {
var filename = rulename + ".xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
exportsRules() {
var _fileCacheHelper = this.fileCacheHelper;
var instance = this;
_fileCacheHelper.loadJsFileAsync('platform/automation/managers/rulemanager.js', function () {
Automation.Managers.RuleManager.Instance().exportRules().then(function (response) {
var filename = "Rules.xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ImportRule();
}
return this.instance;
}
}
ImportRule.fileData = new FormData();
Components.ImportRule = ImportRule;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.navigationhelper=n.Platform.Helpers.NavigationHelper.Instance()}cssFiles(){return["libs/nestable/JqueryminMenu.css"]}jsFiles(){return["platform/automation/managers/rulemanager.js","platform/automation/components/rulebuilder/importrule.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","/platform/core/helpers/file/filehelper.js"]}html(n,t){var i=this;return'<form id="form_ImportRule" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"><\/div><div class="b-b bg-white header dataApiHeader"><strong>Import Rule<\/strong><\/div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import<\/div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportRule.Instance().FileUpload(\''+t+'\');">Upload<\/a><\/div><\/div><\/div><div class="hidden" id="div_Export"><span id="sp_formName"><\/span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download<\/a><\/div><\/div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close<\/button><\/div><\/form>'}showImport(){this.navigationHelper.popup(0,"",n.Platform.Automation.Components.ImportRule.Instance(),null,t.Helpers.Size.Large)}FileUpload(i){var r=this,u;r.navigationHelper.showLoading();u=_appsettings.server_url()+"/apis/v4/unibase/notificationrule/platform/importrules/np";t.Helpers.FileHelper.Instance().upload(u,n.Platform.Automation.Components.ImportRule.fileData).then(function(t){t.status==n.Data.Status.Error?(r.navigationHelper.hideLoading(),MessageHelper.Instance().showError(t.message,"div_importmessage")):(r.navigationHelper.hideLoading(),MessageHelper.Instance().showSuccess(t.message,"div_importmessage"),$("#"+i).modal("hide"),$("#"+i).remove())})}load(t,i){var r=this;$("#btn_CloseImport").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(t){n.Platform.Automation.Components.ImportRule.Instance().fileEvent(t)});$("#txt_Icon").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_Icon").focusout(function(){$(".div_Icons").fadeOut()})}fileEvent(t){const i=t.target.files[0];n.Platform.Automation.Components.ImportRule.fileData=new FormData;n.Platform.Automation.Components.ImportRule.fileData.append(i.name,i)}exportSingleRule(){var r=this.fileCacheHelper,u=this,t=0;if(n.Themes.Providers.Detail_Settings.Instance().InputParameters.length>0)for(let i of n.Themes.Providers.Detail_Settings.Instance().InputParameters)i.Key==="hf_"+n.Themes.Providers.DetailHelper.installedAppId+"_recordid"&&(t=Number(i.Value));r.loadJsFileAsync("platform/automation/managers/rulemanager.js",function(){i.Managers.RuleManager.Instance().exportSingleRule(t).then(function(n){var i=n.result,t=document.createElement("a"),r=new Blob([i],{type:"text/plain"});t.setAttribute("href",window.URL.createObjectURL(r));t.setAttribute("download","Rules.xml");t.dataset.downloadurl=["text/plain",t.download,t.href].join(":");t.draggable=!0;t.classList.add("dragout");t.click()})})}exportsRules(){var n=this.fileCacheHelper,t=this;n.loadJsFileAsync("platform/automation/managers/rulemanager.js",function(){i.Managers.RuleManager.Instance().exportRules().then(function(n){var i=n.result,t=document.createElement("a"),r=new Blob([i],{type:"text/plain"});t.setAttribute("href",window.URL.createObjectURL(r));t.setAttribute("download","Rules.xml");t.dataset.downloadurl=["text/plain",t.download,t.href].join(":");t.draggable=!0;t.classList.add("dragout");t.click()})})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.fileData=new FormData;r.ImportRule=u})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,85 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class ImportRuleProvider extends Platform.Core.BaseComponent {
cssFiles() {
var cssfiles = ["libs/nestable/JqueryminMenu.css"];
return cssfiles;
}
jsFiles() {
return ['platform/automation/managers/rulemanager.js',
'platform/automation/components/rulebuilder/importruleprovider.js',
"platform/forms/components/formviewer/formviewer.js",
'libs/parsley/parsley.min.js',
'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
var instance = this;
let html = '<form id="form_ImportRuleProvider" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"></div><div class="b-b bg-white header dataApiHeader"><strong>Import RuleProvider</strong></div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import</div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportRuleProvider.Instance().FileUpload(\'' + containerid + '\');">Upload</a></div></div></div><div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div></div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div></form>';
return html;
}
showImport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Automation.Components.ImportRuleProvider.Instance(), null, Platform.Helpers.Size.Large);
}
FileUpload(containerid) {
var instance = this;
instance.navigationHelper.showLoading();
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/importruleproviders/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Automation.Components.ImportRuleProvider.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Automation.Components.ImportRuleProvider.Instance().fileEvent(e);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Automation.Components.ImportRuleProvider.fileData = new FormData();
Unibase.Platform.Automation.Components.ImportRuleProvider.fileData.append(fileSelected.name, fileSelected);
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ImportRuleProvider();
}
return this.instance;
}
}
ImportRuleProvider.fileData = new FormData();
Components.ImportRuleProvider = ImportRuleProvider;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"importruleprovider.js","sourceRoot":"","sources":["importruleprovider.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CA0FZ;AA1FL,WAAU,OAAO;IACb,IAAiB,QAAQ,CAwFpB;IAxFL,WAAiB,QAAQ;QACrB,IAAiB,UAAU,CAsFtB;QAtFL,WAAiB,UAAU;YACvB,IAAiB,UAAU,CAoFtB;YApFL,WAAiB,UAAU;gBACnB,MAAa,kBAAmB,SAAQ,SAAA,IAAI,CAAC,aAAa;oBAGtD,QAAQ;wBACJ,IAAI,QAAQ,GAAG,CAAC,iCAAiC,CAAC,CAAC;wBACnD,OAAO,QAAQ,CAAC;oBACpB,CAAC;oBAED,OAAO;wBACH,OAAO,CAAC,6CAA6C;4BACjD,kEAAkE;4BAClE,oDAAoD;4BACpD,6BAA6B;4BAC7B,+BAA+B,EAAE,2CAA2C,CAAC,CAAC;oBACtF,CAAC;oBACD,IAAI,CAAC,EAAE,EAAE,WAAW;wBAChB,IAAI,QAAQ,GAAG,IAAI,CAAC;wBAEpB,IAAI,IAAI,GAAG,yrBAAyrB,GAAC,WAAW,GAAC,kUAAkU,CAAC;wBACphC,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,UAAU;wBACN,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvI,CAAC;oBACD,UAAU,CAAC,WAAW;wBAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;wBACxC,IAAI,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,mEAAmE,CAAC;wBAC1G,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;4BAC1I,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gCACtC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;gCACxC,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;6BAC7E;iCACI;gCACD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;gCACxC,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;gCAC5E,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;6BAEjC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,QAAkB;wBACpC,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;4BACxB,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;wBAElC,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;4BACnB,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAChD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;wBAC3C,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;4BAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBACtF,CAAC,CAAC,CAAC;wBAEH,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;4BACjB,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;4BACzB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAClC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;wBAE1C,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;4BACpB,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;wBAE9B,CAAC,CAAC,CAAA;oBACN,CAAC;oBACD,SAAS,CAAC,MAAM;wBACZ,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;wBACpF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBAC/G,CAAC;oBAGD,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;yBAC5C;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;;gBAhFM,2BAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;gBADxB,6BAAkB,qBAkF9B,CAAA;YACL,CAAC,EApFY,UAAU,GAAV,qBAAU,KAAV,qBAAU,QAoFtB;QACL,CAAC,EAtFY,UAAU,GAAV,mBAAU,KAAV,mBAAU,QAsFtB;IACL,CAAC,EAxFY,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAwFpB;AACL,CAAC,EA1FK,OAAO,KAAP,OAAO,QA0FZ"}
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(i){class r extends t.Core.BaseComponent{cssFiles(){return["libs/nestable/JqueryminMenu.css"]}jsFiles(){return["platform/automation/managers/rulemanager.js","platform/automation/components/rulebuilder/importruleprovider.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","/platform/core/helpers/file/filehelper.js"]}html(n,t){var i=this;return'<form id="form_ImportRuleProvider" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"><\/div><div class="b-b bg-white header dataApiHeader"><strong>Import RuleProvider<\/strong><\/div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import<\/div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportRuleProvider.Instance().FileUpload(\''+t+'\');">Upload<\/a><\/div><\/div><\/div><div class="hidden" id="div_Export"><span id="sp_formName"><\/span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download<\/a><\/div><\/div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close<\/button><\/div><\/form>'}showImport(){this.navigationHelper.popup(0,"",n.Platform.Automation.Components.ImportRuleProvider.Instance(),null,t.Helpers.Size.Large)}FileUpload(i){var r=this,u;r.navigationHelper.showLoading();u=_appsettings.server_url()+"/apis/v4/unibase/notificationrule/platform/importruleproviders/np";t.Helpers.FileHelper.Instance().upload(u,n.Platform.Automation.Components.ImportRuleProvider.fileData).then(function(t){t.status==n.Data.Status.Error?(r.navigationHelper.hideLoading(),MessageHelper.Instance().showError(t.message,"div_importmessage")):(r.navigationHelper.hideLoading(),MessageHelper.Instance().showSuccess(t.message,"div_importmessage"),$("#"+i).modal("hide"),$("#"+i).remove())})}load(t,i){var r=this;$("#btn_CloseImport").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(t){n.Platform.Automation.Components.ImportRuleProvider.Instance().fileEvent(t)});$("#txt_Icon").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_Icon").focusout(function(){$(".div_Icons").fadeOut()})}fileEvent(t){const i=t.target.files[0];n.Platform.Automation.Components.ImportRuleProvider.fileData=new FormData;n.Platform.Automation.Components.ImportRuleProvider.fileData.append(i.name,i)}static Instance(){return this.instance===undefined&&(this.instance=new r),this.instance}}r.fileData=new FormData;i.ImportRuleProvider=r})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,125 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class ImportEventTemplate extends Platform.Core.BaseComponent {
cssFiles() {
var cssfiles = ["libs/nestable/JqueryminMenu.css"];
return cssfiles;
}
jsFiles() {
return ['platform/automation/managers/rulemanager.js',
"platform/forms/components/formviewer/formviewer.js",
'libs/parsley/parsley.min.js',
'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
var instance = this;
let html = '<form id="form_ImportTemplateProvider" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"></div><div class="b-b bg-white header dataApiHeader"><strong>Import Template</strong></div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import</div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportEventTemplate.Instance().FileUpload(\'' + containerid + '\');">Upload</a></div></div></div><div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div></div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div></form>';
return html;
}
showImport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Automation.Components.ImportEventTemplate.Instance(), null, Platform.Helpers.Size.Large);
}
FileUpload(containerid) {
var instance = this;
instance.navigationHelper.showLoading();
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/ImportEventTemplates/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Automation.Components.ImportEventTemplate.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Automation.Components.ImportEventTemplate.Instance().fileEvent(e);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Automation.Components.ImportEventTemplate.fileData = new FormData();
Unibase.Platform.Automation.Components.ImportEventTemplate.fileData.append(fileSelected.name, fileSelected);
}
exporteventtemplates() {
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().exporteventtemplates().then(function (response) {
var filename = "EventTemplate.xml";
var xmltext = response;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
exportsingletemplates() {
var doctypeid = 0;
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_doctypeid") {
doctypeid = Number(obj.Value);
}
}
}
var instance = this;
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().exportsingletemplate(doctypeid).then(function (response) {
var filename = "EventTemplate.xml";
var xmltext = response;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ImportEventTemplate();
}
return this.instance;
}
}
ImportEventTemplate.fileData = new FormData();
Components.ImportEventTemplate = ImportEventTemplate;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,166 @@
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 NotificationGroup extends Platform.Core.BaseComponent {
cssFiles() {
return [''];
}
jsFiles() {
return ['platform/automation/managers/notificationgroupmanager.js', 'platform/automation/requests/notificationgroup.js'];
}
html(id, containerid) {
let html = `<form id="frmUnibase_NotificationGroup" data-validate="parsley" data-isdynamic="false">
<div id="Validate_NotificationGroup" class="clear"></div>
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_NotificationGroup">Create NotificationGroup</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divNotificationGrp">
<div id="unibase_ValidationSummary" class="clear"></div>
<input type="hidden" class="hd_notificatiobgroupid" value="0">
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="floating-label-form-group">
<span class="ml-2" id="lbl_notificationgrp">Group Name</span>
<input type="text" id="txt_GrpName" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Group Name*" data-placeholder="Enter GroupName" data-label="GroupName Name*" />
<input type="hidden" id="hf_Grpname_notification" />
<label for="Validation" id="lblValidation_GrpNotification"></label>
</div>
</div>
<div class="col-sm-6">
<div class="floating-label-form-group">
<span class="font-bold ml-2">Group Index</span><input type="text" id="txt_GrpIndex" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Group Index*" data-label="GroupIndex" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="Notification_groupfooter">
<button id="btnCloseGroup" class="btn btn-secondary btn-sm mr-auto">Close</button>
<button id="btnSaveGroup" class="btn btn-primary btn-sm pull-right">Save</button>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
$('#btnSaveGroup').click(function () {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().saveNotificationGroup(containerid);
});
$('#btnCloseGroup').click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
if (id == 0) {
Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().GetCurrentIndex().then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
$('#txt_GrpIndex').attr("disabled", "true").val(response.result);
}
});
}
else {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().EditNotificationGroup(id);
}
}
init(recoderid, callback, isaction) {
NotificationGroup.IsAction = isaction;
this.navigationHelper.popup(recoderid, '', Unibase.Platform.Automation.Components.NotificationGroup.Instance(), callback, Platform.Helpers.Size.DockLeft);
}
loadNotificationsGroups(iscreate) {
var Pk_Value = 0;
if (!iscreate) {
Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId;
}
this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Automation.Components.NotificationGroup.Instance(), null, Platform.Helpers.Size.DockLeft);
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(Number(Pk_Value), null);
}
EditNotificationGroup(Id) {
$('.hd_notificatiobgroupid').val(Id);
$('#Form_NotificationGroup').text('Edit NotificationGroup');
Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().GetNotificationGroupInfo(Id).then(function (response) {
if (response != null) {
NotificationGroup.GroupName = response.NotificationGroupName;
$('#txt_GrpName').val(response.NotificationGroupName);
$('#txt_GrpIndex').attr("disabled", "true").val(response.Index);
}
});
}
saveNotificationGroup(containerid) {
var groupname = $('#txt_GrpName').val();
if (groupname == undefined || groupname == null || groupname == '') {
MessageHelper.Instance().showError('GroupName Is Mandatory', "Validate_NotificationGroup");
return;
}
if (groupname == NotificationGroup.GroupName) {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Helpers.NavigationHelper.Instance().loadList(Unibase.Platform.Automation.Components.RuleProvider.installedappid, null);
return;
}
var object = new Unibase.Platform.Automation.Requests.NotificationGroup();
object.NotificationGroupId = Number($('.hd_notificatiobgroupid').val());
object.NotificationGroupName = groupname.toString();
object.Index = Number($('#txt_GrpIndex').val());
Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().saveNotificationGroup(object).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
MessageHelper.Instance().showSuccess(response.message, "Validate_NotificationGroup");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (NotificationGroup.IsAction) {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().LoadNotificationGroups();
}
else {
Unibase.Platform.Helpers.NavigationHelper.Instance().loadList(Unibase.Platform.Automation.Components.RuleProvider.installedappid, null);
}
}
else {
MessageHelper.Instance().showError(response.message, "Validate_NotificationGroup");
}
});
}
LoadNotificationGroups() {
return __awaiter(this, void 0, void 0, function* () {
yield Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().GetNotificationGroups().then(function (response) {
if (response != null) {
var html = '<option value="0">Select GroupName</option>';
for (let i = 0; i < response.length; i++) {
html += '<option value=' + response[i].NotificationGroupId + '>' + response[i].NotificationGroupName + '</option>';
}
$('#ddl_NotificationGrp').html(html);
}
});
});
}
static Instance() {
if (this.instance == undefined) {
this.instance = new NotificationGroup();
}
return this.instance;
}
}
NotificationGroup.GroupName = null;
NotificationGroup.IsAction = false;
Components.NotificationGroup = NotificationGroup;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,168 @@
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 AdvRule extends Platform.Core.BaseComponent {
jsFiles() {
var jsfiles = ["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/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",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_AdvRule" 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_AdvRule">Create Rule</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="AdvRuleDetails">
<div id="Validate_AdvRule" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl_AdvRule" id="lbl_AdvRule">Rule Name<span class="text-danger">*</span></label>
<input type="text" id="txt_AdvRule" 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_AdvRule" />
<label for="Validation" id="lblValidation_AdvRule"></label>
</div>
</div>
</div>
<div class="row mt-10">
<div class="col-sm-6">
Installed App<span class="text-danger">*</span>
<select id="Autocomplete_InstalledApp" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_Autocomplete_InstalledApp" value="" />
</div>
<div class="col-sm-6">
Rule Provider<span class="text-danger">*</span>
<select id="Autocomplete_RuleProvider" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_Autocomplete_RuleProvider" value="" />
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateAdvRuleFooter">
<a href="javascript:;" id="btnCloseAdvRule" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveAdvRule" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
Unibase.Platform.Automation.Components.AdvRule.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode;
$("#btnCloseAdvRule").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btnSaveAdvRule").click(function () {
let appcontrolid = "frmUnibase_AdvRule";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_AdvRule");
return false;
}
else {
Unibase.Platform.Automation.Components.AdvRule.Instance().SaveRule(id, containerid);
}
});
if (id != "") {
Unibase.Platform.Automation.Components.AdvRule.Instance().EditRule(id);
}
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
AutoCompleteHelper.getHelper().Create("#Autocomplete_InstalledApp", "#hf_Autocomplete_InstalledApp", url, function (response) {
var data = response;
});
$("#Autocomplete_InstalledApp").change(function () {
let InstalledappId = Number($("#Autocomplete_InstalledApp option:selected").val());
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/ruleprovidersautocomplete/InstalledAppId/' + InstalledappId;
AutoCompleteHelper.getHelper().Create("#Autocomplete_RuleProvider", "hf_Autocomplete_RuleProvider", url, function (response) {
var data = response;
});
});
}
SaveRule(id, containerid) {
return __awaiter(this, void 0, void 0, function* () {
let ruleid = Number(id);
let model = new Unibase.Platform.Automation.Requests.Rule();
model.RuleId = ruleid;
model.RuleName = $("#txt_Rule").val().toString();
model.RuleProviderId = Number($("#ddl_RuleProvider option:selected").val());
model.AutomationModeId = Number(Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode);
model.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event;
yield Automation.Managers.RuleManager.Instance().saveRule(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_RuleEvent");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_RuleEvent");
eval("bizgaze_automation_flow_main.saveruleblock('" + response.result.RuleId + "','" + response.result.RuleName + "','" + response.result.RuleProviderId + "')");
Components.RuleEvent.Instance().SaveRuleEvent(id, containerid);
}
});
});
}
EditRule(id) {
let ruleid = Number(id);
$("#Form_AdvRule").text("Edit Rule");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(ruleid).then(function (response) {
let ruleid = response.RuleId;
$("#hf_RuleProvider").val(response.RuleProviderId);
$("#txt_AdvRule").val(response.RuleName);
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(response.RuleProviderId).then(function (response) {
var installedappoption = new Option(response.AppTitle, response.InstalledAppId.toString(), true);
$("#Autocomplete_InstalledApp").append(installedappoption);
var ruleprovideroption = new Option(response.RuleProviderName, response.RuleProviderId.toString(), true);
$("#Autocomplete_RuleProvider").append(ruleprovideroption);
eval('_floatingLabelHelper.init();');
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new AdvRule();
}
return this.instance;
}
}
AdvRule.AutomationMode = 0;
Components.AdvRule = AdvRule;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"rulebuilder.advrule.js","sourceRoot":"","sources":["rulebuilder.advrule.ts"],"names":[],"mappings":";;;;;;;;;AAAA,IAAU,OAAO,CA2JhB;AA3JD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAyJxB;IAzJD,WAAiB,QAAQ;QACrB,IAAiB,UAAU,CAuJ1B;QAvJD,WAAiB,UAAU;YACvB,IAAiB,UAAU,CAqJ1B;YArJD,WAAiB,UAAU;gBACvB,MAAa,OAAQ,SAAQ,SAAA,IAAI,CAAC,aAAa;oBAE3C,OAAO;wBACH,IAAI,OAAO,GAAG,CAAC,6CAA6C;4BACxD,iDAAiD;4BACjD,8CAA8C;4BAC9C,wCAAwC;4BACxC,wCAAwC;4BACxC,oCAAoC;4BACpC,6CAA6C;4BAC7C,kDAAkD;4BAClD,8CAA8C;4BAC9C,sCAAsC;4BACtC,2CAA2C;4BAC3C,4CAA4C;4BAC5C,+CAA+C;4BAC/C,qEAAqE;4BACrE,oDAAoD;4BACpD,6BAA6B;yBAChC,CAAC;wBACF,OAAO,OAAO,CAAC;oBACnB,CAAC;oBACD,QAAQ;wBACJ,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,IAAI,CAAC,EAAE,EAAE,WAAW;wBAChB,IAAI,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAyCS,CAAC;wBACrB,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,IAAI,CAAC,EAAO,EAAE,WAAmB,EAAE,QAAkB;wBACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC;wBAC9H,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;4BACxB,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;wBAClC,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;4BACvB,IAAI,YAAY,GAAG,oBAAoB,CAAC;4BACxC,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;4BAC3G,IAAI,MAAM,IAAI,KAAK,EAAE;gCACjB,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,CAAC;gCACvF,OAAO,KAAK,CAAC;6BAChB;iCACI;gCACD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;6BACvF;wBACL,CAAC,CAAC,CAAC;wBACH,IAAI,EAAE,IAAI,EAAE,EAAE;4BACV,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;yBAC1E;wBACD,IAAI,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,yDAAyD,CAAA;wBAC/F,kBAAkB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,4BAA4B,EAAE,+BAA+B,EAAE,GAAG,EAAE,UAAU,QAAQ;4BACxH,IAAI,IAAI,GAAG,QAAQ,CAAC;wBACxB,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC;4BACnC,IAAI,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;4BACnF,IAAI,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,sFAAsF,GAAG,cAAc,CAAC;4BAC9I,kBAAkB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,4BAA4B,EAAE,8BAA8B,EAAE,GAAG,EAAE,UAAU,QAAQ;gCACvH,IAAI,IAAI,GAAG,QAAQ,CAAC;4BACxB,CAAC,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;oBAEP,CAAC;oBAEE,QAAQ,CAAC,EAAE,EAAE,WAAW;;4BACvB,IAAI,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;4BACxB,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;4BAC5D,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;4BACtB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;4BACjD,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;4BAE5E,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;4BAC/F,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAClE,MAAM,WAAA,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,QAAa;gCAC9E,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oCACtC,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;iCAC9E;qCACI;oCACD,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;oCAC7E,IAAI,CAAC,8CAA8C,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;oCAClK,WAAA,SAAS,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;iCACtD;4BACL,CAAC,CAAC,CAAC;wBACP,CAAC;qBAAA;oBACD,QAAQ,CAAC,EAAE;wBACP,IAAI,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;wBACxB,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;4BAC/F,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAC7B,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;4BACnD,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;4BACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;gCACxH,IAAI,kBAAkB,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;gCACjG,CAAC,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gCAC3D,IAAI,kBAAkB,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;gCACzG,CAAC,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gCAC3D,IAAI,CAAC,8BAA8B,CAAC,CAAC;4BACzC,CAAC,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;yBACjC;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;;gBAjJM,sBAAc,GAAqD,CAAC,CAAC;gBADnE,kBAAO,UAmJnB,CAAA;YACL,CAAC,EArJgB,UAAU,GAAV,qBAAU,KAAV,qBAAU,QAqJ1B;QACL,CAAC,EAvJgB,UAAU,GAAV,mBAAU,KAAV,mBAAU,QAuJ1B;IACL,CAAC,EAzJgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAyJxB;AACL,CAAC,EA3JS,OAAO,KAAP,OAAO,QA2JhB"}
@@ -0,0 +1,42 @@
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{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/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","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js"]}cssFiles(){return[]}html(){return`<form id="frmUnibase_AdvRule" 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_AdvRule">Create Rule</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="AdvRuleDetails">
<div id="Validate_AdvRule" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl_AdvRule" id="lbl_AdvRule">Rule Name<span class="text-danger">*</span></label>
<input type="text" id="txt_AdvRule" 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_AdvRule" />
<label for="Validation" id="lblValidation_AdvRule"></label>
</div>
</div>
</div>
<div class="row mt-10">
<div class="col-sm-6">
Installed App<span class="text-danger">*</span>
<select id="Autocomplete_InstalledApp" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_Autocomplete_InstalledApp" value="" />
</div>
<div class="col-sm-6">
Rule Provider<span class="text-danger">*</span>
<select id="Autocomplete_RuleProvider" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_Autocomplete_RuleProvider" value="" />
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateAdvRuleFooter">
<a href="javascript:;" id="btnCloseAdvRule" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveAdvRule" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`}load(t,i){n.Platform.Automation.Components.AdvRule.AutomationMode=n.Platform.Automation.Enums.AutomationMode.AdvancedMode;$("#btnCloseAdvRule").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btnSaveAdvRule").click(function(){let r=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("frmUnibase_AdvRule");if(r==!1)return MessageHelper.Instance().showError("Mandatory fields are missing","Validate_AdvRule"),!1;n.Platform.Automation.Components.AdvRule.Instance().SaveRule(t,i)});t!=""&&n.Platform.Automation.Components.AdvRule.Instance().EditRule(t);var r=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/installedappautocomplete";AutoCompleteHelper.getHelper().Create("#Autocomplete_InstalledApp","#hf_Autocomplete_InstalledApp",r,function(n){var t=n});$("#Autocomplete_InstalledApp").change(function(){let n=Number($("#Autocomplete_InstalledApp option:selected").val());var t=_appsettings.server_url()+"/apis/v4/unibase/notificationrule/platform/ruleprovidersautocomplete/InstalledAppId/"+n;AutoCompleteHelper.getHelper().Create("#Autocomplete_RuleProvider","hf_Autocomplete_RuleProvider",t,function(n){var t=n})})}SaveRule(t,u){return __awaiter(this,void 0,void 0,function*(){let e=Number(t),f=new n.Platform.Automation.Requests.Rule;f.RuleId=e;f.RuleName=$("#txt_Rule").val().toString();f.RuleProviderId=Number($("#ddl_RuleProvider option:selected").val());f.AutomationModeId=Number(n.Platform.Automation.Enums.AutomationMode.AdvancedMode);f.RuleType=n.Platform.Automation.Enums.RuleType.Event;yield i.Managers.RuleManager.Instance().saveRule(f).then(function(i){i.status==n.Data.Status.Error?MessageHelper.Instance().showError(i.message,"Validate_RuleEvent"):(MessageHelper.Instance().showSuccess(i.message,"Validate_RuleEvent"),eval("bizgaze_automation_flow_main.saveruleblock('"+i.result.RuleId+"','"+i.result.RuleName+"','"+i.result.RuleProviderId+"')"),r.RuleEvent.Instance().SaveRuleEvent(t,u))})})}EditRule(t){let i=Number(t);$("#Form_AdvRule").text("Edit Rule");n.Platform.Automation.Managers.RuleManager.Instance().getRule(i).then(function(t){let i=t.RuleId;$("#hf_RuleProvider").val(t.RuleProviderId);$("#txt_AdvRule").val(t.RuleName);n.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(t.RuleProviderId).then(function(n){var i=new Option(n.AppTitle,n.InstalledAppId.toString(),!0),t;$("#Autocomplete_InstalledApp").append(i);t=new Option(n.RuleProviderName,n.RuleProviderId.toString(),!0);$("#Autocomplete_RuleProvider").append(t);eval("_floatingLabelHelper.init();")})})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.AutomationMode=0;r.AdvRule=u})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,231 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class RuleCondition {
init() {
}
getGlobalCondition() {
let html = `<form id="frmUnibase_Condition" data-validate="parsley" data-isdynamic="false">
<div class="row">
<label class="col-sm-4">Attribute Name</label>
<label class="col-sm-4">Condition</label>
<label class="col-sm-4">Value</label>
</div>
<div class="row">
<div class="col-sm-4 mt-5">
<select id="ddl_PropertyName" class="form-control value-control" data-isdynamic="true">
<option value="">Select</option>
</select>
<input type="hidden" id="hf_PropertyName">
</div>
<div class="col-sm-4 mt-5">
<select id="ddl_Operator" class="form-control value-control" data-isdynamic="true">
<option value="0">Select</option>
<option value="1">Equals</option>
<option value="2">NotEquals</option>
<option value="3">EqualsColumn</option>
<option value="4">NotEqualsColumn</option>
<option value="5">GreaterThan</option>
<option value="6">GreaterThanOrEquals</option>
<option value="7">LessThan</option>
<option value="8">LessThanOrEquals</option>
<option value="9">GreaterThanColumn</option>
<option value="10">GreaterThanOrEqualsColumn</option>
<option value="11">LessThanColumn</option>
<option value="12">LessThanOrEqualsColumn</option>
<option value="13">Empty</option>
<option value="14">NotEmpty</option>
<option value="15">Contains</option>
<option value="16">DoesNotContains</option>
<option value="17">StartsWith</option>
<option value="18">EndsWith</option>
<option value="19">In</option>
<option value="20">NotIn</option>
<option value="21">Between</option>
<option value="22">NotBetween</option>
<option value="23">Date</option>
</select>
<input type="hidden" id="hf_Operator">
</div>
<div class="col-sm-3 mt-5">
<input type="text" id="txt_Value" class="form-control value-control floating-label-control" placeholder="Enter Value"/>
<input type="hidden" id="hf_Value" />
</div>
<div class="col-sm-1 pull-right mt-5">
<span class="pull-right">
<a id="" title="Create" onclick="Unibase.Platform.Automation.Components.RuleCondition.Instance().AddCondition();">
<i class="fa fa-plus"></i>
</a>
</span>
</div>
</div>
<div class="row" id="AddCondition">
</div>
</div>
</form>`;
return html;
}
AddCondition() {
Unibase.Platform.Automation.Components.RuleCondition.flag = 0;
var html = "";
if (!Unibase.Platform.Automation.Components.RuleCondition.count) {
Unibase.Platform.Automation.Components.RuleCondition.len = Unibase.Platform.Automation.Components.RuleCondition.len + 1;
}
else {
Unibase.Platform.Automation.Components.RuleCondition.len = Unibase.Platform.Automation.Components.RuleCondition.count;
}
var attributeId = $('#ddl_PropertyName :selected').val();
var attributeName = $('#ddl_PropertyName :selected').text();
var conditionId = $('#ddl_Operator :selected').val();
var conditionName = $('#ddl_Operator :selected').text();
var value = $("#txt_Value").val();
var RuleConditionId = 0;
html += '<div class="Conditionrow col-sm-12 mt-10" id="row_' + Unibase.Platform.Automation.Components.RuleCondition.len + '">' +
'<label id="PropertyName_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-4">' + $("#ddl_PropertyName :selected").text() + '</label>' +
'<label id="Operator_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-4">' + $("#ddl_Operator :selected").text() + '</label>' +
'<label id="OperatorValue_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="hidden">' + $("#ddl_Operator :selected").val() + '</label>' +
'<label id="Value_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-3">' + $("#txt_Value").val() + '</label>' +
'<label id="hf_RuleConditionId_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="hidden">' + RuleConditionId + '</label>' +
'<span class="pull-right">' +
'<a id="btnEdit_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" onclick="Unibase.Platform.Automation.Components.RuleCondition.Instance().EditRow(' + Unibase.Platform.Automation.Components.RuleCondition.len + ');">' +
' <i class="fa fa-pencil mr-5"></i>' +
'</a>' +
'<a id="btn_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" onclick="Unibase.Platform.Automation.Components.RuleCondition.Instance().DeleteRow(' + Unibase.Platform.Automation.Components.RuleCondition.len + ');">' +
' <i class="fa fa-trash text-danger"></i>' +
'</a>' +
'</span>' +
'<div>';
if ($("#ddl_PropertyName").val() != "0" && $("#ddl_Operator").val() != "0" && $("#txt_Value").val()) {
if (Unibase.Platform.Automation.Components.RuleCondition.len != 1) {
for (var i = 0; i < Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray.length; i++) {
if ($("#ddl_PropertyName :selected").text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[i].AttributeName && $("#ddl_Operator :selected").text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[i].ConditionName && $("#txt_Value").val() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[i].Value) {
Unibase.Platform.Automation.Components.RuleCondition.flag = 1;
Unibase.Platform.Automation.Components.RuleCondition.len = Unibase.Platform.Automation.Components.RuleCondition.len - 1;
MessageHelper.Instance().showError("Already Exists", "Unibase_Rules_ValidationSummary");
return false;
}
}
}
if (Unibase.Platform.Automation.Components.RuleCondition.flag == 0) {
$("#AddCondition").append(html);
Unibase.Platform.Automation.Components.RuleCondition.count = 0;
$("#ddl_PropertyName").val("0");
$("#ddl_Operator").val("0");
$("#txt_Value").val("");
Unibase.Platform.Automation.Components.RuleCondition.flag = 0;
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray.push({ AttributeName: attributeName, ConditionName: conditionName, Value: value });
}
}
else {
Unibase.Platform.Automation.Components.RuleCondition.len = Unibase.Platform.Automation.Components.RuleCondition.len - 1;
MessageHelper.Instance().showError("Required fields are not provided", "Unibase_Rules_ValidationSummary");
}
}
EditRow(len) {
$("#ddl_PropertyName").val($("#PropertyName_" + Unibase.Platform.Automation.Components.RuleCondition.len + "").text());
$("#ddl_Operator").val($("#OperatorValue_" + Unibase.Platform.Automation.Components.RuleCondition.len + "").text());
$("#txt_Value").val($("#Value_" + Unibase.Platform.Automation.Components.RuleCondition.len + "").text());
$("#hfActionConditionId").val($("#hf_RuleConditionId_" + Unibase.Platform.Automation.Components.RuleCondition.len + "").text());
$('#row_' + Unibase.Platform.Automation.Components.RuleCondition.len + '').remove();
Unibase.Platform.Automation.Components.RuleCondition.count = Unibase.Platform.Automation.Components.RuleCondition.len;
for (var key in Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray) {
if ($("#ddl_PropertyName :selected").text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[key].AttributeName && $("#ddl_Operator :selected").text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[key].ConditionName && $("#txt_Value").val() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[key].Value) {
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray.splice(Number(key), 1);
break;
}
}
}
DeleteRow(len, rule) {
for (var row in Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray) {
if ($("#PropertyName_" + len).text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[row].AttributeName && $("#Operator_" + len).text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[row].ConditionName && $("#Value_" + len).text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[row].Value) {
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray.splice(Number(row), 1);
break;
}
}
$('#row_' + len + '').remove();
}
AddGlobalConditionArray() {
let myarray = [];
$(".Conditionrow").each(function () {
let conditionobj = {};
let id = $(this).find(".EventKeys");
let len = (id.prevObject[0].id).split('_');
len = len[1];
conditionobj.RuleConditionId = Number($(this).find("#hf_RuleConditionId_" + len + "").text());
;
conditionobj.RuleId = 0;
conditionobj.PropertyName = $(this).find("#PropertyName_" + len + "").text();
conditionobj.OperatorType = $(this).find("#Operator_" + len + "").text();
conditionobj.FromValue = $(this).find("#Value_" + len + "").text();
conditionobj.ToValue = $(this).find("#Value_" + len + "").text();
myarray.push(conditionobj);
});
return myarray;
}
LoadGlobalConditions(ruleid) {
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray = [];
Unibase.Platform.Automation.Components.RuleCondition.len = 0;
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleConditions(ruleid).then(function (response) {
for (var i = 0; i < response.length; i++) {
var html = "";
let operatortype = Unibase.Platform.Automation.Enums.ExpOp[response[i].OperatorId];
Unibase.Platform.Automation.Components.RuleCondition.len = i + 1;
html += '<div class="Conditionrow col-sm-12" id="row_' + Unibase.Platform.Automation.Components.RuleCondition.len + '">' +
'<label id="PropertyName_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-4">' + response[i].PropertyName + '</label>' +
'<label id="Operator_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-4">' + operatortype + '</label>' +
'<label id="OperatorValue_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="hidden">' + response[i].OperatorId + '</label>' +
'<label id="Value_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-3">' + response[i].FromValue + '</label>' +
'<label id="hf_RuleConditionId_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="hidden">' + response[i].RuleConditionId + '</label>' +
'<span class="pull-right">' +
'<a id="btnEdit_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" onclick="Unibase.Platform.Automation.Components.RuleCondition.Instance().EditRow(' + Unibase.Platform.Automation.Components.RuleCondition.len + ');">' +
' <i class="fa fa-pencil mr-5"></i>' +
'</a>' +
'<a id="btn_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" onclick="Unibase.Platform.Automation.Components.RuleCondition.Instance().DeleteRow(' + Unibase.Platform.Automation.Components.RuleCondition.len + ',' + response[i].RuleConditionId + ');">' +
' <i class="fa fa-trash text-danger"></i>' +
'</a>' +
'</span>' +
'<div>';
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray.push({ AttributeName: response[i].PropertyName, ConditionName: response[i].Operatortype, Value: response[i].FromValue });
$("#AddCondition").append(html);
Unibase.Platform.Automation.Components.RuleCondition.isCreate = 1;
}
});
}
LoadConditionProperties(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('ddl_PropertyName');
$('#ddl_PropertyName').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
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 = response[i];
cmbConditionProperties.appendChild(opt);
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new RuleCondition();
}
return this.instance;
}
}
RuleCondition.len = 0;
RuleCondition.flag = 0;
RuleCondition.isCreate = 0;
RuleCondition.ruleConditionArray = [];
Components.RuleCondition = RuleCondition;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,599 @@
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 = `<form id="frmUnibase_RuleEvent" data-validate="parsley" data-isdynamic="false">
<div id="Validate_RuleEvent" class="clear"></div>
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_RuleEvent">Create Event</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divRuleEventDetails">
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="custom-control custom-radio">
<input type="radio" id="rdb_Instant" name="SchedulerType" value="1" class="custom-control-input" checked="checked">
<label class="custom-control-label" for="rdb_Instant">Instant</label>
<input type="hidden" id="hfId_Instant" value="">
</div>
</div>
<div class="col-sm-6">
<div class="custom-control custom-radio">
<input type="radio" id="rdb_Scheduled" name="SchedulerType" value="2" class="custom-control-input">
<label class="custom-control-label" for="rdb_Scheduled">Scheduled</label>
<input type="hidden" id="hfId_Scheduled" value="">
</div>
</div>
</div>
<div class="row mt-30" id="EventColumnsdiv">
<div class="col-sm-12" id="ECAutocomplete">
<div id="div_EventColumns" class="floating-label-form-group-with-value floating-validate" style="border-bottom:0;">
<select id="select2_EventColumns" class="select2_EventColumns required value-control form-control text-control" multiple="multiple" style="width:100%;"></select>
<input type="hidden" id="hfSelect2Id_EventColumns" value="" 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>
</div>
</div>
<div class="bg-white card hidden" id="divEventDetails">
<div class="card-header">Event Type Details</div>
<div class="card-body">
<div class="row" id="div_Scheduler">
<div class="col-sm-6">
<div class="floating-label-form-group floating-label-form-group-with-value">
<label for="lblSchedulerType" id="lbl_SchedulerType" class="font-bold">Scheduler Type<span class="text-danger">*</span></label>
<select id="ddl_SchedulerType" class="form-control value-control" data-isdynamic="true" placeholder="Select" data-placeholder="Select" data-label="Select">
<option value="">Select</option>
<option value="2">Daily</option>
<option value="3">FifteenMinute</option>
<option value="4">FiveMinute</option>
<option value="5">FortyFiveMinute</option>
<option value="6">HalfYearly</option>
<option value="7">Monthly</option>
<option value="8">NineHour</option>
<option value="9">OneHour</option>
<option value="10">OneMinute</option>
<option value="11">Quarterly</option>
<option value="12">SixHour</option>
<option value="13">ThirtyMinute</option>
<option value="14">ThreeHour</option>
<option value="15">ThreeMinute</option>
<option value="16">TwelveHour</option>
<option value="17">TwoHour</option>
<option value="18">TwoMinute</option>
<option value="19">Yearly</option>
<option value="20">Week</option>
</select>
<input type="hidden" id="hf_SchedulerType" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="User" class="font-bold">User</label>
<select id="txtAutoComplete_Users" class="form-control text-control" style="width:100%;" placeholder="User" data-placeholder="User" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_Users" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<div class="row" id="div_Dates">
<div id="" class="col-sm-6">
<div class="floating-label-form-group" id="div_StartDate">
<label for="lbl" id="lbl_StartDate">Start Date<span class="text-danger" id="spnIsRequired_StartDate"> *</span></label>
<div class="input-group">
<input type="text" id="date_StartDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="Start Date *" data-placeholder="dd/mm/yyyy hh:mm" data-label="Start Date *">
<span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
<input type="hidden" id="hf_StartDate" />
</div>
</div>
</div>
<div id="" class="col-sm-6">
<div class="floating-label-form-group" id="div_EndDate">
<label for="lbl" id="lbl_EndDate">End Date<span class="text-danger" id="spnIsRequired_EndDate"> *</span></label>
<div class="input-group">
<input type="text" id="date_EndDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="End Date *" data-placeholder="dd/mm/yyyy hh:mm" data-label="End Date *">
<span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
<input type="hidden" id="hf_EndDate" />
</div>
</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.RuleEvent.Instance().ToggleRuleEventConditions();">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 class="bg-white card-footer footer" id="CreateEventFooter">
<a href="javascript:;" id="btnCloseEvent" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveEvent" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
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 = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,171 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class RuleBuilder extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RuleFlow = [];
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"libs/notificationbuilder/notificationbuilder.js", "platform/automation/components/eventtemplate.js"];
return jsfiles;
}
cssFiles() {
var cssfiles = ["libs/flowy/styles.css", "libs/notificationbuilder/notificationbuilder.css"];
return cssfiles;
}
html(id, containerid) {
let html = `<div class="flowchart_new" onclick="eval('closemenu()')" style="background-color:white"><div id="Validate_RuleBuilder" class="col-sm-12 clear"></div><div class=" col-md-12 create_rule" style="margin-top:15px"><div class="row"><div class="col-sm-6 d-flex"><span class="rule_name" style="margin-right:10px;margin-left:10px;"><input type="text" class="form-control border-0" placeholder="Rule Name" id="txt_Rule" style="height:38px;width:200px" class="Rulename_text"></span><span class="Installed_app" style="width:200px"><select id="installedapp_dropdown" class="form-control text-control required" style="width:100%;" onchange="eval('ruleproviders()')" placeholder="Select InstalledApp" data-placeholder="InstalledApp" data-label="" data-istagselect="true"></select></span><span class="rule_providerdropdown ml-5"><select id="ddl_RuleProvider" onchange="eval('ruleprovideridinfo()')" class="form-control text-control"style="margin-right:10px;height:38px;width:200px"><option value='0'>Select RuleProvider</option></select><input type="hidden" id="hf_RuleProvider" value="" /></span></div><div class="col-md-6"><span class="buttons pull-right"><span id="discard">Discard</span><span id="publish">Save Flow</span></span></div></div></div><hr><div class="treeContainer">
<div class="treebody"></div></div></div>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
$("#discard").click(function () {
let ruleid = eval("bizgaze_automation_flow_main.getruleid()");
if (ruleid != 0) {
bootbox.confirm("All items will be deleted, Do You Want To Continue?", function (result) {
if (result) {
$('.treebody').html('');
eval("bizgaze_automation_flow_main.getcloseadvmode()");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
else {
return;
}
});
}
else {
$('.treebody').html('');
eval("bizgaze_automation_flow_main.getcloseadvmode()");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
$("#publish").click(function () {
instance.SaveRuleFlow(containerid);
});
Unibase.Platform.Automation.Components.RuleBuilder.Instance().loadinstalledappsfordrpdown();
if (id != 0) {
Unibase.Platform.Automation.Components.RuleBuilder.Instance().EditRuleFlow(id);
}
else {
eval("load()");
}
}
loadScript(url, callback) {
let script = document.createElement("script");
script.type = "text/javascript";
if (script.readyState) {
script.onreadystatechange = function () {
if (script.readyState == "loaded" ||
script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
}
else {
script.onload = function () {
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
removejscssfile(filename, filetype) {
var targetelement = (filetype == "js") ? "script" : (filetype == "css") ? "link" : "none";
var targetattr = (filetype == "js") ? "src" : (filetype == "css") ? "href" : "none";
var allsuspects = document.getElementsByTagName(targetelement);
for (var i = allsuspects.length; i >= 0; i--) {
if (allsuspects[i] && allsuspects[i].getAttribute(targetattr) != null && allsuspects[i].outerHTML.includes(filename)) {
allsuspects[i].parentNode.removeChild(allsuspects[i]);
}
}
}
loadinstalledappsfordrpdown() {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
AutoCompleteHelper.getHelper().Create("#installedapp_dropdown", "#hf_Autocomplete_InstalledApp", url, function (response) {
var data = response;
});
}
SearchBlocks() {
var input, filter, div, subdiv, a, i;
input = document.getElementById("SearchBlocks");
filter = input.value.toUpperCase();
div = document.getElementById("blocklist");
subdiv = div.getElementsByClassName("blockelem create-flowy noselect");
for (i = 0; i < subdiv.length; i++) {
if (subdiv[i].firstElementChild.value.toUpperCase() == filter) {
a = subdiv[i];
if (a.innerHTML.indexOf(filter) > -1) {
subdiv[i].style.display = "";
}
}
else {
a = subdiv[i];
if (a.firstElementChild.value.toUpperCase().indexOf(filter) > -1) {
subdiv[i].style.display = "";
}
else {
subdiv[i].style.display = "none";
}
}
}
}
render(id, callback) {
this.navigationHelper.popup(id, '', Unibase.Platform.Automation.Components.RuleBuilder.Instance(), null, Platform.Helpers.Size.ExtraLarge);
}
SaveRuleFlow(containerid) {
let ruleid = eval("bizgaze_automation_flow_main.getruleid()");
let output = eval("bizgaze_automation_flow_main.output()");
let ruleflow = JSON.stringify(output);
let model = new Unibase.Platform.Automation.Requests.Rule();
model.RuleId = eval("bizgaze_automation_flow_main.getruleid()");
model.RuleFlow = ruleflow;
if (ruleflow != undefined && ruleid != 0) {
Automation.Managers.RuleManager.Instance().saveRuleFlow(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_RuleBuilder");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_RuleBuilder");
eval("bizgaze_automation_flow_main.getcloseadvmode()");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail(ruleid, Unibase.Platform.Automation.Components.Rule.installedappid, null);
}
});
}
else {
MessageHelper.Instance().showError("Please Create Rule", "Validate_RuleBuilder");
}
}
EditRuleFlow(id) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(id).then(function (response) {
eval("bizgaze_automation_flow_main.appendruleid('" + response.RuleId + "')");
eval("bizgaze_automation_flow_main.appendruleproviderid('" + response.RuleProviderId + "')");
Unibase.Platform.Automation.Components.RuleBuilder.Instance().RuleFlow = response.RuleFlow;
eval(" bizgaze_automation_flow_main.import(" + response.RuleFlow + ")");
eval("load()");
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new RuleBuilder();
}
return this.instance;
}
}
Components.RuleBuilder = RuleBuilder;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+2
View File
@@ -0,0 +1,2 @@
var 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.RuleFlow=[]}jsFiles(){return["platform/automation/managers/rulemanager.js","libs/notificationbuilder/notificationbuilder.js","platform/automation/components/eventtemplate.js"]}cssFiles(){return["libs/flowy/styles.css","libs/notificationbuilder/notificationbuilder.css"]}html(){return`<div class="flowchart_new" onclick="eval('closemenu()')" style="background-color:white"><div id="Validate_RuleBuilder" class="col-sm-12 clear"></div><div class=" col-md-12 create_rule" style="margin-top:15px"><div class="row"><div class="col-sm-6 d-flex"><span class="rule_name" style="margin-right:10px;margin-left:10px;"><input type="text" class="form-control border-0" placeholder="Rule Name" id="txt_Rule" style="height:38px;width:200px" class="Rulename_text"></span><span class="Installed_app" style="width:200px"><select id="installedapp_dropdown" class="form-control text-control required" style="width:100%;" onchange="eval('ruleproviders()')" placeholder="Select InstalledApp" data-placeholder="InstalledApp" data-label="" data-istagselect="true"></select></span><span class="rule_providerdropdown ml-5"><select id="ddl_RuleProvider" onchange="eval('ruleprovideridinfo()')" class="form-control text-control"style="margin-right:10px;height:38px;width:200px"><option value='0'>Select RuleProvider</option></select><input type="hidden" id="hf_RuleProvider" value="" /></span></div><div class="col-md-6"><span class="buttons pull-right"><span id="discard">Discard</span><span id="publish">Save Flow</span></span></div></div></div><hr><div class="treeContainer">
<div class="treebody"></div></div></div>`}load(t,i){var r=this;$("#discard").click(function(){let n=eval("bizgaze_automation_flow_main.getruleid()");n!=0?bootbox.confirm("All items will be deleted, Do You Want To Continue?",function(n){if(n)$(".treebody").html(""),eval("bizgaze_automation_flow_main.getcloseadvmode()"),$("#"+i).modal("hide"),$("#"+i).remove();else return}):($(".treebody").html(""),eval("bizgaze_automation_flow_main.getcloseadvmode()"),$("#"+i).modal("hide"),$("#"+i).remove())});$("#publish").click(function(){r.SaveRuleFlow(i)});n.Platform.Automation.Components.RuleBuilder.Instance().loadinstalledappsfordrpdown();t!=0?n.Platform.Automation.Components.RuleBuilder.Instance().EditRuleFlow(t):eval("load()")}loadScript(n,t){let i=document.createElement("script");i.type="text/javascript";i.readyState?i.onreadystatechange=function(){(i.readyState=="loaded"||i.readyState=="complete")&&(i.onreadystatechange=null,t())}:i.onload=function(){t()};i.src=n;document.getElementsByTagName("head")[0].appendChild(i)}removejscssfile(n,t){for(var u=t=="js"?"script":t=="css"?"link":"none",f=t=="js"?"src":t=="css"?"href":"none",r=document.getElementsByTagName(u),i=r.length;i>=0;i--)r[i]&&r[i].getAttribute(f)!=null&&r[i].outerHTML.includes(n)&&r[i].parentNode.removeChild(r[i])}loadinstalledappsfordrpdown(){var n=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/installedappautocomplete";AutoCompleteHelper.getHelper().Create("#installedapp_dropdown","#hf_Autocomplete_InstalledApp",n,function(n){var t=n})}SearchBlocks(){var u,i,f,t,r,n;for(u=document.getElementById("SearchBlocks"),i=u.value.toUpperCase(),f=document.getElementById("blocklist"),t=f.getElementsByClassName("blockelem create-flowy noselect"),n=0;n<t.length;n++)t[n].firstElementChild.value.toUpperCase()==i?(r=t[n],r.innerHTML.indexOf(i)>-1&&(t[n].style.display="")):(r=t[n],t[n].style.display=r.firstElementChild.value.toUpperCase().indexOf(i)>-1?"":"none")}render(i){this.navigationHelper.popup(i,"",n.Platform.Automation.Components.RuleBuilder.Instance(),null,t.Helpers.Size.ExtraLarge)}SaveRuleFlow(t){let u=eval("bizgaze_automation_flow_main.getruleid()"),e=eval("bizgaze_automation_flow_main.output()"),f=JSON.stringify(e),r=new n.Platform.Automation.Requests.Rule;r.RuleId=eval("bizgaze_automation_flow_main.getruleid()");r.RuleFlow=f;f!=undefined&&u!=0?i.Managers.RuleManager.Instance().saveRuleFlow(r).then(function(i){i.status==n.Data.Status.Error?MessageHelper.Instance().showError(i.message,"Validate_RuleBuilder"):(MessageHelper.Instance().showSuccess(i.message,"Validate_RuleBuilder"),eval("bizgaze_automation_flow_main.getcloseadvmode()"),$("#"+t).modal("hide"),$("#"+t).remove(),n.Platform.Helpers.NavigationHelper.Instance().loadDetail(u,n.Platform.Automation.Components.Rule.installedappid,null))}):MessageHelper.Instance().showError("Please Create Rule","Validate_RuleBuilder")}EditRuleFlow(t){n.Platform.Automation.Managers.RuleManager.Instance().getRule(t).then(function(t){eval("bizgaze_automation_flow_main.appendruleid('"+t.RuleId+"')");eval("bizgaze_automation_flow_main.appendruleproviderid('"+t.RuleProviderId+"')");n.Platform.Automation.Components.RuleBuilder.Instance().RuleFlow=t.RuleFlow;eval(" bizgaze_automation_flow_main.import("+t.RuleFlow+")");eval("load()")})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.RuleBuilder=u})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,950 @@
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 Rule extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RuleInstalledAppId = 0;
this.CurrentEventIndex = 0;
}
jsFiles() {
var jsfiles = ["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"
];
return jsfiles;
}
cssFiles() {
var cssfiles = ["libs/querybuilder/query-builder.default.css"];
return cssfiles;
}
html(id, containerid) {
let html = `<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>`;
return html;
}
load(id, containerid, callback) {
Unibase.Platform.Automation.Components.Rule.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.NormalMode;
Unibase.Platform.Automation.Components.Rule.Instance().GetActions();
Unibase.Platform.Automation.Components.Rule.RuleId = id;
Unibase.Platform.Automation.Components.Rule.Instance().default_event();
$("#btnCloseRule").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Rule.keysindex = 0;
Unibase.Platform.Automation.Components.Rule.keyscount = 0;
Unibase.Platform.Automation.Components.Rule.keysflag = 0;
Unibase.Platform.Automation.Components.Rule.RuleId = 0;
Unibase.Platform.Automation.Components.Rule.ActionsArray = [];
Unibase.Platform.Automation.Components.Rule.EventColumnData = [];
Unibase.Platform.Automation.Components.Rule.RuleActionsData = [];
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray = [];
});
$("#btnSaveRule").click(function () {
let appcontrolid = "frmUnibase_Rule";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_Rule");
$(".eventrow").each(function () {
let id = $(this).find(".eventrow");
let index = (id.prevObject[0].id).split('_');
index = index[1];
let eventcolumns = $("#select2_EventColumns_" + index + "").val();
if (eventcolumns.length == 0) {
$("#EventColumnLable_" + index + "").addClass('form-group-required');
}
});
return false;
}
else {
Unibase.Platform.Automation.Components.Rule.Instance().SaveRule(id, containerid);
}
});
$("#link_AdvancedMode").click(function () {
$("#link_NormalMode").removeClass("hidden");
$("#link_AdvancedMode").addClass("hidden");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Rule.Instance().AdvancedMode(id, containerid);
});
$("#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 rule = Unibase.Platform.Automation.Components.Rule.Instance();
$("#ddl_RuleProvider").change(function () {
$("#NormalModeEvent").removeClass("hidden");
$('#AddNewEvents').html('');
Unibase.Platform.Automation.Components.Rule.EventColumnData = [];
Unibase.Platform.Automation.Components.Rule.Instance().default_event();
rule.loadEventColomns();
rule.loadActions(0);
rule.loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()), null);
});
rule.LoadInstalledApps();
rule.loadActions(0);
if (id != "") {
Unibase.Platform.Automation.Components.Rule.Instance().EditRule(id, containerid);
}
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
Rule.Instance().init(Pk_Value, null);
Unibase.Platform.Apps.Managers.AppManager.Instance().getAppConfiguration(AppConfigurationId).then(function (response) {
Unibase.Platform.Automation.Components.Rule.installedappid = response.result.InstalledAppId;
});
}
loadNotificationRule(iscreate) {
var Pk_Value = 0;
if (!iscreate) {
Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId;
}
this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Automation.Components.Rule.Instance(), null, Platform.Helpers.Size.DockLeft);
}
init(id, callback) {
this.render(id, callback);
}
render(id, callback) {
this.navigationHelper.popup(id, '', Unibase.Platform.Automation.Components.Rule.Instance(), null, Platform.Helpers.Size.DockLeft);
}
GetActions() {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getActions().then(function (response) {
for (var i = 0; i <= response.length - 1; i++) {
Unibase.Platform.Automation.Components.Rule.ActionsArray.push(response[i]);
}
});
}
OnChangeEventColumn(index) {
let eventcolumnscount = new Array();
eventcolumnscount = $("#select2_EventColumns_" + index + "").val();
if (eventcolumnscount.length > 0) {
$("#ELable_" + index + "").removeClass('hidden');
$("#EAutocomplete_" + index + "").addClass('hidden');
$("#EventColumnLable_" + index + "").text(Unibase.Platform.Automation.Components.Rule.Instance().GetEventColumns(index));
$('.event_name_' + index + '').val('').val(Unibase.Platform.Automation.Components.Rule.Instance().GetEventColumns(index));
}
}
OnChangeActions(index) {
$("#ALable_" + index + "").removeClass('hidden');
$("#AAutocomplete_" + index + "").addClass('hidden');
$("#ActionLable_" + index + "").text($('#Action_Autocomplete_' + index + ' option:selected').text());
$("#ActionLable_" + index + "").removeClass('form-group-required');
var _fileCacheHelper = Platform.Helpers.FileCacheHelper.Instance();
let id = Number($("#RuleActionId_" + index + "").text());
let actionid = Number($('#Action_Autocomplete_' + index + ' option:selected').val());
let ruleproviderid = Number($("#ddl_RuleProvider option:selected").val());
var instance = this;
if (!$("#ConditionDetailsDiv").hasClass("hidden")) {
Unibase.Platform.Automation.Components.Rule.Instance().SaveQueryString();
}
else {
let queryelmnt = $("#builder");
queryelmnt.queryBuilder('destroy');
$("#QueryBuilder").remove();
}
Unibase.Platform.Automation.Managers.RuleManager.Instance().getAction(actionid).then(function (response) {
if (response != null) {
_fileCacheHelper.loadJsFile(response.JsUrl, function () {
var namespace = eval(response.JsVariableName);
var action = new namespace();
action.RuleProviderId = ruleproviderid;
action.RowIndex = index;
action.ActionId = response.ActionId;
action.RuleActionData = Unibase.Platform.Automation.Components.Rule.RuleActionsData.filter(X => X.RowIndex == index);
action.AutomationMode = Unibase.Platform.Automation.Components.Rule.AutomationMode;
action.IsAutomationMode = true;
action.ParentActionId = 0;
instance.navigationHelper.popup(id, '', action, function () {
}, Platform.Helpers.Size.Auto);
});
}
});
}
default_event() {
var html = `<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(html);
}
ToggleEventNames() {
if ($("#btn_EventNames").text() == "Show More") {
$("[id='EventCard']").show();
$("#btn_EventNames").text("Show Less");
}
else {
$("[id='EventCard']").hide();
$("#btn_EventNames").text("Show More");
}
}
ToggleGlobalConditions() {
$("#ConditionDetailsDiv").toggle(function () {
$("#btn_Conditions").addClass("hidden");
$("#ConditionDetailsDiv").removeClass("hidden");
Unibase.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()), null);
});
}
loadEventColomns() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
let ruleproviderid = Number($("#ddl_RuleProvider option:selected").val());
if (ruleproviderid != 0) {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
Unibase.Platform.Automation.Components.Rule.EventColumnData.push({ id: response.DoctypeName + " Created", text: response.DoctypeName + " Created" });
Unibase.Platform.Automation.Components.Rule.EventColumnData.push({ id: response.DoctypeName + " Deleted", text: response.DoctypeName + " Deleted" });
return 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.Rule.EventColumnData.push({ id: result[i].PropColumnName + " Changed", text: result[i].PropColumnName + " Changed" });
}
Unibase.Platform.Automation.Components.Rule.Instance().BindEventColumns(0);
});
});
}
});
}
BindEventColumns(index) {
return __awaiter(this, void 0, void 0, function* () {
$("#EventColumnLable_" + index + "").text(Unibase.Platform.Automation.Components.Rule.EventColumnData[0].id);
$('.event_name_' + index + '').val('').val(Unibase.Platform.Automation.Components.Rule.EventColumnData[0].id);
$("#select2_EventColumns_" + index + "").select2({
placeholder: 'Select',
data: Unibase.Platform.Automation.Components.Rule.EventColumnData,
});
});
}
loadActions(index) {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getActions().then(function (response) {
let cmbActions = document.getElementById('Action_Autocomplete_' + index + '');
$('#Action_Autocomplete_' + index + '').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
defaultOpt1.value = "0";
cmbActions.appendChild(defaultOpt1);
for (let i = 0; i <= response.length - 1; i++) {
var opt = document.createElement("option");
opt.text = response[i].ActionName;
opt.value = response[i].ActionId.toString();
cmbActions.appendChild(opt);
}
$("#Action_Autocomplete_" + index + "").val(Number($("#hf_Action_" + index + "").val()));
$("#ActionLable_" + index + "").text($("#Action_Autocomplete_" + index + " option:selected").text());
});
});
}
ToggleEventColumnLable(index) {
$("#ELable_" + index + "").addClass('hidden');
$("#EAutocomplete_" + index + "").removeClass('hidden');
$("#EventColumnLable_" + index + "").removeClass('form-group-required');
}
ToggleActions(index) {
var instance = this;
instance.CurrentEventIndex = index;
$("#ALable_" + index + "").addClass('hidden');
$("#AAutocomplete_" + index + "").removeClass('hidden');
if ($("#ActionLable_" + index + "").text() != "Select" && $("#ActionLable_" + index + "").text() != "") {
Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions(index);
}
}
SaveRule(id, containerid) {
let ruleid = Number(id);
let eventgroupdata = [];
if (!$("#ConditionDetailsDiv").hasClass("hidden")) {
Unibase.Platform.Automation.Components.Rule.Instance().SaveQueryString();
}
let eventsarr = Rule.Instance().EventArray();
for (let i = 0; i < eventsarr.length; i++) {
eventgroupdata.push({
EventGroupId: eventsarr[i].EventGroupId,
RuleId: eventsarr[i].RuleId,
RuleEventData: eventsarr[i].RuleEventData,
RuleActionData: eventsarr[i].RuleActionData,
RuleConditionData: eventsarr[i].RuleConditionData,
RuleData: eventsarr[i].RuleData,
RuleType: eventsarr[i].RuleType
});
}
let model = new Unibase.Platform.Automation.Requests.Rule();
model.RuleId = ruleid;
model.RuleName = $("#txt_Rule").val().toString();
model.RuleProviderId = Number($("#ddl_RuleProvider option:selected").val());
if (Unibase.Platform.Automation.Components.Rule.QueryString != null) {
model.SqlWhere = Unibase.Platform.Automation.Components.Rule.QueryString;
model.SqlWhereJson = JSON.stringify(Unibase.Platform.Automation.Components.Rule.QueryString);
}
else {
model.SqlWhere = '';
model.SqlWhereJson = '';
}
model.EventGroupData = eventgroupdata;
model.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event;
model.AutomationModeId = Number(Unibase.Platform.Automation.Components.Rule.AutomationMode);
Automation.Managers.RuleManager.Instance().saveRule(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_Rule");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_Rule");
Unibase.Platform.Automation.Components.Rule.ActionsArray = [];
Unibase.Platform.Automation.Components.Rule.keysindex = 0;
Unibase.Platform.Automation.Components.Rule.keyscount = 0;
Unibase.Platform.Automation.Components.Rule.RuleId = 0;
Unibase.Platform.Automation.Components.Rule.keysflag = 0;
Unibase.Platform.Automation.Components.Rule.EventColumnData = [];
Unibase.Platform.Automation.Components.Rule.RuleActionsData = [];
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray = [];
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail(response.result.RuleId, Unibase.Platform.Automation.Components.Rule.installedappid, null);
}
});
}
EditRule(id, containerid) {
$('#txt_search').attr("disabled", "true");
$('#ddl_RuleProvider').attr("disabled", "true");
$('#txt_Rule').attr("disabled", "true");
let ruleid = Number(id);
$("#Form_Rule").text("Edit Rule");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(ruleid).then(function (response) {
if (response.AutomationModeId == Number(Unibase.Platform.Automation.Enums.AutomationMode.NormalMode)) {
let ruleid = response.RuleId;
$("#hf_RuleProvider").val(response.RuleProviderId);
$("#txt_Rule").val(response.RuleName);
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(response.RuleProviderId).then(function (response) {
Unibase.Platform.Automation.Components.Rule.Instance().SelectedApp(response.InstalledAppId).then(function () {
Unibase.Platform.Automation.Components.Rule.Instance().LoadEvents(ruleid);
Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId = Number(response.InstalledAppId);
});
});
if (response.SqlWhere != "" && response.SqlWhere != null) {
$("#btn_Conditions").addClass("hidden");
$("#ConditionDetailsDiv").removeClass("hidden");
}
Unibase.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
}
else {
Unibase.Platform.Automation.Components.Rule.Instance().AdvancedMode(response.RuleId, containerid);
}
eval('_floatingLabelHelper.init();');
});
}
LoadInstalledApps() {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getInstalledApps().then(function (response) {
for (let i = 0; i <= response.length - 1; i++) {
let html = '<div class="AppRow bg-white card" onclick="Unibase.Platform.Automation.Components.Rule.Instance().SelectedApp(' + response[i].InstalledAppId + ');" id ="div_' + response[i].InstalledAppId + '">' +
'<div class="card-body">' +
'<div class="row">' +
'<div class="col-sm-12">' +
'<span>' + response[i].AppTitle + '</span>' +
'</div></div></div></div>';
$("#InstalledAppsList").append(html);
html = "";
}
});
}
LoadAppStages() {
return __awaiter(this, void 0, void 0, function* () {
var html = '';
var installeappid = Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId;
yield Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(installeappid).then(function (response) {
if (response.result != null) {
for (let i = 0; i < response.result.length; i++) {
var data = response.result[i];
html += '<option value=' + data.StageId + '>' + data.StageName + '<option>';
}
}
});
return html;
});
}
IsStageChangeEvent() {
var eventname = null;
if (Unibase.Platform.Automation.Components.Rule.AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode) {
var ischildaction = eval('bizgaze_automation_flow_main.IsChildAction()');
if (ischildaction) {
return false;
}
eventname = $('.event_name').val() == undefined ? null : $('.event_name').val().toString();
return (eventname == null) ? false : eventname.includes("stageid Changed");
}
else {
var index = Unibase.Platform.Automation.Components.Rule.Instance().CurrentEventIndex;
eventname = $('.event_name_' + index + '').val() == undefined ? null : $('.event_name_' + index + '').val().toString();
return (eventname == null) ? false : eventname.includes("stageid Changed");
}
}
SelectedApp(id) {
return __awaiter(this, void 0, void 0, function* () {
$(".AppRow").removeAttr("style");
$("#div_" + id + "").css("border", " 2px solid blue");
let InstalledappId = Number(id);
Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId = Number(InstalledappId);
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/ruleprovidersautocomplete/InstalledAppId/' + InstalledappId;
yield Unibase.Platform.Automation.Managers.RuleManager.Instance().loadRuleProviders(id).then(function (response) {
if (response.length != 0) {
$("#RuleSection").removeClass("hidden");
let cmbRuleProviders = document.getElementById('ddl_RuleProvider');
$('#ddl_RuleProvider').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
defaultOpt1.value = "";
cmbRuleProviders.appendChild(defaultOpt1);
for (let i = 0; i <= response.length - 1; i++) {
var opt = document.createElement("option");
opt.text = response[i].RuleProviderName;
opt.value = (response[i].RuleProviderId).toString();
cmbRuleProviders.appendChild(opt);
}
if ($("#hf_RuleProvider").val() == "") {
$("#ddl_RuleProvider").val(null);
}
else {
$("#ddl_RuleProvider").val(Number($("#hf_RuleProvider").val()));
}
return Unibase.Platform.Automation.Components.Rule.Instance().loadEventColomns();
}
else {
MessageHelper.Instance().showError("No RuleProvider Configured For The Selected App.", "Validate_Rule");
}
});
});
}
DeleteEventGroupRow(index, EventGroupId) {
var text = confirm("Are you sure! You want to delete?");
if (text) {
if (EventGroupId != 0) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().deleteEventGroup(EventGroupId).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_Rule");
}
else {
$("#row_" + index).remove();
}
});
}
else {
$("#row_" + index).remove();
}
}
}
AddEvent() {
let PrevActionIndex = Unibase.Platform.Automation.Components.Rule.keysindex - 0;
if ($("#ActionLable_" + PrevActionIndex).text() != "Select") {
Unibase.Platform.Automation.Components.Rule.keysflag = 0;
let html = "";
let RuleEventId = 0;
let RuleActionId = 0;
let EventGroupId = 0;
if (!Unibase.Platform.Automation.Components.Rule.keyscount) {
Unibase.Platform.Automation.Components.Rule.keysindex = Unibase.Platform.Automation.Components.Rule.keysindex + 1;
}
else {
Unibase.Platform.Automation.Components.Rule.keysindex = Unibase.Platform.Automation.Components.Rule.keyscount;
}
html += '<div class="row eventrow" id="row_' + Unibase.Platform.Automation.Components.Rule.keysindex + '">' +
'<lable class="hidden" id="EventGroupId_' + Unibase.Platform.Automation.Components.Rule.keysindex + '">' + RuleEventId + '</lable>' +
'<lable class="hidden" id="RuleActionId_' + Unibase.Platform.Automation.Components.Rule.keysindex + '">' + RuleActionId + '</lable>' +
'<div class="col-sm-2 mt-10"><label>When </label></div>' +
'<div class="col-sm-3 mt-10" id="ELable_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventColumnLable(' + Unibase.Platform.Automation.Components.Rule.keysindex + ');"><u><b style="font-weight: bold;" id="EventColumnLable_' + Unibase.Platform.Automation.Components.Rule.keysindex + '"></b></u></div>' +
'<div class="col-sm-3 hidden" id="EAutocomplete_' + Unibase.Platform.Automation.Components.Rule.keysindex + '">' +
'<div id="div_EventColumns" class="floating-label-form-group" style="border-bottom:0;"><input type="hidden" class="event_name_' + Unibase.Platform.Automation.Components.Rule.keysindex + '"><select id="select2_EventColumns_' + Unibase.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(' + Unibase.Platform.Automation.Components.Rule.keysindex + ');"></select><input type="hidden" id="hfSelect2Id_EventColumns_' + Unibase.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_' + Unibase.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_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleActions(' + Unibase.Platform.Automation.Components.Rule.keysindex + ');"><u><b style="font-weight: bold;" id="ActionLable_' + Unibase.Platform.Automation.Components.Rule.keysindex + '"></b></u></div>' +
'<div class="col-sm-3 hidden" id="AAutocomplete_' + Unibase.Platform.Automation.Components.Rule.keysindex + '">' +
'<div class="floating-label-form-group floating-label-form-group-with-value focus">' +
'<select id="Action_Autocomplete_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions(' + Unibase.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_' + Unibase.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_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" title = "Delete" style="cursor:pointer" onclick = "Unibase.Platform.Automation.Components.Rule.Instance().DeleteEventGroupRow(' + Unibase.Platform.Automation.Components.Rule.keysindex + ',' + EventGroupId + ');" ><i class="fa fa-close"> </i></a></div >' +
'</div>';
if (Unibase.Platform.Automation.Components.Rule.keysflag == 0) {
$("#AddNewEvents").append(html);
$("#ActionLable_" + Unibase.Platform.Automation.Components.Rule.keysindex + "").text('Select');
this.BindEventColumns(Unibase.Platform.Automation.Components.Rule.keysindex);
this.loadActions(Unibase.Platform.Automation.Components.Rule.keysindex);
Unibase.Platform.Automation.Components.Rule.keyscount = 0;
Unibase.Platform.Automation.Components.Rule.keysflag = 0;
}
else {
Unibase.Platform.Automation.Components.Rule.keysindex = Unibase.Platform.Automation.Components.Rule.keysindex - 1;
}
}
else {
$("#ActionLable_" + Unibase.Platform.Automation.Components.Rule.keysindex + "").addClass('form-group-required');
MessageHelper.Instance().showError("Please Select Action.", "Validate_Rule");
}
}
EventArray() {
var instance = this;
let eventgrouparray = [];
$(".eventrow").each(function () {
let eventarray = [];
let eventgroupobj = {};
let id = $(this).find(".eventrow");
let index = (id.prevObject[0].id).split('_');
index = index[1];
let eventcolumns = Unibase.Platform.Automation.Components.Rule.Instance().GetEventColumns(index).split(",");
for (var i = 0; i < eventcolumns.length; i++) {
let eventobj = {};
let eventtype;
let etype = eventcolumns[i].split(" ")[1];
let eventcolumn = "";
if (etype.toLowerCase() == "created") {
eventtype = Unibase.Platform.Automation.Enums.EventType.Created;
}
else if (etype.toLowerCase() == "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;
eventarray.push(eventobj);
}
eventgroupobj.EventGroupId = Number($(this).find("#EventGroupId_" + index + "").text());
eventgroupobj.RuleEventData = eventarray;
eventgroupobj.RuleActionData = Unibase.Platform.Automation.Components.Rule.RuleActionsData.filter(X => X.RowIndex == index);
eventgrouparray.push(eventgroupobj);
});
return eventgrouparray;
}
LoadEvents(RuleId) {
return __awaiter(this, void 0, void 0, function* () {
var groupBy = function (xs, key) {
return xs.reduce(function (rv, x) {
(rv[x[key]] = rv[x[key]] || []).push(x);
return rv;
}, {});
};
Unibase.Platform.Automation.Components.Rule.keysindex = 0;
$("#row_0").remove();
yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleEvents(RuleId).then(function (response) {
var result = groupBy(response, "EventGroupId");
var keys = Object.keys(result);
for (var i = 0; i <= keys.length - 1; i++) {
let EventGroupId = Number(keys[i]);
var reinfo = result[EventGroupId];
Unibase.Platform.Automation.Components.Rule.keysindex = i + 1;
Unibase.Platform.Automation.Components.Rule.Instance().LoadEventsHtml(Unibase.Platform.Automation.Components.Rule.keysindex, EventGroupId, reinfo);
}
});
});
}
LoadEventsHtml(Index, EventGroupId, reinfo) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
instance.CurrentEventIndex = Index;
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleActionByEventGroupId(EventGroupId).then(function (response) {
var html = "";
html += '<div class="row eventrow" id="row_' + Index + '">' +
'<lable class="hidden" id="EventGroupId_' + Index + '">' + EventGroupId + '</lable>' +
'<lable class="hidden" id="RuleActionId_' + Index + '">' + response.RuleActionId + '</lable>' +
'<div class="col-sm-2 mt-10"><label>When </label></div>' +
'<div class="col-sm-3 mt-10" id="ELable_' + Index + '" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventColumnLable(' + Index + ');"><u><b style="font-weight: bold;" id="EventColumnLable_' + Index + '"></b></u></div>' +
'<div class="col-sm-3 hidden" id="EAutocomplete_' + Index + '">' +
'<div id="div_EventColumns" class="floating-label-form-group" style="border-bottom:0;"><input type="hidden" class="event_name_' + Index + '"><select id="select2_EventColumns_' + Index + '" class="select2_0_EventColumns required value - control form - control text - control" multiple="multiple" style="width: 100 %; " onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeEventColumn(' + Index + '); "><option>Select</option></select><input type="hidden" id="hfSelect2Id_EventColumns_' + Index + '" 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_' + Index + '"></label></div>' +
'<div class="col-sm-1 mt-10"><label>Then </label></div>' +
'<div class="col-sm-3 mt-10" id="ALable_' + Index + '" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleActions(' + Index + ');"><u><b style="font-weight: bold;" id="ActionLable_' + Index + '"></b></u></div>' +
'<div class="col-sm-3 hidden" id="AAutocomplete_' + Index + '">' +
'<div class="floating-label-form-group floating-label-form-group-with-value focus">' +
'<select id="Action_Autocomplete_' + Index + '" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions(' + Index + ');" style="-webkit-appearance: none;" class="required form-control value-control" data-isdynamic="true">' +
'</select>' +
'<input type="hidden" id ="hf_Action_' + Index + '" />' +
'</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_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" title = "Delete" style="cursor:pointer" onclick = "Unibase.Platform.Automation.Components.Rule.Instance().DeleteEventGroupRow(' + Unibase.Platform.Automation.Components.Rule.keysindex + ',' + EventGroupId + ');" ><i class="fa fa-close"> </i></a></div >' +
'</div>';
$("#NormalModeEvent").removeClass("hidden");
$("#AddNewEvents").append(html);
$("#hf_Action_" + Index + "").val(response.ActionId);
let EventColArr = [];
for (var j = 0; j <= reinfo.length - 1; j++) {
let eventname = reinfo[j].EventName;
if (reinfo[j].EventColumnName != null && reinfo[j].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");
}
}
}
Unibase.Platform.Automation.Components.Rule.Instance().BindEventColumns(Index);
$("#select2_EventColumns_" + Index + "").val(EventColArr).trigger('change');
let eventcolumns = Unibase.Platform.Automation.Components.Rule.Instance().GetEventColumns(Index);
$("#EventColumnLable_" + Index + "").text(eventcolumns);
$('.event_name_' + Index + '').val('').val(eventcolumns);
Unibase.Platform.Automation.Components.Rule.Instance().loadActions(Index);
});
});
}
GetEventColumns(index) {
let eventcolumnscount = new Array();
eventcolumnscount = $("#select2_EventColumns_" + index + "").val();
var eventcolumn = "";
for (var i = 0; i < eventcolumnscount.length; i++) {
eventcolumn += eventcolumnscount[i] + ",";
}
return eventcolumn.slice(0, -1);
}
RuleActionsArray(obj) {
let ruleactionobj = {};
ruleactionobj.RuleActionId = obj.RuleActionId;
ruleactionobj.ActionId = obj.ActionId;
ruleactionobj.RuleId = obj.RuleId;
ruleactionobj.RuleActionName = obj.RuleActionName;
ruleactionobj.String1 = obj.String1;
ruleactionobj.String2 = obj.String2;
ruleactionobj.String3 = obj.String3;
ruleactionobj.String4 = obj.String4;
ruleactionobj.String5 = obj.String5;
ruleactionobj.String6 = obj.String6;
ruleactionobj.String7 = obj.String7;
ruleactionobj.BString1 = obj.BString1;
ruleactionobj.BString2 = obj.BString2;
ruleactionobj.BString3 = obj.BString3;
ruleactionobj.BString4 = obj.BString4;
ruleactionobj.BString5 = obj.BString5;
ruleactionobj.BString6 = obj.BString6;
ruleactionobj.BString7 = obj.BString7;
ruleactionobj.BString8 = obj.BString8;
ruleactionobj.BString9 = obj.BString9;
ruleactionobj.BString10 = obj.BString10;
ruleactionobj.BString11 = obj.BString11;
ruleactionobj.BString12 = obj.BString12;
ruleactionobj.BString13 = obj.BString13;
ruleactionobj.Users = obj.Users;
ruleactionobj.SecondaryUsers = obj.SecondaryUsers;
ruleactionobj.ParentActionId = obj.ParentActionId;
ruleactionobj.ResultActionName = obj.ResultActionName;
ruleactionobj.ResultActionId = obj.ResultActionId;
ruleactionobj.DelayTime = obj.DelayTime;
ruleactionobj.ActionConditionData = obj.ActionConditionData;
ruleactionobj.RowIndex = obj.RowIndex;
ruleactionobj.AutoApproved = obj.AutoApproved;
ruleactionobj.RecipientsData = obj.RecipientsData;
ruleactionobj.SqlWhere = obj.SqlWhere;
ruleactionobj.SqlWhereJson = obj.SqlWhere;
ruleactionobj.ExternalReportId = obj.ExternalReportId;
ruleactionobj.ExternalReportColumnId = obj.ExternalReportColumnId;
ruleactionobj.ProviderColumnId = obj.ProviderColumnId;
ruleactionobj.ApproveStageId = obj.ApproveStageId;
ruleactionobj.IsParent = obj.IsParent;
ruleactionobj.FromStage = obj.FromStage;
ruleactionobj.ToStage = obj.ToStage;
ruleactionobj.NotificationGroupId = obj.NotificationGroupId;
var Array = Unibase.Platform.Automation.Components.Rule.RuleActionsData.find(x => x.RowIndex == obj.RowIndex);
if (Array != undefined) {
Unibase.Platform.Automation.Components.Rule.RuleActionsData[obj.RowIndex] = ruleactionobj;
}
else {
Unibase.Platform.Automation.Components.Rule.RuleActionsData.push(ruleactionobj);
}
Unibase.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()), Unibase.Platform.Automation.Components.Rule.QueryString);
}
ChangeAction(index, Id) {
if (Id == 0) {
$("#Action_Autocomplete_" + index + "").val($("#hf_Action_" + index + "").val());
$("#ActionLable_" + index + "").text('Select');
Unibase.Platform.Automation.Components.Rule.RuleActionsData = Unibase.Platform.Automation.Components.Rule.RuleActionsData.filter(X => X.RowIndex != index);
}
Unibase.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()), Unibase.Platform.Automation.Components.Rule.QueryString);
}
AdvancedMode(id, containerid) {
var _fileCacheHelper = this.fileCacheHelper;
var instance = this;
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Rule.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode;
var rulebuilder = new Unibase.Platform.Automation.Components.RuleBuilder();
instance.navigationHelper.popup(id, '', rulebuilder, null, Platform.Helpers.Size.ExtraLarge);
}
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");
});
});
}
SaveQueryString() {
let queryelmnt = $("#builder");
let query = queryelmnt.queryBuilder('getSQL', false, true);
if (query != null) {
Unibase.Platform.Automation.Components.Rule.QueryString = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE");
}
else {
Unibase.Platform.Automation.Components.Rule.QueryString = null;
}
queryelmnt.queryBuilder('destroy');
$("#QueryBuilder").remove();
}
SearchBlocks() {
var input, filter, div, subdiv, a, i, count;
input = document.getElementById("txt_Search");
filter = input.value.toUpperCase();
div = document.getElementById("InstalledAppsList");
subdiv = div.getElementsByClassName("AppRow");
count = 0;
for (i = 0; i < subdiv.length; i++) {
if (subdiv[i].textContent.toUpperCase() == filter) {
a = subdiv[i];
if (a.innerHTML.indexOf(filter) > -1) {
subdiv[i].style.display = "";
}
}
else {
a = subdiv[i];
if (a.textContent.toUpperCase().indexOf(filter) > -1) {
subdiv[i].style.display = "";
}
else {
subdiv[i].style.display = "none";
count = count + 1;
}
}
if (subdiv.length == count) {
$("#txt_noresults").removeClass("hidden");
}
else if (subdiv.length != count) {
$("#txt_noresults").addClass("hidden");
}
else { }
}
}
EmptyEventColumns() {
return __awaiter(this, void 0, void 0, function* () {
Unibase.Platform.Automation.Components.Rule.EventColumnData = [];
return yield $(".eventrow").each(function () {
let id = $(this).find(".eventrow");
let index = (id.prevObject[0].id).split('_');
index = index[1];
$("#select2_EventColumns_" + index + "").empty();
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Rule();
}
return this.instance;
}
}
Rule.keysindex = 0;
Rule.keysflag = 0;
Rule.AutomationMode = 0;
Rule.EventColumnData = [];
Rule.RuleActionsData = [];
Rule.ActionsArray = [];
Components.Rule = Rule;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,307 @@
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 RuleProvider extends Platform.Core.BaseComponent {
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/datasources/managers/doctypemanager.js",
"platform/automation/requests/ruleprovider.js",
"platform/analytics/managers/reportmanager.js",
"platform/forms/managers/formmanager.js",
"platform/automation/components/rulebuilder/rulebuilder.ruleprovider.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js",
"platform/apps/managers/appmanager.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_RuleProvider" data-validate="parsley" data-isdynamic="false">
<div id="Validate_RuleProvider" class="clear"></div>
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_RuleProvider">Create RuleProvider</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divInstalledApp">
<div id="unibase_ValidationSummary" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="floating-label-form-group">
<label for="txt_RuleProvider" id="lbl_RuleProvider">RuleProvider Name<span class="text-danger">*</span></label>
<input type="text" id="txt_RuleProvider" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="RuleProvider Name*" data-placeholder="Enter RuleProvider Name" data-label="RuleProvider Name*" />
<input type="hidden" id="hf_RuleProvider" />
<label for="Validation" id="lblValidation_RuleProvider"></label>
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="InstalledApp" class="font-bold">Installed App <span class="text-danger">*</span></label>
<select id="txtAutocomplete_InstalledApp" class="form-control text-control required" style="width:100%;" placeholder="InstalledApp" data-placeholder="InstalledApp" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_InstalledApp" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card" id="divRuleProviderDetails">
<div class="card-header">RuleProvider Details</div>
<div class="card-body">
<div class="row">
<div class="col-sm-5">
<div class="input-group">
<label for="Doctype" class="font-bold">Doctype <span class="text-danger">*</span></label>
<select id="txtAutoComplete_Doctypes" class="form-control text-control required" style="width:100%;" placeholder="Doctype" data-placeholder="Doctype" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_Doctypes" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-5 hidden" id="DoctypeColumn">
<div class="input-group">
<label for="DoctypeColumn" class="font-bold">Doctype Column</label>
<select id="txtAutoComplete_DoctypeColumn" class="form-control text-control" style="width:100%;" placeholder="DoctypeColumn" data-placeholder="DoctypeColumn" data-label="" data-istagselect="true"><option value="0">Select</option></select>
<input type="hidden" id="hf_AutoComplete_DoctypeColumn" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<button type="button" class="col-sm-2 btn btn-primary mt-30" onclick="Unibase.Platform.Automation.Components.RuleProvider.Instance().ToggleReports()">Map Report</button>
</div>
<div class="row hidden" id="ReportDetailDiv">
<div class="col-sm-6">
<div class="input-group">
<label for="Report" class="font-bold">Report</label>
<select id="txtAutoComplete_Report" class="form-control text-control" style="width:100%;" placeholder="Report" data-placeholder="Report" data-label="" data-istagselect="true"><option value="0">Select</option></select>
<input type="hidden" id="hf_AutoComplete_Report" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="ReportColumn" class="font-bold">Report Column</label>
<select id="txtAutoComplete_ReportColumn" class="form-control text-control" style="width:100%;" placeholder="ReportColumn" data-placeholder="ReportColumn" data-label="" data-istagselect="true"><option value="0">Select</option></select>
<input type="hidden" id="hf_AutoComplete_ReportColumn" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateRuleProviderFooter">
<button id="btnCloseRuleProvider" class="btn btn-secondary btn-sm mr-auto">Close</button>
<button id="btnSaveRuleProvider" class="btn btn-primary btn-sm pull-right">Save</button>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
if (id != "") {
Unibase.Platform.Automation.Components.RuleProvider.Instance().EditRuleProvider(id);
}
$("#btnCloseRuleProvider").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btnSaveRuleProvider").click(function () {
let appcontrolid = "frmUnibase_RuleProvider";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_RuleProvider");
return false;
}
else {
Unibase.Platform.Automation.Components.RuleProvider.Instance().SaveRuleProvider(id, containerid);
}
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
AutoCompleteHelper.getHelper().Create("#txtAutocomplete_InstalledApp", "#hf_Autocomplete_InstalledApp", url, function (response) {
var data = response;
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Report", "#hf_AutoComplete_Report", url, function (response) {
var data = response;
});
$("#txtAutocomplete_InstalledApp").change(function () {
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeInstalledApp();
});
$("#txtAutoComplete_Report").change(function () {
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeReport();
});
$("#txtAutoComplete_Doctypes").change(function () {
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeDoctype();
});
}
init(ruleproviderid, callback) {
this.render(ruleproviderid, callback);
}
render(ruleproviderid, callback) {
this.navigationHelper.popup(ruleproviderid, '', Unibase.Platform.Automation.Components.RuleProvider.Instance(), null, Platform.Helpers.Size.DockLeft);
}
loadRuleProviderForm(iscreate) {
var Pk_Value = 0;
if (!iscreate) {
Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId;
}
this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Automation.Components.RuleProvider.Instance(), null, Platform.Helpers.Size.DockLeft);
}
ToggleReports() {
$("#ReportDetailDiv").removeClass("hidden");
$("#DoctypeColumn").removeClass("hidden");
}
EditRuleProvider(id) {
let ruleproviderid = Number(id);
$("#Form_RuleProvider").text("Edit RuleProvider");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
$("#txt_RuleProvider").val(response.RuleProviderName);
var installedappoption = new Option(response.AppTitle, response.InstalledAppId.toString(), true, true);
$("#txtAutocomplete_InstalledApp").append(installedappoption);
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeInstalledApp().then(function () {
var doctypeoption = new Option(response.DoctypeName, response.DoctypeId.toString(), true, true);
$("#txtAutoComplete_Doctypes").append(doctypeoption);
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeDoctype().then(function () {
var doctypecolumnoption = new Option(response.DocPropertyName, response.DocPropertyId.toString(), true, true);
$("#txtAutoComplete_DoctypeColumn").append(doctypecolumnoption);
});
});
if (response.ReportId != 0) {
$("#ReportDetailDiv").removeClass("hidden");
$("#DoctypeColumn").removeClass("hidden");
var reportoption = new Option(response.ReportName, response.ReportId.toString(), true, true);
$("#txtAutoComplete_Report").append(reportoption);
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeReport().then(function () {
var reportcolumnoption = new Option(response.ReportColumnName, response.ReportColumnId.toString(), true, true);
$("#txtAutoComplete_ReportColumn").append(reportcolumnoption);
});
}
eval('_floatingLabelHelper.init();');
});
}
OnChangeInstalledApp() {
return __awaiter(this, void 0, void 0, function* () {
$("#txtAutoComplete_Doctypes").val(0);
if (Number($("#txtAutocomplete_InstalledApp option:selected").val() != 0)) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/' + Number($("#txtAutocomplete_InstalledApp option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Doctypes", "#hf_Autocomplete_Doctypes", url, function (response) {
var data = response;
});
}
});
}
OnChangeDoctype() {
return __awaiter(this, void 0, void 0, function* () {
$("#txtAutoComplete_DoctypeColumn").val(0);
if (Number($("#txtAutoComplete_Doctypes option:selected").val() != 0)) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertiesautocomplete/doctypeid/' + Number($("#txtAutoComplete_Doctypes option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_DoctypeColumn", "#hf_AutoComplete_DoctypeColumn", url, function (response) {
var data = response;
});
}
});
}
OnChangeReport() {
return __awaiter(this, void 0, void 0, function* () {
$("#txtAutoComplete_ReportColumn").val(0);
if (Number($("#txtAutoComplete_Report option:selected").val() != 0)) {
var reportcolumnurl = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + Number($("#txtAutoComplete_Report option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ReportColumn", "#hf_AutoComplete_ReportColumn", reportcolumnurl, function (response) {
var data = response;
});
}
});
}
SaveRuleProvider(id, containerid) {
let model = new Unibase.Platform.Automation.Requests.RuleProvider();
model.RuleProviderId = Number(id);
model.RuleProviderName = $("#txt_RuleProvider").val().toString();
model.InstalledAppId = Number($("#txtAutocomplete_InstalledApp option:selected").val());
model.DoctypeId = Number($("#txtAutoComplete_Doctypes option:selected").val());
model.DocPropertyId = Number($("#txtAutoComplete_DoctypeColumn option:selected").val());
model.ReportId = Number($("#txtAutoComplete_Report option:selected").val());
model.ReportColumnId = Number($("#txtAutoComplete_ReportColumn option:selected").val());
Automation.Managers.RuleManager.Instance().saveRuleProvider(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_RuleProvider");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_RuleProvider");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Helpers.NavigationHelper.Instance().loadList(Unibase.Platform.Automation.Components.RuleProvider.installedappid, null);
}
});
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
RuleProvider.Instance().init(Pk_Value, null);
Unibase.Platform.Apps.Managers.AppManager.Instance().getAppConfiguration(AppConfigurationId).then(function (response) {
Unibase.Platform.Automation.Components.RuleProvider.installedappid = response.result.InstalledAppId;
});
}
exportsRuleProviders() {
var instance = this;
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().exportRuleProiders().then(function (response) {
var filename = "RuleProiders.xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
exportsSingleRuleProvider() {
var ruleproviderid = 0;
var instance = this;
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid") {
ruleproviderid = Number(obj.Value);
}
}
}
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().exportSingleRuleProiders(ruleproviderid).then(function (response) {
var filename = "RuleProiders.xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new RuleProvider();
}
return this.instance;
}
}
Components.RuleProvider = RuleProvider;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));

Some files were not shown because too many files have changed in this diff Show More