ht-emr 0.6.2 → 0.6.3

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.
@@ -48,171 +48,693 @@ import { Graffiti } from './graffiti/Graffiti';
48
48
  import { IPositionContext } from '../../interface/Position';
49
49
  import { IControl } from '../../interface/Control';
50
50
  import { Command } from '../command/Command';
51
+ /**
52
+ * 核心渲染引擎类
53
+ *
54
+ * Draw是编辑器的核心类,负责:
55
+ * - Canvas渲染管理(页面、行、元素的绘制)
56
+ * - 子系统协调(光标、选区、历史管理等)
57
+ * - 元素数据管理(增删改查)
58
+ * - 事件处理和分发
59
+ *
60
+ * 该类持有所有主要子系统的引用,并提供统一的渲染入口。
61
+ */
51
62
  export declare class Draw {
63
+ /** 编辑器容器元素 */
52
64
  private container;
65
+ /** 页面容器元素 */
53
66
  private pageContainer;
67
+ /** Canvas页面列表 */
54
68
  private pageList;
69
+ /** Canvas 2D渲染上下文列表 */
55
70
  private ctxList;
71
+ /** 当前页码(从0开始) */
56
72
  private pageNo;
73
+ /** 渲染计数器 */
57
74
  private renderCount;
75
+ /** 页面像素比(用于高清屏适配) */
58
76
  private pagePixelRatio;
77
+ /** 编辑器模式 */
59
78
  private mode;
79
+ /** 编辑器配置选项 */
60
80
  private options;
81
+ /** 位置管理器 */
61
82
  private position;
83
+ /** 区域管理器 */
62
84
  private zone;
85
+ /** 当前元素列表 */
63
86
  private elementList;
87
+ /** 事件监听器 */
64
88
  private listener;
89
+ /** 事件总线 */
65
90
  private eventBus;
91
+ /** 覆盖器(用于自定义行为) */
66
92
  private override;
93
+ /** 国际化管理器 */
67
94
  private i18n;
95
+ /** Canvas事件处理器 */
68
96
  private canvasEvent;
97
+ /** 全局事件处理器 */
69
98
  private globalEvent;
99
+ /** 光标管理器 */
70
100
  private cursor;
101
+ /** 选区管理器 */
71
102
  private range;
103
+ /** 页边距渲染器 */
72
104
  private margin;
105
+ /** 背景渲染器 */
73
106
  private background;
107
+ /** 徽章渲染器 */
74
108
  private badge;
109
+ /** 搜索管理器 */
75
110
  private search;
111
+ /** 分组管理器 */
76
112
  private group;
113
+ /** 区域选择器 */
77
114
  private area;
115
+ /** 下划线渲染器 */
78
116
  private underline;
117
+ /** 删除线渲染器 */
79
118
  private strikeout;
119
+ /** 高亮渲染器 */
80
120
  private highlight;
121
+ /** 历史管理器(撤销/重做) */
81
122
  private historyManager;
123
+ /** 预览器 */
82
124
  private previewer;
125
+ /** 图片粒子渲染器 */
83
126
  private imageParticle;
127
+ /** LaTeX公式渲染器 */
84
128
  private laTexParticle;
129
+ /** 文本粒子渲染器 */
85
130
  private textParticle;
131
+ /** 表格粒子渲染器 */
86
132
  private tableParticle;
133
+ /** 表格工具 */
87
134
  private tableTool;
135
+ /** 表格操作器 */
88
136
  private tableOperate;
137
+ /** 页码渲染器 */
89
138
  private pageNumber;
139
+ /** 行号渲染器 */
90
140
  private lineNumber;
141
+ /** 水印渲染器 */
91
142
  private waterMark;
143
+ /** 占位符渲染器 */
92
144
  private placeholder;
145
+ /** 页眉渲染器 */
93
146
  private header;
147
+ /** 页脚渲染器 */
94
148
  private footer;
149
+ /** 超链接粒子渲染器 */
95
150
  private hyperlinkParticle;
151
+ /** 标签粒子渲染器 */
96
152
  private labelParticle;
153
+ /** 宏粒子渲染器 */
97
154
  private macroParticle;
155
+ /** 日期粒子渲染器 */
98
156
  private dateParticle;
157
+ /** 分隔符粒子渲染器 */
99
158
  private separatorParticle;
159
+ /** 分页符粒子渲染器 */
100
160
  private pageBreakParticle;
161
+ /** 上标粒子渲染器 */
101
162
  private superscriptParticle;
163
+ /** 下标粒子渲染器 */
102
164
  private subscriptParticle;
165
+ /** 复选框粒子渲染器 */
103
166
  private checkboxParticle;
167
+ /** 单选框粒子渲染器 */
104
168
  private radioParticle;
169
+ /** 月经史粒子渲染器 */
105
170
  private menstrualHistoryParticle;
171
+ /** 胎心位置粒子渲染器 */
106
172
  private fetalHeartPositionParticle;
173
+ /** 牙位粒子渲染器 */
107
174
  private toothPositionParticle;
175
+ /** 块级元素渲染器 */
108
176
  private blockParticle;
177
+ /** 列表粒子渲染器 */
109
178
  private listParticle;
179
+ /** 换行符粒子渲染器 */
110
180
  private lineBreakParticle;
181
+ /** 空白字符粒子渲染器 */
111
182
  private whiteSpaceParticle;
183
+ /** 控件管理器 */
112
184
  private control;
185
+ /** 页面边框渲染器 */
113
186
  private pageBorder;
187
+ /** Web Worker管理器 */
114
188
  private workerManager;
189
+ /** 滚动观察器 */
115
190
  private scrollObserver;
191
+ /** 选区观察器 */
116
192
  private selectionObserver;
193
+ /** 图片观察器 */
117
194
  private imageObserver;
195
+ /** 涂鸦管理器 */
118
196
  private graffiti;
197
+ /** 命令实例 */
119
198
  private command;
199
+ /** 交互是否暂停 */
120
200
  private interactionPaused;
201
+ /** 覆盖层激活计数 */
121
202
  private overlayActiveCount;
203
+ /** 全局快捷键是否暂停 */
122
204
  private globalShortcutSuspended;
205
+ /** 字母正则表达式 */
123
206
  private LETTER_REG;
207
+ /** 单词正则表达式 */
124
208
  private WORD_LIKE_REG;
209
+ /** 行列表 */
125
210
  private rowList;
211
+ /** 按页分组的行列表 */
126
212
  private pageRowList;
213
+ /** 格式刷样式 */
127
214
  private painterStyle;
215
+ /** 格式刷选项 */
128
216
  private painterOptions;
217
+ /** 可见页码列表 */
129
218
  private visiblePageNoList;
219
+ /** 交叉观察的页码 */
130
220
  private intersectionPageNo;
221
+ /** 懒渲染交叉观察器 */
131
222
  private lazyRenderIntersectionObserver;
223
+ /** 打印模式数据 */
132
224
  private printModeData;
225
+ /** 拆分单元格值缓存 */
133
226
  private splitTdValueMap;
227
+ /** 单元格映射 */
134
228
  private tdMap;
229
+ /**
230
+ * 创建Draw实例
231
+ *
232
+ * @param rootContainer - 根容器元素
233
+ * @param options - 编辑器配置选项
234
+ * @param data - 编辑器数据(包含header、main、footer)
235
+ * @param listener - 事件监听器
236
+ * @param eventBus - 事件总线
237
+ * @param override - 覆盖器
238
+ */
135
239
  constructor(rootContainer: HTMLElement, options: DeepRequired<IEditorOption>, data: IEditorData, listener: Listener, eventBus: EventBus<EventBusMap>, override: Override);
240
+ /**
241
+ * 设置打印数据
242
+ *
243
+ * 在打印模式下,保存原始数据并进行过滤处理:
244
+ * - 过滤控件辅助元素
245
+ * - 移除被删除的文字
246
+ */
136
247
  setPrintData(): void;
248
+ /**
249
+ * 递归移除被删除的文字
250
+ *
251
+ * 深度遍历对象,过滤掉strikeout为true的元素。
252
+ *
253
+ * @param obj - 要处理的对象
254
+ * @returns 处理后的对象
255
+ */
137
256
  removeStrikeout<T>(obj: T): T;
257
+ /**
258
+ * 清除打印数据
259
+ *
260
+ * 还原打印前保存的原始数据。
261
+ */
138
262
  clearPrintData(): void;
263
+ private pushLogicTemplateFieldValue;
264
+ private collectControlFieldValues;
265
+ private collectMacroFieldValues;
266
+ private collectLogicTemplateFieldValueMaps;
267
+ private getLogicTemplateHiddenState;
268
+ private updateLogicTemplateVisibility;
269
+ /**
270
+ * 获取字母正则表达式
271
+ * @returns 字母匹配的正则表达式
272
+ */
139
273
  getLetterReg(): RegExp;
274
+ /**
275
+ * 获取当前编辑器模式
276
+ * @returns 当前编辑器模式
277
+ */
140
278
  getMode(): EditorMode;
279
+ /**
280
+ * 设置编辑器模式
281
+ *
282
+ * 切换编辑器模式时会自动处理:
283
+ * - 控件元素的显示/隐藏
284
+ * - 前后缀的显示状态
285
+ * - 打印数据的设置/清除
286
+ *
287
+ * @param payload - 目标编辑器模式
288
+ */
141
289
  setMode(payload: EditorMode): void;
290
+ /**
291
+ * 隐藏/显示TextField中的空白字符
292
+ *
293
+ * 在表单模式下隐藏纯空白字符,编辑模式下显示。
294
+ *
295
+ * @param elementList - 元素列表
296
+ * @param hide - 是否隐藏空白字符
297
+ * @private
298
+ */
142
299
  private hideTextFieldWhitespace;
300
+ /**
301
+ * 更新TextField占位符和前后缀的可见性
302
+ *
303
+ * 根据控件是否有值和当前模式,控制placeholder、prefix、postfix的显示状态。
304
+ *
305
+ * @param elementList - 元素列表
306
+ * @param showPlaceholder - 是否显示placeholder
307
+ * @param hidePrefixPostfix - 是否隐藏前后缀(有值时)
308
+ * @private
309
+ */
143
310
  private updateTextFieldPlaceholderVisibility;
144
311
  isReadonly(): boolean;
145
312
  isDisabled(): boolean;
313
+ /**
314
+ * 判断是否为设计模式
315
+ * @returns 如果是设计模式则返回true
316
+ */
146
317
  isDesignMode(): boolean;
318
+ /**
319
+ * 判断是否为打印模式
320
+ * @returns 如果是打印模式则返回true
321
+ */
147
322
  isPrintMode(): boolean;
323
+ /**
324
+ * 判断是否为涂鸦模式
325
+ * @returns 如果是涂鸦模式则返回true
326
+ */
148
327
  isGraffitiMode(): boolean;
328
+ /**
329
+ * 获取原始纸张宽度(未缩放)
330
+ * @returns 原始宽度值
331
+ */
149
332
  getOriginalWidth(): number;
333
+ /**
334
+ * 获取原始纸张高度(未缩放)
335
+ * @returns 原始高度值
336
+ */
150
337
  getOriginalHeight(): number;
338
+ /**
339
+ * 获取缩放后的页面宽度
340
+ * @returns 缩放后的宽度值
341
+ */
151
342
  getWidth(): number;
343
+ /**
344
+ * 获取缩放后的页面高度
345
+ * @returns 缩放后的高度值
346
+ */
152
347
  getHeight(): number;
348
+ /**
349
+ * 获取主内容区域高度
350
+ *
351
+ * 主内容区域高度 = 页面高度 - 页眉页脚额外高度 - 页边距
352
+ *
353
+ * @returns 主内容区域高度
354
+ */
153
355
  getMainHeight(): number;
356
+ /**
357
+ * 获取主内容区域外部高度
358
+ *
359
+ * 包括上下页边距和页眉页脚的额外高度。
360
+ *
361
+ * @returns 外部高度值
362
+ */
154
363
  getMainOuterHeight(): number;
364
+ /**
365
+ * 获取Canvas宽度
366
+ * @param pageNo - 页码,-1表示当前页
367
+ * @returns Canvas宽度
368
+ */
155
369
  getCanvasWidth(pageNo?: number): number;
370
+ /**
371
+ * 获取Canvas高度
372
+ * @param pageNo - 页码,-1表示当前页
373
+ * @returns Canvas高度
374
+ */
156
375
  getCanvasHeight(pageNo?: number): number;
376
+ /**
377
+ * 获取内容区域宽度(减去左右页边距)
378
+ * @returns 内容区域宽度
379
+ */
157
380
  getInnerWidth(): number;
381
+ /**
382
+ * 获取原始内容区域宽度(未缩放)
383
+ * @returns 原始内容区域宽度
384
+ */
158
385
  getOriginalInnerWidth(): number;
386
+ /**
387
+ * 获取上下文内容宽度
388
+ *
389
+ * 根据当前位置上下文返回宽度:
390
+ * - 表格内:返回单元格宽度减去内边距
391
+ * - 非表格:返回原始内容区域宽度
392
+ *
393
+ * @returns 上下文内容宽度
394
+ */
159
395
  getContextInnerWidth(): number;
396
+ /**
397
+ * 获取缩放后的页边距
398
+ * @returns 页边距数组 [上, 右, 下, 左]
399
+ */
160
400
  getMargins(): IMargin;
401
+ /**
402
+ * 获取原始页边距(未缩放)
403
+ * @returns 原始页边距数组 [上, 右, 下, 左]
404
+ */
161
405
  getOriginalMargins(): number[];
406
+ /**
407
+ * 获取页面间距
408
+ * @returns 缩放后的页面间距
409
+ */
162
410
  getPageGap(): number;
411
+ /**
412
+ * 获取原始页面间距(未缩放)
413
+ * @returns 原始页面间距
414
+ */
163
415
  getOriginalPageGap(): number;
416
+ /**
417
+ * 获取页码底部距离
418
+ * @returns 缩放后的页码底部距离
419
+ */
164
420
  getPageNumberBottom(): number;
421
+ /**
422
+ * 获取页边距指示器大小
423
+ * @returns 缩放后的指示器大小
424
+ */
165
425
  getMarginIndicatorSize(): number;
426
+ /**
427
+ * 获取默认基础行边距高度
428
+ * @returns 缩放后的基础行边距高度
429
+ */
166
430
  getDefaultBasicRowMarginHeight(): number;
431
+ /**
432
+ * 获取高亮边距高度
433
+ * @returns 缩放后的高亮边距高度
434
+ */
167
435
  getHighlightMarginHeight(): number;
436
+ /**
437
+ * 获取表格单元格内边距
438
+ * @param tableElement - 表格元素,可选
439
+ * @returns 单元格内边距 [上, 右, 下, 左]
440
+ */
168
441
  getTdPadding(tableElement?: IElement): IPadding;
442
+ /**
443
+ * 获取编辑器容器元素
444
+ * @returns 容器元素
445
+ */
169
446
  getContainer(): HTMLDivElement;
447
+ /**
448
+ * 获取页面容器元素
449
+ * @returns 页面容器元素
450
+ */
170
451
  getPageContainer(): HTMLDivElement;
452
+ /**
453
+ * 获取事件目标元素
454
+ * @param target - 事件目标
455
+ * @returns Element元素或null
456
+ */
171
457
  getEventTarget(target: EventTarget | null): Element | null;
458
+ /**
459
+ * 判断目标是否在编辑器内部
460
+ * @param target - 事件目标
461
+ * @returns 如果在编辑器内部则返回true
462
+ */
172
463
  isTargetInsideEditor(target: EventTarget | null): boolean;
464
+ /**
465
+ * 判断目标是否在外部覆盖层内
466
+ * @param target - 事件目标
467
+ * @returns 如果在外部覆盖层内则返回true
468
+ */
173
469
  isTargetInsideExternalOverlay(target: EventTarget | null): boolean;
470
+ /**
471
+ * 暂停交互
472
+ *
473
+ * 暂停用户交互,失焦代理输入框,重置副作用。
474
+ */
174
475
  pauseInteraction(): void;
476
+ /**
477
+ * 恢复交互
478
+ *
479
+ * 恢复用户交互功能。
480
+ */
175
481
  resumeInteraction(): void;
482
+ /**
483
+ * 设置覆盖层激活状态
484
+ *
485
+ * 当外部覆盖层(如模态框)激活时调用。
486
+ *
487
+ * @param payload - 是否激活
488
+ */
176
489
  setOverlayActive(payload: boolean): void;
490
+ /**
491
+ * 暂停/恢复全局快捷键
492
+ * @param payload - true暂停,false恢复
493
+ */
177
494
  suspendGlobalShortcut(payload: boolean): void;
495
+ /**
496
+ * 判断交互是否已暂停
497
+ * @returns 如果交互已暂停则返回true
498
+ */
178
499
  isInteractionSuspended(): boolean;
500
+ /**
501
+ * 判断全局快捷键是否激活
502
+ * @returns 如果全局快捷键激活则返回true
503
+ */
179
504
  isGlobalShortcutActive(): boolean;
505
+ /**
506
+ * 获取可见页码列表
507
+ * @returns 可见页码数组
508
+ */
180
509
  getVisiblePageNoList(): number[];
510
+ /**
511
+ * 设置可见页码列表
512
+ *
513
+ * 当滚动导致可见页面变化时调用,触发相应事件。
514
+ *
515
+ * @param payload - 新的可见页码数组
516
+ */
181
517
  setVisiblePageNoList(payload: number[]): void;
518
+ /**
519
+ * 获取交叉观察页码
520
+ * @returns 当前交叉观察的页码
521
+ */
182
522
  getIntersectionPageNo(): number;
523
+ /**
524
+ * 设置交叉观察页码
525
+ *
526
+ * 当页面与视口交叉时调用,触发相应事件。
527
+ *
528
+ * @param payload - 交叉的页码
529
+ */
183
530
  setIntersectionPageNo(payload: number): void;
531
+ /**
532
+ * 获取当前页码
533
+ * @returns 当前页码(从0开始)
534
+ */
184
535
  getPageNo(): number;
536
+ /**
537
+ * 设置当前页码
538
+ * @param payload - 新的页码
539
+ */
185
540
  setPageNo(payload: number): void;
541
+ /**
542
+ * 获取渲染次数
543
+ * @returns 渲染次数计数
544
+ */
186
545
  getRenderCount(): number;
546
+ /**
547
+ * 获取Canvas页面元素
548
+ * @param pageNo - 页码,-1表示当前页
549
+ * @returns Canvas元素
550
+ */
187
551
  getPage(pageNo?: number): HTMLCanvasElement;
552
+ /**
553
+ * 获取所有Canvas页面元素
554
+ * @returns Canvas元素数组
555
+ */
188
556
  getPageList(): HTMLCanvasElement[];
557
+ /**
558
+ * 获取页面总数
559
+ * @returns 页面总数
560
+ */
189
561
  getPageCount(): number;
562
+ /**
563
+ * 获取表格内的行列表
564
+ * @param sourceElementList - 源元素列表
565
+ * @returns 表格单元格内的行列表
566
+ */
190
567
  getTableRowList(sourceElementList: IElement[]): IRow[];
568
+ /**
569
+ * 获取原始行列表
570
+ *
571
+ * 根据当前活动区域返回对应的行列表:
572
+ * - 页眉区域:返回页眉行列表
573
+ * - 页脚区域:返回页脚行列表
574
+ * - 主区域:返回主内容行列表
575
+ *
576
+ * @returns 行列表
577
+ */
191
578
  getOriginalRowList(): IRow[];
579
+ /**
580
+ * 获取当前行列表
581
+ *
582
+ * 根据当前位置上下文返回行列表:
583
+ * - 表格内:返回表格单元格的行列表
584
+ * - 非表格:返回原始行列表
585
+ *
586
+ * @returns 当前行列表
587
+ */
192
588
  getRowList(): IRow[];
589
+ /**
590
+ * 获取按页分组的行列表
591
+ * @returns 按页分组的行列表
592
+ */
193
593
  getPageRowList(): IRow[][];
594
+ /**
595
+ * 获取当前页的Canvas渲染上下文
596
+ * @returns Canvas 2D渲染上下文
597
+ */
194
598
  getCtx(): CanvasRenderingContext2D;
599
+ /**
600
+ * 获取编辑器配置选项
601
+ * @returns 编辑器配置选项
602
+ */
195
603
  getOptions(): DeepRequired<IEditorOption>;
604
+ /**
605
+ * 获取搜索管理器
606
+ * @returns 搜索管理器实例
607
+ */
196
608
  getSearch(): Search;
609
+ /**
610
+ * 获取分组管理器
611
+ * @returns 分组管理器实例
612
+ */
197
613
  getGroup(): Group;
614
+ /**
615
+ * 获取区域选择器
616
+ * @returns 区域选择器实例
617
+ */
198
618
  getArea(): Area;
619
+ /**
620
+ * 获取徽章渲染器
621
+ * @returns 徽章渲染器实例
622
+ */
199
623
  getBadge(): Badge;
624
+ /**
625
+ * 获取历史管理器
626
+ * @returns 历史管理器实例
627
+ */
200
628
  getHistoryManager(): HistoryManager;
629
+ /**
630
+ * 获取位置管理器
631
+ * @returns 位置管理器实例
632
+ */
201
633
  getPosition(): Position;
634
+ /**
635
+ * 获取区域管理器
636
+ * @returns 区域管理器实例
637
+ */
202
638
  getZone(): Zone;
639
+ /**
640
+ * 获取选区管理器
641
+ * @returns 选区管理器实例
642
+ */
203
643
  getRange(): RangeManager;
644
+ /**
645
+ * 获取换行符粒子渲染器
646
+ * @returns 换行符粒子渲染器实例
647
+ */
204
648
  getLineBreakParticle(): LineBreakParticle;
649
+ /**
650
+ * 获取文本粒子渲染器
651
+ * @returns 文本粒子渲染器实例
652
+ */
205
653
  getTextParticle(): TextParticle;
654
+ /**
655
+ * 获取页眉元素列表
656
+ * @returns 页眉元素数组
657
+ */
206
658
  getHeaderElementList(): IElement[];
659
+ /**
660
+ * 获取表格内的元素列表
661
+ * @param sourceElementList - 源元素列表
662
+ * @returns 表格单元格内的元素数组
663
+ */
207
664
  getTableElementList(sourceElementList: IElement[]): IElement[];
665
+ /**
666
+ * 获取当前元素列表
667
+ *
668
+ * 根据当前位置上下文返回元素列表:
669
+ * - 表格内:返回表格单元格的元素列表
670
+ * - 非表格:返回原始元素列表
671
+ *
672
+ * @returns 当前元素列表
673
+ */
208
674
  getElementList(): IElement[];
675
+ /**
676
+ * 获取主内容元素列表
677
+ *
678
+ * 根据当前位置上下文返回主内容元素列表:
679
+ * - 表格内:返回表格单元格的元素列表
680
+ * - 非表格:返回主内容元素列表
681
+ *
682
+ * @returns 主内容元素列表
683
+ */
209
684
  getMainElementList(): IElement[];
685
+ /**
686
+ * 获取原始元素列表
687
+ *
688
+ * 根据当前活动区域返回对应的元素列表:
689
+ * - 页眉区域:返回页眉元素列表
690
+ * - 页脚区域:返回页脚元素列表
691
+ * - 主区域:返回主内容元素列表
692
+ *
693
+ * @returns 原始元素列表
694
+ */
210
695
  getOriginalElementList(): IElement[];
696
+ /**
697
+ * 获取原始主内容元素列表
698
+ * @returns 主内容元素列表
699
+ */
211
700
  getOriginalMainElementList(): IElement[];
701
+ /**
702
+ * 获取页脚元素列表
703
+ * @returns 页脚元素数组
704
+ */
212
705
  getFooterElementList(): IElement[];
706
+ /**
707
+ * 获取当前单元格
708
+ *
709
+ * 根据当前位置上下文返回表格单元格。
710
+ *
711
+ * @returns 单元格对象,如果不在表格内则返回null
712
+ */
213
713
  getTd(): ITd | null;
714
+ /**
715
+ * 根据位置上下文获取单元格
716
+ * @param positionContext - 位置上下文
717
+ * @returns 单元格对象,如果不在表格内则返回null
718
+ */
214
719
  getTdByPosition(positionContext: IPositionContext): ITd | null;
720
+ /**
721
+ * 插入文本域元素
722
+ *
723
+ * 在当前光标位置插入文本域元素列表。
724
+ *
725
+ * @param payload - 要插入的元素列表
726
+ * @param options - 插入选项
727
+ */
215
728
  insertElementTextField(payload: IElement[], options?: IInsertElementListOption): void;
729
+ /**
730
+ * 插入元素列表
731
+ *
732
+ * 在当前光标位置插入元素列表,支持在控件内插入。
733
+ * 会自动处理控件激活、占位符移除、前后缀颜色重置等逻辑。
734
+ *
735
+ * @param payload - 要插入的元素列表
736
+ * @param options - 插入选项
737
+ */
216
738
  insertElementList(payload: IElement[], options?: IInsertElementListOption): void;
217
739
  appendElementList(elementList: IElement[], options?: IAppendElementListOption): void;
218
740
  spliceElementList(elementList: IElement[], start: number, deleteCount: number, items?: IElement[], options?: ISpliceElementListOption): void;
@@ -285,6 +807,23 @@ export declare class Draw {
285
807
  private _disconnectLazyRender;
286
808
  private _lazyRender;
287
809
  private _immediateRender;
810
+ /**
811
+ * 渲染编辑器
812
+ *
813
+ * 这是编辑器的核心渲染方法,执行以下操作:
814
+ * 1. 计算文档结构(行列表、页面列表、位置列表)
815
+ * 2. 创建/更新Canvas页面
816
+ * 3. 绘制所有元素(文本、图片、表格等)
817
+ * 4. 更新光标和选区状态
818
+ * 5. 提交历史记录
819
+ *
820
+ * @param payload - 渲染选项
821
+ * @param payload.isSubmitHistory - 是否提交到历史记录
822
+ * @param payload.isSetCursor - 是否设置光标
823
+ * @param payload.isCompute - 是否重新计算文档结构
824
+ * @param payload.isLazy - 是否使用懒加载渲染
825
+ * @param payload.curIndex - 当前光标索引
826
+ */
288
827
  render(payload?: IDrawOption): void;
289
828
  fixPosition(prev?: boolean): number | undefined;
290
829
  setCursor(curIndex: number | undefined): number | undefined;