MCPcopy Create free account
hub / github.com/breck7/scroll / domToPos

Function domToPos

external/.scrollLibs.js:12571–12596  ·  view source on GitHub ↗
(cm, node, offset)

Source from the content-addressed store, hash-verified

12569 }
12570
12571 function domToPos(cm, node, offset) {
12572 var lineNode
12573 if (node == cm.display.lineDiv) {
12574 lineNode = cm.display.lineDiv.childNodes[offset]
12575 if (!lineNode) {
12576 return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true)
12577 }
12578 node = null
12579 offset = 0
12580 } else {
12581 for (lineNode = node; ; lineNode = lineNode.parentNode) {
12582 if (!lineNode || lineNode == cm.display.lineDiv) {
12583 return null
12584 }
12585 if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) {
12586 break
12587 }
12588 }
12589 }
12590 for (var i = 0; i < cm.display.view.length; i++) {
12591 var lineView = cm.display.view[i]
12592 if (lineView.node == lineNode) {
12593 return locateNodeInLineView(lineView, node, offset)
12594 }
12595 }
12596 }
12597
12598 function locateNodeInLineView(lineView, node, offset) {
12599 var wrapper = lineView.text.firstChild,

Callers 1

.scrollLibs.jsFile · 0.85

Calls 3

badPosFunction · 0.85
PosFunction · 0.85
locateNodeInLineViewFunction · 0.85

Tested by

no test coverage detected