summaryrefslogtreecommitdiff
path: root/tree/public/assets/js/vendor/view/ScrollableView.js
diff options
context:
space:
mode:
Diffstat (limited to 'tree/public/assets/js/vendor/view/ScrollableView.js')
-rw-r--r--tree/public/assets/js/vendor/view/ScrollableView.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/tree/public/assets/js/vendor/view/ScrollableView.js b/tree/public/assets/js/vendor/view/ScrollableView.js
new file mode 100644
index 0000000..a01809c
--- /dev/null
+++ b/tree/public/assets/js/vendor/view/ScrollableView.js
@@ -0,0 +1,31 @@
+var ScrollableView = View.extend({
+
+ events: {
+ "load img": "deferRefresh",
+ },
+
+ deferScrollToTop: function(){
+ if (! this.scroller) return
+ setTimeout(this.scrollToTop.bind(this), 0)
+ },
+
+ refreshScroller: function(){
+ if (! this.scroller) return
+ this.scroller.refresh()
+ clearTimeout( this.scrollerRefreshTimeout )
+ },
+
+ scrollerRefreshTimeout: null,
+ deferRefresh: function(){
+ if (! this.scroller) return
+ clearTimeout( this.scrollerRefreshTimeout )
+ this.scrollerRefreshTimeout = setTimeout(this.refreshScroller.bind(this))
+ },
+
+ scrollToTop: function(){
+ if (! this.scroller) return
+ this.scroller.refresh()
+ app.collection.scroller.scrollTo(0, 0)
+ },
+
+}) \ No newline at end of file