diff --git a/message/amd/src/message_area_messages.js b/message/amd/src/message_area_messages.js index eab3b530b64..aaf19677450 100644 --- a/message/amd/src/message_area_messages.js +++ b/message/amd/src/message_area_messages.js @@ -60,6 +60,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/notification', 'core/cust customEvents.events.activate, customEvents.events.up, customEvents.events.down, + customEvents.events.enter, ]); AutoRows.init(this.messageArea.node); @@ -87,6 +88,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/notification', 'core/cust this.messageArea.onDelegateEvent('focus', this.messageArea.SELECTORS.SENDMESSAGETEXT, this._setMessaging.bind(this)); this.messageArea.onDelegateEvent('blur', this.messageArea.SELECTORS.SENDMESSAGETEXT, this._clearMessaging.bind(this)); + this.messageArea.onDelegateEvent(customEvents.events.enter, this.messageArea.SELECTORS.SENDMESSAGETEXT, + this._sendMessageHandler.bind(this)); + $(document).on(AutoRows.events.ROW_CHANGE, this._adjustMessagesAreaHeight.bind(this)); }; @@ -531,6 +535,19 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/notification', 'core/cust messagesArea.outerHeight(newMessagesAreaHeight); }; + /** + * Handle the event that triggers sending a message from the messages area. + * + * @params {event} e The jquery event + * @params {object} data Additional event data + * @private + */ + Messages.prototype._sendMessageHandler = function(e, data) { + data.originalEvent.preventDefault(); + + this._sendMessage(); + }; + return Messages; } ); diff --git a/message/amd/src/message_area_tabs.js b/message/amd/src/message_area_tabs.js index 670185c9f42..973da6120b1 100644 --- a/message/amd/src/message_area_tabs.js +++ b/message/amd/src/message_area_tabs.js @@ -143,7 +143,6 @@ define(['core/custom_interaction_events'], function(CustomEvents) { tabselect.addClass('selected'); tabselect.attr('aria-selected', 'true'); tabselect.attr('tabindex', '0'); - tabselect.focus(); }; /** @@ -154,18 +153,20 @@ define(['core/custom_interaction_events'], function(CustomEvents) { * @private */ Tabs.prototype._toggleTabs = function(e, data) { - var activeTab = this.messageArea.find(this.messageArea.SELECTORS.ACTIVECONTACTSTAB); + var activeTab = this.messageArea.find(this.messageArea.SELECTORS.ACTIVECONTACTSTAB); - if (activeTab.is(this.messageArea.SELECTORS.VIEWCONVERSATIONS)) { + if (activeTab.is(this.messageArea.SELECTORS.VIEWCONVERSATIONS)) { this._viewContacts(); - } else { + } else { this._viewConversations(); - } + } - e.preventDefault(); - e.stopPropagation(); - data.originalEvent.preventDefault(); - data.originalEvent.stopPropagation(); + this.messageArea.find(this.messageArea.SELECTORS.ACTIVECONTACTSTAB).focus(); + + e.preventDefault(); + e.stopPropagation(); + data.originalEvent.preventDefault(); + data.originalEvent.stopPropagation(); }; return Tabs;