diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-02-13 01:52:27 +0400 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-02-13 01:52:27 +0400 |
commit | ece9f50fb1076c1efee54b4ab3b161f2cac70046 (patch) | |
tree | 1e4073f7dad6890e9de48a187dca315d25fe5da7 /app/assets/javascripts | |
parent | 48bc4fc214934160af39958c70f3adb6d7e00b5a (diff) |
fixed unworking infinite scroll
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r-- | app/assets/javascripts/application.js | 1 | ||||
-rw-r--r-- | app/assets/javascripts/commits.js | 15 | ||||
-rw-r--r-- | app/assets/javascripts/note.js | 23 | ||||
-rw-r--r-- | app/assets/javascripts/pager.js | 22 | ||||
-rw-r--r-- | app/assets/javascripts/projects.js | 42 |
5 files changed, 42 insertions, 61 deletions
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 5782f0afc75..1a011c7d43e 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -10,6 +10,7 @@ //= require jquery.ui.selectmenu //= require jquery.tagify //= require jquery.cookie +//= require jquery.endless-scroll //= require modernizr //= require chosen //= require raphael diff --git a/app/assets/javascripts/commits.js b/app/assets/javascripts/commits.js index bb06df55c6e..b31fe485896 100644 --- a/app/assets/javascripts/commits.js +++ b/app/assets/javascripts/commits.js @@ -2,6 +2,7 @@ var CommitsList = { ref:null, limit:0, offset:0, + disable:false, init: function(ref, limit) { @@ -36,15 +37,21 @@ var CommitsList = { $("#commits_list").append(html); if(count > 0) { this.offset += count; - this.initLoadMore(); + } else { + this.disable = true; } }, initLoadMore: function() { - $(window).bind('scroll', function(){ - if($(window).scrollTop() == $(document).height() - $(window).height()){ - $(window).unbind('scroll'); + $(document).endlessScroll({ + bottomPixels: 400, + fireDelay: 1000, + fireOnce:true, + ceaseFire: function() { + return CommitsList.disable; + }, + callback: function(i) { CommitsList.getOld(); } }); diff --git a/app/assets/javascripts/note.js b/app/assets/javascripts/note.js index c791623b91d..831150ffbdb 100644 --- a/app/assets/javascripts/note.js +++ b/app/assets/javascripts/note.js @@ -3,6 +3,7 @@ var NoteList = { first_id: 0, last_id: 0, resource_name: null, +disable:false, init: function(resource_name, first_id, last_id) { @@ -26,9 +27,12 @@ getOld: append: function(id, html) { - this.first_id = id; - $("#notes-list").append(html); - this.initLoadMore(); + if(this.first_id == id) { + this.disable = true; + } else { + this.first_id = id; + $("#notes-list").append(html); + } }, replace: @@ -76,11 +80,16 @@ initRefresh: initLoadMore: function() { - $(window).bind('scroll', function(){ - if($(window).scrollTop() == $(document).height() - $(window).height()){ - $(window).unbind('scroll'); + $(document).endlessScroll({ + bottomPixels: 400, + fireDelay: 1000, + fireOnce:true, + ceaseFire: function() { + return NoteList.disable; + }, + callback: function(i) { NoteList.getOld(); } - }); + }); } } diff --git a/app/assets/javascripts/pager.js b/app/assets/javascripts/pager.js index f34f198d850..d42ae1e05d1 100644 --- a/app/assets/javascripts/pager.js +++ b/app/assets/javascripts/pager.js @@ -1,11 +1,10 @@ var Pager = { - ref:null, limit:0, offset:0, + disable:false, init: - function(ref, limit) { - this.ref=ref; + function(limit) { this.limit=limit; this.offset=limit; this.initLoadMore(); @@ -28,17 +27,24 @@ var Pager = { $(".content_list").append(html); if(count > 0) { this.offset += count; - this.initLoadMore(); + } else { + this.disable = true; } }, initLoadMore: function() { - $(window).bind('scroll', function(){ - if($(window).scrollTop() == $(document).height() - $(window).height()){ - $(window).unbind('scroll'); + $(document).endlessScroll({ + bottomPixels: 400, + fireDelay: 1000, + fireOnce:true, + ceaseFire: function() { + return Pager.disable; + }, + callback: function(i) { + $('.loading').show(); Pager.getOld(); } - }); + }); } } diff --git a/app/assets/javascripts/projects.js b/app/assets/javascripts/projects.js deleted file mode 100644 index 90de73a112d..00000000000 --- a/app/assets/javascripts/projects.js +++ /dev/null @@ -1,42 +0,0 @@ -var ProjectsList = { - limit:0, - offset:0, - - init: - function(limit) { - this.limit=limit; - this.offset=limit; - this.initLoadMore(); - }, - - getOld: - function() { - $('.loading').show(); - $.ajax({ - type: "GET", - url: location.href, - data: "limit=" + this.limit + "&offset=" + this.offset, - complete: function(){ $('.loading').hide()}, - dataType: "script"}); - }, - - append: - function(count, html) { - $(".tile").append(html); - if(count > 0) { - this.offset += count; - this.initLoadMore(); - } - }, - - initLoadMore: - function() { - $(window).bind('scroll', function(){ - if($(window).scrollTop() == $(document).height() - $(window).height()){ - $(window).unbind('scroll'); - $('.loading').show(); - ProjectsList.getOld(); - } - }); - } -} |