]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Fix for bug 236424: Allow showdependencies trees to collapse. Adds
authorkiko%async.com.br <>
Wed, 17 Mar 2004 07:06:03 +0000 (07:06 +0000)
committerkiko%async.com.br <>
Wed, 17 Mar 2004 07:06:03 +0000 (07:06 +0000)
[optional] Javascript-enabled +/- controls that allow branches in the
dependency tree to collapse. Patch by Mike Shaver <shaver@mozilla.org>,
minor cleanups by me, r=myk, kiko, a=justdave.

template/en/default/bug/dependency-tree.html.tmpl

index 7d32c8acc612684a086e3f9cae863ac84a359a08..b0da74a1745e6e60c747f08e8cac3bb01d0a889a 100644 (file)
@@ -90,6 +90,8 @@
   [% FOREACH dep_id = tree.$bug_id.dependencies %]
     [% dep = tree.$dep_id %]
     <li>
+      [% "<script>document.write('<a href=\"#\" class=\"toggle\" onclick=\"listToggle(event); return false\">[-]</a>')</script>"
+         IF dep.dependencies.size > 0 && !dep.seen %]
       [% "<strike>" IF !dep.open %]
       <a href="show_bug.cgi?id=[% dep_id %]">[% dep_id %]
         [[% IF dep.milestone %][% dep.milestone FILTER html %], [% END %]
 [%# Block for depth control toolbar                                         #%]
 [%###########################################################################%]
 
+ <script type="text/javascript" language="JavaScript">
+if (!Node) {
+    /* MSIE doesn't define Node, so provide a compatibility array */
+    var Node = { TEXT_NODE: 3, };
+}
+
+function toggleDisplay(node)
+{
+    var display = node.style.display;
+    if (display == "none") {
+        node.style.display =
+           ("oldDisplay" in node) ? node.oldDisplay : "block";
+        return true;
+    }
+
+    node.oldDisplay = display;
+    node.style.display = "none";
+    return false;
+}
+
+function listToggle(event)
+{
+    var node = event.target;
+    if (node.nodeType == Node.TEXT_NODE)
+        node = node.parentNode;
+    var toggle = node.nextSibling;
+    while (toggle && toggle.tagName != "UL")
+      toggle = toggle.nextSibling;
+    if (toggle) {
+      node.firstChild.data = toggleDisplay(toggle) ? "[-]" : "[+]";
+    }
+}
+
+ </script>
 [% BLOCK depthControlToolbar %]
  <table cellpadding="3" border="0" cellspacing="0" bgcolor="#d0d0d0">
  <tr>
    </td>
  </tr>
 </table>
+
 [% END %]