@ -26,7 +26,7 @@
</div>
</script>
<script type='text/x-tmpl-mustache' id='hint'>
<p> Select a contact to start chatting. </p>
<p> Select a contact or group to start chatting. </p>
<script type='text/x-tmpl-mustache' id='conversation'>
<div class='panel'>
@ -395,6 +395,17 @@
}
},
fetchAlphabetical: function() {
return new Promise(function(resolve) {
this.fetch({
index: {
name: 'search', // 'search' index on tokens array
limit: 100
}).always(resolve);
}.bind(this));
fetchGroups: function(number) {
return this.fetch({
@ -84,8 +84,15 @@
resetTypeahead: function() {
this.new_contact_view.$el.hide();
this.$input.val('').focus();
if (this.showAllContacts) {
this.typeahead.fetchAlphabetical().then(function() {
this.typeahead_view.collection.reset(this.typeahead.models);
this.trigger('show');
} else {
this.typeahead_view.collection.reset([]);
this.trigger('hide');
maybeNumber: function(number) {
@ -106,6 +106,12 @@
if (inboxCollection.length === 0) {
this.hintView.render();
this.hintView.$el.prependTo(this.$('.conversation-stack'));
this.searchView.showAllContacts = true;
this.searchView.reset();
this.listenToOnce(inboxCollection, 'add', function() {
this.searchView.showAllContacts = false;
new SocketView().render().$el.appendTo(this.$('.socket-status'));