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);
}
},
containingElement.handle(event);
},
nodeMoved: function(event) {
- return handlers.nodeAdded.call(this, event, true); //
+ return handlers.nodeAdded.call(this, event); //
//
},
nodeDetached: function(event) {
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,