From 0f8aff12c5598692e7e865a02e0bc18b922bbc48 Mon Sep 17 00:00:00 2001 From: lilia Date: Wed, 30 Sep 2015 14:21:19 -0700 Subject: [PATCH] Refactor contact rendering in message detail view DRY // FREEBIE --- js/views/message_detail_view.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/js/views/message_detail_view.js b/js/views/message_detail_view.js index 6ed002fde..998063bd8 100644 --- a/js/views/message_detail_view.js +++ b/js/views/message_detail_view.js @@ -76,6 +76,12 @@ this.render(); }); }, + renderContact: function(contact) { + var v = new ContactView({ + model: contact, + conflict: this.model.getKeyConflict(contact.id) + }).render().$el.appendTo(this.$('.contacts')); + }, render: function() { this.$el.html(Mustache.render(this.template, { sent_at : moment(this.model.get('sent_at')).toString(), @@ -85,19 +91,11 @@ this.view.render().$el.prependTo(this.$('.message-container')); if (this.model.isOutgoing()) { - this.conversation.contactCollection.each(function(contact) { - var v = new ContactView({ - model: contact, - conflict: this.model.getKeyConflict(contact.id) - }).render().$el.appendTo(this.$('.contacts')); - }.bind(this)); + this.conversation.contactCollection.each(this.renderContact.bind(this)); } else { - var number = this.model.get('source'); - var contact = this.conversation.contactCollection.get(number); - var v = new ContactView({ - model: contact, - conflict: this.model.getKeyConflict(number) - }).render().$el.appendTo(this.$('.contacts')); + this.renderContact( + this.conversation.contactCollection.get(this.model.get('source')) + ); } } });