Show all contacts when inbox is empty
This commit is contained in:
		
					parent
					
						
							
								152f59cc95
							
						
					
				
			
			
				commit
				
					
						7bf94c33d5
					
				
			
		
					 4 changed files with 27 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -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>
 | 
			
		||||
  <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({
 | 
			
		||||
            index: {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -84,8 +84,15 @@
 | 
			
		|||
        resetTypeahead: function() {
 | 
			
		||||
            this.new_contact_view.$el.hide();
 | 
			
		||||
            this.$input.val('').focus();
 | 
			
		||||
            this.typeahead_view.collection.reset([]);
 | 
			
		||||
            this.trigger('hide');
 | 
			
		||||
            if (this.showAllContacts) {
 | 
			
		||||
                this.typeahead.fetchAlphabetical().then(function() {
 | 
			
		||||
                    this.typeahead_view.collection.reset(this.typeahead.models);
 | 
			
		||||
                }.bind(this));
 | 
			
		||||
                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;
 | 
			
		||||
                        this.searchView.reset();
 | 
			
		||||
                    }.bind(this));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                new SocketView().render().$el.appendTo(this.$('.socket-status'));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue