##// END OF EJS Templates
Extract grouping logic to an helper....
Jean-Philippe Lang -
r13590:3519083dbe4b
parent child
Show More
@@ -32,6 +32,24 module IssuesHelper
32 end
32 end
33 end
33 end
34
34
35 def grouped_issue_list(issues, query, issue_count_by_group, &block)
36 previous_group, first = false, true
37 issue_list(issues) do |issue, level|
38 group_name = group_count = nil
39 if query.grouped? && ((group = query.group_by_column.value(issue)) != previous_group || first)
40 if group.blank? && group != false
41 group_name = l(:label_none)
42 else
43 group_name = column_content(query.group_by_column, issue)
44 end
45 group_name ||= ""
46 group_count = issue_count_by_group[group]
47 end
48 yield issue, level, group_name, group_count
49 previous_group, first = group, false
50 end
51 end
52
35 # Renders a HTML/CSS tooltip
53 # Renders a HTML/CSS tooltip
36 #
54 #
37 # To use, a trigger div is needed. This is a div with the class of "tooltip"
55 # To use, a trigger div is needed. This is a div with the class of "tooltip"
@@ -14,20 +14,18
14 <% end %>
14 <% end %>
15 </tr>
15 </tr>
16 </thead>
16 </thead>
17 <% previous_group, first = false, true %>
18 <tbody>
17 <tbody>
19 <% issue_list(issues) do |issue, level| -%>
18 <% grouped_issue_list(issues, @query, @issue_count_by_group) do |issue, level, group_name, group_count| -%>
20 <% if @query.grouped? && ((group = @query.group_by_column.value(issue)) != previous_group || first) %>
19 <% if group_name %>
21 <% reset_cycle %>
20 <% reset_cycle %>
22 <tr class="group open">
21 <tr class="group open">
23 <td colspan="<%= query.inline_columns.size + 2 %>">
22 <td colspan="<%= query.inline_columns.size + 2 %>">
24 <span class="expander" onclick="toggleRowGroup(this);">&nbsp;</span>
23 <span class="expander" onclick="toggleRowGroup(this);">&nbsp;</span>
25 <%= (group.blank? && group != false) ? l(:label_none) : column_content(@query.group_by_column, issue) %> <span class="count"><%= @issue_count_by_group[group] %></span>
24 <%= group_name %> <span class="count"><%= group_count %></span>
26 <%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}",
25 <%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}",
27 "toggleAllRowGroups(this)", :class => 'toggle-all') %>
26 "toggleAllRowGroups(this)", :class => 'toggle-all') %>
28 </td>
27 </td>
29 </tr>
28 </tr>
30 <% previous_group, first = group, false %>
31 <% end %>
29 <% end %>
32 <tr id="issue-<%= issue.id %>" class="hascontextmenu <%= cycle('odd', 'even') %> <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
30 <tr id="issue-<%= issue.id %>" class="hascontextmenu <%= cycle('odd', 'even') %> <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
33 <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td>
31 <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td>
General Comments 0
You need to be logged in to leave comments. Login now