diff options
author | Anike Arni <anikarni@gmail.com> | 2017-03-24 17:54:55 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-24 17:54:55 -0300 |
commit | 367ad8bb015f69e287765137646a6bc6c1c5aff5 (patch) | |
tree | bec2aad0ab91b43d1bd74120ead7cc1c2d933012 | |
parent | 643184750bbecff57b96da47d7064f67a66f4586 (diff) | |
parent | 56fdf12fd1d7f583e4a07e84b1af4595182c0d15 (diff) |
Merge pull request #1025 from pixelated/send-mail-feedback
[#830] Send mail feedback
-rw-r--r-- | web-ui/app/js/mail_list_actions/ui/compose_trigger.js | 9 | ||||
-rw-r--r-- | web-ui/app/js/mail_view/ui/send_button.js | 3 | ||||
-rw-r--r-- | web-ui/app/js/mixins/with_mail_edit_base.js | 2 | ||||
-rw-r--r-- | web-ui/app/js/user_alerts/ui/user_alerts.js | 10 | ||||
-rw-r--r-- | web-ui/app/locales/en_US/translation.json | 2 | ||||
-rw-r--r-- | web-ui/app/locales/pt_BR/translation.json | 2 | ||||
-rw-r--r-- | web-ui/test/spec/mail_view/ui/send_button.spec.js | 9 |
7 files changed, 27 insertions, 10 deletions
diff --git a/web-ui/app/js/mail_list_actions/ui/compose_trigger.js b/web-ui/app/js/mail_list_actions/ui/compose_trigger.js index ec79cb26..f0a96e79 100644 --- a/web-ui/app/js/mail_list_actions/ui/compose_trigger.js +++ b/web-ui/app/js/mail_list_actions/ui/compose_trigger.js @@ -18,10 +18,11 @@ define( [ 'flight/lib/component', 'views/templates', - 'page/events' + 'page/events', + 'views/i18n' ], - function(defineComponent, templates, events) { + function(defineComponent, templates, events, i18n) { 'use strict'; return defineComponent(composeTrigger); @@ -39,11 +40,11 @@ define( }; this.showEmailSuccess = function () { - this.trigger(document, events.ui.userAlerts.displayMessage, {message: 'Your message was sent!', class: 'success'}); + this.trigger(document, events.ui.userAlerts.displayMessage, {message: i18n.t('mail-sent'), class: 'success'}); }; this.showEmailError = function (ev, data) { - this.trigger(document, events.ui.userAlerts.displayMessage, {message: 'Error, message not sent: ' + data.responseJSON.message, class: 'error'}); + this.trigger(document, events.ui.userAlerts.displayMessage, {message: i18n.t('mail-not-sent') + ' ' + data.responseJSON.message, class: 'error'}); }; this.after('initialize', function () { diff --git a/web-ui/app/js/mail_view/ui/send_button.js b/web-ui/app/js/mail_view/ui/send_button.js index 66fe1233..034f472c 100644 --- a/web-ui/app/js/mail_view/ui/send_button.js +++ b/web-ui/app/js/mail_view/ui/send_button.js @@ -91,6 +91,9 @@ define([ this.disableButton(); this.$node.text(viewHelper.i18n.t('sending-mail')); + this.trigger(document, events.ui.userAlerts.displayMessage, + {message: viewHelper.i18n.t('sending-mail'), class: 'success', dismissTimeout: 60000}); + this.attr.sendingInProgress = true; this.trigger(document, events.ui.recipients.doCompleteInput); diff --git a/web-ui/app/js/mixins/with_mail_edit_base.js b/web-ui/app/js/mixins/with_mail_edit_base.js index a088080e..c7f5447f 100644 --- a/web-ui/app/js/mixins/with_mail_edit_base.js +++ b/web-ui/app/js/mixins/with_mail_edit_base.js @@ -209,7 +209,7 @@ define( }; this.mailSent = function () { - this.trigger(document, events.ui.userAlerts.displayMessage, {message: 'Your message was sent!'}); + this.trigger(document, events.ui.userAlerts.displayMessage, {message: i18n.t('mail-sent')}); }; this.enableFloatlabel = function (element) { diff --git a/web-ui/app/js/user_alerts/ui/user_alerts.js b/web-ui/app/js/user_alerts/ui/user_alerts.js index e944a7a5..bef3efcd 100644 --- a/web-ui/app/js/user_alerts/ui/user_alerts.js +++ b/web-ui/app/js/user_alerts/ui/user_alerts.js @@ -29,21 +29,22 @@ define( function userAlerts() { this.defaultAttrs({ - dismissTimeout: 3000 + dismissTimeout: 4000 }); this.render = function(message) { + clearTimeout(this.attr.timeout); this.$node.html(templates.userAlerts.message(message)); this.show(); - setTimeout(this.hide.bind(this), this.attr.dismissTimeout); + this.attr.timeout = setTimeout(this.hide.bind(this), message.dismissTimeout || this.attr.dismissTimeout); }; - this.displayMessage = function(ev, data) { this.render({ message: { content: data.message, - class: 'message-panel__growl--' + (data.class || 'success') + class: 'message-panel__growl--' + (data.class || 'success'), + dismissTimeout: data.dismissTimeout } }); }; @@ -54,4 +55,3 @@ define( } } ); - diff --git a/web-ui/app/locales/en_US/translation.json b/web-ui/app/locales/en_US/translation.json index d69b7472..5e23d39f 100644 --- a/web-ui/app/locales/en_US/translation.json +++ b/web-ui/app/locales/en_US/translation.json @@ -44,6 +44,8 @@ "not-signed-label-tooltip": "The sender could not be verified.", "signed-label-tooltip": "You are communicating with the real sender.", "sending-mail": "Sending...", + "mail-sent": "Your message was sent!", + "mail-not-sent": "Error, message not sent:", "trash-button": "Delete it", "search-placeholder" : "Search...", "search-results-for": "Search results for", diff --git a/web-ui/app/locales/pt_BR/translation.json b/web-ui/app/locales/pt_BR/translation.json index 4e179363..dcf551af 100644 --- a/web-ui/app/locales/pt_BR/translation.json +++ b/web-ui/app/locales/pt_BR/translation.json @@ -44,6 +44,8 @@ "not-signed-label-tooltip": "O remetente não pode ser verificado.", "signed-label-tooltip": "Você está se comunicando com o remetente real.", "sending-mail": "Enviando...", + "mail-sent": "Sua mensagem foi enviada!", + "mail-not-sent": "Erro, sua mensagem não foi enviada:", "trash-button": "Deletar", "search-placeholder" : "Pesquisar...", "search-results-for": "Resultado da pesquisa por", diff --git a/web-ui/test/spec/mail_view/ui/send_button.spec.js b/web-ui/test/spec/mail_view/ui/send_button.spec.js index f869362e..54e97e3a 100644 --- a/web-ui/test/spec/mail_view/ui/send_button.spec.js +++ b/web-ui/test/spec/mail_view/ui/send_button.spec.js @@ -95,6 +95,15 @@ describeComponent('mail_view/ui/send_button', function () { expect(this.$node.prop('disabled')).toBeTruthy(); }); + it('displays sending message', function () { + var displayMessageEvent = spyOnEvent(document, Pixelated.events.ui.userAlerts.displayMessage); + + this.$node.click(); + + expect(displayMessageEvent).toHaveBeenTriggeredOnAndWith(document, + { message: 'Sending...', class: 'success', dismissTimeout: 60000 }); + }); + it('enables again if sending errors out', function() { expect(this.$node.text()).toBe(i18n.t('send')); |