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 select2 { constructor() { this.Ids = []; this.data = []; } init(formpropertyid, prop, callback) { var container = $(".select2_" + prop.FormPropertyId); Unibase.Forms.Controls.select2.Instance().loadControlSettings(container, null).then(function () { if (callback != null) callback(); }); $(".select2_" + prop.FormPropertyId).on('select2:select', function (e) { var ids = $(".select2_" + prop.FormPropertyId).val().toString().replace(/,/g, '|'); $("#hdnselect2_" + prop.FormPropertyId).val(ids); }); $(".select2_" + prop.FormPropertyId).on('select2:unselect', function (e) { $("#hdnselect2_" + prop.FormPropertyId).val(0); var ids = $(".select2_" + prop.FormPropertyId).val().toString().replace(/,/g, '|'); $("#hdnselect2_" + prop.FormPropertyId).val(ids); }); } loadControl(containerid, prop) { Unibase.Forms.Controls.select2.Instance().data = []; Unibase.Forms.Controls.select2.Instance().Ids = []; var Isrequired = prop.IsRequired != true ? 'hidden' : ''; var required = prop.IsRequired != true ? '' : 'required'; 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' : ''; } var IsTagSelect = false; if (prop.ControlJsonText != "" && prop.ControlJsonText != null && prop.ControlJsonText != undefined) { var text = JSON.parse(prop.ControlJsonText); if (text["IsTagSelect"] == true) { IsTagSelect = true; } } const { helpTooltipHtml, helpTextHtml } = Unibase.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(prop); var html = '
' + '' + '' + helpTextHtml + '
'; $("#" + containerid).html(html); } loadControlSettings(Container, Parameters) { return __awaiter(this, void 0, void 0, function* () { var ColumnName = "0"; var Value = "0"; var DocPropertyId = Container.data('propertyid'); var DocPropertyName = Container.data('propertyname'); var FormPropertyId = Container.data('formpropertyid'); if (Parameters != null && Parameters != "") { ColumnName = Parameters.map(function (item) { return item.ColumnName; }).toString(); Value = Parameters.map(function (item) { return item.Value + "|"; }).toString(); } var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser(); var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/select2post'; var data = select2.instance.data.find(x => x.formpropertyid == FormPropertyId); $(".select2_" + FormPropertyId).select2({ multiple: true, allowClear: false, data: select2.instance.data, placeholder: 'Select', ajax: { url: function (request) { var reqUrl = url; return reqUrl; }, contentType: 'application/json', type: "POST", delay: 250, data: function (params) { var query = { term: params.term, DocPropertyId: DocPropertyId, ColumnName: ColumnName, FormPropertyId: FormPropertyId, Value: Value, bindedData: "", authToken: userinfo.sessionId, SelectedIds: $(".select2_" + FormPropertyId).val().toString().replace(/,/g, '|'), }; return JSON.stringify(query); }, beforeSend: function (xhr) { if (userinfo !== undefined && userinfo !== null) { xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId); xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId); } }, processResults: function (data, params) { return { results: jQuery.map(JSON.parse(data.result), function (item) { return { id: item.Value, text: item.DisplayText }; }) }; } }, templateResult: function (item) { return item.text; }, templateSelection: function (item) { return item.text; }, }).on('select2:select', function () { Unibase.Forms.Controls.select2.Instance().assigningDataText(FormPropertyId, this); }).on('select2:unselect', function () { Unibase.Forms.Controls.select2.Instance().assigningDataText(FormPropertyId, this); }); $(".select2_" + FormPropertyId).val(select2.instance.Ids).trigger('change'); var autocompleteid1 = $(".select2_" + DocPropertyName).attr('id'); if (autocompleteid1 != undefined) { var eventList = $.data($("#" + autocompleteid1)[0], "events"); if (eventList != undefined) { eventList.change.unshift(eventList.change.pop()); } } }); } assigningDataText(FormPropertyId, instance) { let selectedValues = ''; let length = $(instance).select2('data').length; $(instance).select2('data').forEach(function (obj, i) { if (i == length - 1) { selectedValues = selectedValues + obj.text; } else { selectedValues = selectedValues + obj.text + '|'; } }); $(`#hdnselect2_${FormPropertyId}`).attr('data-text', selectedValues); } loadControlSettings_delete(Container, Parameters) { return __awaiter(this, void 0, void 0, function* () { var ColumnName = "0"; var Value = "0"; var DocPropertyId = Container.data('propertyid'); var DocPropertyName = Container.data('propertyname'); var FormPropertyId = Container.data('formpropertyid'); if (Parameters != null && Parameters != "") { ColumnName = Parameters.map(function (item) { return item.ColumnName; }).toString(); Value = Parameters.map(function (item) { return item.Value + "|"; }).toString(); } var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser(); var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/autocomplete/docpropertyid/' + DocPropertyId + '/columnname/' + ColumnName + '/value/' + Value + '/formpropertyid/' + FormPropertyId + '/formid/0'; url = url + "/term/"; url = url.replace('#', ''); var data = select2.instance.data.find(x => x.formpropertyid == FormPropertyId); $(".select2_" + FormPropertyId).select2({ multiple: true, allowClear: false, data: select2.instance.data, placeholder: 'Select', ajax: { url: function (request) { var reqUrl = url; var term = request.term; if (term == undefined || term == "") reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId; else reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId; return reqUrl; }, beforeSend: function (xhr) { if (userinfo !== undefined && userinfo !== null) { xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId); xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId); } }, delay: 250, dataType: 'json', processResults: function (data) { var selectData = []; var Data = JSON.parse(data.result); for (var i = 0; i < Data.length; i++) { selectData.push({ id: Data[i].Value, text: Data[i].DisplayText }); } ; return { results: selectData }; } }, templateResult: function (item) { return item.text; }, templateSelection: function (item) { return item.text; }, }); $(".select2_" + FormPropertyId).val(select2.instance.Ids).trigger('change'); var autocompleteid1 = $(".select2_" + DocPropertyName).attr('id'); if (autocompleteid1 != undefined) { var eventList = $.data($("#" + autocompleteid1)[0], "events"); if (eventList != undefined) { eventList.change.unshift(eventList.change.pop()); } } }); } loadPropertySettings(propertysettings, formpropertyid) { throw new Error("Method not implemented."); } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { return __awaiter(this, void 0, void 0, function* () { if (propval != null || propval != "" || propval != undefined) { var selectedvalues = JSON.parse(propval); if (selectedvalues != 0) { $("#hdnselect2_" + formpropertyid).val(selectedvalues[selectedvalues.length - 1]); for (var i = 0; i < selectedvalues.length; i++) { var data = selectedvalues[i]; if ((data.id != undefined && data.text != undefined) && (data.id != "" && data.text != "")) { select2.instance.Ids.push(data.id); var newOption = new Option(data.text, data.id, true, true); $(".select2_" + formpropertyid).append(newOption).trigger('change'); } } } } }); } static Instance() { if (this.instance === undefined) { this.instance = new select2(); } return this.instance; } } Controls.select2 = select2; })(Controls = Forms.Controls || (Forms.Controls = {})); })(Forms = Unibase.Forms || (Unibase.Forms = {})); })(Unibase || (Unibase = {}));