Commit 5eecbfdb authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

commit paging fixes

parent 586c53ea
...@@ -7,3 +7,51 @@ $(document).ready(function(){ ...@@ -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 ...@@ -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 @@ ...@@ -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 @@ ...@@ -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);
});
$("#more-commits-link").remove();
$('#<%= dom_id(@project)%>').append('<%= escape_javascript(render("commits")) %>');
:plain
CommitsList.append(#{@commits.count}, "#{escape_javascript(render(:partial => 'commits/commits'))}");
...@@ -2,11 +2,7 @@ ...@@ -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 @@ ...@@ -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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment