From 51f194b47d2d7e09d094ed38e21bea6f05f47ecb Mon Sep 17 00:00:00 2001 From: Igor Zinken Date: Tue, 11 Apr 2023 20:10:53 +0200 Subject: [PATCH] Allow closing of layer filter pane by pressing ESC key --- src/components/layer-filters/layer-filters.vue | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/components/layer-filters/layer-filters.vue b/src/components/layer-filters/layer-filters.vue index c280872..fb30a15 100644 --- a/src/components/layer-filters/layer-filters.vue +++ b/src/components/layer-filters/layer-filters.vue @@ -126,6 +126,7 @@ import { Layer, Filters } from "@/definitions/document"; import { BlendModes } from "@/definitions/blend-modes"; import FiltersFactory from "@/factories/filters-factory"; import { enqueueState } from "@/factories/history-state-factory"; +import KeyboardService from "@/services/keyboard-service"; import messages from "./messages.json"; export default { @@ -247,12 +248,21 @@ export default { created(): void { this.orgFilters = { ...this.filters }; this.internalValue = { ...this.filters }; + KeyboardService.setListener( this.handleKeyUp.bind( this ), false ); + }, + beforeDestroy(): void { + KeyboardService.setListener( null ); }, methods: { ...mapMutations([ "updateLayer", "closeModal", ]), + handleKeyUp( type: string, keyCode: number ): void { + if ( keyCode === 27 ) { + this.cancel(); + } + }, save(): void { // if filter settings were changed, store these in state history const store = this.$store;