]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 320275 !Node "compat" hack is very broken
authortimeless%mozdev.org <>
Mon, 19 Dec 2005 06:19:54 +0000 (06:19 +0000)
committertimeless%mozdev.org <>
Mon, 19 Dec 2005 06:19:54 +0000 (06:19 +0000)
r=myk a=justdave

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

index b8e0c79e1e29abe4787d146b5f211ce3ffb83fae..8b5ecd59c31c84fe5fdbfcfca1ed69a280639bfb 100644 (file)
 [% END %]
 
 <script type="text/javascript">
-if (!Node) {
-    /* MSIE doesn't define Node, so provide a compatibility array */
-    var Node = { TEXT_NODE: 3 };
+if (typeof Node == 'undefined') {
+    /* MSIE doesn't define Node, so provide a compatibility object */
+    window.Node = {
+        TEXT_NODE: 3
+    };
 }
 
 function toggleDisplay(node)
@@ -119,7 +121,7 @@ function toggleDisplay(node)
     var display = node.style.display;
     if (display == "none") {
         node.style.display =
-           ("oldDisplay" in node) ? node.oldDisplay : "block";
+            ("oldDisplay" in node) ? node.oldDisplay : "block";
         return true;
     }
 
@@ -132,18 +134,18 @@ function listToggle(event)
 {
     var node = event.target;
     if (!node)
-        node = event.srcElement;
+       node = event.srcElement;
     if (node.nodeType == Node.TEXT_NODE)
         node = node.parentNode;
     var toggle = node.nextSibling;
     while (toggle && toggle.tagName != "UL")
-      toggle = toggle.nextSibling;
+        toggle = toggle.nextSibling;
     if (toggle) {
-      node.firstChild.data = toggleDisplay(toggle) ? "[-]" : "[+]";
+        node.firstChild.data = toggleDisplay(toggle) ? "[-]" : "[+]";
     }
 }
 
- </script>
+</script>
 
 [% PROCESS global/footer.html.tmpl %]
 
index 940e320bddd08554906212679a0252d49f4b6d7f..3df30146594ec2b3ea5e2a4db2307c08118a6ddf 100644 (file)
 
   /* Outputs a link to call replyToComment(); used to reduce HTML output */
   function addReplyLink(id) {
-    /* XXX this should really be updated to use the DOM Core's
-     * createElement, but finding a container isn't trivial */
-    document.write('[<a href="#add_comment" onclick="replyToComment(' + 
-        id + ');">reply<' + '/a>]');
+      /* XXX this should really be updated to use the DOM Core's
+       * createElement, but finding a container isn't trivial.
+       */
+      document.write('[<a href="#add_comment" onclick="replyToComment(' + 
+                     id + ');">reply<' + '/a>]');
   }
 
   /* Adds the reply text to the `comment' textarea */
   function replyToComment(id) {
-    /* pre id="comment_name_N" */
-    var text_elem = document.getElementById('comment_text_'+id);
-    var text = getText(text_elem);
-
-    /* make sure we split on all newlines -- IE or Moz use \r and \n
-     * respectively */
-    text = text.split(/\r|\n/);
-
-    var replytext = "";
-    for (var i=0; i < text.length; i++) {
-        replytext += "> " + text[i] + "\n"; 
-    }
+      /* pre id="comment_name_N" */
+      var text_elem = document.getElementById('comment_text_'+id);
+      var text = getText(text_elem);
+
+      /* make sure we split on all newlines -- IE or Moz use \r and \n
+       * respectively.
+       */
+      text = text.split(/\r|\n/);
+
+      var replytext = "";
+      for (var i=0; i < text.length; i++) {
+          replytext += "> " + text[i] + "\n"; 
+      }
 
-    replytext = "(In reply to comment #" + id + ")\n" + replytext + "\n";
+      replytext = "(In reply to comment #" + id + ")\n" + replytext + "\n";
 
     [% IF Param("insidergroup") && UserInGroup(Param("insidergroup")) %]
       if (document.getElementById('isprivate-'+id).checked) {
       }
     [% END %]
 
-    /* <textarea id="comment"> */
-    var textarea = document.getElementById('comment');
-    textarea.value += replytext;
+      /* <textarea id="comment"> */
+      var textarea = document.getElementById('comment');
+      textarea.value += replytext;
 
-    textarea.focus();
+      textarea.focus();
   }
 
-  if (!Node) {
-    /* MSIE doesn't define Node, so provide a compatibility array */
-    var Node = {
-        TEXT_NODE: 3,
-        ENTITY_REFERENCE_NODE: 5
-    };
+  if (typeof Node == 'undefined') {
+      /* MSIE doesn't define Node, so provide a compatibility object */
+      window.Node = {
+          TEXT_NODE: 3,
+          ENTITY_REFERENCE_NODE: 5
+      };
   }
 
   /* Concatenates all text from element's childNodes. This is used
    * instead of innerHTML because we want the actual text (and
-   * innerText is non-standard) */
+   * innerText is non-standard).
+   */
   function getText(element) {
-    var child, text = "";
-    for (var i=0; i < element.childNodes.length; i++) {
-        child = element.childNodes[i];
-        var type = child.nodeType;
-        if (type == Node.TEXT_NODE || type == Node.ENTITY_REFERENCE_NODE) {
-            text += child.nodeValue;
-        } else {
-            /* recurse into nodes of other types */
-            text += getText(child);
-        }
-    }
-    return text;
+      var child, text = "";
+      for (var i=0; i < element.childNodes.length; i++) {
+          child = element.childNodes[i];
+          var type = child.nodeType;
+          if (type == Node.TEXT_NODE || type == Node.ENTITY_REFERENCE_NODE) {
+              text += child.nodeValue;
+          } else {
+              /* recurse into nodes of other types */
+              text += getText(child);
+          }
+      }
+      return text;
   }
 
 [% IF UserInGroup(Param('timetrackinggroup')) %]
   var fRemainingTime = [% bug.remaining_time %]; // holds the original value
   function adjustRemainingTime() {
-     // subtracts time spent from remaining time
-     var new_time;
-
-     // prevent negative values if work_time > fRemainingTime
-     new_time =
-        Math.max(fRemainingTime - document.changeform.work_time.value, 0.0);
-     // get upto 2 decimal places
-     document.changeform.remaining_time.value =
+      // subtracts time spent from remaining time
+      var new_time;
+
+      // prevent negative values if work_time > fRemainingTime
+      new_time =
+          Math.max(fRemainingTime - document.changeform.work_time.value, 0.0);
+      // get upto 2 decimal places
+      document.changeform.remaining_time.value =
           Math.round(new_time * 100)/100;
   }
 
   function updateRemainingTime() {
-     // if the remaining time is changed manually, update fRemainingTime
-     fRemainingTime = document.changeform.remaining_time.value;
+      // if the remaining time is changed manually, update fRemainingTime
+      fRemainingTime = document.changeform.remaining_time.value;
   }
 
 [% END %]
 
   function updateCommentTagControl(checkbox, form) {
-    if (checkbox.checked) {
-      form.comment.className='bz_private';
-    } else {
-      form.comment.className='';
-    }
+      if (checkbox.checked) {
+          form.comment.className='bz_private';
+      } else {
+          form.comment.className='';
+      }
   }
 
   //-->