diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-10-22 17:45:41 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-10-22 17:45:41 +0000 |
commit | 8ca4d35dcc466df18b0fa6a322d00b030b183d15 (patch) | |
tree | d6730f57a3defdf28c0a7dd7455b4ff9920eb35e /app/views | |
parent | b30b6717a271f06290c07479b7e26446f039e4df (diff) | |
download | redmine-8ca4d35dcc466df18b0fa6a322d00b030b183d15.tar.gz redmine-8ca4d35dcc466df18b0fa6a322d00b030b183d15.zip |
Added a bit of AJAX on the SCM browser (tree view).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@862 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/views')
-rw-r--r-- | app/views/repositories/_dir_list.rhtml | 21 | ||||
-rw-r--r-- | app/views/repositories/_dir_list_content.rhtml | 32 |
2 files changed, 37 insertions, 16 deletions
diff --git a/app/views/repositories/_dir_list.rhtml b/app/views/repositories/_dir_list.rhtml index 5555ee87e..b9c3fd54c 100644 --- a/app/views/repositories/_dir_list.rhtml +++ b/app/views/repositories/_dir_list.rhtml @@ -1,26 +1,15 @@ <table class="list"> -<thead><tr> +<thead> +<tr id="root"> <th><%= l(:field_name) %></th> <th><%= l(:field_filesize) %></th> <th><%= l(:label_revision) %></th> <th><%= l(:label_date) %></th> <th><%= l(:field_author) %></th> <th><%= l(:field_comments) %></th> -</tr></thead> -<tbody> -<% total_size = 0 -@entries.each do |entry| %> -<tr class="<%= cycle 'odd', 'even' %>"> -<td><%= link_to h(entry.name), { :action => (entry.is_dir? ? 'browse' : 'changes'), :id => @project, :path => entry.path, :rev => @rev }, :class => ("icon " + (entry.is_dir? ? 'icon-folder' : 'icon-file')) %></td> -<td align="right"><%= (entry.size ? number_to_human_size(entry.size) : "?") unless entry.is_dir? %></td> -<td align="right"><%= link_to(entry.lastrev.name, :action => 'revision', :id => @project, :rev => entry.lastrev.identifier) if entry.lastrev && entry.lastrev.identifier %></td> -<td align="center"><%= format_time(entry.lastrev.time) if entry.lastrev %></td> -<td align="center"><em><%=h(entry.lastrev.author) if entry.lastrev %></em></td> -<% changeset = @project.repository.changesets.find_by_revision(entry.lastrev.identifier) if entry.lastrev %> -<td><%=h truncate(changeset.comments, 100) unless changeset.nil? %></td> </tr> -<% total_size += entry.size if entry.size -end %> +</thead> +<tbody> +<%= render :partial => 'dir_list_content' %> </tbody> </table> -<p class="textright"><em><%= l(:label_total) %>: <%= number_to_human_size(total_size) %></em></p>
\ No newline at end of file diff --git a/app/views/repositories/_dir_list_content.rhtml b/app/views/repositories/_dir_list_content.rhtml new file mode 100644 index 000000000..742da4951 --- /dev/null +++ b/app/views/repositories/_dir_list_content.rhtml @@ -0,0 +1,32 @@ +<% @entries.each do |entry| %> +<% tr_id = Digest::MD5.hexdigest(entry.path) + depth = params[:depth].to_i %> +<tr id="<%= tr_id %>"> +<td> +<%= if entry.is_dir? + link_to_remote h(entry.name), + {:url => {:action => 'browse', :id => @project, :path => entry.path, :rev => @rev, :depth => (depth + 1)}, + :update => tr_id, + :position => :after, + :success => "Element.addClassName('#{tr_id}', 'open');", + :condition => "!Element.hasClassName('#{tr_id}', 'open')" + }, + {:href => url_for({:action => 'browse', :id => @project, :path => entry.path, :rev => @rev}), + :class => ('icon icon-folder'), + :style => "margin-left: #{18 * depth}px;" + } +else + link_to h(entry.name), + {:action => (entry.is_dir? ? 'browse' : 'changes'), :id => @project, :path => entry.path, :rev => @rev}, + :class => 'icon icon-file', + :style => "margin-left: #{18 * depth}px;" +end %> +</td> +<td align="right"><%= (entry.size ? number_to_human_size(entry.size) : "?") unless entry.is_dir? %></td> +<td align="right"><%= link_to(entry.lastrev.name, :action => 'revision', :id => @project, :rev => entry.lastrev.identifier) if entry.lastrev && entry.lastrev.identifier %></td> +<td align="center"><%= format_time(entry.lastrev.time) if entry.lastrev %></td> +<td align="center"><em><%=h(entry.lastrev.author) if entry.lastrev %></em></td> +<% changeset = @project.repository.changesets.find_by_revision(entry.lastrev.identifier) if entry.lastrev %> +<td><%=h truncate(changeset.comments, 50) unless changeset.nil? %></td> +</tr> +<% end %> |