From e5206f3429a1876a1e3bbc1429aeff4dc8c84346 Mon Sep 17 00:00:00 2001 From: danielgrippi Date: Thu, 17 May 2012 11:47:17 -0700 Subject: [PATCH] DC fix back button to profile with this.deferred reference --- app/assets/javascripts/app/models/stream.js | 5 +++- .../javascripts/app/views/canvas_view.js | 30 ++++++++++--------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/app/assets/javascripts/app/models/stream.js b/app/assets/javascripts/app/models/stream.js index 382dd58c5..69311df5e 100644 --- a/app/assets/javascripts/app/models/stream.js +++ b/app/assets/javascripts/app/models/stream.js @@ -59,11 +59,14 @@ app.models.Stream = Backbone.Collection.extend({ }, preloadOrFetch : function(){ //hai, plz test me THNX - return $.when(app.hasPreload("stream") ? this.preload() : this.fetch()) + app.hasPreload("stream") ? this.preload() : this.fetch() + return this.deferred }, preload : function(){ this.items.reset(app.parsePreload("stream")) this.trigger("fetched") + + this.deferred = $.when(true) } }); diff --git a/app/assets/javascripts/app/views/canvas_view.js b/app/assets/javascripts/app/views/canvas_view.js index 6a6df3b17..151a34bb5 100644 --- a/app/assets/javascripts/app/views/canvas_view.js +++ b/app/assets/javascripts/app/views/canvas_view.js @@ -9,23 +9,25 @@ app.views.Canvas = app.views.Base.extend(_.extend({}, app.views.infiniteScrollMi }, renderTemplate : function() { - if(this.stream.items.isEmpty()){ - var message - , person = app.page.model - if(person.get("is_own_profile")){ - message = "Make something to start the magic." + this.stream.deferred.done(_.bind(function(){ + if(this.stream.items.isEmpty()){ + var message + , person = app.page.model + if(person.get("is_own_profile")){ + message = "Make something to start the magic." + } else { + var name = person.get("name") || "" + message = name + " hasn't posted anything yet." + } + + this.$el.html("

" + message + "

") } else { - var name = person.get("name") || "" - message = name + " hasn't posted anything yet." + this.renderInitialPosts() } - this.$el.html("

" + message + "

") - } else { - this.renderInitialPosts() - } - - //needs to be deferred so it happens after html rendering finishes - _.defer(_.bind(this.mason, this)) + //needs to be deferred so it happens after html rendering finishes + _.defer(_.bind(this.mason, this)) + }, this)) }, addPostView : function(post) {