var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Unibase; (function (Unibase) { let Forms; (function (Forms) { let Controls; (function (Controls) { class Dropdown extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.loadCascading = true; } init(formpropertyid, prop, callback) { var instance = new Dropdown(); instance.loadControlSettings(prop, prop.UniqueId).then(function () { if (callback != null) callback(); }); $('#ddl_' + prop.DocPropertyName + '').focusin(function () { $('#ddl_' + prop.DocPropertyName + '').attr('style', 'border:solid 2px rgb(0, 165, 230);border-radius:5px;border-shadow: 3px 3px 3px 3px;'); }); $('#ddl_' + prop.DocPropertyName + '').focusout(function () { $('#ddl_' + prop.DocPropertyName + '').attr('style', 'none'); }); } loadControl(containerid, prop) { var instance = this; var jsfiles = ["platform/controls/cascadingautocomplete/cascadingautocomplete.component.js", "platform/controls/cascadingautocomplete/cascadingautocomplete.settings.js"]; var Isrequired = prop.IsRequired != true ? 'hidden' : ''; var required = prop.IsRequired != true ? '' : 'required'; var CurrentStageId = ''; if (prop.IncludedStages != null && prop.IncludedStages != "") { var StagesForRequired = prop.IncludedStages.split('|'); Isrequired = StagesForRequired.find(x => x == CurrentStageId) ? '' : 'hidden'; required = StagesForRequired.find(x => x == CurrentStageId) ? 'required' : ''; } var dropdownJson = JSON.parse(prop.ControlJsonText); const { helpTooltipHtml, helpTextHtml } = Unibase.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(prop); var html = '
' + '' + '' + helpTextHtml + '
'; $("#" + containerid).html(html); $("#" + containerid).find("#ddl_" + prop.UniqueId).on('change', function () { instance.fileCacheHelper.loadJsFiles(jsfiles, function () { if (instance.loadCascading) { Unibase.Forms.Controls.CascadingAutocomplete.Instance().ChildCascadingData(false, prop.FormPropertyId, 0, 0, ''); } instance.loadCascading = true; }); }); } loadControlSettings(controlsettingjson, formpropertyid) { return __awaiter(this, void 0, void 0, function* () { if (controlsettingjson != "" && controlsettingjson != null && controlsettingjson != undefined) { var container = "control-container-" + formpropertyid; var response = JSON.parse(controlsettingjson.ControlJsonText); if (response != null) { if ((response.length == 1) && (response[0].ReportId != 0)) { yield Unibase.Platform.Forms.Managers.FormManager.Instance().dynamicDropDown(response[0].DropDownColumnId).then(function (res) { var drpDwnData = []; let result = res.result; for (let i = 0; i < result.length; i++) { var drpDwn = result[i]; drpDwnData.push({ id: drpDwn.ColumnText, text: drpDwn.ColumnValue }); } $('#' + container).find("#ddl_" + formpropertyid).select2({ placeholder: 'Select', theme: "default select2ErrorClass", data: drpDwnData, width: '100%', }); }); } else { $('#' + container).find("#ddl_" + controlsettingjson.DocPropertyName).find('option').remove(); var data = ''; for (var i = 0; i < response.length; i++) { var columnvalue = controlsettingjson.datatypeid == 3 ? response[i].ColumnNumber : response[i].ColumnValue; if (response[i].IsParent == true) { $('#' + container).find("#ddl_" + controlsettingjson.DocPropertyName).data("isparent", response[i].IsParent); } data += ''; } $('#' + container).find("#ddl_" + formpropertyid).append(data); } } } }); } loadPropertySettings(propertysettings, formpropertyid) { return null; } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { var instance = this; instance.loadCascading = false; $("#ddl_" + formpropertyid).val(propval).trigger('change'); } static Instance() { if (this._instance === undefined) this._instance = new Dropdown(); return this._instance; } } Controls.Dropdown = Dropdown; })(Controls = Forms.Controls || (Forms.Controls = {})); })(Forms = Unibase.Forms || (Unibase.Forms = {})); })(Unibase || (Unibase = {}));