X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/0bea7025f60aa5cc2ed89eed72da0d616f3574ef..51a333278c2989a5a0022c19404bd257bf55cb27:/src/editor/modules/documentCanvas/canvas/wlxmlListener.js diff --git a/src/editor/modules/documentCanvas/canvas/wlxmlListener.js b/src/editor/modules/documentCanvas/canvas/wlxmlListener.js index faee6c8..02dc657 100644 --- a/src/editor/modules/documentCanvas/canvas/wlxmlListener.js +++ b/src/editor/modules/documentCanvas/canvas/wlxmlListener.js @@ -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); } }, @@ -63,17 +69,13 @@ var handlers = { containingElement.handle(event); }, - nodeMoved: function(event) { - return handlers.nodeAdded.call(this, event, true); // - // - }, nodeDetached: function(event) { var element = utils.getElementForDetachedNode(event.meta.node, event.meta.parent); element.handle(event); }, nodeTextChange: function(event) { - var element = utils.getElementForNode(event.meta.node.parent()); - element.handle(event); + var element = utils.getElementForNode(event.meta.node); + element.setText(event.meta.node.getText()); }, metadataChanged: _metadataEventHandler,