Merge branch 'bugfix/autocomplete' into dev
Build Docker Image / Clean-Registry (push) Failing after 11m24s
Build Docker Image / Docker-Build (push) Failing after 16m57s

This commit is contained in:
2026-05-22 08:37:27 +02:00
+11 -13
View File
@@ -49,12 +49,16 @@
console.warn(`${candidate.display} selected, but onSelect not overridden!`) console.warn(`${candidate.display} selected, but onSelect not overridden!`)
} }
function disableDropdown(){
candidates = [];
selected = null;
}
async function ondblclick(evt){ async function ondblclick(evt){
const select = evt.target; const select = evt.target;
const idx = select.value; const idx = select.value;
candidate = candidates[idx]; candidate = candidates[idx];
candidates = []; disableDropdown();
selected = null;
onSelect(candidate); onSelect(candidate);
} }
@@ -64,8 +68,7 @@
} }
function onblur(ev){ function onblur(ev){
candidates = []; setTimeout(disableDropdown,400);
selected = null;
} }
async function onkeyup(ev){ async function onkeyup(ev){
@@ -88,22 +91,19 @@
ev.preventDefault(); ev.preventDefault();
if (selected != null && selected < candidates.length) { if (selected != null && selected < candidates.length) {
candidate = candidates[selected]; candidate = candidates[selected];
candidates = []; disableDropdown();
selected = null;
onSelect(candidate); onSelect(candidate);
return false; return false;
} }
if (ev.key == 'Enter') { if (ev.key == 'Enter') {
candidates = []; disableDropDown();
selected = null;
if (onCommit(candidate)) candidate = { display : '' }; if (onCommit(candidate)) candidate = { display : '' };
} }
return false; return false;
} }
if (ev.key == 'Escape'){ if (ev.key == 'Escape'){
ev.preventDefault(); ev.preventDefault();
candidates = []; disableDropdown();
selected = null;
return false; return false;
} }
@@ -115,10 +115,8 @@
function select(index){ function select(index){
candidate = candidates[index]; candidate = candidates[index];
selected = null; disableDropdown();
candidates = [];
onSelect(candidate); onSelect(candidate);
} }
function scrollTo(index){ function scrollTo(index){