|
16 | 16 | @mouseenter="searchActive = true" |
17 | 17 | /> |
18 | 18 | <input |
19 | | - class="quickAccessInput" |
| 19 | + class="quickAccessInput browser-default" |
20 | 20 | @keydown="onKeypress($event)" |
21 | 21 | @focus="searchActive = true" |
22 | 22 | v-model="searchTerm" |
23 | 23 | type="text" |
24 | | - tabindex="2" |
| 24 | + tabindex="5" |
25 | 25 | v-focus-if="{ focused: searchActive }" |
26 | 26 | v-tooltips |
27 | 27 | :title="quickAccessTitle" |
@@ -107,6 +107,7 @@ import Site from '../SiteSelector/Site'; |
107 | 107 | import Matomo from '../Matomo/Matomo'; |
108 | 108 | import debounce from '../debounce'; |
109 | 109 | import Tooltips from '../Tooltips/Tooltips'; |
| 110 | +import { closeMobileLeftMenu, openMobileLeftMenu } from '../SideNav/SideNav'; |
110 | 111 |
|
111 | 112 | const { ListingFormatter } = window; |
112 | 113 |
|
@@ -157,6 +158,7 @@ function scrollFirstElementIntoView(element: HTMLElement) { |
157 | 158 | } |
158 | 159 |
|
159 | 160 | export default defineComponent({ |
| 161 | + name: 'QuickAccess', |
160 | 162 | directives: { |
161 | 163 | FocusAnywhereButHere, |
162 | 164 | FocusIf, |
@@ -191,6 +193,11 @@ export default defineComponent({ |
191 | 193 | } |
192 | 194 |
|
193 | 195 | event.preventDefault(); |
| 196 | + const mobileMenuTrigger = document.querySelector('nav .activateLeftMenu'); |
| 197 | +
|
| 198 | + if (mobileMenuTrigger && window.$(mobileMenuTrigger).is(':visible')) { |
| 199 | + openMobileLeftMenu(); |
| 200 | + } |
194 | 201 |
|
195 | 202 | scrollFirstElementIntoView(this.$refs.root as HTMLElement); |
196 | 203 |
|
@@ -257,6 +264,8 @@ export default defineComponent({ |
257 | 264 | this.deactivateSearch(); |
258 | 265 | } else if (isEscKey && areSearchResultsDisplayed) { |
259 | 266 | this.deactivateSearch(); |
| 267 | + } else if (isTabKey) { |
| 268 | + this.searchActive = false; |
260 | 269 | } else { |
261 | 270 | setTimeout(() => { |
262 | 271 | this.searchActive = true; |
@@ -381,12 +390,15 @@ export default defineComponent({ |
381 | 390 | this.makeSureSelectedItemIsInViewport(); |
382 | 391 | }, |
383 | 392 | selectSite(idSite: string|number) { |
| 393 | + this.deactivateSearch(); |
| 394 | + closeMobileLeftMenu(); |
384 | 395 | SitesStore.loadSite(idSite); |
385 | 396 | }, |
386 | 397 | selectMenuItem(index: number) { |
387 | 398 | const target: HTMLElement|null = document.querySelector(`[quick_access='${index}']`); |
388 | 399 | if (target) { |
389 | 400 | this.deactivateSearch(); |
| 401 | + closeMobileLeftMenu(); |
390 | 402 |
|
391 | 403 | const href = target.getAttribute('href'); |
392 | 404 | if (href && href.length > 10 && target && target.click) { |
|
0 commit comments