]> source.dussan.org Git - redmine.git/commitdiff
Adds links to repository directories in the browser (#1094).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 15 Jun 2008 11:40:13 +0000 (11:40 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 15 Jun 2008 11:40:13 +0000 (11:40 +0000)
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1544 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/views/repositories/_dir_list_content.rhtml
public/images/bullet_toggle_minus.png [new file with mode: 0644]
public/images/bullet_toggle_plus.png [new file with mode: 0644]
public/stylesheets/application.css

index c3bd56e099b0758206f7edbbb1b5c5d34682294b..c3021653332af5956b35253379692003f4da45dd 100644 (file)
@@ -1,26 +1,18 @@
 <% @entries.each do |entry| %>
 <% tr_id = Digest::MD5.hexdigest(entry.path)
    depth = params[:depth].to_i %>
-<tr id="<%= tr_id %>" class="<%= params[:parent_id] %> entry">
-<td class="filename">
-<%= if entry.is_dir?
-  link_to_remote h(entry.name),
-                 {:url => {:action => 'browse', :id => @project, :path => entry.path, :rev => @rev, :depth => (depth + 1), :parent_id => tr_id},
+<tr id="<%= tr_id %>" class="<%= params[:parent_id] %> entry <%= entry.kind %>">
+<td style="padding-left: <%=18 * depth%>px;" class="filename">
+<% if entry.is_dir? %>
+<span class="expander" onclick="<%=  remote_function :url => {:action => 'browse', :id => @project, :path => entry.path, :rev => @rev, :depth => (depth + 1), :parent_id => tr_id},
                   :update => { :success => tr_id },
                   :position => :after,
                   :success => "scmEntryLoaded('#{tr_id}')",
-                  :condition => "scmEntryClick('#{tr_id}')"
-                 },
-                 {: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),
+                  :condition => "scmEntryClick('#{tr_id}')"%>">&nbsp</span>
+<% end %>
+<%=  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 %>
+          :class => (entry.is_dir? ? 'icon icon-folder' : 'icon icon-file')%>
 </td>
 <td class="size"><%= (entry.size ? number_to_human_size(entry.size) : "?") unless entry.is_dir? %></td>
 <td class="revision"><%= link_to(format_revision(entry.lastrev.name), :action => 'revision', :id => @project, :rev => entry.lastrev.identifier) if entry.lastrev && entry.lastrev.identifier %></td>
diff --git a/public/images/bullet_toggle_minus.png b/public/images/bullet_toggle_minus.png
new file mode 100644 (file)
index 0000000..5ce7593
Binary files /dev/null and b/public/images/bullet_toggle_minus.png differ
diff --git a/public/images/bullet_toggle_plus.png b/public/images/bullet_toggle_plus.png
new file mode 100644 (file)
index 0000000..b3603d3
Binary files /dev/null and b/public/images/bullet_toggle_plus.png differ
index dd942c8195e7789eb008416429e9e7613937785f..d87b3bf2bd87f39d35513291ab3385c7e62d8562 100644 (file)
@@ -97,6 +97,10 @@ tr.entry td.size { text-align: right; font-size: 90%; }
 tr.entry td.revision, tr.entry td.author { text-align: center; }
 tr.entry td.age { text-align: right; }
 
+tr.entry span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;}
+tr.entry.open span.expander {background-image: url(../images/bullet_toggle_minus.png);}
+tr.entry.file td.filename a { margin-left: 16px; }
+
 tr.changeset td.author { text-align: center; width: 15%; }
 tr.changeset td.committed_on { text-align: center; width: 15%; }