diff options
| author | Alexandre Flament <alex@al-f.net> | 2021-10-28 08:50:55 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-28 08:50:55 +0200 |
| commit | 8985d3e6ef3c1371b21bee69074f0e38acae9967 (patch) | |
| tree | 0dd6787e3b6176345e681c02746177e626f0ac19 /searx/static/themes/simple/src/js/main/searx_keyboard.js | |
| parent | 2624034cd6f417b52ed3f9f3f5226720fa0b53a1 (diff) | |
| parent | a93bd191012add3adb670ecbc6e4119feb59ab02 (diff) | |
Merge pull request #376 from dalf/simple-image-detail
Simple theme: image detail
Diffstat (limited to 'searx/static/themes/simple/src/js/main/searx_keyboard.js')
| -rw-r--r-- | searx/static/themes/simple/src/js/main/searx_keyboard.js | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/searx/static/themes/simple/src/js/main/searx_keyboard.js b/searx/static/themes/simple/src/js/main/searx_keyboard.js index c00a1a45e..394f97730 100644 --- a/searx/static/themes/simple/src/js/main/searx_keyboard.js +++ b/searx/static/themes/simple/src/js/main/searx_keyboard.js @@ -4,7 +4,7 @@ searxng.ready(function() { searxng.on('.result', 'click', function() { - highlightResult(this)(true); + highlightResult(this)(true); }); searxng.on('.result a', 'focus', function(e) { @@ -124,9 +124,7 @@ searxng.ready(function() { if (Object.prototype.hasOwnProperty.call(vimKeys, e.keyCode) && !e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey) { var tagName = e.target.tagName.toLowerCase(); if (e.keyCode === 27) { - if (tagName === 'input' || tagName === 'select' || tagName === 'textarea') { - vimKeys[e.keyCode].fun(); - } + vimKeys[e.keyCode].fun(e); } else { if (e.target === document.body || tagName === 'a' || tagName === 'button') { e.preventDefault(); @@ -213,9 +211,12 @@ searxng.ready(function() { document.location.reload(true); } - function removeFocus() { - if (document.activeElement) { + function removeFocus(e) { + const tagName = e.target.tagName.toLowerCase(); + if (document.activeElement && (tagName === 'input' || tagName === 'select' || tagName === 'textarea')) { document.activeElement.blur(); + } else { + searxng.closeDetail(); } } @@ -285,6 +286,9 @@ searxng.ready(function() { function openResult(newTab) { return function() { var link = document.querySelector('.result[data-vim-selected] h3 a'); + if (link === null) { + link = document.querySelector('.result[data-vim-selected] > a'); + } if (link !== null) { var url = link.getAttribute('href'); if (newTab) { @@ -368,4 +372,8 @@ searxng.ready(function() { return; } } + + searxng.scrollPageToSelected = scrollPageToSelected; + searxng.selectNext = highlightResult('down'); + searxng.selectPrevious = highlightResult('up'); }); |