diff -r 6433fb065032 -r 71fe2451b6dc app/views/issues/_history.html.erb --- a/app/views/issues/_history.html.erb Fri Dec 12 09:20:05 2014 +0100 +++ b/app/views/issues/_history.html.erb Wed Jan 07 15:03:04 2015 +0100 @@ -1,12 +1,21 @@ <% reply_links = authorize_for('issues', 'edit') -%> +
<% for journal in journals %> -
+
+

<%= link_to "##{journal.indice}", {:anchor => "note-#{journal.indice}"}, :class => "journal-link" %> <%= avatar(journal.user, :size => "24") %> + +   <%= authoring journal.created_on, journal.user, :label => :label_updated_time_by %> + <%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}", + "toggleAllExpanderDivs(this)", :class => 'toggle-all') %> + <%= content_tag('span', l(:field_is_private), :class => 'private') if journal.private_notes? %>

+
+
<% if journal.details.any? %>
    <% details_to_strings(journal.visible_details).each do |string| %> @@ -16,8 +25,10 @@ <% end %> <%= render_notes(issue, journal, :reply_links => reply_links) unless journal.notes.blank? %>
+
<%= call_hook(:view_issues_history_journal_bottom, { :journal => journal }) %> <% end %> +
<% heads_for_wiki_formatter if User.current.allowed_to?(:edit_issue_notes, issue.project) || User.current.allowed_to?(:edit_own_issue_notes, issue.project) %> diff -r 6433fb065032 -r 71fe2451b6dc app/views/issues/show.html.erb --- a/app/views/issues/show.html.erb Fri Dec 12 09:20:05 2014 +0100 +++ b/app/views/issues/show.html.erb Wed Jan 07 15:03:04 2015 +0100 @@ -71,16 +71,24 @@ <% if @issue.description? || @issue.attachments.any? -%>
<% if @issue.description? %> -
-
- <%= link_to l(:button_quote), quoted_issue_path(@issue), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %> +
+
+
+
+ <%= link_to l(:button_quote), quoted_issue_path(@issue), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %> +
+ +

+   + <%=l(:field_description)%> +

- -

<%=l(:field_description)%>

-
- <%= textilizable @issue, :description, :attachments => @issue.attachments %> +
+
+ <%= textilizable @issue, :description, :attachments => @issue.attachments %> +
-
+
<% end %> <%= link_to_attachments @issue, :thumbnails => true %> <% end -%> diff -r 6433fb065032 -r 71fe2451b6dc public/javascripts/application.js --- a/public/javascripts/application.js Fri Dec 12 09:20:05 2014 +0100 +++ b/public/javascripts/application.js Wed Jan 07 15:03:04 2015 +0100 @@ -62,6 +62,46 @@ } } +function toggleExpanderDiv(el) { + var expItem = $(el).parents('div.expander-item').first(); + var n = expItem.next(); + expItem.toggleClass('open'); + while (n.length && !n.hasClass('group')) { + n.toggle(); + n = n.next('expItem'); + } +} + +function collapseAllExpanderDivs(el) { + var exp = $(el).parents('div.expander').first(); + exp.find('div.expander-item').each(function(index) { + if ($(this).hasClass('group')) { + $(this).removeClass('open'); + } else { + $(this).hide(); + } + }); +} +function expandAllExpanderDivs(el) { + var exp = $(el).parents('div.expander').first(); + exp.find('div.expander-item').each(function(index) { + if ($(this).hasClass('group')) { + $(this).addClass('open'); + } else { + $(this).show(); + } + }); +} + +function toggleAllExpanderDivs(el) { + var expItem = $(el).parents('div.expander-item').first(); + if (expItem.hasClass('open')) { + collapseAllExpanderDivs(el); + } else { + expandAllExpanderDivs(el); + } +} + function toggleFieldset(el) { var fieldset = $(el).parents('fieldset').first(); fieldset.toggleClass('collapsed'); diff -r 6433fb065032 -r 71fe2451b6dc public/stylesheets/application.css --- a/public/stylesheets/application.css Fri Dec 12 09:20:05 2014 +0100 +++ b/public/stylesheets/application.css Wed Jan 07 15:03:04 2015 +0100 @@ -180,8 +180,8 @@ tr.entry.file td.filename a { margin-left: 16px; } tr.entry.file td.filename_no_report a { margin-left: 16px; } -tr span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;} -tr.open span.expander {background-image: url(../images/bullet_toggle_minus.png);} +tr span.expander, div span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;} +tr.open span.expander, div.open span.expander {background-image: url(../images/bullet_toggle_minus.png);} tr.changeset { height: 20px } tr.changeset ul, ol { margin-top: 0px; margin-bottom: 0px; } @@ -230,8 +230,8 @@ table.list tbody tr.group td { padding: 0.8em 0 0.5em 0.3em; font-weight: bold; border-bottom: 1px solid #ccc; text-align:left; } table.list tbody tr.group span.count {position:relative; top:-1px; color:#fff; font-size:10px; background:#9DB9D5; padding:0px 6px 1px 6px; border-radius:3px; margin-left:4px;} -tr.group a.toggle-all { color: #aaa; font-size: 80%; font-weight: normal; display:none;} -tr.group:hover a.toggle-all { display:inline;} +tr.group a.toggle-all, div.group a.toggle-all { color: #aaa; font-size: 80%; font-weight: normal; display:none;} +tr.group:hover a.toggle-all, div.group:hover a.toggle-all { display:inline;} a.toggle-all:hover {text-decoration:none;} table.list tbody tr:hover { background-color:#ffffdd; }