return _chosen.apply(this, [default_options]);
}})
})(jQuery);
+
+
+function ajaxGet(url) {
+ $.ajax({type: "GET", url: url, dataType: "script"});
+}
end
active ? "current" : nil
end
+
+ def hexdigest(string)
+ Digest::SHA1.hexdigest string
+ end
end
--- /dev/null
+module TreeHelper
+ def tree_icon(content)
+ if content.is_a?(Grit::Blob)
+ if content.text?
+ image_tag "file_txt.png"
+ elsif content.image?
+ image_tag "file_img.png"
+ else
+ image_tag "file_bin.png"
+ end
+ else
+ image_tag "file_dir.png"
+ end
+ end
+
+ def tree_hex_class(content)
+ "file_#{hexdigest(content.name)}"
+ end
+
+ def tree_full_path(content)
+ if params[:path]
+ File.join(params[:path], content.name)
+ else
+ content.name
+ end
+ end
+end
%td
%td
+ - index = 0
- contents.select{ |i| i.is_a?(Grit::Tree)}.each do |content|
- = render :partial => "refs/tree_item", :locals => { :content => content }
+ = render :partial => "refs/tree_item", :locals => { :content => content, :index => (index += 1) }
- contents.select{ |i| i.is_a?(Grit::Blob)}.each do |content|
- = render :partial => "refs/tree_item", :locals => { :content => content }
+ = render :partial => "refs/tree_item", :locals => { :content => content, :index => (index += 1) }
- contents.select{ |i| i.is_a?(Grit::Submodule)}.each do |content|
- = render :partial => "refs/submodule_item", :locals => { :content => content }
+ = render :partial => "refs/submodule_item", :locals => { :content => content, :index => (index += 1) }
- if content = contents.select{ |c| c.is_a?(Grit::Blob) and c.name =~ /^readme/i }.first
.file_holder#README
});
+ // Load last commit log for each file in tree
$(window).load(function(){
- $.ajax({type: "GET", url: '#{@logs_path}', dataType: "script"});
+ ajaxGet('#{@logs_path}');
});
-- file = params[:path] ? File.join(params[:path], content.name) : content.name
-%tr{ :class => "tree-item file_#{Digest::SHA1.hexdigest(content.name)}", :url => tree_file_project_ref_path(@project, @ref, file) }
+- file = tree_full_path(content)
+%tr{ :class => "tree-item #{tree_hex_class(content)}", :url => tree_file_project_ref_path(@project, @ref, file) }
%td.tree-item-file-name
- - if content.is_a?(Grit::Blob)
- - if content.text?
- = image_tag "file_txt.png", :class => "tree-ico"
- - elsif content.image?
- = image_tag "file_img.png", :class => "tree-ico"
- - else
- = image_tag "file_bin.png", :class => "tree-ico"
- - else
- = image_tag "file_dir.png", :class => "tree-ico"
+ = tree_icon(content)
= link_to truncate(content.name, :length => 40), tree_file_project_ref_path(@project, @ref || @commit.id, file), :remote => :true
%td.tree_time_ago.cgray
+ - if index == 1
+ %span.log_loading
+ Loading commit data..
+ = image_tag "ajax_loader_tree.gif", :width => 14
%td.tree_commit
- tm = @project.team_member_by_name_or_email(content_commit.author_email, content_commit.author_name)
:plain
- var row = $("table.table_#{@hex_path} tr.file_#{Digest::SHA1.hexdigest(file_name)}");
+ var row = $("table.table_#{@hex_path} tr.file_#{hexdigest(file_name)}");
row.find("td.tree_time_ago").html('#{escape_javascript(time_ago_in_words(content_commit.committed_date))} ago');
row.find("td.tree_commit").html('#{escape_javascript(render("tree_commit", :tm => tm, :content_commit => content_commit))}');
:plain
+ // Load Files list
$("#tree-holder").html("#{escape_javascript(render(:partial => "tree", :locals => {:repo => @repo, :commit => @commit, :tree => @tree}))}");
$("#tree-content-holder").show("slide", { direction: "right" }, 150);
$('.project-refs-form #path').val("#{params[:path]}");
-
+ // Load last commit log for each file in tree
$('#tree-slider').waitForImages(function() {
- $.ajax({type: "GET", url: '#{@logs_path}', dataType: "script"});
+ ajaxGet('#{@logs_path}');
});