X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/22e9258db6c11e6e0b042e142836cdb21399cc7b..4a1c68596333765b36f36a9cf88942f90c20efab:/src/editor/modules/documentCanvas/canvas/utils.js diff --git a/src/editor/modules/documentCanvas/canvas/utils.js b/src/editor/modules/documentCanvas/canvas/utils.js index 56093f6..89ed192 100644 --- a/src/editor/modules/documentCanvas/canvas/utils.js +++ b/src/editor/modules/documentCanvas/canvas/utils.js @@ -53,13 +53,35 @@ var findCanvasElementInParent = function(wlxmlChildNode, wlxmlParentNode) { return toret; }; +var getElementForNode = function(node) { + + var ptr = node.nodeType === Node.TEXT_NODE ? node.parent() : node; + while(!ptr.getData('canvasElement')) { + ptr = ptr.parent(); + } + return ptr.getData('canvasElement'); +}; + +var getElementForDetachedNode = function(node, originalParent) { + var ptr = originalParent; + if(ptr === null) { + return node.getData('canvasElement'); + } + while(!ptr.getData('canvasElement')) { + ptr = ptr.parent(); + } + return ptr.getData('canvasElement'); +}; + return { nearestInDocumentOrder: nearestInDocumentOrder, findCanvasElement: findCanvasElement, findCanvasElementInParent: findCanvasElementInParent, unicode: { ZWS: '\u200B' - } + }, + getElementForNode: getElementForNode, + getElementForDetachedNode: getElementForDetachedNode }; });