Review paired list content layout ; ESC for unselection

This commit is contained in:
Claude Brisson
2024-01-18 06:57:34 +01:00
parent b261e56807
commit 897246c7a6
3 changed files with 61 additions and 27 deletions

View File

@@ -189,44 +189,56 @@ onLoad(() => {
// keyboard handling
document.on('keyup', e => {
let tab = document.location.hash;
switch (e.key) {
case 'Escape': {
if ($('#player').hasClass('shown') && $('#needle')[0].value) {
if (tab === '#registration') {
if ($('#player').hasClass('shown') && $('#needle')[0].value) {
$('#needle')[0].value = '';
initSearch();
} else {
close_modal();
} else {
close_modal();
}
} else if (tab === '#pairing') {
console.log('here')
$('#pairing-lists .selected.listitem').removeClass('selected');
}
break;
}
case 'ArrowDown': {
if (typeof(searchResultShown) === 'function' && searchResultShown()) {
let lines = $('.result-line');
if (typeof (searchHighlight) === 'undefined') searchHighlight = 0;
else ++searchHighlight;
searchHighlight = Math.min(searchHighlight, lines.length - 1);
lines.removeClass('highlighted');
lines[searchHighlight].addClass('highlighted');
if (tab === '#registration') {
if (typeof(searchResultShown) === 'function' && searchResultShown()) {
let lines = $('.result-line');
if (typeof (searchHighlight) === 'undefined') searchHighlight = 0;
else ++searchHighlight;
searchHighlight = Math.min(searchHighlight, lines.length - 1);
lines.removeClass('highlighted');
lines[searchHighlight].addClass('highlighted');
}
}
break;
}
case 'ArrowUp': {
if (typeof(searchResultShown) === 'function' && searchResultShown()) {
let lines = $('.result-line');
if (typeof (searchHighlight) === 'undefined') searchHighlight = 0;
else --searchHighlight;
searchHighlight = Math.max(searchHighlight, 0);
lines.removeClass('highlighted');
lines[searchHighlight].addClass('highlighted');
if (tab === '#registration') {
if (typeof(searchResultShown) === 'function' && searchResultShown()) {
let lines = $('.result-line');
if (typeof (searchHighlight) === 'undefined') searchHighlight = 0;
else --searchHighlight;
searchHighlight = Math.max(searchHighlight, 0);
lines.removeClass('highlighted');
lines[searchHighlight].addClass('highlighted');
}
}
break;
}
case 'Enter': {
if (typeof(searchResultShown) === 'function') {
if (searchResultShown()) {
fillPlayer(searchResult[searchHighlight]);
} else {
$('#register')[0].click();
if (tab === '#registration') {
if (typeof(searchResultShown) === 'function') {
if (searchResultShown()) {
fillPlayer(searchResult[searchHighlight]);
} else {
$('#register')[0].click();
}
}
}
break;