From 07a1afd589074f21927479d7007c8287caa3996b Mon Sep 17 00:00:00 2001 From: Benoit BAZARD Date: Sun, 21 Aug 2022 11:21:58 +0200 Subject: [PATCH] fix: #2294 Focus find-in-folder search box; unfocus with ESC --- src/renderer/components/search/index.vue | 6 ++++++ src/renderer/components/sideBar/search.vue | 18 ++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/renderer/components/search/index.vue b/src/renderer/components/search/index.vue index c1be4678..289141d1 100644 --- a/src/renderer/components/search/index.vue +++ b/src/renderer/components/search/index.vue @@ -176,6 +176,7 @@ export default { bus.$on('findPrev', this.listenFindPrev) document.addEventListener('click', this.docClick) document.addEventListener('keyup', this.docKeyup) + bus.$on('search-blur', this.blurSearch) }, beforeDestroy () { @@ -185,6 +186,7 @@ export default { bus.$off('findPrev', this.listenFindPrev) document.removeEventListener('click', this.docClick) document.removeEventListener('keyup', this.docKeyup) + bus.$off('search-blur', this.blurSearch) }, methods: { @@ -228,6 +230,10 @@ export default { this.emptySearch(true) }, + blurSearch () { + this.emptySearch(true) + }, + emptySearch (selectHighlight = false) { this.showSearch = false const searchValue = this.searchValue = '' diff --git a/src/renderer/components/sideBar/search.vue b/src/renderer/components/sideBar/search.vue index 24d2a035..4a820906 100644 --- a/src/renderer/components/sideBar/search.vue +++ b/src/renderer/components/sideBar/search.vue @@ -7,6 +7,7 @@ type="text" v-model="keyword" placeholder="Search in folder..." @keyup="search" + ref="search" >
{ - this.keyword = this.searchMatches.value + this.handleFindInFolder() bus.$on('findInFolder', this.handleFindInFolder) if (this.keyword.length > 0 && this.searcherRunning === false) { this.searcherRunning = true @@ -316,8 +321,13 @@ export default { openFolder () { this.$store.dispatch('ASK_FOR_OPEN_PROJECT') }, - handleFindInFolder () { + handleFindInFolder (focus = true) { this.keyword = this.searchMatches.value + if (focus) { + this.$nextTick(() => { + this.$refs.search.focus() + }) + } } }, destroyed () {