@hailin-zheng/editor-core 2.2.35 → 2.2.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/editor.css +638 -638
- package/index-cjs.d.ts +32 -32
- package/index-cjs.js +24231 -24273
- package/index-cjs.js.map +1 -1
- package/index.d.ts +32 -32
- package/index.js +24231 -24273
- package/index.js.map +1 -1
- package/med_editor/doc-editor.d.ts +545 -545
- package/med_editor/doc-rule.d.ts +174 -174
- package/med_editor/editor-core.d.ts +18 -18
- package/med_editor/framework/code-interpreter/ast-parser.d.ts +4 -4
- package/med_editor/framework/code-interpreter/document-eval-func.d.ts +18 -18
- package/med_editor/framework/code-interpreter/dynamic-execute.d.ts +42 -42
- package/med_editor/framework/doc-layout/document-arrange.d.ts +95 -95
- package/med_editor/framework/doc-layout/paragraph-arrange.d.ts +110 -110
- package/med_editor/framework/document-change.d.ts +341 -341
- package/med_editor/framework/document-combine.d.ts +24 -24
- package/med_editor/framework/document-comment.d.ts +38 -38
- package/med_editor/framework/document-context.d.ts +162 -162
- package/med_editor/framework/document-event.d.ts +261 -261
- package/med_editor/framework/document-input-cursor.d.ts +32 -32
- package/med_editor/framework/document-paginator.d.ts +46 -46
- package/med_editor/framework/document-svg.d.ts +36 -36
- package/med_editor/framework/document-template.d.ts +13 -13
- package/med_editor/framework/document-textline-mode.d.ts +6 -6
- package/med_editor/framework/element-define.d.ts +439 -439
- package/med_editor/framework/element-event-define.d.ts +102 -102
- package/med_editor/framework/element-props.d.ts +344 -344
- package/med_editor/framework/element-reader.d.ts +20 -20
- package/med_editor/framework/element-serialize.d.ts +36 -36
- package/med_editor/framework/element-type-handler.d.ts +8 -8
- package/med_editor/framework/history/element-trace-manage.d.ts +107 -107
- package/med_editor/framework/history/element-trace-tracking.d.ts +89 -89
- package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +19 -19
- package/med_editor/framework/impl/comments/comment-content-impl.d.ts +39 -39
- package/med_editor/framework/impl/comments/comment-element-impl.d.ts +24 -24
- package/med_editor/framework/impl/comments/comments-container-impl.d.ts +19 -19
- package/med_editor/framework/impl/comments/validate-msg-impl.d.ts +19 -19
- package/med_editor/framework/impl/data-element/data-container-impl.d.ts +25 -25
- package/med_editor/framework/impl/data-element/data-decorate-impl.d.ts +16 -16
- package/med_editor/framework/impl/data-element/data-element-barcode.d.ts +32 -32
- package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +122 -122
- package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +26 -26
- package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +23 -23
- package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +28 -28
- package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +23 -23
- package/med_editor/framework/impl/data-element/data-element-list-impl.d.ts +21 -21
- package/med_editor/framework/impl/data-element/data-element-text-impl.d.ts +22 -22
- package/med_editor/framework/impl/data-element/qrcode.d.ts +93 -93
- package/med_editor/framework/impl/decorate/fill-null-space-imple.d.ts +16 -16
- package/med_editor/framework/impl/document/doc-body-impl.d.ts +19 -19
- package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +22 -22
- package/med_editor/framework/impl/document/doc-container-impl.d.ts +7 -7
- package/med_editor/framework/impl/document/doc-footer-impl.d.ts +19 -19
- package/med_editor/framework/impl/document/doc-header-impl.d.ts +19 -19
- package/med_editor/framework/impl/document/doc-impl.d.ts +85 -85
- package/med_editor/framework/impl/index.d.ts +41 -41
- package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +31 -31
- package/med_editor/framework/impl/media-formula/permanent-teeth.d.ts +34 -34
- package/med_editor/framework/impl/paragraph/p-impl.d.ts +38 -38
- package/med_editor/framework/impl/picture/RectEle.d.ts +44 -44
- package/med_editor/framework/impl/picture/image-impl.d.ts +24 -24
- package/med_editor/framework/impl/radio/radio-impl.d.ts +17 -17
- package/med_editor/framework/impl/shape/line-impl.d.ts +31 -31
- package/med_editor/framework/impl/svg/svg-impl.d.ts +20 -20
- package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +18 -18
- package/med_editor/framework/impl/symbol/p-symbol-impl.d.ts +16 -16
- package/med_editor/framework/impl/symbol/page-br-symbol-impl.d.ts +20 -20
- package/med_editor/framework/impl/symbol/tab-symbol-impl.d.ts +15 -15
- package/med_editor/framework/impl/table/table-cell-impl.d.ts +34 -34
- package/med_editor/framework/impl/table/table-impl.d.ts +49 -49
- package/med_editor/framework/impl/table/table-row-impl.d.ts +27 -27
- package/med_editor/framework/impl/table/table-split-cell-patch.d.ts +20 -20
- package/med_editor/framework/impl/table/table-split-cell.d.ts +93 -93
- package/med_editor/framework/impl/table/table-util.d.ts +180 -180
- package/med_editor/framework/impl/text/text-impl.d.ts +34 -34
- package/med_editor/framework/impl/text/track-run-impl.d.ts +27 -27
- package/med_editor/framework/infrastructure/event-subject.d.ts +57 -57
- package/med_editor/framework/infrastructure/notify.d.ts +13 -13
- package/med_editor/framework/print/document-print-offscreen.d.ts +59 -59
- package/med_editor/framework/print/document-print.d.ts +19 -19
- package/med_editor/framework/render-context.d.ts +111 -111
- package/med_editor/framework/render-define.d.ts +156 -156
- package/med_editor/framework/search/search-panel.d.ts +31 -31
- package/med_editor/framework/selection/document-selection.d.ts +92 -92
- package/med_editor/framework/selection/range-util.d.ts +36 -36
- package/med_editor/framework/selection/selection-overlays.d.ts +36 -36
- package/med_editor/framework/suggestions/input-suggestions.d.ts +29 -29
- package/med_editor/framework/util/adjust-viewport-elements.d.ts +12 -12
- package/med_editor/framework/util/common-util.d.ts +77 -77
- package/med_editor/framework/util/document-segmenter.d.ts +2 -2
- package/med_editor/framework/util/element-util.d.ts +417 -417
- package/med_editor/framework/vnode/editor-calendar-vnode.d.ts +43 -43
- package/package.json +18 -18
@@ -1,341 +1,341 @@
|
|
1
|
-
import { DocumentInput, InputData } from "./document-input-cursor";
|
2
|
-
import { SelectionState } from "./selection/document-selection";
|
3
|
-
import { BlockContainerElement, BranchElement, Element, LeafElement, SelectionContentRange } from "./element-define";
|
4
|
-
import { ParagraphElement, TableElement, TextGroupElement, TrackRunTypeEnum } from "./impl";
|
5
|
-
import { ParagraphNumberType, ParagraphProps, TextProps } from "./element-props";
|
6
|
-
import { ElementReader } from "./element-reader";
|
7
|
-
import { EditorContext } from "./document-context";
|
8
|
-
import { DocumentComment } from "./document-comment";
|
9
|
-
/**
|
10
|
-
* 文档内容改变
|
11
|
-
*/
|
12
|
-
export declare class DocumentChange {
|
13
|
-
private eleReader;
|
14
|
-
private docCtx;
|
15
|
-
private docComment;
|
16
|
-
private documentInput;
|
17
|
-
private selectionState;
|
18
|
-
private viewOptions;
|
19
|
-
constructor(eleReader: ElementReader, docCtx: EditorContext, docComment: DocumentComment, documentInput: DocumentInput);
|
20
|
-
newInput(data: InputData): void;
|
21
|
-
private correctInputEle;
|
22
|
-
/**
|
23
|
-
* 选中区域后进行输入
|
24
|
-
* 需要处理将选中的区域删除后,进行输入的情况
|
25
|
-
*/
|
26
|
-
onInputBySelectRange(data: InputData): void;
|
27
|
-
/**
|
28
|
-
* 当前元素是否在正确的留痕区域(ins-run、del-run),情况分为以下情况
|
29
|
-
* 1.留痕块类型为新增,但是留痕块的创建者为其他用户,此时需要拆分留痕区域
|
30
|
-
* 2.留痕块为当前用户创建,但是创建时间大于有效的时间,此时需要拆分留痕区域
|
31
|
-
* @param startControl
|
32
|
-
* @param trackType
|
33
|
-
* @returns
|
34
|
-
*/
|
35
|
-
isInCorrectTrackRegion(startControl: Element, trackType: TrackRunTypeEnum): boolean;
|
36
|
-
/**
|
37
|
-
* 当前元素是否在留痕区域(ins-run、del-run)中
|
38
|
-
* @param target
|
39
|
-
* @param trackType
|
40
|
-
* @returns
|
41
|
-
*/
|
42
|
-
isInTrackBlock(target: Element, trackType?: TrackRunTypeEnum | null): boolean;
|
43
|
-
/**
|
44
|
-
* 留痕输入
|
45
|
-
* @param data
|
46
|
-
* @param startControl
|
47
|
-
* @param startOffset
|
48
|
-
* @returns
|
49
|
-
*/
|
50
|
-
newInputTrackChanges(data: InputData, startControl: LeafElement, startOffset: number): void;
|
51
|
-
/**
|
52
|
-
* 创建新留痕块,并返回留痕块输入定位文本
|
53
|
-
* @param startControl
|
54
|
-
* @param startOffset
|
55
|
-
* @param trackType
|
56
|
-
* @returns
|
57
|
-
*/
|
58
|
-
createNewTrackInput(startControl: LeafElement, startOffset: number, trackType: TrackRunTypeEnum): TextGroupElement;
|
59
|
-
/**
|
60
|
-
* 获取当前输入节点的文本属性
|
61
|
-
* @param startControl
|
62
|
-
* @param offset
|
63
|
-
* @returns
|
64
|
-
*/
|
65
|
-
getDefaultTextProps(startControl: LeafElement, offset: number): TextProps;
|
66
|
-
/**
|
67
|
-
* 根据选项配置返回创建文本的默认文本属性
|
68
|
-
* @private
|
69
|
-
*/
|
70
|
-
private getDefaultTextPropsByOptions;
|
71
|
-
/**
|
72
|
-
* 当前元素位于留痕区域内,但是当前编辑模式为非留痕模式,需要将当前留痕元素分割开来,插入新普通文本元素对象,并返回
|
73
|
-
* @param startControl
|
74
|
-
* @param startOffset
|
75
|
-
* @returns
|
76
|
-
*/
|
77
|
-
splitTrackElement(startControl: LeafElement, startOffset: number): TextGroupElement;
|
78
|
-
/**
|
79
|
-
* 创建插入(ins-run) 留痕,并且返回留痕的文本元素对象
|
80
|
-
* @param startControl
|
81
|
-
* @returns
|
82
|
-
*/
|
83
|
-
private createTextTrackElement;
|
84
|
-
private createTrackElement;
|
85
|
-
private inputTextGroup;
|
86
|
-
/**
|
87
|
-
* backspace,向前删除
|
88
|
-
*/
|
89
|
-
onBackspace(evt: KeyboardEvent): void;
|
90
|
-
/**
|
91
|
-
* delete,向后删除
|
92
|
-
* @param evt
|
93
|
-
*/
|
94
|
-
onDeleteKeyHandler(evt: KeyboardEvent): void;
|
95
|
-
/**
|
96
|
-
* 根据选择范围删除
|
97
|
-
*/
|
98
|
-
onRangeDelete(): void;
|
99
|
-
private capturingForSelection;
|
100
|
-
private getSelectionRangeStack;
|
101
|
-
/**
|
102
|
-
* backspace删除
|
103
|
-
* @param control
|
104
|
-
* @param offset
|
105
|
-
* @returns
|
106
|
-
*/
|
107
|
-
private onBackspaceElement;
|
108
|
-
/**
|
109
|
-
* 跳到上一个数据元中
|
110
|
-
* @param currEle
|
111
|
-
*/
|
112
|
-
private jumpToPrevDataElement;
|
113
|
-
/**
|
114
|
-
* delete删除
|
115
|
-
* @param control
|
116
|
-
* @param offset
|
117
|
-
* @returns
|
118
|
-
*/
|
119
|
-
private onKeyDeleteElement;
|
120
|
-
/**
|
121
|
-
* 判断是否可以删除数据组
|
122
|
-
* @param dataEle
|
123
|
-
* @private
|
124
|
-
*/
|
125
|
-
private canDeleteInlineGroup;
|
126
|
-
private onDeleteText;
|
127
|
-
private onDeleteItem;
|
128
|
-
/**
|
129
|
-
* 当前元素是否在留痕元素内
|
130
|
-
* @param target
|
131
|
-
* @param trackType
|
132
|
-
* @returns
|
133
|
-
*/
|
134
|
-
private isInCurrentUserTrack;
|
135
|
-
private isInTrackElement;
|
136
|
-
/**
|
137
|
-
* 留痕除文本以外的其他元素
|
138
|
-
* @param target
|
139
|
-
*/
|
140
|
-
private onTrackDeleteElement;
|
141
|
-
/**
|
142
|
-
* 更新文本删除留痕
|
143
|
-
*/
|
144
|
-
private updateDeletedTrackText;
|
145
|
-
private getNextTrackInputElement;
|
146
|
-
/**
|
147
|
-
* 创建一个待输入的文本元素
|
148
|
-
* @private
|
149
|
-
*/
|
150
|
-
private createNewInputText;
|
151
|
-
private getNextTrackElement;
|
152
|
-
/**
|
153
|
-
* 删除元素并定位光标
|
154
|
-
* @param control
|
155
|
-
* @returns
|
156
|
-
*/
|
157
|
-
private removeElement;
|
158
|
-
/**
|
159
|
-
* 处理在表单模式下光标定位的问题
|
160
|
-
* @param target
|
161
|
-
* @param targetOffset
|
162
|
-
* @param deleteTarget
|
163
|
-
* @private
|
164
|
-
*/
|
165
|
-
private setSelectionStateByDeleteEvent;
|
166
|
-
/**
|
167
|
-
* 回车事件
|
168
|
-
*/
|
169
|
-
onEnter(): void;
|
170
|
-
/**
|
171
|
-
* 插入表格
|
172
|
-
* @param tb
|
173
|
-
* @returns
|
174
|
-
*/
|
175
|
-
insertTable(tb: TableElement): void;
|
176
|
-
/**
|
177
|
-
* 插入布局容器,比如表格、数据容器等
|
178
|
-
* @param ele
|
179
|
-
*/
|
180
|
-
insertLayoutContainer(ele: BlockContainerElement): void;
|
181
|
-
/**
|
182
|
-
* 分割当前段落用于插入表格或者粘贴的内容
|
183
|
-
* @param insertItems 分割后插入的内容,内容需要是block或者表格对象
|
184
|
-
*/
|
185
|
-
private splitCurrentParagraph;
|
186
|
-
/**
|
187
|
-
* 合并段落
|
188
|
-
*/
|
189
|
-
combineParagraph(prevPara: ParagraphElement, currPara: ParagraphElement, currElement: Element): void;
|
190
|
-
/**
|
191
|
-
* 删除选中的区域内容
|
192
|
-
* @param range
|
193
|
-
*/
|
194
|
-
deleteRange(range: SelectionContentRange): void;
|
195
|
-
/**
|
196
|
-
* 表单区域删除处理
|
197
|
-
* @param range
|
198
|
-
* @param startPointElement
|
199
|
-
* @returns
|
200
|
-
*/
|
201
|
-
private deleteRangeInFormEdit;
|
202
|
-
/**
|
203
|
-
* 表单模式:删除选中的区域内容
|
204
|
-
*/
|
205
|
-
private loopForDelDataEleRange;
|
206
|
-
/**
|
207
|
-
* 向目标移动元素
|
208
|
-
* @param targetElement
|
209
|
-
* @param targetOffset
|
210
|
-
* @param moveElement
|
211
|
-
* @param moveOffset
|
212
|
-
* @param ss
|
213
|
-
*/
|
214
|
-
moveElement(targetElement: Element, targetOffset: number, moveElement: Element, moveOffset: number, ss: SelectionState): void;
|
215
|
-
/**
|
216
|
-
* 向指定的目标插入元素
|
217
|
-
* @param targetElement
|
218
|
-
* @param targetOffset
|
219
|
-
* @param destEleArray
|
220
|
-
*/
|
221
|
-
insertElement(targetElement: Element, targetOffset: number, destEleArray: Array<Element>): Element | null;
|
222
|
-
/**
|
223
|
-
* 校验容器是否允许插入元素
|
224
|
-
* @param container
|
225
|
-
* @param ele
|
226
|
-
* @returns
|
227
|
-
*/
|
228
|
-
canInsertElement(container: BranchElement, ele: Element): boolean;
|
229
|
-
/**
|
230
|
-
* 根据开始位置和结束位置,将字符切割成指定的区间
|
231
|
-
* @param text
|
232
|
-
* @param start
|
233
|
-
* @param end
|
234
|
-
* @returns
|
235
|
-
*/
|
236
|
-
static splitTextGroupByRange(text: TextGroupElement, start: number, end: number): TextGroupElement | null;
|
237
|
-
splitText(text: TextGroupElement, offset: number): {
|
238
|
-
leftElement: TextGroupElement | null;
|
239
|
-
rightElement: TextGroupElement | null;
|
240
|
-
};
|
241
|
-
/**
|
242
|
-
* 设置选中的文本样式
|
243
|
-
* @param ss
|
244
|
-
* @param setterFunc
|
245
|
-
* @returns
|
246
|
-
*/
|
247
|
-
static setTextStyle(ss: SelectionState, setterFunc: (text: TextGroupElement) => void): void;
|
248
|
-
private static recursionSetRangeTextStyle;
|
249
|
-
static setParaAlign(ss: SelectionState, setterFunc: (tp: ParagraphProps) => void): void;
|
250
|
-
static setParaStyle(ss: SelectionState, setterFunc: (tp: ParagraphProps) => void): void;
|
251
|
-
/**
|
252
|
-
* 复制
|
253
|
-
* @param evt
|
254
|
-
* @returns
|
255
|
-
*/
|
256
|
-
onCopy(evt: ClipboardEvent): void;
|
257
|
-
/**
|
258
|
-
* 剪切
|
259
|
-
* @param evt
|
260
|
-
*/
|
261
|
-
onCut(evt: ClipboardEvent): void;
|
262
|
-
/**
|
263
|
-
* 粘贴
|
264
|
-
* @param evt
|
265
|
-
* @returns
|
266
|
-
*/
|
267
|
-
onPaste(evt: ClipboardEvent): void;
|
268
|
-
/**
|
269
|
-
* 在光标处插入内容
|
270
|
-
* @param data
|
271
|
-
*/
|
272
|
-
onInsertContent(data: {
|
273
|
-
text: string;
|
274
|
-
doc: string;
|
275
|
-
}): void;
|
276
|
-
/**
|
277
|
-
* 处理粘贴的内容
|
278
|
-
* @private
|
279
|
-
*/
|
280
|
-
private handlePasteContent;
|
281
|
-
/**
|
282
|
-
* 处理表单模式下的粘贴事件
|
283
|
-
* @param data 要粘贴的元素
|
284
|
-
*/
|
285
|
-
handlePasteInFormEditMode(data: Array<Element>): void;
|
286
|
-
/**
|
287
|
-
* 复制单元格向另一个单元格粘贴
|
288
|
-
* @private
|
289
|
-
*/
|
290
|
-
private pasteTableToCell;
|
291
|
-
insertSoftBr(): void;
|
292
|
-
insertPageBreakSymbol(): void;
|
293
|
-
/**
|
294
|
-
* 处理黏贴的纯文本
|
295
|
-
* @param text
|
296
|
-
*/
|
297
|
-
private pastePlainText;
|
298
|
-
/**
|
299
|
-
* 当前光标位置是否允许分割生成两个段落
|
300
|
-
*/
|
301
|
-
allowSplitParagraph(target?: {
|
302
|
-
startControl: LeafElement;
|
303
|
-
startOffset: number;
|
304
|
-
}): boolean;
|
305
|
-
/**
|
306
|
-
* 向当前光标追加文本
|
307
|
-
* @param appendStr
|
308
|
-
* @param inputOffset
|
309
|
-
* @param replaceLength
|
310
|
-
* @private
|
311
|
-
*/
|
312
|
-
appendText(appendStr: string, replaceText: string): void;
|
313
|
-
/**
|
314
|
-
* 设置当前段落项目符号类型
|
315
|
-
*/
|
316
|
-
setParagraphNumberType(numType?: ParagraphNumberType): void;
|
317
|
-
/**
|
318
|
-
* 插入批注
|
319
|
-
*/
|
320
|
-
insertComment(text: string): void;
|
321
|
-
validate(): boolean;
|
322
|
-
/**
|
323
|
-
* 移除空字符串
|
324
|
-
* @param text
|
325
|
-
*/
|
326
|
-
removeEmptyText(text: TextGroupElement): void;
|
327
|
-
setCursorForDeleteAction(control: Element): void;
|
328
|
-
getCursorElementByDeleteAction(control: Element): {
|
329
|
-
ele: LeafElement;
|
330
|
-
offset: number;
|
331
|
-
} | null;
|
332
|
-
/**
|
333
|
-
* 移除空行内标签
|
334
|
-
* @param ele
|
335
|
-
*/
|
336
|
-
removeEmptyInlineBlock(ele: Element): void;
|
337
|
-
/**
|
338
|
-
* 插入Tab制表位
|
339
|
-
*/
|
340
|
-
insertTabElement(): void;
|
341
|
-
}
|
1
|
+
import { DocumentInput, InputData } from "./document-input-cursor";
|
2
|
+
import { SelectionState } from "./selection/document-selection";
|
3
|
+
import { BlockContainerElement, BranchElement, Element, LeafElement, SelectionContentRange } from "./element-define";
|
4
|
+
import { ParagraphElement, TableElement, TextGroupElement, TrackRunTypeEnum } from "./impl";
|
5
|
+
import { ParagraphNumberType, ParagraphProps, TextProps } from "./element-props";
|
6
|
+
import { ElementReader } from "./element-reader";
|
7
|
+
import { EditorContext } from "./document-context";
|
8
|
+
import { DocumentComment } from "./document-comment";
|
9
|
+
/**
|
10
|
+
* 文档内容改变
|
11
|
+
*/
|
12
|
+
export declare class DocumentChange {
|
13
|
+
private eleReader;
|
14
|
+
private docCtx;
|
15
|
+
private docComment;
|
16
|
+
private documentInput;
|
17
|
+
private selectionState;
|
18
|
+
private viewOptions;
|
19
|
+
constructor(eleReader: ElementReader, docCtx: EditorContext, docComment: DocumentComment, documentInput: DocumentInput);
|
20
|
+
newInput(data: InputData): void;
|
21
|
+
private correctInputEle;
|
22
|
+
/**
|
23
|
+
* 选中区域后进行输入
|
24
|
+
* 需要处理将选中的区域删除后,进行输入的情况
|
25
|
+
*/
|
26
|
+
onInputBySelectRange(data: InputData): void;
|
27
|
+
/**
|
28
|
+
* 当前元素是否在正确的留痕区域(ins-run、del-run),情况分为以下情况
|
29
|
+
* 1.留痕块类型为新增,但是留痕块的创建者为其他用户,此时需要拆分留痕区域
|
30
|
+
* 2.留痕块为当前用户创建,但是创建时间大于有效的时间,此时需要拆分留痕区域
|
31
|
+
* @param startControl
|
32
|
+
* @param trackType
|
33
|
+
* @returns
|
34
|
+
*/
|
35
|
+
isInCorrectTrackRegion(startControl: Element, trackType: TrackRunTypeEnum): boolean;
|
36
|
+
/**
|
37
|
+
* 当前元素是否在留痕区域(ins-run、del-run)中
|
38
|
+
* @param target
|
39
|
+
* @param trackType
|
40
|
+
* @returns
|
41
|
+
*/
|
42
|
+
isInTrackBlock(target: Element, trackType?: TrackRunTypeEnum | null): boolean;
|
43
|
+
/**
|
44
|
+
* 留痕输入
|
45
|
+
* @param data
|
46
|
+
* @param startControl
|
47
|
+
* @param startOffset
|
48
|
+
* @returns
|
49
|
+
*/
|
50
|
+
newInputTrackChanges(data: InputData, startControl: LeafElement, startOffset: number): void;
|
51
|
+
/**
|
52
|
+
* 创建新留痕块,并返回留痕块输入定位文本
|
53
|
+
* @param startControl
|
54
|
+
* @param startOffset
|
55
|
+
* @param trackType
|
56
|
+
* @returns
|
57
|
+
*/
|
58
|
+
createNewTrackInput(startControl: LeafElement, startOffset: number, trackType: TrackRunTypeEnum): TextGroupElement;
|
59
|
+
/**
|
60
|
+
* 获取当前输入节点的文本属性
|
61
|
+
* @param startControl
|
62
|
+
* @param offset
|
63
|
+
* @returns
|
64
|
+
*/
|
65
|
+
getDefaultTextProps(startControl: LeafElement, offset: number): TextProps;
|
66
|
+
/**
|
67
|
+
* 根据选项配置返回创建文本的默认文本属性
|
68
|
+
* @private
|
69
|
+
*/
|
70
|
+
private getDefaultTextPropsByOptions;
|
71
|
+
/**
|
72
|
+
* 当前元素位于留痕区域内,但是当前编辑模式为非留痕模式,需要将当前留痕元素分割开来,插入新普通文本元素对象,并返回
|
73
|
+
* @param startControl
|
74
|
+
* @param startOffset
|
75
|
+
* @returns
|
76
|
+
*/
|
77
|
+
splitTrackElement(startControl: LeafElement, startOffset: number): TextGroupElement;
|
78
|
+
/**
|
79
|
+
* 创建插入(ins-run) 留痕,并且返回留痕的文本元素对象
|
80
|
+
* @param startControl
|
81
|
+
* @returns
|
82
|
+
*/
|
83
|
+
private createTextTrackElement;
|
84
|
+
private createTrackElement;
|
85
|
+
private inputTextGroup;
|
86
|
+
/**
|
87
|
+
* backspace,向前删除
|
88
|
+
*/
|
89
|
+
onBackspace(evt: KeyboardEvent): void;
|
90
|
+
/**
|
91
|
+
* delete,向后删除
|
92
|
+
* @param evt
|
93
|
+
*/
|
94
|
+
onDeleteKeyHandler(evt: KeyboardEvent): void;
|
95
|
+
/**
|
96
|
+
* 根据选择范围删除
|
97
|
+
*/
|
98
|
+
onRangeDelete(): void;
|
99
|
+
private capturingForSelection;
|
100
|
+
private getSelectionRangeStack;
|
101
|
+
/**
|
102
|
+
* backspace删除
|
103
|
+
* @param control
|
104
|
+
* @param offset
|
105
|
+
* @returns
|
106
|
+
*/
|
107
|
+
private onBackspaceElement;
|
108
|
+
/**
|
109
|
+
* 跳到上一个数据元中
|
110
|
+
* @param currEle
|
111
|
+
*/
|
112
|
+
private jumpToPrevDataElement;
|
113
|
+
/**
|
114
|
+
* delete删除
|
115
|
+
* @param control
|
116
|
+
* @param offset
|
117
|
+
* @returns
|
118
|
+
*/
|
119
|
+
private onKeyDeleteElement;
|
120
|
+
/**
|
121
|
+
* 判断是否可以删除数据组
|
122
|
+
* @param dataEle
|
123
|
+
* @private
|
124
|
+
*/
|
125
|
+
private canDeleteInlineGroup;
|
126
|
+
private onDeleteText;
|
127
|
+
private onDeleteItem;
|
128
|
+
/**
|
129
|
+
* 当前元素是否在留痕元素内
|
130
|
+
* @param target
|
131
|
+
* @param trackType
|
132
|
+
* @returns
|
133
|
+
*/
|
134
|
+
private isInCurrentUserTrack;
|
135
|
+
private isInTrackElement;
|
136
|
+
/**
|
137
|
+
* 留痕除文本以外的其他元素
|
138
|
+
* @param target
|
139
|
+
*/
|
140
|
+
private onTrackDeleteElement;
|
141
|
+
/**
|
142
|
+
* 更新文本删除留痕
|
143
|
+
*/
|
144
|
+
private updateDeletedTrackText;
|
145
|
+
private getNextTrackInputElement;
|
146
|
+
/**
|
147
|
+
* 创建一个待输入的文本元素
|
148
|
+
* @private
|
149
|
+
*/
|
150
|
+
private createNewInputText;
|
151
|
+
private getNextTrackElement;
|
152
|
+
/**
|
153
|
+
* 删除元素并定位光标
|
154
|
+
* @param control
|
155
|
+
* @returns
|
156
|
+
*/
|
157
|
+
private removeElement;
|
158
|
+
/**
|
159
|
+
* 处理在表单模式下光标定位的问题
|
160
|
+
* @param target
|
161
|
+
* @param targetOffset
|
162
|
+
* @param deleteTarget
|
163
|
+
* @private
|
164
|
+
*/
|
165
|
+
private setSelectionStateByDeleteEvent;
|
166
|
+
/**
|
167
|
+
* 回车事件
|
168
|
+
*/
|
169
|
+
onEnter(): void;
|
170
|
+
/**
|
171
|
+
* 插入表格
|
172
|
+
* @param tb
|
173
|
+
* @returns
|
174
|
+
*/
|
175
|
+
insertTable(tb: TableElement): void;
|
176
|
+
/**
|
177
|
+
* 插入布局容器,比如表格、数据容器等
|
178
|
+
* @param ele
|
179
|
+
*/
|
180
|
+
insertLayoutContainer(ele: BlockContainerElement): void;
|
181
|
+
/**
|
182
|
+
* 分割当前段落用于插入表格或者粘贴的内容
|
183
|
+
* @param insertItems 分割后插入的内容,内容需要是block或者表格对象
|
184
|
+
*/
|
185
|
+
private splitCurrentParagraph;
|
186
|
+
/**
|
187
|
+
* 合并段落
|
188
|
+
*/
|
189
|
+
combineParagraph(prevPara: ParagraphElement, currPara: ParagraphElement, currElement: Element): void;
|
190
|
+
/**
|
191
|
+
* 删除选中的区域内容
|
192
|
+
* @param range
|
193
|
+
*/
|
194
|
+
deleteRange(range: SelectionContentRange): void;
|
195
|
+
/**
|
196
|
+
* 表单区域删除处理
|
197
|
+
* @param range
|
198
|
+
* @param startPointElement
|
199
|
+
* @returns
|
200
|
+
*/
|
201
|
+
private deleteRangeInFormEdit;
|
202
|
+
/**
|
203
|
+
* 表单模式:删除选中的区域内容
|
204
|
+
*/
|
205
|
+
private loopForDelDataEleRange;
|
206
|
+
/**
|
207
|
+
* 向目标移动元素
|
208
|
+
* @param targetElement
|
209
|
+
* @param targetOffset
|
210
|
+
* @param moveElement
|
211
|
+
* @param moveOffset
|
212
|
+
* @param ss
|
213
|
+
*/
|
214
|
+
moveElement(targetElement: Element, targetOffset: number, moveElement: Element, moveOffset: number, ss: SelectionState): void;
|
215
|
+
/**
|
216
|
+
* 向指定的目标插入元素
|
217
|
+
* @param targetElement
|
218
|
+
* @param targetOffset
|
219
|
+
* @param destEleArray
|
220
|
+
*/
|
221
|
+
insertElement(targetElement: Element, targetOffset: number, destEleArray: Array<Element>): Element | null;
|
222
|
+
/**
|
223
|
+
* 校验容器是否允许插入元素
|
224
|
+
* @param container
|
225
|
+
* @param ele
|
226
|
+
* @returns
|
227
|
+
*/
|
228
|
+
canInsertElement(container: BranchElement, ele: Element): boolean;
|
229
|
+
/**
|
230
|
+
* 根据开始位置和结束位置,将字符切割成指定的区间
|
231
|
+
* @param text
|
232
|
+
* @param start
|
233
|
+
* @param end
|
234
|
+
* @returns
|
235
|
+
*/
|
236
|
+
static splitTextGroupByRange(text: TextGroupElement, start: number, end: number): TextGroupElement | null;
|
237
|
+
splitText(text: TextGroupElement, offset: number): {
|
238
|
+
leftElement: TextGroupElement | null;
|
239
|
+
rightElement: TextGroupElement | null;
|
240
|
+
};
|
241
|
+
/**
|
242
|
+
* 设置选中的文本样式
|
243
|
+
* @param ss
|
244
|
+
* @param setterFunc
|
245
|
+
* @returns
|
246
|
+
*/
|
247
|
+
static setTextStyle(ss: SelectionState, setterFunc: (text: TextGroupElement) => void): void;
|
248
|
+
private static recursionSetRangeTextStyle;
|
249
|
+
static setParaAlign(ss: SelectionState, setterFunc: (tp: ParagraphProps) => void): void;
|
250
|
+
static setParaStyle(ss: SelectionState, setterFunc: (tp: ParagraphProps) => void): void;
|
251
|
+
/**
|
252
|
+
* 复制
|
253
|
+
* @param evt
|
254
|
+
* @returns
|
255
|
+
*/
|
256
|
+
onCopy(evt: ClipboardEvent): void;
|
257
|
+
/**
|
258
|
+
* 剪切
|
259
|
+
* @param evt
|
260
|
+
*/
|
261
|
+
onCut(evt: ClipboardEvent): void;
|
262
|
+
/**
|
263
|
+
* 粘贴
|
264
|
+
* @param evt
|
265
|
+
* @returns
|
266
|
+
*/
|
267
|
+
onPaste(evt: ClipboardEvent): void;
|
268
|
+
/**
|
269
|
+
* 在光标处插入内容
|
270
|
+
* @param data
|
271
|
+
*/
|
272
|
+
onInsertContent(data: {
|
273
|
+
text: string;
|
274
|
+
doc: string;
|
275
|
+
}): void;
|
276
|
+
/**
|
277
|
+
* 处理粘贴的内容
|
278
|
+
* @private
|
279
|
+
*/
|
280
|
+
private handlePasteContent;
|
281
|
+
/**
|
282
|
+
* 处理表单模式下的粘贴事件
|
283
|
+
* @param data 要粘贴的元素
|
284
|
+
*/
|
285
|
+
handlePasteInFormEditMode(data: Array<Element>): void;
|
286
|
+
/**
|
287
|
+
* 复制单元格向另一个单元格粘贴
|
288
|
+
* @private
|
289
|
+
*/
|
290
|
+
private pasteTableToCell;
|
291
|
+
insertSoftBr(): void;
|
292
|
+
insertPageBreakSymbol(): void;
|
293
|
+
/**
|
294
|
+
* 处理黏贴的纯文本
|
295
|
+
* @param text
|
296
|
+
*/
|
297
|
+
private pastePlainText;
|
298
|
+
/**
|
299
|
+
* 当前光标位置是否允许分割生成两个段落
|
300
|
+
*/
|
301
|
+
allowSplitParagraph(target?: {
|
302
|
+
startControl: LeafElement;
|
303
|
+
startOffset: number;
|
304
|
+
}): boolean;
|
305
|
+
/**
|
306
|
+
* 向当前光标追加文本
|
307
|
+
* @param appendStr
|
308
|
+
* @param inputOffset
|
309
|
+
* @param replaceLength
|
310
|
+
* @private
|
311
|
+
*/
|
312
|
+
appendText(appendStr: string, replaceText: string): void;
|
313
|
+
/**
|
314
|
+
* 设置当前段落项目符号类型
|
315
|
+
*/
|
316
|
+
setParagraphNumberType(numType?: ParagraphNumberType): void;
|
317
|
+
/**
|
318
|
+
* 插入批注
|
319
|
+
*/
|
320
|
+
insertComment(text: string): void;
|
321
|
+
validate(): boolean;
|
322
|
+
/**
|
323
|
+
* 移除空字符串
|
324
|
+
* @param text
|
325
|
+
*/
|
326
|
+
removeEmptyText(text: TextGroupElement): void;
|
327
|
+
setCursorForDeleteAction(control: Element): void;
|
328
|
+
getCursorElementByDeleteAction(control: Element): {
|
329
|
+
ele: LeafElement;
|
330
|
+
offset: number;
|
331
|
+
} | null;
|
332
|
+
/**
|
333
|
+
* 移除空行内标签
|
334
|
+
* @param ele
|
335
|
+
*/
|
336
|
+
removeEmptyInlineBlock(ele: Element): void;
|
337
|
+
/**
|
338
|
+
* 插入Tab制表位
|
339
|
+
*/
|
340
|
+
insertTabElement(): void;
|
341
|
+
}
|