Iniit
Этот коммит содержится в:
@@ -0,0 +1,454 @@
|
||||
var Unibase;
|
||||
(function (Unibase) {
|
||||
let Platform;
|
||||
(function (Platform) {
|
||||
let Forms;
|
||||
(function (Forms) {
|
||||
let Components;
|
||||
(function (Components) {
|
||||
class ControlEditor extends Platform.Core.BaseComponent {
|
||||
constructor() {
|
||||
super();
|
||||
this.ControlId = 0;
|
||||
this._formManager = Forms.Managers.FormManager.Instance();
|
||||
}
|
||||
jsFiles() {
|
||||
return ['platform/forms/components/formbuilder/controleditor.js',];
|
||||
}
|
||||
cssFiles() {
|
||||
return [];
|
||||
}
|
||||
html(id, containerid) {
|
||||
var control_Template = Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().loadAddControlHtml();
|
||||
let html = `<form id="frmUnibase_AddControl" data-validate="parsley" data-isdynamic="false"><div class="card bg-light"><div class="b-b bg-white card-header"><strong class="text-dark title" id="">Add Control</strong></div><div class="card-body" id="divAddControl" style="overflow-y: scroll;">` + control_Template + `</div><div class="bg-white card-footer" id="controlFooter"><button id="btnCloseControl" class="btn btn-secondary btn-sm mr-auto">Close</button><button id="btnSaveControl" class="btn btn-primary btn-sm pull-right">Save</button></div></div></form>`;
|
||||
return html;
|
||||
}
|
||||
load(id, containerid, callback) {
|
||||
$("#divAddControl").height($(window).outerHeight() - 148);
|
||||
$('#chkIsStaticControl').prop("checked", true);
|
||||
if ($("#chkIsStaticControl").is(':checked')) {
|
||||
$("#div_ControlJson").removeClass('hidden');
|
||||
}
|
||||
else {
|
||||
$("#div_ControlJson").addClass('hidden');
|
||||
}
|
||||
$("#btnCloseControl").click(function () {
|
||||
$('#' + containerid).modal('hide');
|
||||
$('#' + containerid).remove();
|
||||
});
|
||||
$("#chkIsStaticControl").click(function () {
|
||||
if ($("#chkIsStaticControl").is(':checked')) {
|
||||
$("#divAutoComplete_InstalledApps").removeClass('hidden');
|
||||
$("#txtAutoComplete_InstalledApps").addClass('required');
|
||||
$("#div_ControlJson").removeClass('hidden');
|
||||
$("#txt_ControlJson").addClass('required');
|
||||
}
|
||||
else {
|
||||
$("#divAutoComplete_InstalledApps").addClass('hidden');
|
||||
$("#txtAutoComplete_InstalledApps").removeClass('required');
|
||||
$("#div_ControlJson").addClass('hidden');
|
||||
$("#txt_ControlJson").removeClass('required');
|
||||
}
|
||||
});
|
||||
var instance = this;
|
||||
$("#btnSaveControl").click(function () {
|
||||
let controlEditorFormDiv = "frmUnibase_AddControl";
|
||||
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlEditorFormDiv);
|
||||
if (result == false) {
|
||||
MessageHelper.Instance().showError("Mandatory fields are missing", '');
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
Unibase.Platform.Forms.Components.ControlEditor.Instance().saveControl(containerid);
|
||||
}
|
||||
});
|
||||
$("#btnControlProperty").click(function () {
|
||||
var length = $("#divControlProperties").children().length;
|
||||
var ControlProperty_Template = Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().loadControlProperties(length);
|
||||
$("#divControlProperties").append(ControlProperty_Template);
|
||||
});
|
||||
Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDataTypes().then(function (response) {
|
||||
var datatypes = [];
|
||||
let result = response.result;
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
var controls = result[i];
|
||||
datatypes.push({ id: controls.DataTypeId, text: controls.DataTypeName });
|
||||
}
|
||||
$("#txtAutoComplete_Datatypes").select2({
|
||||
multiple: true,
|
||||
placeholder: 'Select Datatypes',
|
||||
data: datatypes,
|
||||
});
|
||||
});
|
||||
Unibase.Platform.Apps.Managers.AppManager.Instance().getInstalledApps().then(function (response) {
|
||||
var installedapps = [];
|
||||
let result = response.result;
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
var apps = result[i];
|
||||
installedapps.push({ id: apps.InstalledAppId, text: apps.AppTitle });
|
||||
}
|
||||
$("#txtAutoComplete_InstalledApps").select2({
|
||||
multiple: true,
|
||||
placeholder: 'Select InstalledApps',
|
||||
data: installedapps,
|
||||
});
|
||||
var curInstalledApp = Unibase.Platform.Forms.Components.FormBuilder.Instance().InstalledAppId;
|
||||
$('#txtAutoComplete_InstalledApps').val(curInstalledApp).trigger("change");
|
||||
});
|
||||
}
|
||||
loadControls() {
|
||||
var InstalledAppId = Number(Unibase.Platform.Forms.Components.FormBuilder.Instance().InstalledAppId);
|
||||
this._formManager.getControlsByAppId(InstalledAppId).then(function (response) {
|
||||
let result = response.result;
|
||||
var html = "";
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
var control = result[i];
|
||||
html += `<li class="dd-item dd3-item controls-item" draggable="true" data-controlid="` + control.ControlId + `" data-controlname="` + control.ControlName + `">
|
||||
<div class="dsl-block doc-type" id="controlsDiv-` + control.ControlId + `" data-target=".docPropHighlight-` + control.ControlId + `">
|
||||
<span>
|
||||
<i class="las la-braille dragger"></i>
|
||||
<span class="dsl-block-name">` + control.ControlName + ` </span>
|
||||
</span>
|
||||
<span>
|
||||
<a class="btn btn-xs btn-icon btn-flush-dark btn-rounded dropdown-toggle flush-soft-hover no-caret" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#"><span class="btn-icon-wrap" ><i class="las la-ellipsis-v la-i-medium"></i></span></a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<a class="dropdown-item" href="javascript:;" id="LinkButton" onclick="Unibase.Platform.Forms.Components.ControlEditor.Instance().editControl(` + control.ControlId + `)">Edit Control</a>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</li>`;
|
||||
}
|
||||
$("#controls-list").append(html);
|
||||
}).then(function () {
|
||||
let controlEvent = $("#controls-list");
|
||||
let clone;
|
||||
let before;
|
||||
let parent;
|
||||
controlEvent.sortable({
|
||||
connectWith: ".sectionBody-Element",
|
||||
cursor: 'move',
|
||||
helper: "clone",
|
||||
start: function (event, ui) {
|
||||
console.log(ui);
|
||||
var liWidth = ui.item.css("width");
|
||||
$(ui.item).show();
|
||||
clone = $(ui.item).clone();
|
||||
before = $(ui.item).prev();
|
||||
parent = $(ui.item).parent();
|
||||
},
|
||||
stop: function (event, ui) {
|
||||
console.log(ui);
|
||||
if ($("#controls-list").find("#controlsDiv-" + clone.attr("data-controlid")).length == 0) {
|
||||
if (before.length)
|
||||
before.after(clone);
|
||||
else
|
||||
parent.prepend(clone);
|
||||
}
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
openAddControlPage() {
|
||||
Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId = 0;
|
||||
this.navigationHelper.popup(0, '', Unibase.Platform.Forms.Components.ControlEditor.Instance(), function (containerid) {
|
||||
}, Platform.Helpers.Size.Auto);
|
||||
}
|
||||
editControl(controlId) {
|
||||
Unibase.Platform.Forms.Components.ControlEditor.Instance().openAddControlPage();
|
||||
var manager = this._formManager;
|
||||
$(document).ready(function () {
|
||||
manager.getControl(controlId).then(function (response) {
|
||||
let result = response.result;
|
||||
Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId = result.ControlId;
|
||||
$("#txt_ControlName").val(result.ControlName);
|
||||
$('#chkIsStaticControl').prop("checked", result.IsStaticControl);
|
||||
$("#txt_URL").val(result.URL);
|
||||
$("#txt_SettingsPageUrl").val(result.SettingsPageUrl);
|
||||
$("#txt_JsInstanceName").val(result.JsVariableName);
|
||||
$("#txt_SettingJsInstanceName").val(result.SettingJsVariableName);
|
||||
$("#txt_Assembly").val(result.Assembly);
|
||||
$("#txt_ControlJson").val(result.ControlJson);
|
||||
if (response.result.IsStaticControl == false) {
|
||||
$("#div_ControlJson").addClass('hidden');
|
||||
$("#txt_ControlJson").addClass('required');
|
||||
}
|
||||
else {
|
||||
$("#div_ControlJson").removeClass('hidden');
|
||||
$("#txt_ControlJson").removeClass('required');
|
||||
}
|
||||
var dataTypeIds = result.DataTypeIds.split(",");
|
||||
var Values = new Array();
|
||||
if (dataTypeIds.length > 0) {
|
||||
for (var i = 0; i < dataTypeIds.length; i++) {
|
||||
var dataTypeId = JSON.parse(dataTypeIds[i]);
|
||||
Values.push(dataTypeId);
|
||||
}
|
||||
jQuery("#txtAutoComplete_Datatypes").val(Values).trigger('change');
|
||||
}
|
||||
else {
|
||||
jQuery("#txtAutoComplete_Datatypes").val(dataTypeId).trigger('change');
|
||||
}
|
||||
jQuery("#txtAutoComplete_InstalledApps").val(null).trigger('change');
|
||||
var installedAppValues = new Array();
|
||||
if (result.InstalledAppIds != null) {
|
||||
var installedAppIds = result.InstalledAppIds.slice(1).slice(0, -1).split("|");
|
||||
for (let m = 0; m < installedAppIds.length; m++) {
|
||||
var appIds = JSON.parse(installedAppIds[m]);
|
||||
installedAppValues.push(appIds);
|
||||
}
|
||||
jQuery("#txtAutoComplete_InstalledApps").val(installedAppValues).trigger('change');
|
||||
}
|
||||
$("#txt_ControlUniqueKey").val(result.ControlUniqueId);
|
||||
var controlProperties = result.ControlProperties;
|
||||
var controlPropertyIds = [];
|
||||
for (var i = 0; i < controlProperties.length; i++) {
|
||||
if (i > 0) {
|
||||
$("#btnControlProperty").trigger("click");
|
||||
}
|
||||
$("#txt_PropertyName_" + i).val(controlProperties[i].PropertyName);
|
||||
$("#txt_DefaultValue_" + i).val(controlProperties[i].PropertyName);
|
||||
controlPropertyIds[i] = Number(controlProperties[i].ControlPropertyId);
|
||||
}
|
||||
Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlPropertyIds = controlPropertyIds;
|
||||
}).then(function () {
|
||||
eval('_floatingLabelHelper.init()');
|
||||
});
|
||||
});
|
||||
}
|
||||
saveControl(containerid) {
|
||||
var instance = this;
|
||||
var controlId = Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId;
|
||||
var controlPropertyIds = Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlPropertyIds;
|
||||
var controlPropertyId = 0;
|
||||
var length = $("#divControlProperties").children().length;
|
||||
var datatypeIds = [];
|
||||
var numDatatypeIds = [];
|
||||
var installedAppIds = [];
|
||||
var numInstalledAppIds = "|";
|
||||
let controlProperties = [];
|
||||
for (var i = 0; i < length; i++) {
|
||||
if (controlPropertyIds != undefined)
|
||||
controlPropertyId = controlPropertyIds[i];
|
||||
if (controlPropertyId == undefined)
|
||||
controlPropertyId = 0;
|
||||
if ($("#txt_PropertyName_" + i).val() != "") {
|
||||
controlProperties.push({
|
||||
ControlPropertyId: controlPropertyId,
|
||||
ControlId: controlId,
|
||||
PropertyName: $("#txt_PropertyName_" + i).val(),
|
||||
DefaultValue: $("#txt_DefaultValue_" + i).val(),
|
||||
});
|
||||
}
|
||||
}
|
||||
datatypeIds = $("#txtAutoComplete_Datatypes").val();
|
||||
for (var k = 0; k < datatypeIds.length; k++) {
|
||||
numDatatypeIds[k] = parseInt(datatypeIds[k]);
|
||||
}
|
||||
installedAppIds = $("#txtAutoComplete_InstalledApps").val();
|
||||
for (var m = 0; m < installedAppIds.length; m++) {
|
||||
numInstalledAppIds += parseInt(installedAppIds[m]) + "|";
|
||||
}
|
||||
var postData = {
|
||||
ControlId: controlId,
|
||||
ControlName: $("#txt_ControlName").val(),
|
||||
URL: $("#txt_URL").val(),
|
||||
SettingsPageUrl: $("#txt_SettingsPageUrl").val(),
|
||||
ControlUniqueId: $("#txt_ControlUniqueKey").val(),
|
||||
JsVariableName: $("#txt_JsInstanceName").val(),
|
||||
IsStaticControl: $("#chkIsStaticControl").is(':checked'),
|
||||
SettingJsVariableName: $("#txt_SettingJsInstanceName").val(),
|
||||
Assembly: $("#txt_Assembly").val(),
|
||||
DataTypeIds: numDatatypeIds,
|
||||
ControlProperties: controlProperties,
|
||||
InstalledAppIds: $("#chkIsStaticControl").is(':checked') == true ? numInstalledAppIds : null,
|
||||
ControlJson: $("#txt_ControlJson").val()
|
||||
};
|
||||
var formId = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormId;
|
||||
instance.navigationHelper.showLoading();
|
||||
instance._formManager.saveControl(postData).then(function (response) {
|
||||
$("#controls-list").empty();
|
||||
Unibase.Platform.Forms.Components.ControlEditor.Instance().loadControls();
|
||||
$('#' + containerid).modal('hide');
|
||||
$('#' + containerid).remove();
|
||||
if (response.errors == null) {
|
||||
MessageHelper.Instance().showSuccess(response.message, '');
|
||||
}
|
||||
else {
|
||||
MessageHelper.Instance().showError(response.message, '');
|
||||
}
|
||||
instance.navigationHelper.hideLoading();
|
||||
});
|
||||
}
|
||||
getControlOptions(controldatajson) {
|
||||
var IndexNumber1 = 0;
|
||||
var response = controldatajson;
|
||||
if (response != undefined && response != "") {
|
||||
if (response.length > 0)
|
||||
$('#chkIsmultiple').prop('checked', true);
|
||||
for (var i = 0; i < response.length; i++) {
|
||||
if (response[i].ControlName == "DropDown") {
|
||||
var DropDownParentId = response[i].DropDownParentId;
|
||||
var ParentDocPropertyId = response[i].ParentDocPropertyId;
|
||||
var IndexNumber = response[i].IndexNumber;
|
||||
$("#DropDownParentId").val(response[i].DropDownParentId);
|
||||
$("#hf_ParentDocPropertyId").val(response[i].ParentDocPropertyId);
|
||||
}
|
||||
else if (response[i].ControlName == "CascadingDropDown") {
|
||||
var DropDownParentId = response[i].DropDownParentId;
|
||||
var ParentDocPropertyId = response[i].ParentDocPropertyId;
|
||||
var IndexNumber = response[i].IndexNumber;
|
||||
$("#DropDownParentId").val(response[i].DropDownParentId);
|
||||
$("#hf_ParentDocPropertyId").val(response[i].ParentDocPropertyId);
|
||||
}
|
||||
else {
|
||||
var DropDownParentId = response[i].DropDownParentId;
|
||||
var ParentDocPropertyId = response[i].ParentDocPropertyId;
|
||||
var IndexNumber = response[i].IndexNumber;
|
||||
$("#DropDownParentId").val(response[i].DropDownParentId);
|
||||
$("#hf_ParentDocPropertyId").val(response[i].ParentDocPropertyId);
|
||||
this.AddRadioOptions(response[i].DropDownColumnId, response[i].ColumnText, response[i].ColumnValue, '', ParentDocPropertyId, IndexNumber, DropDownParentId, response[i].ParentDropDownColumnName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
AddRadioOptions(DropDownColumnId, ColumnText, ColumnValue, ParentDocPropertyName, ParentDocPropertyId, IndexNumber, DropDownParentId, ParentDropDownColumnName) {
|
||||
var ddcId = 0;
|
||||
var Index = $('.option-group').length;
|
||||
var IndexNumber1 = Index;
|
||||
if (Index == 0) {
|
||||
IndexNumber1 = 0;
|
||||
}
|
||||
if (DropDownColumnId != 0) {
|
||||
ddcId = DropDownColumnId;
|
||||
IndexNumber1 = IndexNumber;
|
||||
}
|
||||
else {
|
||||
IndexNumber1 += 1;
|
||||
Index = IndexNumber1;
|
||||
}
|
||||
var text = '<li class="list-group-item ui-sortable-handle option-group" id="divRadioOption_' + Index + '"><div class="" > ' +
|
||||
'<input type="hidden" class="ParentDocPropertyId" id="ParentDocPropertyId_' + Index + '" value="' + ParentDocPropertyId + '"/>' +
|
||||
'<input type="hidden" class="DropDownParentId" id="DropDownParentId_' + Index + '" value="' + DropDownParentId + '"/>' +
|
||||
'<input type="hidden" class="Indexnumber" id="Indexnumber_' + Index + '" value="' + IndexNumber1 + '"/>' +
|
||||
'<input type="hidden" class="hdnRdbId" id="hdnRdbId_' + Index + '" value="' + ddcId + '"/>' +
|
||||
'<div class="floating-label-form-group hidden" id="divParentDocPropertyName" style="border-left:0px;">' +
|
||||
'<label for="lblValue" id="lbl" class="font-bold">Parent PropertyName</label>' +
|
||||
'<input type="text" id="rdbParentDocPropertyName_' + Index + '" class="form-control value-control floating-label-control rdbParentDocPropertyName" data-controlpropertyname="Name" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" placeholder="Value" data-placeholder="Enter value column" data-label="Options" maxlength="50" disabled="true" />' +
|
||||
'</div>' +
|
||||
'<div class="hidden floating-label-form-group" id="divParentColumnName" style = "border-left:0px;"><label for="lblValue" id="lbl" class="font-bold">Parent ColumnName</label><select id="txtAutoComplete_ParentDDLColumn_' + Index + '" class="txtAutoComplete_ParentDDLColumn form-control text-control " style="width:100%;"></select><input type="hidden" id="hfAutoComplete_ParentDDLColumn_' + Index + '" value=""/></div>' +
|
||||
'<i class="fa fa-sort pull-left"></i><div class=""><span id="option_header_' + Index + '"></span><span id="IndexnumberDetails_' + Index + '" class="IndexnumberDetails"></span><a href="javascript:;" class="pull-right delete_" onclick="Unibase.Platform.Forms.Components.ControlEditor.Instance().RemoveRadioOption(' + DropDownColumnId + ',' + Index + ')"><i class="fa fa-times icon-muted fa-fw"></i></a></div>' +
|
||||
'<div class="row">' +
|
||||
'<div class="col-sm-6" id="columnid" style = "border-left:0px;" ><div class="floating-label-form-group"><label for="lblName" id="lbl" class="font-bold">Text<span class="text-danger" id="spnIsRequired_Section"> *</span></label>' +
|
||||
'<input type="hidden" value="' + Index + '" class="indexno"><input type="text" id="rdbText_' + Index + '" class="form-control floating-label-control rdbText required" data-controlpropertyname="Name" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" placeholder="Text *" data-placeholder="Enter text column" data-label="Text *" maxlength="100" /></div></div>' +
|
||||
'<div class="col-sm-6" id="columnVal" style = "border-left:0px;" ><div class="floating-label-form-group"><label for="lblValue" id="lbl" class="font-bold">Value<span class="text-danger" id="spnIsRequired_Section"> *</span></label>' +
|
||||
'<input type="text" id="rdbValue_' + Index + '" onkeypress="return isNumber(event)" class="form-control floating-label-control rdbValue required" data-controlpropertyname="Name" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" placeholder="Value *" data-placeholder="Enter value column" data-label="Value *" maxlength="50" />' +
|
||||
'</div></div>' +
|
||||
'</div></div></li>';
|
||||
$("#radioOptions").append(text);
|
||||
if (ColumnText != '' || ColumnText != undefined) {
|
||||
$("#rdbText_" + Index).val(ColumnText);
|
||||
}
|
||||
if (ColumnValue != '' || ColumnValue != undefined) {
|
||||
$("#rdbValue_" + Index).val(ColumnValue);
|
||||
$("#ParentDocPropertyId_" + Index).val($("#hf_ParentDocPropertyId").val());
|
||||
$("#DropDownParentId_" + Index).val($("#DropDownParentId").val());
|
||||
}
|
||||
if ((ParentDocPropertyName != '' && ParentDocPropertyName != undefined)) {
|
||||
$("#rdbParentDocPropertyName_" + Index).val(ParentDocPropertyName);
|
||||
$("#div_CascadingAutoComplete").removeClass('hidden');
|
||||
$("#divParentDocPropertyName").removeClass('hidden');
|
||||
$("#divParentColumnName").removeClass('hidden');
|
||||
var ParentDDLColumn = new Option(ParentDropDownColumnName, DropDownParentId, true);
|
||||
$("#txtAutoComplete_ParentDDLColumn_" + Index).append(ParentDDLColumn);
|
||||
}
|
||||
if (IndexNumber != '' && IndexNumber != undefined) {
|
||||
$("#IndexnumberDetails_" + Index).text(IndexNumber);
|
||||
$("#IndexNumber").removeClass('hidden');
|
||||
}
|
||||
if (IndexNumber1 != undefined) {
|
||||
$("#IndexnumberDetails_" + Index).text(IndexNumber1);
|
||||
$("#IndexNumber").removeClass('hidden');
|
||||
}
|
||||
if ($("#txtControls option:selected").text() == "CascadingDropDown") {
|
||||
$(".txtAutoComplete_ParentDDLColumn").addClass("required");
|
||||
}
|
||||
if ($("#txtControls option:selected").text() == "RadioBox" || $("#ddlControlType option:selected").text() == "RadioBox") {
|
||||
$("#option_header_" + Index).text("Radio Button Text-");
|
||||
}
|
||||
if ($("#txtControls option:selected").text() == "CheckBox" || $("#ddlControlType option:selected").text() == "CheckBox") {
|
||||
$("#option_header_" + Index).text("Check Box Text-");
|
||||
}
|
||||
if ($("#txtControls option:selected").text() == "DropDown" || $("#ddlControlType option:selected").text() == "DropDown") {
|
||||
$("#option_header_" + Index).text("Drop Down Text-");
|
||||
}
|
||||
$("#radioOptions").sortable({
|
||||
stop: function (e, ui) {
|
||||
var index = 1;
|
||||
$("#radioOptions").find('.option-group').each(function () {
|
||||
var index = $(this).index() + 1;
|
||||
$(this).find(".IndexnumberDetails").text(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
RemoveRadioOption(DropDownColumnId, Index) {
|
||||
if (DropDownColumnId != 0) {
|
||||
if ($("#txtControls").val() == "CheckBox") {
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().deleteOptionForCheckboxControl(DropDownColumnId).then(function (response) {
|
||||
});
|
||||
}
|
||||
else {
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().deleteOptionForControl(DropDownColumnId).then(function (response) {
|
||||
});
|
||||
}
|
||||
}
|
||||
$("#divRadioOption_" + Index).remove();
|
||||
$("#radioOptions").find('.option-group').each(function () {
|
||||
var index = $(this).index() + 1;
|
||||
$(this).find(".IndexnumberDetails").text(index);
|
||||
});
|
||||
}
|
||||
searchFormControls(searchValue) {
|
||||
let controlsUl = "#controls-list";
|
||||
$(controlsUl + ' li').not('.hidden').each(function (i, e) {
|
||||
$(e).attr('data-controlname', $(e).data('controlname').toLowerCase());
|
||||
});
|
||||
let searchTerm = searchValue.toLowerCase();
|
||||
if (searchTerm != "") {
|
||||
let count = 0;
|
||||
$(controlsUl + ' li').not('.hidden').each(function (i, e) {
|
||||
if ($(e).filter('[data-controlname *= ' + searchTerm + ']').length > 0 || searchTerm.length < 1) {
|
||||
$(e).show();
|
||||
count++;
|
||||
}
|
||||
else {
|
||||
$(e).hide();
|
||||
}
|
||||
});
|
||||
if (!count) {
|
||||
$('#divControlSearch_ErroMessage').removeClass('d-none');
|
||||
return MessageHelper.Instance().showError("No results found", 'divControlSearch_ErroMessage');
|
||||
}
|
||||
else {
|
||||
$('#divControlSearch_ErroMessage').addClass('d-none');
|
||||
}
|
||||
}
|
||||
else {
|
||||
$(controlsUl + ' li').not('.hidden').each(function (i, e) {
|
||||
$('#divControlSearch_ErroMessage').addClass('d-none');
|
||||
$(e).show();
|
||||
});
|
||||
}
|
||||
}
|
||||
static Instance() {
|
||||
if (this.instance === undefined) {
|
||||
this.instance = new ControlEditor();
|
||||
}
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
Components.ControlEditor = ControlEditor;
|
||||
})(Components = Forms.Components || (Forms.Components = {}));
|
||||
})(Forms = Platform.Forms || (Platform.Forms = {}));
|
||||
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
|
||||
})(Unibase || (Unibase = {}));
|
||||
Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+14
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+237
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"formbuilder.template.js","sourceRoot":"","sources":["formbuilder.template.ts"],"names":[],"mappings":"AACA,IAAU,OAAO,CAwHhB;AAxHD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAsHxB;IAtHD,WAAiB,QAAQ;QACrB,IAAiB,KAAK,CAoHrB;QApHD,WAAiB,KAAK;YAClB,IAAiB,UAAU,CAkH1B;YAlHD,WAAiB,UAAU;gBACvB,MAAa,oBAAoB;oBAC7B,uBAAuB;wBACnB,IAAI,IAAI,GAAG,ivBAAivB,CAAC;wBAC7vB,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,yBAAyB;wBACrB,IAAI,IAAI,GAAG,sxOAAsxO,CAAC;wBAClyO,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,mBAAmB;wBACf,IAAI,IAAI,GAAG;;;;;;;+wDAO4uD,CAAC;wBACxvD,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,kBAAkB;wBACd,IAAI,IAAI,GAAG,8QAA8Q,CAAC;wBAC1R,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,sBAAsB;wBAClB,IAAI,IAAI,GAAG,qCAAqC,CAAC;wBACjD,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,uBAAuB;wBACnB,IAAI,IAAI,GAAG,EAAE,CAAC;wBACd,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,2BAA2B;wBACvB,IAAI,IAAI,GAAG,qjEAAqjE,CAAC;wBACjkE,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,kBAAkB;wBACd,IAAI,IAAI,GAAG,6lCAA6lC,CAAC;wBACzmC,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,gBAAgB;wBACZ,IAAI,IAAI,GAAG,iOAAiO,CAAC;wBAC7O,IAAI,OAAO,GAAG;;;;;;;;;;;;;;;;;0CAiBI,CAAC;wBACnB,OAAO,OAAO,CAAC;oBACnB,CAAC;oBACD,gBAAgB,CAAC,cAAc;wBAC3B,IAAI,OAAO,GAAG,sdAAsd,GAAG,cAAc,GAAG,gmBAAgmB,CAAC;wBACzlC,IAAI,IAAI,GAAG,EAAE,CAAC;wBACd,IAAI,GAAG;;;;;;;;0RAQ2P,CAAC;wBAEnQ,IAAI,IAAI,qJAAqJ,GAAG,cAAc,GAAG,oFAAoF,CAAC;wBACtQ,IAAI,IAAI;;;;;;;;;;;;;;;;uBAgBT,CAAC;wBAEA,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAED,kBAAkB;wBACd,IAAI,IAAI,GAAG,ovKAAovK,CAAC;wBAChwK,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,qBAAqB,CAAC,GAAG;wBACrB,OAAO,qDAAqD,GAAG,GAAG,GAAG,sFAAsF,GAAG,GAAG,GAAG,iKAAiK,GAAG,GAAG,GAAG,iVAAiV,GAAG,GAAG,GAAG,8FAA8F,GAAG,GAAG,GAAG,wPAAwP,CAAC;oBAC5gC,CAAC;oBACD,YAAY;wBACR,IAAI,IAAI,GAAG,0CAA0C,CAAC;wBACtD,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,MAAM,CAAC,QAAQ;wBACX,OAAO,IAAI,oBAAoB,EAAE,CAAC;oBACtC,CAAC;iBAEJ;gBAhHY,+BAAoB,uBAgHhC,CAAA;YACL,CAAC,EAlHgB,UAAU,GAAV,gBAAU,KAAV,gBAAU,QAkH1B;QACL,CAAC,EApHgB,KAAK,GAAL,cAAK,KAAL,cAAK,QAoHrB;IACL,CAAC,EAtHgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAsHxB;AACL,CAAC,EAxHS,OAAO,KAAP,OAAO,QAwHhB"}
|
||||
@@ -0,0 +1,109 @@
|
||||
var Unibase;
|
||||
(function (Unibase) {
|
||||
let Platform;
|
||||
(function (Platform) {
|
||||
let Forms;
|
||||
(function (Forms) {
|
||||
let Components;
|
||||
(function (Components) {
|
||||
class FormImport extends Platform.Core.BaseComponent {
|
||||
cssFiles() {
|
||||
return [];
|
||||
}
|
||||
jsFiles() {
|
||||
return ['platform/forms/managers/formmanager.js', 'platform/forms/components/formbuilder/formimport.js', "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js'];
|
||||
}
|
||||
html(id, containerid) {
|
||||
return '<form id="form_Import"><div class="" style="overflow-y: auto;"><header class="b-b bg-white modal-header pa-10"><strong class="text-dark Title" id="div_FormName">Import</strong></header><div class="card-body bg-light control-sorting formviewer_id modal-body bg-cyan-light-5" >' +
|
||||
'<div id="div_importexport" class=""><div class="card" id = "importexportsection"><div class="card-body"><div class="" id = "div_Import">' +
|
||||
'<input type="file" id = "import_File" class="bg-light d-none d-sm-block required" style = "width:150px" > <hr/> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white">Upload</a></div></div></div>' +
|
||||
'</div></div></div></div>' +
|
||||
'<div class="bg-white card-footer footer"><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto"> Close </button></div></form>';
|
||||
}
|
||||
load(id, containerid, callback) {
|
||||
$("#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.Forms.Components.FormImport.Instance().fileEvent(e);
|
||||
});
|
||||
$("#fileUpload").click(function () {
|
||||
let controlid = "form_Import";
|
||||
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid);
|
||||
if (result == false) {
|
||||
bootbox.alert("Plase Select File");
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/importform/np';
|
||||
var response = Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Forms.Components.FormImport.fileData);
|
||||
$('#' + containerid).modal('hide');
|
||||
$('#' + containerid).remove();
|
||||
}
|
||||
});
|
||||
}
|
||||
fileEvent($event) {
|
||||
const fileSelected = $event.target.files[0];
|
||||
Unibase.Platform.Forms.Components.FormImport.fileData = new FormData();
|
||||
Unibase.Platform.Forms.Components.FormImport.fileData.append(fileSelected.name, fileSelected);
|
||||
}
|
||||
importForm() {
|
||||
this.navigationHelper.popup(0, '', Unibase.Platform.Forms.Components.FormImport.Instance(), null, Platform.Helpers.Size.Large);
|
||||
}
|
||||
exportForm() {
|
||||
var FormId = Unibase.Themes.Providers.DetailHelper.recordId;
|
||||
this.fileCacheHelper.loadJsFile('platform/forms/managers/formmanager.js', function () {
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().getForm(FormId).then(function (formresponse) {
|
||||
if (formresponse.result != null && formresponse.result != undefined) {
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().exportForm(FormId).then(function (response) {
|
||||
if (response.status == Unibase.Data.Status.Error) {
|
||||
MessageHelper.Instance().showError(response.message, "div_message");
|
||||
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
|
||||
}
|
||||
else if (formresponse.result != null && formresponse.result != undefined && response.result != null && response.result != undefined) {
|
||||
var filename = formresponse.result.FormName + " - Form.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();
|
||||
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
duplicateForm() {
|
||||
var formid = Unibase.Themes.Providers.DetailHelper.recordId;
|
||||
let postdata = {
|
||||
FormId: formid,
|
||||
};
|
||||
this.fileCacheHelper.loadJsFile('platform/forms/managers/formmanager.js', function () {
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().duplicateForm(postdata).then(function (response) {
|
||||
MessageHelper.Instance().showSuccess("Duplicate Form Saved Successfully.", '');
|
||||
});
|
||||
});
|
||||
}
|
||||
static Instance() {
|
||||
if (this.instance === undefined) {
|
||||
this.instance = new FormImport();
|
||||
}
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
FormImport.fileData = new FormData();
|
||||
Components.FormImport = FormImport;
|
||||
})(Components = Forms.Components || (Forms.Components = {}));
|
||||
})(Forms = Platform.Forms || (Platform.Forms = {}));
|
||||
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
|
||||
})(Unibase || (Unibase = {}));
|
||||
Исполняемый файл
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"formimport.js","sourceRoot":"","sources":["formimport.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[]}jsFiles(){return["platform/forms/managers/formmanager.js","platform/forms/components/formbuilder/formimport.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js"]}html(){return'<form id="form_Import"><div class="" style="overflow-y: auto;"><header class="b-b bg-white modal-header pa-10"><strong class="text-dark Title" id="div_FormName">Import<\/strong><\/header><div class="card-body bg-light control-sorting formviewer_id modal-body bg-cyan-light-5" ><div id="div_importexport" class=""><div class="card" id = "importexportsection"><div class="card-body"><div class="" id = "div_Import"><input type="file" id = "import_File" class="bg-light d-none d-sm-block required" style = "width:150px" > <hr/> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white">Upload<\/a><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class="bg-white card-footer footer"><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto"> Close <\/button><\/div><\/form>'}load(i,r){$("#btn_CloseImport").click(function(){$("#"+r).modal("hide");$("#"+r).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(t){n.Platform.Forms.Components.FormImport.Instance().fileEvent(t)});$("#fileUpload").click(function(){let i=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("form_Import");if(i==!1)return bootbox.alert("Plase Select File"),!1;var u=_appsettings.server_url()+"/apis/v4/unibase/platform/forms/importform/np",f=t.Helpers.FileHelper.Instance().upload(u,n.Platform.Forms.Components.FormImport.fileData);$("#"+r).modal("hide");$("#"+r).remove()})}fileEvent(t){const i=t.target.files[0];n.Platform.Forms.Components.FormImport.fileData=new FormData;n.Platform.Forms.Components.FormImport.fileData.append(i.name,i)}importForm(){this.navigationHelper.popup(0,"",n.Platform.Forms.Components.FormImport.Instance(),null,t.Helpers.Size.Large)}exportForm(){var t=n.Themes.Providers.DetailHelper.recordId;this.fileCacheHelper.loadJsFile("platform/forms/managers/formmanager.js",function(){n.Platform.Forms.Managers.FormManager.Instance().getForm(t).then(function(i){i.result!=null&&i.result!=undefined&&n.Platform.Forms.Managers.FormManager.Instance().exportForm(t).then(function(t){if(t.status==n.Data.Status.Error)MessageHelper.Instance().showError(t.message,"div_message"),n.Platform.Helpers.NavigationHelper.Instance().hideLoading();else if(i.result!=null&&i.result!=undefined&&t.result!=null&&t.result!=undefined){var u=i.result.FormName+" - Form.xml",f=t.result,r=document.createElement("a"),e=new Blob([f],{type:"text/plain"});r.setAttribute("href",window.URL.createObjectURL(e));r.setAttribute("download",u);r.dataset.downloadurl=["text/plain",r.download,r.href].join(":");r.draggable=!0;r.classList.add("dragout");r.click();n.Platform.Helpers.NavigationHelper.Instance().hideLoading()}})})})}duplicateForm(){var t=n.Themes.Providers.DetailHelper.recordId;let i={FormId:t};this.fileCacheHelper.loadJsFile("platform/forms/managers/formmanager.js",function(){n.Platform.Forms.Managers.FormManager.Instance().duplicateForm(i).then(function(){MessageHelper.Instance().showSuccess("Duplicate Form Saved Successfully.","")})})}static Instance(){return this.instance===undefined&&(this.instance=new r),this.instance}}r.fileData=new FormData;i.FormImport=r})(r=i.Components||(i.Components={}))})(i=t.Forms||(t.Forms={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
|
||||
@@ -0,0 +1,865 @@
|
||||
var Unibase;
|
||||
(function (Unibase) {
|
||||
let Platform;
|
||||
(function (Platform) {
|
||||
let Forms;
|
||||
(function (Forms) {
|
||||
let Components;
|
||||
(function (Components) {
|
||||
class FormValidation extends Platform.Core.BaseComponent {
|
||||
constructor() {
|
||||
super();
|
||||
this.FormPropertyHtml = '';
|
||||
this.reportColumns = [];
|
||||
this._formManager = Forms.Managers.FormManager.Instance();
|
||||
}
|
||||
jsFiles() {
|
||||
return ['libs/handlebars/handlebars.min.js', 'platform/dataapis/components/apibuilder.template.js', 'libs/querybuilder/query-builder.min.js', 'libs/querybuilder/query-builder.standalone.min.js', 'libs/querybuilder/selectize/selectize.js', 'libs/querybuilder/query-builder.min.js', 'platform/forms/components/formbuilder/formbuilder.template.js', 'platform/datasources/managers/doctypemanager.js', 'platform/dataapis/enums/executiontype.js', 'libs/querybuilder/sql-parser.min.js', 'platform/forms/enums/enums.js', 'platform/dataapis/enums/requesttype.js', 'platform/analytics/enums/datatype.js'];
|
||||
}
|
||||
cssFiles() {
|
||||
return ['libs/querybuilder/query-builder.default.css', 'libs/querybuilder/selectize/selectize.default.css', 'libs/querybuilder/selectize/selectize.css', 'libs/querybuilder/selectize/selectize.bootstrap3.css'];
|
||||
}
|
||||
html(id, containerid) {
|
||||
let html = `<form id="formValidate" data-validate="parsley">
|
||||
<div class="header bg-white b-b">
|
||||
<strong class="text-dark title" id="">Form Validation</strong>
|
||||
<div id="Unibase_ValidationSummary" class="clear form-error-message"></div>
|
||||
</div>
|
||||
<div data-simplebar class="simple-scroll-bar scrollable" id="div_AddFormValidation">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="floating-label-form-group">
|
||||
<label for="txt_FormActionValidation" id="lbl_FormActionValidation">Form Action Validation Name
|
||||
<span class="text-danger"> *</span>
|
||||
</label>
|
||||
<input type="text" id="txt_FormActionValidation" maxlength="250" class="form-control floating-label-control required" data-isdynamic="false" placeholder="Action Validation Name *" data-placeholder="Enter Action Validation Name" data-label="Action Validation Name *" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="floating-label-form-group">
|
||||
<label for="txt_ValidationErrorMessage" id="lbl_ValidationErrorMessage">Error Message</label>
|
||||
<input type="text" id="txt_ValidationErrorMessage" class="form-control floating-label-control" data-isdynamic="false" placeholder="Enter Error Message" data-placeholder="Enter Error Message" data-label="Enter Error Message" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="floating-label-form-group-with-value">
|
||||
<label for="ddl_FormType" id="lbl_FormType">Form Type
|
||||
<span class="text-danger"> *</span>
|
||||
</label>
|
||||
<select id="ddl_FormType" class="form-control value-control required" placeholder="Select" data-placeholder="Select" data-label="Form Type">
|
||||
<option value="">Select</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="floating-label-form-group-with-value">
|
||||
<label for="ddl_ValidationType" id="lbl_ValidationType">Validation Type
|
||||
<span class="text-danger"> *</span>
|
||||
</label>
|
||||
<select id="ddl_ValidationType" class="form-control value-control required" placeholder="Select" data-placeholder="Select" data-label="Validation Type" onchange="Unibase.Platform.Forms.Components.FormValidation.Instance().validationTypeChange()">
|
||||
<option value="">Select</option>
|
||||
<option value="1">Automation</option>
|
||||
<option value="2">FormValidation</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="floating-label-form-group-with-value">
|
||||
<label for="ddl_ExecutionType" id="lbl_ExectionType">Execution Type
|
||||
<span class="text-danger"> *</span>
|
||||
</label>
|
||||
<select id="ddl_ExecutionType" class="form-control value-control required" onchange="Unibase.Platform.Forms.Components.FormValidation.Instance().getTypeData(null)" placeholder="Select" data-placeholder="Select" data-label="Execution Type">
|
||||
<option value="">Select</option>
|
||||
<option value="1">Method</option>
|
||||
<option value="2">Report</option>
|
||||
<option value="3">Form</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-3">
|
||||
<div class="col-sm-6" id="div_SelectedType"></div>
|
||||
<div class="col-sm-6" id="div_SelectedMethod"></div>
|
||||
</div>
|
||||
<div class="row mt-3">
|
||||
<div class="col-sm-12 hidden" id="div_MethodParams">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="row col-sm-12">
|
||||
<strong class="col-sm-4">Name</strong>
|
||||
<strong class="col-sm-4">Type</strong>
|
||||
<strong class="col-sm-4">Form Property</strong>
|
||||
</div>
|
||||
</div>
|
||||
<div id="methodParams" class="card-body"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card hidden" id="div_MethodGroup"></div>
|
||||
<div class="card hidden" id="divSelectProperties">
|
||||
<div class="card-body">
|
||||
<button class="btn btn-success mb-10" id="btnAddSelectProperties">
|
||||
<strong>+</strong>
|
||||
</button>
|
||||
<div id="selectProperty"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer bg-white b-t" id="div_Footer">
|
||||
<button id="btn_CloseFormValidation" class="btn btn-light btn-sm mr-auto btn-close">Close</button>
|
||||
<button id="btn_SaveFormValidation" class="btn btn-primary btn-sm pull-right">Save</button>
|
||||
</div>
|
||||
</form>`;
|
||||
return html;
|
||||
}
|
||||
load(id, containerid, callback) {
|
||||
var instance = this;
|
||||
$("#" + containerid).find("#validation-builder-body").empty();
|
||||
$("#" + containerid).find("#validation-builder-body").removeClass('hidden');
|
||||
$("#" + containerid).find("#form-builder-body").addClass('hidden');
|
||||
$("#" + containerid).find("#form-builder-body").addClass('hidden');
|
||||
$("#div_AddFormValidation").height($(window).outerHeight() - 148);
|
||||
$("#btnAddSelectProperties").click(function (e) {
|
||||
e.preventDefault();
|
||||
var len = $("#selectProperty .methodProp").length;
|
||||
var executionType = $("#ddl_ExecutionType option:selected").text();
|
||||
var validationType = $("#ddl_ValidationType option:selected").text();
|
||||
if (executionType == "Method") {
|
||||
Unibase.Platform.Forms.Components.FormValidation.Instance().loadMethodSettings(len);
|
||||
}
|
||||
else if (executionType == "Report") {
|
||||
Unibase.Platform.Forms.Components.FormValidation.Instance().loadReportSettings(len);
|
||||
}
|
||||
else if (executionType == "Form") {
|
||||
if (validationType == "Automation") {
|
||||
Unibase.Platform.Forms.Components.FormValidation.Instance().loadFormAutomationSettings(len);
|
||||
}
|
||||
else if (validationType == "FormValidation") {
|
||||
Unibase.Platform.Forms.Components.FormValidation.Instance().loadFormValidationSettings(len);
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#btn_SaveFormValidation").click(function (e) {
|
||||
e.preventDefault();
|
||||
FormValidation.Instance().saveFormValidation();
|
||||
});
|
||||
$("#btn_CloseFormValidation").click(function (e) {
|
||||
e.preventDefault();
|
||||
$('#' + containerid).modal('hide');
|
||||
$('#' + containerid).remove();
|
||||
});
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().getForm(instance.formid).then(function (response) {
|
||||
instance.formsInfo = response.result;
|
||||
let formType = response.result.FormTypeId;
|
||||
if (formType == Unibase.Platform.Forms.Enums.FormType.Create) {
|
||||
$("#ddl_FormType").append("<option value='" + Unibase.Platform.Forms.Enums.FormType.Create + "'>Create Form</option>");
|
||||
$("#ddl_FormType").append("<option value='" + Unibase.Platform.Forms.Enums.FormType.Both + "'>Create & Edit Forms</option>");
|
||||
}
|
||||
else if (formType == Unibase.Platform.Forms.Enums.FormType.Edit) {
|
||||
$("#ddl_FormType").append("<option value='" + Unibase.Platform.Forms.Enums.FormType.Edit + "'>Edit Form</option>");
|
||||
$("#ddl_FormType").append("<option value='" + Unibase.Platform.Forms.Enums.FormType.Both + "'>Create & Edit Forms</option>");
|
||||
}
|
||||
else {
|
||||
$("#ddl_FormType").append("<option value='" + Unibase.Platform.Forms.Enums.FormType.Create + "'>Create Form</option>");
|
||||
$("#ddl_FormType").append("<option value='" + Unibase.Platform.Forms.Enums.FormType.Edit + "'>Edit Form</option>");
|
||||
$("#ddl_FormType").append("<option value='" + Unibase.Platform.Forms.Enums.FormType.Both + "'>Create & Edit Forms</option>");
|
||||
}
|
||||
let html = "";
|
||||
FormValidation.instance.FormPropertyHtml = '';
|
||||
let result = response.result.FormProperties;
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
var template = Components.FormBuilder_Template.Instance().loadTemplate();
|
||||
var data = result[i];
|
||||
var templateScript = Handlebars.compile(template);
|
||||
var context = { "Id": data.FormPropertyId, "Name": data.FormPropertyName };
|
||||
html = templateScript(context);
|
||||
FormValidation.instance.FormPropertyHtml += html;
|
||||
}
|
||||
}).then(function () {
|
||||
var data;
|
||||
if (instance.formvalidationid != 0) {
|
||||
instance._formManager.getFormValidation(instance.formvalidationid).then(function (response) {
|
||||
data = response.result;
|
||||
$("#txt_FormActionValidation").val(data.FormValidationName);
|
||||
$("#txt_ValidationErrorMessage").val(data.ErrorMessage);
|
||||
$("#ddl_FormType").val(data.FormTypeId).trigger("change");
|
||||
$("#ddl_ValidationType").val(data.ValidationTypeId).trigger("change");
|
||||
jQuery("#ddl_ExecutionType").val(data.ExecutionTypeId).select2();
|
||||
instance.getTypeData(function () {
|
||||
if ($("#ddl_ExecutionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Method) {
|
||||
var managerName = data.SystemName.split(',')[0].split('.');
|
||||
var selectedManager = new Option(managerName[managerName.length - 1], data.SystemName, true);
|
||||
jQuery("#ddl_SelectedType").append(selectedManager);
|
||||
instance.getMethodData(function () {
|
||||
let validationSettings = data.ValidationSettings;
|
||||
for (var k = 0; k < validationSettings.length; k++) {
|
||||
$("#btnAddSelectProperties").trigger("click");
|
||||
$("#setting_" + k).attr("data-validationsettingid", data.ValidationSettings[k].ValidationSettingId);
|
||||
$("#txtInfoProperty_" + k).val(data.ValidationSettings[k].InfoPropertyName);
|
||||
var selectedFormProp = new Option(data.ValidationSettings[k].FormPropertyName, data.ValidationSettings[k].FormPropertyId.toString(), true);
|
||||
$("#ddl_selectproperty_" + k).append(selectedFormProp);
|
||||
}
|
||||
var selectedMethod = new Option(data.MethodName, data.MethodProviderId.toString(), true);
|
||||
jQuery("#ddl_SelectedMethod").append(selectedMethod);
|
||||
instance.loadParamTypes(function () {
|
||||
let params = JSON.parse(data.Parameters);
|
||||
let formProps = Object.keys(params);
|
||||
for (var i = 0; i < formProps.length; i++) {
|
||||
var selectedFormProperty = new Option(params[Number(formProps[i])], formProps[i].toString(), true);
|
||||
$("#ddl_FormProperty_" + i).append(selectedFormProperty);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
else if ($("#ddl_ExecutionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Report) {
|
||||
var selectedReport = new Option(data.ReportName, data.ReportId.toString(), true);
|
||||
jQuery("#ddl_SelectedType").append(selectedReport);
|
||||
instance.getMethodData(function () {
|
||||
let validationSettings = data.ValidationSettings;
|
||||
for (var k = 0; k < validationSettings.length; k++) {
|
||||
$("#btnAddSelectProperties").trigger("click");
|
||||
$("#setting_" + k).attr("data-validationsettingid", data.ValidationSettings[k].ValidationSettingId);
|
||||
$("#ddl_selectproperty_" + k).val(data.ValidationSettings[k].FormPropertyId).trigger("change");
|
||||
var selectedFormProperty = new Option(data.ValidationSettings[k].FormPropertyName, data.ValidationSettings[k].FormPropertyId.toString(), true);
|
||||
$("#ddl_selectproperty_" + k).append(selectedFormProperty);
|
||||
}
|
||||
setTimeout(function () {
|
||||
for (var k = 0; k < validationSettings.length; k++) {
|
||||
var selectedReportColumn = new Option(data.ValidationSettings[k].ReportColumnName, data.ValidationSettings[k].ReportColumnId.toString(), true);
|
||||
$("#ddl_ReportColumn_" + k).append(selectedReportColumn);
|
||||
}
|
||||
let qelem = $('#builder');
|
||||
FormValidation.staticFilter = "";
|
||||
let rules = JSON.parse(data.StaticFilter);
|
||||
qelem.queryBuilder('setRules', rules);
|
||||
$("#builder_group_0").addClass("col-sm-12 mt-20");
|
||||
}, 300);
|
||||
});
|
||||
}
|
||||
else if ($("#ddl_ExecutionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Form) {
|
||||
instance.getMethodData(function () {
|
||||
let validationSettings = data.ValidationSettings.reverse();
|
||||
if (Number(data.ValidationTypeId) == Unibase.Platform.Forms.Enums.ValidationType.Automation) {
|
||||
for (var k = 0; k < validationSettings.length; k++) {
|
||||
$("#btnAddSelectProperties").trigger("click");
|
||||
$("#setting_" + k).attr("data-validationsettingid", data.ValidationSettings[k].ValidationSettingId);
|
||||
var selectedFormProp = new Option(data.ValidationSettings[k].FormPropertyName, data.ValidationSettings[k].FormPropertyId.toString(), true);
|
||||
$("#ddl_selectToProperty_" + k).append(selectedFormProp);
|
||||
var selectedFormProp2 = new Option(data.ValidationSettings[k].FormPropertyName2, data.ValidationSettings[k].FormPropertyId2.toString(), true);
|
||||
$("#ddl_selectFromProperty_" + k).append(selectedFormProp2);
|
||||
}
|
||||
}
|
||||
else if (Number(data.ValidationTypeId) == Unibase.Platform.Forms.Enums.ValidationType.FormValidation) {
|
||||
for (var k = 0; k < validationSettings.length; k++) {
|
||||
$("#btnAddSelectProperties").trigger("click");
|
||||
$("#setting_" + k).attr("data-validationsettingid", data.ValidationSettings[k].ValidationSettingId);
|
||||
var selectedFormProp = new Option(data.ValidationSettings[k].FormPropertyName, data.ValidationSettings[k].FormPropertyId.toString(), true);
|
||||
$("#ddl_validationSelectToProperty_" + k).append(selectedFormProp);
|
||||
debugger;
|
||||
$("#ddl_selectOperators_" + k).val(data.ValidationSettings[k].ExpOperator);
|
||||
$("#txt_FormErrorMsg_" + k).val(data.ValidationSettings[k].ErrorMessage);
|
||||
if (data.ValidationSettings[k].FormPropertyId2 != 0) {
|
||||
var selectedFormProp2 = new Option(data.ValidationSettings[k].FormPropertyName2, data.ValidationSettings[k].FormPropertyId2.toString(), true);
|
||||
$("#ddl_validationSelectFromProperty_" + k).append(selectedFormProp2);
|
||||
}
|
||||
else {
|
||||
if (data.ValidationSettings[k].ValidationText != null && data.ValidationSettings[k].ValidationText != "") {
|
||||
$("#chk_IsStaticValue_" + k).prop("checked", true);
|
||||
$("#txt_isstaticvalue_" + k).val(data.ValidationSettings[k].ValidationText);
|
||||
$("#divIsStaticValue_" + k).removeClass("hidden");
|
||||
$("#divFormproperty2_" + k).addClass("hidden");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
init(formid, formvalidationid) {
|
||||
if (formid == null || formid == undefined) {
|
||||
formid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_formid").Value);
|
||||
}
|
||||
this.formid = formid;
|
||||
this.formvalidationid = formvalidationid;
|
||||
this.render();
|
||||
}
|
||||
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
|
||||
var installedAppId = 0;
|
||||
var appConfigurationId = AppConfigurationId;
|
||||
var instance = this;
|
||||
instance.init(null, Pk_Value);
|
||||
}
|
||||
render() {
|
||||
this.navigationHelper.popup(0, '', Unibase.Platform.Forms.Components.FormValidation.Instance(), function (containerid) {
|
||||
}, Platform.Helpers.Size.Auto);
|
||||
}
|
||||
loadDocProperties() {
|
||||
var InstalledAppId = Number(Unibase.Themes.Providers.DetailHelper.installedAppId);
|
||||
Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDocPropertiesByAppId(InstalledAppId).then(function (response) {
|
||||
var data = response.result;
|
||||
var html = "";
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
var prop = data[i];
|
||||
var template = Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().loadTemplate();
|
||||
var templateScript = Handlebars.compile(template);
|
||||
var context = { "Id": prop.DocPropertyId, "Name": prop.DocPropertyName };
|
||||
html = templateScript(context);
|
||||
$("#ddl_FormProperty").append(html);
|
||||
}
|
||||
});
|
||||
}
|
||||
validationTypeChange() {
|
||||
$("#div_SelectedType").addClass("hidden");
|
||||
$("#ddl_ExecutionType").val("").trigger("change");
|
||||
}
|
||||
getTypeData(callback) {
|
||||
var executionType = $("#ddl_ExecutionType option:selected").val();
|
||||
var validationType = $("#ddl_ValidationType option:selected").val();
|
||||
if (validationType == "0" || validationType == undefined || validationType == "") {
|
||||
MessageHelper.Instance().showError("Select Validation Type", "Unibase_ValidationSummary");
|
||||
$("#ddl_ExecutionType").val("");
|
||||
return false;
|
||||
}
|
||||
$("#div_MethodGroup").addClass("hidden");
|
||||
$("#divSelectProperties").addClass("hidden");
|
||||
$("#selectProperty .methodProp").remove();
|
||||
let html = "<div id='div_RequestData' class='floating-label-form-group-with-value'> <label id='lbl_RequestData'></label><select id='ddl_SelectedType' onchange='javascript:Unibase.Platform.Forms.Components.FormValidation.Instance().getMethodData(null);' class='form-control value-control required' data-placeholder='Select' placeholder='Select'></select><input type='hidden' id='hfddl_SelectedType' class='hfddl_SelectedType form-control value-control' data-isdynamic='true'/></div>";
|
||||
$("#div_SelectedType").html(html);
|
||||
$("#div_method").remove();
|
||||
$("#methodParams").find(".added-item").remove();
|
||||
$("#methodParams").html("");
|
||||
$("#div_MethodParams").addClass("hidden");
|
||||
$("#div_methodName").addClass("hidden");
|
||||
if (executionType == Unibase.Platform.DataApis.Enums.ExecutionType.Method) {
|
||||
$("#div_SelectedType").removeClass("hidden");
|
||||
var managerurl = _appsettings.server_url() + '/apis/v4/unibase/platform/dataapis/managerautocomplete';
|
||||
AutoCompleteHelper.getHelper().Create("#ddl_SelectedType", "#hfddl_SelectedType", managerurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
if (callback !== null) {
|
||||
callback();
|
||||
}
|
||||
$("#lbl_RequestData").html("Managers<span class='text-danger'> *</span>");
|
||||
$("#divSelectProperties").removeClass("hidden");
|
||||
}
|
||||
else if (executionType == Unibase.Platform.DataApis.Enums.ExecutionType.Report) {
|
||||
$("#div_SelectedType").removeClass("hidden");
|
||||
var reportsurl = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
|
||||
AutoCompleteHelper.getHelper().Create("#ddl_SelectedType", "#hfddl_SelectedType", reportsurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
if (callback !== null) {
|
||||
callback();
|
||||
}
|
||||
$("#lbl_RequestData").html("Reports<span class='text-danger'> *</span>");
|
||||
}
|
||||
else if (executionType == Unibase.Platform.DataApis.Enums.ExecutionType.Form) {
|
||||
$("#div_SelectedType").addClass("hidden");
|
||||
$("#divSelectProperties").removeClass("hidden");
|
||||
if (callback !== null) {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
}
|
||||
getMethodData(callback) {
|
||||
$("#methodParams").find(".added-item").remove();
|
||||
$("#methodParams").html("");
|
||||
$("#div_MethodParams").addClass("hidden");
|
||||
if ($("#ddl_ExecutionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Method) {
|
||||
$("#div_MethodGroup").html('');
|
||||
let html = "";
|
||||
if ($("#ddl_SelectedType").val() != 0) {
|
||||
html = "<div id='div_method' class='floating-label-form-group-with-value'> <label>Method<span class='text-danger' id = 'spnMethod'> * </span></label><select id='ddl_SelectedMethod' onchange='javascript: Unibase.Platform.Forms.Components.FormValidation.Instance().loadParamTypes(null);' class='form-control value-control required' data-isdynamic='false'></select><input type='hidden' id='hfddl_SelectedMethod' class='hfddl_SelectedMethod form-control value-control' data-isdynamic='true'/></div>";
|
||||
$("#div_SelectedMethod").html(html);
|
||||
var methodurl = _appsettings.server_url() + '/apis/v4/unibase/platform/dataapis/methodproviderautocompletebyrequesttype/requesttypeid/' + Unibase.Platform.DataApis.Enums.RequestType.Get + '/systemname/' + $("#ddl_SelectedType").val();
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_SelectedMethod"), $("#hfddl_SelectedMethod"), methodurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
if (callback !== null) {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
else {
|
||||
$("#div_method").remove();
|
||||
}
|
||||
}
|
||||
else if ($("#ddl_ExecutionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Report) {
|
||||
Unibase.Platform.Analytics.Managers.ReportManager.Instance().getColumns(Number($("#ddl_SelectedType option:selected").val())).then(function (response) {
|
||||
$("#divSelectProperties").removeClass("hidden");
|
||||
$("#selectProperty .methodProp").remove();
|
||||
var data = response.result;
|
||||
FormValidation.instance.reportColumns = data;
|
||||
$("#div_MethodGroup").removeClass("hidden");
|
||||
FormValidation.Instance().loadQueryBuilderDiv(true);
|
||||
}).then(function () {
|
||||
if (callback !== null) {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if ($("#ddl_ExecutionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Form) {
|
||||
if (callback !== null) {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
}
|
||||
loadFormProperties(id) {
|
||||
var instance = this;
|
||||
if (id == undefined)
|
||||
id = 0;
|
||||
let clas = ".rule-filter-container_" + id;
|
||||
if ($("#ddl_ExecutionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Method)
|
||||
clas = "#ddl_FormProperty_" + id;
|
||||
var formurl = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getformpropertiesbyformid/formid/' + instance.formid;
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_FormProperty_" + id), $("#hfddl_FormProperty" + id), formurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
}
|
||||
loadQueryBuilderDiv(IsReport) {
|
||||
var instance = this;
|
||||
$("#div_MethodGroup").html(`<div id="builder" class= "col-sm-12"></div><div class="col-sm-12"><button class="btn btn-primary parse-json mt-20">Apply</button ></div><div id="result" class= "mt-20 col-sm-12"><h5>Output:</h5><pre></pre><div id="Output" class="col-sm-12"></div></div>`);
|
||||
let qelem;
|
||||
qelem = $('#builder');
|
||||
let QueryBuilderValueArray = [];
|
||||
if (IsReport == true) {
|
||||
var data = FormValidation.instance.reportColumns;
|
||||
let QueryBuilderFormPropArray = [];
|
||||
var FormId = this.formid;
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().getFormProperties(FormId).then(function (response) {
|
||||
let result = response.result;
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
var val = new Object();
|
||||
val[result[i].FormPropertyId] = result[i].FormPropertyName;
|
||||
QueryBuilderFormPropArray.push({ id: '{' + result[i].FormPropertyName + '}', name: result[i].FormPropertyName });
|
||||
}
|
||||
}).then(function () {
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
let dataType = Unibase.Platform.Analytics.Reports.Enums.DataType[data[i].DataType];
|
||||
dataType = dataType.toLowerCase();
|
||||
dataType = dataType.replace(/system./g, "");
|
||||
if (dataType == "int32" || dataType == "int64" || dataType == "boolean") {
|
||||
dataType = "integer";
|
||||
}
|
||||
else if (dataType == "decimal") {
|
||||
dataType = "double";
|
||||
}
|
||||
QueryBuilderValueArray.push({
|
||||
id: data[i].DisplayText,
|
||||
label: data[i].DisplayText,
|
||||
type: dataType.toLowerCase(),
|
||||
size: 30,
|
||||
unique: true,
|
||||
operators: ['equal', 'not_equal', 'in', 'not_in', 'is_null', 'is_not_null', 'between', 'not_between',
|
||||
'less', 'less_or_equal', 'greater', 'greater_or_equal', 'begins_with', 'not_begins_with', 'contains', 'not_contains',
|
||||
'ends_with', 'not_ends_with', 'is_empty', 'is_not_empty'],
|
||||
input: 'select',
|
||||
plugin: 'selectize',
|
||||
valueSetter: function (rule, value) {
|
||||
rule.$el.find('.rule-value-container select')[0].selectize.setValue(value);
|
||||
},
|
||||
plugin_config: {
|
||||
valueField: 'id',
|
||||
labelField: 'name',
|
||||
searchField: 'name',
|
||||
sortField: 'name',
|
||||
width: "200px",
|
||||
allowClear: true,
|
||||
plugins: ['remove_button'],
|
||||
create: true,
|
||||
maxItems: 1,
|
||||
placeholder: "Select Form Property",
|
||||
onInitialize: function () {
|
||||
var that = this;
|
||||
QueryBuilderFormPropArray.forEach(function (item) {
|
||||
that.addOption(item);
|
||||
});
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
qelem.on('afterCreateRuleInput.queryBuilder', function (e, rule) {
|
||||
if (rule.filter.plugin == 'selectize') {
|
||||
rule.$el.find('.rule-value-container').css('min-width', '200px').find('.selectize-control').removeClass('form-control');
|
||||
}
|
||||
});
|
||||
qelem.queryBuilder({
|
||||
filters: QueryBuilderValueArray
|
||||
});
|
||||
$("#builder_group_0").addClass("col-sm-12 mt-20");
|
||||
});
|
||||
}
|
||||
else {
|
||||
QueryBuilderValueArray.push({
|
||||
id: $("#ddl_FormProperty option:selected").text(),
|
||||
label: $("#ddl_FormProperty option:selected").text(),
|
||||
type: 'string',
|
||||
size: 30,
|
||||
unique: true,
|
||||
input: 'text',
|
||||
operators: ['equal', 'not_equal', 'in', 'not_in', 'is_null', 'is_not_null', 'between', 'not_between',
|
||||
'less', 'less_or_equal', 'greater', 'greater_or_equal', 'begins_with', 'not_begins_with', 'contains', 'not_contains',
|
||||
'ends_with', 'not_ends_with', 'is_empty', 'is_not_empty']
|
||||
});
|
||||
qelem.queryBuilder({
|
||||
filters: QueryBuilderValueArray
|
||||
});
|
||||
$("#builder_group_0").addClass("col-sm-12 mt-20");
|
||||
}
|
||||
$('.parse-json').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
FormValidation.staticFilter = "";
|
||||
console.log(JSON.stringify(qelem.queryBuilder('getRules'), undefined, 2));
|
||||
$("#Output").html(JSON.stringify(qelem.queryBuilder('getSQL', false, true).sql, undefined, 2));
|
||||
var obj = qelem.queryBuilder('getRules');
|
||||
FormValidation.staticFilter = JSON.stringify(obj);
|
||||
});
|
||||
}
|
||||
getOperatorId(operatorname) {
|
||||
let operator = 1;
|
||||
if (operatorname == "equals")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.Equals;
|
||||
else if (operatorname == "not equal")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.NotEquals;
|
||||
else if (operatorname == "in")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.In;
|
||||
else if (operatorname == "not_in")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.NotIn;
|
||||
else if (operatorname == "is_null")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.IsNull;
|
||||
else if (operatorname == "is_not_null")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.IsNotNull;
|
||||
else if (operatorname == "between")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.Between;
|
||||
else if (operatorname == "not_between")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.NotBetween;
|
||||
else if (operatorname == "less")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.LessThan;
|
||||
else if (operatorname == "less_or_equal")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.LessThanOrEquals;
|
||||
else if (operatorname == "greater")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.GreaterThan;
|
||||
else if (operatorname == "greater_or_equal")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.GreaterThanOrEquals;
|
||||
else if (operatorname == "begins_with")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.BeginsWith;
|
||||
else if (operatorname == "not_begins_with")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.NotBeginsWith;
|
||||
else if (operatorname == "contains")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.Contains;
|
||||
else if (operatorname == "not_contains")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.DoesNotContains;
|
||||
else if (operatorname == "ends_with")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.EndsWith;
|
||||
else if (operatorname == "not_ends_with")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.NotEndsWith;
|
||||
else if (operatorname == "is_empty")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.Empty;
|
||||
else if (operatorname == "is_not_empty")
|
||||
operator = Unibase.Platform.Core.Enums.ExpressionOperator.NotEquals;
|
||||
return operator;
|
||||
}
|
||||
loadParamTypes(callback) {
|
||||
if ($("#ddl_SelectedMethod option:selected").val() != 0) {
|
||||
$("#methodParams").find(".added-item").remove();
|
||||
$("#methodParams").html("");
|
||||
$("#div_MethodParams").removeClass("hidden");
|
||||
Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getMethodProvider($("#ddl_SelectedMethod option:selected").val()).then(function (response) {
|
||||
function bindHtml(name, type) {
|
||||
var len = $("#methodParams").find('.added-item').length;
|
||||
$("#methodParams").append('<div class="row added-item mb-2"><div class="col-sm-4" id="div_ParamName_' + len + '">' + name + '</div><div class="col-sm-4" id="div_Type">' + type + '</div><div id="div_FormProperties" class="col-sm-4"><select id="ddl_FormProperty_' + len + '" class="form-control value-control required" data-isdynamic="false"></select><input type="hidden" id="hfddl_FormProperty_' + len + '" class="hfddl_FormProperty form-control value-control" data-isdynamic="true"/></div></div>');
|
||||
}
|
||||
var data = response.result;
|
||||
let paramTypes = JSON.parse(data.ParamTypes);
|
||||
if (!jQuery.isEmptyObject(paramTypes)) {
|
||||
for (let name in paramTypes) {
|
||||
let parameterName;
|
||||
let parameterType;
|
||||
if (paramTypes[name].includes("System")) {
|
||||
parameterName = name;
|
||||
parameterType = paramTypes[name].split(".");
|
||||
parameterType = parameterType[1];
|
||||
bindHtml(parameterName, parameterType);
|
||||
}
|
||||
else {
|
||||
let params = JSON.parse(data.RequestJson);
|
||||
for (let name in params) {
|
||||
parameterName = name;
|
||||
parameterType = params[name];
|
||||
if (typeof (parameterType) == "object") {
|
||||
$("#methodParams").append("<div id='divParent_" + parameterName + "' class=' col-sm-12 div_Toggle mb-2 fa fa-caret-right'><span style='font-size:18px;'>" + parameterName + "</span><div class='card col-sm-12' style='display:none;'><div class='card-header row'><strong class='col-sm-6'>Name</strong><strong class='col-sm-6'>Type</strong></div><div class='card-body'></div></div></div><br/>");
|
||||
childObject(parameterName, parameterType);
|
||||
}
|
||||
else {
|
||||
if (parameterType.includes("System")) {
|
||||
let paramType = parameterType.split(".");
|
||||
parameterType = paramType[1];
|
||||
}
|
||||
bindHtml(parameterName, parameterType);
|
||||
}
|
||||
function childObject(parameterName, parameterType) {
|
||||
for (let i = 0; i < parameterType.length; i++) {
|
||||
var params = parameterType[i];
|
||||
for (let name in params) {
|
||||
var Name = name;
|
||||
var type = params[name];
|
||||
if (typeof (type) != "object") {
|
||||
if (type.includes("System")) {
|
||||
let paramType = type.split(".");
|
||||
type = paramType[1];
|
||||
}
|
||||
$("#methodParams").find("#divParent_" + parameterName).find(".card-body").append('<div class="row added-item mb-2 nested"><div class="col-sm-6" id="div_Name">' + Name + '</div><div class="col-sm-6" id="div_Type">' + type + '</div></div>');
|
||||
}
|
||||
else {
|
||||
$("#methodParams").find("#divParent_" + parameterName).append("<div id='divParent_" + Name + "' class='col-sm-12 div_Toggle fa fa-caret-right' style='display:none;'><span>" + Name + "</span><div class='card col-sm-12' style='display:none;'><div class='card-header row'><strong class='col-sm-6'>Name</strong><strong class='col-sm-6'>Type</strong></div><div class='card-body'></div></div></div>");
|
||||
childObject(Name, type);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var length = $("#methodParams").find('.added-item').length;
|
||||
Unibase.Platform.Forms.Components.FormValidation.Instance().loadFormProperties(length - 1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$("#methodParams").append('<div style="text-align: center;">No Parameters Found</div>');
|
||||
}
|
||||
$(".nested").hide();
|
||||
}).then(function () {
|
||||
if (callback !== null) {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
saveFormValidation() {
|
||||
var ReportId = 0;
|
||||
var methodProviderId = 0;
|
||||
var systemName = "";
|
||||
var methodName = "";
|
||||
var IsReport = false;
|
||||
var executionType = Number($("#ddl_ExecutionType option:selected").val());
|
||||
var applyType = Number($("#ddl_ValidationType option:selected").val());
|
||||
var formType = Number($("#ddl_FormType option:selected").val());
|
||||
if (executionType == Unibase.Platform.DataApis.Enums.ExecutionType.Report) {
|
||||
ReportId = JSON.parse($("#ddl_SelectedType option:selected").val());
|
||||
IsReport = true;
|
||||
}
|
||||
else if (executionType == Unibase.Platform.DataApis.Enums.ExecutionType.Method) {
|
||||
methodProviderId = Number($("#ddl_SelectedMethod option:selected").val());
|
||||
systemName = $("#ddl_SelectedType option:selected").val();
|
||||
methodName = $("#ddl_SelectedMethod option:selected").text();
|
||||
}
|
||||
var validationSettingsList = [];
|
||||
var len = $("#selectProperty .methodProp").length;
|
||||
for (let i = 0; i < len; i++) {
|
||||
var formPropId = Number($("#ddl_selectproperty_" + i).val());
|
||||
var formPropId2 = 0;
|
||||
var errorMsg = "";
|
||||
var expOperator = "";
|
||||
var validationText = "";
|
||||
if (executionType == Unibase.Platform.DataApis.Enums.ExecutionType.Form) {
|
||||
if (applyType == Unibase.Platform.Forms.Enums.ValidationType.Automation) {
|
||||
formPropId = Number($("#ddl_selectToProperty_" + i + " option:selected").val());
|
||||
formPropId2 = Number($("#ddl_selectFromProperty_" + i + " option:selected").val());
|
||||
}
|
||||
else if (applyType == Unibase.Platform.Forms.Enums.ValidationType.FormValidation) {
|
||||
formPropId = Number($("#ddl_validationSelectToProperty_" + i + " option:selected").val());
|
||||
formPropId2 = Number($("#ddl_validationSelectFromProperty_" + i + " option:selected").val());
|
||||
var isstaticvalue = $("#chk_IsStaticValue_" + i).prop("checked");
|
||||
var staticvalue = "";
|
||||
if (isstaticvalue) {
|
||||
formPropId2 = 0;
|
||||
staticvalue = $("#txt_isstaticvalue_" + i).val().toString();
|
||||
}
|
||||
errorMsg = $("#txt_FormErrorMsg_" + i).val().toString();
|
||||
expOperator = $("#ddl_selectOperators_" + i).val().toString();
|
||||
}
|
||||
}
|
||||
var validationSettingObj = {
|
||||
ValidationSettingId: Number($("#setting_" + i).attr("data-validationsettingid")),
|
||||
ExecutionTypeId: executionType,
|
||||
FormPropertyId: formPropId,
|
||||
InfoPropertyName: IsReport == false ? $("#txtInfoProperty_" + i).val() : "",
|
||||
ReportColumnId: (IsReport == true) ? Number($("#ddl_ReportColumn_" + i).val()) : 0,
|
||||
FormPropertyId2: formPropId2,
|
||||
ErrorMessage: errorMsg,
|
||||
ExpOperator: expOperator,
|
||||
ValidationText: staticvalue,
|
||||
};
|
||||
validationSettingsList.push(validationSettingObj);
|
||||
}
|
||||
var parameters = "";
|
||||
var jsonParam = {};
|
||||
$("#ddl_FormProperty_0").val() != undefined ? jsonParam[$('#ddl_FormProperty_0').val()] = $('#ddl_FormProperty_0 option:selected').text() : "";
|
||||
$("#ddl_FormProperty_1").val() != undefined ? jsonParam[$('#ddl_FormProperty_1').val()] = $('#ddl_FormProperty_1 option:selected').text() : "";
|
||||
$("#ddl_FormProperty_2").val() != undefined ? jsonParam[$('#ddl_FormProperty_2').val()] = $('#ddl_FormProperty_2 option:selected').text() : "";
|
||||
$("#ddl_FormProperty_3").val() != undefined ? jsonParam[$('#ddl_FormProperty_3').val()] = $('#ddl_FormProperty_3 option:selected').text() : "";
|
||||
$("#ddl_FormProperty_4").val() != undefined ? jsonParam[$('#ddl_FormProperty_4').val()] = $('#ddl_FormProperty_4 option:selected').text() : "";
|
||||
$("#ddl_FormProperty_5").val() != undefined ? jsonParam[$('#ddl_FormProperty_5').val()] = $('#ddl_FormProperty_5 option:selected').text() : "";
|
||||
$("#ddl_FormProperty_6").val() != undefined ? jsonParam[$('#ddl_FormProperty_6').val()] = $('#ddl_FormProperty_6 option:selected').text() : "";
|
||||
$("#ddl_FormProperty_7").val() != undefined ? jsonParam[$('#ddl_FormProperty_7').val()] = $('#ddl_FormProperty_7 option:selected').text() : "";
|
||||
parameters = JSON.stringify(jsonParam);
|
||||
let postData = {
|
||||
FormValidationId: this.formvalidationid,
|
||||
FormValidationName: $("#txt_FormActionValidation").val(),
|
||||
ErrorMessage: $("#txt_ValidationErrorMessage").val(),
|
||||
FormIds: this.formid.toString(),
|
||||
FormTypeId: formType,
|
||||
ValidationTypeId: applyType,
|
||||
ExecutionTypeId: executionType,
|
||||
ReportId: ReportId,
|
||||
StaticFilter: FormValidation.staticFilter,
|
||||
SystemName: systemName,
|
||||
MethodProviderId: methodProviderId,
|
||||
MethodName: methodName,
|
||||
Parameters: parameters,
|
||||
ValidationSettings: validationSettingsList
|
||||
};
|
||||
if (formType == Unibase.Platform.Forms.Enums.FormType.Both) {
|
||||
var InstalledAppId = Number(Unibase.Themes.Providers.DetailHelper.installedAppId);
|
||||
var FormId = Number(this.formid);
|
||||
let formType = this.formsInfo.FormTypeId;
|
||||
let anotherForm;
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().loadAppForms(InstalledAppId).then(function (response) {
|
||||
let result = response.result;
|
||||
anotherForm = result.find(x => x.FormTypeId != formType);
|
||||
if (anotherForm != undefined)
|
||||
postData.FormIds += '|' + anotherForm.FormId;
|
||||
}).then(function () {
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().saveFormValidation(postData).then(function (response) {
|
||||
if (response.status == Unibase.Data.Status.Error) {
|
||||
MessageHelper.Instance().showError(response.message, "div_FormVAlidation_ErrorMessage");
|
||||
Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
|
||||
}
|
||||
else {
|
||||
MessageHelper.Instance().showSuccess("Validation Saved Successfully.", '');
|
||||
$('#btn_CloseFormValidation').trigger("click");
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
else {
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().saveFormValidation(postData).then(function (response) {
|
||||
MessageHelper.Instance().showSuccess(response.message, '');
|
||||
$('#btn_CloseFormValidation').trigger("click");
|
||||
});
|
||||
}
|
||||
}
|
||||
loadMethodSettings(id) {
|
||||
var val = id + 1;
|
||||
var html = `<div class="row methodProp" id="setting_` + id + `" data-validationsettingid="0"><div class="col-sm-6"><label for="lblProrprtyname_` + id + `" class="font-bold" id="lblWidth">Select Property <span class="text-danger"></span></label>
|
||||
<select id="ddl_selectproperty_` + id + `" class="form-control value-control required" data-placeholder="Select" placeholder="Select" style="width:100%;"></select>
|
||||
</div>
|
||||
<div class="col-sm-6"><div class="floating-label-form-group"><label id="lblInfoProperty_` + id + `" for="txtInfoProperty` + id + `">Info Property <i id="propNumber">` + val + `</i><span class="text-danger"> *</span></label><input type="text" id="txtInfoProperty_` + id + `" maxlength="250" class="form-control required floating-label-control" data-isdynamic="false" placeholder="Info Property *" data-placeholder="Enter Info Property Name" data-label="Enter Info Property Name *"/></div></div></div>`;
|
||||
$("#selectProperty").append(html);
|
||||
Unibase.Platform.Forms.Components.FormValidation.Instance().loadFormProps(id);
|
||||
}
|
||||
loadReportSettings(id) {
|
||||
var val = id + 1;
|
||||
var html = `<div class="row methodProp" id="setting_` + id + `" data-validationsettingid="0"><div class="col-sm-6"><label for="lblProrprtyname_` + id + `" class="font-bold" id="lblWidth">Select Property <span class="text-danger"></span></label>
|
||||
<select id="ddl_selectproperty_` + id + `" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type='hidden' id='hfddl_selectproperty_` + id + `" class='hfddl_selectproperty form-control value-control' data-isdynamic='true'/></div><div class="col-sm-6"><label for="ddl_ReportColumn_` + id + `" class="font-bold" id="lblReportColumn">Select Info Property<span class="text-danger"></span></label><select id="ddl_ReportColumn_` + id + `" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type='hidden' id='hfddl_ReportColumn_` + id + `" class='hfddl_ReportColumn form-control value-control' data-isdynamic='true'/></div></div>`;
|
||||
$("#selectProperty").append(html);
|
||||
Unibase.Platform.Forms.Components.FormValidation.Instance().loadFormProps(id);
|
||||
Unibase.Platform.Forms.Components.FormValidation.Instance().loadAllReportColumns(id);
|
||||
}
|
||||
loadFormAutomationSettings(id) {
|
||||
var val = id + 1;
|
||||
var html = `<div class="row methodProp" id="setting_` + id + `" data-validationsettingid="0"><div class="col-sm-6"><label id="lblToPropertyName_` + id + `" class="font-bold">Select To Property <span class="text-danger"></span></label><select id="ddl_selectToProperty_` + id + `" class="form-control value-control required" data-placeholder="Select" placeholder="Select" style="width:100%;"></select><input type='hidden' id='hfddl_selectToProperty_` + id + `" class='hfddl_selectToProperty form-control value-control' data-isdynamic='true'/></div><div class="col-sm-6"><label id="lblFromPropertyName_` + id + `" class="font-bold">Select From Property <span class="text-danger"></span></label><select id="ddl_selectFromProperty_` + id + `" class="form-control value-control required" data-placeholder="Select" placeholder="Select" style="width:100%;"></select><input type='hidden' id='hfddl_selectFromProperty_` + id + `" class='hfddl_selectFromProperty form-control value-control' data-isdynamic='true'/></div></div>`;
|
||||
$("#selectProperty").append(html);
|
||||
Unibase.Platform.Forms.Components.FormValidation.Instance().loadAllFormProps(id);
|
||||
}
|
||||
loadFormValidationSettings(id) {
|
||||
var val = id + 1;
|
||||
var html = `<div class="card methodProp" id="divValidationSection_` + id + `"><div class="close-btn-div pr-10"><a class="mt-5 btn-xs float-right btn btn-icon btn-icon-circle btn-icon-style-3 remove-property-section-` + id + `" href="javascript:;" title="Remove row" onclick="Unibase.Platform.Forms.Components.FormValidation.Instance().removePropertySection('divValidationSection_` + id + `');"><span class="btn-icon-wrap"><i class="fa fa-times"></i><span></span></span></a></div><div class="card-body px-1 m-0 row" id="setting_` + id + `" data-validationsettingid="0">
|
||||
<div class="col-md-4"><label id="lblToPropertyName_` + id + `" class="font-bold">Select To Property <span class="text-danger"></span></label><select id="ddl_validationSelectToProperty_` + id + `" class="form-control value-control required" data-placeholder="Select" placeholder="Select" style="width:100%;"></select><input type='hidden' id='hfddl_validationSelectToProperty_` + id + `" class='hfddl_selectToProperty form-control value-control' data-isdynamic='true'/></div>
|
||||
<div class="col-md-2"><label for="ddl_selectOperators_` + id + `" class="font-bold" id="lblWidth">Select Operator <span class="text-danger"></span></label>
|
||||
<select id="ddl_selectOperators_` + id + `" class="form-control comparison-operator value-control required" data-placeholder="Select" placeholder="Select">
|
||||
<option value="equal">equal</option>
|
||||
<option value="not_equal">not equal</option>
|
||||
<option value="is_null">is null</option>
|
||||
<option value="is_not_null">is not null</option>
|
||||
<option value="less">less</option>
|
||||
<option value="less_or_equal">less or equal</option>
|
||||
<option value="greater">greater</option>
|
||||
<option value="greater_or_equal">greater or equal</option>
|
||||
<option value="not_ends_with">doesn't end with</option>
|
||||
<option value="is_empty">is empty</option>
|
||||
<option value="is_not_empty">is not empty</option>
|
||||
</select></div>
|
||||
<div class="col-md-4" id="divFormproperty2_` + id + `"><label class="font-bold">Select From Property <span class="text-danger"></span></label><select id="ddl_validationSelectFromProperty_` + id + `" class="form-control value-control required" data-placeholder="Select" placeholder="Select" style="width:100%;"></select><input type='hidden' id='hfddl_validationSelectFromProperty_` + id + `" class='hfddl_selectFromProperty form-control value-control' data-isdynamic='true'/></div>
|
||||
<div class="col-md-4 hidden" class="floating-label-form-group" id="divIsStaticValue_` + id + `"><label class="font-bold">Static Value<span class="text-danger">*</span></label> <input type="text" class="form-control type-control value-control floating-label-control " id="txt_isstaticvalue_` + id + `" value="" placeholder="Enter Static Value" data-placeholder="Enter Static Value" data-label="Static Value"/></div>
|
||||
<div class="col-md-2"><input type="checkbox" id="chk_IsStaticValue_` + id + `" value="isStatic value">Is Static value</input></div>
|
||||
<div class="col-md-6 mt-10"><div class="floating-label-form-group"><label for="txt_FormActionValidation_` + id + `" id="lbl_FormActionValidation_` + id + `">Error Message<span class="text-danger"> *</span></label><input type="text" id="txt_FormErrorMsg_` + id + `" maxlength="250" class="form-control floating-label-control required" data-isdynamic="false" placeholder="Enter Error Message *" data-placeholder="Enter Error Message" data-label="Enter Error Message *"></div></div></div></div>`;
|
||||
$("#selectProperty").append(html);
|
||||
Unibase.Platform.Forms.Components.FormValidation.Instance().loadAllFormValidationProps(id);
|
||||
}
|
||||
loadAllFormValidationProps(id) {
|
||||
var instance = this;
|
||||
var formurl = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getformpropertiesbyformid/formid/' + instance.formid;
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_validationSelectToProperty_" + id), $("#hfddl_validationSelectToProperty_" + id), formurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_validationSelectFromProperty_" + id), $("#hfddl_validationSelectFromProperty_" + id), formurl, function (response) {
|
||||
var data = response;
|
||||
}, false);
|
||||
$("#chk_IsStaticValue_" + id).click(function () {
|
||||
if ($("#chk_IsStaticValue_" + id).prop("checked") == true) {
|
||||
$("#divIsStaticValue_" + id).removeClass("hidden");
|
||||
$("#divFormproperty2_" + id).addClass("hidden");
|
||||
}
|
||||
else {
|
||||
$("#divIsStaticValue_" + id).addClass("hidden");
|
||||
$("#divFormproperty2_" + id).removeClass("hidden");
|
||||
}
|
||||
});
|
||||
}
|
||||
loadAllFormProps(id) {
|
||||
var instance = this;
|
||||
var formurl = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getformpropertiesbyformid/formid/' + instance.formid;
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_selectToProperty_" + id), $("#hfddl_selectToProperty_" + id), formurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_selectFromProperty_" + id), $("#hfddl_selectFromProperty_" + id), formurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
}
|
||||
loadFormProps(id) {
|
||||
var instance = this;
|
||||
var formurl = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getformpropertiesbyformid/formid/' + instance.formid;
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_selectproperty_" + id), $("#hfddl_selectproperty_" + id), formurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
}
|
||||
loadAllReportColumns(id) {
|
||||
var reportcolumnurl = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + Number($("#ddl_SelectedType option:selected").val());
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_ReportColumn_" + id), $("#hfddl_ReportColumn_" + id), reportcolumnurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
}
|
||||
deleteFormValidation(formvalidationid) {
|
||||
Unibase.Platform.Forms.Managers.FormManager.Instance().deleteFormValidation(formvalidationid).then(function (response) {
|
||||
MessageHelper.Instance().showSuccess(response.message, '');
|
||||
});
|
||||
}
|
||||
static Instance() {
|
||||
if (this.instance === undefined) {
|
||||
this.instance = new FormValidation();
|
||||
}
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
Components.FormValidation = FormValidation;
|
||||
})(Components = Forms.Components || (Forms.Components = {}));
|
||||
})(Forms = Platform.Forms || (Platform.Forms = {}));
|
||||
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
|
||||
})(Unibase || (Unibase = {}));
|
||||
Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+117
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
@@ -0,0 +1,338 @@
|
||||
var Unibase;
|
||||
(function (Unibase) {
|
||||
let Platform;
|
||||
(function (Platform) {
|
||||
let Forms;
|
||||
(function (Forms) {
|
||||
let Components;
|
||||
(function (Components) {
|
||||
class SectionEditor extends Platform.Core.BaseComponent {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.SectionId = 0;
|
||||
}
|
||||
cssFiles() {
|
||||
return [];
|
||||
}
|
||||
jsFiles() {
|
||||
return ["/platform/forms/components/formbuilder/sectioneditor.js"];
|
||||
}
|
||||
html(id, containerid) {
|
||||
return `<div class="b-b bg-white modal-header pa-10"><strong class="biz-highlight-bg-color Title" id="">Add Section</strong><div id="unibase_sectioneditor_errorsummary" class="form-error-message"></div><a class="btn btn-sm ml-auto"><i class="ti-help-alt" title="help" href="javascript:;" target="_blank"></i></a></div>
|
||||
|
||||
<div data-simplebar class="simple-scroll-bar scrollable" id="divAddProperty"><div id="unibase_addnewproperty_errorsummary" class="clear"></div><div class="card">
|
||||
|
||||
<div class="col-sm-12 row">
|
||||
<div class="txtSectionName col-sm-6" id="secInputDiv">
|
||||
<div class="floating-label-form-group div_txt div_designationname">
|
||||
<label for="lbl" id="lbl_" class="lbl_txt">Section Name<span class="text-danger " id="spnIsRequired_"> *</span></label>
|
||||
<input type="text" id="txt_sectionname" class="form-control value-control required floating-label-control" placeholder="Section Name *" data-placeholder="Section Name *" data-label="Section Name *">
|
||||
</div></div>
|
||||
<div class="txtSectionName col-sm-6" id="secInputDiv">
|
||||
<div class="floating-label-form-group">
|
||||
<label for="lbl" id="lbl_" class="lbl_ParentDivId">Parent DivId</label>
|
||||
<input type="text" id="txt_parentdivid" class="form-control value-control required floating-label-control" placeholder="Parent DivId" data-placeholder="Parent DivId" data-label="Parent DivId">
|
||||
</div></div>
|
||||
</div>
|
||||
<div class="action-wrap col-sm-12 row">
|
||||
<div class="col-sm-6 form-group floating-label mt-15">
|
||||
<span id="spnhidesection_" class="">Hide Section<label id="lblCheckBox_" class="lblCheckBox_ switch m-t pull-right"><input type="checkbox" id="chkhidesection_" class="type-control chk_" name="" placeholder = "' + prop.Placeholder + '"/><span></span></label></span>
|
||||
</div>
|
||||
<div class="col-sm-6 form-group floating-label mt-15">
|
||||
<span id="spnautocollapse_" class="">AutoCollapse<label id="lblCheckBox_" class="lblCheckBox_ switch m-t pull-right"><input type="checkbox" id="chkautocollapse_" class="type-control chk_" name="" placeholder = "' + prop.Placeholder + '"/><span></span></label> </span>
|
||||
</div></div></div></div>
|
||||
|
||||
<div class="bg-white b-t modal-footer pa-10" id="propertyFooter"><button id="btnCloseProperty" class="btn btn-light btn-close btn-sm mr-auto">Close</button><button id="saveSection" class="btn btn-primary btn-sm pull-right">Save</button></div>`;
|
||||
}
|
||||
load(id, containerid, callback) {
|
||||
}
|
||||
preparingSectionsList(SectionName, SectionId, SectionType, FormJson) {
|
||||
if (FormJson != null) {
|
||||
if (FormJson.Sections.length >= 0) {
|
||||
var checkSection = FormJson.Sections.find(x => x.SectionId == SectionId);
|
||||
if (checkSection != null && checkSection != undefined) {
|
||||
var sectionIndex = FormJson.Sections.findIndex(x => x.SectionId == SectionId);
|
||||
var secObj = {
|
||||
SectionId: SectionId,
|
||||
SectionName: SectionName,
|
||||
SectionType: SectionType.toString(),
|
||||
FormProperties: checkSection.FormProperties,
|
||||
EnableAutoCollapse: Boolean(checkSection.EnableAutoCollapse),
|
||||
HideSection: Boolean(checkSection.HideSection),
|
||||
ParentDivId: checkSection.ParentDivId,
|
||||
};
|
||||
FormJson.Sections[sectionIndex] = secObj;
|
||||
}
|
||||
else {
|
||||
var secObj = {
|
||||
SectionId: SectionId,
|
||||
SectionName: SectionName,
|
||||
SectionType: SectionType.toString(),
|
||||
FormProperties: [],
|
||||
EnableAutoCollapse: Boolean($("#chkautocollapse_").prop("checked")),
|
||||
HideSection: Boolean($("#chkhidesection_").prop("checked")),
|
||||
ParentDivId: $("#txt_parentdivid").val().toString(),
|
||||
};
|
||||
FormJson.Sections.push(secObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
loadSectionHtml(SectionName, SectionId, SectionType, SectionStatus, FormJson) {
|
||||
Components.FormBuilder.instance.formpropertyNames[Components.FormBuilder.instance.formPropertyCount] = SectionName.replace(/\s/g, '') + "-SectionName";
|
||||
Components.FormBuilder.instance.formPropertyCount++;
|
||||
this.preparingSectionsList(SectionName, SectionId, SectionType, FormJson);
|
||||
var autocollapse = false;
|
||||
var hidesection = false;
|
||||
var parentdivid = "";
|
||||
if (FormJson != undefined) {
|
||||
var checkSection = FormJson.Sections.find(x => x.SectionId == SectionId);
|
||||
autocollapse = checkSection.EnableAutoCollapse;
|
||||
hidesection = checkSection.HideSection;
|
||||
parentdivid = checkSection.parentdivid;
|
||||
}
|
||||
let newhtml = ``;
|
||||
let leftsectionhtml = '';
|
||||
if (SectionType == Unibase.Platform.Forms.Enums.SectionType.HiddenSection) {
|
||||
Unibase.Platform.Forms.Components.FormBuilder.Instance().HiddenSectionId = SectionId;
|
||||
newhtml = `<div class="section_` + SectionId + ` card hiddendivSection col-sm-12 divSection pl-0 pr-0"><div class="card-header pt-0 pb-2" id="secHeader_` + SectionId + `"><div class="fixedHeader"><strong class="sectionName ml-30">` + SectionName + `</strong></div></div><div class="card-body row sectionBody-Element" id="SectionBody_` + SectionId + `" style="min-height:120px" data-sectionid="` + SectionId + `" data-sectionname="` + SectionName + `" data-sectiontype="` + SectionType + `" data-sectionstatus="` + SectionStatus + `"><div class="divCustomFormProperties hidden" id="divCustomFormProperties"></div></div></div>`;
|
||||
}
|
||||
else {
|
||||
newhtml = `<div id="section-focus-` + SectionId + `" class="form-sec-wrap" style="padding:0">
|
||||
<div class="form-sec-block card mb-15 divSection ui-sortable-handle section_` + SectionId + `">
|
||||
${''}
|
||||
<div id="secHeader_` + SectionId + `">
|
||||
<header class="sec-block-head">
|
||||
<div class="d-flex align-items-center" id="secText_` + SectionId + `">
|
||||
<i class="las la-braille dragger"></i>
|
||||
<h6 class="sectionName">` + SectionName + `</h6>
|
||||
</div>
|
||||
<div class="txtSectionName d-none col-sm-4 ml-15" id="secInputDiv_` + SectionId + `">
|
||||
<div class="input-group floating-label-form-group">
|
||||
<input type="text" id="txt_` + SectionId + `" class="form-control value-control required floating-label-control" placeholder="Section Name *" data-placeholder="Section Name *" data-label="Section Name *">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="action-wrap">
|
||||
<span id="spnhidesection_` + SectionId + `" class="d-none">Hide Section<input type="checkbox" id="chkhidesection_` + SectionId + `" ></span>
|
||||
<span id="spnautocollapse_` + SectionId + `" class="d-none">AutoCollapse<input type="checkbox" id="chkautocollapse_` + SectionId + `" ></span>
|
||||
<a class="btn btn-sm btn-icon btn-flush-dark btn-rounded flush-soft-hover d-none saveSection_` + SectionId + `" href="javascript:" id="saveSection_` + SectionId + `"><span class="btn-icon-wrap"><span class="btn-icon-wrap"><i class="las la-save la-i-large"></i></span></a>
|
||||
<a class="btn btn-sm btn-icon btn-flush-dark btn-rounded flush-soft-hover editSection_` + SectionId + `" href="javascript:;" id="editSection_` + SectionId + `"><span class="btn-icon-wrap"><i class="las la-edit la-i-large"></i></span></a>
|
||||
|
||||
<a class="btn btn-sm btn-icon btn-flush-dark btn-rounded flush-soft-hover deleteSection_` + SectionId + `" href="javascript:;"><span class="btn-icon-wrap"><i class="las la-times-circle la-i-large"></i></span></a>
|
||||
</div>
|
||||
</header>
|
||||
</div>
|
||||
<div class="sec-body sectionBody-Element" id="SectionBody_` + SectionId + `" style="min-height:120px" data-sectionid="` + SectionId + `" data-sectionname="` + SectionName + `" data-sectiontype="` + SectionType + `" data-sectionstatus="` + SectionStatus + `" data-autocollapse=` + autocollapse + ` data-hidesection=` + hidesection + ` data-parentdivid="` + parentdivid + `">
|
||||
<div class="row sectionBody-Element ui-sortable section-to-section" id="sectionBodyRow_` + SectionId + `" data-sectionid="` + SectionId + `" data-sectionname="` + SectionName + `" data-sectiontype="` + SectionType + `" data-sectionstatus="` + SectionStatus + `" >
|
||||
<div class="divCustomFormProperties hidden" id="divCustomFormProperties"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
leftsectionhtml = `<li class="dd-item dd3-item controls-item listitem-` + SectionId + `" draggable="true">
|
||||
<a href="javascript:;" data-scroll class="dsl-block datagroup listitem-a-` + SectionId + `" data-sectionid="` + SectionId + `" style="color:#007D88 !important">
|
||||
${''}
|
||||
<span>
|
||||
<i class="las la-braille dragger"></i>
|
||||
<span class="dsl-block-name" id="listitem-` + SectionId + `">` + SectionName + ` </span>
|
||||
</span>
|
||||
${''}
|
||||
<a>
|
||||
</li>`;
|
||||
}
|
||||
$("#form-builder-elements").append(newhtml);
|
||||
if (autocollapse == true) {
|
||||
$("#chkautocollapse_" + SectionId).prop("checked", true);
|
||||
}
|
||||
if (hidesection == true) {
|
||||
$("#chkhidesection_" + SectionId).prop("checked", true);
|
||||
}
|
||||
if (SectionType == Unibase.Platform.Forms.Enums.SectionType.HiddenSection) {
|
||||
$(".section_" + SectionId).hide();
|
||||
}
|
||||
if (leftsectionhtml != '') {
|
||||
$("#left-sections-list").append(leftsectionhtml);
|
||||
}
|
||||
$(".listitem-a-" + SectionId).click(function (e) {
|
||||
let SectionId = $(this).attr("data-sectionid");
|
||||
if ($(this).hasClass('focused-block')) {
|
||||
$(this).removeClass('focused-block');
|
||||
$("#section-focus-" + SectionId).removeClass('focused');
|
||||
}
|
||||
else {
|
||||
$('.dsl-sec-block-wrap .dsl-block').removeClass('focused-block');
|
||||
$(this).addClass('focused-block');
|
||||
$('.form-sec-wrap').removeClass('focused');
|
||||
$("#section-focus-" + SectionId).addClass('focused');
|
||||
}
|
||||
var elmnt = document.getElementById("section-focus-" + SectionId);
|
||||
elmnt.scrollIntoView();
|
||||
return false;
|
||||
});
|
||||
let sectionsList = $("#left-sections-list");
|
||||
let itemId;
|
||||
let startIndex;
|
||||
let endIndex;
|
||||
sectionsList.sortable({
|
||||
connectWith: "#left-sections-list",
|
||||
cursor: 'move',
|
||||
start: function (event, ui) {
|
||||
itemId = $(ui.item).children('a.dsl-block').attr('data-sectionid');
|
||||
console.log(itemId);
|
||||
let i = 0;
|
||||
$('#left-sections-list .dd-item').each(function () {
|
||||
let id = $(this).children('a.dsl-block').attr('data-sectionid');
|
||||
if (id == itemId) {
|
||||
startIndex = i;
|
||||
console.log(startIndex);
|
||||
}
|
||||
i++;
|
||||
});
|
||||
},
|
||||
stop: function (event, ui) {
|
||||
let i = 0;
|
||||
$('#left-sections-list .dd-item').each(function () {
|
||||
let id = $(this).children('a.dsl-block').attr('data-sectionid');
|
||||
if (id == itemId) {
|
||||
endIndex = i;
|
||||
console.log(endIndex);
|
||||
}
|
||||
i++;
|
||||
});
|
||||
let sectionItemCopy = $('#form-builder-elements.ui-sortable .form-sec-wrap')[startIndex];
|
||||
if (startIndex > endIndex)
|
||||
$(sectionItemCopy).insertBefore($('#form-builder-elements.ui-sortable .form-sec-wrap')[endIndex]);
|
||||
else
|
||||
$(sectionItemCopy).insertAfter($('#form-builder-elements.ui-sortable .form-sec-wrap')[endIndex]);
|
||||
}
|
||||
});
|
||||
if (SectionName != "") {
|
||||
$("#secHeader_" + SectionId).find(".sectionName").text(SectionName);
|
||||
$('#secHeader_' + SectionId).addClass("secHeader");
|
||||
$("#secHeader_" + SectionId).find(".fixedHeader").removeClass("hidden");
|
||||
$("#secHeader_" + SectionId).removeClass("pt-0 pb-2");
|
||||
$("#secHeader_" + SectionId).find(".editHeader").addClass("hidden");
|
||||
}
|
||||
$("#sectionType").val(SectionType.toString());
|
||||
$("#txt_" + SectionId).focus();
|
||||
$("#editSection_" + SectionId).click(function () {
|
||||
Unibase.Platform.Forms.Components.SectionEditor.Instance().EditSection(SectionId, SectionType);
|
||||
});
|
||||
$(".deleteSection_" + SectionId).click(function () {
|
||||
console.log($('[data-sectionid="' + SectionId + '"]').length);
|
||||
if ($('[data-sectionid="' + SectionId + '"]').length > 3) {
|
||||
MessageHelper.Instance().showError("Remove all Properties before removing a Section.", 'unibase_formbuilder_errorsummary');
|
||||
Components.FormBuilder.instance.formpropertyNames.splice(SectionId);
|
||||
return false;
|
||||
}
|
||||
$("#left-sections-list").find(".listitem-" + SectionId).remove();
|
||||
$(".section_" + SectionId).remove();
|
||||
});
|
||||
$("#txt_" + SectionId).keyup(function (e) {
|
||||
if (e.keyCode === 13) {
|
||||
$("#saveSection_" + SectionId).click();
|
||||
}
|
||||
});
|
||||
$('#secHeader_' + SectionId).hover(function () {
|
||||
$(this).find(".sorticon").removeClass('hidden');
|
||||
$(this).find(".editremoveSectionicons").removeClass('hidden');
|
||||
return false;
|
||||
}, function () {
|
||||
$(this).find(".sorticon").addClass('hidden');
|
||||
$(this).find(".editremoveSectionicons").addClass('hidden');
|
||||
});
|
||||
let formBodyEvent = $(".sectionBody-Element");
|
||||
formBodyEvent.sortable({
|
||||
connectWith: "#controls-list, #DocTypeAccordion",
|
||||
cursor: 'move',
|
||||
receive: function (event, ui) {
|
||||
console.log(ui);
|
||||
Unibase.Platform.Forms.Components.SectionEditor.Instance().SectionId = Number(ui.item.attr("data-id"));
|
||||
$("#DocTypeAccordion").css({ "position": "static", "width": "" });
|
||||
var PropertyId = $(ui.item).attr("data-id");
|
||||
var PropertyName = $(ui.item).attr("data-name");
|
||||
var ControlId = $(ui.item).attr("data-controlid") == undefined ? 0 : Number($(ui.item).attr("data-controlid"));
|
||||
Unibase.Platform.Forms.Components.PropertyEditor.Instance().openAddPropertyPage(PropertyId, PropertyName, ControlId, Number($("#" + event.target.id).attr("data-sectionid")), $("#" + event.target.id).attr("data-sectionname"), $("#" + event.target.id).attr("data-sectiontype"), true, 0, 0);
|
||||
ui.item.remove();
|
||||
}
|
||||
});
|
||||
}
|
||||
EditSection(SectionId, SectionType) {
|
||||
Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0, "", Unibase.Platform.Forms.Components.SectionEditor.Instance(), function () {
|
||||
if (Unibase.Platform.Forms.Components.FormBuilder.Instance().FormJson != undefined) {
|
||||
var secobj = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormJson.Sections.find(x => x.SectionId == SectionId);
|
||||
if (secobj != null) {
|
||||
$("#txt_sectionname").val(secobj.SectionName);
|
||||
$("#txt_parentdivid").val(secobj.ParentDivId);
|
||||
$("#chkhidesection_").prop("checked", secobj.HideSection);
|
||||
$("#chkautocollapse_").prop("checked", secobj.EnableAutoCollapse);
|
||||
eval("_floatingLabelHelper.init();");
|
||||
}
|
||||
}
|
||||
$("#saveSection").click(function () {
|
||||
var text = $("#txt_sectionname").val().toString();
|
||||
var parentdivid = $("#txt_parentdivid").val().toString();
|
||||
var sectionNameValidate = Array.prototype.slice.call(document.getElementsByClassName('sectionName')).find(x => x.innerHTML.toLowerCase() == text.toLowerCase());
|
||||
if (sectionNameValidate != undefined && sectionNameValidate.id != SectionId.toString() && sectionNameValidate.id != "") {
|
||||
MessageHelper.Instance().showError("SectionName already exist.", 'unibase_sectioneditor_errorsummary');
|
||||
return false;
|
||||
}
|
||||
if (text == "") {
|
||||
MessageHelper.Instance().showError("SectionName cannot be empty.", 'unibase_sectioneditor_errorsummary');
|
||||
return false;
|
||||
}
|
||||
var sectype = $(".sectionType_" + SectionId).val();
|
||||
$("#secHeader_" + SectionId).find(".sectionName").text(text);
|
||||
$("#left-sections-list #listitem-" + SectionId).text(text);
|
||||
$("#SectionBody_" + SectionId).attr("data-sectionname", text);
|
||||
$("#SectionBody_" + SectionId).attr("data-parentdivid", parentdivid);
|
||||
$("#SectionBody_" + SectionId).attr("data-autocollapse", $("#chkautocollapse_").prop("checked").toString());
|
||||
$("#SectionBody_" + SectionId).attr("data-hidesection", $("#chkhidesection_").prop("checked").toString());
|
||||
$("#sectionBodyRow_" + SectionId).attr("data-sectionname", text);
|
||||
$("#sectionBodyRow_" + SectionId).attr("data-autocollapse", $("#chkautocollapse_").prop("checked").toString());
|
||||
$("#sectionBodyRow_" + SectionId).attr("data-hidesection", $("#chkhidesection_" + SectionId).prop("checked").toString());
|
||||
var formjson = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormJson;
|
||||
if (formjson != undefined && formjson != null) {
|
||||
var checkSection = formjson.Sections.find(x => x.SectionId == SectionId);
|
||||
if (checkSection != undefined) {
|
||||
checkSection.EnableAutoCollapse = Boolean($("#chkautocollapse_").prop("checked"));
|
||||
checkSection.HideSection = Boolean($("#chkhidesection_").prop("checked"));
|
||||
checkSection.ParentDivId = $("#txt_parentdivid").val().toString();
|
||||
$("#SectionBody_" + SectionId).attr("data-sectiontype", Number(SectionType));
|
||||
}
|
||||
}
|
||||
Unibase.Platform.Forms.Components.SectionEditor.instance.preparingSectionsList(text, SectionId, SectionType, Unibase.Platform.Forms.Components.FormBuilder.Instance().FormJson);
|
||||
Unibase.Platform.Helpers.NavigationHelper.Instance().closePopUp();
|
||||
});
|
||||
}, Platform.Helpers.Size.DockLeft);
|
||||
}
|
||||
loadSectionAutoComplete(FormId) {
|
||||
if (FormId != 0) {
|
||||
this._formManager.getSections(FormId).then(function (response) {
|
||||
var sectionData = [];
|
||||
var result = response.result;
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
var controls = result[i];
|
||||
sectionData.push({ id: controls.SectionId, text: controls.SectionName });
|
||||
}
|
||||
$("#txtAutoComplete_Section").select2({
|
||||
placeholder: 'Select Section',
|
||||
data: sectionData,
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
static Instance() {
|
||||
if (this.instance === undefined) {
|
||||
this.instance = new SectionEditor();
|
||||
}
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
Components.SectionEditor = SectionEditor;
|
||||
})(Components = Forms.Components || (Forms.Components = {}));
|
||||
})(Forms = Platform.Forms || (Platform.Forms = {}));
|
||||
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
|
||||
})(Unibase || (Unibase = {}));
|
||||
Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+66
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Исполняемый файл
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"settings.js","sourceRoot":"","sources":["settings.ts"],"names":[],"mappings":""}
|
||||
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Ссылка в новой задаче
Block a user