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); //
- //
- },
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());
+ var element = utils.getElementForNode(event.meta.node);
element.handle(event);
},