all files / ui/ domHelpers.js

75% Statements 15/20
62.5% Branches 5/8
50% Functions 1/2
78.95% Lines 15/19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                                 
import Component from './Component'
 
/*
  Looks for the first parent Component instance for a give´n native element.
*/
export function findParentComponent(el) {
  while (el) {
    const comp = Component.unwrap(el)
    if (comp) return comp
    el = el.parentNode
  }
}
 
export function setDOMSelection(startNode, startOffset, endNode, endOffset) {
  let wsel = window.getSelection()
  let wrange = window.document.createRange()
  Eif (startNode._isDOMElement) {
    startNode = startNode.getNativeElement()
  }
  if (!endNode) {
    endNode = startNode
    endOffset = startOffset
  }
  if (endNode._isDOMElement) {
    endNode = endNode.getNativeElement()
  }
  wrange.setStart(startNode, startOffset)
  wrange.setEnd(endNode, endOffset)
  wsel.removeAllRanges()
  wsel.addRange(wrange)
}