}
});
+
+var _metadataEventHandler = function(event) {
+ var canvasNode = utils.findCanvasElement(event.meta.node);
+ canvasNode.exec('updateMetadata');
+};
+
var handlers = {
nodeAttrChange: function(event) {
if(event.meta.attr === 'class') {
nodeTagChange: function(event) {
var canvasNode = utils.findCanvasElement(event.meta.node);
canvasNode.setWlxmlTag(event.meta.newTagName);
+ canvasNode.data('wlxmlNode', event.meta.node);
},
nodeAdded: function(event, checkForExistence) {
if(event.meta.node.isRoot()) {
referenceAction = 'after';
}
- actionArg = (checkForExistence && utils.findCanvasElement(event.meta.node)) || event.meta.node;
+ actionArg = (checkForExistence && utils.findCanvasElement(event.meta.node, event.meta.parent)) || event.meta.node;
referenceElement[referenceAction](actionArg);
},
nodeMoved: function(event) {
- return handlers.nodeAdded(event, true);
+ return handlers.nodeAdded.call(this, event, true);
},
nodeDetached: function(event) {
var canvasNode = utils.findCanvasElementInParent(event.meta.node, event.meta.parent);
if(toSet !== canvasElement.getText()) {
canvasElement.setText(toSet);
}
- }
+ },
+
+ metadataChanged: _metadataEventHandler,
+ metadataAdded: _metadataEventHandler,
+ metadataRemoved: _metadataEventHandler
};
return {