]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 460799: Move JS code out of bug/comments.html.tmpl
authorEdmund Wong <ewong@pw-wspx.org>
Mon, 17 May 2010 15:02:53 +0000 (17:02 +0200)
committerFrédéric Buclin <LpSolit@gmail.com>
Mon, 17 May 2010 15:02:53 +0000 (17:02 +0200)
r/a=LpSolit

js/comments.js [new file with mode: 0644]
template/en/default/bug/comments.html.tmpl

diff --git a/js/comments.js b/js/comments.js
new file mode 100644 (file)
index 0000000..79bdae8
--- /dev/null
@@ -0,0 +1,88 @@
+/* The contents of this file are subject to the Mozilla Public
+ * License Version 1.1 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS
+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * rights and limitations under the License.
+ *
+ * The Original Code is the Bugzilla Bug Tracking System.
+ *
+ * The Initial Developer of the Original Code is Netscape Communications
+ * Corporation. Portions created by Netscape are
+ * Copyright (C) 1998 Netscape Communications Corporation. All
+ * Rights Reserved.
+ *
+ * Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
+ *                 Max Kanat-Alexander <mkanat@bugzilla.org>
+ *                 Edmund Wong <ewong@pw-wspx.org>
+ */
+
+function updateCommentPrivacy(checkbox, id) {
+    var comment_elem = document.getElementById('comment_text_'+id).parentNode;
+    if (checkbox.checked) {
+      if (!comment_elem.className.match('bz_private')) {
+        comment_elem.className = comment_elem.className.concat(' bz_private');
+      }
+    }
+    else {
+      comment_elem.className =
+        comment_elem.className.replace(/(\s*|^)bz_private(\s*|$)/, '$2');
+    }
+}
+
+/* The functions below expand and collapse comments  */
+
+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))
+        expand_comment(link, comment);
+    else
+        collapse_comment(link, comment);
+}
+
+function toggle_all_comments(action, comments_size) {
+    var num_comments = comments_size;
+
+    // If for some given ID the comment doesn't exist, this doesn't mean
+    // there are no more comments, but that the comment is private and
+    // the user is not allowed to view it.
+
+    for (var id = 0; id < num_comments; id++) {
+        var comment = document.getElementById('comment_text_' + id);
+        if (!comment)
+            continue;
+
+        var link = document.getElementById('comment_link_' + id);
+        if (action == 'collapse')
+            collapse_comment(link, comment);
+        else
+            expand_comment(link, comment);
+    }
+}
+
+function collapse_comment(link, comment) {
+    link.innerHTML = "[+]";
+    link.title = "Expand the comment.";
+    YAHOO.util.Dom.addClass(comment, 'collapsed');
+}
+
+function expand_comment(link, comment) {
+    link.innerHTML = "[-]";
+    link.title = "Collapse the comment";
+    YAHOO.util.Dom.removeClass(comment, 'collapsed');
+}
+
+/* This way, we are sure that browsers which do not support JS
+   * won't display this link  */
+
+function addCollapseLink(count) {
+    document.write(' <a href="#" class="bz_collapse_comment"' +
+                   ' id="comment_link_' + count +
+                   '" onclick="toggle_comment_display(this, ' +  count +
+                   '); return false;" title="Collapse the comment.">[-]<\/a> ');
+}
+
index 93b954e87699be5a58c4f471b09dfdf959e2f6d8..2f42bbcb716956a31182f3456c2143bc4c400798 100644 (file)
 
 [% PROCESS bug/time.html.tmpl %]
 
-  <script type="text/javascript">
-  <!--
-  function updateCommentPrivacy(checkbox, id) {
-    var comment_elem = document.getElementById('comment_text_'+id).parentNode;
-    if (checkbox.checked) {
-      if (!comment_elem.className.match('bz_private')) {
-        comment_elem.className = comment_elem.className.concat(' bz_private');
-      }
-    }
-    else {
-      comment_elem.className =
-        comment_elem.className.replace(/(\s*|^)bz_private(\s*|$)/, '$2');
-    }
-  }
-
-  /* The functions below expand and collapse comments  */
-
-  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))
-        expand_comment(link, comment);
-    else
-        collapse_comment(link, comment);
-  }
-
-  function toggle_all_comments(action) {
-    var num_comments = [% comments.size FILTER html %];
-
-    // If for some given ID the comment doesn't exist, this doesn't mean
-    // there are no more comments, but that the comment is private and
-    // the user is not allowed to view it.
-
-    for (var id = 0; id < num_comments; id++) {
-        var comment = document.getElementById('comment_text_' + id);
-        if (!comment)
-            continue;
-
-        var link = document.getElementById('comment_link_' + id);
-        if (action == 'collapse')
-            collapse_comment(link, comment);
-        else
-            expand_comment(link, comment);
-    }
-  }
-
-  function collapse_comment(link, comment) {
-    link.innerHTML = "[+]";
-    link.title = "Expand the comment.";
-    YAHOO.util.Dom.addClass(comment, 'collapsed');
-  }
-
-  function expand_comment(link, comment) {
-    link.innerHTML = "[-]";
-    link.title = "Collapse the comment";
-    YAHOO.util.Dom.removeClass(comment, 'collapsed');
-  }
-
-  /* This way, we are sure that browsers which do not support JS
-   * won't display this link  */
-
-  function addCollapseLink(count) {
-    document.write(' <a href="#" class="bz_collapse_comment"' +
-                   ' id="comment_link_' + count +
-                   '" onclick="toggle_comment_display(this, ' +  count +
-                   '); return false;" title="Collapse the comment.">[-]<\/a> ');
-  }
-  //-->
-  </script>
-
+<script src="js/comments.js" type="text/javascript">
+</script>
 
 [% DEFAULT start_at = 0 mode = "show" %]
 [% sort_order = user.settings.comment_sort_order.value %]
 <td>
   [% IF mode == "edit" %]
     <ul class="bz_collapse_expand_comments">
-      <li><a href="#" onclick="toggle_all_comments('collapse'); 
+      <li><a href="#" onclick="toggle_all_comments('collapse', [% comments.size %]); 
                                return false;">Collapse All Comments</a></li>
-      <li><a href="#" onclick="toggle_all_comments('expand');
+      <li><a href="#" onclick="toggle_all_comments('expand', [% comments.size %]);
                                return false;">Expand All Comments</a></li>
     </ul>
   [% END %]