Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/mail.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGreta <gretadoci@gmail.com>2022-05-02 14:14:55 +0300
committerGitHub <noreply@github.com>2022-05-02 14:14:55 +0300
commit26cba466ae43a85470f369ee8a10866e735328ee (patch)
tree09059d1099b313434cbaeb646f0e293253c5a975 /src
parent5669f9f5f762c472f57005fd9955a31ce0b94257 (diff)
parent368a36959857b567e280dd190a45187d9db6a179 (diff)
Merge pull request #6338 from nextcloud/fix/fix-draft-outbox
Fix discard message on outbox and improve the discard new message
Diffstat (limited to 'src')
-rw-r--r--src/components/Composer.vue16
-rw-r--r--src/components/NewMessageModal.vue21
2 files changed, 22 insertions, 15 deletions
diff --git a/src/components/Composer.vue b/src/components/Composer.vue
index 2156e83c2..30e055b8b 100644
--- a/src/components/Composer.vue
+++ b/src/components/Composer.vue
@@ -317,10 +317,6 @@
:hint="t('mail', 'Sending …')"
role="alert"
class="sending-hint" />
- <Loading v-else-if="state === STATES.DISCARDING" :hint="t('mail', 'Discarding …')" class="emptycontent" />
- <EmptyContent v-else-if="state === STATES.DISCARDED" icon="icon-mail">
- <h2>{{ t('mail', 'Draft was discarded!') }}</h2>
- </EmptyContent>
<div v-else-if="state === STATES.ERROR" class="emptycontent" role="alert">
<h2>{{ t('mail', 'Error sending your message') }}</h2>
<p v-if="errorText">
@@ -1055,16 +1051,8 @@ export default {
return `${alias.name} <${alias.emailAddress}>`
},
async discardDraft() {
- this.state = STATES.DISCARDING
- let id
- try {
- id = await this.draftsPromise
- await this.$store.dispatch('deleteMessage', { id })
- } catch (err) {
- logger.error('Could not delete message with id ' + id)
- }
- this.state = STATES.DISCARDED
- this.$emit('close')
+ const id = await this.draftsPromise
+ this.$emit('discard-draft', id)
},
/**
* Whether the date is acceptable
diff --git a/src/components/NewMessageModal.vue b/src/components/NewMessageModal.vue
index 5cecef04d..41f7d30da 100644
--- a/src/components/NewMessageModal.vue
+++ b/src/components/NewMessageModal.vue
@@ -17,6 +17,7 @@
:draft="saveDraft"
:send="sendMessage"
:forwarded-messages="forwardedMessages"
+ @discard-draft="discardDraft"
@close="$emit('close')" />
</Modal>
</template>
@@ -26,7 +27,7 @@ import logger from '../logger'
import { toPlain } from '../util/text'
import { saveDraft } from '../service/MessageService'
import Composer from './Composer'
-import { showError, showUndo } from '@nextcloud/dialogs'
+import { showError, showSuccess, showUndo } from '@nextcloud/dialogs'
import { translate as t } from '@nextcloud/l10n'
import { UNDO_DELAY } from '../store/constants'
@@ -189,6 +190,24 @@ export default {
return `"${recipient.label}" <${recipient.email}>`
}
},
+ async discardDraft(id) {
+ const isOutbox = this.composerMessage.type === 'outbox'
+ if (isOutbox) {
+ id = this.composerMessage.data.id
+ }
+ this.$emit('close')
+ try {
+ if (isOutbox) {
+ await this.$store.dispatch('outbox/deleteMessage', { id })
+ } else {
+ await this.$store.dispatch('deleteMessage', { id })
+ }
+ showSuccess(t('mail', 'Message discarded'))
+ } catch (error) {
+ console.error(error)
+ showError(t('mail', 'Could not discard message'))
+ }
+ },
},
}