@hailin-zheng/editor-core 2.2.3 → 2.2.4
Sign up to get free protection for your applications and to get access to all the features.
- package/editor.css +694 -610
- package/index-cjs.d.ts +32 -31
- package/index-cjs.js +22648 -22205
- package/index-cjs.js.map +1 -1
- package/index.d.ts +32 -31
- package/index.js +22646 -22207
- package/index.js.map +1 -1
- package/med_editor/doc-editor.d.ts +493 -464
- package/med_editor/doc-rule.d.ts +46 -46
- package/med_editor/editor-core.d.ts +21 -21
- package/med_editor/framework/code-interpreter/ast-parser.d.ts +4 -4
- package/med_editor/framework/code-interpreter/document-eval-func.d.ts +18 -18
- package/med_editor/framework/code-interpreter/dynamic-execute.d.ts +23 -23
- package/med_editor/framework/doc-layout/document-arrange.d.ts +86 -86
- package/med_editor/framework/doc-layout/paragraph-arrange.d.ts +107 -107
- package/med_editor/framework/document-change.d.ts +314 -295
- package/med_editor/framework/document-combine.d.ts +24 -24
- package/med_editor/framework/document-comment.d.ts +38 -38
- package/med_editor/framework/document-context.d.ts +138 -133
- package/med_editor/framework/document-event.d.ts +251 -251
- package/med_editor/framework/document-input-cursor.d.ts +32 -43
- package/med_editor/framework/document-paginator.d.ts +46 -46
- package/med_editor/framework/document-svg.d.ts +36 -36
- package/med_editor/framework/document-template.d.ts +13 -13
- package/med_editor/framework/document-textline-mode.d.ts +6 -6
- package/med_editor/framework/element-define.d.ts +413 -409
- package/med_editor/framework/element-event-define.d.ts +104 -107
- package/med_editor/framework/element-props.d.ts +343 -343
- package/med_editor/framework/element-reader.d.ts +20 -20
- package/med_editor/framework/element-serialize.d.ts +36 -36
- package/med_editor/framework/element-type-handler.d.ts +8 -9
- package/med_editor/framework/history/element-trace-manage.d.ts +107 -107
- package/med_editor/framework/history/element-trace-tracking.d.ts +89 -89
- package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +19 -19
- package/med_editor/framework/impl/comments/comment-content-impl.d.ts +39 -39
- package/med_editor/framework/impl/comments/comment-element-impl.d.ts +24 -24
- package/med_editor/framework/impl/comments/comments-container-impl.d.ts +19 -19
- package/med_editor/framework/impl/comments/validate-msg-impl.d.ts +19 -19
- package/med_editor/framework/impl/data-element/data-container-impl.d.ts +25 -0
- package/med_editor/framework/impl/data-element/data-decorate-impl.d.ts +15 -15
- package/med_editor/framework/impl/data-element/data-element-barcode.d.ts +32 -32
- package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +96 -96
- package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +26 -26
- package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +23 -23
- package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +17 -17
- package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +23 -23
- package/med_editor/framework/impl/data-element/data-element-list-impl.d.ts +21 -21
- package/med_editor/framework/impl/data-element/data-element-text-impl.d.ts +22 -22
- package/med_editor/framework/impl/data-element/qrcode.d.ts +93 -93
- package/med_editor/framework/impl/decorate/fill-null-space-imple.d.ts +16 -16
- package/med_editor/framework/impl/document/doc-body-impl.d.ts +19 -19
- package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +22 -22
- package/med_editor/framework/impl/document/doc-container-impl.d.ts +7 -7
- package/med_editor/framework/impl/document/doc-footer-impl.d.ts +19 -19
- package/med_editor/framework/impl/document/doc-header-impl.d.ts +19 -19
- package/med_editor/framework/impl/document/doc-impl.d.ts +72 -72
- package/med_editor/framework/impl/index.d.ts +40 -39
- package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +31 -31
- package/med_editor/framework/impl/media-formula/permanent-teeth.d.ts +34 -34
- package/med_editor/framework/impl/paragraph/p-impl.d.ts +38 -38
- package/med_editor/framework/impl/picture/RectEle.d.ts +44 -44
- package/med_editor/framework/impl/picture/image-impl.d.ts +24 -24
- package/med_editor/framework/impl/radio/radio-impl.d.ts +17 -17
- package/med_editor/framework/impl/svg/svg-impl.d.ts +20 -20
- package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +18 -18
- package/med_editor/framework/impl/symbol/p-symbol-impl.d.ts +16 -16
- package/med_editor/framework/impl/symbol/page-br-symbol-impl.d.ts +20 -20
- package/med_editor/framework/impl/symbol/tab-symbol-impl.d.ts +15 -15
- package/med_editor/framework/impl/table/table-cell-impl.d.ts +34 -34
- package/med_editor/framework/impl/table/table-impl.d.ts +49 -49
- package/med_editor/framework/impl/table/table-row-impl.d.ts +27 -27
- package/med_editor/framework/impl/table/table-split-cell-patch.d.ts +20 -20
- package/med_editor/framework/impl/table/table-split-cell.d.ts +93 -92
- package/med_editor/framework/impl/table/table-util.d.ts +180 -180
- package/med_editor/framework/impl/text/text-impl.d.ts +34 -34
- package/med_editor/framework/impl/text/track-run-impl.d.ts +27 -27
- package/med_editor/framework/infrastructure/event-subject.d.ts +57 -56
- package/med_editor/framework/infrastructure/notify.d.ts +13 -13
- package/med_editor/framework/print/document-print-offscreen.d.ts +58 -58
- package/med_editor/framework/print/document-print.d.ts +18 -18
- package/med_editor/framework/render-context.d.ts +111 -111
- package/med_editor/framework/render-define.d.ts +141 -141
- package/med_editor/framework/selection/document-selection.d.ts +92 -91
- package/med_editor/framework/selection/range-util.d.ts +36 -36
- package/med_editor/framework/selection/selection-overlays.d.ts +32 -32
- package/med_editor/framework/suggestions/input-suggestions.d.ts +29 -0
- package/med_editor/framework/util/adjust-viewport-elements.d.ts +12 -12
- package/med_editor/framework/util/common-util.d.ts +76 -76
- package/med_editor/framework/util/document-segmenter.d.ts +2 -2
- package/med_editor/framework/util/element-util.d.ts +410 -410
- package/med_editor/framework/vnode/editor-calendar-vnode.d.ts +42 -42
- package/package.json +19 -19
package/med_editor/doc-rule.d.ts
CHANGED
@@ -1,46 +1,46 @@
|
|
1
|
-
import { SelectionState } from "./framework/selection/document-selection";
|
2
|
-
import { ViewOptions } from "./framework/element-define";
|
3
|
-
import { EditorContext } from "./framework/document-context";
|
4
|
-
import { IVNodeRenderFunc } from "./editor-core";
|
5
|
-
interface RuleOptions {
|
6
|
-
width: number;
|
7
|
-
pagePL: number;
|
8
|
-
pagePR: number;
|
9
|
-
docLeft: number;
|
10
|
-
}
|
11
|
-
export declare class DocRule {
|
12
|
-
private docCtx;
|
13
|
-
private options;
|
14
|
-
private ruleHeight;
|
15
|
-
private thumbX;
|
16
|
-
private mouseDownPos;
|
17
|
-
private indentThumbPoints;
|
18
|
-
private hangThumbPoints;
|
19
|
-
private mouseDownThumbType;
|
20
|
-
viewOptions: ViewOptions;
|
21
|
-
ss: SelectionState;
|
22
|
-
private nodes;
|
23
|
-
constructor(docCtx: EditorContext);
|
24
|
-
destroy(): void;
|
25
|
-
setRuleOptions(options: RuleOptions): void;
|
26
|
-
private fillRectSvg;
|
27
|
-
private drawIndentThumbSvg;
|
28
|
-
private drawHangThumbSvg;
|
29
|
-
private drawLineSvg;
|
30
|
-
private drawTextSvg;
|
31
|
-
refreshRuleSvg(): IVNodeRenderFunc;
|
32
|
-
private canvasMousedown;
|
33
|
-
private getMousePos;
|
34
|
-
private canvasMousemove;
|
35
|
-
private canvasMouseup;
|
36
|
-
private pointInPoly;
|
37
|
-
/**
|
38
|
-
* 绘制
|
39
|
-
*/
|
40
|
-
private drawRuleSvg;
|
41
|
-
private getRuleMarksPos;
|
42
|
-
private getCurrPara;
|
43
|
-
private setParentMarksPosSvg;
|
44
|
-
private drawCellMarkSvg;
|
45
|
-
}
|
46
|
-
export {};
|
1
|
+
import { SelectionState } from "./framework/selection/document-selection";
|
2
|
+
import { ViewOptions } from "./framework/element-define";
|
3
|
+
import { EditorContext } from "./framework/document-context";
|
4
|
+
import { IVNodeRenderFunc } from "./editor-core";
|
5
|
+
interface RuleOptions {
|
6
|
+
width: number;
|
7
|
+
pagePL: number;
|
8
|
+
pagePR: number;
|
9
|
+
docLeft: number;
|
10
|
+
}
|
11
|
+
export declare class DocRule {
|
12
|
+
private docCtx;
|
13
|
+
private options;
|
14
|
+
private ruleHeight;
|
15
|
+
private thumbX;
|
16
|
+
private mouseDownPos;
|
17
|
+
private indentThumbPoints;
|
18
|
+
private hangThumbPoints;
|
19
|
+
private mouseDownThumbType;
|
20
|
+
viewOptions: ViewOptions;
|
21
|
+
ss: SelectionState;
|
22
|
+
private nodes;
|
23
|
+
constructor(docCtx: EditorContext);
|
24
|
+
destroy(): void;
|
25
|
+
setRuleOptions(options: RuleOptions): void;
|
26
|
+
private fillRectSvg;
|
27
|
+
private drawIndentThumbSvg;
|
28
|
+
private drawHangThumbSvg;
|
29
|
+
private drawLineSvg;
|
30
|
+
private drawTextSvg;
|
31
|
+
refreshRuleSvg(): IVNodeRenderFunc;
|
32
|
+
private canvasMousedown;
|
33
|
+
private getMousePos;
|
34
|
+
private canvasMousemove;
|
35
|
+
private canvasMouseup;
|
36
|
+
private pointInPoly;
|
37
|
+
/**
|
38
|
+
* 绘制
|
39
|
+
*/
|
40
|
+
private drawRuleSvg;
|
41
|
+
private getRuleMarksPos;
|
42
|
+
private getCurrPara;
|
43
|
+
private setParentMarksPosSvg;
|
44
|
+
private drawCellMarkSvg;
|
45
|
+
}
|
46
|
+
export {};
|
@@ -1,21 +1,21 @@
|
|
1
|
-
import { EditorVNodeObject } from "./framework/render-define";
|
2
|
-
import { SelectionState } from "./framework/selection/document-selection";
|
3
|
-
export declare type EditorContext = {
|
4
|
-
onChange: () => void;
|
5
|
-
emit: (event: string, ...args: any[]) => void;
|
6
|
-
selectionState: SelectionState;
|
7
|
-
};
|
8
|
-
export declare let activeEditorContext: EditorContext | null;
|
9
|
-
export declare function setActiveEditorContext(ctx: EditorContext | null): void;
|
10
|
-
export declare function getActiveEditorContext(): EditorContext | null;
|
11
|
-
export declare type IVNodeRenderFunc = {
|
12
|
-
render: () => EditorVNodeObject | null;
|
13
|
-
};
|
14
|
-
export interface EditorFuncComp {
|
15
|
-
(...args: any): IVNodeRenderFunc;
|
16
|
-
}
|
17
|
-
export interface ISignal<T> {
|
18
|
-
value: T;
|
19
|
-
onChange: () => void;
|
20
|
-
}
|
21
|
-
export declare function createSignal<T>(state: T): ISignal<T>;
|
1
|
+
import { EditorVNodeObject } from "./framework/render-define";
|
2
|
+
import { SelectionState } from "./framework/selection/document-selection";
|
3
|
+
export declare type EditorContext = {
|
4
|
+
onChange: () => void;
|
5
|
+
emit: (event: string, ...args: any[]) => void;
|
6
|
+
selectionState: SelectionState;
|
7
|
+
};
|
8
|
+
export declare let activeEditorContext: EditorContext | null;
|
9
|
+
export declare function setActiveEditorContext(ctx: EditorContext | null): void;
|
10
|
+
export declare function getActiveEditorContext(): EditorContext | null;
|
11
|
+
export declare type IVNodeRenderFunc = {
|
12
|
+
render: () => EditorVNodeObject | null;
|
13
|
+
};
|
14
|
+
export interface EditorFuncComp {
|
15
|
+
(...args: any): IVNodeRenderFunc;
|
16
|
+
}
|
17
|
+
export interface ISignal<T> {
|
18
|
+
value: T;
|
19
|
+
onChange: () => void;
|
20
|
+
}
|
21
|
+
export declare function createSignal<T>(state: T): ISignal<T>;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Node } from "acorn";
|
2
|
-
export declare function parser(code: string, objects?: Array<string>): string;
|
3
|
-
export declare function addReturn(code: string): string;
|
4
|
-
export declare function getCalleeName(node: Node): string;
|
1
|
+
import { Node } from "acorn";
|
2
|
+
export declare function parser(code: string, objects?: Array<string>): string;
|
3
|
+
export declare function addReturn(code: string): string;
|
4
|
+
export declare function getCalleeName(node: Node): string;
|
@@ -1,18 +1,18 @@
|
|
1
|
-
import { EditorContext } from "../document-context";
|
2
|
-
export declare class DocumentEvalFunc {
|
3
|
-
docCtx: EditorContext;
|
4
|
-
constructor(docCtx: EditorContext);
|
5
|
-
scriptsFunc: (() => void) | null;
|
6
|
-
/**
|
7
|
-
* 实例化动态脚本
|
8
|
-
*/
|
9
|
-
initScripts(scripts: string): void;
|
10
|
-
/**
|
11
|
-
* 销毁动态脚本实例
|
12
|
-
*/
|
13
|
-
destroyScripts(): void;
|
14
|
-
/**
|
15
|
-
* 触发动态脚本
|
16
|
-
*/
|
17
|
-
invokedScripts(): void;
|
18
|
-
}
|
1
|
+
import { EditorContext } from "../document-context";
|
2
|
+
export declare class DocumentEvalFunc {
|
3
|
+
docCtx: EditorContext;
|
4
|
+
constructor(docCtx: EditorContext);
|
5
|
+
scriptsFunc: (() => void) | null;
|
6
|
+
/**
|
7
|
+
* 实例化动态脚本
|
8
|
+
*/
|
9
|
+
initScripts(scripts: string): void;
|
10
|
+
/**
|
11
|
+
* 销毁动态脚本实例
|
12
|
+
*/
|
13
|
+
destroyScripts(): void;
|
14
|
+
/**
|
15
|
+
* 触发动态脚本
|
16
|
+
*/
|
17
|
+
invokedScripts(): void;
|
18
|
+
}
|
@@ -1,23 +1,23 @@
|
|
1
|
-
import { BranchElement, Element, RefCtxValue } from "../element-define";
|
2
|
-
import { SelectionState } from "../selection/document-selection";
|
3
|
-
import { DataCheckEleModel, DataInputEleModel, DataLeafEleModel, DocumentContext } from "../document-context";
|
4
|
-
export declare class DynamicExecute {
|
5
|
-
doc: BranchElement;
|
6
|
-
ss: SelectionState;
|
7
|
-
current?: Element;
|
8
|
-
depItems?: Map<string, RefCtxValue>;
|
9
|
-
constructor(doc: BranchElement, ss: SelectionState);
|
10
|
-
setCurrentCtx(ele: Element, depItems: Map<string, RefCtxValue>): void;
|
11
|
-
clearCurrentCtx(): void;
|
12
|
-
cacheList: ReturnType<DocumentContext['getDataElementModelList']>;
|
13
|
-
getControlById(id: string): DataCheckEleModel | DataInputEleModel | DataLeafEleModel | undefined;
|
14
|
-
getObject(id: string): RefCtxValue;
|
15
|
-
AVG(fn: () => Array<number | string>): number;
|
16
|
-
SUM(fn: () => Array<number | string | Array<string>>): number;
|
17
|
-
MAX(fn: () => Array<number | string>): number;
|
18
|
-
MIN(fn: () => Array<number | string>): number;
|
19
|
-
Float(val: any): number;
|
20
|
-
IF(condition: () => boolean, truePart: VoidFunction, falsePart: VoidFunction): any;
|
21
|
-
Number(val: any): number;
|
22
|
-
TableData(tableId: string, startRow: number, startCol: number, endRow: number, endCol: number): Array<string>;
|
23
|
-
}
|
1
|
+
import { BranchElement, Element, RefCtxValue } from "../element-define";
|
2
|
+
import { SelectionState } from "../selection/document-selection";
|
3
|
+
import { DataCheckEleModel, DataInputEleModel, DataLeafEleModel, DocumentContext } from "../document-context";
|
4
|
+
export declare class DynamicExecute {
|
5
|
+
doc: BranchElement;
|
6
|
+
ss: SelectionState;
|
7
|
+
current?: Element;
|
8
|
+
depItems?: Map<string, RefCtxValue>;
|
9
|
+
constructor(doc: BranchElement, ss: SelectionState);
|
10
|
+
setCurrentCtx(ele: Element, depItems: Map<string, RefCtxValue>): void;
|
11
|
+
clearCurrentCtx(): void;
|
12
|
+
cacheList: ReturnType<DocumentContext['getDataElementModelList']>;
|
13
|
+
getControlById(id: string): DataCheckEleModel | DataInputEleModel | DataLeafEleModel | undefined;
|
14
|
+
getObject(id: string): RefCtxValue;
|
15
|
+
AVG(fn: () => Array<number | string>): number;
|
16
|
+
SUM(fn: () => Array<number | string | Array<string>>): number;
|
17
|
+
MAX(fn: () => Array<number | string>): number;
|
18
|
+
MIN(fn: () => Array<number | string>): number;
|
19
|
+
Float(val: any): number;
|
20
|
+
IF(condition: () => boolean, truePart: VoidFunction, falsePart: VoidFunction): any;
|
21
|
+
Number(val: any): number;
|
22
|
+
TableData(tableId: string, startRow: number, startCol: number, endRow: number, endCol: number): Array<string>;
|
23
|
+
}
|
@@ -1,86 +1,86 @@
|
|
1
|
-
import { Element, IBeginMeasureData, ViewOptions } from "../element-define";
|
2
|
-
import { EditorContext } from "../document-context";
|
3
|
-
import { RenderContextType } from "../render-context";
|
4
|
-
import { DocumentRenderObject, ParagraphElement, TableCellRenderObject, TableRenderObject, TableRowRenderObject } from "../impl";
|
5
|
-
import { BlockContentRenderObject, BranchRenderObject } from "../render-define";
|
6
|
-
import { DynamicExecute } from "../code-interpreter/dynamic-execute";
|
7
|
-
import { ParagraphMeasure } from "./paragraph-arrange";
|
8
|
-
import { SelectionEffectObject } from "../element-props";
|
9
|
-
export declare class DocumentArrange {
|
10
|
-
docCtx: EditorContext;
|
11
|
-
renderCtx: RenderContextType;
|
12
|
-
seo: SelectionEffectObject;
|
13
|
-
options: ViewOptions;
|
14
|
-
execute: DynamicExecute;
|
15
|
-
pMeasure: ParagraphMeasure;
|
16
|
-
constructor(docCtx: EditorContext, renderCtx: RenderContextType, seo: SelectionEffectObject);
|
17
|
-
/**
|
18
|
-
* 测量排版过程
|
19
|
-
* 1.先测量排版页眉、页脚
|
20
|
-
* 2.根据页边距以及页眉、页脚测量的高度,获取"页体高度"
|
21
|
-
* 3.根据页体高度测量页体内容,并实时分页
|
22
|
-
* 3.1测量页体直接子内容
|
23
|
-
* 3.1.1页体直接子内容递归测量孙子元素
|
24
|
-
* 3.2完成页体子内容测量,并分页切分
|
25
|
-
*/
|
26
|
-
measureDoc(): Array<DocumentRenderObject>;
|
27
|
-
/**
|
28
|
-
* 重置文档测量的相关信息
|
29
|
-
* @param data
|
30
|
-
* @private
|
31
|
-
*/
|
32
|
-
private reset;
|
33
|
-
private arrangeDoc;
|
34
|
-
private createEmptyBodyRender;
|
35
|
-
private measureControl;
|
36
|
-
private processTableTextLineMode;
|
37
|
-
private getDocInnerRect;
|
38
|
-
/**
|
39
|
-
* 切割渲染元素
|
40
|
-
* @param render 被切割的对象
|
41
|
-
* @param limitHeight
|
42
|
-
* @returns
|
43
|
-
*/
|
44
|
-
cutRenderItem(render: BlockContentRenderObject, limitHeight: number): BlockContentRenderObject | null;
|
45
|
-
/**
|
46
|
-
* 切割渲染元素
|
47
|
-
* @param tbRender 被切割的对象
|
48
|
-
* @param limitHeight
|
49
|
-
* @returns
|
50
|
-
*/
|
51
|
-
cutTable(tbRender: TableRenderObject, limitHeight: number): BlockContentRenderObject | null;
|
52
|
-
cutRowRenderItem(render: TableRowRenderObject, limitHeight: number): TableRowRenderObject | null;
|
53
|
-
/**
|
54
|
-
* 修复->已经截断的合并单元格要向下移动到合适的位置
|
55
|
-
* @param tbRender
|
56
|
-
* @param cutRows
|
57
|
-
* @returns
|
58
|
-
*/
|
59
|
-
private fixCutTable;
|
60
|
-
/**
|
61
|
-
* 校验当前是否是一个完整的行,没有Null单元格,检查当前是否还需要向下合并
|
62
|
-
* @param row
|
63
|
-
*/
|
64
|
-
private checkFullRow;
|
65
|
-
private existsCellRender;
|
66
|
-
private getBlockLineHeight;
|
67
|
-
getRowInsertCellIndex(sourceCell: TableCellRenderObject, destRow: TableRowRenderObject): number;
|
68
|
-
private getHeaderRows;
|
69
|
-
/**
|
70
|
-
* 修改测量完毕后的元素状态
|
71
|
-
* @param ele
|
72
|
-
*/
|
73
|
-
setMeasureCompletedModifyFlag(ele: Element): void;
|
74
|
-
clearPaintCache(ele: Element, data: IBeginMeasureData): void;
|
75
|
-
identifyComment(ele: Element): void;
|
76
|
-
private cacheDoc;
|
77
|
-
cacheDocRenders(docs: Array<DocumentRenderObject>): void;
|
78
|
-
/**
|
79
|
-
* 生成批注区间信息
|
80
|
-
* @param renderTree
|
81
|
-
*/
|
82
|
-
generateCommRange(): void;
|
83
|
-
cacheRenders(renderTree: BranchRenderObject): void;
|
84
|
-
endMeasures(ele: Element): void;
|
85
|
-
createDefaultPara(): ParagraphElement;
|
86
|
-
}
|
1
|
+
import { Element, IBeginMeasureData, ViewOptions } from "../element-define";
|
2
|
+
import { EditorContext } from "../document-context";
|
3
|
+
import { RenderContextType } from "../render-context";
|
4
|
+
import { DocumentRenderObject, ParagraphElement, TableCellRenderObject, TableRenderObject, TableRowRenderObject } from "../impl";
|
5
|
+
import { BlockContentRenderObject, BranchRenderObject } from "../render-define";
|
6
|
+
import { DynamicExecute } from "../code-interpreter/dynamic-execute";
|
7
|
+
import { ParagraphMeasure } from "./paragraph-arrange";
|
8
|
+
import { SelectionEffectObject } from "../element-props";
|
9
|
+
export declare class DocumentArrange {
|
10
|
+
docCtx: EditorContext;
|
11
|
+
renderCtx: RenderContextType;
|
12
|
+
seo: SelectionEffectObject;
|
13
|
+
options: ViewOptions;
|
14
|
+
execute: DynamicExecute;
|
15
|
+
pMeasure: ParagraphMeasure;
|
16
|
+
constructor(docCtx: EditorContext, renderCtx: RenderContextType, seo: SelectionEffectObject);
|
17
|
+
/**
|
18
|
+
* 测量排版过程
|
19
|
+
* 1.先测量排版页眉、页脚
|
20
|
+
* 2.根据页边距以及页眉、页脚测量的高度,获取"页体高度"
|
21
|
+
* 3.根据页体高度测量页体内容,并实时分页
|
22
|
+
* 3.1测量页体直接子内容
|
23
|
+
* 3.1.1页体直接子内容递归测量孙子元素
|
24
|
+
* 3.2完成页体子内容测量,并分页切分
|
25
|
+
*/
|
26
|
+
measureDoc(): Array<DocumentRenderObject>;
|
27
|
+
/**
|
28
|
+
* 重置文档测量的相关信息
|
29
|
+
* @param data
|
30
|
+
* @private
|
31
|
+
*/
|
32
|
+
private reset;
|
33
|
+
private arrangeDoc;
|
34
|
+
private createEmptyBodyRender;
|
35
|
+
private measureControl;
|
36
|
+
private processTableTextLineMode;
|
37
|
+
private getDocInnerRect;
|
38
|
+
/**
|
39
|
+
* 切割渲染元素
|
40
|
+
* @param render 被切割的对象
|
41
|
+
* @param limitHeight
|
42
|
+
* @returns
|
43
|
+
*/
|
44
|
+
cutRenderItem(render: BlockContentRenderObject, limitHeight: number): BlockContentRenderObject | null;
|
45
|
+
/**
|
46
|
+
* 切割渲染元素
|
47
|
+
* @param tbRender 被切割的对象
|
48
|
+
* @param limitHeight
|
49
|
+
* @returns
|
50
|
+
*/
|
51
|
+
cutTable(tbRender: TableRenderObject, limitHeight: number): BlockContentRenderObject | null;
|
52
|
+
cutRowRenderItem(render: TableRowRenderObject, limitHeight: number): TableRowRenderObject | null;
|
53
|
+
/**
|
54
|
+
* 修复->已经截断的合并单元格要向下移动到合适的位置
|
55
|
+
* @param tbRender
|
56
|
+
* @param cutRows
|
57
|
+
* @returns
|
58
|
+
*/
|
59
|
+
private fixCutTable;
|
60
|
+
/**
|
61
|
+
* 校验当前是否是一个完整的行,没有Null单元格,检查当前是否还需要向下合并
|
62
|
+
* @param row
|
63
|
+
*/
|
64
|
+
private checkFullRow;
|
65
|
+
private existsCellRender;
|
66
|
+
private getBlockLineHeight;
|
67
|
+
getRowInsertCellIndex(sourceCell: TableCellRenderObject, destRow: TableRowRenderObject): number;
|
68
|
+
private getHeaderRows;
|
69
|
+
/**
|
70
|
+
* 修改测量完毕后的元素状态
|
71
|
+
* @param ele
|
72
|
+
*/
|
73
|
+
setMeasureCompletedModifyFlag(ele: Element): void;
|
74
|
+
clearPaintCache(ele: Element, data: IBeginMeasureData): void;
|
75
|
+
identifyComment(ele: Element): void;
|
76
|
+
private cacheDoc;
|
77
|
+
cacheDocRenders(docs: Array<DocumentRenderObject>): void;
|
78
|
+
/**
|
79
|
+
* 生成批注区间信息
|
80
|
+
* @param renderTree
|
81
|
+
*/
|
82
|
+
generateCommRange(): void;
|
83
|
+
cacheRenders(renderTree: BranchRenderObject): void;
|
84
|
+
endMeasures(ele: Element): void;
|
85
|
+
createDefaultPara(): ParagraphElement;
|
86
|
+
}
|
@@ -1,107 +1,107 @@
|
|
1
|
-
import { LeafRenderObject, RenderObject } from "../render-define";
|
2
|
-
import { FillNullSpaceRenderObject, ParagraphElement, ParagraphRenderObject, TextGroupRenderObject } from "../impl";
|
3
|
-
import { Element, InlineGroupElement, LeafElement, ViewOptions } from "../element-define";
|
4
|
-
import { RenderContextType } from "../render-context";
|
5
|
-
import { DynamicExecute } from "../code-interpreter/dynamic-execute";
|
6
|
-
export declare class ParagraphMeasure {
|
7
|
-
options: ViewOptions;
|
8
|
-
renderCtx: RenderContextType;
|
9
|
-
execute: DynamicExecute;
|
10
|
-
constructor(options: ViewOptions, renderCtx: RenderContextType, execute: DynamicExecute);
|
11
|
-
/**
|
12
|
-
* 段落排版:
|
13
|
-
* 1.当前段落不存在项目符号,按照缩进和悬挂处理
|
14
|
-
* 2.存在项目符号
|
15
|
-
* 2.1首行要缩进 30:"一个项目符号的长度位置"
|
16
|
-
* @param p
|
17
|
-
* @param limitWidth
|
18
|
-
*/
|
19
|
-
measureParagraph(p: ParagraphElement, limitWidth: Readonly<number>): Array<ParagraphRenderObject>;
|
20
|
-
/**
|
21
|
-
* 校验当前段落属性
|
22
|
-
*/
|
23
|
-
private verifyPara;
|
24
|
-
/**
|
25
|
-
* 获取段落行布局横向坐标起始位置,被段落text-align影响
|
26
|
-
*/
|
27
|
-
private setParaTextAlign;
|
28
|
-
/**
|
29
|
-
* 设置两端对齐
|
30
|
-
* @param render
|
31
|
-
* @param count
|
32
|
-
* @param spaceWidth
|
33
|
-
*/
|
34
|
-
private setAlignJustify;
|
35
|
-
arrange(parentLine: MeasureLine, ele: Element): void;
|
36
|
-
arrangeInlineGroupElement(parentLine: MeasureLine, ele: InlineGroupElement): void;
|
37
|
-
private arrangeInlineItems;
|
38
|
-
arrangeLeafElement(parentLine: MeasureLine, ele: LeafElement): void;
|
39
|
-
arrangeLeafRender(parentLine: MeasureLine, render: LeafRenderObject): void;
|
40
|
-
cutTextRender(render: TextGroupRenderObject, limitWidth: number, lineEmpty: boolean, isCloseToBody: any): ICutLineData;
|
41
|
-
/**
|
42
|
-
* 处理前置标点,前置标点不能出现在末尾
|
43
|
-
* @param render
|
44
|
-
* @param i
|
45
|
-
* @param lineEmpty
|
46
|
-
*/
|
47
|
-
private patchHandleLeadingPunctuation;
|
48
|
-
/**
|
49
|
-
* 处理后置标点,后置标点不能出现在行首
|
50
|
-
* @param render
|
51
|
-
* @param i
|
52
|
-
* @param inCloseBody
|
53
|
-
* @param lineEmpty
|
54
|
-
*/
|
55
|
-
private patchHandlePostPunctuation;
|
56
|
-
/**
|
57
|
-
* 是否包含后置标点
|
58
|
-
* @param str
|
59
|
-
* @returns
|
60
|
-
*/
|
61
|
-
private containPostPunctuation;
|
62
|
-
private containLeadingPunctuation;
|
63
|
-
/**
|
64
|
-
* 文本开头是否包含后置标点
|
65
|
-
* @param render
|
66
|
-
* @returns
|
67
|
-
*/
|
68
|
-
private containerStartSymbolInTextStart;
|
69
|
-
cutFillNullRender(render: FillNullSpaceRenderObject, limitWidth: number): ICutLineData;
|
70
|
-
/**
|
71
|
-
* 获取段落行渲染单位个数,字符需要计算为字符长度
|
72
|
-
*/
|
73
|
-
private getRenderUnitLength;
|
74
|
-
/**
|
75
|
-
* 解析可见性表达式
|
76
|
-
* @param ele
|
77
|
-
* @param execute
|
78
|
-
* @private
|
79
|
-
*/
|
80
|
-
parseVisibleExpression(ele: Element, execute: DynamicExecute): void;
|
81
|
-
/**
|
82
|
-
* 元素可见行求值
|
83
|
-
* @param ele
|
84
|
-
* @param executeCtx
|
85
|
-
* @private
|
86
|
-
*/
|
87
|
-
evalVisibleExpr(ele: Element, executeCtx: DynamicExecute): boolean;
|
88
|
-
createRenderObject<T extends Element>(element: T): ReturnType<T['createRenderObject']>;
|
89
|
-
}
|
90
|
-
interface MeasureLine {
|
91
|
-
add(child: RenderObject): void;
|
92
|
-
lineWidth(): number;
|
93
|
-
updateHeight(child: RenderObject): void;
|
94
|
-
limitWidth: number;
|
95
|
-
lineLength(): number;
|
96
|
-
applyNewLine(): void;
|
97
|
-
applyNewPara(): void;
|
98
|
-
parent: MeasureLine | null;
|
99
|
-
isCloseToBody: boolean;
|
100
|
-
arrange(): void;
|
101
|
-
}
|
102
|
-
interface ICutLineData {
|
103
|
-
firstItem: RenderObject | null;
|
104
|
-
lastItem: RenderObject | null;
|
105
|
-
br?: boolean;
|
106
|
-
}
|
107
|
-
export {};
|
1
|
+
import { LeafRenderObject, RenderObject } from "../render-define";
|
2
|
+
import { FillNullSpaceRenderObject, ParagraphElement, ParagraphRenderObject, TextGroupRenderObject } from "../impl";
|
3
|
+
import { Element, InlineGroupElement, LeafElement, ViewOptions } from "../element-define";
|
4
|
+
import { RenderContextType } from "../render-context";
|
5
|
+
import { DynamicExecute } from "../code-interpreter/dynamic-execute";
|
6
|
+
export declare class ParagraphMeasure {
|
7
|
+
options: ViewOptions;
|
8
|
+
renderCtx: RenderContextType;
|
9
|
+
execute: DynamicExecute;
|
10
|
+
constructor(options: ViewOptions, renderCtx: RenderContextType, execute: DynamicExecute);
|
11
|
+
/**
|
12
|
+
* 段落排版:
|
13
|
+
* 1.当前段落不存在项目符号,按照缩进和悬挂处理
|
14
|
+
* 2.存在项目符号
|
15
|
+
* 2.1首行要缩进 30:"一个项目符号的长度位置"
|
16
|
+
* @param p
|
17
|
+
* @param limitWidth
|
18
|
+
*/
|
19
|
+
measureParagraph(p: ParagraphElement, limitWidth: Readonly<number>): Array<ParagraphRenderObject>;
|
20
|
+
/**
|
21
|
+
* 校验当前段落属性
|
22
|
+
*/
|
23
|
+
private verifyPara;
|
24
|
+
/**
|
25
|
+
* 获取段落行布局横向坐标起始位置,被段落text-align影响
|
26
|
+
*/
|
27
|
+
private setParaTextAlign;
|
28
|
+
/**
|
29
|
+
* 设置两端对齐
|
30
|
+
* @param render
|
31
|
+
* @param count
|
32
|
+
* @param spaceWidth
|
33
|
+
*/
|
34
|
+
private setAlignJustify;
|
35
|
+
arrange(parentLine: MeasureLine, ele: Element): void;
|
36
|
+
arrangeInlineGroupElement(parentLine: MeasureLine, ele: InlineGroupElement): void;
|
37
|
+
private arrangeInlineItems;
|
38
|
+
arrangeLeafElement(parentLine: MeasureLine, ele: LeafElement): void;
|
39
|
+
arrangeLeafRender(parentLine: MeasureLine, render: LeafRenderObject): void;
|
40
|
+
cutTextRender(render: TextGroupRenderObject, limitWidth: number, lineEmpty: boolean, isCloseToBody: any): ICutLineData;
|
41
|
+
/**
|
42
|
+
* 处理前置标点,前置标点不能出现在末尾
|
43
|
+
* @param render
|
44
|
+
* @param i
|
45
|
+
* @param lineEmpty
|
46
|
+
*/
|
47
|
+
private patchHandleLeadingPunctuation;
|
48
|
+
/**
|
49
|
+
* 处理后置标点,后置标点不能出现在行首
|
50
|
+
* @param render
|
51
|
+
* @param i
|
52
|
+
* @param inCloseBody
|
53
|
+
* @param lineEmpty
|
54
|
+
*/
|
55
|
+
private patchHandlePostPunctuation;
|
56
|
+
/**
|
57
|
+
* 是否包含后置标点
|
58
|
+
* @param str
|
59
|
+
* @returns
|
60
|
+
*/
|
61
|
+
private containPostPunctuation;
|
62
|
+
private containLeadingPunctuation;
|
63
|
+
/**
|
64
|
+
* 文本开头是否包含后置标点
|
65
|
+
* @param render
|
66
|
+
* @returns
|
67
|
+
*/
|
68
|
+
private containerStartSymbolInTextStart;
|
69
|
+
cutFillNullRender(render: FillNullSpaceRenderObject, limitWidth: number): ICutLineData;
|
70
|
+
/**
|
71
|
+
* 获取段落行渲染单位个数,字符需要计算为字符长度
|
72
|
+
*/
|
73
|
+
private getRenderUnitLength;
|
74
|
+
/**
|
75
|
+
* 解析可见性表达式
|
76
|
+
* @param ele
|
77
|
+
* @param execute
|
78
|
+
* @private
|
79
|
+
*/
|
80
|
+
parseVisibleExpression(ele: Element, execute: DynamicExecute): void;
|
81
|
+
/**
|
82
|
+
* 元素可见行求值
|
83
|
+
* @param ele
|
84
|
+
* @param executeCtx
|
85
|
+
* @private
|
86
|
+
*/
|
87
|
+
evalVisibleExpr(ele: Element, executeCtx: DynamicExecute): boolean;
|
88
|
+
createRenderObject<T extends Element>(element: T): ReturnType<T['createRenderObject']>;
|
89
|
+
}
|
90
|
+
interface MeasureLine {
|
91
|
+
add(child: RenderObject): void;
|
92
|
+
lineWidth(): number;
|
93
|
+
updateHeight(child: RenderObject): void;
|
94
|
+
limitWidth: number;
|
95
|
+
lineLength(): number;
|
96
|
+
applyNewLine(): void;
|
97
|
+
applyNewPara(): void;
|
98
|
+
parent: MeasureLine | null;
|
99
|
+
isCloseToBody: boolean;
|
100
|
+
arrange(): void;
|
101
|
+
}
|
102
|
+
interface ICutLineData {
|
103
|
+
firstItem: RenderObject | null;
|
104
|
+
lastItem: RenderObject | null;
|
105
|
+
br?: boolean;
|
106
|
+
}
|
107
|
+
export {};
|