X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/0c53f4a333bbfcc04e75ad2f462f840301514321..30363302f46e0ed1f6a4c214b2e04d7c8e12ae73:/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 ecf4900..9269ce1 100644 --- a/src/editor/modules/documentCanvas/canvas/wlxmlListener.js +++ b/src/editor/modules/documentCanvas/canvas/wlxmlListener.js @@ -39,6 +39,36 @@ var handlers = { nodeTagChange: function(event) { var canvasNode = utils.findCanvasElement(event.meta.node); canvasNode.setWlxmlTag(event.meta.newTagName); + }, + nodeAdded: function(event) { + var parentElement = utils.findCanvasElement(event.meta.node.parent()), + nodeIndex = event.meta.node.getIndex(), + referenceElement, referenceAction; + + if(nodeIndex === 0) { + referenceElement = parentElement; + referenceAction = 'prepend'; + } else { + referenceElement = parentElement.children()[nodeIndex-1]; + referenceAction = 'after'; + } + + referenceElement[referenceAction](event.meta.node); + }, + nodeMoved: function(event) { + return handlers.nodeAdded(event); + }, + nodeDetached: function(event) { + var canvasNode = utils.findCanvasElementInParent(event.meta.node, event.meta.parent); + canvasNode.detach(); + }, + nodeTextChange: function(event) { + var canvasElement = utils.findCanvasElement(event.meta.node), + toSet = event.meta.node.getText(); + if(toSet === '') { + toSet = utils.unicode.ZWS; + } + canvasElement.setText(toSet); } };