X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/e1e728df4cd9e96c5865fcec0762eaaf5b37a3f7..a77e53b783db30a8e6e7935ddabe158a67e4221f:/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 130d51c..1df3f82 100644 --- a/src/editor/modules/documentCanvas/canvas/utils.js +++ b/src/editor/modules/documentCanvas/canvas/utils.js @@ -20,6 +20,24 @@ var nearestInDocumentOrder = function(selector, direction, element) { return null; }; +var getElementForElementRootNode = function(node, withParent) { + if(node.nodeType === Node.TEXT_NODE) { + return _getElementForRootTextNode(node, withParent); + } + return node.getData('canvasElement'); +}; + +var _getElementForRootTextNode = function(textNode, withParent) { + var parentElement = getElementForNode(withParent || textNode.parent()), + toret; + parentElement.children().some(function(child) { + if(child.wlxmlNode.sameNode(textNode)) { + toret = child; + return true; + } + }); + return toret; +}; var getElementForNode = function(node, withParent) { if(node.nodeType === Node.TEXT_NODE) { @@ -62,7 +80,8 @@ return { ZWS: '\u200B' }, getElementForNode: getElementForNode, - getElementForDetachedNode: getElementForDetachedNode + getElementForDetachedNode: getElementForDetachedNode, + getElementForElementRootNode: getElementForElementRootNode }; });