Compare commits

...

1 Commits

Author SHA1 Message Date
Barret Schloerke
e73e3c10f9 Debug code to see what is going on inside selectInput. Trying to set a value contained on server 2022-09-20 13:54:27 -04:00
5 changed files with 52 additions and 16 deletions

View File

@@ -6715,12 +6715,28 @@
value: function setValue(el, value) {
if (!isSelectize(el)) {
(0, import_jquery16.default)(el).val(value);
} else {
var selectize = this._selectize(el);
if (selectize) {
selectize.setValue(value);
}
return;
}
var selectize = this._selectize(el);
if (!selectize)
return;
if (!selectize.settings.load) {
selectize.setValue(value);
return;
}
window.console.log("Querying server side value:", value);
var callbackFn = function callbackFn2(res) {
if (!res)
return;
window.console.log("Received server side value:", res);
if (hasOwnProperty(res, "value")) {
selectize.setValue(res.value);
} else if (selectize.settings.maxItems === 1) {
selectize.setValue(res[0].value);
}
};
selectize.clearOptions();
selectize.settings.load.apply(selectize, ["", callbackFn]);
}
}, {
key: "getState",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -64,13 +64,33 @@ class SelectInputBinding extends InputBinding {
setValue(el: SelectHTMLElement, value: string): void {
if (!isSelectize(el)) {
$(el).val(value);
} else {
const selectize = this._selectize(el);
if (selectize) {
selectize.setValue(value);
}
return;
}
const selectize = this._selectize(el);
if (!selectize) return;
if (!selectize.settings.load) {
selectize.setValue(value);
return;
}
window.console.log("Querying server side value:", value);
const callbackFn = (res) => {
if (!res) return;
window.console.log("Received server side value:", res);
if (hasOwnProperty(res, "value")) {
selectize.setValue(res.value);
} else if (selectize.settings.maxItems === 1) {
// first item selected by default only for single-select
selectize.setValue(res[0].value);
}
};
// Server side filtering
selectize.clearOptions();
selectize.settings.load.apply(selectize, ["", callbackFn]);
}
getState(el: SelectHTMLElement): {
label: JQuery<HTMLElement>;