fixed unworking infinite scroll
This commit is contained in:
parent
48bc4fc214
commit
ece9f50fb1
11 changed files with 180 additions and 66 deletions
|
@ -10,6 +10,7 @@
|
|||
//= require jquery.ui.selectmenu
|
||||
//= require jquery.tagify
|
||||
//= require jquery.cookie
|
||||
//= require jquery.endless-scroll
|
||||
//= require modernizr
|
||||
//= require chosen
|
||||
//= require raphael
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
|
@ -13,7 +13,7 @@ class CommitsController < ApplicationController
|
|||
|
||||
def index
|
||||
@repo = project.repo
|
||||
@limit, @offset = (params[:limit] || 20), (params[:offset] || 0)
|
||||
@limit, @offset = (params[:limit] || 40), (params[:offset] || 0)
|
||||
@commits = @project.commits(@ref, params[:path], @limit, @offset)
|
||||
|
||||
respond_to do |format|
|
||||
|
|
|
@ -26,6 +26,6 @@
|
|||
- if @commits.count == @limit
|
||||
:javascript
|
||||
$(function(){
|
||||
CommitsList.init("#{@ref}", 20);
|
||||
CommitsList.init("#{@ref}", #{@limit});
|
||||
});
|
||||
|
||||
|
|
|
@ -14,3 +14,8 @@
|
|||
|
||||
- else
|
||||
:plain
|
||||
|
||||
- else
|
||||
- if params[:first_id]
|
||||
:plain
|
||||
NoteList.append(#{params[:first_id]}, "");
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
%small= "( #{current_user.projects.count} )"
|
||||
%hr
|
||||
- unless @projects.empty?
|
||||
%div.tile= render "tile"
|
||||
%div.content_list= render "tile"
|
||||
|
||||
-# If projects requris paging
|
||||
-# We add ajax loader & init script
|
||||
|
@ -13,7 +13,7 @@
|
|||
|
||||
:javascript
|
||||
$(function(){
|
||||
ProjectsList.init(16);
|
||||
Pager.init(#{@limit});
|
||||
});
|
||||
- else
|
||||
%h2 Nothing here
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
:plain
|
||||
ProjectsList.append(#{@projects.count}, "#{escape_javascript(render(:partial => 'projects/tile'))}");
|
||||
Pager.append(#{@projects.count}, "#{escape_javascript(render(:partial => 'projects/tile'))}");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue