X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/fc54b1e72b7ed4992bbc4a2ef3ae7f02393d174d..0bea7025f60aa5cc2ed89eed72da0d616f3574ef:/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 }; });