function toggle_comment_display(link, comment_id) {
var comment = document.getElementById('comment_text_' + comment_id);
- var re = new RegExp(/\bcollapsed\b/);
- if (comment.className.match(re))
+ if (YAHOO.util.Dom.hasClass(comment, 'collapsed')) {
expand_comment(link, comment, comment_id);
- else
+ } else {
collapse_comment(link, comment, comment_id);
+ }
}
function toggle_all_comments(action) {
function expand_comment(link, comment, comment_id) {
link.innerHTML = "[−]";
+ YAHOO.util.Dom.addClass('cr' + comment_id, 'collapsed');
+ YAHOO.util.Dom.removeClass('c' + comment_id, 'bz_default_collapsed');
YAHOO.util.Dom.removeClass(comment, 'collapsed');
YAHOO.util.Dom.removeClass('comment_tag_' + comment_id, 'collapsed');
}
padding: 1em 0;
}
+.bz_comment_collapse_reason,
+.bz_default_collapsed .bz_comment_number {
+ font-weight: normal;
+}
+
/** End Comments **/
.bz_default_hidden, .bz_tui_hidden, .bz_hidden_field, .bz_hidden_option {
padding: 0.5em 1em;
}
-.collapsed {
+.collapsed,
+.bz_default_collapsed .bz_private_checkbox,
+.bz_default_collapsed .bz_comment_user,
+.bz_default_collapsed .bz_comment_user_images,
+.bz_default_collapsed .bz_comment_time,
+.bz_default_collapsed .bz_comment_tags,
+.bz_default_collapsed .bz_comment_text,
+.bz_default_collapsed .bz_collapsed_actions
+{
display: none;
}
[% RETURN IF comment_text == '' AND (comment.work_time - 0) != 0 AND !user.is_timetracker %]
<div id="c[% comment.count %]" class="bz_comment[% " bz_private" IF comment.is_private %]
+ [% " bz_default_collapsed" IF comment.collapsed %]
[% " bz_comment_hilite" IF marks.${comment.count} %]
[% " bz_first_comment" IF comment.count == 0 %]">
[% IF comment.count == 0 %]
<div class="[% class_name FILTER html %]">
[% IF mode == "edit" %]
<span class="bz_comment_actions">
+ [% IF comment.collapsed %]
+ <span class="bz_collapsed_actions">
+ [% END %]
[% IF bug.check_can_change_field('longdesc', 0, 1) %]
[% IF user.can_tag_comments %]
[<a href="#"
[% END %]
>reply</a>]
[% END %]
+ [% IF comment.collapsed %]
+ </span>
+ [% END %]
+ <script type="text/javascript">
+ addCollapseLink([% comment.count %], [% comment.collapsed FILTER js %], 'Toggle comment display');
+ </script>
+ </span>
+ [% ELSIF comment.collapsed %]
+ <span class="bz_comment_actions">
<script type="text/javascript">
addCollapseLink([% comment.count %], [% comment.collapsed FILTER js %], 'Toggle comment display');
</script>
<span class="bz_comment_time">
[%+ comment.creation_ts FILTER time %]
</span>
+
+ [% IF comment.collapsed %]
+ <span id="cr[% comment.count %]" class="bz_comment_collapse_reason"
+ title="[% comment.author.name || comment.author.login FILTER html %]
+ [%~ %] [[% comment.creation_ts FILTER time %]]">
+ Comment hidden ([% comment.tags.join(', ') FILTER html %])
+ </span>
+ [% END %]
</div>
[% IF user.is_timetracker &&
[% IF user.id && Param('comment_taggers_group') %]
<div id="comment_tag_[% comment.count FILTER html %]"
- class="bz_comment_tags[% " collapsed" IF comment.collapsed %]">
+ class="bz_comment_tags">
<span id="ct_[% comment.count %]"
class="[% 'bz_default_hidden' UNLESS comment.tags.size %]">
[% IF comment.tags.size %]
# generated HTML
#%]
<pre class="bz_comment_text[% " collapsed" IF comment.collapsed %]"
- [% ' id="comment_text_' _ comment.count _ '"' IF mode == "edit" %]>
+ [% IF mode == "edit" || comment.collapsed %]
+ id="comment_text_[% comment.count FILTER none %]"
+ [% END %]>
[%- comment_text FILTER quoteUrls(bug, comment) -%]
</pre>
</div>