]> git.mjollnir.org Git - moodle.git/commitdiff
Merged from 1.7.
authorvyshane <vyshane>
Thu, 25 Jan 2007 04:37:39 +0000 (04:37 +0000)
committervyshane <vyshane>
Thu, 25 Jan 2007 04:37:39 +0000 (04:37 +0000)
lib/ajax/section_classes.js

index 9814bfd7fab1ea78e2ae54a4560f158e56719e39..9256bf9de9a8e1d496fefdf5b2f3055e5371d7d8 100755 (executable)
@@ -359,6 +359,13 @@ section_class.prototype.get_resource_index = function(el) {
 
 
 section_class.prototype.remove_resource = function(el) {
+
+    var resourceEl = el.getEl();
+    var parentEl = resourceEl.parentNode;
+    if (!parentEl) {
+        return false;
+    }
+
     var resourceCount = this.resources.length;
 
     if (resourceCount == 1) {
@@ -380,20 +387,22 @@ section_class.prototype.remove_resource = function(el) {
             }
         }
     }
-    if (el.getEl().parentNode) {
-        // Remove any extra text nodes to keep DOM clean.
-           var kids = el.getEl().parentNode.childNodes;
-       var i = kids.length;
-       while (i--) {
-               if (kids[i].nodeType == 3) {
-               kids[i].parentNode.removeChild(kids[i]);
-           }
-       }
-        // Remove the resource.
-       YAHOO.log("Removing "+el.getEl().id);
-       el.getEl().parentNode.removeChild(el.getEl());
-    }
+    // Remove any extra text nodes to keep DOM clean.
+    var kids = parentEl.childNodes;
+
+       for (var i=0; i<kids.length; i++) {
+           if (kids[i].nodeType == 3) {
+               YAHOO.log('Removed extra text node.');
+               parentEl.removeChild(kids[i]);
+           }
+       }
+       // Remove the resource.
+       // FIXME
+       // Line below is causing IE 6 and 7 to freeze.
+       parentEl.removeChild(resourceEl);
+
     this.write_sequence_list();
+    return true;
 }
 
 
@@ -763,7 +772,7 @@ resource_class.prototype.delete_button = function() {
     if (!confirm(main.getString('deletecheck', main.getString(this.is)+" "+this.id))) {
         return false;
     }
-    this.getEl().parentNode.removeChild(this.getEl());
+    //this.getEl().parentNode.removeChild(this.getEl());
     this.parentObj.remove_resource(this);
 
     main.connect('DELETE', 'class=resource&id='+this.id);
@@ -827,7 +836,7 @@ resource_class.prototype.onDragOut = function(e, ids) {
 }
 
 
-resource_class.prototype.onDragDrop = function(e, ids) {YAHOO.log('onDragDrop');
+resource_class.prototype.onDragDrop = function(e, ids) {
        var target = YAHOO.util.DDM.getBestMatch(ids);
        if (!target) {
                YAHOO.log('onDragDrop: Target is not valid!', 'error');