Update Tom Select files from VENDORS.md

This commit is contained in:
github-actions[bot] 2026-04-20 20:07:56 +00:00
parent 5977a8feb4
commit a1888e60f7
2 changed files with 15 additions and 14 deletions

View file

@ -1,5 +1,5 @@
/** /**
* Tom Select v2.5.2 * Tom Select v2.6.0
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
*/ */
@ -1725,6 +1725,7 @@
this.isFocused = false; this.isFocused = false;
this.isInputHidden = false; this.isInputHidden = false;
this.isSetup = false; this.isSetup = false;
this.isDropdownContentStale = true;
this.ignoreFocus = false; this.ignoreFocus = false;
this.ignoreHover = false; this.ignoreHover = false;
this.hasOptions = false; this.hasOptions = false;
@ -2138,8 +2139,6 @@
}) : self.settings; }) : self.settings;
self.setupOptions(settings.options, settings.optgroups); self.setupOptions(settings.options, settings.optgroups);
self.setValue(settings.items || [], true); // silent prevents recursion self.setValue(settings.items || [], true); // silent prevents recursion
self.lastQuery = null; // so updated options will be displayed in dropdown
} }
/** /**
@ -2452,7 +2451,7 @@
} else { } else {
value = option.dataset.value; value = option.dataset.value;
if (typeof value !== 'undefined') { if (typeof value !== 'undefined') {
self.lastQuery = null; self.isDropdownContentStale = self.settings.hideSelected;
self.addItem(value); self.addItem(value);
if (self.settings.closeAfterSelect) { if (self.settings.closeAfterSelect) {
self.close(); self.close();
@ -2534,7 +2533,7 @@
loadCallback(options, optgroups) { loadCallback(options, optgroups) {
const self = this; const self = this;
self.loading = Math.max(self.loading - 1, 0); self.loading = Math.max(self.loading - 1, 0);
self.lastQuery = null; self.isDropdownContentStale = true;
self.clearActiveOption(); // when new results load, focus should be on first option self.clearActiveOption(); // when new results load, focus should be on first option
self.setupOptions(options, optgroups); self.setupOptions(options, optgroups);
self.refreshOptions(self.isFocused && !self.isInputHidden); self.refreshOptions(self.isFocused && !self.isInputHidden);
@ -2887,7 +2886,7 @@
} }
// perform search // perform search
if (query !== self.lastQuery) { if (self.isDropdownContentStale || query !== self.lastQuery) {
self.lastQuery = query; self.lastQuery = query;
// temp fix for https://github.com/orchidjs/tom-select/issues/987 // temp fix for https://github.com/orchidjs/tom-select/issues/987
// UI crashed when more than 30 same chars in a row, prevent search and return empt result // UI crashed when more than 30 same chars in a row, prevent search and return empt result
@ -3053,6 +3052,7 @@
}); });
dropdown_content.innerHTML = ''; dropdown_content.innerHTML = '';
append(dropdown_content, html); append(dropdown_content, html);
self.isDropdownContentStale = false;
// highlight matching terms inline // highlight matching terms inline
if (self.settings.highlight) { if (self.settings.highlight) {
@ -3155,12 +3155,13 @@
} }
const key = hash_key(data[self.settings.valueField]); const key = hash_key(data[self.settings.valueField]);
if (key === null || self.options.hasOwnProperty(key)) { if (key === null || self.options.hasOwnProperty(key)) {
self.updateOption(data[self.settings.valueField], data);
return false; return false;
} }
data.$order = data.$order || ++self.order; data.$order = data.$order || ++self.order;
data.$id = self.inputId + '-opt-' + data.$order; data.$id = self.inputId + '-opt-' + data.$order;
self.options[key] = data; self.options[key] = data;
self.lastQuery = null; self.isDropdownContentStale = true;
if (user_created) { if (user_created) {
self.userOptions[key] = user_created; self.userOptions[key] = user_created;
self.trigger('option_add', key, data); self.trigger('option_add', key, data);
@ -3283,8 +3284,8 @@
replaceNode(item, item_new); replaceNode(item, item_new);
} }
// invalidate last query because we might have updated the sortField // we might have updated the sortField
self.lastQuery = null; self.isDropdownContentStale = true;
} }
/** /**
@ -3297,7 +3298,7 @@
self.uncacheValue(value); self.uncacheValue(value);
delete self.userOptions[value]; delete self.userOptions[value];
delete self.options[value]; delete self.options[value];
self.lastQuery = null; self.isDropdownContentStale = true;
self.trigger('option_remove', value); self.trigger('option_remove', value);
self.removeItem(value, silent); self.removeItem(value, silent);
} }
@ -3317,7 +3318,7 @@
} }
}); });
this.options = this.sifter.items = selected; this.options = this.sifter.items = selected;
this.lastQuery = null; this.isDropdownContentStale = true;
this.trigger('option_clear'); this.trigger('option_clear');
} }
@ -3501,7 +3502,7 @@
removeClasses(item, 'active'); removeClasses(item, 'active');
} }
self.items.splice(i, 1); self.items.splice(i, 1);
self.lastQuery = null; self.isDropdownContentStale = true;
if (!self.settings.persist && self.userOptions.hasOwnProperty(value)) { if (!self.settings.persist && self.userOptions.hasOwnProperty(value)) {
self.removeOption(value, silent); self.removeOption(value, silent);
} }
@ -3582,7 +3583,7 @@
*/ */
refreshItems() { refreshItems() {
var self = this; var self = this;
self.lastQuery = null; self.isDropdownContentStale = true;
if (self.isSetup) { if (self.isSetup) {
self.addItems(self.items); self.addItems(self.items);
} }

File diff suppressed because one or more lines are too long