select whole title on focus
parent
2085e22688
commit
35ef3505ce
@ -1,19 +1,33 @@
|
|||||||
function collapseRange (node: Node, toStart = false) {
|
import { getFocussedNode } from './node'
|
||||||
|
|
||||||
|
function applyRange (callback: (range: Range) => void) {
|
||||||
const range = document.createRange()
|
const range = document.createRange()
|
||||||
range.selectNode(node)
|
callback(range)
|
||||||
range.collapse(toStart)
|
|
||||||
const sel = window.getSelection()
|
const sel = window.getSelection()
|
||||||
if (sel) {
|
if (sel) {
|
||||||
sel.removeAllRanges()
|
sel.removeAllRanges()
|
||||||
sel.addRange(range)
|
sel.addRange(range)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function collapseRange (node: Node, toStart = false) {
|
||||||
|
applyRange(range => {
|
||||||
|
range.selectNode(node)
|
||||||
|
range.collapse(toStart)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export function moveCaretToBOL () {
|
export function moveCaretToBOL () {
|
||||||
const node = window.getSelection()?.focusNode
|
const node = getFocussedNode()
|
||||||
if (node) collapseRange(node, true)
|
if (node) collapseRange(node, true)
|
||||||
}
|
}
|
||||||
export function moveCaretToEOL () {
|
export function moveCaretToEOL () {
|
||||||
const node = window.getSelection()?.focusNode
|
const node = getFocussedNode()
|
||||||
if (node) collapseRange(node, false)
|
if (node) collapseRange(node, false)
|
||||||
}
|
}
|
||||||
|
export function selectLine () {
|
||||||
|
const node = getFocussedNode()
|
||||||
|
if (node) {
|
||||||
|
applyRange(range => range.selectNodeContents(node))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue