diff --git a/public/javascripts/widgets/infinite-scroll.js b/public/javascripts/widgets/infinite-scroll.js index 47dca9bf7..bd4150f4e 100644 --- a/public/javascripts/widgets/infinite-scroll.js +++ b/public/javascripts/widgets/infinite-scroll.js @@ -23,6 +23,11 @@ }; }; + InfiniteScroll.prototype.reInitialize = function(){ + this.clear(); + this.initialize(); + }; + InfiniteScroll.prototype.initialize = function(){ $('#main_stream').infinitescroll(this.options(), function() { Diaspora.widgets.publish("stream/scrolled"); @@ -30,10 +35,14 @@ }; InfiniteScroll.prototype.start = function() { - Diaspora.widgets.subscribe("stream/reloaded", this.initialize, this); + Diaspora.widgets.subscribe("stream/reloaded", this.reInitialize, this); this.initialize(); }; + InfiniteScroll.prototype.clear = function() { + $('#main_stream').infinitescroll('destroy'); + }; + Diaspora.widgets.add("infinitescroll", InfiniteScroll); })();