Telegram Web K with changes to work inside I2P
https://web.telegram.i2p/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
939 B
33 lines
939 B
/* |
|
* https://github.com/morethanwords/tweb |
|
* Copyright (C) 2019-2021 Eduard Kuzmenko |
|
* https://github.com/morethanwords/tweb/blob/master/LICENSE |
|
*/ |
|
|
|
export default function setCaretAt(node: Node) { |
|
// node.appendChild(document.createTextNode('')); |
|
|
|
const originalNode = node; |
|
node = node.previousSibling; |
|
|
|
if(node.nodeType === 1) { |
|
const newNode = document.createTextNode(''); |
|
node.parentNode.insertBefore(newNode, !originalNode.nextSibling || originalNode.nextSibling.nodeType === node.nodeType ? originalNode : originalNode.nextSibling); |
|
node = newNode; |
|
} |
|
|
|
if(window.getSelection && document.createRange) { |
|
const range = document.createRange(); |
|
if(node) { |
|
range.setStartAfter(node); |
|
range.insertNode(node); |
|
range.setStart(node, node.nodeValue.length); |
|
} |
|
|
|
range.collapse(true); |
|
|
|
const sel = window.getSelection(); |
|
sel.removeAllRanges(); |
|
sel.addRange(range); |
|
} |
|
}
|
|
|