From 9ab64bfa445689185605aa26f6fd0dda54092331 Mon Sep 17 00:00:00 2001 From: muwoo <2424880409@qq.com> Date: Sun, 4 Jul 2021 13:54:22 +0800 Subject: [PATCH] =?UTF-8?q?ref:=20=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E6=94=AF=E6=8C=81=E6=96=B9=E5=90=91?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=90=9C=E7=B4=A2=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?enter=E5=9B=9E=E8=BD=A6=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/App.vue | 42 ++++++++++++++++++++++++++-- src/renderer/pages/plugins/index.vue | 5 ---- src/renderer/store/modules/main.js | 4 +-- 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/src/renderer/App.vue b/src/renderer/App.vue index 09f51f9..2bbdbd3 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -19,6 +19,10 @@ @change="e => search({value: e.target.value})" :value="searchValue" :maxLength="selected && selected.key !== 'plugin-container' ? 0 : 1000" + @keydown.down="(e) => changeCurrent(1)" + @keydown.up="() => changeCurrent(-1)" + @keypress.enter="(e) => targetSearch({value: e.target.value, type: 'enter'})" + @keypress.space="(e) => targetSearch({value: e.target.value, type: 'space'})" >
@@ -29,7 +33,12 @@
- + @@ -51,8 +60,10 @@
@@ -68,7 +79,7 @@ import {mapActions, mapMutations, mapState} from "vuex"; import {ipcRenderer, remote} from "electron"; import {getWindowHeight, debounce} from "./assets/common/utils"; - +const opConfig = remote.getGlobal('opConfig'); const {Menu, MenuItem} = remote; export default { @@ -77,6 +88,8 @@ export default { searchType: this.$route.query.searchType ? 'subWindow' : '', query: this.$route.query, searchFn: null, + config: opConfig.get(), + currentSelect: 0, } }, mounted() { @@ -104,6 +117,26 @@ export default { } this.searchFn(v); }, + targetSearch(action) { + // 在插件界面唤起搜索功能 + if((this.selected && this.selected.key === 'plugin-container') || this.searchType === 'subWindow') { + const webview = document.getElementById('webview'); + if (action.type === 'space') { + if (this.config.perf.common.space) { + webview.send('msg-back-setSubInput', this.searchValue); + } + return; + } + webview.send('msg-back-setSubInput', this.searchValue); + } else if (this.showOptions) { + const item = this.options[this.currentSelect] + item.click(this.$router); + } + }, + changeCurrent(index) { + this.currentSelect = this.currentSelect + index; + }, + renderTitle(title) { const result = title.split(this.searchValue); return `
${result[0]}${this.searchValue}${result[1]}
` @@ -242,6 +275,9 @@ export default { max-height: 500px; overflow: auto; background: #fafafa; + &.active { + background: #DEE2E8; + } } } } diff --git a/src/renderer/pages/plugins/index.vue b/src/renderer/pages/plugins/index.vue index 2d7b895..5438094 100644 --- a/src/renderer/pages/plugins/index.vue +++ b/src/renderer/pages/plugins/index.vue @@ -87,11 +87,6 @@ export default { pluginDetail() { return (this.devPlugins.filter(plugin => plugin.name === this.query.name)[0] || {}).features }, - }, - watch: { - searchValue() { - this.webview.send('msg-back-setSubInput', this.searchValue); - } } } diff --git a/src/renderer/store/modules/main.js b/src/renderer/store/modules/main.js index eb667f1..357e790 100644 --- a/src/renderer/store/modules/main.js +++ b/src/renderer/store/modules/main.js @@ -97,9 +97,9 @@ const actions = { return; } const value = paylpad.value; - // 在插件界面 + // 在插件界面不触发其他功能 if((state.selected && state.selected.key === 'plugin-container') || paylpad.searchType === 'subWindow') { - commit('commonUpdate', {searchValue: value}) + commit('commonUpdate', {searchValue: value}); return; } const fileUrl = clipboard.read('public.file-url').replace('file://', '');