@hailin-zheng/editor-core 1.0.62 → 1.1.0
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/controls/ButtonBase.d.ts +10 -0
- package/controls/Canvas.d.ts +10 -0
- package/controls/Config.d.ts +11 -0
- package/controls/FlexBox.d.ts +81 -0
- package/controls/Input.d.ts +33 -0
- package/controls/MedTimeLine/TimeAxis.d.ts +21 -0
- package/controls/MedTimeLine/TimeSlider.d.ts +19 -0
- package/controls/Menu.d.ts +31 -0
- package/controls/Node.d.ts +217 -0
- package/controls/NodeEvent.d.ts +136 -0
- package/controls/Rect.d.ts +4 -0
- package/controls/ScrollView.d.ts +56 -0
- package/controls/StackPanel.d.ts +27 -0
- package/controls/SurfaceView.d.ts +41 -0
- package/controls/Text.d.ts +45 -0
- package/controls/TextBase.d.ts +19 -0
- package/controls/ViewPaint.d.ts +57 -0
- package/controls/Window.d.ts +27 -0
- package/controls/WrapPanel.d.ts +10 -0
- package/controls/event-subject.d.ts +42 -0
- package/index-cjs.d.ts +0 -3
- package/index-cjs.js +12530 -7413
- package/index-cjs.js.map +1 -1
- package/index.d.ts +0 -3
- package/index.js +11092 -5992
- package/index.js.map +1 -1
- package/med_editor/framework/ast-parser.d.ts +3 -0
- package/med_editor/framework/document-arrange.d.ts +76 -0
- package/med_editor/framework/document-change.d.ts +5 -4
- package/med_editor/framework/document-comment.d.ts +4 -12
- package/med_editor/framework/document-event.d.ts +3 -2
- package/med_editor/framework/document-input-cursor.d.ts +3 -26
- package/med_editor/framework/document-paint.d.ts +9 -8
- package/med_editor/framework/document-textline-mode.d.ts +2 -3
- package/med_editor/framework/dynamic-executer.d.ts +23 -0
- package/med_editor/framework/element-define.d.ts +16 -8
- package/med_editor/framework/element-measure.d.ts +7 -5
- package/med_editor/framework/element-paint.d.ts +1 -10
- package/med_editor/framework/element-props.d.ts +16 -7
- package/med_editor/framework/element-reader.d.ts +1 -3
- package/med_editor/framework/element-render-cut.d.ts +9 -7
- package/med_editor/framework/element-util.d.ts +2 -12
- package/med_editor/framework/event-subject.d.ts +3 -1
- package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +1 -2
- package/med_editor/framework/impl/comments/comment-content-impl.d.ts +4 -3
- package/med_editor/framework/impl/comments/comment-element-impl.d.ts +4 -4
- package/med_editor/framework/impl/comments/comments-container-impl.d.ts +26 -5
- package/med_editor/framework/impl/comments/comments-util.d.ts +2 -9
- package/med_editor/framework/impl/comments/validate-msg-impl.d.ts +1 -1
- package/med_editor/framework/impl/data-element/data-element-barcode.d.ts +1 -1
- package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +4 -2
- package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +1 -2
- package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +1 -2
- package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +2 -2
- package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +1 -2
- package/med_editor/framework/impl/data-element/data-element-list-impl.d.ts +2 -3
- package/med_editor/framework/impl/data-element/data-element-text-impl.d.ts +1 -2
- package/med_editor/framework/impl/decorate/fill-null-space-imple.d.ts +1 -2
- package/med_editor/framework/impl/document/doc-body-impl.d.ts +3 -3
- package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +1 -2
- package/med_editor/framework/impl/document/doc-footer-impl.d.ts +3 -3
- package/med_editor/framework/impl/document/doc-header-impl.d.ts +3 -3
- package/med_editor/framework/impl/document/doc-impl.d.ts +2 -2
- package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +3 -4
- package/med_editor/framework/impl/paragraph/p-impl.d.ts +6 -3
- package/med_editor/framework/impl/picture/image-impl.d.ts +1 -2
- package/med_editor/framework/impl/radio/radio-impl.d.ts +1 -2
- package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +1 -2
- package/med_editor/framework/impl/symbol/page-br-symbol-impl.d.ts +21 -0
- package/med_editor/framework/impl/symbol/tab-symbol-impl.d.ts +16 -0
- package/med_editor/framework/impl/table/table-cell-impl.d.ts +3 -4
- package/med_editor/framework/impl/table/table-impl.d.ts +6 -8
- package/med_editor/framework/impl/table/table-row-impl.d.ts +1 -2
- package/med_editor/framework/impl/table/table-util.d.ts +5 -0
- package/med_editor/framework/impl/text/text-impl.d.ts +4 -4
- package/med_editor/framework/impl/text/track-run-impl.d.ts +3 -4
- package/med_editor/framework/paragraph-arrange.d.ts +82 -0
- package/med_editor/framework/render-context.d.ts +14 -17
- package/med_editor/framework/render-define.d.ts +1 -0
- package/med_editor/rule-control.d.ts +66 -0
- package/med_editor/texteditor.d.ts +35 -32
- package/package.json +5 -2
- package/med_editor/controls/button.d.ts +0 -10
- package/med_editor/controls/core.d.ts +0 -175
- package/med_editor/controls/data-grid.d.ts +0 -115
- package/med_editor/controls/editor.d.ts +0 -7
- package/med_editor/controls/event.d.ts +0 -22
- package/med_editor/controls/grid.d.ts +0 -11
- package/med_editor/controls/label.d.ts +0 -10
- package/med_editor/controls/panel.d.ts +0 -8
- package/med_editor/controls/render-context.d.ts +0 -59
- package/med_editor/controls/report-sheet.d.ts +0 -10
- package/med_editor/controls/rule.d.ts +0 -39
- package/med_editor/controls/scroll-viewer.d.ts +0 -60
- package/med_editor/controls/surface.d.ts +0 -23
- package/med_editor/doc-ruler.d.ts +0 -50
@@ -0,0 +1,76 @@
|
|
1
|
+
import { Element, IBeginMeasureData, ViewOptions } from "./element-define";
|
2
|
+
import { EditorContext } from "./document-context";
|
3
|
+
import { RenderContextType } from "./render-context";
|
4
|
+
import { CommsContainerRenderObject, DocumentRenderObject, ParagraphElement, TableCellRenderObject, TableRenderObject, TableRowRenderObject } from "./impl";
|
5
|
+
import { BlockContentRenderObject, BranchRenderObject } from "./render-define";
|
6
|
+
export declare class DocumentArrange {
|
7
|
+
docCtx: EditorContext;
|
8
|
+
renderCtx: RenderContextType;
|
9
|
+
options: ViewOptions;
|
10
|
+
constructor(docCtx: EditorContext, renderCtx: RenderContextType);
|
11
|
+
/**
|
12
|
+
* 测量排版过程
|
13
|
+
* 1.先测量排版页眉、页脚
|
14
|
+
* 2.根据页边距以及页眉、页脚测量的高度,获取"页体高度"
|
15
|
+
* 3.根据页体高度测量页体内容,并实时分页
|
16
|
+
* 3.1测量页体直接子内容
|
17
|
+
* 3.1.1页体直接子内容递归测量孙子元素
|
18
|
+
* 3.2完成页体子内容测量,并分页切分
|
19
|
+
*/
|
20
|
+
measureDoc(): Array<DocumentRenderObject>;
|
21
|
+
commentsRender: CommsContainerRenderObject;
|
22
|
+
private arrangeDoc;
|
23
|
+
private createEmptyBodyRender;
|
24
|
+
private measureControl;
|
25
|
+
private createRenderObject;
|
26
|
+
private getDocInnerRect;
|
27
|
+
/**
|
28
|
+
* 切割渲染元素
|
29
|
+
* @param render 被切割的对象
|
30
|
+
* @param limitHeight
|
31
|
+
* @returns
|
32
|
+
*/
|
33
|
+
cutRenderItem(render: BlockContentRenderObject, limitHeight: number): BlockContentRenderObject | null;
|
34
|
+
/**
|
35
|
+
* 切割渲染元素
|
36
|
+
* @param tbRender 被切割的对象
|
37
|
+
* @param limitHeight
|
38
|
+
* @param addFunc
|
39
|
+
* @returns
|
40
|
+
*/
|
41
|
+
cutTable(tbRender: TableRenderObject, limitHeight: number): BlockContentRenderObject | null;
|
42
|
+
cutRowRenderItem(render: TableRowRenderObject, limitHeight: number): TableRowRenderObject | null;
|
43
|
+
/**
|
44
|
+
* 修复->已经截断的合并单元格要向下移动到合适的位置
|
45
|
+
* @param tbRender
|
46
|
+
* @param cutRows
|
47
|
+
* @returns
|
48
|
+
*/
|
49
|
+
private fixCutTable;
|
50
|
+
/**
|
51
|
+
* 校验当前是否是一个完整的行,没有Null单元格,检查当前是否还需要向下合并
|
52
|
+
* @param row
|
53
|
+
*/
|
54
|
+
private checkFullRow;
|
55
|
+
private existsCellRender;
|
56
|
+
private getBlockLineHeight;
|
57
|
+
getRowInsertCellIndex(sourceCell: TableCellRenderObject, destRow: TableRowRenderObject): number;
|
58
|
+
private getHeaderRows;
|
59
|
+
/**
|
60
|
+
* 修改测量完毕后的元素状态
|
61
|
+
* @param ele
|
62
|
+
*/
|
63
|
+
setMeasureCompletedModifyFlag(ele: Element): void;
|
64
|
+
clearPaintCache(ele: Element, data: IBeginMeasureData): void;
|
65
|
+
identifyComment(ele: Element): void;
|
66
|
+
private cacheDoc;
|
67
|
+
cacheDocRenders(docs: Array<DocumentRenderObject>): void;
|
68
|
+
cacheRenders(renderTree: BranchRenderObject): void;
|
69
|
+
/**
|
70
|
+
* 缓存批注标志
|
71
|
+
* @private
|
72
|
+
*/
|
73
|
+
private cacheCommsRender;
|
74
|
+
endMeasures(ele: Element): void;
|
75
|
+
createDefaultPara(): ParagraphElement;
|
76
|
+
}
|
@@ -2,7 +2,7 @@ import { DocumentInput, InputData } from "./document-input-cursor";
|
|
2
2
|
import { SelectionState } from "./document-selection";
|
3
3
|
import { Element, LeafElement, SelectionContentRange } from "./element-define";
|
4
4
|
import { ParagraphElement, TableElement, TextGroupElement, TrackRunTypeEnum } from "./impl";
|
5
|
-
import { ParagraphProps, TextProps } from "./element-props";
|
5
|
+
import { ParagraphNumberType, ParagraphProps, TextProps } from "./element-props";
|
6
6
|
import { ElementReader } from "./element-reader";
|
7
7
|
import { EditorContext } from "./document-context";
|
8
8
|
import { DocumentComment } from "./document-comment";
|
@@ -241,6 +241,7 @@ export declare class DocumentChange {
|
|
241
241
|
*/
|
242
242
|
private handlePasteContent;
|
243
243
|
insertSoftBr(): void;
|
244
|
+
insertPageBreakSymbol(): void;
|
244
245
|
/**
|
245
246
|
* 处理黏贴的纯文本
|
246
247
|
* @param text
|
@@ -249,7 +250,7 @@ export declare class DocumentChange {
|
|
249
250
|
/**
|
250
251
|
* 设置当前段落项目符号类型
|
251
252
|
*/
|
252
|
-
setParagraphNumberType(): void;
|
253
|
+
setParagraphNumberType(numType?: ParagraphNumberType): void;
|
253
254
|
/**
|
254
255
|
* 插入批注
|
255
256
|
*/
|
@@ -271,7 +272,7 @@ export declare class DocumentChange {
|
|
271
272
|
*/
|
272
273
|
removeEmtpyInlineBlock(ele: Element): void;
|
273
274
|
/**
|
274
|
-
*
|
275
|
+
* 插入Tab制表位
|
275
276
|
*/
|
276
|
-
|
277
|
+
insertTabElement(): void;
|
277
278
|
}
|
@@ -1,23 +1,20 @@
|
|
1
1
|
import { EditorContext } from "./document-context";
|
2
|
-
import {
|
3
|
-
import { CommentElement } from "./impl/comments/comment-element-impl";
|
2
|
+
import { CommentElement } from "./impl";
|
4
3
|
/**
|
5
4
|
* 处理文档批注
|
6
5
|
*/
|
7
6
|
export declare class DocumentComment {
|
8
7
|
docCtx: EditorContext;
|
9
|
-
commMarkList: Array<CommentElement>;
|
10
|
-
commContentList: Array<CommContentBaseElement>;
|
11
8
|
isDirty: boolean;
|
12
9
|
constructor(docCtx: EditorContext);
|
13
10
|
/**
|
14
|
-
|
15
|
-
|
11
|
+
* 读取审阅标记符号
|
12
|
+
*/
|
16
13
|
readComments(): void;
|
17
14
|
/**
|
18
15
|
* 执行删除前,需要更新批注节点位置
|
19
16
|
*/
|
20
|
-
|
17
|
+
syncUpdateComments(): void;
|
21
18
|
/**
|
22
19
|
* 删除批注
|
23
20
|
* @param id
|
@@ -32,11 +29,6 @@ export declare class DocumentComment {
|
|
32
29
|
* 清除所有的验证批注
|
33
30
|
*/
|
34
31
|
clearAllValidates(): void;
|
35
|
-
/**
|
36
|
-
* 批注修改后事件
|
37
|
-
* 用于标注当前文档的批注发生更改了,不再重复读取批注,提高性能
|
38
|
-
*/
|
39
|
-
afterCommentsChanged(): void;
|
40
32
|
}
|
41
33
|
export interface CommMarkSelectedStatus {
|
42
34
|
startMark: CommentElement;
|
@@ -6,6 +6,7 @@ import { BorderType, CursorType, RenderObject } from "./render-define";
|
|
6
6
|
import { EditorContext } from "./document-context";
|
7
7
|
import { Subject, Subscription } from "./event-subject";
|
8
8
|
import { DocumentInput } from "./document-input-cursor";
|
9
|
+
import { NodeCore } from "../../controls/Node";
|
9
10
|
interface EdgeRenderInfo {
|
10
11
|
renderElement: Element;
|
11
12
|
relativePos: Position;
|
@@ -17,7 +18,7 @@ interface EdgeRenderInfo {
|
|
17
18
|
* 事件系统
|
18
19
|
*/
|
19
20
|
export declare class DocumentEvent {
|
20
|
-
private
|
21
|
+
private editor;
|
21
22
|
private documentPaint;
|
22
23
|
private docCtx;
|
23
24
|
private documentInput;
|
@@ -48,7 +49,7 @@ export declare class DocumentEvent {
|
|
48
49
|
subs: Array<Subscription>;
|
49
50
|
selectionState: SelectionState;
|
50
51
|
viewOptions: ViewOptions;
|
51
|
-
constructor(
|
52
|
+
constructor(editor: NodeCore, documentPaint: DocumentPaint, docCtx: EditorContext, documentInput: DocumentInput);
|
52
53
|
private bindEvent;
|
53
54
|
addSubEvent(sub: Subscription): void;
|
54
55
|
clearSubEvent(): void;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { LeafElement } from "./element-define";
|
2
2
|
import { EditorContext } from "./document-context";
|
3
3
|
import { Subject } from "./event-subject";
|
4
|
+
import { NodeCore } from "../../controls/Node";
|
4
5
|
export interface ICompositionStartInfo {
|
5
6
|
element: LeafElement;
|
6
7
|
offset: number;
|
@@ -15,18 +16,7 @@ export interface InputData {
|
|
15
16
|
* 输入处理
|
16
17
|
*/
|
17
18
|
export declare class DocumentInput {
|
18
|
-
private editInput;
|
19
|
-
private editCursor;
|
20
|
-
private cursorWrapper;
|
21
19
|
private docCtx;
|
22
|
-
/**
|
23
|
-
* 光标闪烁状态
|
24
|
-
*/
|
25
|
-
private _cursorBlinksState;
|
26
|
-
private cursorBlinksIntervalID;
|
27
|
-
private compositionStart;
|
28
|
-
private compositionPrevData;
|
29
|
-
private compositionStartInfo;
|
30
20
|
onInputEvent: Subject<InputData>;
|
31
21
|
onBackspaceEvent: Subject<KeyboardEvent>;
|
32
22
|
onDeleteEvent: Subject<KeyboardEvent>;
|
@@ -42,21 +32,8 @@ export declare class DocumentInput {
|
|
42
32
|
onEndEvent: Subject<void>;
|
43
33
|
onUpEvent: Subject<void>;
|
44
34
|
onDownEvent: Subject<void>;
|
45
|
-
|
46
|
-
|
47
|
-
/**
|
48
|
-
* 设置光标闪烁
|
49
|
-
*/
|
50
|
-
setCursorBlinks(): void;
|
51
|
-
/**
|
52
|
-
* 设置光标位置
|
53
|
-
* @param position
|
54
|
-
*/
|
55
|
-
setCursorPosition(position: {
|
56
|
-
x: number;
|
57
|
-
y: number;
|
58
|
-
height: number;
|
59
|
-
}): void;
|
35
|
+
onTabKeyEvent: Subject<void>;
|
36
|
+
constructor(node: NodeCore, docCtx: EditorContext);
|
60
37
|
/**
|
61
38
|
* 设置虚拟光标的可见性
|
62
39
|
* @param visibility
|
@@ -1,12 +1,11 @@
|
|
1
|
-
import { ElementMeasure } from "./element-measure";
|
2
1
|
import { ElementPaint } from "./element-paint";
|
3
|
-
import {
|
4
|
-
import { DocumentRenderObject } from "./impl/document/doc-impl";
|
2
|
+
import { DocumentRenderObject } from "./impl";
|
5
3
|
import { RenderContextType } from "./render-context";
|
6
4
|
import { Element, SelectionContentRange } from "./element-define";
|
7
|
-
import { DocumentContainerRender } from "./impl
|
8
|
-
import { CommsContainerRenderObject } from "./impl/comments/comments-container-impl";
|
5
|
+
import { DocumentContainerRender } from "./impl";
|
9
6
|
import { EditorContext } from "./document-context";
|
7
|
+
import { ElementMeasure } from "./element-measure";
|
8
|
+
import { ElementRenderCut } from "./element-render-cut";
|
10
9
|
export declare class DocumentPaint {
|
11
10
|
private renderContext;
|
12
11
|
private docCtx;
|
@@ -16,7 +15,6 @@ export declare class DocumentPaint {
|
|
16
15
|
elementPaint: ElementPaint;
|
17
16
|
docPages: Array<DocumentRenderObject>;
|
18
17
|
docContainer: DocumentContainerRender;
|
19
|
-
commsContainer: CommsContainerRenderObject;
|
20
18
|
private viewOptions;
|
21
19
|
constructor(renderContext: RenderContextType, docCtx: EditorContext, selectedSets: Map<Element, SelectionContentRange>);
|
22
20
|
rePages(): void;
|
@@ -39,8 +37,11 @@ export declare class DocumentPaint {
|
|
39
37
|
/**
|
40
38
|
* 获取设置文档容器的总高度
|
41
39
|
*/
|
42
|
-
getDocumentContainerHeight():
|
43
|
-
|
40
|
+
getDocumentContainerHeight(): {
|
41
|
+
width: number;
|
42
|
+
height: number;
|
43
|
+
};
|
44
|
+
refreshView(): void;
|
44
45
|
getDocPages(): Array<DocumentRenderObject>;
|
45
46
|
getDocContainer(): DocumentContainerRender;
|
46
47
|
/***
|
@@ -1,7 +1,6 @@
|
|
1
|
-
import {
|
2
|
-
import { RenderContextType } from "./render-context";
|
1
|
+
import { Element, ICreateRenderData } from "./element-define";
|
3
2
|
/**
|
4
3
|
* 文字行渲染模式
|
5
4
|
用于医嘱打印模式
|
6
5
|
*/
|
7
|
-
export declare function runTextLineRender(ele: Element,
|
6
|
+
export declare function runTextLineRender(ele: Element, data: ICreateRenderData): void;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { BranchElement } from "./element-define";
|
2
|
+
import { SelectionState } from "./document-selection";
|
3
|
+
export declare class DynamicContextParser {
|
4
|
+
doc: BranchElement;
|
5
|
+
ss: SelectionState;
|
6
|
+
constructor(doc: BranchElement, ss: SelectionState);
|
7
|
+
cacheList: Array<any>;
|
8
|
+
getControlById(id: string): any;
|
9
|
+
getObject(id: string): RefCtxValue;
|
10
|
+
AVG(fn: () => Array<number | string>): number;
|
11
|
+
SUM(fn: () => Array<number | string | Array<string>>): number;
|
12
|
+
MAX(fn: () => Array<number | string>): number;
|
13
|
+
MIN(fn: () => Array<number | string>): number;
|
14
|
+
Float(val: any): number;
|
15
|
+
IF(condition: () => boolean, truePart: VoidFunction, falsePart: VoidFunction): any;
|
16
|
+
Number(val: any): number;
|
17
|
+
TableData(tableId: string, startRow: number, startCol: number, endRow: number, endCol: number): Array<string>;
|
18
|
+
}
|
19
|
+
interface RefCtxValue {
|
20
|
+
get value(): any;
|
21
|
+
set value(val: any);
|
22
|
+
}
|
23
|
+
export {};
|
@@ -7,8 +7,6 @@ export declare class Rect {
|
|
7
7
|
y: number;
|
8
8
|
width: number;
|
9
9
|
height: number;
|
10
|
-
maxHeight: number;
|
11
|
-
maxWidth: number;
|
12
10
|
}
|
13
11
|
export interface SerializeProps {
|
14
12
|
type: string;
|
@@ -58,7 +56,7 @@ export declare abstract class Element<P extends object = any> {
|
|
58
56
|
protected _onChangeEvent: Subject<void>;
|
59
57
|
private observers;
|
60
58
|
paintRenders: Array<RenderObject>;
|
61
|
-
|
59
|
+
cacheRender: RenderObject | null;
|
62
60
|
focusable: boolean;
|
63
61
|
isFocused: boolean;
|
64
62
|
/**
|
@@ -80,7 +78,7 @@ export declare abstract class Element<P extends object = any> {
|
|
80
78
|
set props(value: P);
|
81
79
|
private notifyChanged;
|
82
80
|
constructor(type: string);
|
83
|
-
abstract createRenderObject(
|
81
|
+
abstract createRenderObject(data: ICreateRenderData): RenderObject | null;
|
84
82
|
abstract serialize(viewOptions: ViewOptions): SerializeProps | null;
|
85
83
|
abstract clone(data: boolean): Element;
|
86
84
|
abstract getChildLength(): number;
|
@@ -90,7 +88,7 @@ export declare abstract class Element<P extends object = any> {
|
|
90
88
|
removeEvent(eventId: string): void;
|
91
89
|
removeEventByType(eventType: EventTypes): void;
|
92
90
|
invokeEvent(event: EventTypes, evt: ElementEvent, userCapture?: boolean): void;
|
93
|
-
beginMeasure(): void;
|
91
|
+
beginMeasure(data: IBeginMeasureData): void;
|
94
92
|
endMeasure(): void;
|
95
93
|
getIndex(): number;
|
96
94
|
get refreshSubject(): Subject<void>;
|
@@ -151,7 +149,6 @@ export declare abstract class BlockContentElement<P extends object = any> extend
|
|
151
149
|
* 包含块级渲染元素的容器元素,例如body、table-cell、table等
|
152
150
|
*/
|
153
151
|
export declare abstract class BlockContainerElement<P extends object = any> extends BranchElement<P> {
|
154
|
-
noFillEmpty: boolean;
|
155
152
|
}
|
156
153
|
export interface readElementProps<T> {
|
157
154
|
type: string;
|
@@ -161,7 +158,7 @@ export interface readElementProps<T> {
|
|
161
158
|
export declare abstract class ElementFactory<T = null> {
|
162
159
|
options: ViewOptions;
|
163
160
|
abstract match(type: string): boolean;
|
164
|
-
abstract createElement(data: readElementProps<T
|
161
|
+
abstract createElement(data: readElementProps<T>): Element;
|
165
162
|
readCompleted(ele: Element, children: Array<Element>): void;
|
166
163
|
}
|
167
164
|
export interface SelectionContentRange {
|
@@ -264,12 +261,13 @@ export declare class ViewOptions {
|
|
264
261
|
chineseLayout: boolean;
|
265
262
|
enableTrackHistory: boolean;
|
266
263
|
trackHistoryMaxLength: number;
|
264
|
+
enableDyExpression: boolean;
|
267
265
|
private _fullPageView;
|
268
266
|
get fullPageView(): boolean;
|
269
267
|
set fullPageView(value: boolean);
|
270
268
|
mmToPixelsRatio: number;
|
271
269
|
cursor: CursorType;
|
272
|
-
|
270
|
+
pageOffset: Position;
|
273
271
|
docPageSettings: PageOptions;
|
274
272
|
viewSettings: {
|
275
273
|
width: number;
|
@@ -344,4 +342,14 @@ export interface ICancelTokenFn {
|
|
344
342
|
}
|
345
343
|
declare type IVoidFn = () => void;
|
346
344
|
export declare function onceTask(fn: IVoidFn): IVoidFn;
|
345
|
+
export interface IBeginMeasureData {
|
346
|
+
doc: BranchElement;
|
347
|
+
viewOptions: ViewOptions;
|
348
|
+
parser: object;
|
349
|
+
createParaFn: () => Element;
|
350
|
+
}
|
351
|
+
export interface ICreateRenderData {
|
352
|
+
options: ViewOptions;
|
353
|
+
renderCtx: RenderContextType;
|
354
|
+
}
|
347
355
|
export {};
|
@@ -1,10 +1,11 @@
|
|
1
|
-
import { Element, InlineGroupElement, ViewOptions } from "./element-define";
|
1
|
+
import { Element, IBeginMeasureData, InlineGroupElement, ViewOptions } from "./element-define";
|
2
2
|
import { FillNullSpaceRenderObject } from "./impl";
|
3
3
|
import { DocumentElement, DocumentRenderObject } from "./impl";
|
4
4
|
import { ParagraphElement, ParagraphLineRectRenderObject, ParagraphRenderObject } from "./impl";
|
5
5
|
import { TextGroupRenderObject } from "./impl";
|
6
6
|
import { RenderContextType } from "./render-context";
|
7
7
|
import { InlineGroupRenderObject, RenderObject } from "./render-define";
|
8
|
+
import { EditorContext } from "./document-context";
|
8
9
|
interface ICutLineData {
|
9
10
|
firstItem: RenderObject | null;
|
10
11
|
lastItem: RenderObject | null;
|
@@ -14,9 +15,10 @@ interface ICutLineData {
|
|
14
15
|
* 测量阶段,生成Render-UI
|
15
16
|
*/
|
16
17
|
export declare class ElementMeasure {
|
17
|
-
|
18
|
-
|
19
|
-
|
18
|
+
docCtx: EditorContext;
|
19
|
+
renderCtx: RenderContextType;
|
20
|
+
options: ViewOptions;
|
21
|
+
constructor(docCtx: EditorContext, renderCtx: RenderContextType);
|
20
22
|
measureDocument(document: DocumentElement): DocumentRenderObject;
|
21
23
|
measureControl(element: Element, maxWidth: number): RenderObject | null;
|
22
24
|
/**
|
@@ -86,7 +88,7 @@ export declare class ElementMeasure {
|
|
86
88
|
* @param ele
|
87
89
|
*/
|
88
90
|
setMeasureCompletedModifyFlag(ele: Element): void;
|
89
|
-
clearPaintCache(ele: Element): void;
|
91
|
+
clearPaintCache(ele: Element, data: IBeginMeasureData): void;
|
90
92
|
endMeasures(ele: Element): void;
|
91
93
|
}
|
92
94
|
export {};
|
@@ -2,8 +2,6 @@ import { RenderContextType } from "./render-context";
|
|
2
2
|
import { Element, Position, SelectionContentRange, ViewOptions } from "./element-define";
|
3
3
|
import { RenderObject } from "./render-define";
|
4
4
|
import { DocumentContainerRender } from "./impl";
|
5
|
-
import { CommentElement } from "./impl";
|
6
|
-
import { CommsContainerRenderObject } from "./impl";
|
7
5
|
import { EditorContext } from "./document-context";
|
8
6
|
export interface PrintOptions {
|
9
7
|
beforePrintPage: (pageIndex: number, pageCount: number) => void;
|
@@ -13,17 +11,10 @@ export declare class ElementPaint {
|
|
13
11
|
private renderCtx;
|
14
12
|
private docCtx;
|
15
13
|
private selectedSets;
|
16
|
-
private measureCommContainer;
|
17
|
-
private rePaint;
|
18
14
|
viewOptions: ViewOptions;
|
19
15
|
constructor(renderCtx: RenderContextType, docCtx: EditorContext);
|
20
|
-
paintCommMap: Array<{
|
21
|
-
ele: CommentElement;
|
22
|
-
render: RenderObject;
|
23
|
-
pos: Position;
|
24
|
-
}>;
|
25
16
|
paintPagePos: Position;
|
26
|
-
drawPages(docContainer: DocumentContainerRender, selectedSets: Map<Element, SelectionContentRange
|
17
|
+
drawPages(docContainer: DocumentContainerRender, selectedSets: Map<Element, SelectionContentRange>): void;
|
27
18
|
drawRenderObject(renderObject: RenderObject<any>, parent: {
|
28
19
|
x: number;
|
29
20
|
y: number;
|
@@ -39,16 +39,25 @@ export declare class TextProps extends INotifyPropertyChanged {
|
|
39
39
|
}
|
40
40
|
export declare enum ParagraphNumberType {
|
41
41
|
none = -1,
|
42
|
+
/**
|
43
|
+
* 无序列表
|
44
|
+
*/
|
42
45
|
ul = 0,
|
46
|
+
/**
|
47
|
+
* 有序符号
|
48
|
+
*/
|
43
49
|
ol = 1
|
44
50
|
}
|
51
|
+
export declare const defaultParaHanging = 30;
|
45
52
|
export declare class ParagraphProps extends INotifyPropertyChanged {
|
46
53
|
indent: number;
|
47
54
|
hanging: number;
|
48
55
|
lineHeight: number;
|
49
56
|
textAlign: TextAlign;
|
50
57
|
numberType: ParagraphNumberType;
|
51
|
-
|
58
|
+
marginTop: number;
|
59
|
+
marginBottom: number;
|
60
|
+
tabs: Array<number>;
|
52
61
|
clone(dest?: ParagraphProps | null): ParagraphProps;
|
53
62
|
getSerializeProps(viewOptions: ViewOptions): any;
|
54
63
|
}
|
@@ -95,18 +104,16 @@ export declare class TableRowProps extends INotifyPropertyChanged {
|
|
95
104
|
export declare type TableAlignment = 'start' | 'end' | 'center';
|
96
105
|
export declare class TableProps extends INotifyPropertyChanged {
|
97
106
|
id: string;
|
98
|
-
|
99
|
-
cols: Array<number | string>;
|
107
|
+
cols: Array<number>;
|
100
108
|
alignment: TableAlignment;
|
101
|
-
border: 'all' | 'none';
|
109
|
+
border: 'all' | 'none' | 'dashed';
|
102
110
|
allowBreakRow: boolean;
|
103
111
|
clone(dest: TableProps): TableProps;
|
104
112
|
getSerializeProps(viewOptions: ViewOptions): {
|
105
113
|
id: string;
|
106
|
-
|
107
|
-
cols: (string | number)[];
|
114
|
+
cols: number[];
|
108
115
|
alignment: TableAlignment;
|
109
|
-
border: "none" | "all";
|
116
|
+
border: "none" | "all" | "dashed";
|
110
117
|
};
|
111
118
|
}
|
112
119
|
export declare type CellMergeType = 'col-merge' | 'row-merge';
|
@@ -157,6 +164,8 @@ export declare class DataEleBaseProps extends INotifyPropertyChanged {
|
|
157
164
|
minLength: number;
|
158
165
|
type: DataEleTypes;
|
159
166
|
underline: boolean;
|
167
|
+
expression: string;
|
168
|
+
hidden: boolean;
|
160
169
|
cloneBaseProps(destProps: DataEleBaseProps): void;
|
161
170
|
private setPropValue;
|
162
171
|
updateProps(props: DataEleBaseProps): void;
|
@@ -1,11 +1,9 @@
|
|
1
1
|
import { EditorContext } from "./document-context";
|
2
2
|
import { ElementFactory, Element } from "./element-define";
|
3
3
|
import { DocumentElement } from "./impl/document/doc-impl";
|
4
|
-
import { RenderContextType } from "./render-context";
|
5
4
|
export declare class ElementReader {
|
6
5
|
private docCtx;
|
7
|
-
|
8
|
-
constructor(docCtx: EditorContext, renderCtx: RenderContextType);
|
6
|
+
constructor(docCtx: EditorContext);
|
9
7
|
factories: Array<ElementFactory>;
|
10
8
|
addFactory<U extends null | object, T extends ElementFactory<U>>(c: new () => T): void;
|
11
9
|
private initFactory;
|
@@ -1,29 +1,31 @@
|
|
1
|
-
import { DocumentBodyRenderObject } from "./impl
|
2
|
-
import { DocumentElement, DocumentRenderObject } from "./impl
|
1
|
+
import { DocumentBodyRenderObject } from "./impl";
|
2
|
+
import { DocumentElement, DocumentRenderObject } from "./impl";
|
3
3
|
import { RenderContextType } from "./render-context";
|
4
4
|
import { BlockContentRenderObject } from "./render-define";
|
5
5
|
import { Rect, ViewOptions } from "./element-define";
|
6
|
-
import { TableRowRenderObject } from "./impl
|
7
|
-
import { TableCellRenderObject } from "./impl
|
8
|
-
import { TableRenderObject } from "./impl
|
6
|
+
import { TableRowRenderObject } from "./impl";
|
7
|
+
import { TableCellRenderObject } from "./impl";
|
8
|
+
import { TableRenderObject } from "./impl";
|
9
9
|
export declare class ElementRenderCut {
|
10
10
|
private options;
|
11
11
|
private renderContext;
|
12
12
|
constructor(options: ViewOptions, renderContext: RenderContextType);
|
13
13
|
cutPage(documentRender: DocumentRenderObject, documentElement: DocumentElement): Array<DocumentRenderObject>;
|
14
|
-
private
|
14
|
+
private getDocInnerRect;
|
15
15
|
getFullViewDocRender(documentRender: DocumentRenderObject, documentElement: DocumentElement): Array<DocumentRenderObject>;
|
16
16
|
createEmptyBodyRender(bodyRender: DocumentBodyRenderObject, limitRect: Rect): {
|
17
17
|
emptyBody: DocumentBodyRenderObject;
|
18
18
|
innerRect: Rect & {
|
19
19
|
prevMargin: number;
|
20
|
+
} & {
|
21
|
+
maxHeight: number;
|
22
|
+
maxWidth: number;
|
20
23
|
};
|
21
24
|
};
|
22
25
|
/**
|
23
26
|
* 切割渲染元素
|
24
27
|
* @param render 被切割的对象
|
25
28
|
* @param limitHeight
|
26
|
-
* @param addFunc
|
27
29
|
* @returns
|
28
30
|
*/
|
29
31
|
cutRenderItem(render: BlockContentRenderObject, limitHeight: number): BlockContentRenderObject | null;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { EditorContext } from "./document-context";
|
2
|
-
import {
|
2
|
+
import { BranchElement, Element, LeafElement, Position, Rect, SelectionContentRange, ViewOptions } from "./element-define";
|
3
3
|
import { HitRegion } from "./element-event-define";
|
4
4
|
import { DataEleBaseProps, TextProps } from "./element-props";
|
5
5
|
import { DataElementInlineGroup } from "./impl/data-element/data-element-base-impl";
|
@@ -19,6 +19,7 @@ export declare class ElementUtil {
|
|
19
19
|
width: number;
|
20
20
|
height: number;
|
21
21
|
}): void;
|
22
|
+
static getDpr(): number;
|
22
23
|
static getDprNumber(val: number, scale?: number): number;
|
23
24
|
static readTextProps(dest: TextProps | null, props: TextProps | undefined, options: ViewOptions): TextProps;
|
24
25
|
static readEleBaseProps(dest: DataEleBaseProps, props: DataEleBaseProps): DataEleBaseProps;
|
@@ -35,12 +36,6 @@ export declare class ElementUtil {
|
|
35
36
|
* @param innerRect
|
36
37
|
*/
|
37
38
|
static updateRenderHeightByInnerRect(render: RenderObject, innerRect: Rect): void;
|
38
|
-
/**
|
39
|
-
* 设置块级元素限制尺寸
|
40
|
-
* @param render
|
41
|
-
* @param parentLimitRect
|
42
|
-
*/
|
43
|
-
static setBlockElementLimitSize(render: BlockContainerRenderObject | BlockContentRenderObject, parentLimitRect: Rect): void;
|
44
39
|
/**
|
45
40
|
* 克隆框体
|
46
41
|
* @param rect
|
@@ -260,11 +255,6 @@ export declare class ElementUtil {
|
|
260
255
|
* @returns
|
261
256
|
*/
|
262
257
|
static fixParagraphContent(control: ParagraphElement): void;
|
263
|
-
/**
|
264
|
-
* 修正块级容器内容
|
265
|
-
* @param control
|
266
|
-
*/
|
267
|
-
static fixBlockContainer(control: BlockContainerElement): void;
|
268
258
|
/**
|
269
259
|
* 获取绘制元素相对于整个画布的绝对位置
|
270
260
|
* 整个画布绘制的时候不一定从x=0,y=0时绘制的,下拉滚动时,上面从负y坐标开始绘制
|
@@ -3,12 +3,13 @@
|
|
3
3
|
*/
|
4
4
|
export declare abstract class Subscription<T = any> {
|
5
5
|
protected closed: boolean;
|
6
|
+
once: boolean;
|
6
7
|
abstract invoke(data: T): void;
|
7
8
|
abstract unsubscribe(): void;
|
8
9
|
}
|
9
10
|
export declare abstract class EventSourceCore<T> {
|
10
11
|
protected closed: boolean;
|
11
|
-
|
12
|
+
subs: Array<Subscription>;
|
12
13
|
next(data?: T): void;
|
13
14
|
protected addSub(sub: Subscription): void;
|
14
15
|
protected removeSub(sub: Subscription): void;
|
@@ -32,6 +33,7 @@ export declare class DOMSubscription<T> extends Subscription<T> {
|
|
32
33
|
}
|
33
34
|
export declare class Subject<T> extends EventSourceCore<T> {
|
34
35
|
subscribe(listener: (data: T) => void): Subscription;
|
36
|
+
onceSubscribe(listener: (data: T) => void): Subscription;
|
35
37
|
}
|
36
38
|
export declare class SubjectSubscription extends Subscription {
|
37
39
|
listener: (data: any) => void;
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import { ElementFactory, LeafElement, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
|
2
2
|
import { CheckBoxProps } from "../../element-props";
|
3
|
-
import { RenderContextType } from "../../render-context";
|
4
3
|
import { IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
|
5
4
|
import { ElementEvent } from "../../element-event-define";
|
6
5
|
export declare class CheckBoxElement extends LeafElement<CheckBoxProps> {
|
@@ -12,7 +11,7 @@ export declare class CheckBoxElement extends LeafElement<CheckBoxProps> {
|
|
12
11
|
}
|
13
12
|
export declare class CheckBoxFactory extends ElementFactory<CheckBoxProps> {
|
14
13
|
match(type: string): boolean;
|
15
|
-
createElement(data: readElementProps<CheckBoxProps
|
14
|
+
createElement(data: readElementProps<CheckBoxProps>): CheckBoxElement;
|
16
15
|
}
|
17
16
|
export declare class CheckBoxRenderObject extends LeafRenderObject<CheckBoxElement> {
|
18
17
|
render(e: IRenderData): void;
|