Cleaning documentElement/genericElement interfaces
[fnpeditor.git] / src / editor / modules / documentCanvas / canvas / wlxmlListener.js
index faee6c8..bb09ec7 100644 (file)
@@ -43,12 +43,18 @@ var _metadataEventHandler = function(event) {
 var handlers = {
     nodeAttrChange: function(event) {
         var element = utils.getElementForNode(event.meta.node),
-            objectChanged;
+            newElement;
         if(event.meta.attr === 'class') {
-            objectChanged = element.updateObject();
-        }
+            if(element.wlxmlNode.getClass() !== event.meta.attr) {
+                if(event.meta.node.isRoot()) {
+                    this.canvas.reloadRoot();
+                } else {
+                    newElement = this.canvas.createElement(event.meta.node);
+                    element.dom.replaceWith(newElement.dom);
+                }
+            }
 
-        if(!objectChanged) {
+        } else {
             element.handle(event);
         }
     },
@@ -64,7 +70,7 @@ var handlers = {
         containingElement.handle(event);
     },
     nodeMoved: function(event) {
-        return handlers.nodeAdded.call(this, event, true); //
+        return handlers.nodeAdded.call(this, event); //
         //
     },
     nodeDetached: function(event) {
@@ -72,7 +78,7 @@ var handlers = {
         element.handle(event);
     },
     nodeTextChange: function(event) {
-        var element = utils.getElementForNode(event.meta.node.parent());
+        var element = utils.getElementForTextNode(event.meta.node);
         element.handle(event);
     },