diff --git a/ui/package-lock.json b/ui/package-lock.json index c9f90b6552a4..2b456b661b3b 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -8336,6 +8336,11 @@ "ndjson": "^1.4.0" } }, + "custom-event-polyfill": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz", + "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==" + }, "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", @@ -9329,6 +9334,11 @@ "integrity": "sha512-92JdgyRlcNDwuy75MjuFSb3clt6DGJ2IXSpg0MCjKd3JV9eSmuUAIyWiGAp/EtT0z2D4rqbYqThQLV90maH3Zw==", "dev": true }, + "element-matches": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/element-matches/-/element-matches-0.1.2.tgz", + "integrity": "sha512-yWh1otcs3OKUWDvu/IxyI36ZI3WNaRZlI0uG/DK6fu0pap0VYZ0J5pEGTk1zakme+hT0OKHwhlHc0N5TJhY6yQ==" + }, "elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", @@ -22675,6 +22685,15 @@ "integrity": "sha512-BuTSIeSjINNHNPs+BDF4COnjWvff27IfCBDxK6JPRqvm57lF8iK4B3+zcG8ud6BXfZdyuiDlxletbEDgg4/RFA==", "requires": {} }, + "vue3-shortkey": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/vue3-shortkey/-/vue3-shortkey-4.0.0.tgz", + "integrity": "sha512-pXb/K7aw3ViqzWL9jz/IL4wOk7M7FQ87ekYxk5J7uKTNEfOVBYtILGjvCBJD3/zEUipcLQJEg7TjE1xYnVYV/w==", + "requires": { + "custom-event-polyfill": "^1.0.7", + "element-matches": "^0.1.2" + } + }, "vuedraggable": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz", diff --git a/ui/package.json b/ui/package.json index 48f337500bda..f4266a869780 100644 --- a/ui/package.json +++ b/ui/package.json @@ -75,6 +75,7 @@ "vue-web-storage": "^6.1.0", "vue3-clipboard": "^1.0.0", "vue3-google-login": "^2.0.20", + "vue3-shortkey": "^4.0.0", "vuedraggable": "^4.0.3", "vuex": "^4.0.0-0" }, diff --git a/ui/src/main.js b/ui/src/main.js index 7441f8010865..2daa652aa07d 100644 --- a/ui/src/main.js +++ b/ui/src/main.js @@ -67,6 +67,7 @@ vueApp.use(extensionsUtilPlugin) vueApp.use(backupUtilPlugin) vueApp.use(extensions) vueApp.use(directives) +vueApp.use(require('vue3-shortkey'), { prevent: ['input', 'textarea'] }) const renderError = (err) => { console.error('Fatal error during app initialization: ', err) diff --git a/ui/src/views/AutogenView.vue b/ui/src/views/AutogenView.vue index e0583cd97a4e..3f9b8045fa6d 100644 --- a/ui/src/views/AutogenView.vue +++ b/ui/src/views/AutogenView.vue @@ -34,6 +34,8 @@ style="margin-bottom: 5px" shape="round" size="small" + v-shortkey="['r']" + @shortkey="fetchData({ irefresh: true })" @click="fetchData({ irefresh: true })" >