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