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 = `
` + '
' + '' + '' + helpTextHtml + '
'; $("#" + 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 = {}));