diff --git a/src/components/edit_status_modal/edit_status_modal.vue b/src/components/edit_status_modal/edit_status_modal.vue index 42073d7d3..a53caf4ec 100644 --- a/src/components/edit_status_modal/edit_status_modal.vue +++ b/src/components/edit_status_modal/edit_status_modal.vue @@ -15,6 +15,7 @@ class="panel-body" :params="params" @posted="doCloseModal" + @draft-done="doCloseModal" @can-close="doCloseModal" /> diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index bd699c5f7..00ee58866 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -116,6 +116,7 @@ const PostStatusForm = { ], emits: [ 'posted', + 'draft-done', 'resize', 'mediaplay', 'mediapause', @@ -761,12 +762,14 @@ const PostStatusForm = { this.newStatus.id = id } this.saveable = false + this.$emit('draft-done') }) } else if (this.newStatus.id) { // There is a draft, but there is nothing in it, clear it return this.abandonDraft() .then(() => { this.saveable = false + this.$emit('draft-done') }) } } diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue index 0d29e4d18..ac5a6ce4f 100644 --- a/src/components/post_status_form/post_status_form.vue +++ b/src/components/post_status_form/post_status_form.vue @@ -339,7 +339,7 @@ v-if="!hideDraft" class="menu-item dropdown-item dropdown-item-icon" role="menu" - :disabled="!safeToSaveDraft" + :disabled="!safeToSaveDraft && saveable" :class="{ disabled: !safeToSaveDraft }" @click.prevent="saveDraft" @click="close" diff --git a/src/components/post_status_modal/post_status_modal.vue b/src/components/post_status_modal/post_status_modal.vue index 2bdf41d55..054da0c64 100644 --- a/src/components/post_status_modal/post_status_modal.vue +++ b/src/components/post_status_modal/post_status_modal.vue @@ -15,6 +15,7 @@ class="panel-body" v-bind="params" @posted="resetAndClose" + @draft-done="resetAndClose" /> diff --git a/src/components/status/status.vue b/src/components/status/status.vue index c58178b3c..b5b984833 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -606,6 +606,7 @@ :copy-message-scope="status.visibility" :subject="replySubject" @posted="doToggleReplying" + @draft-done="doToggleReplying" @can-close="doToggleReplying" />