]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 956892: collapsed comments should display tags to indicate the reason for auto...
authorByron Jones <glob@mozilla.com>
Mon, 16 Jun 2014 07:46:58 +0000 (15:46 +0800)
committerByron Jones <glob@mozilla.com>
Mon, 16 Jun 2014 07:46:58 +0000 (15:46 +0800)
r=gerv,a=sgreen

js/comments.js
skins/standard/global.css
template/en/default/bug/comments.html.tmpl

index 9150c72ec06c812a5438d42a1c2b2888c2d29bdd..43e6fe96ec7accc7ecaf79038f0f804a4f30b4ea 100644 (file)
@@ -23,11 +23,11 @@ function updateCommentPrivacy(checkbox, id) {
 
 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) {
@@ -61,6 +61,8 @@ function collapse_comment(link, comment, comment_id) {
 
 function expand_comment(link, comment, comment_id) {
     link.innerHTML = "[&minus;]";
+    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');
 }
index 848cafe040e90a09506f438715df226de4e7341a..74005319a0ba78952bed451d9c2bc1306cc1e1d7 100644 (file)
@@ -372,6 +372,11 @@ div#docslinks {
     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 {
@@ -558,7 +563,15 @@ div.user_match {
     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;
 }
 
index ea3cfd0de60f918207664dad37613d2bcd51ce25..31426922725144b982dedbf5c5b15905316f0db4 100644 (file)
   [% 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>