smartxml: Getting rid of nodeMoved event in favor of `move` flag on nodeDetached...
[fnpeditor.git] / src / smartxml / core.js
index 048130e..007468f 100644 (file)
@@ -13,7 +13,7 @@ var INSERTION = function(implementation) {
             nodeParent,
             returned;
         options = options || {};
-        if(!(this.document.containsNode(this)) || !insertion.isNew) {
+        if(!(this.document.containsNode(this)) || !insertion.insertsNew) {
             nodeParent = insertion.ofNode.parent();
         }
         if(!insertion.insertsNew && insertion.ofNode.isSurroundedByTextNodes()) {
@@ -24,7 +24,10 @@ var INSERTION = function(implementation) {
         }
         returned = implementation.call(this, insertion.ofNode);
         if(!options.silent && returned.sameNode(insertion.ofNode)) {
-            this.triggerChangeEvent(insertion.insertsNew ? 'nodeAdded' : 'nodeMoved', {node: insertion.ofNode}, nodeParent, nodeWasContained);
+            if(!insertion.insertsNew) {
+                this.triggerChangeEvent('nodeDetached', {node: insertion.ofNode, parent: nodeParent, move: true});
+            }
+            this.triggerChangeEvent('nodeAdded', {node: insertion.ofNode, move: !insertion.insertsNew}, nodeParent, nodeWasContained);
         }
         return returned;
     };