commit paging fixes
This commit is contained in:
parent
586c53ea05
commit
5eecbfdb10
7 changed files with 68 additions and 14 deletions
|
@ -7,3 +7,51 @@ $(document).ready(function(){
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var CommitsList = {
|
||||||
|
|
||||||
|
ref:null,
|
||||||
|
limit:0,
|
||||||
|
offset:0,
|
||||||
|
|
||||||
|
init:
|
||||||
|
function(ref, limit) {
|
||||||
|
this.ref=ref;
|
||||||
|
this.limit=limit;
|
||||||
|
this.offset=limit;
|
||||||
|
this.initLoadMore();
|
||||||
|
$('.loading').show();
|
||||||
|
},
|
||||||
|
|
||||||
|
getOld:
|
||||||
|
function() {
|
||||||
|
$('.loading').show();
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: location.href,
|
||||||
|
data: "limit=" + this.limit + "&offset=" + this.offset + "&ref=" + this.ref,
|
||||||
|
complete: function(){ $('.loading').hide()},
|
||||||
|
dataType: "script"});
|
||||||
|
},
|
||||||
|
|
||||||
|
append:
|
||||||
|
function(count, html) {
|
||||||
|
$("#commits_list").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');
|
||||||
|
CommitsList.getOld();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -13,11 +13,12 @@ class CommitsController < ApplicationController
|
||||||
load_refs # load @branch, @tag & @ref
|
load_refs # load @branch, @tag & @ref
|
||||||
|
|
||||||
@repo = project.repo
|
@repo = project.repo
|
||||||
|
limit, offset = (params[:limit] || 20), (params[:offset] || 0)
|
||||||
|
|
||||||
if params[:path]
|
if params[:path]
|
||||||
@commits = @repo.log(@ref, params[:path], :max_count => params[:limit] || 100, :skip => params[:offset] || 0)
|
@commits = @repo.log(@ref, params[:path], :max_count => limit, :skip => offset)
|
||||||
else
|
else
|
||||||
@commits = @repo.commits(@ref, params[:limit] || 100, params[:offset] || 0)
|
@commits = @repo.commits(@ref, limit, offset)
|
||||||
end
|
end
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
|
@ -22,4 +22,3 @@
|
||||||
%strong= commit.author_name
|
%strong= commit.author_name
|
||||||
= time_ago_in_words(commit.committed_date)
|
= time_ago_in_words(commit.committed_date)
|
||||||
ago
|
ago
|
||||||
= more_commits_link if @commits.size > 99
|
|
||||||
|
|
|
@ -15,4 +15,14 @@
|
||||||
.right= render :partial => "projects/refs", :locals => { :destination => project_commits_path(@project) }
|
.right= render :partial => "projects/refs", :locals => { :destination => project_commits_path(@project) }
|
||||||
|
|
||||||
%div{:id => dom_id(@project)}
|
%div{:id => dom_id(@project)}
|
||||||
= render "commits"
|
#commits_list= render "commits"
|
||||||
|
.clear
|
||||||
|
.loading{ :style => "display:none;"}
|
||||||
|
%center= image_tag "ajax-loader.gif"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
:javascript
|
||||||
|
$(function(){
|
||||||
|
CommitsList.init("#{@ref}", 20);
|
||||||
|
});
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
$("#more-commits-link").remove();
|
|
||||||
$('#<%= dom_id(@project)%>').append('<%= escape_javascript(render("commits")) %>');
|
|
3
app/views/commits/index.js.haml
Normal file
3
app/views/commits/index.js.haml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
:plain
|
||||||
|
CommitsList.append(#{@commits.count}, "#{escape_javascript(render(:partial => 'commits/commits'))}");
|
||||||
|
|
|
@ -2,11 +2,7 @@
|
||||||
%html
|
%html
|
||||||
%head
|
%head
|
||||||
%title
|
%title
|
||||||
GitLab #{" - #{@project.name}" if @project && !@project.new_record?}
|
GitLab
|
||||||
-#= stylesheet_link_tag 'blueprint/screen', :media => "screen, projection"
|
|
||||||
-#= stylesheet_link_tag 'blueprint/print', :media => "print"
|
|
||||||
-#= stylesheet_link_tag 'blueprint/plugins/buttons/screen', :media => "screen, projection"
|
|
||||||
-#= stylesheet_link_tag 'blueprint/plugins/link-icons/screen', :media => "screen, projection"
|
|
||||||
= stylesheet_link_tag "application"
|
= stylesheet_link_tag "application"
|
||||||
= javascript_include_tag "application"
|
= javascript_include_tag "application"
|
||||||
= csrf_meta_tags
|
= csrf_meta_tags
|
||||||
|
@ -17,6 +13,5 @@
|
||||||
#container
|
#container
|
||||||
= render :partial => "layouts/flash"
|
= render :partial => "layouts/flash"
|
||||||
= render :partial => "layouts/head_panel"
|
= render :partial => "layouts/head_panel"
|
||||||
%div{ :id => "main", :role => "main", :class => "container_4" }
|
= render :partial => "layouts/page_title"
|
||||||
= render :partial => "layouts/page_title"
|
= yield
|
||||||
= yield
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue