Iniit
This commit is contained in:
@@ -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":"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"}
|
||||
+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":"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"}
|
||||
+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 = {}));
|
||||
+1
File diff suppressed because one or more lines are too long
Vendored
Executable
+74
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user