From a638673ee6e94344c46d12dfc988adeb3783f817 Mon Sep 17 00:00:00 2001 From: Shanmughapriyan S Date: Sat, 24 Dec 2022 22:24:57 +0530 Subject: [PATCH] docs: fix search bar focus on `Esc` (#16700) * fix: search bar focus on `Esc` * chore: remove new line --- docs/src/assets/js/search.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/docs/src/assets/js/search.js b/docs/src/assets/js/search.js index 780e3dee107..6d8eaa7b1b2 100644 --- a/docs/src/assets/js/search.js +++ b/docs/src/assets/js/search.js @@ -136,33 +136,33 @@ const debouncedFetchSearchResults = debounce((query) => { //----------------------------------------------------------------------------- // listen for input changes -if(searchInput) +if (searchInput) searchInput.addEventListener('keyup', function (e) { const query = searchInput.value; - if(query === searchQuery) return; + if (query === searchQuery) return; - if(query.length) searchClearBtn.removeAttribute('hidden'); + if (query.length) searchClearBtn.removeAttribute('hidden'); else searchClearBtn.setAttribute('hidden', ''); if (query.length > 2) { debouncedFetchSearchResults(query); - document.addEventListener('click', function(e) { - if(e.target !== resultsElement) clearSearchResults(); + document.addEventListener('click', function (e) { + if (e.target !== resultsElement) clearSearchResults(); }); } else { clearSearchResults(); } - searchQuery = query + searchQuery = query }); -if(searchClearBtn) - searchClearBtn.addEventListener('click', function(e) { +if (searchClearBtn) + searchClearBtn.addEventListener('click', function (e) { searchInput.value = ''; searchInput.focus(); clearSearchResults(); @@ -171,10 +171,14 @@ if(searchClearBtn) document.addEventListener('keydown', function (e) { + const searchResults = Array.from(document.querySelectorAll('.search-results__item')); + if (e.key === 'Escape') { e.preventDefault(); - clearSearchResults(); - searchInput.focus(); + if (searchResults.length) { + clearSearchResults(); + searchInput.focus(); + } } if ((e.metaKey || e.ctrlKey) && e.key === 'k') { @@ -183,7 +187,6 @@ document.addEventListener('keydown', function (e) { document.querySelector('.search').scrollIntoView({ behavior: "smooth", block: "start" }); } - const searchResults = Array.from(document.querySelectorAll('.search-results__item')); if (!searchResults.length) return; switch (e.key) {