Merge pull request #772 from micz/tom-select-update-v4.1.0
Tom Select 2.6.0
This commit is contained in:
commit
822953482d
2 changed files with 15 additions and 14 deletions
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
pages/_lib/tom-select.default.min.css
vendored
2
pages/_lib/tom-select.default.min.css
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue