# HG changeset patch # User Anton Shestakov <av6@dwimlabs.net> # Date 1464066673 -28800 # Node ID d2453b933c21d1eddb51cbb962936e866b1ca3f5 # Parent 1f05d2339ed10a42049c4d7a4a0abaea38852dee templates: include top level element in templates diff -r 1f05d2339ed1 -r d2453b933c21 coffee/calls.coffee --- a/coffee/calls.coffee Tue May 24 12:34:08 2016 +0800 +++ b/coffee/calls.coffee Tue May 24 13:11:13 2016 +0800 @@ -26,9 +26,7 @@ class Tram.CallView extends Backbone.View - tagName: 'div' - className: 'video-block' - template: $('#video-block-template').html() + templateEl: $($('#video-block-template').html()) events: 'click [data-mute-cam]': -> @model.set('local/video/muted', true) 'click [data-unmute-cam]': -> @model.set('local/video/muted', false) @@ -38,7 +36,7 @@ 'click [data-unmute-audio]': -> @model.set('remote/audio/muted', false) initialize: -> - @$el.html(@template) + @setElement(@templateEl.clone()) @$local = @$('video.local') @$remote = @$('video.remote') diff -r 1f05d2339ed1 -r d2453b933c21 coffee/contacts.coffee --- a/coffee/contacts.coffee Tue May 24 12:34:08 2016 +0800 +++ b/coffee/contacts.coffee Tue May 24 13:11:13 2016 +0800 @@ -79,17 +79,17 @@ class Tram.AvatarView extends Backbone.View - tagName: 'div' - className: 'vignette' - template: $('#avatar-template').html() + templateEl: $($('#avatar-template').html()) colors: Tram.colors.avatar + initialize: -> + @setElement(@templateEl.clone()) + getColors: (hash) => ci = hash % @colors.length "color: white; background: #{ @colors[ci] };" render: -> - @$el.html(@template) @rivet = rivets.bind(@el, model: @model, view: this) @ @@ -99,9 +99,7 @@ class Tram.ContactView extends Backbone.View - tagName: 'li' - className: 'contact' - template: $('#contact-template').html() + templateEl: $($('#contact-template').html()) colors: Tram.colors.show events: 'click [data-chat]': -> @model.trigger('action/chat') @@ -114,23 +112,16 @@ 'click [data-remove]': -> @model.trigger('action/remove') initialize: -> - @$el.attr('data-jid', @model.get('jid')) - - @$el.html(@template) + @setElement(@templateEl.clone()) @$avatarColumn = @$('.avatar-column') @bind() bind: -> - @listenTo(@model, 'change:active', @updateActive) - @listenTo(@model, 'change:show', @setBorderColor) @listenTo(@model, 'remove', @remove) - updateActive: -> - @$el.toggleClass('active', @model.has('active') and @model.get('active')) - - setBorderColor: -> - @$el.css('border-left-color', @colors[@model.get('show')] || @colors['default']) + getBorderColor: (show) => + "border-left-color: #{ @colors[show] || @colors['default'] };" getPipColor: (show) => "background: #{ @colors[show] || @colors['default'] };" @@ -139,7 +130,6 @@ @rivet = rivets.bind(@el, model: @model, view: this) av = new Tram.AvatarView(model: @model) @$avatarColumn.prepend(av.render().el) - @setBorderColor() @ remove: -> diff -r 1f05d2339ed1 -r d2453b933c21 coffee/messages.coffee --- a/coffee/messages.coffee Tue May 24 12:34:08 2016 +0800 +++ b/coffee/messages.coffee Tue May 24 13:11:13 2016 +0800 @@ -55,14 +55,10 @@ class Tram.MessageView extends Backbone.View - tagName: 'div' - className: 'message' - template: $('#message-template').html() + templateEl: $($('#message-template').html()) initialize: -> - @$el.attr('data-id', @model.get('id')) - - @$el.html(@template) + @setElement(@templateEl.clone()) @$avatarColumn = @$('.avatar-column') @bind() @@ -92,10 +88,16 @@ class Tram.LogApp extends Backbone.View - tagName: 'div' - className: 'log' + templateEl: $($('#chat-template').html()) initialize: -> + @setElement(@templateEl.clone()) + @$log = @$('.log') + @rivet = rivets.bind(@el, model: @model, view: @) + + @bind() + + bind: -> @listenTo(@collection, 'add', @onAdd) onAdd: (model, collection) -> @@ -103,15 +105,19 @@ view = new Tram.MessageView(model: model) el = view.render().el if mi is 0 - @$el.prepend(el) + @$log.prepend(el) else - @$el.children().eq(mi - 1).after(el) + @$log.children().eq(mi - 1).after(el) if @bottomed @scroll() bottomed: -> - @$el.scrollTop() + @$el.height() == @$el.get(0).scrollHeight + @$log.scrollTop() + @$log.height() == @$log.get(0).scrollHeight scroll: -> - @$el.scrollTop(@$el.get(0).scrollHeight) + @$log.scrollTop(@$log.get(0).scrollHeight) + + remove: -> + @rivet.unbind() + super diff -r 1f05d2339ed1 -r d2453b933c21 index.html --- a/index.html Tue May 24 12:34:08 2016 +0800 +++ b/index.html Tue May 24 13:11:13 2016 +0800 @@ -204,6 +204,7 @@ </div> <script type="text/template" id="video-block-template"> + <div class="video-block"> <video class="remote" rv-src="model:remote/stream/url" autoplay></video> <video class="local" rv-src="model:local/stream/url" autoplay muted></video> <div class="buttons uk-text-center"> @@ -232,14 +233,18 @@ <i class="uk-icon-volume-off"></i> </button> </div> + </div> </script> <script type="text/template" id="avatar-template"> + <div class="vignette"> <img class="avatar" rv-if="model:avatar/url" rv-src="model:avatar/url"> <div class="avatar" rv-unless="model:avatar/url" rv-style="model:bjid | dumb-hash | fn view.getColors"> { model:d/handle | first-letter } </div> + </div> </script> <script type="text/template" id="message-template"> + <div class="message" rv-data-id="model:id"> <div class="splitter" rv-if="model:d/split"></div> <div class="column avatar-column" rv-class-uk-invisible="model:d/fold"></div> <div class="column text-column"> @@ -260,8 +265,10 @@ <div class="xhtml-body" rv-if="model:html" rv-html="model:html"></div> </div> </div> + </div> </script> <script type="text/template" id="contact-template"> + <li class="contact" rv-class-active="model:active" rv-data-jid="model:jid" rv-style="model:show | fn view.getBorderColor"> <div class="column avatar-column"> <div class="status-pip" rv-title="model:show" rv-style="model:show | fn view.getPipColor"></div> </div> @@ -312,6 +319,12 @@ <i class="uk-icon-times"></i> Decline </button> </div> + </li> + </script> + <script type="text/template" id="chat-template"> + <div class="chat"> + <div class="log"></div> + </div> </script> <script src='/js/tram.js'></script> <script src='/js/rivets.js'></script> diff -r 1f05d2339ed1 -r d2453b933c21 js/calls.js --- a/js/calls.js Tue May 24 12:34:08 2016 +0800 +++ b/js/calls.js Tue May 24 13:11:13 2016 +0800 @@ -62,11 +62,7 @@ return CallView.__super__.constructor.apply(this, arguments); } - CallView.prototype.tagName = 'div'; - - CallView.prototype.className = 'video-block'; - - CallView.prototype.template = $('#video-block-template').html(); + CallView.prototype.templateEl = $($('#video-block-template').html()); CallView.prototype.events = { 'click [data-mute-cam]': function() { @@ -90,7 +86,7 @@ }; CallView.prototype.initialize = function() { - this.$el.html(this.template); + this.setElement(this.templateEl.clone()); this.$local = this.$('video.local'); this.$remote = this.$('video.remote'); return this.bind(); diff -r 1f05d2339ed1 -r d2453b933c21 js/calls.js.map --- a/js/calls.js.map Tue May 24 12:34:08 2016 +0800 +++ b/js/calls.js.map Tue May 24 13:11:13 2016 +0800 @@ -6,5 +6,5 @@ "coffee/calls.coffee" ], "names": [], - "mappings": "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" + "mappings": "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" } \ No newline at end of file diff -r 1f05d2339ed1 -r d2453b933c21 js/contacts.js --- a/js/contacts.js Tue May 24 12:34:08 2016 +0800 +++ b/js/contacts.js Tue May 24 13:11:13 2016 +0800 @@ -135,14 +135,14 @@ return AvatarView.__super__.constructor.apply(this, arguments); } - AvatarView.prototype.tagName = 'div'; - - AvatarView.prototype.className = 'vignette'; - - AvatarView.prototype.template = $('#avatar-template').html(); + AvatarView.prototype.templateEl = $($('#avatar-template').html()); AvatarView.prototype.colors = Tram.colors.avatar; + AvatarView.prototype.initialize = function() { + return this.setElement(this.templateEl.clone()); + }; + AvatarView.prototype.getColors = function(hash) { var ci; ci = hash % this.colors.length; @@ -150,7 +150,6 @@ }; AvatarView.prototype.render = function() { - this.$el.html(this.template); this.rivet = rivets.bind(this.el, { model: this.model, view: this @@ -172,14 +171,11 @@ function ContactView() { this.getPipColor = bind(this.getPipColor, this); + this.getBorderColor = bind(this.getBorderColor, this); return ContactView.__super__.constructor.apply(this, arguments); } - ContactView.prototype.tagName = 'li'; - - ContactView.prototype.className = 'contact'; - - ContactView.prototype.template = $('#contact-template').html(); + ContactView.prototype.templateEl = $($('#contact-template').html()); ContactView.prototype.colors = Tram.colors.show; @@ -211,24 +207,17 @@ }; ContactView.prototype.initialize = function() { - this.$el.attr('data-jid', this.model.get('jid')); - this.$el.html(this.template); + this.setElement(this.templateEl.clone()); this.$avatarColumn = this.$('.avatar-column'); return this.bind(); }; ContactView.prototype.bind = function() { - this.listenTo(this.model, 'change:active', this.updateActive); - this.listenTo(this.model, 'change:show', this.setBorderColor); return this.listenTo(this.model, 'remove', this.remove); }; - ContactView.prototype.updateActive = function() { - return this.$el.toggleClass('active', this.model.has('active') && this.model.get('active')); - }; - - ContactView.prototype.setBorderColor = function() { - return this.$el.css('border-left-color', this.colors[this.model.get('show')] || this.colors['default']); + ContactView.prototype.getBorderColor = function(show) { + return "border-left-color: " + (this.colors[show] || this.colors['default']) + ";"; }; ContactView.prototype.getPipColor = function(show) { @@ -245,7 +234,6 @@ model: this.model }); this.$avatarColumn.prepend(av.render().el); - this.setBorderColor(); return this; }; diff -r 1f05d2339ed1 -r d2453b933c21 js/contacts.js.map --- a/js/contacts.js.map Tue May 24 12:34:08 2016 +0800 +++ b/js/contacts.js.map Tue May 24 13:11:13 2016 +0800 @@ -6,5 +6,5 @@ "coffee/contacts.coffee" ], "names": [], - "mappings": "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" + "mappings": "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" } \ No newline at end of file diff -r 1f05d2339ed1 -r d2453b933c21 js/messages.js --- a/js/messages.js Tue May 24 12:34:08 2016 +0800 +++ b/js/messages.js Tue May 24 13:11:13 2016 +0800 @@ -94,15 +94,10 @@ return MessageView.__super__.constructor.apply(this, arguments); } - MessageView.prototype.tagName = 'div'; - - MessageView.prototype.className = 'message'; - - MessageView.prototype.template = $('#message-template').html(); + MessageView.prototype.templateEl = $($('#message-template').html()); MessageView.prototype.initialize = function() { - this.$el.attr('data-id', this.model.get('id')); - this.$el.html(this.template); + this.setElement(this.templateEl.clone()); this.$avatarColumn = this.$('.avatar-column'); return this.bind(); }; @@ -158,11 +153,19 @@ return LogApp.__super__.constructor.apply(this, arguments); } - LogApp.prototype.tagName = 'div'; - - LogApp.prototype.className = 'log'; + LogApp.prototype.templateEl = $($('#chat-template').html()); LogApp.prototype.initialize = function() { + this.setElement(this.templateEl.clone()); + this.$log = this.$('.log'); + this.rivet = rivets.bind(this.el, { + model: this.model, + view: this + }); + return this.bind(); + }; + + LogApp.prototype.bind = function() { return this.listenTo(this.collection, 'add', this.onAdd); }; @@ -174,9 +177,9 @@ }); el = view.render().el; if (mi === 0) { - this.$el.prepend(el); + this.$log.prepend(el); } else { - this.$el.children().eq(mi - 1).after(el); + this.$log.children().eq(mi - 1).after(el); } if (this.bottomed) { return this.scroll(); @@ -184,11 +187,16 @@ }; LogApp.prototype.bottomed = function() { - return this.$el.scrollTop() + this.$el.height() === this.$el.get(0).scrollHeight; + return this.$log.scrollTop() + this.$log.height() === this.$log.get(0).scrollHeight; }; LogApp.prototype.scroll = function() { - return this.$el.scrollTop(this.$el.get(0).scrollHeight); + return this.$log.scrollTop(this.$log.get(0).scrollHeight); + }; + + LogApp.prototype.remove = function() { + this.rivet.unbind(); + return LogApp.__super__.remove.apply(this, arguments); }; return LogApp; diff -r 1f05d2339ed1 -r d2453b933c21 js/messages.js.map --- a/js/messages.js.map Tue May 24 12:34:08 2016 +0800 +++ b/js/messages.js.map Tue May 24 13:11:13 2016 +0800 @@ -6,5 +6,5 @@ "coffee/messages.coffee" ], "names": [], - "mappings": "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" + "mappings": "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" } \ No newline at end of file