MDL-54687 message: add enter to send message

This commit is contained in:
Ryan Wyllie 2016-08-12 06:03:42 +00:00 committed by Mark Nelson
parent 0ae7a72082
commit c1fec732c6
2 changed files with 27 additions and 9 deletions

View File

@ -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;
}
);

View File

@ -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;