123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- 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 = {}));
|