Iniit
This commit is contained in:
@@ -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
+80
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
+183
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> 
|
||||
</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> 
|
||||
</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
+104
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
+179
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> 
|
||||
</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 = {}));
|
||||
+1
File diff suppressed because one or more lines are too long
+106
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
+160
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
+75
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
+174
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
@@ -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
+12
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
+57
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> </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> </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
+8
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
+53
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> 
|
||||
</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
+104
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
@@ -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
@@ -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);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
+1
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
@@ -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
@@ -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
@@ -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> </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> </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 = {}));
|
||||
+1
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 = {}));
|
||||
@@ -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
@@ -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
@@ -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
@@ -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 = {}));
|
||||
+1
@@ -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"}
|
||||
+1
@@ -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 = {}));
|
||||
+1
@@ -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"}
|
||||
+42
@@ -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 = {}));
|
||||
+1
File diff suppressed because one or more lines are too long
+59
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
+118
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
@@ -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
+139
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
Reference in New Issue
Block a user