@hailin-zheng/editor-core 2.2.2 → 2.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. package/editor.css +610 -610
  2. package/index-cjs.d.ts +31 -31
  3. package/index-cjs.js +22202 -22166
  4. package/index-cjs.js.map +1 -1
  5. package/index.d.ts +31 -31
  6. package/index.js +22204 -22169
  7. package/index.js.map +1 -1
  8. package/med_editor/doc-editor.d.ts +464 -461
  9. package/med_editor/doc-rule.d.ts +46 -46
  10. package/med_editor/editor-core.d.ts +21 -21
  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 +23 -23
  14. package/med_editor/framework/doc-layout/document-arrange.d.ts +86 -86
  15. package/med_editor/framework/doc-layout/paragraph-arrange.d.ts +107 -107
  16. package/med_editor/framework/document-change.d.ts +295 -295
  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 +133 -133
  20. package/med_editor/framework/document-event.d.ts +251 -251
  21. package/med_editor/framework/document-input-cursor.d.ts +43 -43
  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 +409 -406
  27. package/med_editor/framework/element-event-define.d.ts +107 -107
  28. package/med_editor/framework/element-props.d.ts +343 -343
  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 +9 -9
  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-decorate-impl.d.ts +15 -15
  40. package/med_editor/framework/impl/data-element/data-element-barcode.d.ts +32 -32
  41. package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +96 -96
  42. package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +26 -26
  43. package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +23 -23
  44. package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +17 -17
  45. package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +23 -23
  46. package/med_editor/framework/impl/data-element/data-element-list-impl.d.ts +21 -21
  47. package/med_editor/framework/impl/data-element/data-element-text-impl.d.ts +22 -22
  48. package/med_editor/framework/impl/data-element/qrcode.d.ts +93 -93
  49. package/med_editor/framework/impl/decorate/fill-null-space-imple.d.ts +16 -16
  50. package/med_editor/framework/impl/document/doc-body-impl.d.ts +19 -20
  51. package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +22 -22
  52. package/med_editor/framework/impl/document/doc-container-impl.d.ts +7 -7
  53. package/med_editor/framework/impl/document/doc-footer-impl.d.ts +19 -19
  54. package/med_editor/framework/impl/document/doc-header-impl.d.ts +19 -19
  55. package/med_editor/framework/impl/document/doc-impl.d.ts +72 -71
  56. package/med_editor/framework/impl/index.d.ts +39 -39
  57. package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +31 -31
  58. package/med_editor/framework/impl/media-formula/permanent-teeth.d.ts +34 -34
  59. package/med_editor/framework/impl/paragraph/p-impl.d.ts +38 -38
  60. package/med_editor/framework/impl/picture/RectEle.d.ts +44 -44
  61. package/med_editor/framework/impl/picture/image-impl.d.ts +24 -24
  62. package/med_editor/framework/impl/radio/radio-impl.d.ts +17 -17
  63. package/med_editor/framework/impl/svg/svg-impl.d.ts +20 -20
  64. package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +18 -18
  65. package/med_editor/framework/impl/symbol/p-symbol-impl.d.ts +16 -16
  66. package/med_editor/framework/impl/symbol/page-br-symbol-impl.d.ts +20 -20
  67. package/med_editor/framework/impl/symbol/tab-symbol-impl.d.ts +15 -15
  68. package/med_editor/framework/impl/table/table-cell-impl.d.ts +34 -34
  69. package/med_editor/framework/impl/table/table-impl.d.ts +49 -49
  70. package/med_editor/framework/impl/table/table-row-impl.d.ts +27 -27
  71. package/med_editor/framework/impl/table/table-split-cell-patch.d.ts +20 -20
  72. package/med_editor/framework/impl/table/table-split-cell.d.ts +92 -92
  73. package/med_editor/framework/impl/table/table-util.d.ts +180 -180
  74. package/med_editor/framework/impl/text/text-impl.d.ts +34 -34
  75. package/med_editor/framework/impl/text/track-run-impl.d.ts +27 -27
  76. package/med_editor/framework/infrastructure/event-subject.d.ts +56 -56
  77. package/med_editor/framework/infrastructure/notify.d.ts +13 -13
  78. package/med_editor/framework/print/document-print-offscreen.d.ts +58 -58
  79. package/med_editor/framework/print/document-print.d.ts +18 -18
  80. package/med_editor/framework/render-context.d.ts +111 -111
  81. package/med_editor/framework/render-define.d.ts +141 -141
  82. package/med_editor/framework/selection/document-selection.d.ts +91 -97
  83. package/med_editor/framework/selection/range-util.d.ts +36 -36
  84. package/med_editor/framework/selection/selection-overlays.d.ts +32 -32
  85. package/med_editor/framework/util/adjust-viewport-elements.d.ts +12 -12
  86. package/med_editor/framework/util/common-util.d.ts +76 -76
  87. package/med_editor/framework/util/document-segmenter.d.ts +2 -2
  88. package/med_editor/framework/util/element-util.d.ts +410 -410
  89. package/med_editor/framework/vnode/editor-calendar-vnode.d.ts +42 -42
  90. package/package.json +19 -19
@@ -1,461 +1,464 @@
1
- import { ContentMenuItem } from './framework/element-event-define';
2
- import { ElementReader } from './framework/element-reader';
3
- import { SelectionState } from './framework/selection/document-selection';
4
- import { BranchElement, Element, ICancelTokenFn, LeafElement, MarginProps, OrientType, PageLayoutMode, Position, Rect, SerializeProps, ViewOptions } from './framework/element-define';
5
- import { DataElementInlineGroup, DataElementLeaf, DocumentElement, ParagraphElement, TableCellElement, TableElement, TableRowElement } from './framework/impl';
6
- import { CellDiagonal, ParagraphNumberType, ParagraphProps, TextProps } from './framework/element-props';
7
- import { EditorContext } from './framework/document-context';
8
- import { ElementTrackManage } from './framework/history/element-trace-manage';
9
- import { Subject } from './framework/infrastructure/event-subject';
10
- import { init, VNode } from "snabbdom";
11
- import { IVNodeRenderFunc } from "./editor-core";
12
- import { DocRule } from "./doc-rule";
13
- export declare class DocEditor {
14
- private svgContainer;
15
- private contentCtx;
16
- viewOptions: ViewOptions;
17
- docCtx: EditorContext;
18
- private docComment;
19
- private renderContext;
20
- private documentPaginator;
21
- elementReader: ElementReader;
22
- private documentEvent;
23
- private documentSelection;
24
- private documentInput;
25
- private documentChange;
26
- private selectionOverlays;
27
- historyMange: ElementTrackManage;
28
- selectionChanged: Subject<SelectionState>;
29
- beforeRenderSubject: Subject<void>;
30
- afterRenderSubject: Subject<void>;
31
- onBeforeSetCursorSubject: Subject<{
32
- result: boolean;
33
- ss: SelectionState;
34
- }>;
35
- contentChanged: Subject<void>;
36
- onPatchVNodeSubject: Subject<void>;
37
- selectionState: SelectionState;
38
- onDblClickEvent: Subject<Event>;
39
- onClickEvent: Subject<Event>;
40
- onDocChangedEvent: Subject<void>;
41
- onBeforeRefreshDocument: Subject<void>;
42
- onDocViewSizeChanged: Subject<void>;
43
- onDestroy: Subject<void>;
44
- beforeNodePatch: Subject<void>;
45
- afterNodePatch: Subject<void>;
46
- private eventBus;
47
- private editInput;
48
- private scrollContainer;
49
- constructor(svgContainer: HTMLElement);
50
- private createCanvasContext;
51
- private renderRoot;
52
- private updateViewOption;
53
- private adjustPageLayout;
54
- private destroyDOM;
55
- createDocViewer(): void;
56
- measureMMToPixs(): number;
57
- flushTask: (() => void) | null;
58
- private trackChangeState;
59
- flushToSchedule(): Promise<void> | null;
60
- /**
61
- * 触发文档改变事件
62
- * @returns
63
- */
64
- triggerDocChange(): void;
65
- /**
66
- * fn函数执行时,不触发onDocChange
67
- * @param fn
68
- */
69
- noEffectChange(fn: () => void): void;
70
- loadDoc(data: any | DocumentElement): void;
71
- /**
72
- * 刷新文档,重新测量并设置光标等
73
- * @returns
74
- */
75
- private refreshDocument;
76
- /**
77
- * 计算选区内容对象
78
- * @private
79
- */
80
- private updateSelection;
81
- private hitInfoChanged;
82
- /**
83
- * 设置光标
84
- */
85
- private setCursor;
86
- private getCursorRect;
87
- /**
88
- * 设置虚拟光标的可见性
89
- * @param visibility
90
- */
91
- setCursorVisibility(visibility: boolean): void;
92
- hiddenInput(reset?: boolean, pos?: Omit<Rect, 'width'> | null): void;
93
- /**
94
- * 设置光标位置
95
- * @param position
96
- */
97
- setCursorPosition(position: {
98
- x: number;
99
- y: number;
100
- height: number;
101
- }): void;
102
- /**
103
- * 判断是否光标可以设置接受编辑
104
- * @returns
105
- */
106
- private canSetCursor;
107
- /**
108
- * 修改光标
109
- * @param newCursor
110
- */
111
- private changeCursor;
112
- /**
113
- * 文档点击事件
114
- */
115
- private docClickHandle;
116
- /**
117
- * 文档双击事件
118
- * 处理全选当前段落
119
- */
120
- private docDblClickHandle;
121
- /**
122
- * 获取当前光标所在的数据元
123
- * @returns
124
- */
125
- getCurrentDataElement(): DataElementInlineGroup | DataElementLeaf | null;
126
- /**
127
- * 移动光标到下一个数据元素上
128
- */
129
- moveFocusToNextDataElement(): void;
130
- /**
131
- * 设置当前光标所在的数据元的值
132
- * @param val
133
- */
134
- setCurrentDataElementValue(val: any): void;
135
- /**
136
- * 获取数据元位置
137
- * @param element
138
- * @returns
139
- */
140
- getDataElementPosition(element: LeafElement): Omit<Rect, 'width'> | null;
141
- /**
142
- * 获取文档模型
143
- * @returns
144
- */
145
- getDocSchema(): any;
146
- getDocSchemaJSON(): string;
147
- private menusData;
148
- /**
149
- * 右键菜单
150
- * @param evt
151
- */
152
- onContextMenu(evt: MouseEvent): void;
153
- resetViewer(type?: 'demand' | 'force' | undefined): void;
154
- /**
155
- * 缩放视图
156
- * @param scale
157
- * @returns
158
- */
159
- scale(scale: number): void;
160
- /**
161
- * 自适应计算缩放
162
- * @private
163
- */
164
- private adaptiveScale;
165
- /**
166
- * 缩放视图
167
- * @param scale
168
- * @returns
169
- */
170
- private _scaleView;
171
- /**
172
- * 在当前位置插入表格
173
- * @param rows
174
- * @param cols
175
- */
176
- insertTable(rows: number, cols: number): TableElement;
177
- /**
178
- * 插入软换行符
179
- */
180
- insertSoftBr(): void;
181
- /**
182
- * 清除文档
183
- */
184
- clearDoc(): void;
185
- /**
186
- * 新建文档
187
- * @param doc
188
- * @param name
189
- */
190
- createNewDoc(doc?: DocumentElement | null, name?: string): void;
191
- destroy(): void;
192
- /**
193
- * 将元素序列化为字符串,和serialize方法不同的是,该方法区别在于对留痕信息的处理
194
- * @param ele
195
- */
196
- serializeString(ele: Element): string;
197
- /**
198
- * 将元素序列化为JSON对象,可进一步操作该对象序列化为JSON对象
199
- * @param ele
200
- */
201
- serialize(ele: Element): SerializeProps | null;
202
- /**
203
- * 获取选区文本属性
204
- * @returns
205
- */
206
- getSelectionTextGroupProps(): TextProps | null;
207
- getSelectionParaProps(): ParagraphProps | null;
208
- setTextFormat(newProps: Partial<TextProps>): void;
209
- /**
210
- * 设置文本格式
211
- * @param newProps
212
- */
213
- setTextFormatByFn(setterFunc: (textProps: TextProps) => void): void;
214
- /**
215
- * 开启格式刷
216
- */
217
- enableFormatBrush(once?: boolean): ICancelTokenFn | null;
218
- /**
219
- * 设置段落样式
220
- * @param newProps
221
- */
222
- setParaStyle(newProps: Partial<ParagraphProps>): void;
223
- /**
224
- * 设置段落样式
225
- * @param setterFunc
226
- */
227
- setParaStyleByFn(setterFunc: (paraProps: ParagraphProps) => void): void;
228
- combineCell(): void;
229
- /**
230
- * 切换当前段落项目符号状态
231
- */
232
- setParagraphNumberType(numType: ParagraphNumberType): void;
233
- /**
234
- * 删除当前批注
235
- * @param id
236
- */
237
- removeComment(id: string): void;
238
- /**
239
- * 移除焦点所在的批注
240
- */
241
- removeCurrentComment(): void;
242
- /**
243
- * 插入批注
244
- */
245
- insertComment(): void;
246
- /**
247
- * 清除所有批注
248
- */
249
- clearAllComments(): void;
250
- /**
251
- * 插入分页符
252
- */
253
- insertPageBreakSymbol(): void;
254
- cutTable(): void;
255
- /**
256
- * 初始化当前文档创建用户信息
257
- * 一份文档只需要设置一次
258
- */
259
- initCurrentDocUser(userId: string, userName: string, date: string): void;
260
- /**
261
- * 验证文档内容
262
- * @returns
263
- */
264
- validate(): boolean;
265
- /**
266
- * 撤销
267
- */
268
- undo(): void;
269
- /**
270
- * 恢复
271
- */
272
- redo(): void;
273
- /**
274
- * 是否可以撤销
275
- */
276
- canUndo(): boolean;
277
- /**
278
- * 是否可以恢复
279
- */
280
- canRedo(): boolean;
281
- switchTrackChanges(eleCtx?: BranchElement | null): void;
282
- get trackTipsChanged(): Subject<{
283
- pos: Position;
284
- tips: import("./framework/element-event-define").ITrackTips;
285
- }>;
286
- switchFullViewPage(): void;
287
- getSelectedJSON(): string;
288
- getSelectedText(): string;
289
- /**
290
- * 执行编辑器内部复制事件
291
- * @param evt
292
- */
293
- execCopy(evt: ClipboardEvent): void;
294
- /**
295
- * 设置纸张方向
296
- * @param orientation
297
- */
298
- setPaperOrient(orientation: OrientType): void;
299
- /**
300
- * 设置纸张大小,单位为毫米(mm)
301
- * @param width
302
- * @param height
303
- */
304
- setPaperSize(width: string): any;
305
- setPaperSize(width: number, height: number): any;
306
- /**
307
- * 显示当前元素到视图中
308
- * @param element
309
- */
310
- bringToView(element: Element): void;
311
- scrollToPosition(pos: Position): void;
312
- /**
313
- * 设置当前文档页边距
314
- */
315
- setDocumentMargin(pageMargin: Partial<MarginProps>): void;
316
- /**
317
- * 插入元素
318
- * @param targetElement
319
- * @param targetOffset
320
- * @param destEleArray
321
- * @returns
322
- */
323
- insertElement(targetElement: Element, targetOffset: number, destEleArray: Array<Element>): Element | null;
324
- /**
325
- * 插入新元素
326
- * @param ele
327
- */
328
- insertNewElement(ele: Element): void;
329
- switchPageLayout(mode: PageLayoutMode): void;
330
- /**
331
- * 获取当前光标位置所在的段落
332
- */
333
- getParagraphAtCursor(): ParagraphElement | null;
334
- /**
335
- * 获取当前光标位置的表格
336
- */
337
- getTableAtCursor(): TableElement | null;
338
- /**
339
- * 获取当前光标位置的表格行
340
- */
341
- getTableRowAtCursor(): TableRowElement | null;
342
- /**
343
- * 获取当前光标位置的单元格
344
- */
345
- getTableCellAtCursor(): TableCellElement | null;
346
- /**
347
- * 当前光标处上方插入新行
348
- */
349
- insertRowAboveAtCursor(): void;
350
- /**
351
- * 当前光标处下方插入新行
352
- */
353
- insertRowBelowAtCursor(): void;
354
- /**
355
- * 当前光标处右方插入新列
356
- */
357
- insertColToRightAtCursor(): void;
358
- /**
359
- * 当前光标处左方插入新列
360
- */
361
- insertColToLeftAtCursor(): void;
362
- /**
363
- * 移除当前光标处的行
364
- */
365
- removeCurrRowAtCursor(): void;
366
- /**
367
- * 移除当前光标处的列
368
- */
369
- removeCurrColAtCursor(): void;
370
- /**
371
- * 合并单元格
372
- */
373
- mergeCellsBySelection(): void;
374
- /**
375
- * 拆分单元格
376
- * @param rows
377
- * @param cols
378
- */
379
- splitCell(rows: number, cols: number): void;
380
- /**
381
- * 删除当前光标所在的表格
382
- */
383
- removeTableAtCursor(): void;
384
- /**
385
- * 设置单元格对角线
386
- * @param diagonal
387
- */
388
- setCellDiagonal(diagonal: CellDiagonal): void;
389
- /**
390
- * 设置选区范围内的单元格背景颜色
391
- */
392
- setTableCellBgColorAtSelection(color: string): void;
393
- /**
394
- * 还原光标处已合并的单元格
395
- */
396
- restoreMergeCellsAtCursor(): void;
397
- /**
398
- * 表格在指定位置插入新行
399
- * @param tb
400
- * @param insertRowIndex
401
- */
402
- insertNewRow(tb: TableElement, insertRowIndex: number): TableRowElement;
403
- /**
404
- * 开启打印区域
405
- */
406
- startPrintArea(): void;
407
- onChange(): void;
408
- nodePatch: ReturnType<typeof init>;
409
- vNodeDocContent: VNode;
410
- createPatch(): void;
411
- /**
412
- * 留痕提示的容器框,用于渲染后重新计算纵向位置
413
- * @private
414
- */
415
- private tipContainer;
416
- getVNode(): IVNodeRenderFunc;
417
- /**
418
- * 更新提示区域布局宽度,根据渲染的节点,判断是否需要设置提示区域宽度
419
- * @private
420
- */
421
- private updateTipLayoutWidth;
422
- /**
423
- * 更新留痕提示框位置在文档渲染后
424
- * @private
425
- */
426
- private updateTipLayoutAfterPatch;
427
- private createChangeTipContainer;
428
- /**
429
- * 设置光标在数据元内容末尾
430
- */
431
- setDataElemEndFocus(ele: DataElementInlineGroup): void;
432
- /**
433
- * 渲染下拉框数据元
434
- * @private
435
- */
436
- private renderDataListVNode;
437
- private resizePosition;
438
- private renderCalendar;
439
- private renderContextmenu;
440
- /**
441
- * 设置标尺
442
- */
443
- refreshDocRule(rule: DocRule): void;
444
- version(): string;
445
- switchPageHeaderEditor(): void;
446
- getTextContent(): string;
447
- emit(event: string, args: any): void;
448
- createResizableElement(): VNode;
449
- private readDocChangeLog;
450
- }
451
- export interface IReaderManager {
452
- }
453
- export declare type EditorCurrentPos = {
454
- pos: Position;
455
- };
456
- export declare type EditorContextProps = {
457
- menus: Array<ContentMenuItem>;
458
- } & EditorCurrentPos;
459
- export declare type EditorPanelProps = {
460
- type: string;
461
- } & EditorCurrentPos;
1
+ import { ContentMenuItem } from './framework/element-event-define';
2
+ import { ElementReader } from './framework/element-reader';
3
+ import { SelectionState } from './framework/selection/document-selection';
4
+ import { Element, ICancelTokenFn, LeafElement, MarginProps, OrientType, PageLayoutMode, Position, Rect, SerializeProps, ViewOptions } from './framework/element-define';
5
+ import { DataElementInlineGroup, DataElementLeaf, DocumentElement, ParagraphElement, TableCellElement, TableElement, TableRowElement } from './framework/impl';
6
+ import { CellDiagonal, ParagraphNumberType, ParagraphProps, TextProps } from './framework/element-props';
7
+ import { EditorContext } from './framework/document-context';
8
+ import { ElementTrackManage } from './framework/history/element-trace-manage';
9
+ import { Subject } from './framework/infrastructure/event-subject';
10
+ import { init, VNode } from "snabbdom";
11
+ import { IVNodeRenderFunc } from "./editor-core";
12
+ import { DocRule } from "./doc-rule";
13
+ export declare class DocEditor {
14
+ private svgContainer;
15
+ private contentCtx;
16
+ viewOptions: ViewOptions;
17
+ docCtx: EditorContext;
18
+ private docComment;
19
+ private renderContext;
20
+ private documentPaginator;
21
+ elementReader: ElementReader;
22
+ private documentEvent;
23
+ private documentSelection;
24
+ private documentInput;
25
+ private documentChange;
26
+ private selectionOverlays;
27
+ historyMange: ElementTrackManage;
28
+ selectionChanged: Subject<SelectionState>;
29
+ beforeRenderSubject: Subject<void>;
30
+ afterRenderSubject: Subject<void>;
31
+ onBeforeSetCursorSubject: Subject<{
32
+ result: boolean;
33
+ ss: SelectionState;
34
+ }>;
35
+ contentChanged: Subject<void>;
36
+ onPatchVNodeSubject: Subject<void>;
37
+ selectionState: SelectionState;
38
+ onDblClickEvent: Subject<Event>;
39
+ onClickEvent: Subject<Event>;
40
+ onDocChangedEvent: Subject<void>;
41
+ onBeforeRefreshDocument: Subject<void>;
42
+ onDocViewSizeChanged: Subject<void>;
43
+ onDestroy: Subject<void>;
44
+ beforeNodePatch: Subject<void>;
45
+ afterNodePatch: Subject<void>;
46
+ private eventBus;
47
+ private editInput;
48
+ private scrollContainer;
49
+ constructor(svgContainer: HTMLElement);
50
+ private createCanvasContext;
51
+ private renderRoot;
52
+ private updateViewOption;
53
+ adjustPageLayout(): void;
54
+ private destroyDOM;
55
+ createDocViewer(): void;
56
+ measureMMToPixs(): number;
57
+ flushTask: (() => void) | null;
58
+ private trackChangeState;
59
+ flushToSchedule(): Promise<void> | null;
60
+ /**
61
+ * 触发文档改变事件
62
+ * @returns
63
+ */
64
+ triggerDocChange(): void;
65
+ /**
66
+ * fn函数执行时,不触发onDocChange
67
+ * @param fn
68
+ */
69
+ noEffectChange(fn: () => void): void;
70
+ loadDoc(data: any | DocumentElement): void;
71
+ /**
72
+ * 刷新文档,重新测量并设置光标等
73
+ * @returns
74
+ */
75
+ private refreshDocument;
76
+ /**
77
+ * 计算选区内容对象
78
+ * @private
79
+ */
80
+ private updateSelection;
81
+ private hitInfoChanged;
82
+ /**
83
+ * 设置光标
84
+ */
85
+ private setCursor;
86
+ private getCursorRect;
87
+ /**
88
+ * 设置虚拟光标的可见性
89
+ * @param visibility
90
+ */
91
+ setCursorVisibility(visibility: boolean): void;
92
+ hiddenInput(reset?: boolean, pos?: Omit<Rect, 'width'> | null): void;
93
+ /**
94
+ * 设置光标位置
95
+ * @param position
96
+ */
97
+ setCursorPosition(position: {
98
+ x: number;
99
+ y: number;
100
+ height: number;
101
+ }): void;
102
+ /**
103
+ * 判断是否光标可以设置接受编辑
104
+ * @returns
105
+ */
106
+ private canSetCursor;
107
+ /**
108
+ * 修改光标
109
+ * @param newCursor
110
+ */
111
+ private changeCursor;
112
+ /**
113
+ * 文档点击事件
114
+ */
115
+ private docClickHandle;
116
+ /**
117
+ * 文档双击事件
118
+ * 处理全选当前段落
119
+ */
120
+ private docDblClickHandle;
121
+ /**
122
+ * 获取当前光标所在的数据元
123
+ * @returns
124
+ */
125
+ getCurrentDataElement(): DataElementInlineGroup | DataElementLeaf | null;
126
+ /**
127
+ * 移动光标到下一个数据元素上
128
+ */
129
+ moveFocusToNextDataElement(): void;
130
+ /**
131
+ * 设置当前光标所在的数据元的值
132
+ * @param val
133
+ */
134
+ setCurrentDataElementValue(val: any): void;
135
+ /**
136
+ * 获取数据元位置
137
+ * @param element
138
+ * @returns
139
+ */
140
+ getDataElementPosition(element: LeafElement): Omit<Rect, 'width'> | null;
141
+ /**
142
+ * 获取文档模型
143
+ * @returns
144
+ */
145
+ getDocSchema(): any;
146
+ getDocSchemaJSON(): string;
147
+ private menusData;
148
+ /**
149
+ * 右键菜单
150
+ * @param evt
151
+ */
152
+ onContextMenu(evt: MouseEvent): void;
153
+ resetViewer(type?: 'demand' | 'force' | undefined): void;
154
+ /**
155
+ * 缩放视图
156
+ * @param scale
157
+ * @returns
158
+ */
159
+ scale(scale: number): void;
160
+ /**
161
+ * 自适应计算缩放
162
+ * @private
163
+ */
164
+ private adaptiveScale;
165
+ /**
166
+ * 缩放视图
167
+ * @param scale
168
+ * @returns
169
+ */
170
+ private _scaleView;
171
+ /**
172
+ * 在当前位置插入表格
173
+ * @param rows
174
+ * @param cols
175
+ */
176
+ insertTable(rows: number, cols: number): TableElement;
177
+ /**
178
+ * 插入软换行符
179
+ */
180
+ insertSoftBr(): void;
181
+ /**
182
+ * 清除文档
183
+ */
184
+ clearDoc(): void;
185
+ /**
186
+ * 新建文档
187
+ * @param doc
188
+ * @param name
189
+ */
190
+ createNewDoc(doc?: DocumentElement | null, name?: string): void;
191
+ destroy(): void;
192
+ /**
193
+ * 将元素序列化为字符串,和serialize方法不同的是,该方法区别在于对留痕信息的处理
194
+ * @param ele
195
+ */
196
+ serializeString(ele: Element): string;
197
+ /**
198
+ * 将元素序列化为JSON对象,可进一步操作该对象序列化为JSON对象
199
+ * @param ele
200
+ */
201
+ serialize(ele: Element): SerializeProps | null;
202
+ /**
203
+ * 获取选区文本属性
204
+ * @returns
205
+ */
206
+ getSelectionTextGroupProps(): TextProps | null;
207
+ getSelectionParaProps(): ParagraphProps | null;
208
+ setTextFormat(newProps: Partial<TextProps>): void;
209
+ /**
210
+ * 设置文本格式
211
+ * @param newProps
212
+ */
213
+ setTextFormatByFn(setterFunc: (textProps: TextProps) => void): void;
214
+ /**
215
+ * 开启格式刷
216
+ */
217
+ enableFormatBrush(once?: boolean): ICancelTokenFn | null;
218
+ /**
219
+ * 设置段落样式
220
+ * @param newProps
221
+ */
222
+ setParaStyle(newProps: Partial<ParagraphProps>): void;
223
+ /**
224
+ * 设置段落样式
225
+ * @param setterFunc
226
+ */
227
+ setParaStyleByFn(setterFunc: (paraProps: ParagraphProps) => void): void;
228
+ combineCell(): void;
229
+ /**
230
+ * 切换当前段落项目符号状态
231
+ */
232
+ setParagraphNumberType(numType: ParagraphNumberType): void;
233
+ /**
234
+ * 删除当前批注
235
+ * @param id
236
+ */
237
+ removeComment(id: string): void;
238
+ /**
239
+ * 移除焦点所在的批注
240
+ */
241
+ removeCurrentComment(): void;
242
+ /**
243
+ * 插入批注
244
+ */
245
+ insertComment(text: string): void;
246
+ /**
247
+ * 清除所有批注
248
+ */
249
+ clearAllComments(): void;
250
+ /**
251
+ * 插入分页符
252
+ */
253
+ insertPageBreakSymbol(): void;
254
+ cutTable(): void;
255
+ /**
256
+ * 初始化当前文档创建用户信息
257
+ * 一份文档只需要设置一次
258
+ */
259
+ initCurrentDocUser(userId: string, userName: string, date: string): void;
260
+ /**
261
+ * 验证文档内容
262
+ * @returns
263
+ */
264
+ validate(): boolean;
265
+ /**
266
+ * 撤销
267
+ */
268
+ undo(): void;
269
+ /**
270
+ * 恢复
271
+ */
272
+ redo(): void;
273
+ /**
274
+ * 是否可以撤销
275
+ */
276
+ canUndo(): boolean;
277
+ /**
278
+ * 是否可以恢复
279
+ */
280
+ canRedo(): boolean;
281
+ /**
282
+ * 切换文档留痕开关
283
+ */
284
+ switchTrackChanges(): void;
285
+ get trackTipsChanged(): Subject<{
286
+ pos: Position;
287
+ tips: import("./framework/element-event-define").ITrackTips;
288
+ }>;
289
+ switchFullViewPage(): void;
290
+ getSelectedJSON(): string;
291
+ getSelectedText(): string;
292
+ /**
293
+ * 执行编辑器内部复制事件
294
+ * @param evt
295
+ */
296
+ execCopy(evt: ClipboardEvent): void;
297
+ /**
298
+ * 设置纸张方向
299
+ * @param orientation
300
+ */
301
+ setPaperOrient(orientation: OrientType): void;
302
+ /**
303
+ * 设置纸张大小,单位为毫米(mm)
304
+ * @param width
305
+ * @param height
306
+ */
307
+ setPaperSize(width: string): any;
308
+ setPaperSize(width: number, height: number): any;
309
+ /**
310
+ * 显示当前元素到视图中
311
+ * @param element
312
+ */
313
+ bringToView(element: Element): void;
314
+ scrollToPosition(pos: Position): void;
315
+ /**
316
+ * 设置当前文档页边距
317
+ */
318
+ setDocumentMargin(pageMargin: Partial<MarginProps>): void;
319
+ /**
320
+ * 插入元素
321
+ * @param targetElement
322
+ * @param targetOffset
323
+ * @param destEleArray
324
+ * @returns
325
+ */
326
+ insertElement(targetElement: Element, targetOffset: number, destEleArray: Array<Element>): Element | null;
327
+ /**
328
+ * 插入新元素
329
+ * @param ele
330
+ */
331
+ insertNewElement(ele: Element): void;
332
+ switchPageLayout(mode: PageLayoutMode): void;
333
+ /**
334
+ * 获取当前光标位置所在的段落
335
+ */
336
+ getParagraphAtCursor(): ParagraphElement | null;
337
+ /**
338
+ * 获取当前光标位置的表格
339
+ */
340
+ getTableAtCursor(): TableElement | null;
341
+ /**
342
+ * 获取当前光标位置的表格行
343
+ */
344
+ getTableRowAtCursor(): TableRowElement | null;
345
+ /**
346
+ * 获取当前光标位置的单元格
347
+ */
348
+ getTableCellAtCursor(): TableCellElement | null;
349
+ /**
350
+ * 当前光标处上方插入新行
351
+ */
352
+ insertRowAboveAtCursor(): void;
353
+ /**
354
+ * 当前光标处下方插入新行
355
+ */
356
+ insertRowBelowAtCursor(): void;
357
+ /**
358
+ * 当前光标处右方插入新列
359
+ */
360
+ insertColToRightAtCursor(): void;
361
+ /**
362
+ * 当前光标处左方插入新列
363
+ */
364
+ insertColToLeftAtCursor(): void;
365
+ /**
366
+ * 移除当前光标处的行
367
+ */
368
+ removeCurrRowAtCursor(): void;
369
+ /**
370
+ * 移除当前光标处的列
371
+ */
372
+ removeCurrColAtCursor(): void;
373
+ /**
374
+ * 合并单元格
375
+ */
376
+ mergeCellsBySelection(): void;
377
+ /**
378
+ * 拆分单元格
379
+ * @param rows
380
+ * @param cols
381
+ */
382
+ splitCell(rows: number, cols: number): void;
383
+ /**
384
+ * 删除当前光标所在的表格
385
+ */
386
+ removeTableAtCursor(): void;
387
+ /**
388
+ * 设置单元格对角线
389
+ * @param diagonal
390
+ */
391
+ setCellDiagonal(diagonal: CellDiagonal): void;
392
+ /**
393
+ * 设置选区范围内的单元格背景颜色
394
+ */
395
+ setTableCellBgColorAtSelection(color: string): void;
396
+ /**
397
+ * 还原光标处已合并的单元格
398
+ */
399
+ restoreMergeCellsAtCursor(): void;
400
+ /**
401
+ * 表格在指定位置插入新行
402
+ * @param tb
403
+ * @param insertRowIndex
404
+ */
405
+ insertNewRow(tb: TableElement, insertRowIndex: number): TableRowElement;
406
+ /**
407
+ * 开启打印区域
408
+ */
409
+ startPrintArea(): void;
410
+ onChange(): void;
411
+ nodePatch: ReturnType<typeof init>;
412
+ vNodeDocContent: VNode;
413
+ createPatch(): void;
414
+ /**
415
+ * 留痕提示的容器框,用于渲染后重新计算纵向位置
416
+ * @private
417
+ */
418
+ private tipContainer;
419
+ getVNode(): IVNodeRenderFunc;
420
+ /**
421
+ * 更新提示区域布局宽度,根据渲染的节点,判断是否需要设置提示区域宽度
422
+ * @private
423
+ */
424
+ private updateTipLayoutWidth;
425
+ /**
426
+ * 更新留痕提示框位置在文档渲染后
427
+ * @private
428
+ */
429
+ private updateTipLayoutAfterPatch;
430
+ private createChangeTipContainer;
431
+ /**
432
+ * 设置光标在数据元内容末尾
433
+ */
434
+ setDataElemEndFocus(ele: DataElementInlineGroup): void;
435
+ /**
436
+ * 渲染下拉框数据元
437
+ * @private
438
+ */
439
+ private renderDataListVNode;
440
+ private resizePosition;
441
+ private renderCalendar;
442
+ private renderContextmenu;
443
+ /**
444
+ * 设置标尺
445
+ */
446
+ refreshDocRule(rule: DocRule): void;
447
+ version(): string;
448
+ switchPageHeaderEditor(): void;
449
+ getTextContent(): string;
450
+ emit(event: string, args: any): void;
451
+ createResizableElement(): VNode;
452
+ private readDocChangeLog;
453
+ }
454
+ export interface IReaderManager {
455
+ }
456
+ export declare type EditorCurrentPos = {
457
+ pos: Position;
458
+ };
459
+ export declare type EditorContextProps = {
460
+ menus: Array<ContentMenuItem>;
461
+ } & EditorCurrentPos;
462
+ export declare type EditorPanelProps = {
463
+ type: string;
464
+ } & EditorCurrentPos;