Fixed compose box PM recipient typeahead handling of focus.

This closes #2315.
This commit is contained in:
Igor Tokarev 2016-11-22 15:17:53 +05:00 committed by Tim Abbott
parent a9e409a50f
commit 0bac986f26
2 changed files with 8 additions and 5 deletions

View File

@ -433,13 +433,16 @@ exports.initialize = function () {
return query_matches_person(current_recipient, item);
},
sorter: typeahead_helper.sort_recipientbox_typeahead,
updater: function (item) {
updater: function (item, event) {
var previous_recipients = exports.get_cleaned_pm_recipients(this.query);
previous_recipients.pop();
previous_recipients = previous_recipients.join(", ");
if (previous_recipients.length !== 0) {
previous_recipients += ", ";
}
if (event && event.type === 'click') {
ui.focus_on('private_message_recipient');
}
return previous_recipients + item.email + ", ";
},
stopAdvance: true // Do not advance to the next field on a tab or enter

View File

@ -1843,10 +1843,10 @@
constructor: Typeahead
, select: function () {
, select: function (e) {
var val = this.$menu.find('.active').data('typeahead-value')
this.$element
.val(this.updater(val))
.val(this.updater(val, e))
.change()
return this.hide()
}
@ -2067,7 +2067,7 @@
case 9: // tab
case 13: // enter
if (!this.shown) return
this.select()
this.select(e)
break
case 27: // escape
@ -2098,7 +2098,7 @@
, click: function (e) {
e.stopPropagation()
e.preventDefault()
this.select()
this.select(e)
}
, mouseenter: function (e) {