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.
- package/dist/canvas-editor.js +4545 -3112
- package/dist/canvas-editor.js.map +1 -1
- package/dist/canvas-editor.umd.cjs +63 -63
- package/dist/canvas-editor.umd.cjs.map +1 -1
- package/dist/src/editor/core/command/Command.d.ts +3 -0
- package/dist/src/editor/core/command/CommandAdapt.d.ts +36 -1
- package/dist/src/editor/core/cursor/Cursor.d.ts +100 -0
- package/dist/src/editor/core/cursor/CursorAgent.d.ts +79 -0
- package/dist/src/editor/core/draw/Draw.d.ts +539 -0
- package/dist/src/editor/core/event/CanvasEvent.d.ts +143 -0
- package/dist/src/editor/core/position/Position.d.ts +132 -0
- package/dist/src/editor/core/range/RangeManager.d.ts +278 -0
- package/dist/src/editor/index.d.ts +60 -2
- package/dist/src/editor/interface/Element.d.ts +27 -1
- package/dist/src/editor/utils/element.d.ts +2 -0
- package/dist/src/editor/utils/logicTemplate.d.ts +9 -0
- package/package.json +1 -1
|
@@ -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;
|