@hailin-zheng/editor-core 2.2.27 → 2.2.29

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.
Files changed (94) hide show
  1. package/editor.css +638 -638
  2. package/index-cjs.d.ts +32 -32
  3. package/index-cjs.js +23949 -23920
  4. package/index-cjs.js.map +1 -1
  5. package/index.d.ts +32 -32
  6. package/index.js +23949 -23920
  7. package/index.js.map +1 -1
  8. package/med_editor/doc-editor.d.ts +541 -543
  9. package/med_editor/doc-rule.d.ts +174 -174
  10. package/med_editor/editor-core.d.ts +18 -18
  11. package/med_editor/framework/code-interpreter/ast-parser.d.ts +4 -4
  12. package/med_editor/framework/code-interpreter/document-eval-func.d.ts +18 -18
  13. package/med_editor/framework/code-interpreter/dynamic-execute.d.ts +26 -26
  14. package/med_editor/framework/doc-layout/document-arrange.d.ts +95 -88
  15. package/med_editor/framework/doc-layout/paragraph-arrange.d.ts +110 -110
  16. package/med_editor/framework/document-change.d.ts +341 -341
  17. package/med_editor/framework/document-combine.d.ts +24 -24
  18. package/med_editor/framework/document-comment.d.ts +38 -38
  19. package/med_editor/framework/document-context.d.ts +154 -154
  20. package/med_editor/framework/document-event.d.ts +256 -256
  21. package/med_editor/framework/document-input-cursor.d.ts +32 -32
  22. package/med_editor/framework/document-paginator.d.ts +46 -46
  23. package/med_editor/framework/document-svg.d.ts +36 -36
  24. package/med_editor/framework/document-template.d.ts +13 -13
  25. package/med_editor/framework/document-textline-mode.d.ts +6 -6
  26. package/med_editor/framework/element-define.d.ts +438 -438
  27. package/med_editor/framework/element-event-define.d.ts +102 -102
  28. package/med_editor/framework/element-props.d.ts +344 -344
  29. package/med_editor/framework/element-reader.d.ts +20 -20
  30. package/med_editor/framework/element-serialize.d.ts +36 -36
  31. package/med_editor/framework/element-type-handler.d.ts +8 -8
  32. package/med_editor/framework/history/element-trace-manage.d.ts +107 -107
  33. package/med_editor/framework/history/element-trace-tracking.d.ts +89 -89
  34. package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +19 -19
  35. package/med_editor/framework/impl/comments/comment-content-impl.d.ts +39 -39
  36. package/med_editor/framework/impl/comments/comment-element-impl.d.ts +24 -24
  37. package/med_editor/framework/impl/comments/comments-container-impl.d.ts +19 -19
  38. package/med_editor/framework/impl/comments/validate-msg-impl.d.ts +19 -19
  39. package/med_editor/framework/impl/data-element/data-container-impl.d.ts +25 -25
  40. package/med_editor/framework/impl/data-element/data-decorate-impl.d.ts +16 -16
  41. package/med_editor/framework/impl/data-element/data-element-barcode.d.ts +32 -32
  42. package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +120 -120
  43. package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +26 -26
  44. package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +23 -23
  45. package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +28 -28
  46. package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +23 -23
  47. package/med_editor/framework/impl/data-element/data-element-list-impl.d.ts +21 -21
  48. package/med_editor/framework/impl/data-element/data-element-text-impl.d.ts +22 -22
  49. package/med_editor/framework/impl/data-element/qrcode.d.ts +93 -93
  50. package/med_editor/framework/impl/decorate/fill-null-space-imple.d.ts +16 -16
  51. package/med_editor/framework/impl/document/doc-body-impl.d.ts +19 -19
  52. package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +22 -22
  53. package/med_editor/framework/impl/document/doc-container-impl.d.ts +7 -7
  54. package/med_editor/framework/impl/document/doc-footer-impl.d.ts +19 -19
  55. package/med_editor/framework/impl/document/doc-header-impl.d.ts +19 -19
  56. package/med_editor/framework/impl/document/doc-impl.d.ts +84 -81
  57. package/med_editor/framework/impl/index.d.ts +40 -40
  58. package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +31 -31
  59. package/med_editor/framework/impl/media-formula/permanent-teeth.d.ts +34 -34
  60. package/med_editor/framework/impl/paragraph/p-impl.d.ts +38 -38
  61. package/med_editor/framework/impl/picture/RectEle.d.ts +44 -44
  62. package/med_editor/framework/impl/picture/image-impl.d.ts +24 -24
  63. package/med_editor/framework/impl/radio/radio-impl.d.ts +17 -17
  64. package/med_editor/framework/impl/shape/line-impl.d.ts +31 -0
  65. package/med_editor/framework/impl/svg/svg-impl.d.ts +20 -20
  66. package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +18 -18
  67. package/med_editor/framework/impl/symbol/p-symbol-impl.d.ts +16 -16
  68. package/med_editor/framework/impl/symbol/page-br-symbol-impl.d.ts +20 -20
  69. package/med_editor/framework/impl/symbol/tab-symbol-impl.d.ts +15 -15
  70. package/med_editor/framework/impl/table/table-cell-impl.d.ts +34 -34
  71. package/med_editor/framework/impl/table/table-impl.d.ts +49 -49
  72. package/med_editor/framework/impl/table/table-row-impl.d.ts +27 -27
  73. package/med_editor/framework/impl/table/table-split-cell-patch.d.ts +20 -20
  74. package/med_editor/framework/impl/table/table-split-cell.d.ts +93 -93
  75. package/med_editor/framework/impl/table/table-util.d.ts +180 -180
  76. package/med_editor/framework/impl/text/text-impl.d.ts +34 -34
  77. package/med_editor/framework/impl/text/track-run-impl.d.ts +27 -27
  78. package/med_editor/framework/infrastructure/event-subject.d.ts +57 -57
  79. package/med_editor/framework/infrastructure/notify.d.ts +13 -13
  80. package/med_editor/framework/print/document-print-offscreen.d.ts +58 -58
  81. package/med_editor/framework/print/document-print.d.ts +18 -18
  82. package/med_editor/framework/render-context.d.ts +111 -111
  83. package/med_editor/framework/render-define.d.ts +140 -140
  84. package/med_editor/framework/search/search-panel.d.ts +31 -31
  85. package/med_editor/framework/selection/document-selection.d.ts +92 -92
  86. package/med_editor/framework/selection/range-util.d.ts +36 -36
  87. package/med_editor/framework/selection/selection-overlays.d.ts +36 -36
  88. package/med_editor/framework/suggestions/input-suggestions.d.ts +29 -29
  89. package/med_editor/framework/util/adjust-viewport-elements.d.ts +12 -12
  90. package/med_editor/framework/util/common-util.d.ts +77 -77
  91. package/med_editor/framework/util/document-segmenter.d.ts +2 -2
  92. package/med_editor/framework/util/element-util.d.ts +417 -417
  93. package/med_editor/framework/vnode/editor-calendar-vnode.d.ts +43 -43
  94. 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
+ }