Skip to content

Commit 59e987d

Browse files
committed
client: factor out focusFirstSidebarSearchResult
1 parent fc9e39f commit 59e987d

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/static/js/client/sidebar-search.js

+13-9
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ export function addPageListeners() {
357357
domEvent.preventDefault();
358358
}
359359

360-
if (domEvent.key === 'ArrowDown') handleDown: {
360+
if (domEvent.key === 'ArrowDown') {
361361
if (state.stoppedTypingTimeout) {
362362
clearTimeout(state.stoppedTypingTimeout);
363363
state.stoppedTypingTimeout = null;
@@ -368,13 +368,8 @@ export function addPageListeners() {
368368
}, settings.pressDownToFocusFirstResultLatency);
369369

370370
activateSidebarSearch(info.searchInput.value);
371-
372-
break handleDown;
373-
}
374-
375-
const elem = info.results.firstChild;
376-
if (elem?.classList.contains('wiki-search-result')) {
377-
elem.focus({focusVisible: true});
371+
} else {
372+
focusFirstSidebarSearchResult();
378373
}
379374
}
380375
});
@@ -504,7 +499,7 @@ async function activateSidebarSearch(query) {
504499
clearTimeout(state.focusFirstResultTimeout);
505500
state.focusFirstResultTimeout = null;
506501
if (!state.stoppedTypingTimeout) {
507-
info.results.firstChild?.focus();
502+
focusFirstSidebarSearchResult();
508503
}
509504
}
510505
}
@@ -866,6 +861,15 @@ function hideSidebarSearchResults() {
866861
cssProp(info.endSearchLine, 'display', 'none');
867862
}
868863

864+
function focusFirstSidebarSearchResult() {
865+
const elem = info.results.firstChild;
866+
if (!elem?.classList.contains('wiki-search-result')) {
867+
return;
868+
}
869+
870+
elem.focus({focusVisible: true});
871+
}
872+
869873
function saveSidebarSearchResultsScrollOffset() {
870874
const {session} = info;
871875

0 commit comments

Comments
 (0)