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
|
||||
|
||||
@repo = project.repo
|
||||
limit, offset = (params[:limit] || 20), (params[:offset] || 0)
|
||||
|
||||
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
|
||||
@commits = @repo.commits(@ref, params[:limit] || 100, params[:offset] || 0)
|
||||
@commits = @repo.commits(@ref, limit, offset)
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
|
|
|
@ -22,4 +22,3 @@
|
|||
%strong= commit.author_name
|
||||
= time_ago_in_words(commit.committed_date)
|
||||
ago
|
||||
= more_commits_link if @commits.size > 99
|
||||
|
|
|
@ -15,4 +15,14 @@
|
|||
.right= render :partial => "projects/refs", :locals => { :destination => project_commits_path(@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
|
||||
%head
|
||||
%title
|
||||
GitLab #{" - #{@project.name}" if @project && !@project.new_record?}
|
||||
-#= 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"
|
||||
GitLab
|
||||
= stylesheet_link_tag "application"
|
||||
= javascript_include_tag "application"
|
||||
= csrf_meta_tags
|
||||
|
@ -17,6 +13,5 @@
|
|||
#container
|
||||
= render :partial => "layouts/flash"
|
||||
= render :partial => "layouts/head_panel"
|
||||
%div{ :id => "main", :role => "main", :class => "container_4" }
|
||||
= render :partial => "layouts/page_title"
|
||||
= yield
|
||||
= render :partial => "layouts/page_title"
|
||||
= yield
|
||||
|
|
Loading…
Add table
Reference in a new issue