本文整理汇总了TypeScript中@ephox/dom-globals.Range.cloneRange方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Range.cloneRange方法的具体用法?TypeScript Range.cloneRange怎么用?TypeScript Range.cloneRange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ephox/dom-globals.Range
的用法示例。
在下文中一共展示了Range.cloneRange方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: parse
return parse(text, index, ch, minChars).map((newText) => {
const rng = initRange.cloneRange();
rng.setStart(initRange.startContainer, initRange.startOffset - newText.length - 1);
rng.setEnd(initRange.startContainer, initRange.startOffset);
return {
text: newText,
rng
};
});
示例2: getNormalizedPoint
const normalizeRange = (rng: Range): Range => {
const outRng = rng.cloneRange();
const rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset);
outRng.setStart(rangeStart.container, rangeStart.offset);
const rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset);
outRng.setEnd(rangeEnd.container, rangeEnd.offset);
return outRng;
};
示例3: getBoundingClientRect
const getBoundingClientRectWebKitText = (rng: Range): ClientRect => {
const sc = rng.startContainer;
const ec = rng.endContainer;
const so = rng.startOffset;
const eo = rng.endOffset;
if (sc === ec && NodeType.isText(ec) && so === 0 && eo === 1) {
const newRng = rng.cloneRange();
newRng.setEndAfter(ec);
return getBoundingClientRect(newRng);
} else {
return null;
}
};
示例4: trimEmptyTextNode
const deleteContentAndShowCaret = (editor: Editor, range: Range, node: Node, direction: HDirection, forward: boolean, peekCaretPosition: CaretPosition) => {
const caretRange = CefUtils.showCaret(direction, editor, peekCaretPosition.getNode(!forward) as Element, forward, true);
// Delete the selected content
if (range.collapsed) {
const deleteRange = range.cloneRange();
if (forward) {
deleteRange.setEnd(caretRange.startContainer, caretRange.startOffset);
} else {
deleteRange.setStart(caretRange.endContainer, caretRange.endOffset);
}
deleteRange.deleteContents();
} else {
range.deleteContents();
}
editor.selection.setRng(caretRange);
trimEmptyTextNode(editor.dom, node);
return true;
};
示例5: normalizeEndPoint
const normalize = (dom: DOMUtils, rng: Range): Option<Range> => {
const collapsed = rng.collapsed, normRng = rng.cloneRange();
const startPos = CaretPosition.fromRangeStart(rng);
normalizeEndPoint(dom, collapsed, true, normRng).each(function (pos) {
// #TINY-1595: Do not move the caret to previous line
if (!collapsed || !CaretPosition.isAbove(startPos, pos)) {
normRng.setStart(pos.container(), pos.offset());
}
});
if (!collapsed) {
normalizeEndPoint(dom, collapsed, false, normRng).each(function (pos) {
normRng.setEnd(pos.container(), pos.offset());
});
}
// If it was collapsed then make sure it still is
if (collapsed) {
normRng.collapse(true);
}
return RangeCompare.isEq(rng, normRng) ? Option.none() : Option.some(normRng);
};