X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/097ad6254d6b36c226072b0c7bdcaa5f945dc483..9831076c8f7385dffb533e0327cc7dd7c9f1ef92:/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 ae1cee1..7d19e94 100644 --- a/src/editor/modules/documentCanvas/canvas/wlxmlListener.js +++ b/src/editor/modules/documentCanvas/canvas/wlxmlListener.js @@ -23,12 +23,22 @@ $.extend(Listener.prototype, { } }, this); + wlxmlDocument.on('operationEnd', function() { + this.canvas.triggerSelectionChanged(); + }, this); + wlxmlDocument.on('contentSet', function() { this.canvas.loadWlxmlDocument(wlxmlDocument); }, this); } }); + +var _metadataEventHandler = function(event) { + var canvasNode = utils.findCanvasElement(event.meta.node); + canvasNode.exec('updateMetadata'); +}; + var handlers = { nodeAttrChange: function(event) { if(event.meta.attr === 'class') { @@ -36,11 +46,6 @@ var handlers = { canvasNode.setWlxmlClass(event.meta.newVal); } }, - 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()) { this.canvas.reloadRoot(); @@ -58,11 +63,11 @@ var handlers = { 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); @@ -78,7 +83,11 @@ var handlers = { if(toSet !== canvasElement.getText()) { canvasElement.setText(toSet); } - } + }, + + metadataChanged: _metadataEventHandler, + metadataAdded: _metadataEventHandler, + metadataRemoved: _metadataEventHandler }; return {