Improve entry search with a debouncer

Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
This commit is contained in:
Yohann D'ANELLO 2021-10-04 14:39:53 +02:00
parent df3bb71357
commit 9628560d64
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
2 changed files with 10 additions and 5 deletions

View File

@ -63,7 +63,12 @@ SPDX-License-Identifier: GPL-3.0-or-later
refreshBalance();
}
alias_obj.keyup(reloadTable);
alias_obj.keyup(function(event) {
let code = event.originalEvent.keyCode
if (65 <= code <= 122 || code === 13) {
debounce(reloadTable)()
}
});
$(document).ready(init);

View File

@ -381,11 +381,11 @@ function de_validate (id, validated, resourcetype) {
* @param callback Function to call
* @param wait Debounced milliseconds
*/
function debounce (callback, wait) {
let timeout
let debounce_timeout
function debounce (callback, wait=500) {
return (...args) => {
const context = this
clearTimeout(timeout)
timeout = setTimeout(() => callback.apply(context, args), wait)
clearTimeout(debounce_timeout)
debounce_timeout = setTimeout(() => callback.apply(context, args), wait)
}
}