MCPcopy
hub / github.com/witheve/Eve / domToPos

Function domToPos

src/codemirror.js:1894–1911  ·  view source on GitHub ↗
(cm, node, offset)

Source from the content-addressed store, hash-verified

1892 function badPos(pos, bad) { if (bad) pos.bad = true; return pos; }
1893
1894 function domToPos(cm, node, offset) {
1895 var lineNode;
1896 if (node == cm.display.lineDiv) {
1897 lineNode = cm.display.lineDiv.childNodes[offset];
1898 if (!lineNode) return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true);
1899 node = null; offset = 0;
1900 } else {
1901 for (lineNode = node;; lineNode = lineNode.parentNode) {
1902 if (!lineNode || lineNode == cm.display.lineDiv) return null;
1903 if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) break;
1904 }
1905 }
1906 for (var i = 0; i < cm.display.view.length; i++) {
1907 var lineView = cm.display.view[i];
1908 if (lineView.node == lineNode)
1909 return locateNodeInLineView(lineView, node, offset);
1910 }
1911 }
1912
1913 function locateNodeInLineView(lineView, node, offset) {
1914 var wrapper = lineView.text.firstChild, bad = false;

Callers 1

codemirror.jsFile · 0.85

Calls 2

badPosFunction · 0.85
locateNodeInLineViewFunction · 0.85

Tested by

no test coverage detected