Get rid of Layout global

Instead, trigger and listen for events on the conversation collection
object.
pull/749/head
lilia 11 years ago
parent a835887459
commit d1c5b6da7a

@ -22,7 +22,7 @@
if (textsecure.storage.getUnencrypted("number_id") === undefined) { if (textsecure.storage.getUnencrypted("number_id") === undefined) {
window.location = '/options.html'; window.location = '/options.html';
} else { } else {
Whisper.Layout = new Whisper.InboxView({el: document}); new Whisper.InboxView({el: document});
textsecure.storage.putUnencrypted("unreadCount", 0); textsecure.storage.putUnencrypted("unreadCount", 0);
extension.navigator.setBadgeText(""); extension.navigator.setBadgeText("");
} }

@ -20,14 +20,14 @@ var Whisper = Whisper || {};
}, },
open: function(e) { open: function(e) {
$('.conversation').trigger('close'); // detach any existing conversation views this.$el.addClass('selected');
if (!this.view) { if (!this.view) {
this.view = new Whisper.ConversationView({ model: this.model }); this.view = new Whisper.ConversationView({ model: this.model });
} else { } else {
this.view.delegateEvents(); this.view.delegateEvents();
} }
this.view.render(); this.model.collection.trigger('selected', this.view);
this.$el.addClass('selected');
}, },
render: function() { render: function() {

@ -57,7 +57,6 @@
}, },
render: function() { render: function() {
Whisper.Layout.setContent(this.$el.show());
this.view.scrollToBottom(); this.view.scrollToBottom();
return this; return this;
} }

@ -44,6 +44,11 @@
}.bind(this)); }.bind(this));
}.bind(this)); }.bind(this));
this.conversations.on('selected', function(view) {
$('.conversation').hide().trigger('close'); // detach any existing conversation views
this.setContent(view.$el.show());
view.render();
}, this);
}, },
events: { events: {
'click #new-message': 'new_message', 'click #new-message': 'new_message',

Loading…
Cancel
Save