1 |
|
2 |
|
3 |
|
4 |
|
5 | import { DomElement } from '../utils/dom-core';
|
6 | import Editor from './index';
|
7 | declare class SelectionAndRange {
|
8 | editor: Editor;
|
9 | private _currentRange;
|
10 | constructor(editor: Editor);
|
11 | /**
|
12 | * 获取当前 range
|
13 | */
|
14 | getRange(): Range | null | undefined;
|
15 | /**
|
16 | * 保存选区范围
|
17 | * @param _range 选区范围
|
18 | */
|
19 | saveRange(_range?: Range): void;
|
20 | /**
|
21 | * 折叠选区范围
|
22 | * @param toStart true 开始位置,false 结束位置
|
23 | */
|
24 | collapseRange(toStart?: boolean): void;
|
25 | /**
|
26 | * 获取选区范围内的文字
|
27 | */
|
28 | getSelectionText(): string;
|
29 | /**
|
30 | * 获取选区范围的 DOM 元素
|
31 | * @param range 选区范围
|
32 | */
|
33 | getSelectionContainerElem(range?: Range): DomElement | undefined;
|
34 | /**
|
35 | * 选区范围开始的 DOM 元素
|
36 | * @param range 选区范围
|
37 | */
|
38 | getSelectionStartElem(range?: Range): DomElement | undefined;
|
39 | /**
|
40 | * 选区范围结束的 DOM 元素
|
41 | * @param range 选区范围
|
42 | */
|
43 | getSelectionEndElem(range?: Range): DomElement | undefined;
|
44 | /**
|
45 | * 选区是否为空(没有选择文字)
|
46 | */
|
47 | isSelectionEmpty(): boolean;
|
48 | /**
|
49 | * 恢复选区范围
|
50 | */
|
51 | restoreSelection(): void;
|
52 | /**
|
53 | * 创建一个空白(即 ​ 字符)选区
|
54 | */
|
55 | createEmptyRange(): void;
|
56 | /**
|
57 | * 根据 DOM 元素设置选区
|
58 | * @param $elem DOM 元素
|
59 | * @param toStart true 开始位置,false 结束位置
|
60 | * @param isContent 是否选中 $elem 的内容
|
61 | */
|
62 | createRangeByElem($elem: DomElement, toStart?: boolean, isContent?: boolean): void;
|
63 | /**
|
64 | * 获取 当前 选取范围的 顶级(段落) 元素
|
65 | * @param $editor
|
66 | */
|
67 | getSelectionRangeTopNodes(editor: Editor): DomElement[];
|
68 | /**
|
69 | * 移动光标位置
|
70 | * @param {Node} node 元素节点
|
71 | * @param {Boolean} toStart 为true光标在开始位置 为false在结束位置 默认在结束位置
|
72 | */
|
73 | moveCursor(node: Node, toStart?: boolean): void;
|
74 | }
|
75 | export default SelectionAndRange;
|