@hailin-zheng/editor-core 2.1.26 → 2.1.27

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