Release 2.21.6: prevent duplicate list searches
This commit is contained in:
1 parent
9e988c307e
commit
675483624b
7 files changed
+66
-10
No files matched your search
@@ -191,6 +191,7 @@
|
||||
var container = input.closest('[data-table-search-container]') || input.closest('.card') || null;
|
||||
|
||||
input.value = String(currentUrl.searchParams.get(searchParam) || '').trim();
|
||||
var lastSearchValue = input.value;
|
||||
if (container) {
|
||||
container._cancelTableSearch = function () {
|
||||
window.clearTimeout(pendingSearchTimer);
|
||||
@@ -220,6 +221,11 @@
|
||||
|
||||
function updateSearch() {
|
||||
var query = String(input.value || '').trim();
|
||||
lastSearchValue = query;
|
||||
if (pendingSearchTimer) {
|
||||
window.clearTimeout(pendingSearchTimer);
|
||||
pendingSearchTimer = null;
|
||||
}
|
||||
var nextUrl = new URL(window.location.href);
|
||||
|
||||
if (query) {
|
||||
@@ -233,6 +239,7 @@
|
||||
}
|
||||
|
||||
function scheduleSearchUpdate() {
|
||||
lastSearchValue = String(input.value || '').trim();
|
||||
if (container) {
|
||||
container._tableRequestSequence = (container._tableRequestSequence || 0) + 1;
|
||||
}
|
||||
@@ -247,7 +254,18 @@
|
||||
|
||||
input.addEventListener('input', scheduleSearchUpdate);
|
||||
input.addEventListener('search', scheduleSearchUpdate);
|
||||
input.addEventListener('change', updateSearch);
|
||||
input.addEventListener('change', function () {
|
||||
var query = String(input.value || '').trim();
|
||||
if (query === lastSearchValue) {
|
||||
if (pendingSearchTimer) {
|
||||
window.clearTimeout(pendingSearchTimer);
|
||||
pendingSearchTimer = null;
|
||||
updateSearch();
|
||||
}
|
||||
return;
|
||||
}
|
||||
updateSearch();
|
||||
});
|
||||
input.addEventListener('keydown', function (event) {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault();
|
||||
|
||||
Reference in new issue
Block a user