Этот коммит содержится в:
2023-03-11 17:30:20 +00:00
Коммит b6c4e025bc
5124 изменённых файлов: 1153349 добавлений и 0 удалений
+454
Просмотреть файл
@@ -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 = {}));
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Разница между файлами не показана из-за своего большого размера Загрузить разницу
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
+237
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+1
Просмотреть файл
@@ -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"}
+109
Просмотреть файл
@@ -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 = {}));
+1
Просмотреть файл
@@ -0,0 +1 @@
{"version":3,"file":"formimport.js","sourceRoot":"","sources":["formimport.ts"],"names":[],"mappings":"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"}
поставляемый Исполняемый файл
+1
Просмотреть файл
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(i){class r extends t.Core.BaseComponent{cssFiles(){return[]}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={}));
+865
Просмотреть файл
@@ -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
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Разница между файлами не показана из-за своего большого размера Загрузить разницу
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+338
Просмотреть файл
@@ -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 = {}));
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Просмотреть файл
+1
Просмотреть файл
@@ -0,0 +1 @@
{"version":3,"file":"settings.js","sourceRoot":"","sources":["settings.ts"],"names":[],"mappings":""}
Разница между файлами не показана из-за своего большого размера Загрузить разницу
Просмотреть файл
+1
Просмотреть файл
@@ -0,0 +1 @@
{"version":3,"file":"formeditor.js","sourceRoot":"","sources":["formeditor.ts"],"names":[],"mappings":""}
Разница между файлами не показана из-за своего большого размера Загрузить разницу
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Просмотреть файл
+1
Просмотреть файл
@@ -0,0 +1 @@
{"version":3,"file":"tableeditor.js","sourceRoot":"","sources":["tableeditor.ts"],"names":[],"mappings":""}