diff --git a/src/client/app/common/scripts/note-mixin.ts b/src/client/app/common/scripts/note-mixin.ts index e433ba49cf..9e1c81e2b7 100644 --- a/src/client/app/common/scripts/note-mixin.ts +++ b/src/client/app/common/scripts/note-mixin.ts @@ -27,7 +27,8 @@ export default (opts: Opts = {}) => ({ data() { return { showContent: false, - hideThisNote: false + hideThisNote: false, + openingMenu: false }; }, @@ -192,11 +193,16 @@ export default (opts: Opts = {}) => ({ }, menu(viaKeyboard = false) { + if (this.openingMenu) return; + this.openingMenu = true; this.$root.new(MkNoteMenu, { source: this.$refs.menuButton, note: this.appearNote, animation: !viaKeyboard - }).$once('closed', this.focus); + }).$once('closed', () => { + this.openingMenu = false; + this.focus(); + }); }, toggleShowContent() { diff --git a/src/client/app/common/views/components/note-menu.vue b/src/client/app/common/views/components/note-menu.vue index e76e1a0b11..1dcf58dd36 100644 --- a/src/client/app/common/views/components/note-menu.vue +++ b/src/client/app/common/views/components/note-menu.vue @@ -227,6 +227,7 @@ export default Vue.extend({ }, closed() { + this.$emit('closed'); this.$nextTick(() => { this.destroyDom(); });