Iniit
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
var Unibase;
|
||||
(function (Unibase) {
|
||||
let Forms;
|
||||
(function (Forms) {
|
||||
let Controls;
|
||||
(function (Controls) {
|
||||
class CascadingAutocomplete {
|
||||
constructor() {
|
||||
this.cascadingArray = [];
|
||||
this.loadCascading = true;
|
||||
}
|
||||
init(formpropertyid, prop, callback) {
|
||||
var instance = CascadingAutocomplete.Instance();
|
||||
var container = "control-container-" + formpropertyid;
|
||||
instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
|
||||
instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
|
||||
if (callback != null)
|
||||
callback();
|
||||
}
|
||||
loadControl(containerid, prop) {
|
||||
var instance = this;
|
||||
var Isrequired = prop.IsRequired != true ? 'hidden' : '';
|
||||
var required = prop.IsRequired != true ? '' : 'required';
|
||||
var reqMark = prop.IsRequired != true ? '' : '*';
|
||||
var CurrentStageId = $("#hf_" + $("#hfLayout_InstalledPageId").val() + "_StageId").val();
|
||||
if (prop.StagesForRequired != null && prop.StagesForRequired != "") {
|
||||
var StagesForRequired = prop.StagesForRequired.split('|');
|
||||
Isrequired = StagesForRequired.find(x => x == CurrentStageId) ? '' : 'hidden';
|
||||
required = StagesForRequired.find(x => x == CurrentStageId) ? 'required' : '';
|
||||
reqMark = StagesForRequired.find(x => x == CurrentStageId) ? '*' : '';
|
||||
}
|
||||
var data = JSON.parse(prop.ControlJsonText);
|
||||
var cascArray = CascadingAutocomplete.instance.cascadingArray;
|
||||
var isexist = Unibase.Forms.Controls.CascadingAutocomplete.Instance().cascadingArray.find(x => x.UniqueId == prop.UniqueId) ? true : false;
|
||||
data["UniqueId"] = prop.UniqueId;
|
||||
if (isexist == false)
|
||||
CascadingAutocomplete.instance.cascadingArray.push(data);
|
||||
const { helpTooltipHtml, helpTextHtml } = Unibase.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(prop);
|
||||
var html = `<div id="div_${prop.UniqueId}">
|
||||
<label for="ddl_cascading_${prop.UniqueId}" id="lbl_cascading_${prop.UniqueId}" class="font-bold" style="color:grey">${helpTooltipHtml}<span class="label-name">${prop.LabelName}</span><span class="text-danger ${Isrequired}" id="spnCascading_${prop.UniqueId}"> *</span></label>` +
|
||||
'<div class="input-group">' +
|
||||
'<select id="ddl_cascading_' + prop.UniqueId + '" class="ddl_cascading_' + prop.DocPropertyName + ' form-control type-control text-control ' + required + ' " data-isdefault="' + prop.IsDefault + '" style="width:100%;" placeholder = "' + prop.Placeholder + '" data-placeholder="' + prop.Placeholder + '" data-label="' + prop.LabelName + '" data-propertyid="' + prop.DocPropertyId + '" data-propertyname="' + prop.DocPropertyName + '" data-formpropertyid="' + prop.FormPropertyId + '" value="0" ></select>' +
|
||||
'<input type="hidden" id="hfddl_cascading_' + prop.UniqueId + '" value="0" data-autotextid="ddl_cascading_' + prop.UniqueId + '" class="hfAutoCompleteId_' + prop.DocPropertyName + ' form-control value-control" />' + helpTextHtml + '</div></div>';
|
||||
$("#" + containerid).html(html);
|
||||
$("#ddl_cascading_" + prop.UniqueId).select2({
|
||||
placeholder: prop.Placeholder,
|
||||
width: '100%',
|
||||
});
|
||||
$("#" + containerid).find("#ddl_cascading_" + prop.UniqueId).on('change', function () {
|
||||
if (instance.loadCascading) {
|
||||
Unibase.Forms.Controls.CascadingAutocomplete.Instance().ChildCascadingData(false, prop.FormPropertyId, Number($("#ddl_cascading_" + prop.UniqueId).val()), 0, '');
|
||||
}
|
||||
instance.loadCascading = true;
|
||||
});
|
||||
}
|
||||
loadControlSettings(controlsettingjson, formpropertyid) {
|
||||
return null;
|
||||
}
|
||||
loadPropertySettings(propertysettings, formpropertyid) {
|
||||
return null;
|
||||
}
|
||||
bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
|
||||
var instance = this;
|
||||
if (propval != "") {
|
||||
var cascInfo = JSON.parse(propval);
|
||||
instance.ChildCascadingData(true, cascInfo.ParentFormPropertyId, cascInfo.ReportColumnText, cascInfo.ReportColumnValueId, cascInfo.ReportColumnValue);
|
||||
if (cascInfo.ReportColumnValueId != 0) {
|
||||
var cascOption = new Option(cascInfo.ReportColumnValue, cascInfo.ReportColumnValueId, true);
|
||||
$("#ddl_cascading_" + formpropertyid).append(cascOption);
|
||||
instance.loadCascading = false;
|
||||
jQuery("#ddl_cascading_" + formpropertyid).val(cascInfo.ReportColumnValueId).trigger('change');
|
||||
}
|
||||
}
|
||||
}
|
||||
ChildCascadingData(isEditForm, ParentFormPropertyId, ParentTextColumnValue, Id, Value) {
|
||||
var instance = this;
|
||||
var hdn_cascading_array = CascadingAutocomplete.instance.cascadingArray;
|
||||
if (hdn_cascading_array != undefined) {
|
||||
var list = hdn_cascading_array.filter(x => x.ParentFormPropertyId == ParentFormPropertyId);
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
var listitem = list[i];
|
||||
var casFormPropId = listitem.UniqueId;
|
||||
var response = listitem;
|
||||
var reportId = response.ReportId;
|
||||
var formPropertyId = response.FormPropertyId;
|
||||
var parentFormPropertyId = response.ParentFormPropertyId;
|
||||
var applyFor = response.ApplyFor;
|
||||
var formId = Number($(".formValidate:visible").find("#hf_FormId").val());
|
||||
if (!isEditForm) {
|
||||
$("#ddl_cascading_" + casFormPropId).val(null).trigger("change");
|
||||
}
|
||||
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getcascadingautocompletedata/formpropertyid/' + formPropertyId + '/parentidcolumn/' + applyFor + '/parentcolumnvalue/' + ParentTextColumnValue + '/parentformpropertyid/' + parentFormPropertyId;
|
||||
AutoCompleteHelper.getHelper().Create("#ddl_cascading_" + casFormPropId, "#hfddl_cascading_" + casFormPropId, url, function (response) {
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
static Instance() {
|
||||
if (this.instance === undefined) {
|
||||
this.instance = new CascadingAutocomplete();
|
||||
}
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
Controls.CascadingAutocomplete = CascadingAutocomplete;
|
||||
})(Controls = Forms.Controls || (Forms.Controls = {}));
|
||||
})(Forms = Unibase.Forms || (Unibase.Forms = {}));
|
||||
})(Unibase || (Unibase = {}));
|
||||
+1
File diff suppressed because one or more lines are too long
Vendored
Executable
+2
@@ -0,0 +1,2 @@
|
||||
var Unibase;(function(n){let t;(function(t){let i;(function(t){class i{constructor(){this.cascadingArray=[];this.loadCascading=!0}init(n,t,r){var u=i.Instance(),f="control-container-"+n;u.loadControlSettings(t.ControlJsonText,t.FormPropertyId);u.loadPropertySettings(t.PropertySettings,t.FormPropertyId);r!=null&&r()}loadControl(t,r){var e=this,o=r.IsRequired!=!0?"hidden":"",s=r.IsRequired!=!0?"":"required",l=r.IsRequired!=!0?"":"*",f=$("#hf_"+$("#hfLayout_InstalledPageId").val()+"_StageId").val(),u,c;r.StagesForRequired!=null&&r.StagesForRequired!=""&&(u=r.StagesForRequired.split("|"),o=u.find(n=>n==f)?"":"hidden",s=u.find(n=>n==f)?"required":"",l=u.find(n=>n==f)?"*":"");var h=JSON.parse(r.ControlJsonText),p=i.instance.cascadingArray,a=n.Forms.Controls.CascadingAutocomplete.Instance().cascadingArray.find(n=>n.UniqueId==r.UniqueId)?!0:!1;h.UniqueId=r.UniqueId;a==!1&&i.instance.cascadingArray.push(h);const{helpTooltipHtml:v,helpTextHtml:y}=n.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(r);c=`<div id="div_${r.UniqueId}">
|
||||
<label for="ddl_cascading_${r.UniqueId}" id="lbl_cascading_${r.UniqueId}" class="font-bold" style="color:grey">${v}<span class="label-name">${r.LabelName}</span><span class="text-danger ${o}" id="spnCascading_${r.UniqueId}"> *</span></label>`+'<div class="input-group"><select id="ddl_cascading_'+r.UniqueId+'" class="ddl_cascading_'+r.DocPropertyName+" form-control type-control text-control "+s+' " data-isdefault="'+r.IsDefault+'" style="width:100%;" placeholder = "'+r.Placeholder+'" data-placeholder="'+r.Placeholder+'" data-label="'+r.LabelName+'" data-propertyid="'+r.DocPropertyId+'" data-propertyname="'+r.DocPropertyName+'" data-formpropertyid="'+r.FormPropertyId+'" value="0" ><\/select><input type="hidden" id="hfddl_cascading_'+r.UniqueId+'" value="0" data-autotextid="ddl_cascading_'+r.UniqueId+'" class="hfAutoCompleteId_'+r.DocPropertyName+' form-control value-control" />'+y+"<\/div><\/div>";$("#"+t).html(c);$("#ddl_cascading_"+r.UniqueId).select2({placeholder:r.Placeholder,width:"100%"});$("#"+t).find("#ddl_cascading_"+r.UniqueId).on("change",function(){e.loadCascading&&n.Forms.Controls.CascadingAutocomplete.Instance().ChildCascadingData(!1,r.FormPropertyId,Number($("#ddl_cascading_"+r.UniqueId).val()),0,"");e.loadCascading=!0})}loadControlSettings(){return null}loadPropertySettings(){return null}bindEditFormDetails(n,t){var r=this,i,u;t!=""&&(i=JSON.parse(t),r.ChildCascadingData(!0,i.ParentFormPropertyId,i.ReportColumnText,i.ReportColumnValueId,i.ReportColumnValue),i.ReportColumnValueId!=0&&(u=new Option(i.ReportColumnValue,i.ReportColumnValueId,!0),$("#ddl_cascading_"+n).append(u),r.loadCascading=!1,jQuery("#ddl_cascading_"+n).val(i.ReportColumnValueId).trigger("change")))}ChildCascadingData(n,t,r){var y=this,s=i.instance.cascadingArray,e,u,c;if(s!=undefined)for(e=s.filter(n=>n.ParentFormPropertyId==t),u=0;u<e.length;u++){var h=e[u],o=h.UniqueId,f=h,p=f.ReportId,l=f.FormPropertyId,a=f.ParentFormPropertyId,v=f.ApplyFor,w=Number($(".formValidate:visible").find("#hf_FormId").val());n||$("#ddl_cascading_"+o).val(null).trigger("change");c=_appsettings.server_url()+"/apis/v4/unibase/platform/forms/getcascadingautocompletedata/formpropertyid/"+l+"/parentidcolumn/"+v+"/parentcolumnvalue/"+r+"/parentformpropertyid/"+a;AutoCompleteHelper.getHelper().Create("#ddl_cascading_"+o,"#hfddl_cascading_"+o,c,function(){})}}static Instance(){return this.instance===undefined&&(this.instance=new i),this.instance}}t.CascadingAutocomplete=i})(i=t.Controls||(t.Controls={}))})(t=n.Forms||(n.Forms={}))})(Unibase||(Unibase={}));
|
||||
@@ -0,0 +1,110 @@
|
||||
var Unibase;
|
||||
(function (Unibase) {
|
||||
let Forms;
|
||||
(function (Forms) {
|
||||
let Controls;
|
||||
(function (Controls) {
|
||||
class CascadingAutocomplete_Settings {
|
||||
loadControlPropertiesHtml(controlpropList, container) {
|
||||
return ``;
|
||||
}
|
||||
bindPropertySettings(prop) {
|
||||
var propertySettings = prop.PropertySettings;
|
||||
return "";
|
||||
}
|
||||
savePropertySettings(prop) {
|
||||
var propertySettings = prop.PropertySettings;
|
||||
return "";
|
||||
}
|
||||
loadSettingHtml(container) {
|
||||
let html = `<section class="card"><div class="card-header"><h6><b>Cascading Settings</b></h6></div><div class="card-body"><div class="row"><div class="col-sm-6 mt-10" id ="CasCadingdddDocProp"><label for="lblDocPropertyName" id="lblDocPropertyName" class="font-bold" style="color:grey">Parent Property<span class="text-danger" id="spnIsRequired_ParentProperty"> *</span></label><select id="ddlParentProperty" class="form-control value-control required" data-controlpropertyname="Width"></select><input type="hidden" id="hfddlParentProperty"/></div></div><div class="row"><div class="col-sm-6"><label class="font-bold" style="color:grey">Report<span class="text-danger" id="spnIsRequired_Report"> *</span></label><select id="ddl_cascAutocompleteReport" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type="hidden" id="hfddl_cascAutocompleteReport" class="hfddl_cascAutocompleteReport form-control value-control" data-isdynamic="true"/></div></div><div class="row"><div class="col-sm-4"><label class="font-bold" style="color:grey">Id Column<span class="text-danger" id="spnIsRequired_IdColumn"> *</span></label><select id="ddl_cascAutocompleteIdColumn" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type="hidden" id="hfddl_cascAutocompleteIdColumn" class="hfddl_cascAutocompleteIdColumn form-control value-control" data-isdynamic="true"/></div><div class="col-sm-4"><label class="font-bold" style="color:grey">Text Column<span class="text-danger" id="spnIsRequired_TextColumn"> *</span></label><select id="ddl_cascAutocompleteTextColumn" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type="hidden" id="hfddl_cascAutocompleteTextColumn" class="hfddl_cascAutocompleteTextColumn form-control value-control" data-isdynamic="true"/></div><div class="col-sm-4"><label class="font-bold" style="color:grey">Apply For<span class="text-danger" id="spnIsRequired_ApplyFor"> *</span></label><select id="ddl_cascAutocompleteApplyFor" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type="hidden" id="hfddl_cascAutocompleteApplyFor" class="hfddl_cascAutocompleteApplyFor form-control value-control" data-isdynamic="true"/></div></div></div></section>`;
|
||||
$(container).append(html);
|
||||
this.GetDocPropertyDetails();
|
||||
$("#ddl_cascAutocompleteReport").on("change", function () {
|
||||
$("#ddl_cascAutocompleteIdColumn").val(null).trigger("change");
|
||||
$("#ddl_cascAutocompleteTextColumn").val(null).trigger("change");
|
||||
});
|
||||
}
|
||||
bindControlData(controldatajson) {
|
||||
if (controldatajson != undefined && controldatajson != "") {
|
||||
var result = controldatajson;
|
||||
var parentName = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertiesJson.find(x => x.FormPropertyId == result.ParentFormPropertyId).FormPropertyName;
|
||||
var parent = new Option(parentName, result.ParentFormPropertyId, true);
|
||||
$("#ddlParentProperty").append(parent);
|
||||
jQuery("#ddlParentProperty").val(result.ParentFormPropertyId).trigger('change');
|
||||
var report = new Option(result.ReportName, result.ReportId, true);
|
||||
$("#ddl_cascAutocompleteReport").append(report);
|
||||
jQuery("#ddl_cascAutocompleteReport").val(result.ReportId).trigger('change');
|
||||
var reportColumnText = new Option(result.ReportColumnText, result.ReportColumnTextId, true);
|
||||
$("#ddl_cascAutocompleteTextColumn").append(reportColumnText);
|
||||
jQuery("#ddl_cascAutocompleteTextColumn").val(result.ReportColumnTextId).trigger('change');
|
||||
var reportColumnValue = new Option(result.ReportColumnValue, result.ReportColumnValueId, true);
|
||||
$("#ddl_cascAutocompleteIdColumn").append(reportColumnValue);
|
||||
jQuery("#ddl_cascAutocompleteIdColumn").val(result.ReportColumnValueId).trigger('change');
|
||||
var reportColumnApplyFor = new Option(result.ApplyFor, result.ApplyForId, true);
|
||||
$("#ddl_cascAutocompleteApplyFor").append(reportColumnApplyFor);
|
||||
jQuery("#ddl_cascAutocompleteApplyFor").val(result.ApplyForId).trigger('change');
|
||||
}
|
||||
}
|
||||
GetDocPropertyDetails() {
|
||||
let FormId = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormId;
|
||||
let CurDocPropertyId = Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId;
|
||||
var parentProperties = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertiesJson.filter(x => x.ControlName == "DropDown" || x.ControlName == "CascadingAutocomplete" || x.ControlName == "AutoComplete");
|
||||
var parentProps = [];
|
||||
for (let i = 0; i < parentProperties.length; i++) {
|
||||
parentProps.push({ id: parentProperties[i].UniqueId, text: parentProperties[i].FormPropertyName });
|
||||
}
|
||||
$("#ddlParentProperty").select2({
|
||||
placeholder: 'Select',
|
||||
data: parentProps,
|
||||
width: '100%',
|
||||
});
|
||||
var reportsurl = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_cascAutocompleteReport"), $("#hfddl_cascAutocompleteReport"), reportsurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
$("#ddl_cascAutocompleteReport").change(function () {
|
||||
var reportId = $("#ddl_cascAutocompleteReport").val();
|
||||
var reportcolumnsurl = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + Number(reportId);
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_cascAutocompleteTextColumn"), $("#hfddl_cascAutocompleteTextColumn"), reportcolumnsurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_cascAutocompleteIdColumn"), $("#hfddl_cascAutocompleteIdColumn"), reportcolumnsurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
AutoCompleteHelper.getHelper().Create($("#ddl_cascAutocompleteApplyFor"), $("#hfddl_cascAutocompleteApplyFor"), reportcolumnsurl, function (response) {
|
||||
var data = response;
|
||||
});
|
||||
});
|
||||
}
|
||||
SaveControlData(controldatajson) {
|
||||
var instance = this;
|
||||
var parentFormProp = Number($("#ddlParentProperty option:selected").val());
|
||||
var parentProp = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertiesJson.find(x => x.UniqueId == parentFormProp);
|
||||
var data = {
|
||||
CascadingId: 0,
|
||||
ControlId: Number(Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId),
|
||||
ReportId: Number($("#ddl_cascAutocompleteReport option:selected").val()),
|
||||
ReportName: $("#ddl_cascAutocompleteReport option:selected").text(),
|
||||
ReportColumnTextId: Number($("#ddl_cascAutocompleteTextColumn option:selected").val()),
|
||||
ReportColumnText: $("#ddl_cascAutocompleteTextColumn option:selected").text(),
|
||||
ReportColumnValueId: Number($("#ddl_cascAutocompleteIdColumn option:selected").val()),
|
||||
ReportColumnValue: $("#ddl_cascAutocompleteIdColumn option:selected").text(),
|
||||
ApplyForId: Number($("#ddl_cascAutocompleteApplyFor option:selected").val()),
|
||||
ApplyFor: $("#ddl_cascAutocompleteApplyFor option:selected").text(),
|
||||
ParentFormPropertyId: parentFormProp,
|
||||
ParentDocPropertyId: parentProp.DocPropertyId,
|
||||
};
|
||||
var ControlJsonText = JSON.stringify(data);
|
||||
return ControlJsonText;
|
||||
}
|
||||
static Instance() {
|
||||
if (this._instance === undefined)
|
||||
this._instance = new CascadingAutocomplete_Settings();
|
||||
return this._instance;
|
||||
}
|
||||
}
|
||||
Controls.CascadingAutocomplete_Settings = CascadingAutocomplete_Settings;
|
||||
})(Controls = Forms.Controls || (Forms.Controls = {}));
|
||||
})(Forms = Unibase.Forms || (Unibase.Forms = {}));
|
||||
})(Unibase || (Unibase = {}));
|
||||
+1
File diff suppressed because one or more lines are too long
Vendored
Executable
+1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user