Skip to content

Commit a638673

Browse files
authored
docs: fix search bar focus on Esc (#16700)
* fix: search bar focus on `Esc` * chore: remove new line
1 parent f62b722 commit a638673

1 file changed

Lines changed: 14 additions & 11 deletions

File tree

docs/src/assets/js/search.js

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -136,33 +136,33 @@ const debouncedFetchSearchResults = debounce((query) => {
136136
//-----------------------------------------------------------------------------
137137

138138
// listen for input changes
139-
if(searchInput)
139+
if (searchInput)
140140
searchInput.addEventListener('keyup', function (e) {
141141
const query = searchInput.value;
142142

143-
if(query === searchQuery) return;
143+
if (query === searchQuery) return;
144144

145-
if(query.length) searchClearBtn.removeAttribute('hidden');
145+
if (query.length) searchClearBtn.removeAttribute('hidden');
146146
else searchClearBtn.setAttribute('hidden', '');
147147

148148
if (query.length > 2) {
149149

150150
debouncedFetchSearchResults(query);
151151

152-
document.addEventListener('click', function(e) {
153-
if(e.target !== resultsElement) clearSearchResults();
152+
document.addEventListener('click', function (e) {
153+
if (e.target !== resultsElement) clearSearchResults();
154154
});
155155
} else {
156156
clearSearchResults();
157157
}
158158

159-
searchQuery = query
159+
searchQuery = query
160160

161161
});
162162

163163

164-
if(searchClearBtn)
165-
searchClearBtn.addEventListener('click', function(e) {
164+
if (searchClearBtn)
165+
searchClearBtn.addEventListener('click', function (e) {
166166
searchInput.value = '';
167167
searchInput.focus();
168168
clearSearchResults();
@@ -171,10 +171,14 @@ if(searchClearBtn)
171171

172172
document.addEventListener('keydown', function (e) {
173173

174+
const searchResults = Array.from(document.querySelectorAll('.search-results__item'));
175+
174176
if (e.key === 'Escape') {
175177
e.preventDefault();
176-
clearSearchResults();
177-
searchInput.focus();
178+
if (searchResults.length) {
179+
clearSearchResults();
180+
searchInput.focus();
181+
}
178182
}
179183

180184
if ((e.metaKey || e.ctrlKey) && e.key === 'k') {
@@ -183,7 +187,6 @@ document.addEventListener('keydown', function (e) {
183187
document.querySelector('.search').scrollIntoView({ behavior: "smooth", block: "start" });
184188
}
185189

186-
const searchResults = Array.from(document.querySelectorAll('.search-results__item'));
187190
if (!searchResults.length) return;
188191

189192
switch (e.key) {

0 commit comments

Comments
 (0)