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 @@
- item.click($router)" class="op-item" slot="renderItem" slot-scope="item, index">
+ item.click($router)"
+ :class="currentSelect === index ? 'active op-item' : 'op-item'"
+ slot="renderItem"
+ slot-scope="item, index"
+ >
@@ -51,8 +60,10 @@
onSearch({value: e.target.value, searchType: $route.query.searchType})"
+ @change="(e) => search({value: e.target.value, searchType: $route.query.searchType})"
:value="searchValue"
+ @keypress.enter="(e) => targetSearch({value: e.target.value, type: 'enter'})"
+ @keypress.space="(e) => targetSearch({value: e.target.value, type: 'space'})"
>
@@ -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://', '');