This commit is contained in:
2023-03-11 17:30:20 +00:00
commit b6c4e025bc
5124 changed files with 1153349 additions and 0 deletions
@@ -0,0 +1,94 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class ImportLog extends Platform.Core.BaseComponent {
static Instance() {
if (this.instance == undefined) {
this.instance = new ImportLog();
}
return this.instance;
}
cssFiles() {
var css = [];
return css;
}
jsFiles() {
return ['platform/automation/managers/rulemanager.js'];
}
logType(type) {
}
html(id, containerid) {
return `<div class="modal-body p-0"><form id="frmUnibase_ActionsData" data-validate="parsley" data-isdynamic="false">
<table class="table mainLog">
<tr class="card-header" style="background-color:#a1a1a1"><th>Imported Date</th><th>Log</th></tr>
<tbody class="card-body error_logs" style="overflow-y: scroll;">
</tbody>
</table>
<table class="table childLog hidden">
<tr class="card-header" style="background-color:#a1a1a1"><th>ProcessId</th><th>Error Message</th><th>Stack Trace</th></tr>
<tbody class="card-body child_errorlogs" style="overflow-y: scroll;">
</tbody>
</table>
</form></div><div class="bg-white modal-footer w-100" style="position:absolute;bottom:2px" id="importlog_footer">
<a href="javascript:;" id="btnCloseImportlog" class="btn btn-light btn-sm mr-auto">Close</a></div>`;
}
;
load(id, containerid, callback) {
const instance = this;
$('#btnCloseImportlog').click(function () {
if ($('.mainLog').hasClass('hidden')) {
$('.childLog').addClass('hidden');
$('.mainLog').removeClass('hidden');
}
else {
instance.navigationHelper.closePopUp();
}
});
Unibase.Platform.Automation.Components.ImportLog.Instance().getImportLogs();
}
getImportLogs() {
var logtype = $('.report-title-dp-wrapper').children('.widget-font').children().attr('data-content');
Unibase.Platform.Automation.Managers.RuleManager.Instance().getImportLogs(logtype).then(function (response) {
var html = '<center style="position:absolute;top:100px;left:500px"><b>No Imports Found</b></center>';
if (response.result != null && response.result.length > 0) {
ImportLog.ImportLogs = response.result;
var processObject = [];
html = '';
for (let i = 0; i < ImportLog.ImportLogs.length; i++) {
var data = processObject.find(x => x == ImportLog.ImportLogs[i].ProcessId);
if (data == undefined) {
processObject.push(ImportLog.ImportLogs[i].ProcessId);
var date = moment.utc(ImportLog.ImportLogs[i].ImportDate).format("DD MMMM YYYY HH:mm:ss");
html += '<tr><td>' + date + '</td><td><a class="innerchildlog" data-processid=' + ImportLog.ImportLogs[i].ProcessId + ' style="color:blue">log</a></td></tr>';
}
}
}
$('.error_logs').html(html);
$('.innerchildlog').click(function () {
var processid = $(this).attr('data-processid');
Unibase.Platform.Automation.Components.ImportLog.Instance().appendErrorLogsByProcessId(processid);
});
});
}
appendErrorLogsByProcessId(processId) {
$('.mainLog').addClass('hidden');
$('.childLog').removeClass('hidden');
var html = '';
var resultdata = ImportLog.ImportLogs.filter(x => x.ProcessId == processId);
for (let i = 0; i < resultdata.length; i++) {
html += '<tr><td>' + resultdata[i].ProcessId + '</td><td>' + resultdata[i].ErrorMessage + '</td><td>' + resultdata[i].StackTrace + '</td></tr>';
}
$('.child_errorlogs').html(html);
}
}
ImportLog.ImportLogs = [];
Components.ImportLog = ImportLog;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1,129 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class ImportRule extends Platform.Core.BaseComponent {
constructor() {
super();
this.navigationhelper = Unibase.Platform.Helpers.NavigationHelper.Instance();
}
cssFiles() {
var cssfiles = ["libs/nestable/JqueryminMenu.css"];
return cssfiles;
}
jsFiles() {
return ['platform/automation/managers/rulemanager.js',
'platform/automation/components/rulebuilder/importrule.js',
"platform/forms/components/formviewer/formviewer.js",
'libs/parsley/parsley.min.js',
'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
var instance = this;
let html = '<form id="form_ImportRule" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"></div><div class="b-b bg-white header dataApiHeader"><strong>Import Rule</strong></div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import</div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportRule.Instance().FileUpload(\'' + containerid + '\');">Upload</a></div></div></div><div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div></div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div></form>';
return html;
}
showImport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Automation.Components.ImportRule.Instance(), null, Platform.Helpers.Size.Large);
}
FileUpload(containerid) {
var instance = this;
instance.navigationHelper.showLoading();
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/importrules/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Automation.Components.ImportRule.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showSuccess("SuccessFully Imported", "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Automation.Components.ImportRule.Instance().fileEvent(e);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Automation.Components.ImportRule.fileData = new FormData();
Unibase.Platform.Automation.Components.ImportRule.fileData.append(fileSelected.name, fileSelected);
}
exportSingleRule() {
var _fileCacheHelper = this.fileCacheHelper;
var ruleid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid").Value);
var rulename = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_rulename").Value;
if (rulename == undefined || rulename == null) {
rulename = "Rules.xml";
}
_fileCacheHelper.loadJsFileAsync('platform/automation/managers/rulemanager.js', function () {
Automation.Managers.RuleManager.Instance().exportSingleRule(ruleid).then(function (response) {
var filename = rulename + ".xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
exportsRules() {
var _fileCacheHelper = this.fileCacheHelper;
var instance = this;
_fileCacheHelper.loadJsFileAsync('platform/automation/managers/rulemanager.js', function () {
Automation.Managers.RuleManager.Instance().exportRules().then(function (response) {
var filename = "Rules.xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ImportRule();
}
return this.instance;
}
}
ImportRule.fileData = new FormData();
Components.ImportRule = ImportRule;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.navigationhelper=n.Platform.Helpers.NavigationHelper.Instance()}cssFiles(){return["libs/nestable/JqueryminMenu.css"]}jsFiles(){return["platform/automation/managers/rulemanager.js","platform/automation/components/rulebuilder/importrule.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","/platform/core/helpers/file/filehelper.js"]}html(n,t){var i=this;return'<form id="form_ImportRule" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"><\/div><div class="b-b bg-white header dataApiHeader"><strong>Import Rule<\/strong><\/div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import<\/div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportRule.Instance().FileUpload(\''+t+'\');">Upload<\/a><\/div><\/div><\/div><div class="hidden" id="div_Export"><span id="sp_formName"><\/span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download<\/a><\/div><\/div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close<\/button><\/div><\/form>'}showImport(){this.navigationHelper.popup(0,"",n.Platform.Automation.Components.ImportRule.Instance(),null,t.Helpers.Size.Large)}FileUpload(i){var r=this,u;r.navigationHelper.showLoading();u=_appsettings.server_url()+"/apis/v4/unibase/notificationrule/platform/importrules/np";t.Helpers.FileHelper.Instance().upload(u,n.Platform.Automation.Components.ImportRule.fileData).then(function(t){t.status==n.Data.Status.Error?(r.navigationHelper.hideLoading(),MessageHelper.Instance().showError(t.message,"div_importmessage")):(r.navigationHelper.hideLoading(),MessageHelper.Instance().showSuccess(t.message,"div_importmessage"),$("#"+i).modal("hide"),$("#"+i).remove())})}load(t,i){var r=this;$("#btn_CloseImport").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(t){n.Platform.Automation.Components.ImportRule.Instance().fileEvent(t)});$("#txt_Icon").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_Icon").focusout(function(){$(".div_Icons").fadeOut()})}fileEvent(t){const i=t.target.files[0];n.Platform.Automation.Components.ImportRule.fileData=new FormData;n.Platform.Automation.Components.ImportRule.fileData.append(i.name,i)}exportSingleRule(){var r=this.fileCacheHelper,u=this,t=0;if(n.Themes.Providers.Detail_Settings.Instance().InputParameters.length>0)for(let i of n.Themes.Providers.Detail_Settings.Instance().InputParameters)i.Key==="hf_"+n.Themes.Providers.DetailHelper.installedAppId+"_recordid"&&(t=Number(i.Value));r.loadJsFileAsync("platform/automation/managers/rulemanager.js",function(){i.Managers.RuleManager.Instance().exportSingleRule(t).then(function(n){var i=n.result,t=document.createElement("a"),r=new Blob([i],{type:"text/plain"});t.setAttribute("href",window.URL.createObjectURL(r));t.setAttribute("download","Rules.xml");t.dataset.downloadurl=["text/plain",t.download,t.href].join(":");t.draggable=!0;t.classList.add("dragout");t.click()})})}exportsRules(){var n=this.fileCacheHelper,t=this;n.loadJsFileAsync("platform/automation/managers/rulemanager.js",function(){i.Managers.RuleManager.Instance().exportRules().then(function(n){var i=n.result,t=document.createElement("a"),r=new Blob([i],{type:"text/plain"});t.setAttribute("href",window.URL.createObjectURL(r));t.setAttribute("download","Rules.xml");t.dataset.downloadurl=["text/plain",t.download,t.href].join(":");t.draggable=!0;t.classList.add("dragout");t.click()})})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.fileData=new FormData;r.ImportRule=u})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,85 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class ImportRuleProvider extends Platform.Core.BaseComponent {
cssFiles() {
var cssfiles = ["libs/nestable/JqueryminMenu.css"];
return cssfiles;
}
jsFiles() {
return ['platform/automation/managers/rulemanager.js',
'platform/automation/components/rulebuilder/importruleprovider.js',
"platform/forms/components/formviewer/formviewer.js",
'libs/parsley/parsley.min.js',
'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
var instance = this;
let html = '<form id="form_ImportRuleProvider" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"></div><div class="b-b bg-white header dataApiHeader"><strong>Import RuleProvider</strong></div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import</div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportRuleProvider.Instance().FileUpload(\'' + containerid + '\');">Upload</a></div></div></div><div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div></div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div></form>';
return html;
}
showImport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Automation.Components.ImportRuleProvider.Instance(), null, Platform.Helpers.Size.Large);
}
FileUpload(containerid) {
var instance = this;
instance.navigationHelper.showLoading();
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/importruleproviders/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Automation.Components.ImportRuleProvider.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Automation.Components.ImportRuleProvider.Instance().fileEvent(e);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Automation.Components.ImportRuleProvider.fileData = new FormData();
Unibase.Platform.Automation.Components.ImportRuleProvider.fileData.append(fileSelected.name, fileSelected);
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ImportRuleProvider();
}
return this.instance;
}
}
ImportRuleProvider.fileData = new FormData();
Components.ImportRuleProvider = ImportRuleProvider;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"importruleprovider.js","sourceRoot":"","sources":["importruleprovider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(i){class r extends t.Core.BaseComponent{cssFiles(){return["libs/nestable/JqueryminMenu.css"]}jsFiles(){return["platform/automation/managers/rulemanager.js","platform/automation/components/rulebuilder/importruleprovider.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","/platform/core/helpers/file/filehelper.js"]}html(n,t){var i=this;return'<form id="form_ImportRuleProvider" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"><\/div><div class="b-b bg-white header dataApiHeader"><strong>Import RuleProvider<\/strong><\/div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import<\/div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportRuleProvider.Instance().FileUpload(\''+t+'\');">Upload<\/a><\/div><\/div><\/div><div class="hidden" id="div_Export"><span id="sp_formName"><\/span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download<\/a><\/div><\/div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close<\/button><\/div><\/form>'}showImport(){this.navigationHelper.popup(0,"",n.Platform.Automation.Components.ImportRuleProvider.Instance(),null,t.Helpers.Size.Large)}FileUpload(i){var r=this,u;r.navigationHelper.showLoading();u=_appsettings.server_url()+"/apis/v4/unibase/notificationrule/platform/importruleproviders/np";t.Helpers.FileHelper.Instance().upload(u,n.Platform.Automation.Components.ImportRuleProvider.fileData).then(function(t){t.status==n.Data.Status.Error?(r.navigationHelper.hideLoading(),MessageHelper.Instance().showError(t.message,"div_importmessage")):(r.navigationHelper.hideLoading(),MessageHelper.Instance().showSuccess(t.message,"div_importmessage"),$("#"+i).modal("hide"),$("#"+i).remove())})}load(t,i){var r=this;$("#btn_CloseImport").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(t){n.Platform.Automation.Components.ImportRuleProvider.Instance().fileEvent(t)});$("#txt_Icon").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_Icon").focusout(function(){$(".div_Icons").fadeOut()})}fileEvent(t){const i=t.target.files[0];n.Platform.Automation.Components.ImportRuleProvider.fileData=new FormData;n.Platform.Automation.Components.ImportRuleProvider.fileData.append(i.name,i)}static Instance(){return this.instance===undefined&&(this.instance=new r),this.instance}}r.fileData=new FormData;i.ImportRuleProvider=r})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,125 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class ImportEventTemplate extends Platform.Core.BaseComponent {
cssFiles() {
var cssfiles = ["libs/nestable/JqueryminMenu.css"];
return cssfiles;
}
jsFiles() {
return ['platform/automation/managers/rulemanager.js',
"platform/forms/components/formviewer/formviewer.js",
'libs/parsley/parsley.min.js',
'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
var instance = this;
let html = '<form id="form_ImportTemplateProvider" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"></div><div class="b-b bg-white header dataApiHeader"><strong>Import Template</strong></div><div data-simplebar class="simple-scroll-bar scrollable import-export-body"><div class="card" id="importexportsection"><div class="card-header">Select file to import</div><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required"><hr /><a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick=" Unibase.Platform.Automation.Components.ImportEventTemplate.Instance().FileUpload(\'' + containerid + '\');">Upload</a></div></div></div><div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div></div><div class="bg-white footer"><button id="btn_CloseImport" class="btn btn-sm mr-auto btn-close">Close</button></div></form>';
return html;
}
showImport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Automation.Components.ImportEventTemplate.Instance(), null, Platform.Helpers.Size.Large);
}
FileUpload(containerid) {
var instance = this;
instance.navigationHelper.showLoading();
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/ImportEventTemplates/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Automation.Components.ImportEventTemplate.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
instance.navigationHelper.hideLoading();
MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Automation.Components.ImportEventTemplate.Instance().fileEvent(e);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Automation.Components.ImportEventTemplate.fileData = new FormData();
Unibase.Platform.Automation.Components.ImportEventTemplate.fileData.append(fileSelected.name, fileSelected);
}
exporteventtemplates() {
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().exporteventtemplates().then(function (response) {
var filename = "EventTemplate.xml";
var xmltext = response;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
exportsingletemplates() {
var doctypeid = 0;
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_doctypeid") {
doctypeid = Number(obj.Value);
}
}
}
var instance = this;
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().exportsingletemplate(doctypeid).then(function (response) {
var filename = "EventTemplate.xml";
var xmltext = response;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ImportEventTemplate();
}
return this.instance;
}
}
ImportEventTemplate.fileData = new FormData();
Components.ImportEventTemplate = ImportEventTemplate;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,166 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class NotificationGroup extends Platform.Core.BaseComponent {
cssFiles() {
return [''];
}
jsFiles() {
return ['platform/automation/managers/notificationgroupmanager.js', 'platform/automation/requests/notificationgroup.js'];
}
html(id, containerid) {
let html = `<form id="frmUnibase_NotificationGroup" data-validate="parsley" data-isdynamic="false">
<div id="Validate_NotificationGroup" class="clear"></div>
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_NotificationGroup">Create NotificationGroup</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divNotificationGrp">
<div id="unibase_ValidationSummary" class="clear"></div>
<input type="hidden" class="hd_notificatiobgroupid" value="0">
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="floating-label-form-group">
<span class="ml-2" id="lbl_notificationgrp">Group Name</span>
<input type="text" id="txt_GrpName" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Group Name*" data-placeholder="Enter GroupName" data-label="GroupName Name*" />
<input type="hidden" id="hf_Grpname_notification" />
<label for="Validation" id="lblValidation_GrpNotification"></label>
</div>
</div>
<div class="col-sm-6">
<div class="floating-label-form-group">
<span class="font-bold ml-2">Group Index</span><input type="text" id="txt_GrpIndex" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Group Index*" data-label="GroupIndex" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="Notification_groupfooter">
<button id="btnCloseGroup" class="btn btn-secondary btn-sm mr-auto">Close</button>
<button id="btnSaveGroup" class="btn btn-primary btn-sm pull-right">Save</button>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
$('#btnSaveGroup').click(function () {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().saveNotificationGroup(containerid);
});
$('#btnCloseGroup').click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
if (id == 0) {
Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().GetCurrentIndex().then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
$('#txt_GrpIndex').attr("disabled", "true").val(response.result);
}
});
}
else {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().EditNotificationGroup(id);
}
}
init(recoderid, callback, isaction) {
NotificationGroup.IsAction = isaction;
this.navigationHelper.popup(recoderid, '', Unibase.Platform.Automation.Components.NotificationGroup.Instance(), callback, Platform.Helpers.Size.DockLeft);
}
loadNotificationsGroups(iscreate) {
var Pk_Value = 0;
if (!iscreate) {
Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId;
}
this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Automation.Components.NotificationGroup.Instance(), null, Platform.Helpers.Size.DockLeft);
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().init(Number(Pk_Value), null);
}
EditNotificationGroup(Id) {
$('.hd_notificatiobgroupid').val(Id);
$('#Form_NotificationGroup').text('Edit NotificationGroup');
Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().GetNotificationGroupInfo(Id).then(function (response) {
if (response != null) {
NotificationGroup.GroupName = response.NotificationGroupName;
$('#txt_GrpName').val(response.NotificationGroupName);
$('#txt_GrpIndex').attr("disabled", "true").val(response.Index);
}
});
}
saveNotificationGroup(containerid) {
var groupname = $('#txt_GrpName').val();
if (groupname == undefined || groupname == null || groupname == '') {
MessageHelper.Instance().showError('GroupName Is Mandatory', "Validate_NotificationGroup");
return;
}
if (groupname == NotificationGroup.GroupName) {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Helpers.NavigationHelper.Instance().loadList(Unibase.Platform.Automation.Components.RuleProvider.installedappid, null);
return;
}
var object = new Unibase.Platform.Automation.Requests.NotificationGroup();
object.NotificationGroupId = Number($('.hd_notificatiobgroupid').val());
object.NotificationGroupName = groupname.toString();
object.Index = Number($('#txt_GrpIndex').val());
Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().saveNotificationGroup(object).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
MessageHelper.Instance().showSuccess(response.message, "Validate_NotificationGroup");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
if (NotificationGroup.IsAction) {
Unibase.Platform.Automation.Components.NotificationGroup.Instance().LoadNotificationGroups();
}
else {
Unibase.Platform.Helpers.NavigationHelper.Instance().loadList(Unibase.Platform.Automation.Components.RuleProvider.installedappid, null);
}
}
else {
MessageHelper.Instance().showError(response.message, "Validate_NotificationGroup");
}
});
}
LoadNotificationGroups() {
return __awaiter(this, void 0, void 0, function* () {
yield Unibase.Platform.Automation.Managers.NotificationGroupManager.Instance().GetNotificationGroups().then(function (response) {
if (response != null) {
var html = '<option value="0">Select GroupName</option>';
for (let i = 0; i < response.length; i++) {
html += '<option value=' + response[i].NotificationGroupId + '>' + response[i].NotificationGroupName + '</option>';
}
$('#ddl_NotificationGrp').html(html);
}
});
});
}
static Instance() {
if (this.instance == undefined) {
this.instance = new NotificationGroup();
}
return this.instance;
}
}
NotificationGroup.GroupName = null;
NotificationGroup.IsAction = false;
Components.NotificationGroup = NotificationGroup;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,168 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class AdvRule extends Platform.Core.BaseComponent {
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/datasources/managers/doctypemanager.js",
"platform/analytics/managers/reportmanager.js",
"platform/forms/managers/formmanager.js",
"platform/automation/enums/eventtype.js",
"platform/automation/enums/expop.js",
"platform/automation/enums/automationmode.js",
"platform/automation/enums/executeactionstatus.js",
"platform/automation/components/conditions.js",
"platform/automation/requests/rule.js",
"platform/automation/requests/ruleevent.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/automation/components/rulebuilder/rulebuilder.condition.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_AdvRule" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_AdvRule">Create Rule</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="AdvRuleDetails">
<div id="Validate_AdvRule" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl_AdvRule" id="lbl_AdvRule">Rule Name<span class="text-danger">*</span></label>
<input type="text" id="txt_AdvRule" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Rule Name*" data-placeholder="Enter Rule Name" data-label="Rule Name*" />
<input type="hidden" id="hf_AdvRule" />
<label for="Validation" id="lblValidation_AdvRule"></label>
</div>
</div>
</div>
<div class="row mt-10">
<div class="col-sm-6">
Installed App<span class="text-danger">*</span>
<select id="Autocomplete_InstalledApp" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_Autocomplete_InstalledApp" value="" />
</div>
<div class="col-sm-6">
Rule Provider<span class="text-danger">*</span>
<select id="Autocomplete_RuleProvider" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_Autocomplete_RuleProvider" value="" />
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateAdvRuleFooter">
<a href="javascript:;" id="btnCloseAdvRule" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveAdvRule" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
Unibase.Platform.Automation.Components.AdvRule.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode;
$("#btnCloseAdvRule").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btnSaveAdvRule").click(function () {
let appcontrolid = "frmUnibase_AdvRule";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_AdvRule");
return false;
}
else {
Unibase.Platform.Automation.Components.AdvRule.Instance().SaveRule(id, containerid);
}
});
if (id != "") {
Unibase.Platform.Automation.Components.AdvRule.Instance().EditRule(id);
}
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
AutoCompleteHelper.getHelper().Create("#Autocomplete_InstalledApp", "#hf_Autocomplete_InstalledApp", url, function (response) {
var data = response;
});
$("#Autocomplete_InstalledApp").change(function () {
let InstalledappId = Number($("#Autocomplete_InstalledApp option:selected").val());
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/ruleprovidersautocomplete/InstalledAppId/' + InstalledappId;
AutoCompleteHelper.getHelper().Create("#Autocomplete_RuleProvider", "hf_Autocomplete_RuleProvider", url, function (response) {
var data = response;
});
});
}
SaveRule(id, containerid) {
return __awaiter(this, void 0, void 0, function* () {
let ruleid = Number(id);
let model = new Unibase.Platform.Automation.Requests.Rule();
model.RuleId = ruleid;
model.RuleName = $("#txt_Rule").val().toString();
model.RuleProviderId = Number($("#ddl_RuleProvider option:selected").val());
model.AutomationModeId = Number(Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode);
model.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event;
yield Automation.Managers.RuleManager.Instance().saveRule(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_RuleEvent");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_RuleEvent");
eval("bizgaze_automation_flow_main.saveruleblock('" + response.result.RuleId + "','" + response.result.RuleName + "','" + response.result.RuleProviderId + "')");
Components.RuleEvent.Instance().SaveRuleEvent(id, containerid);
}
});
});
}
EditRule(id) {
let ruleid = Number(id);
$("#Form_AdvRule").text("Edit Rule");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(ruleid).then(function (response) {
let ruleid = response.RuleId;
$("#hf_RuleProvider").val(response.RuleProviderId);
$("#txt_AdvRule").val(response.RuleName);
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(response.RuleProviderId).then(function (response) {
var installedappoption = new Option(response.AppTitle, response.InstalledAppId.toString(), true);
$("#Autocomplete_InstalledApp").append(installedappoption);
var ruleprovideroption = new Option(response.RuleProviderName, response.RuleProviderId.toString(), true);
$("#Autocomplete_RuleProvider").append(ruleprovideroption);
eval('_floatingLabelHelper.init();');
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new AdvRule();
}
return this.instance;
}
}
AdvRule.AutomationMode = 0;
Components.AdvRule = AdvRule;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
@@ -0,0 +1 @@
{"version":3,"file":"rulebuilder.advrule.js","sourceRoot":"","sources":["rulebuilder.advrule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
var __awaiter=this&&this.__awaiter||function(n,t,i,r){function u(n){return n instanceof i?n:new i(function(t){t(n)})}return new(i||(i=Promise))(function(i,f){function o(n){try{e(r.next(n))}catch(t){f(t)}}function s(n){try{e(r["throw"](n))}catch(t){f(t)}}function e(n){n.done?i(n.value):u(n.value).then(o,s)}e((r=r.apply(n,t||[])).next())})},Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{jsFiles(){return["platform/automation/managers/rulemanager.js","platform/datasources/managers/doctypemanager.js","platform/analytics/managers/reportmanager.js","platform/forms/managers/formmanager.js","platform/automation/enums/eventtype.js","platform/automation/enums/expop.js","platform/automation/enums/automationmode.js","platform/automation/enums/executeactionstatus.js","platform/automation/components/conditions.js","platform/automation/requests/rule.js","platform/automation/requests/ruleevent.js","platform/automation/requests/ruleaction.js","platform/automation/requests/rulecondition.js","platform/automation/components/rulebuilder/rulebuilder.condition.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js"]}cssFiles(){return[]}html(){return`<form id="frmUnibase_AdvRule" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_AdvRule">Create Rule</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="AdvRuleDetails">
<div id="Validate_AdvRule" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl_AdvRule" id="lbl_AdvRule">Rule Name<span class="text-danger">*</span></label>
<input type="text" id="txt_AdvRule" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Rule Name*" data-placeholder="Enter Rule Name" data-label="Rule Name*" />
<input type="hidden" id="hf_AdvRule" />
<label for="Validation" id="lblValidation_AdvRule"></label>
</div>
</div>
</div>
<div class="row mt-10">
<div class="col-sm-6">
Installed App<span class="text-danger">*</span>
<select id="Autocomplete_InstalledApp" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_Autocomplete_InstalledApp" value="" />
</div>
<div class="col-sm-6">
Rule Provider<span class="text-danger">*</span>
<select id="Autocomplete_RuleProvider" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_Autocomplete_RuleProvider" value="" />
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateAdvRuleFooter">
<a href="javascript:;" id="btnCloseAdvRule" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveAdvRule" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`}load(t,i){n.Platform.Automation.Components.AdvRule.AutomationMode=n.Platform.Automation.Enums.AutomationMode.AdvancedMode;$("#btnCloseAdvRule").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btnSaveAdvRule").click(function(){let r=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("frmUnibase_AdvRule");if(r==!1)return MessageHelper.Instance().showError("Mandatory fields are missing","Validate_AdvRule"),!1;n.Platform.Automation.Components.AdvRule.Instance().SaveRule(t,i)});t!=""&&n.Platform.Automation.Components.AdvRule.Instance().EditRule(t);var r=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/installedappautocomplete";AutoCompleteHelper.getHelper().Create("#Autocomplete_InstalledApp","#hf_Autocomplete_InstalledApp",r,function(n){var t=n});$("#Autocomplete_InstalledApp").change(function(){let n=Number($("#Autocomplete_InstalledApp option:selected").val());var t=_appsettings.server_url()+"/apis/v4/unibase/notificationrule/platform/ruleprovidersautocomplete/InstalledAppId/"+n;AutoCompleteHelper.getHelper().Create("#Autocomplete_RuleProvider","hf_Autocomplete_RuleProvider",t,function(n){var t=n})})}SaveRule(t,u){return __awaiter(this,void 0,void 0,function*(){let e=Number(t),f=new n.Platform.Automation.Requests.Rule;f.RuleId=e;f.RuleName=$("#txt_Rule").val().toString();f.RuleProviderId=Number($("#ddl_RuleProvider option:selected").val());f.AutomationModeId=Number(n.Platform.Automation.Enums.AutomationMode.AdvancedMode);f.RuleType=n.Platform.Automation.Enums.RuleType.Event;yield i.Managers.RuleManager.Instance().saveRule(f).then(function(i){i.status==n.Data.Status.Error?MessageHelper.Instance().showError(i.message,"Validate_RuleEvent"):(MessageHelper.Instance().showSuccess(i.message,"Validate_RuleEvent"),eval("bizgaze_automation_flow_main.saveruleblock('"+i.result.RuleId+"','"+i.result.RuleName+"','"+i.result.RuleProviderId+"')"),r.RuleEvent.Instance().SaveRuleEvent(t,u))})})}EditRule(t){let i=Number(t);$("#Form_AdvRule").text("Edit Rule");n.Platform.Automation.Managers.RuleManager.Instance().getRule(i).then(function(t){let i=t.RuleId;$("#hf_RuleProvider").val(t.RuleProviderId);$("#txt_AdvRule").val(t.RuleName);n.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(t.RuleProviderId).then(function(n){var i=new Option(n.AppTitle,n.InstalledAppId.toString(),!0),t;$("#Autocomplete_InstalledApp").append(i);t=new Option(n.RuleProviderName,n.RuleProviderId.toString(),!0);$("#Autocomplete_RuleProvider").append(t);eval("_floatingLabelHelper.init();")})})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.AutomationMode=0;r.AdvRule=u})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,231 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class RuleCondition {
init() {
}
getGlobalCondition() {
let html = `<form id="frmUnibase_Condition" data-validate="parsley" data-isdynamic="false">
<div class="row">
<label class="col-sm-4">Attribute Name</label>
<label class="col-sm-4">Condition</label>
<label class="col-sm-4">Value</label>
</div>
<div class="row">
<div class="col-sm-4 mt-5">
<select id="ddl_PropertyName" class="form-control value-control" data-isdynamic="true">
<option value="">Select</option>
</select>
<input type="hidden" id="hf_PropertyName">
</div>
<div class="col-sm-4 mt-5">
<select id="ddl_Operator" class="form-control value-control" data-isdynamic="true">
<option value="0">Select</option>
<option value="1">Equals</option>
<option value="2">NotEquals</option>
<option value="3">EqualsColumn</option>
<option value="4">NotEqualsColumn</option>
<option value="5">GreaterThan</option>
<option value="6">GreaterThanOrEquals</option>
<option value="7">LessThan</option>
<option value="8">LessThanOrEquals</option>
<option value="9">GreaterThanColumn</option>
<option value="10">GreaterThanOrEqualsColumn</option>
<option value="11">LessThanColumn</option>
<option value="12">LessThanOrEqualsColumn</option>
<option value="13">Empty</option>
<option value="14">NotEmpty</option>
<option value="15">Contains</option>
<option value="16">DoesNotContains</option>
<option value="17">StartsWith</option>
<option value="18">EndsWith</option>
<option value="19">In</option>
<option value="20">NotIn</option>
<option value="21">Between</option>
<option value="22">NotBetween</option>
<option value="23">Date</option>
</select>
<input type="hidden" id="hf_Operator">
</div>
<div class="col-sm-3 mt-5">
<input type="text" id="txt_Value" class="form-control value-control floating-label-control" placeholder="Enter Value"/>
<input type="hidden" id="hf_Value" />
</div>
<div class="col-sm-1 pull-right mt-5">
<span class="pull-right">
<a id="" title="Create" onclick="Unibase.Platform.Automation.Components.RuleCondition.Instance().AddCondition();">
<i class="fa fa-plus"></i>
</a>
</span>
</div>
</div>
<div class="row" id="AddCondition">
</div>
</div>
</form>`;
return html;
}
AddCondition() {
Unibase.Platform.Automation.Components.RuleCondition.flag = 0;
var html = "";
if (!Unibase.Platform.Automation.Components.RuleCondition.count) {
Unibase.Platform.Automation.Components.RuleCondition.len = Unibase.Platform.Automation.Components.RuleCondition.len + 1;
}
else {
Unibase.Platform.Automation.Components.RuleCondition.len = Unibase.Platform.Automation.Components.RuleCondition.count;
}
var attributeId = $('#ddl_PropertyName :selected').val();
var attributeName = $('#ddl_PropertyName :selected').text();
var conditionId = $('#ddl_Operator :selected').val();
var conditionName = $('#ddl_Operator :selected').text();
var value = $("#txt_Value").val();
var RuleConditionId = 0;
html += '<div class="Conditionrow col-sm-12 mt-10" id="row_' + Unibase.Platform.Automation.Components.RuleCondition.len + '">' +
'<label id="PropertyName_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-4">' + $("#ddl_PropertyName :selected").text() + '</label>' +
'<label id="Operator_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-4">' + $("#ddl_Operator :selected").text() + '</label>' +
'<label id="OperatorValue_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="hidden">' + $("#ddl_Operator :selected").val() + '</label>' +
'<label id="Value_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-3">' + $("#txt_Value").val() + '</label>' +
'<label id="hf_RuleConditionId_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="hidden">' + RuleConditionId + '</label>' +
'<span class="pull-right">' +
'<a id="btnEdit_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" onclick="Unibase.Platform.Automation.Components.RuleCondition.Instance().EditRow(' + Unibase.Platform.Automation.Components.RuleCondition.len + ');">' +
' <i class="fa fa-pencil mr-5"></i>' +
'</a>' +
'<a id="btn_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" onclick="Unibase.Platform.Automation.Components.RuleCondition.Instance().DeleteRow(' + Unibase.Platform.Automation.Components.RuleCondition.len + ');">' +
' <i class="fa fa-trash text-danger"></i>' +
'</a>' +
'</span>' +
'<div>';
if ($("#ddl_PropertyName").val() != "0" && $("#ddl_Operator").val() != "0" && $("#txt_Value").val()) {
if (Unibase.Platform.Automation.Components.RuleCondition.len != 1) {
for (var i = 0; i < Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray.length; i++) {
if ($("#ddl_PropertyName :selected").text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[i].AttributeName && $("#ddl_Operator :selected").text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[i].ConditionName && $("#txt_Value").val() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[i].Value) {
Unibase.Platform.Automation.Components.RuleCondition.flag = 1;
Unibase.Platform.Automation.Components.RuleCondition.len = Unibase.Platform.Automation.Components.RuleCondition.len - 1;
MessageHelper.Instance().showError("Already Exists", "Unibase_Rules_ValidationSummary");
return false;
}
}
}
if (Unibase.Platform.Automation.Components.RuleCondition.flag == 0) {
$("#AddCondition").append(html);
Unibase.Platform.Automation.Components.RuleCondition.count = 0;
$("#ddl_PropertyName").val("0");
$("#ddl_Operator").val("0");
$("#txt_Value").val("");
Unibase.Platform.Automation.Components.RuleCondition.flag = 0;
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray.push({ AttributeName: attributeName, ConditionName: conditionName, Value: value });
}
}
else {
Unibase.Platform.Automation.Components.RuleCondition.len = Unibase.Platform.Automation.Components.RuleCondition.len - 1;
MessageHelper.Instance().showError("Required fields are not provided", "Unibase_Rules_ValidationSummary");
}
}
EditRow(len) {
$("#ddl_PropertyName").val($("#PropertyName_" + Unibase.Platform.Automation.Components.RuleCondition.len + "").text());
$("#ddl_Operator").val($("#OperatorValue_" + Unibase.Platform.Automation.Components.RuleCondition.len + "").text());
$("#txt_Value").val($("#Value_" + Unibase.Platform.Automation.Components.RuleCondition.len + "").text());
$("#hfActionConditionId").val($("#hf_RuleConditionId_" + Unibase.Platform.Automation.Components.RuleCondition.len + "").text());
$('#row_' + Unibase.Platform.Automation.Components.RuleCondition.len + '').remove();
Unibase.Platform.Automation.Components.RuleCondition.count = Unibase.Platform.Automation.Components.RuleCondition.len;
for (var key in Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray) {
if ($("#ddl_PropertyName :selected").text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[key].AttributeName && $("#ddl_Operator :selected").text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[key].ConditionName && $("#txt_Value").val() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[key].Value) {
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray.splice(Number(key), 1);
break;
}
}
}
DeleteRow(len, rule) {
for (var row in Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray) {
if ($("#PropertyName_" + len).text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[row].AttributeName && $("#Operator_" + len).text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[row].ConditionName && $("#Value_" + len).text() == Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray[row].Value) {
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray.splice(Number(row), 1);
break;
}
}
$('#row_' + len + '').remove();
}
AddGlobalConditionArray() {
let myarray = [];
$(".Conditionrow").each(function () {
let conditionobj = {};
let id = $(this).find(".EventKeys");
let len = (id.prevObject[0].id).split('_');
len = len[1];
conditionobj.RuleConditionId = Number($(this).find("#hf_RuleConditionId_" + len + "").text());
;
conditionobj.RuleId = 0;
conditionobj.PropertyName = $(this).find("#PropertyName_" + len + "").text();
conditionobj.OperatorType = $(this).find("#Operator_" + len + "").text();
conditionobj.FromValue = $(this).find("#Value_" + len + "").text();
conditionobj.ToValue = $(this).find("#Value_" + len + "").text();
myarray.push(conditionobj);
});
return myarray;
}
LoadGlobalConditions(ruleid) {
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray = [];
Unibase.Platform.Automation.Components.RuleCondition.len = 0;
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleConditions(ruleid).then(function (response) {
for (var i = 0; i < response.length; i++) {
var html = "";
let operatortype = Unibase.Platform.Automation.Enums.ExpOp[response[i].OperatorId];
Unibase.Platform.Automation.Components.RuleCondition.len = i + 1;
html += '<div class="Conditionrow col-sm-12" id="row_' + Unibase.Platform.Automation.Components.RuleCondition.len + '">' +
'<label id="PropertyName_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-4">' + response[i].PropertyName + '</label>' +
'<label id="Operator_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-4">' + operatortype + '</label>' +
'<label id="OperatorValue_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="hidden">' + response[i].OperatorId + '</label>' +
'<label id="Value_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="col-sm-3">' + response[i].FromValue + '</label>' +
'<label id="hf_RuleConditionId_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" class="hidden">' + response[i].RuleConditionId + '</label>' +
'<span class="pull-right">' +
'<a id="btnEdit_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" onclick="Unibase.Platform.Automation.Components.RuleCondition.Instance().EditRow(' + Unibase.Platform.Automation.Components.RuleCondition.len + ');">' +
' <i class="fa fa-pencil mr-5"></i>' +
'</a>' +
'<a id="btn_' + Unibase.Platform.Automation.Components.RuleCondition.len + '" onclick="Unibase.Platform.Automation.Components.RuleCondition.Instance().DeleteRow(' + Unibase.Platform.Automation.Components.RuleCondition.len + ',' + response[i].RuleConditionId + ');">' +
' <i class="fa fa-trash text-danger"></i>' +
'</a>' +
'</span>' +
'<div>';
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray.push({ AttributeName: response[i].PropertyName, ConditionName: response[i].Operatortype, Value: response[i].FromValue });
$("#AddCondition").append(html);
Unibase.Platform.Automation.Components.RuleCondition.isCreate = 1;
}
});
}
LoadConditionProperties(ruleproviderid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
let cmbConditionProperties = document.getElementById('ddl_PropertyName');
$('#ddl_PropertyName').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
defaultOpt1.value = "0";
cmbConditionProperties.appendChild(defaultOpt1);
for (let i = 0; i <= response.length - 1; i++) {
var opt = document.createElement("option");
opt.text = response[i];
opt.value = response[i];
cmbConditionProperties.appendChild(opt);
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new RuleCondition();
}
return this.instance;
}
}
RuleCondition.len = 0;
RuleCondition.flag = 0;
RuleCondition.isCreate = 0;
RuleCondition.ruleConditionArray = [];
Components.RuleCondition = RuleCondition;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,599 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class RuleEvent extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RuleProviderId = 0;
}
cssFiles() {
return [];
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/automation/enums/eventtype.js",
"platform/automation/enums/automationmode.js",
"platform/automation/enums/expop.js",
"platform/automation/requests/ruleevent.js",
"platform/automation/requests/rulecondition.js",
"platform/automation/requests/eventgroup.js",
"platform/automation/components/rulebuilder/rulebuilder.condition.js",
"platform/automation/components/rulebuilder/rulebuilder.advrule.js"
];
return jsfiles;
}
html(id, containerid) {
let html = `<form id="frmUnibase_RuleEvent" data-validate="parsley" data-isdynamic="false">
<div id="Validate_RuleEvent" class="clear"></div>
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_RuleEvent">Create Event</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divRuleEventDetails">
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="custom-control custom-radio">
<input type="radio" id="rdb_Instant" name="SchedulerType" value="1" class="custom-control-input" checked="checked">
<label class="custom-control-label" for="rdb_Instant">Instant</label>
<input type="hidden" id="hfId_Instant" value="">
</div>
</div>
<div class="col-sm-6">
<div class="custom-control custom-radio">
<input type="radio" id="rdb_Scheduled" name="SchedulerType" value="2" class="custom-control-input">
<label class="custom-control-label" for="rdb_Scheduled">Scheduled</label>
<input type="hidden" id="hfId_Scheduled" value="">
</div>
</div>
</div>
<div class="row mt-30" id="EventColumnsdiv">
<div class="col-sm-12" id="ECAutocomplete">
<div id="div_EventColumns" class="floating-label-form-group-with-value floating-validate" style="border-bottom:0;">
<select id="select2_EventColumns" class="select2_EventColumns required value-control form-control text-control" multiple="multiple" style="width:100%;"></select>
<input type="hidden" id="hfSelect2Id_EventColumns" value="" class="form-control text-control" data-isdynamic="true" />
<input type="hidden" id="hfId_EventColumns" value=""><label for="Validation" id="lblValidation_EventColumns"></label>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card hidden" id="divEventDetails">
<div class="card-header">Event Type Details</div>
<div class="card-body">
<div class="row" id="div_Scheduler">
<div class="col-sm-6">
<div class="floating-label-form-group floating-label-form-group-with-value">
<label for="lblSchedulerType" id="lbl_SchedulerType" class="font-bold">Scheduler Type<span class="text-danger">*</span></label>
<select id="ddl_SchedulerType" class="form-control value-control" data-isdynamic="true" placeholder="Select" data-placeholder="Select" data-label="Select">
<option value="">Select</option>
<option value="2">Daily</option>
<option value="3">FifteenMinute</option>
<option value="4">FiveMinute</option>
<option value="5">FortyFiveMinute</option>
<option value="6">HalfYearly</option>
<option value="7">Monthly</option>
<option value="8">NineHour</option>
<option value="9">OneHour</option>
<option value="10">OneMinute</option>
<option value="11">Quarterly</option>
<option value="12">SixHour</option>
<option value="13">ThirtyMinute</option>
<option value="14">ThreeHour</option>
<option value="15">ThreeMinute</option>
<option value="16">TwelveHour</option>
<option value="17">TwoHour</option>
<option value="18">TwoMinute</option>
<option value="19">Yearly</option>
<option value="20">Week</option>
</select>
<input type="hidden" id="hf_SchedulerType" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="User" class="font-bold">User</label>
<select id="txtAutoComplete_Users" class="form-control text-control" style="width:100%;" placeholder="User" data-placeholder="User" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_Users" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
<div class="row" id="div_Dates">
<div id="" class="col-sm-6">
<div class="floating-label-form-group" id="div_StartDate">
<label for="lbl" id="lbl_StartDate">Start Date<span class="text-danger" id="spnIsRequired_StartDate"> *</span></label>
<div class="input-group">
<input type="text" id="date_StartDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="Start Date *" data-placeholder="dd/mm/yyyy hh:mm" data-label="Start Date *">
<span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
<input type="hidden" id="hf_StartDate" />
</div>
</div>
</div>
<div id="" class="col-sm-6">
<div class="floating-label-form-group" id="div_EndDate">
<label for="lbl" id="lbl_EndDate">End Date<span class="text-danger" id="spnIsRequired_EndDate"> *</span></label>
<div class="input-group">
<input type="text" id="date_EndDate" class="form-control type-control datepicker-input hasDatepicker value-control floating-label-control" placeholder="End Date *" data-placeholder="dd/mm/yyyy hh:mm" data-label="End Date *">
<span class="input-group-addon mt-10"><i class="fa fa-calendar"></i></span>
<input type="hidden" id="hf_EndDate" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card" id="btn_Conditions">
<button type="button" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.RuleEvent.Instance().ToggleRuleEventConditions();">Conditions</button>
</div>
<div class="bg-white card hidden" id="ConditionDetailsDiv">
<div class="card-header">Global Condition Details</div>
<div class="card-body">
<div class="ConditionDetails">
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateEventFooter">
<a href="javascript:;" id="btnCloseEvent" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveEvent" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
let ruleid = eval("bizgaze_automation_flow_main.getruleid()");
Unibase.Platform.Automation.Components.RuleEvent.Instance().RuleProviderId = this.RuleProviderId;
$("#btnCloseEvent").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.RuleEvent.EventColumnData = [];
eval("bizgaze_automation_flow_main.getpopupclosed()");
});
$("#btnSaveEvent").click(function () {
let appcontrolid = "frmUnibase_RuleEvent";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_RuleEvent");
return false;
}
else {
let ruleinfo = Number(eval("bizgaze_automation_flow_main.getruleid()"));
if (ruleinfo == 0) {
Unibase.Platform.Automation.Components.AdvRule.Instance().SaveRule(id, containerid);
}
else {
RuleEvent.Instance().SaveRuleEvent(id, containerid);
}
}
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/followers/reports_followersauto';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Users", "#hf_Autocomplete_Users", url, function (response) {
var data = response;
});
let rpid = Unibase.Platform.Automation.Components.RuleEvent.Instance().RuleProviderId;
if (rpid != 0) {
Unibase.Platform.Automation.Components.RuleEvent.Instance().loadEventColomns(rpid).then(function () {
if (id != "") {
Unibase.Platform.Automation.Components.RuleEvent.Instance().EditEvent(id);
}
});
Unibase.Platform.Automation.Components.RuleEvent.Instance().loadQueryBuilder(rpid, null);
}
if (ruleid != 0) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(ruleid).then(function (response) {
Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray = response;
if (Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleTypeId == Number(Unibase.Platform.Automation.Enums.RuleType.Event)) {
Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event;
}
else {
Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType = Unibase.Platform.Automation.Enums.RuleType.Scheduler;
}
});
}
$("#rdb_Instant").click(function () {
$("#divEventDetails").addClass("hidden");
$("#ddl_SchedulerType").removeClass("required");
$("#date_StartDate").removeClass("required");
$("#date_EndDate").removeClass("required");
$("#select2_EventColumns").addClass("required");
$("#EventColumnsdiv").removeClass("hidden");
});
$("#rdb_Scheduled").change(function () {
$("#divEventDetails").removeClass("hidden");
$("#ddl_SchedulerType").addClass("required");
$("#date_StartDate").addClass("required");
$("#date_EndDate").addClass("required");
$("#EventColumnsdiv").addClass("hidden");
$("#select2_EventColumns").removeClass("required");
$("#ddl_SchedulerType").val('');
$("#date_StartDate").val("");
$("#date_EndDate").val("");
});
$("#date_StartDate").daterangepicker({
autoUpdateInput: false,
timePicker: true,
timePicker24Hour: true,
locale: {
format: 'DD/MM/YYYY HH:mm',
},
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
maxDate: new Date(2050, 11, 31)
});
$("#date_EndDate").daterangepicker({
autoUpdateInput: false,
timePicker: true,
timePicker24Hour: true,
locale: {
format: 'DD/MM/YYYY HH:mm',
},
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
maxDate: new Date(2050, 11, 31)
});
$('#date_StartDate').on('apply.daterangepicker', function (ev, picker) {
$('#div_StartDate').addClass('floating-label-form-group-with-value');
});
$('#date_EndDate').on('apply.daterangepicker', function (ev, picker) {
$('#div_EndDate').addClass('floating-label-form-group-with-value');
});
}
ToggleRuleEventConditions() {
$("#ConditionDetailsDiv").toggle(function () {
$("#btn_Conditions").addClass("hidden");
$("#ConditionDetailsDiv").removeClass("hidden");
});
}
loadEventColomns(ruleproviderid) {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
Unibase.Platform.Automation.Components.RuleEvent.EventColumnData.push({ id: response.DoctypeName + " Created", text: response.DoctypeName + " Created" });
Unibase.Platform.Automation.Components.RuleEvent.EventColumnData.push({ id: response.DoctypeName + " Deleted", text: response.DoctypeName + " Deleted" });
Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDocProperties(response.DoctypeId).then(function (response) {
let result = response.result;
for (let i = 0; i < result.length; i++) {
var EventColumn = result[i];
Unibase.Platform.Automation.Components.RuleEvent.EventColumnData.push({ id: result[i].PropColumnName + " Changed", text: result[i].PropColumnName + " Changed" });
}
return $("#select2_EventColumns").select2({
placeholder: 'Select',
data: Unibase.Platform.Automation.Components.RuleEvent.EventColumnData,
});
});
});
});
}
GetEventColumns() {
let eventcolumnscount = new Array();
eventcolumnscount = $("#select2_EventColumns").val();
var eventcolumn = "";
for (var i = 0; i < eventcolumnscount.length; i++) {
eventcolumn += eventcolumnscount[i] + ",";
}
return eventcolumn.slice(0, -1);
}
EditEvent(id) {
$("#Form_RuleEvent").text("Edit Event");
let ruleid = eval("bizgaze_automation_flow_main.getruleid()");
let response;
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(ruleid).then(function (res) {
response = res;
if (id != ruleid) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleEventsByEventGroupId(id).then(function (response) {
let EventColArr = [];
let RuleId = 0;
for (var i = 0; i <= response.length - 1; i++) {
RuleId = response[i].RuleId;
let eventname = response[i].EventName;
if (response[i].EventColumnName != null && response[i].EventColumnName != "") {
eventname = eventname.split("_")[2];
EventColArr.push("" + eventname + " Changed");
}
else {
let eventtype = eventname.split("_")[2];
if (eventtype.toLowerCase() == "created") {
eventname = eventname.split("_created")[0];
EventColArr.push("" + eventname + " Created");
}
else {
eventname = eventname.split("_deleted")[0];
EventColArr.push("" + eventname + " Deleted");
}
}
}
$("#select2_EventColumns").val(EventColArr).trigger('change');
$("input[type=radio]").attr('disabled', 1);
});
}
else {
$("#rdb_Scheduled").attr('checked', 1);
$("#hf_SchedulerType").val(response.SchedulerId);
$("#divEventDetails").removeClass("hidden");
$("#EventColumnsdiv").addClass("hidden");
$("#select2_EventColumns").removeClass("required");
$("#date_StartDate").val(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(response.StartDate));
$("#date_EndDate").val(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithoutSeconds(response.EndDate));
$("#ddl_SchedulerType").val($("#hf_SchedulerType").val());
$("input[type=radio]").attr('disabled', 1);
var useroption = new Option(response.UserName, response.IdentityUserId.toString(), true, true);
$("#txtAutoComplete_Users").append(useroption);
}
if (response.SqlWhere != null && response.SqlWhere != "") {
Unibase.Platform.Automation.Components.RuleEvent.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
$("#btn_Conditions").addClass("hidden");
$("#ConditionDetailsDiv").removeClass("hidden");
}
$("#div_StartDate").addClass('floating-label-form-group-with-value');
$("#div_EndDate").addClass('floating-label-form-group-with-value');
eval('_floatingLabelHelper.init();');
});
}
RuleEventArray() {
let eventarray = [];
let eventcolumns = Unibase.Platform.Automation.Components.RuleEvent.Instance().GetEventColumns().split(",");
for (var i = 0; i < eventcolumns.length; i++) {
let eventobj = {};
let eventtype;
let etype = eventcolumns[i].split(" ")[1];
let eventcolumn = "";
if (etype == "Created") {
eventtype = Unibase.Platform.Automation.Enums.EventType.Created;
}
else if (etype == "Deleted") {
eventtype = Unibase.Platform.Automation.Enums.EventType.Deleted;
}
else if (eventcolumns[i].toLowerCase() == "stageid changed") {
eventtype = Unibase.Platform.Automation.Enums.EventType.StageEvent;
eventcolumn = eventcolumns[i].split(" ")[0];
}
else {
eventtype = Unibase.Platform.Automation.Enums.EventType.Updated;
eventcolumn = eventcolumns[i].split(" ")[0];
}
eventobj.RuleEventId = 0;
eventobj.EventColumnName = eventcolumn;
eventobj.EventType = eventtype;
eventobj.RuleId = eval("bizgaze_automation_flow_main.getruleid()");
eventarray.push(eventobj);
}
return eventarray;
}
Ruledata() {
return __awaiter(this, void 0, void 0, function* () {
let ruleid = eval("bizgaze_automation_flow_main.getruleid()");
if (ruleid != 0) {
yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(ruleid).then(function (response) {
Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray = response;
if (Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleTypeId == Number(Unibase.Platform.Automation.Enums.RuleType.Event)) {
Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event;
}
else {
Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType = Unibase.Platform.Automation.Enums.RuleType.Scheduler;
}
});
}
});
}
SaveRuleEvent(id, containerid) {
return __awaiter(this, void 0, void 0, function* () {
var eventcolumns = '';
let EventGroupId = Number(id);
let ruledata = [];
let ruleeventdata = [];
yield Unibase.Platform.Automation.Components.RuleEvent.Instance().Ruledata();
let SchedulerTypeId = Number($('input[name=SchedulerType]:checked').val());
if (SchedulerTypeId == 2) {
let rulearr = Unibase.Platform.Automation.Components.RuleEvent.Instance().GetSRuleData();
for (let i = 0; i < rulearr.length; i++) {
ruledata.push({
RuleId: rulearr[i].RuleId,
RuleProviderId: rulearr[i].RuleProviderId,
DocTypeId: rulearr[i].DocTypeId,
RuleName: rulearr[i].RuleName,
SchedulerId: rulearr[i].SchedulerId,
RuleType: rulearr[i].RuleType,
Notes: rulearr[i].Notes,
RuleFlow: rulearr[i].RuleFlow,
StartDate: rulearr[i].StartDate,
EndDate: rulearr[i].EndDate,
RuleConditionData: rulearr[i].RuleConditionData,
EventGroupData: rulearr[i].EventGroupData,
AutomationModeId: rulearr[i].AutomationModeId,
SqlWhere: rulearr[i].SqlWhere,
SqlWhereJson: rulearr[i].SqlWhereJson,
IdentityUserId: rulearr[i].IdentityUserId,
});
}
}
else {
let ruleeventarray = Unibase.Platform.Automation.Components.RuleEvent.Instance().RuleEventArray();
for (let i = 0; i < ruleeventarray.length; i++) {
ruleeventdata.push({
RuleEventId: ruleeventarray[i].RuleEventId,
RuleId: ruleeventarray[i].RuleId,
EventId: ruleeventarray[i].EventId,
EventColumnName: ruleeventarray[i].EventColumnName,
EventType: ruleeventarray[i].EventType,
RuleType: ruleeventarray[i].RuleType
});
if (ruleeventarray[i].EventColumnName != "") {
eventcolumns += ruleeventarray[i].EventColumnName + " Changed ,";
}
}
let rulearr = Unibase.Platform.Automation.Components.RuleEvent.Instance().GetRuleData();
for (let i = 0; i < rulearr.length; i++) {
ruledata.push({
RuleId: rulearr[i].RuleId,
RuleProviderId: rulearr[i].RuleProviderId,
DocTypeId: rulearr[i].DocTypeId,
RuleName: rulearr[i].RuleName,
SchedulerId: rulearr[i].SchedulerId,
RuleType: rulearr[i].RuleType,
Notes: rulearr[i].Notes,
RuleFlow: rulearr[i].RuleFlow,
StartDate: rulearr[i].StartDate,
EndDate: rulearr[i].EndDate,
RuleConditionData: rulearr[i].RuleConditionData,
EventGroupData: rulearr[i].EventGroupData,
AutomationModeId: rulearr[i].AutomationModeId,
SqlWhere: rulearr[i].SqlWhere,
SqlWhereJson: rulearr[i].SqlWhereJson,
IdentityUserId: rulearr[i].IdentityUserId,
});
}
}
let model = new Unibase.Platform.Automation.Requests.EventGroup();
model.EventGroupId = EventGroupId;
model.RuleId = eval("bizgaze_automation_flow_main.getruleid()");
model.RuleEventData = ruleeventdata;
if ($("#ddl_SchedulerType").val() != 0) {
model.RuleType = Unibase.Platform.Automation.Enums.RuleType.Scheduler;
}
else {
model.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event;
}
model.RuleData = ruledata;
yield Automation.Managers.RuleManager.Instance().saveAdvRuleEvent(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_Rule");
}
else {
if (response.result.EventGroupId != 0) {
MessageHelper.Instance().showSuccess(response.message, "Validate_Rule");
eval("bizgaze_automation_flow_main.saveeventblock('" + response.result.EventGroupId + "','Event Configured')");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_Rule");
eval("bizgaze_automation_flow_main.saveeventblock('" + response.result.RuleId + "','Event Configured')");
}
let queryelmnt = $("#builder");
queryelmnt.queryBuilder('destroy');
$("#QueryBuilder").remove();
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.RuleEvent.EventColumnData = [];
eval("bizgaze_automation_flow_main.saveeventname('" + eventcolumns + "')");
}
});
});
}
GetSRuleData() {
let rulearray = [];
let queryelmnt = $("#builder");
let ruleobj = {};
ruleobj.RuleId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleId;
ruleobj.RuleProviderId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleProviderId;
ruleobj.DocTypeId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.DocTypeId;
ruleobj.RuleName = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleName;
ruleobj.SchedulerId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.SchedulerId;
ruleobj.RuleType = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType;
ruleobj.Notes = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.Notes;
ruleobj.RuleFlow = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleFlow;
ruleobj.AutomationModeId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.AutomationModeId;
if ($("#ddl_SchedulerType").val() != 0) {
ruleobj.SchedulerId = Number($("#ddl_SchedulerType").val());
ruleobj.RuleType = Unibase.Platform.Automation.Enums.RuleType.Scheduler;
}
else {
ruleobj.SchedulerId = 1;
ruleobj.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event;
}
let StartDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_StartDate").val());
ruleobj.StartDate = new Date(StartDate);
let EndDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime($("#date_EndDate").val());
ruleobj.EndDate = new Date(EndDate);
ruleobj.IdentityUserId = $("#txtAutoComplete_Users option:selected").val() == null || "" ? 0 : Number($("#txtAutoComplete_Users option:selected").val());
let query = queryelmnt.queryBuilder('getSQL', false, true);
if (query != null) {
ruleobj.SqlWhere = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE");
ruleobj.SqlWhereJson = JSON.stringify(queryelmnt.queryBuilder('getSQL', false, true));
}
else {
ruleobj.SqlWhere = '';
ruleobj.SqlWhereJson = '';
}
rulearray.push(ruleobj);
return rulearray;
}
GetRuleData() {
let rulearray = [];
let queryelmnt = $("#builder");
let ruleobj = {};
ruleobj.RuleId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleId;
ruleobj.RuleProviderId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleProviderId;
ruleobj.DocTypeId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.DocTypeId;
ruleobj.RuleName = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleName;
ruleobj.AutomationModeId = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.AutomationModeId;
ruleobj.SchedulerId = 1;
ruleobj.RuleType = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleType;
ruleobj.Notes = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.Notes;
ruleobj.RuleFlow = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.RuleFlow;
ruleobj.StartDate = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.StartDate;
ruleobj.EndDate = Unibase.Platform.Automation.Components.RuleEvent.RuleDataArray.EndDate;
let query = queryelmnt.queryBuilder('getSQL', false, true);
if (query != null) {
ruleobj.SqlWhere = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE");
ruleobj.SqlWhereJson = JSON.stringify(queryelmnt.queryBuilder('getSQL', false, true));
}
else {
ruleobj.SqlWhere = '';
ruleobj.SqlWhereJson = '';
}
rulearray.push(ruleobj);
return rulearray;
}
loadQueryBuilder(ruleproviderid, querystring) {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
let ruleconditionhtml = Unibase.Platform.DataSources.Components.QueryBuilder.Instance().html(null, null);
jQuery(".ConditionDetails").html(ruleconditionhtml);
var qinstance = Unibase.Platform.DataSources.Components.QueryBuilder.Instance();
qinstance.QueryBuilder_Columns = [];
qinstance.QueryBuilder_Filters = [];
qinstance.queryBuilderString = "";
if (response.ReportId != 0) {
qinstance.ReportId = response.ReportId;
qinstance.loadQueryBuilderDiv(querystring);
}
else {
qinstance.DoctypeId = response.DoctypeId;
qinstance.loadQueryBuilderDivByDoctypeId(querystring);
}
$("#QueryBuilder").removeClass("hidden");
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new RuleEvent();
}
return this.instance;
}
}
RuleEvent.EventColumnData = [];
RuleEvent.RuleDataArray = [];
Components.RuleEvent = RuleEvent;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,171 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class RuleBuilder extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RuleFlow = [];
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"libs/notificationbuilder/notificationbuilder.js", "platform/automation/components/eventtemplate.js"];
return jsfiles;
}
cssFiles() {
var cssfiles = ["libs/flowy/styles.css", "libs/notificationbuilder/notificationbuilder.css"];
return cssfiles;
}
html(id, containerid) {
let html = `<div class="flowchart_new" onclick="eval('closemenu()')" style="background-color:white"><div id="Validate_RuleBuilder" class="col-sm-12 clear"></div><div class=" col-md-12 create_rule" style="margin-top:15px"><div class="row"><div class="col-sm-6 d-flex"><span class="rule_name" style="margin-right:10px;margin-left:10px;"><input type="text" class="form-control border-0" placeholder="Rule Name" id="txt_Rule" style="height:38px;width:200px" class="Rulename_text"></span><span class="Installed_app" style="width:200px"><select id="installedapp_dropdown" class="form-control text-control required" style="width:100%;" onchange="eval('ruleproviders()')" placeholder="Select InstalledApp" data-placeholder="InstalledApp" data-label="" data-istagselect="true"></select></span><span class="rule_providerdropdown ml-5"><select id="ddl_RuleProvider" onchange="eval('ruleprovideridinfo()')" class="form-control text-control"style="margin-right:10px;height:38px;width:200px"><option value='0'>Select RuleProvider</option></select><input type="hidden" id="hf_RuleProvider" value="" /></span></div><div class="col-md-6"><span class="buttons pull-right"><span id="discard">Discard</span><span id="publish">Save Flow</span></span></div></div></div><hr><div class="treeContainer">
<div class="treebody"></div></div></div>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
$("#discard").click(function () {
let ruleid = eval("bizgaze_automation_flow_main.getruleid()");
if (ruleid != 0) {
bootbox.confirm("All items will be deleted, Do You Want To Continue?", function (result) {
if (result) {
$('.treebody').html('');
eval("bizgaze_automation_flow_main.getcloseadvmode()");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
else {
return;
}
});
}
else {
$('.treebody').html('');
eval("bizgaze_automation_flow_main.getcloseadvmode()");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
});
$("#publish").click(function () {
instance.SaveRuleFlow(containerid);
});
Unibase.Platform.Automation.Components.RuleBuilder.Instance().loadinstalledappsfordrpdown();
if (id != 0) {
Unibase.Platform.Automation.Components.RuleBuilder.Instance().EditRuleFlow(id);
}
else {
eval("load()");
}
}
loadScript(url, callback) {
let script = document.createElement("script");
script.type = "text/javascript";
if (script.readyState) {
script.onreadystatechange = function () {
if (script.readyState == "loaded" ||
script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
}
else {
script.onload = function () {
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
removejscssfile(filename, filetype) {
var targetelement = (filetype == "js") ? "script" : (filetype == "css") ? "link" : "none";
var targetattr = (filetype == "js") ? "src" : (filetype == "css") ? "href" : "none";
var allsuspects = document.getElementsByTagName(targetelement);
for (var i = allsuspects.length; i >= 0; i--) {
if (allsuspects[i] && allsuspects[i].getAttribute(targetattr) != null && allsuspects[i].outerHTML.includes(filename)) {
allsuspects[i].parentNode.removeChild(allsuspects[i]);
}
}
}
loadinstalledappsfordrpdown() {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
AutoCompleteHelper.getHelper().Create("#installedapp_dropdown", "#hf_Autocomplete_InstalledApp", url, function (response) {
var data = response;
});
}
SearchBlocks() {
var input, filter, div, subdiv, a, i;
input = document.getElementById("SearchBlocks");
filter = input.value.toUpperCase();
div = document.getElementById("blocklist");
subdiv = div.getElementsByClassName("blockelem create-flowy noselect");
for (i = 0; i < subdiv.length; i++) {
if (subdiv[i].firstElementChild.value.toUpperCase() == filter) {
a = subdiv[i];
if (a.innerHTML.indexOf(filter) > -1) {
subdiv[i].style.display = "";
}
}
else {
a = subdiv[i];
if (a.firstElementChild.value.toUpperCase().indexOf(filter) > -1) {
subdiv[i].style.display = "";
}
else {
subdiv[i].style.display = "none";
}
}
}
}
render(id, callback) {
this.navigationHelper.popup(id, '', Unibase.Platform.Automation.Components.RuleBuilder.Instance(), null, Platform.Helpers.Size.ExtraLarge);
}
SaveRuleFlow(containerid) {
let ruleid = eval("bizgaze_automation_flow_main.getruleid()");
let output = eval("bizgaze_automation_flow_main.output()");
let ruleflow = JSON.stringify(output);
let model = new Unibase.Platform.Automation.Requests.Rule();
model.RuleId = eval("bizgaze_automation_flow_main.getruleid()");
model.RuleFlow = ruleflow;
if (ruleflow != undefined && ruleid != 0) {
Automation.Managers.RuleManager.Instance().saveRuleFlow(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_RuleBuilder");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_RuleBuilder");
eval("bizgaze_automation_flow_main.getcloseadvmode()");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail(ruleid, Unibase.Platform.Automation.Components.Rule.installedappid, null);
}
});
}
else {
MessageHelper.Instance().showError("Please Create Rule", "Validate_RuleBuilder");
}
}
EditRuleFlow(id) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(id).then(function (response) {
eval("bizgaze_automation_flow_main.appendruleid('" + response.RuleId + "')");
eval("bizgaze_automation_flow_main.appendruleproviderid('" + response.RuleProviderId + "')");
Unibase.Platform.Automation.Components.RuleBuilder.Instance().RuleFlow = response.RuleFlow;
eval(" bizgaze_automation_flow_main.import(" + response.RuleFlow + ")");
eval("load()");
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new RuleBuilder();
}
return this.instance;
}
}
Components.RuleBuilder = RuleBuilder;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+2
View File
@@ -0,0 +1,2 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super(...arguments);this.RuleFlow=[]}jsFiles(){return["platform/automation/managers/rulemanager.js","libs/notificationbuilder/notificationbuilder.js","platform/automation/components/eventtemplate.js"]}cssFiles(){return["libs/flowy/styles.css","libs/notificationbuilder/notificationbuilder.css"]}html(){return`<div class="flowchart_new" onclick="eval('closemenu()')" style="background-color:white"><div id="Validate_RuleBuilder" class="col-sm-12 clear"></div><div class=" col-md-12 create_rule" style="margin-top:15px"><div class="row"><div class="col-sm-6 d-flex"><span class="rule_name" style="margin-right:10px;margin-left:10px;"><input type="text" class="form-control border-0" placeholder="Rule Name" id="txt_Rule" style="height:38px;width:200px" class="Rulename_text"></span><span class="Installed_app" style="width:200px"><select id="installedapp_dropdown" class="form-control text-control required" style="width:100%;" onchange="eval('ruleproviders()')" placeholder="Select InstalledApp" data-placeholder="InstalledApp" data-label="" data-istagselect="true"></select></span><span class="rule_providerdropdown ml-5"><select id="ddl_RuleProvider" onchange="eval('ruleprovideridinfo()')" class="form-control text-control"style="margin-right:10px;height:38px;width:200px"><option value='0'>Select RuleProvider</option></select><input type="hidden" id="hf_RuleProvider" value="" /></span></div><div class="col-md-6"><span class="buttons pull-right"><span id="discard">Discard</span><span id="publish">Save Flow</span></span></div></div></div><hr><div class="treeContainer">
<div class="treebody"></div></div></div>`}load(t,i){var r=this;$("#discard").click(function(){let n=eval("bizgaze_automation_flow_main.getruleid()");n!=0?bootbox.confirm("All items will be deleted, Do You Want To Continue?",function(n){if(n)$(".treebody").html(""),eval("bizgaze_automation_flow_main.getcloseadvmode()"),$("#"+i).modal("hide"),$("#"+i).remove();else return}):($(".treebody").html(""),eval("bizgaze_automation_flow_main.getcloseadvmode()"),$("#"+i).modal("hide"),$("#"+i).remove())});$("#publish").click(function(){r.SaveRuleFlow(i)});n.Platform.Automation.Components.RuleBuilder.Instance().loadinstalledappsfordrpdown();t!=0?n.Platform.Automation.Components.RuleBuilder.Instance().EditRuleFlow(t):eval("load()")}loadScript(n,t){let i=document.createElement("script");i.type="text/javascript";i.readyState?i.onreadystatechange=function(){(i.readyState=="loaded"||i.readyState=="complete")&&(i.onreadystatechange=null,t())}:i.onload=function(){t()};i.src=n;document.getElementsByTagName("head")[0].appendChild(i)}removejscssfile(n,t){for(var u=t=="js"?"script":t=="css"?"link":"none",f=t=="js"?"src":t=="css"?"href":"none",r=document.getElementsByTagName(u),i=r.length;i>=0;i--)r[i]&&r[i].getAttribute(f)!=null&&r[i].outerHTML.includes(n)&&r[i].parentNode.removeChild(r[i])}loadinstalledappsfordrpdown(){var n=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/installedappautocomplete";AutoCompleteHelper.getHelper().Create("#installedapp_dropdown","#hf_Autocomplete_InstalledApp",n,function(n){var t=n})}SearchBlocks(){var u,i,f,t,r,n;for(u=document.getElementById("SearchBlocks"),i=u.value.toUpperCase(),f=document.getElementById("blocklist"),t=f.getElementsByClassName("blockelem create-flowy noselect"),n=0;n<t.length;n++)t[n].firstElementChild.value.toUpperCase()==i?(r=t[n],r.innerHTML.indexOf(i)>-1&&(t[n].style.display="")):(r=t[n],t[n].style.display=r.firstElementChild.value.toUpperCase().indexOf(i)>-1?"":"none")}render(i){this.navigationHelper.popup(i,"",n.Platform.Automation.Components.RuleBuilder.Instance(),null,t.Helpers.Size.ExtraLarge)}SaveRuleFlow(t){let u=eval("bizgaze_automation_flow_main.getruleid()"),e=eval("bizgaze_automation_flow_main.output()"),f=JSON.stringify(e),r=new n.Platform.Automation.Requests.Rule;r.RuleId=eval("bizgaze_automation_flow_main.getruleid()");r.RuleFlow=f;f!=undefined&&u!=0?i.Managers.RuleManager.Instance().saveRuleFlow(r).then(function(i){i.status==n.Data.Status.Error?MessageHelper.Instance().showError(i.message,"Validate_RuleBuilder"):(MessageHelper.Instance().showSuccess(i.message,"Validate_RuleBuilder"),eval("bizgaze_automation_flow_main.getcloseadvmode()"),$("#"+t).modal("hide"),$("#"+t).remove(),n.Platform.Helpers.NavigationHelper.Instance().loadDetail(u,n.Platform.Automation.Components.Rule.installedappid,null))}):MessageHelper.Instance().showError("Please Create Rule","Validate_RuleBuilder")}EditRuleFlow(t){n.Platform.Automation.Managers.RuleManager.Instance().getRule(t).then(function(t){eval("bizgaze_automation_flow_main.appendruleid('"+t.RuleId+"')");eval("bizgaze_automation_flow_main.appendruleproviderid('"+t.RuleProviderId+"')");n.Platform.Automation.Components.RuleBuilder.Instance().RuleFlow=t.RuleFlow;eval(" bizgaze_automation_flow_main.import("+t.RuleFlow+")");eval("load()")})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.RuleBuilder=u})(r=i.Components||(i.Components={}))})(i=t.Automation||(t.Automation={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
@@ -0,0 +1,950 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class Rule extends Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.RuleInstalledAppId = 0;
this.CurrentEventIndex = 0;
}
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/datasources/managers/doctypemanager.js",
"platform/analytics/managers/reportmanager.js",
"platform/forms/managers/formmanager.js",
"platform/automation/enums/eventtype.js",
"platform/automation/enums/ruletype.js",
"platform/automation/enums/expop.js",
"platform/automation/enums/automationmode.js",
"platform/automation/enums/executeactionstatus.js",
"platform/automation/components/conditions.js",
"platform/automation/requests/rule.js",
"platform/automation/requests/ruleevent.js",
"platform/automation/requests/ruleaction.js",
"platform/automation/requests/rulecondition.js",
"platform/automation/components/rulebuilder/rulebuilder.condition.js",
"libs/querybuilder/query-builder.min.js",
"libs/querybuilder/query-builder.standalone.min.js",
"libs/querybuilder/query-builder.standalone.js",
"libs/querybuilder/sql-parser.min.js",
"platform/datasources/components/datalistbuilder/querybuilder.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js", "platform/automation/components/rulebuilder/rulebuilder.js"
];
return jsfiles;
}
cssFiles() {
var cssfiles = ["libs/querybuilder/query-builder.default.css"];
return cssfiles;
}
html(id, containerid) {
let html = `<form id="frmUnibase_Rule" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_Rule">Create Rule</strong>
<span class="pull-right" id="ModeType">
<a href="javascript:;" id="link_AdvancedMode" class="pull-right">Advanced Mode</a>
<a href="javascript:;" id="link_NormalMode" class="pull-right hidden">Normal Mode</a>
</span>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div id="Validate_Rule" class="clear"></div>
<div class="row">
<div class="col-sm-3" id="InstalledAppsList">
<div id="Search" class="mb-15 mt-1">
<input type="text" id="txt_Search" onkeyup="Unibase.Platform.Automation.Components.Rule.Instance().SearchBlocks();" class="form-control value-control floating-label-control" placeholder="Search App">
</div>
<div id="txt_noresults" class="hidden" style="text-align:center;">No Results Found</div>
</div>
<div class="col-sm-9 hidden" id="RuleSection">
<div class="bg-white card" id="RuleDetails">
<div class="card-body">
<div class="row">
<div class="col-sm-12">
<div class="floating-label-form-group">
<label for="lbl_Rule" id="lbl_Rule">Rule Name<span class="text-danger">*</span></label>
<input type="text" id="txt_Rule" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="Rule Name*" data-placeholder="Enter Rule Name" data-label="Rule Name*" />
<input type="hidden" id="hf_Rule" />
<label for="Validation" id="lblValidation_Rule"></label>
</div>
</div>
<div class="col-sm-12">
Rule Provider<span class="text-danger">*</span>
<select id="ddl_RuleProvider" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" id="hf_RuleProvider" value="" />
</div>
</div>
</div>
</div>
<div class="bg-white card hidden" id="EventModeEvent">
<div class="card-header">When</div>
<div class="card-body">
<div class="row" id="AddEvents">
<div class="card col-sm-4">
<div class="card-body">Order Created</div>
</div>
</div>
<div class="row pull-right">
<button type="button" id="btn_EventNames" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventNames();">Show More</button>
</div>
</div>
</div>
<div class="bg-white card hidden" id="NormalModeEvent">
<div class="card-header">
When
<span class="pull-right" id="AddEvent">
<a id="" title="Create" onclick="Unibase.Platform.Automation.Components.Rule.Instance().AddEvent();">
<i class="fa fa-plus"></i>
</a>
</span>
</div>
<div class="card-body" id="MultipleEvents">
<div class="ml-5" id="AddNewEvents">
<!--- <div class="row eventrow" id="row_0">
<lable class="hidden" id="EventGroupId_0">0</lable>
<lable class="hidden" id="RuleActionId_0">0</lable>
<div class="col-sm-2 mt-10"><label>When </label></div>
<div class="col-sm-3 mt-10" id="ELable_0" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventColumnLable(0);">
<u><b style="font-weight: bold;" id="EventColumnLable_0"></b></u>
</div>
<div class="col-sm-3 hidden" id="EAutocomplete_0">
<div id="div_EventColumns" class="floating-label-form-group" style="border-bottom:0;"><input type="hidden" class="event_name_0">
<select id="select2_EventColumns_0" class="select2_0_EventColumns required value-control form-control text-control" multiple="multiple" style="width:100%;" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeEventColumn(0);"></select>
<input type="hidden" id="hfSelect2Id_EventColumns_0" value="0" class="form-control text-control" data-isdynamic="true" />
<input type="hidden" id="hfId_EventColumns" value=""><label for="Validation" id="lblValidation_EventColumns"></label>
</div>
</div>
<div class="col-sm-1 mt-10"><label id="Event_0"></label></div>
<div class="col-sm-1 mt-10"><label>Then </label></div>
<div class="col-sm-3 mt-10" id="ALable_0" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleActions(0);"><u><b style="font-weight: bold;" class="" id="ActionLable_0"></b></u></div>
<div class="col-sm-3 hidden" id="AAutocomplete_0">
<div class="floating-label-form-group floating-label-form-group-with-value focus">
<select id="Action_Autocomplete_0" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions(0);" style="-webkit-appearance: none;" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" value="0" id="hf_Action_0" />
</div>
</div>
<div class="col-sm-1 mt-10"><a href="javascript:;" id="link_Configure"><i class="fa fa-cog"></i></a></div>
<div class="col-sm-1 mt-10"><a id="delete_0" title="Delete" style="cursor:pointer" onclick="Unibase.Platform.Automation.Components.Rule.Instance().DeleteEventGroupRow(0,0);"><i class="fa fa-close"></i></a></div>
</div>---->
</div>
</div>
</div>
<div class="bg-white card" id="btn_Conditions">
<button type="button" class="btn btn-primary" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleGlobalConditions();">Conditions</button>
</div>
<div class="bg-white card hidden" id="ConditionDetailsDiv">
<div class="card-header">Global Condition Details</div>
<div class="card-body">
<div class="ConditionDetails">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateRuleFooter">
<a href="javascript:;" id="btnCloseRule" class="btn btn-light btn-sm mr-auto "> Close</a>
<a href="javascript:;" id="btnSaveRule" class="btn btn-primary btn-sm"> Save</a>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
Unibase.Platform.Automation.Components.Rule.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.NormalMode;
Unibase.Platform.Automation.Components.Rule.Instance().GetActions();
Unibase.Platform.Automation.Components.Rule.RuleId = id;
Unibase.Platform.Automation.Components.Rule.Instance().default_event();
$("#btnCloseRule").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Rule.keysindex = 0;
Unibase.Platform.Automation.Components.Rule.keyscount = 0;
Unibase.Platform.Automation.Components.Rule.keysflag = 0;
Unibase.Platform.Automation.Components.Rule.RuleId = 0;
Unibase.Platform.Automation.Components.Rule.ActionsArray = [];
Unibase.Platform.Automation.Components.Rule.EventColumnData = [];
Unibase.Platform.Automation.Components.Rule.RuleActionsData = [];
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray = [];
});
$("#btnSaveRule").click(function () {
let appcontrolid = "frmUnibase_Rule";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_Rule");
$(".eventrow").each(function () {
let id = $(this).find(".eventrow");
let index = (id.prevObject[0].id).split('_');
index = index[1];
let eventcolumns = $("#select2_EventColumns_" + index + "").val();
if (eventcolumns.length == 0) {
$("#EventColumnLable_" + index + "").addClass('form-group-required');
}
});
return false;
}
else {
Unibase.Platform.Automation.Components.Rule.Instance().SaveRule(id, containerid);
}
});
$("#link_AdvancedMode").click(function () {
$("#link_NormalMode").removeClass("hidden");
$("#link_AdvancedMode").addClass("hidden");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Rule.Instance().AdvancedMode(id, containerid);
});
$("#link_NormalMode").click(function () {
$("#link_NormalMode").addClass("hidden");
$("#link_AdvancedMode").removeClass("hidden");
});
$("#InstalledAppsList").height($(window).outerHeight() - 90).css("overflow", "hidden auto");
$("#Action_Autocomplete").change(function () {
$("#ALable").removeClass('hidden');
$("#AAutocomplete").addClass('hidden');
$("#ActionLable").text($('#Action_Autocomplete option:selected').text());
});
let rule = Unibase.Platform.Automation.Components.Rule.Instance();
$("#ddl_RuleProvider").change(function () {
$("#NormalModeEvent").removeClass("hidden");
$('#AddNewEvents').html('');
Unibase.Platform.Automation.Components.Rule.EventColumnData = [];
Unibase.Platform.Automation.Components.Rule.Instance().default_event();
rule.loadEventColomns();
rule.loadActions(0);
rule.loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()), null);
});
rule.LoadInstalledApps();
rule.loadActions(0);
if (id != "") {
Unibase.Platform.Automation.Components.Rule.Instance().EditRule(id, containerid);
}
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
Rule.Instance().init(Pk_Value, null);
Unibase.Platform.Apps.Managers.AppManager.Instance().getAppConfiguration(AppConfigurationId).then(function (response) {
Unibase.Platform.Automation.Components.Rule.installedappid = response.result.InstalledAppId;
});
}
loadNotificationRule(iscreate) {
var Pk_Value = 0;
if (!iscreate) {
Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId;
}
this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Automation.Components.Rule.Instance(), null, Platform.Helpers.Size.DockLeft);
}
init(id, callback) {
this.render(id, callback);
}
render(id, callback) {
this.navigationHelper.popup(id, '', Unibase.Platform.Automation.Components.Rule.Instance(), null, Platform.Helpers.Size.DockLeft);
}
GetActions() {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getActions().then(function (response) {
for (var i = 0; i <= response.length - 1; i++) {
Unibase.Platform.Automation.Components.Rule.ActionsArray.push(response[i]);
}
});
}
OnChangeEventColumn(index) {
let eventcolumnscount = new Array();
eventcolumnscount = $("#select2_EventColumns_" + index + "").val();
if (eventcolumnscount.length > 0) {
$("#ELable_" + index + "").removeClass('hidden');
$("#EAutocomplete_" + index + "").addClass('hidden');
$("#EventColumnLable_" + index + "").text(Unibase.Platform.Automation.Components.Rule.Instance().GetEventColumns(index));
$('.event_name_' + index + '').val('').val(Unibase.Platform.Automation.Components.Rule.Instance().GetEventColumns(index));
}
}
OnChangeActions(index) {
$("#ALable_" + index + "").removeClass('hidden');
$("#AAutocomplete_" + index + "").addClass('hidden');
$("#ActionLable_" + index + "").text($('#Action_Autocomplete_' + index + ' option:selected').text());
$("#ActionLable_" + index + "").removeClass('form-group-required');
var _fileCacheHelper = Platform.Helpers.FileCacheHelper.Instance();
let id = Number($("#RuleActionId_" + index + "").text());
let actionid = Number($('#Action_Autocomplete_' + index + ' option:selected').val());
let ruleproviderid = Number($("#ddl_RuleProvider option:selected").val());
var instance = this;
if (!$("#ConditionDetailsDiv").hasClass("hidden")) {
Unibase.Platform.Automation.Components.Rule.Instance().SaveQueryString();
}
else {
let queryelmnt = $("#builder");
queryelmnt.queryBuilder('destroy');
$("#QueryBuilder").remove();
}
Unibase.Platform.Automation.Managers.RuleManager.Instance().getAction(actionid).then(function (response) {
if (response != null) {
_fileCacheHelper.loadJsFile(response.JsUrl, function () {
var namespace = eval(response.JsVariableName);
var action = new namespace();
action.RuleProviderId = ruleproviderid;
action.RowIndex = index;
action.ActionId = response.ActionId;
action.RuleActionData = Unibase.Platform.Automation.Components.Rule.RuleActionsData.filter(X => X.RowIndex == index);
action.AutomationMode = Unibase.Platform.Automation.Components.Rule.AutomationMode;
action.IsAutomationMode = true;
action.ParentActionId = 0;
instance.navigationHelper.popup(id, '', action, function () {
}, Platform.Helpers.Size.Auto);
});
}
});
}
default_event() {
var html = `<div class="row eventrow" id="row_0">
<lable class="hidden" id="EventGroupId_0">0</lable>
<lable class="hidden" id="RuleActionId_0">0</lable>
<div class="col-sm-2 mt-10"><label>When </label></div>
<div class="col-sm-3 mt-10" id="ELable_0" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventColumnLable(0);">
<u><b style="font-weight: bold;" id="EventColumnLable_0"></b></u>
</div>
<div class="col-sm-3 hidden" id="EAutocomplete_0">
<div id="div_EventColumns" class="floating-label-form-group" style="border-bottom:0;"><input type="hidden" class="event_name_0">
<select id="select2_EventColumns_0" class="select2_0_EventColumns required value-control form-control text-control" multiple="multiple" style="width:100%;" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeEventColumn(0);"></select>
<input type="hidden" id="hfSelect2Id_EventColumns_0" value="0" class="form-control text-control" data-isdynamic="true" />
<input type="hidden" id="hfId_EventColumns" value=""><label for="Validation" id="lblValidation_EventColumns"></label>
</div>
</div>
<div class="col-sm-1 mt-10"><label id="Event_0"></label></div>
<div class="col-sm-1 mt-10"><label>Then </label></div>
<div class="col-sm-3 mt-10" id="ALable_0" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleActions(0);"><u><b style="font-weight: bold;" class="" id="ActionLable_0"></b></u></div>
<div class="col-sm-3 hidden" id="AAutocomplete_0">
<div class="floating-label-form-group floating-label-form-group-with-value focus">
<select id="Action_Autocomplete_0" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions(0);" style="-webkit-appearance: none;" class="required form-control value-control" data-isdynamic="true">
</select>
<input type="hidden" value="0" id="hf_Action_0" />
</div>
</div>
<div class="col-sm-1 mt-10"><a href="javascript:;" id="link_Configure"><i class="fa fa-cog"></i></a></div>
<div class="col-sm-1 mt-10"><a id="delete_0" title="Delete" style="cursor:pointer" onclick="Unibase.Platform.Automation.Components.Rule.Instance().DeleteEventGroupRow(0,0);"><i class="fa fa-close"></i></a></div>
</div>`;
$('#AddNewEvents').append(html);
}
ToggleEventNames() {
if ($("#btn_EventNames").text() == "Show More") {
$("[id='EventCard']").show();
$("#btn_EventNames").text("Show Less");
}
else {
$("[id='EventCard']").hide();
$("#btn_EventNames").text("Show More");
}
}
ToggleGlobalConditions() {
$("#ConditionDetailsDiv").toggle(function () {
$("#btn_Conditions").addClass("hidden");
$("#ConditionDetailsDiv").removeClass("hidden");
Unibase.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()), null);
});
}
loadEventColomns() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
let ruleproviderid = Number($("#ddl_RuleProvider option:selected").val());
if (ruleproviderid != 0) {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
Unibase.Platform.Automation.Components.Rule.EventColumnData.push({ id: response.DoctypeName + " Created", text: response.DoctypeName + " Created" });
Unibase.Platform.Automation.Components.Rule.EventColumnData.push({ id: response.DoctypeName + " Deleted", text: response.DoctypeName + " Deleted" });
return Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDocProperties(response.DoctypeId).then(function (response) {
let result = response.result;
for (let i = 0; i < result.length; i++) {
var EventColumn = result[i];
Unibase.Platform.Automation.Components.Rule.EventColumnData.push({ id: result[i].PropColumnName + " Changed", text: result[i].PropColumnName + " Changed" });
}
Unibase.Platform.Automation.Components.Rule.Instance().BindEventColumns(0);
});
});
}
});
}
BindEventColumns(index) {
return __awaiter(this, void 0, void 0, function* () {
$("#EventColumnLable_" + index + "").text(Unibase.Platform.Automation.Components.Rule.EventColumnData[0].id);
$('.event_name_' + index + '').val('').val(Unibase.Platform.Automation.Components.Rule.EventColumnData[0].id);
$("#select2_EventColumns_" + index + "").select2({
placeholder: 'Select',
data: Unibase.Platform.Automation.Components.Rule.EventColumnData,
});
});
}
loadActions(index) {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getActions().then(function (response) {
let cmbActions = document.getElementById('Action_Autocomplete_' + index + '');
$('#Action_Autocomplete_' + index + '').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
defaultOpt1.value = "0";
cmbActions.appendChild(defaultOpt1);
for (let i = 0; i <= response.length - 1; i++) {
var opt = document.createElement("option");
opt.text = response[i].ActionName;
opt.value = response[i].ActionId.toString();
cmbActions.appendChild(opt);
}
$("#Action_Autocomplete_" + index + "").val(Number($("#hf_Action_" + index + "").val()));
$("#ActionLable_" + index + "").text($("#Action_Autocomplete_" + index + " option:selected").text());
});
});
}
ToggleEventColumnLable(index) {
$("#ELable_" + index + "").addClass('hidden');
$("#EAutocomplete_" + index + "").removeClass('hidden');
$("#EventColumnLable_" + index + "").removeClass('form-group-required');
}
ToggleActions(index) {
var instance = this;
instance.CurrentEventIndex = index;
$("#ALable_" + index + "").addClass('hidden');
$("#AAutocomplete_" + index + "").removeClass('hidden');
if ($("#ActionLable_" + index + "").text() != "Select" && $("#ActionLable_" + index + "").text() != "") {
Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions(index);
}
}
SaveRule(id, containerid) {
let ruleid = Number(id);
let eventgroupdata = [];
if (!$("#ConditionDetailsDiv").hasClass("hidden")) {
Unibase.Platform.Automation.Components.Rule.Instance().SaveQueryString();
}
let eventsarr = Rule.Instance().EventArray();
for (let i = 0; i < eventsarr.length; i++) {
eventgroupdata.push({
EventGroupId: eventsarr[i].EventGroupId,
RuleId: eventsarr[i].RuleId,
RuleEventData: eventsarr[i].RuleEventData,
RuleActionData: eventsarr[i].RuleActionData,
RuleConditionData: eventsarr[i].RuleConditionData,
RuleData: eventsarr[i].RuleData,
RuleType: eventsarr[i].RuleType
});
}
let model = new Unibase.Platform.Automation.Requests.Rule();
model.RuleId = ruleid;
model.RuleName = $("#txt_Rule").val().toString();
model.RuleProviderId = Number($("#ddl_RuleProvider option:selected").val());
if (Unibase.Platform.Automation.Components.Rule.QueryString != null) {
model.SqlWhere = Unibase.Platform.Automation.Components.Rule.QueryString;
model.SqlWhereJson = JSON.stringify(Unibase.Platform.Automation.Components.Rule.QueryString);
}
else {
model.SqlWhere = '';
model.SqlWhereJson = '';
}
model.EventGroupData = eventgroupdata;
model.RuleType = Unibase.Platform.Automation.Enums.RuleType.Event;
model.AutomationModeId = Number(Unibase.Platform.Automation.Components.Rule.AutomationMode);
Automation.Managers.RuleManager.Instance().saveRule(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_Rule");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_Rule");
Unibase.Platform.Automation.Components.Rule.ActionsArray = [];
Unibase.Platform.Automation.Components.Rule.keysindex = 0;
Unibase.Platform.Automation.Components.Rule.keyscount = 0;
Unibase.Platform.Automation.Components.Rule.RuleId = 0;
Unibase.Platform.Automation.Components.Rule.keysflag = 0;
Unibase.Platform.Automation.Components.Rule.EventColumnData = [];
Unibase.Platform.Automation.Components.Rule.RuleActionsData = [];
Unibase.Platform.Automation.Components.RuleCondition.ruleConditionArray = [];
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail(response.result.RuleId, Unibase.Platform.Automation.Components.Rule.installedappid, null);
}
});
}
EditRule(id, containerid) {
$('#txt_search').attr("disabled", "true");
$('#ddl_RuleProvider').attr("disabled", "true");
$('#txt_Rule').attr("disabled", "true");
let ruleid = Number(id);
$("#Form_Rule").text("Edit Rule");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRule(ruleid).then(function (response) {
if (response.AutomationModeId == Number(Unibase.Platform.Automation.Enums.AutomationMode.NormalMode)) {
let ruleid = response.RuleId;
$("#hf_RuleProvider").val(response.RuleProviderId);
$("#txt_Rule").val(response.RuleName);
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(response.RuleProviderId).then(function (response) {
Unibase.Platform.Automation.Components.Rule.Instance().SelectedApp(response.InstalledAppId).then(function () {
Unibase.Platform.Automation.Components.Rule.Instance().LoadEvents(ruleid);
Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId = Number(response.InstalledAppId);
});
});
if (response.SqlWhere != "" && response.SqlWhere != null) {
$("#btn_Conditions").addClass("hidden");
$("#ConditionDetailsDiv").removeClass("hidden");
}
Unibase.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(response.RuleProviderId, response.SqlWhere);
}
else {
Unibase.Platform.Automation.Components.Rule.Instance().AdvancedMode(response.RuleId, containerid);
}
eval('_floatingLabelHelper.init();');
});
}
LoadInstalledApps() {
Unibase.Platform.Automation.Managers.RuleManager.Instance().getInstalledApps().then(function (response) {
for (let i = 0; i <= response.length - 1; i++) {
let html = '<div class="AppRow bg-white card" onclick="Unibase.Platform.Automation.Components.Rule.Instance().SelectedApp(' + response[i].InstalledAppId + ');" id ="div_' + response[i].InstalledAppId + '">' +
'<div class="card-body">' +
'<div class="row">' +
'<div class="col-sm-12">' +
'<span>' + response[i].AppTitle + '</span>' +
'</div></div></div></div>';
$("#InstalledAppsList").append(html);
html = "";
}
});
}
LoadAppStages() {
return __awaiter(this, void 0, void 0, function* () {
var html = '';
var installeappid = Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId;
yield Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(installeappid).then(function (response) {
if (response.result != null) {
for (let i = 0; i < response.result.length; i++) {
var data = response.result[i];
html += '<option value=' + data.StageId + '>' + data.StageName + '<option>';
}
}
});
return html;
});
}
IsStageChangeEvent() {
var eventname = null;
if (Unibase.Platform.Automation.Components.Rule.AutomationMode == Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode) {
var ischildaction = eval('bizgaze_automation_flow_main.IsChildAction()');
if (ischildaction) {
return false;
}
eventname = $('.event_name').val() == undefined ? null : $('.event_name').val().toString();
return (eventname == null) ? false : eventname.includes("stageid Changed");
}
else {
var index = Unibase.Platform.Automation.Components.Rule.Instance().CurrentEventIndex;
eventname = $('.event_name_' + index + '').val() == undefined ? null : $('.event_name_' + index + '').val().toString();
return (eventname == null) ? false : eventname.includes("stageid Changed");
}
}
SelectedApp(id) {
return __awaiter(this, void 0, void 0, function* () {
$(".AppRow").removeAttr("style");
$("#div_" + id + "").css("border", " 2px solid blue");
let InstalledappId = Number(id);
Unibase.Platform.Automation.Components.Rule.Instance().RuleInstalledAppId = Number(InstalledappId);
var url = _appsettings.server_url() + '/apis/v4/unibase/notificationrule/platform/ruleprovidersautocomplete/InstalledAppId/' + InstalledappId;
yield Unibase.Platform.Automation.Managers.RuleManager.Instance().loadRuleProviders(id).then(function (response) {
if (response.length != 0) {
$("#RuleSection").removeClass("hidden");
let cmbRuleProviders = document.getElementById('ddl_RuleProvider');
$('#ddl_RuleProvider').empty();
var defaultOpt1 = document.createElement("option");
defaultOpt1.text = "Select";
defaultOpt1.value = "";
cmbRuleProviders.appendChild(defaultOpt1);
for (let i = 0; i <= response.length - 1; i++) {
var opt = document.createElement("option");
opt.text = response[i].RuleProviderName;
opt.value = (response[i].RuleProviderId).toString();
cmbRuleProviders.appendChild(opt);
}
if ($("#hf_RuleProvider").val() == "") {
$("#ddl_RuleProvider").val(null);
}
else {
$("#ddl_RuleProvider").val(Number($("#hf_RuleProvider").val()));
}
return Unibase.Platform.Automation.Components.Rule.Instance().loadEventColomns();
}
else {
MessageHelper.Instance().showError("No RuleProvider Configured For The Selected App.", "Validate_Rule");
}
});
});
}
DeleteEventGroupRow(index, EventGroupId) {
var text = confirm("Are you sure! You want to delete?");
if (text) {
if (EventGroupId != 0) {
Unibase.Platform.Automation.Managers.RuleManager.Instance().deleteEventGroup(EventGroupId).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_Rule");
}
else {
$("#row_" + index).remove();
}
});
}
else {
$("#row_" + index).remove();
}
}
}
AddEvent() {
let PrevActionIndex = Unibase.Platform.Automation.Components.Rule.keysindex - 0;
if ($("#ActionLable_" + PrevActionIndex).text() != "Select") {
Unibase.Platform.Automation.Components.Rule.keysflag = 0;
let html = "";
let RuleEventId = 0;
let RuleActionId = 0;
let EventGroupId = 0;
if (!Unibase.Platform.Automation.Components.Rule.keyscount) {
Unibase.Platform.Automation.Components.Rule.keysindex = Unibase.Platform.Automation.Components.Rule.keysindex + 1;
}
else {
Unibase.Platform.Automation.Components.Rule.keysindex = Unibase.Platform.Automation.Components.Rule.keyscount;
}
html += '<div class="row eventrow" id="row_' + Unibase.Platform.Automation.Components.Rule.keysindex + '">' +
'<lable class="hidden" id="EventGroupId_' + Unibase.Platform.Automation.Components.Rule.keysindex + '">' + RuleEventId + '</lable>' +
'<lable class="hidden" id="RuleActionId_' + Unibase.Platform.Automation.Components.Rule.keysindex + '">' + RuleActionId + '</lable>' +
'<div class="col-sm-2 mt-10"><label>When </label></div>' +
'<div class="col-sm-3 mt-10" id="ELable_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventColumnLable(' + Unibase.Platform.Automation.Components.Rule.keysindex + ');"><u><b style="font-weight: bold;" id="EventColumnLable_' + Unibase.Platform.Automation.Components.Rule.keysindex + '"></b></u></div>' +
'<div class="col-sm-3 hidden" id="EAutocomplete_' + Unibase.Platform.Automation.Components.Rule.keysindex + '">' +
'<div id="div_EventColumns" class="floating-label-form-group" style="border-bottom:0;"><input type="hidden" class="event_name_' + Unibase.Platform.Automation.Components.Rule.keysindex + '"><select id="select2_EventColumns_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" class="select2_0_EventColumns required value-control form-control text-control" multiple="multiple" style="width:100%;" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeEventColumn(' + Unibase.Platform.Automation.Components.Rule.keysindex + ');"></select><input type="hidden" id="hfSelect2Id_EventColumns_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" value="0" class="form-control text-control" data-isdynamic="true" /><input type="hidden" id="hfId_EventColumns" value=""><label for="Validation" id="lblValidation_EventColumns"></label></div></div>' +
'<div class="col-sm-1 mt-10"><label id="Event_' + Unibase.Platform.Automation.Components.Rule.keysindex + '"></label></div>' +
'<div class="col-sm-1 mt-10"><label>Then </label></div>' +
'<div class="col-sm-3 mt-10" id="ALable_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleActions(' + Unibase.Platform.Automation.Components.Rule.keysindex + ');"><u><b style="font-weight: bold;" id="ActionLable_' + Unibase.Platform.Automation.Components.Rule.keysindex + '"></b></u></div>' +
'<div class="col-sm-3 hidden" id="AAutocomplete_' + Unibase.Platform.Automation.Components.Rule.keysindex + '">' +
'<div class="floating-label-form-group floating-label-form-group-with-value focus">' +
'<select id="Action_Autocomplete_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions(' + Unibase.Platform.Automation.Components.Rule.keysindex + ');" style="-webkit-appearance: none;" class="required form-control value-control" data-isdynamic="true">' +
'</select>' +
'<input type="hidden" id="hf_Action_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" />' +
'</div>' +
'</div>' +
'<div class="col-sm-1 mt-10"><a href="javascript:;" id="link_Configure"><i class="fa fa-cog"></i></a></div>' +
'<div class="col-sm-1 mt-10" > <a id="delete_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" title = "Delete" style="cursor:pointer" onclick = "Unibase.Platform.Automation.Components.Rule.Instance().DeleteEventGroupRow(' + Unibase.Platform.Automation.Components.Rule.keysindex + ',' + EventGroupId + ');" ><i class="fa fa-close"> </i></a></div >' +
'</div>';
if (Unibase.Platform.Automation.Components.Rule.keysflag == 0) {
$("#AddNewEvents").append(html);
$("#ActionLable_" + Unibase.Platform.Automation.Components.Rule.keysindex + "").text('Select');
this.BindEventColumns(Unibase.Platform.Automation.Components.Rule.keysindex);
this.loadActions(Unibase.Platform.Automation.Components.Rule.keysindex);
Unibase.Platform.Automation.Components.Rule.keyscount = 0;
Unibase.Platform.Automation.Components.Rule.keysflag = 0;
}
else {
Unibase.Platform.Automation.Components.Rule.keysindex = Unibase.Platform.Automation.Components.Rule.keysindex - 1;
}
}
else {
$("#ActionLable_" + Unibase.Platform.Automation.Components.Rule.keysindex + "").addClass('form-group-required');
MessageHelper.Instance().showError("Please Select Action.", "Validate_Rule");
}
}
EventArray() {
var instance = this;
let eventgrouparray = [];
$(".eventrow").each(function () {
let eventarray = [];
let eventgroupobj = {};
let id = $(this).find(".eventrow");
let index = (id.prevObject[0].id).split('_');
index = index[1];
let eventcolumns = Unibase.Platform.Automation.Components.Rule.Instance().GetEventColumns(index).split(",");
for (var i = 0; i < eventcolumns.length; i++) {
let eventobj = {};
let eventtype;
let etype = eventcolumns[i].split(" ")[1];
let eventcolumn = "";
if (etype.toLowerCase() == "created") {
eventtype = Unibase.Platform.Automation.Enums.EventType.Created;
}
else if (etype.toLowerCase() == "deleted") {
eventtype = Unibase.Platform.Automation.Enums.EventType.Deleted;
}
else if (eventcolumns[i].toLowerCase() == "stageid changed") {
eventtype = Unibase.Platform.Automation.Enums.EventType.StageEvent;
eventcolumn = eventcolumns[i].split(" ")[0];
}
else {
eventtype = Unibase.Platform.Automation.Enums.EventType.Updated;
eventcolumn = eventcolumns[i].split(" ")[0];
}
eventobj.RuleEventId = 0;
eventobj.EventColumnName = eventcolumn;
eventobj.EventType = eventtype;
eventarray.push(eventobj);
}
eventgroupobj.EventGroupId = Number($(this).find("#EventGroupId_" + index + "").text());
eventgroupobj.RuleEventData = eventarray;
eventgroupobj.RuleActionData = Unibase.Platform.Automation.Components.Rule.RuleActionsData.filter(X => X.RowIndex == index);
eventgrouparray.push(eventgroupobj);
});
return eventgrouparray;
}
LoadEvents(RuleId) {
return __awaiter(this, void 0, void 0, function* () {
var groupBy = function (xs, key) {
return xs.reduce(function (rv, x) {
(rv[x[key]] = rv[x[key]] || []).push(x);
return rv;
}, {});
};
Unibase.Platform.Automation.Components.Rule.keysindex = 0;
$("#row_0").remove();
yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleEvents(RuleId).then(function (response) {
var result = groupBy(response, "EventGroupId");
var keys = Object.keys(result);
for (var i = 0; i <= keys.length - 1; i++) {
let EventGroupId = Number(keys[i]);
var reinfo = result[EventGroupId];
Unibase.Platform.Automation.Components.Rule.keysindex = i + 1;
Unibase.Platform.Automation.Components.Rule.Instance().LoadEventsHtml(Unibase.Platform.Automation.Components.Rule.keysindex, EventGroupId, reinfo);
}
});
});
}
LoadEventsHtml(Index, EventGroupId, reinfo) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
instance.CurrentEventIndex = Index;
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleActionByEventGroupId(EventGroupId).then(function (response) {
var html = "";
html += '<div class="row eventrow" id="row_' + Index + '">' +
'<lable class="hidden" id="EventGroupId_' + Index + '">' + EventGroupId + '</lable>' +
'<lable class="hidden" id="RuleActionId_' + Index + '">' + response.RuleActionId + '</lable>' +
'<div class="col-sm-2 mt-10"><label>When </label></div>' +
'<div class="col-sm-3 mt-10" id="ELable_' + Index + '" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleEventColumnLable(' + Index + ');"><u><b style="font-weight: bold;" id="EventColumnLable_' + Index + '"></b></u></div>' +
'<div class="col-sm-3 hidden" id="EAutocomplete_' + Index + '">' +
'<div id="div_EventColumns" class="floating-label-form-group" style="border-bottom:0;"><input type="hidden" class="event_name_' + Index + '"><select id="select2_EventColumns_' + Index + '" class="select2_0_EventColumns required value - control form - control text - control" multiple="multiple" style="width: 100 %; " onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeEventColumn(' + Index + '); "><option>Select</option></select><input type="hidden" id="hfSelect2Id_EventColumns_' + Index + '" value="0" class="form - control text - control" data-isdynamic="true" /><input type="hidden" id="hfId_EventColumns" value=""><label for="Validation" id="lblValidation_EventColumns"></label></div></div>' +
'<div class="col-sm-1 mt-10"><label id="Event_' + Index + '"></label></div>' +
'<div class="col-sm-1 mt-10"><label>Then </label></div>' +
'<div class="col-sm-3 mt-10" id="ALable_' + Index + '" onclick="Unibase.Platform.Automation.Components.Rule.Instance().ToggleActions(' + Index + ');"><u><b style="font-weight: bold;" id="ActionLable_' + Index + '"></b></u></div>' +
'<div class="col-sm-3 hidden" id="AAutocomplete_' + Index + '">' +
'<div class="floating-label-form-group floating-label-form-group-with-value focus">' +
'<select id="Action_Autocomplete_' + Index + '" onchange="Unibase.Platform.Automation.Components.Rule.Instance().OnChangeActions(' + Index + ');" style="-webkit-appearance: none;" class="required form-control value-control" data-isdynamic="true">' +
'</select>' +
'<input type="hidden" id ="hf_Action_' + Index + '" />' +
'</div>' +
'</div>' +
'<div class="col-sm-1 mt-10"><a href="javascript:;" id="link_Configure"><i class="fa fa-cog"></i></a></div>' +
'<div class="col-sm-1 mt-10"><a id="delete_' + Unibase.Platform.Automation.Components.Rule.keysindex + '" title = "Delete" style="cursor:pointer" onclick = "Unibase.Platform.Automation.Components.Rule.Instance().DeleteEventGroupRow(' + Unibase.Platform.Automation.Components.Rule.keysindex + ',' + EventGroupId + ');" ><i class="fa fa-close"> </i></a></div >' +
'</div>';
$("#NormalModeEvent").removeClass("hidden");
$("#AddNewEvents").append(html);
$("#hf_Action_" + Index + "").val(response.ActionId);
let EventColArr = [];
for (var j = 0; j <= reinfo.length - 1; j++) {
let eventname = reinfo[j].EventName;
if (reinfo[j].EventColumnName != null && reinfo[j].EventColumnName != "") {
eventname = eventname.split("_")[2];
EventColArr.push("" + eventname + " Changed");
}
else {
let eventtype = eventname.split("_")[2];
if (eventtype.toLowerCase() == "created") {
eventname = eventname.split("_created")[0];
EventColArr.push("" + eventname + " Created");
}
else {
eventname = eventname.split("_deleted")[0];
EventColArr.push("" + eventname + " Deleted");
}
}
}
Unibase.Platform.Automation.Components.Rule.Instance().BindEventColumns(Index);
$("#select2_EventColumns_" + Index + "").val(EventColArr).trigger('change');
let eventcolumns = Unibase.Platform.Automation.Components.Rule.Instance().GetEventColumns(Index);
$("#EventColumnLable_" + Index + "").text(eventcolumns);
$('.event_name_' + Index + '').val('').val(eventcolumns);
Unibase.Platform.Automation.Components.Rule.Instance().loadActions(Index);
});
});
}
GetEventColumns(index) {
let eventcolumnscount = new Array();
eventcolumnscount = $("#select2_EventColumns_" + index + "").val();
var eventcolumn = "";
for (var i = 0; i < eventcolumnscount.length; i++) {
eventcolumn += eventcolumnscount[i] + ",";
}
return eventcolumn.slice(0, -1);
}
RuleActionsArray(obj) {
let ruleactionobj = {};
ruleactionobj.RuleActionId = obj.RuleActionId;
ruleactionobj.ActionId = obj.ActionId;
ruleactionobj.RuleId = obj.RuleId;
ruleactionobj.RuleActionName = obj.RuleActionName;
ruleactionobj.String1 = obj.String1;
ruleactionobj.String2 = obj.String2;
ruleactionobj.String3 = obj.String3;
ruleactionobj.String4 = obj.String4;
ruleactionobj.String5 = obj.String5;
ruleactionobj.String6 = obj.String6;
ruleactionobj.String7 = obj.String7;
ruleactionobj.BString1 = obj.BString1;
ruleactionobj.BString2 = obj.BString2;
ruleactionobj.BString3 = obj.BString3;
ruleactionobj.BString4 = obj.BString4;
ruleactionobj.BString5 = obj.BString5;
ruleactionobj.BString6 = obj.BString6;
ruleactionobj.BString7 = obj.BString7;
ruleactionobj.BString8 = obj.BString8;
ruleactionobj.BString9 = obj.BString9;
ruleactionobj.BString10 = obj.BString10;
ruleactionobj.BString11 = obj.BString11;
ruleactionobj.BString12 = obj.BString12;
ruleactionobj.BString13 = obj.BString13;
ruleactionobj.Users = obj.Users;
ruleactionobj.SecondaryUsers = obj.SecondaryUsers;
ruleactionobj.ParentActionId = obj.ParentActionId;
ruleactionobj.ResultActionName = obj.ResultActionName;
ruleactionobj.ResultActionId = obj.ResultActionId;
ruleactionobj.DelayTime = obj.DelayTime;
ruleactionobj.ActionConditionData = obj.ActionConditionData;
ruleactionobj.RowIndex = obj.RowIndex;
ruleactionobj.AutoApproved = obj.AutoApproved;
ruleactionobj.RecipientsData = obj.RecipientsData;
ruleactionobj.SqlWhere = obj.SqlWhere;
ruleactionobj.SqlWhereJson = obj.SqlWhere;
ruleactionobj.ExternalReportId = obj.ExternalReportId;
ruleactionobj.ExternalReportColumnId = obj.ExternalReportColumnId;
ruleactionobj.ProviderColumnId = obj.ProviderColumnId;
ruleactionobj.ApproveStageId = obj.ApproveStageId;
ruleactionobj.IsParent = obj.IsParent;
ruleactionobj.FromStage = obj.FromStage;
ruleactionobj.ToStage = obj.ToStage;
ruleactionobj.NotificationGroupId = obj.NotificationGroupId;
var Array = Unibase.Platform.Automation.Components.Rule.RuleActionsData.find(x => x.RowIndex == obj.RowIndex);
if (Array != undefined) {
Unibase.Platform.Automation.Components.Rule.RuleActionsData[obj.RowIndex] = ruleactionobj;
}
else {
Unibase.Platform.Automation.Components.Rule.RuleActionsData.push(ruleactionobj);
}
Unibase.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()), Unibase.Platform.Automation.Components.Rule.QueryString);
}
ChangeAction(index, Id) {
if (Id == 0) {
$("#Action_Autocomplete_" + index + "").val($("#hf_Action_" + index + "").val());
$("#ActionLable_" + index + "").text('Select');
Unibase.Platform.Automation.Components.Rule.RuleActionsData = Unibase.Platform.Automation.Components.Rule.RuleActionsData.filter(X => X.RowIndex != index);
}
Unibase.Platform.Automation.Components.Rule.Instance().loadQueryBuilder(Number($("#ddl_RuleProvider option:selected").val()), Unibase.Platform.Automation.Components.Rule.QueryString);
}
AdvancedMode(id, containerid) {
var _fileCacheHelper = this.fileCacheHelper;
var instance = this;
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Automation.Components.Rule.AutomationMode = Unibase.Platform.Automation.Enums.AutomationMode.AdvancedMode;
var rulebuilder = new Unibase.Platform.Automation.Components.RuleBuilder();
instance.navigationHelper.popup(id, '', rulebuilder, null, Platform.Helpers.Size.ExtraLarge);
}
loadQueryBuilder(ruleproviderid, querystring) {
return __awaiter(this, void 0, void 0, function* () {
return yield Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
let ruleconditionhtml = Unibase.Platform.DataSources.Components.QueryBuilder.Instance().html(null, null);
jQuery(".ConditionDetails").html(ruleconditionhtml);
var qinstance = Unibase.Platform.DataSources.Components.QueryBuilder.Instance();
qinstance.QueryBuilder_Columns = [];
qinstance.QueryBuilder_Filters = [];
qinstance.queryBuilderString = "";
if (response.ReportId != 0) {
qinstance.ReportId = response.ReportId;
qinstance.loadQueryBuilderDiv(querystring);
}
else {
qinstance.DoctypeId = response.DoctypeId;
qinstance.loadQueryBuilderDivByDoctypeId(querystring);
}
$("#QueryBuilder").removeClass("hidden");
});
});
}
SaveQueryString() {
let queryelmnt = $("#builder");
let query = queryelmnt.queryBuilder('getSQL', false, true);
if (query != null) {
Unibase.Platform.Automation.Components.Rule.QueryString = queryelmnt.queryBuilder('getSQL', false, true).sql.replace(/\n/g, " ").replace(/LIKE/g, "ILIKE");
}
else {
Unibase.Platform.Automation.Components.Rule.QueryString = null;
}
queryelmnt.queryBuilder('destroy');
$("#QueryBuilder").remove();
}
SearchBlocks() {
var input, filter, div, subdiv, a, i, count;
input = document.getElementById("txt_Search");
filter = input.value.toUpperCase();
div = document.getElementById("InstalledAppsList");
subdiv = div.getElementsByClassName("AppRow");
count = 0;
for (i = 0; i < subdiv.length; i++) {
if (subdiv[i].textContent.toUpperCase() == filter) {
a = subdiv[i];
if (a.innerHTML.indexOf(filter) > -1) {
subdiv[i].style.display = "";
}
}
else {
a = subdiv[i];
if (a.textContent.toUpperCase().indexOf(filter) > -1) {
subdiv[i].style.display = "";
}
else {
subdiv[i].style.display = "none";
count = count + 1;
}
}
if (subdiv.length == count) {
$("#txt_noresults").removeClass("hidden");
}
else if (subdiv.length != count) {
$("#txt_noresults").addClass("hidden");
}
else { }
}
}
EmptyEventColumns() {
return __awaiter(this, void 0, void 0, function* () {
Unibase.Platform.Automation.Components.Rule.EventColumnData = [];
return yield $(".eventrow").each(function () {
let id = $(this).find(".eventrow");
let index = (id.prevObject[0].id).split('_');
index = index[1];
$("#select2_EventColumns_" + index + "").empty();
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Rule();
}
return this.instance;
}
}
Rule.keysindex = 0;
Rule.keysflag = 0;
Rule.AutomationMode = 0;
Rule.EventColumnData = [];
Rule.RuleActionsData = [];
Rule.ActionsArray = [];
Components.Rule = Rule;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,307 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Automation;
(function (Automation) {
let Components;
(function (Components) {
class RuleProvider extends Platform.Core.BaseComponent {
jsFiles() {
var jsfiles = ["platform/automation/managers/rulemanager.js",
"platform/datasources/managers/doctypemanager.js",
"platform/automation/requests/ruleprovider.js",
"platform/analytics/managers/reportmanager.js",
"platform/forms/managers/formmanager.js",
"platform/automation/components/rulebuilder/rulebuilder.ruleprovider.js",
"platform/forms/components/formviewer/formviewer.js",
"libs/parsley/parsley.min.js",
"platform/apps/managers/appmanager.js"
];
return jsfiles;
}
cssFiles() {
return [];
}
html(id, containerid) {
let html = `<form id="frmUnibase_RuleProvider" data-validate="parsley" data-isdynamic="false">
<div id="Validate_RuleProvider" class="clear"></div>
<div class="card bg-light">
<div class="b-b bg-white card-header header">
<strong class="text-dark title" id="Form_RuleProvider">Create RuleProvider</strong>
</div>
<div class="card-body scrollable" style="overflow-y: scroll;">
<div class="bg-white card" id="divInstalledApp">
<div id="unibase_ValidationSummary" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="floating-label-form-group">
<label for="txt_RuleProvider" id="lbl_RuleProvider">RuleProvider Name<span class="text-danger">*</span></label>
<input type="text" id="txt_RuleProvider" class="form-control required value-control floating-label-control" data-isdynamic="false" placeholder="RuleProvider Name*" data-placeholder="Enter RuleProvider Name" data-label="RuleProvider Name*" />
<input type="hidden" id="hf_RuleProvider" />
<label for="Validation" id="lblValidation_RuleProvider"></label>
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="InstalledApp" class="font-bold">Installed App <span class="text-danger">*</span></label>
<select id="txtAutocomplete_InstalledApp" class="form-control text-control required" style="width:100%;" placeholder="InstalledApp" data-placeholder="InstalledApp" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_InstalledApp" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card" id="divRuleProviderDetails">
<div class="card-header">RuleProvider Details</div>
<div class="card-body">
<div class="row">
<div class="col-sm-5">
<div class="input-group">
<label for="Doctype" class="font-bold">Doctype <span class="text-danger">*</span></label>
<select id="txtAutoComplete_Doctypes" class="form-control text-control required" style="width:100%;" placeholder="Doctype" data-placeholder="Doctype" data-label="" data-istagselect="true"></select>
<input type="hidden" id="hf_Autocomplete_Doctypes" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-5 hidden" id="DoctypeColumn">
<div class="input-group">
<label for="DoctypeColumn" class="font-bold">Doctype Column</label>
<select id="txtAutoComplete_DoctypeColumn" class="form-control text-control" style="width:100%;" placeholder="DoctypeColumn" data-placeholder="DoctypeColumn" data-label="" data-istagselect="true"><option value="0">Select</option></select>
<input type="hidden" id="hf_AutoComplete_DoctypeColumn" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<button type="button" class="col-sm-2 btn btn-primary mt-30" onclick="Unibase.Platform.Automation.Components.RuleProvider.Instance().ToggleReports()">Map Report</button>
</div>
<div class="row hidden" id="ReportDetailDiv">
<div class="col-sm-6">
<div class="input-group">
<label for="Report" class="font-bold">Report</label>
<select id="txtAutoComplete_Report" class="form-control text-control" style="width:100%;" placeholder="Report" data-placeholder="Report" data-label="" data-istagselect="true"><option value="0">Select</option></select>
<input type="hidden" id="hf_AutoComplete_Report" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<label for="ReportColumn" class="font-bold">Report Column</label>
<select id="txtAutoComplete_ReportColumn" class="form-control text-control" style="width:100%;" placeholder="ReportColumn" data-placeholder="ReportColumn" data-label="" data-istagselect="true"><option value="0">Select</option></select>
<input type="hidden" id="hf_AutoComplete_ReportColumn" class="form-control value-control" data-isdynamic="true" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white card-footer footer" id="CreateRuleProviderFooter">
<button id="btnCloseRuleProvider" class="btn btn-secondary btn-sm mr-auto">Close</button>
<button id="btnSaveRuleProvider" class="btn btn-primary btn-sm pull-right">Save</button>
</div>
</div>
</form>`;
return html;
}
load(id, containerid, callback) {
if (id != "") {
Unibase.Platform.Automation.Components.RuleProvider.Instance().EditRuleProvider(id);
}
$("#btnCloseRuleProvider").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btnSaveRuleProvider").click(function () {
let appcontrolid = "frmUnibase_RuleProvider";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory fields are missing", "Validate_RuleProvider");
return false;
}
else {
Unibase.Platform.Automation.Components.RuleProvider.Instance().SaveRuleProvider(id, containerid);
}
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
AutoCompleteHelper.getHelper().Create("#txtAutocomplete_InstalledApp", "#hf_Autocomplete_InstalledApp", url, function (response) {
var data = response;
});
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Report", "#hf_AutoComplete_Report", url, function (response) {
var data = response;
});
$("#txtAutocomplete_InstalledApp").change(function () {
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeInstalledApp();
});
$("#txtAutoComplete_Report").change(function () {
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeReport();
});
$("#txtAutoComplete_Doctypes").change(function () {
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeDoctype();
});
}
init(ruleproviderid, callback) {
this.render(ruleproviderid, callback);
}
render(ruleproviderid, callback) {
this.navigationHelper.popup(ruleproviderid, '', Unibase.Platform.Automation.Components.RuleProvider.Instance(), null, Platform.Helpers.Size.DockLeft);
}
loadRuleProviderForm(iscreate) {
var Pk_Value = 0;
if (!iscreate) {
Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId;
}
this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Automation.Components.RuleProvider.Instance(), null, Platform.Helpers.Size.DockLeft);
}
ToggleReports() {
$("#ReportDetailDiv").removeClass("hidden");
$("#DoctypeColumn").removeClass("hidden");
}
EditRuleProvider(id) {
let ruleproviderid = Number(id);
$("#Form_RuleProvider").text("Edit RuleProvider");
Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleProvider(ruleproviderid).then(function (response) {
$("#txt_RuleProvider").val(response.RuleProviderName);
var installedappoption = new Option(response.AppTitle, response.InstalledAppId.toString(), true, true);
$("#txtAutocomplete_InstalledApp").append(installedappoption);
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeInstalledApp().then(function () {
var doctypeoption = new Option(response.DoctypeName, response.DoctypeId.toString(), true, true);
$("#txtAutoComplete_Doctypes").append(doctypeoption);
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeDoctype().then(function () {
var doctypecolumnoption = new Option(response.DocPropertyName, response.DocPropertyId.toString(), true, true);
$("#txtAutoComplete_DoctypeColumn").append(doctypecolumnoption);
});
});
if (response.ReportId != 0) {
$("#ReportDetailDiv").removeClass("hidden");
$("#DoctypeColumn").removeClass("hidden");
var reportoption = new Option(response.ReportName, response.ReportId.toString(), true, true);
$("#txtAutoComplete_Report").append(reportoption);
Unibase.Platform.Automation.Components.RuleProvider.Instance().OnChangeReport().then(function () {
var reportcolumnoption = new Option(response.ReportColumnName, response.ReportColumnId.toString(), true, true);
$("#txtAutoComplete_ReportColumn").append(reportcolumnoption);
});
}
eval('_floatingLabelHelper.init();');
});
}
OnChangeInstalledApp() {
return __awaiter(this, void 0, void 0, function* () {
$("#txtAutoComplete_Doctypes").val(0);
if (Number($("#txtAutocomplete_InstalledApp option:selected").val() != 0)) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/' + Number($("#txtAutocomplete_InstalledApp option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Doctypes", "#hf_Autocomplete_Doctypes", url, function (response) {
var data = response;
});
}
});
}
OnChangeDoctype() {
return __awaiter(this, void 0, void 0, function* () {
$("#txtAutoComplete_DoctypeColumn").val(0);
if (Number($("#txtAutoComplete_Doctypes option:selected").val() != 0)) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertiesautocomplete/doctypeid/' + Number($("#txtAutoComplete_Doctypes option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_DoctypeColumn", "#hf_AutoComplete_DoctypeColumn", url, function (response) {
var data = response;
});
}
});
}
OnChangeReport() {
return __awaiter(this, void 0, void 0, function* () {
$("#txtAutoComplete_ReportColumn").val(0);
if (Number($("#txtAutoComplete_Report option:selected").val() != 0)) {
var reportcolumnurl = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + Number($("#txtAutoComplete_Report option:selected").val());
return yield AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ReportColumn", "#hf_AutoComplete_ReportColumn", reportcolumnurl, function (response) {
var data = response;
});
}
});
}
SaveRuleProvider(id, containerid) {
let model = new Unibase.Platform.Automation.Requests.RuleProvider();
model.RuleProviderId = Number(id);
model.RuleProviderName = $("#txt_RuleProvider").val().toString();
model.InstalledAppId = Number($("#txtAutocomplete_InstalledApp option:selected").val());
model.DoctypeId = Number($("#txtAutoComplete_Doctypes option:selected").val());
model.DocPropertyId = Number($("#txtAutoComplete_DoctypeColumn option:selected").val());
model.ReportId = Number($("#txtAutoComplete_Report option:selected").val());
model.ReportColumnId = Number($("#txtAutoComplete_ReportColumn option:selected").val());
Automation.Managers.RuleManager.Instance().saveRuleProvider(model).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "Validate_RuleProvider");
}
else {
MessageHelper.Instance().showSuccess(response.message, "Validate_RuleProvider");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
Unibase.Platform.Helpers.NavigationHelper.Instance().loadList(Unibase.Platform.Automation.Components.RuleProvider.installedappid, null);
}
});
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
RuleProvider.Instance().init(Pk_Value, null);
Unibase.Platform.Apps.Managers.AppManager.Instance().getAppConfiguration(AppConfigurationId).then(function (response) {
Unibase.Platform.Automation.Components.RuleProvider.installedappid = response.result.InstalledAppId;
});
}
exportsRuleProviders() {
var instance = this;
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().exportRuleProiders().then(function (response) {
var filename = "RuleProiders.xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
exportsSingleRuleProvider() {
var ruleproviderid = 0;
var instance = this;
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid") {
ruleproviderid = Number(obj.Value);
}
}
}
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/automation/managers/rulemanager.js", function () {
Unibase.Platform.Automation.Managers.RuleManager.Instance().exportSingleRuleProiders(ruleproviderid).then(function (response) {
var filename = "RuleProiders.xml";
var xmltext = response.result;
var pom = document.createElement('a');
var bb = new Blob([xmltext], { type: 'text/plain' });
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);
pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
pom.draggable = true;
pom.classList.add('dragout');
pom.click();
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new RuleProvider();
}
return this.instance;
}
}
Components.RuleProvider = RuleProvider;
})(Components = Automation.Components || (Automation.Components = {}));
})(Automation = Platform.Automation || (Platform.Automation = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long