From 8095ce8f6263115979a784c51b79ff089a8b16d3 Mon Sep 17 00:00:00 2001 From: dave Date: Sun, 14 Apr 2019 22:27:16 -0400 Subject: [PATCH] #468 - hide status menu after action button is clicked --- src/components/extra_buttons/extra_buttons.js | 13 ++++++++++++- src/components/extra_buttons/extra_buttons.vue | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/components/extra_buttons/extra_buttons.js b/src/components/extra_buttons/extra_buttons.js index 0b12f993..71f5946d 100644 --- a/src/components/extra_buttons/extra_buttons.js +++ b/src/components/extra_buttons/extra_buttons.js @@ -7,11 +7,13 @@ const ExtraButtons = { }, data () { return { - showDropDown: false + showDropDown: false, + showPopper: true } }, methods: { deleteStatus () { + this.refreshPopper() const confirmed = window.confirm(this.$t('status.delete_confirm')) if (confirmed) { this.$store.dispatch('deleteStatus', { id: this.status.id }) @@ -21,6 +23,7 @@ const ExtraButtons = { this.showDropDown = !this.showDropDown }, pinStatus () { + this.refreshPopper() this.$store.state.api.backendInteractor.pinOwnStatus(this.status.id).then((status) => { if (status.error) { this.$emit('onError', status.error) @@ -30,9 +33,17 @@ const ExtraButtons = { }) }, unpinStatus () { + this.refreshPopper() this.$store.state.api.backendInteractor.unpinOwnStatus(this.status.id).then((status) => { this.$store.dispatch('updatePinned', status) }) + }, + refreshPopper () { + this.showPopper = false + this.showDropDown = false + setTimeout(() => { + this.showPopper = true + }) } }, computed: { diff --git a/src/components/extra_buttons/extra_buttons.vue b/src/components/extra_buttons/extra_buttons.vue index 7b86d257..b55a020f 100644 --- a/src/components/extra_buttons/extra_buttons.vue +++ b/src/components/extra_buttons/extra_buttons.vue @@ -3,6 +3,7 @@ trigger="click" @hide='showDropDown = false' append-to-body + v-if="showPopper" :options="{ placement: 'top', modifiers: {