@hailin-zheng/editor-core 1.0.32 → 1.0.35
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/index-cjs.d.ts +1 -1
- package/index-cjs.js +9895 -9067
- package/index.d.ts +1 -1
- package/index.js +9888 -9069
- package/med_editor/controls/button.d.ts +10 -0
- package/med_editor/controls/core.d.ts +175 -0
- package/med_editor/controls/data-grid.d.ts +115 -0
- package/med_editor/controls/editor.d.ts +7 -0
- package/med_editor/controls/event.d.ts +22 -0
- package/med_editor/controls/grid.d.ts +11 -0
- package/med_editor/controls/label.d.ts +10 -0
- package/med_editor/controls/panel.d.ts +8 -0
- package/med_editor/controls/render-context.d.ts +59 -0
- package/med_editor/controls/report-sheet.d.ts +10 -0
- package/med_editor/controls/rule.d.ts +39 -0
- package/med_editor/controls/scroll-viewer.d.ts +60 -0
- package/med_editor/controls/surface.d.ts +23 -0
- package/med_editor/doc-ruler.d.ts +5 -6
- package/med_editor/framework/common-util.d.ts +2 -1
- package/med_editor/framework/document-change.d.ts +8 -7
- package/med_editor/framework/document-context.d.ts +4 -5
- package/med_editor/framework/document-event.d.ts +15 -4
- package/med_editor/framework/document-input-cursor.d.ts +1 -9
- package/med_editor/framework/document-paint.d.ts +21 -5
- package/med_editor/framework/document-print-offscreen.d.ts +5 -11
- package/med_editor/framework/document-print.d.ts +1 -11
- package/med_editor/framework/document-selection.d.ts +1 -2
- package/med_editor/framework/document-textline-mode.d.ts +2 -2
- package/med_editor/framework/element-define.d.ts +18 -10
- package/med_editor/framework/element-measure.d.ts +2 -2
- package/med_editor/framework/element-paint.d.ts +11 -11
- package/med_editor/framework/element-props.d.ts +8 -10
- package/med_editor/framework/element-reader.d.ts +3 -6
- package/med_editor/framework/element-render-cut.d.ts +2 -2
- package/med_editor/framework/element-trace-manage.d.ts +97 -0
- package/med_editor/framework/element-trace-tracking.d.ts +89 -0
- package/med_editor/framework/element-util.d.ts +20 -1
- package/med_editor/framework/event-subject.d.ts +43 -0
- package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +4 -8
- package/med_editor/framework/impl/comments/comment-content-impl.d.ts +7 -7
- package/med_editor/framework/impl/comments/comment-element-impl.d.ts +5 -8
- package/med_editor/framework/impl/comments/comments-container-impl.d.ts +6 -7
- package/med_editor/framework/impl/comments/comments-util.d.ts +2 -2
- package/med_editor/framework/impl/comments/validate-msg-impl.d.ts +5 -6
- package/med_editor/framework/impl/data-element/data-decorate-impl.d.ts +4 -14
- package/med_editor/framework/impl/data-element/data-element-barcode.d.ts +6 -9
- package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +18 -11
- package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +4 -14
- package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +5 -5
- package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +10 -10
- package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +8 -10
- package/med_editor/framework/impl/data-element/data-element-list-impl.d.ts +5 -5
- package/med_editor/framework/impl/data-element/data-element-text-impl.d.ts +5 -5
- package/med_editor/framework/impl/decorate/fill-null-space-imple.d.ts +4 -7
- package/med_editor/framework/impl/document/doc-body-impl.d.ts +4 -11
- package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +4 -11
- package/med_editor/framework/impl/document/doc-container-impl.d.ts +2 -10
- package/med_editor/framework/impl/document/doc-footer-impl.d.ts +4 -11
- package/med_editor/framework/impl/document/doc-header-impl.d.ts +4 -11
- package/med_editor/framework/impl/document/doc-impl.d.ts +5 -12
- package/med_editor/framework/impl/index.d.ts +1 -1
- package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +5 -8
- package/med_editor/framework/impl/paragraph/p-impl.d.ts +11 -20
- package/med_editor/framework/impl/picture/image-impl.d.ts +8 -10
- package/med_editor/framework/impl/radio/radio-impl.d.ts +5 -8
- package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +4 -7
- package/med_editor/framework/impl/symbol/p-symbol-impl.d.ts +3 -6
- package/med_editor/framework/impl/table/table-cell-impl.d.ts +4 -12
- package/med_editor/framework/impl/table/table-impl.d.ts +12 -17
- package/med_editor/framework/impl/table/table-row-impl.d.ts +4 -11
- package/med_editor/framework/impl/table/table-split-cell.d.ts +8 -6
- package/med_editor/framework/impl/text/text-impl.d.ts +11 -9
- package/med_editor/framework/impl/text/track-run-impl.d.ts +6 -7
- package/med_editor/framework/render-context.d.ts +42 -39
- package/med_editor/framework/render-define.d.ts +14 -13
- package/med_editor/texteditor.d.ts +42 -60
- package/package.json +2 -12
- package/lib/index-cjs.d.ts +0 -34
- package/med_editor/framework/document-history.d.ts +0 -26
@@ -3,10 +3,7 @@ import { SelectionState } from "./document-selection";
|
|
3
3
|
import { BranchElement, Element, ImgLoadStatus, Rect, RefreshType, ViewOptions } from "./element-define";
|
4
4
|
import { ElementEvent, EventTypes } from "./element-event-define";
|
5
5
|
import { DataElementValueStruct } from "./element-serialize";
|
6
|
-
import { DataElementInlineGroup, DataElementLeaf } from "./impl
|
7
|
-
import { DataElementCheck } from "./impl/data-element/data-element-check-impl";
|
8
|
-
import { DocumentElement } from "./impl/document/doc-impl";
|
9
|
-
import { TrackRunElement, TrackRunTypeEnum } from "./impl/text/track-run-impl";
|
6
|
+
import { DataElementInlineGroup, DataElementLeaf, DataElementCheck, DocumentElement, TrackRunElement, TrackRunTypeEnum } from "./impl";
|
10
7
|
import { DocumentChange } from "./document-change";
|
11
8
|
/**
|
12
9
|
* 当前打开的文档的上下文信息,当前文档所有的属性设置都暴露在上下文中
|
@@ -22,7 +19,9 @@ export declare class EditorContext {
|
|
22
19
|
dynamicFunc: DocumentEvalFunc;
|
23
20
|
docChange: DocumentChange;
|
24
21
|
clearPrevDocCb: (() => void) | null;
|
22
|
+
paintedCallback: (() => void) | null;
|
25
23
|
constructor(selectionState: SelectionState, viewOptions: ViewOptions);
|
24
|
+
setPaintedCallback(cb: (() => void) | null): void;
|
26
25
|
get document(): DocumentElement;
|
27
26
|
set document(value: DocumentElement);
|
28
27
|
clear(): void;
|
@@ -51,7 +50,7 @@ export declare class EditorContext {
|
|
51
50
|
* 替换数据元
|
52
51
|
*/
|
53
52
|
replaceDataElement(oldDataElement: DataElementLeaf | DataElementInlineGroup, newElement: DataElementLeaf | DataElementInlineGroup, ss: SelectionState): void;
|
54
|
-
get refreshType(): RefreshType;
|
53
|
+
get refreshType(): RefreshType | null;
|
55
54
|
}
|
56
55
|
export interface ImageSourceItem {
|
57
56
|
src: string;
|
@@ -1,10 +1,11 @@
|
|
1
|
-
import { Subject, Subscription } from "rxjs";
|
2
1
|
import { DocumentPaint } from "./document-paint";
|
3
2
|
import { SelectionState } from "./document-selection";
|
4
3
|
import { LeafElement, Rect, Element, Position, ViewOptions } from "./element-define";
|
5
4
|
import { ElementEvent, EventStage, EventTypes, HitEventInfo, HitRegion, ITrackTips, MouseElementEvent } from "./element-event-define";
|
6
5
|
import { BorderType, CursorType, RenderObject } from "./render-define";
|
7
6
|
import { EditorContext } from "./document-context";
|
7
|
+
import { Subject, Subscription } from "./event-subject";
|
8
|
+
import { DocumentInput } from "./document-input-cursor";
|
8
9
|
interface EdgeRenderInfo {
|
9
10
|
renderElement: Element;
|
10
11
|
relativePos: Position;
|
@@ -18,9 +19,8 @@ interface EdgeRenderInfo {
|
|
18
19
|
export declare class DocumentEvent {
|
19
20
|
private canvas;
|
20
21
|
private documentPaint;
|
21
|
-
private viewOptions;
|
22
|
-
private selectionState;
|
23
22
|
private docCtx;
|
23
|
+
private documentInput;
|
24
24
|
private ismousedown;
|
25
25
|
startHitInfo: HitEventInfo | null;
|
26
26
|
endHitInfo: HitEventInfo | null;
|
@@ -46,7 +46,9 @@ export declare class DocumentEvent {
|
|
46
46
|
currentPos: Position;
|
47
47
|
mousedownPos: Position;
|
48
48
|
subs: Array<Subscription>;
|
49
|
-
|
49
|
+
selectionState: SelectionState;
|
50
|
+
viewOptions: ViewOptions;
|
51
|
+
constructor(canvas: HTMLCanvasElement, documentPaint: DocumentPaint, docCtx: EditorContext, documentInput: DocumentInput);
|
50
52
|
private bindEvent;
|
51
53
|
addSubEvent(sub: Subscription): void;
|
52
54
|
clearSubEvent(): void;
|
@@ -54,6 +56,12 @@ export declare class DocumentEvent {
|
|
54
56
|
private mousedown;
|
55
57
|
private mouseup;
|
56
58
|
private mousemove;
|
59
|
+
/**
|
60
|
+
* 根据缩放值,设置在绘制对象上的坐标位置
|
61
|
+
* @param evt
|
62
|
+
* @param viewEvt
|
63
|
+
*/
|
64
|
+
private setEventViewPos;
|
57
65
|
private prevTrackInfo;
|
58
66
|
/**
|
59
67
|
* 显示提示信息
|
@@ -138,6 +146,9 @@ export declare class DocumentEvent {
|
|
138
146
|
* 触发事件
|
139
147
|
* @param type
|
140
148
|
* @param sourceElement
|
149
|
+
* @param event
|
150
|
+
* @param eventStage
|
151
|
+
* @param docCtx
|
141
152
|
*/
|
142
153
|
static invokeEvent(type: EventTypes, sourceElement: Element, event: ElementEvent, eventStage: EventStage, docCtx: EditorContext): ElementEvent | null;
|
143
154
|
/**
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { Subject } from "rxjs";
|
2
1
|
import { LeafElement } from "./element-define";
|
3
2
|
import { EditorContext } from "./document-context";
|
3
|
+
import { Subject } from "./event-subject";
|
4
4
|
export interface ICompositionStartInfo {
|
5
5
|
element: LeafElement;
|
6
6
|
offset: number;
|
@@ -19,10 +19,6 @@ export declare class DocumentInput {
|
|
19
19
|
private editCursor;
|
20
20
|
private cursorWrapper;
|
21
21
|
private docCtx;
|
22
|
-
/**
|
23
|
-
* 光标是否可见
|
24
|
-
*/
|
25
|
-
private _cursorVisibility;
|
26
22
|
/**
|
27
23
|
* 光标闪烁状态
|
28
24
|
*/
|
@@ -47,10 +43,6 @@ export declare class DocumentInput {
|
|
47
43
|
onUpEvent: Subject<void>;
|
48
44
|
onDownEvent: Subject<void>;
|
49
45
|
constructor(editInput: HTMLInputElement, editCursor: HTMLSpanElement, cursorWrapper: HTMLDivElement, docCtx: EditorContext);
|
50
|
-
/**
|
51
|
-
* 设置光标闪烁
|
52
|
-
*/
|
53
|
-
startCursorBlinks(): void;
|
54
46
|
destroy(): void;
|
55
47
|
/**
|
56
48
|
* 设置光标闪烁
|
@@ -2,13 +2,12 @@ import { ElementMeasure } from "./element-measure";
|
|
2
2
|
import { ElementPaint } from "./element-paint";
|
3
3
|
import { ElementRenderCut } from "./element-render-cut";
|
4
4
|
import { DocumentRenderObject } from "./impl/document/doc-impl";
|
5
|
-
import {
|
6
|
-
import { Element, SelectionContentRange
|
5
|
+
import { RenderContextType } from "./render-context";
|
6
|
+
import { Element, SelectionContentRange } from "./element-define";
|
7
7
|
import { DocumentContainerRender } from "./impl/document/doc-container-impl";
|
8
8
|
import { CommsContainerRenderObject } from "./impl/comments/comments-container-impl";
|
9
9
|
import { EditorContext } from "./document-context";
|
10
10
|
export declare class DocumentPaint {
|
11
|
-
private viewOptions;
|
12
11
|
private renderContext;
|
13
12
|
private docCtx;
|
14
13
|
private selectedSets;
|
@@ -18,8 +17,25 @@ export declare class DocumentPaint {
|
|
18
17
|
docPages: Array<DocumentRenderObject>;
|
19
18
|
docContainer: DocumentContainerRender;
|
20
19
|
commsContainer: CommsContainerRenderObject;
|
21
|
-
|
20
|
+
private viewOptions;
|
21
|
+
constructor(renderContext: RenderContextType, docCtx: EditorContext, selectedSets: Map<Element, SelectionContentRange>);
|
22
22
|
rePages(): void;
|
23
|
+
/**
|
24
|
+
* 文档页面显示布局
|
25
|
+
* @param pages
|
26
|
+
*/
|
27
|
+
layoutPages(): void;
|
28
|
+
/**
|
29
|
+
* 单页模式:完成文档页断页后,文档页排版
|
30
|
+
* 1.根据页面视图缩放设置
|
31
|
+
* 2.根据页面视窗总宽度,设置页面居中
|
32
|
+
*/
|
33
|
+
private layoutSinglePages;
|
34
|
+
/**
|
35
|
+
* 多页模式
|
36
|
+
* @private
|
37
|
+
*/
|
38
|
+
private layoutMultiPages;
|
23
39
|
/**
|
24
40
|
* 获取设置文档容器的总高度
|
25
41
|
*/
|
@@ -30,5 +46,5 @@ export declare class DocumentPaint {
|
|
30
46
|
/***
|
31
47
|
* 设置审阅区间样式痕迹
|
32
48
|
*/
|
33
|
-
setCommRangeMark
|
49
|
+
private setCommRangeMark;
|
34
50
|
}
|
@@ -3,7 +3,7 @@ import { DocumentPaint } from "./document-paint";
|
|
3
3
|
import { ViewOptions } from "./element-define";
|
4
4
|
import { ElementReader } from "./element-reader";
|
5
5
|
import { DocumentElement, DocumentRenderObject } from "./impl/document/doc-impl";
|
6
|
-
import {
|
6
|
+
import { RenderContextType } from "./render-context";
|
7
7
|
/**
|
8
8
|
* 离屏打印
|
9
9
|
*/
|
@@ -11,23 +11,15 @@ export declare abstract class DocumentPrintOffscreenBase {
|
|
11
11
|
documentPaint: DocumentPaint;
|
12
12
|
viewOptions: ViewOptions;
|
13
13
|
docCtx: EditorContext;
|
14
|
-
renderCtx:
|
14
|
+
renderCtx: RenderContextType;
|
15
15
|
elementReader: ElementReader;
|
16
16
|
constructor();
|
17
17
|
print(data: any | DocumentElement, ranges?: Array<number> | null): Promise<void>;
|
18
|
-
/**
|
19
|
-
* 导出PDF
|
20
|
-
* @param fileName
|
21
|
-
* @param ss
|
22
|
-
* @param viewOptions
|
23
|
-
* @param docCtx
|
24
|
-
* @param ranges
|
25
|
-
*/
|
26
|
-
exportToPDF(data: any | DocumentElement, fileName: string, ranges?: Array<number> | null): Promise<void>;
|
27
18
|
/**
|
28
19
|
* 获取绘制的图片,格式为Base64编码
|
29
20
|
*/
|
30
21
|
getImagesContent(data: any | DocumentElement, ranges?: Array<number> | null): Promise<Array<string>>;
|
22
|
+
getPrintNodes(data: any | DocumentElement, ranges?: Array<number> | null): Promise<Array<any>>;
|
31
23
|
/**
|
32
24
|
* 读取数据,排版
|
33
25
|
* @param data
|
@@ -38,8 +30,10 @@ export declare abstract class DocumentPrintOffscreenBase {
|
|
38
30
|
canvas: HTMLCanvasElement;
|
39
31
|
ctx: CanvasRenderingContext2D;
|
40
32
|
};
|
33
|
+
abstract createRenderCtx(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext): RenderContextType;
|
41
34
|
}
|
42
35
|
export declare class DocumentPrintOffscreen extends DocumentPrintOffscreenBase {
|
36
|
+
createRenderCtx(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext): RenderContextType;
|
43
37
|
createCanvas(width: number, height: number): {
|
44
38
|
canvas: HTMLCanvasElement;
|
45
39
|
ctx: CanvasRenderingContext2D;
|
@@ -21,15 +21,6 @@ export declare class documentPrint {
|
|
21
21
|
* @returns
|
22
22
|
*/
|
23
23
|
static exportCanvasNodes(ss: SelectionState, viewOptions: ViewOptions, docCtx: EditorContext, printRanges?: Array<number> | null): Array<HTMLCanvasElement>;
|
24
|
-
/**
|
25
|
-
* 导出PDF
|
26
|
-
* @param fileName
|
27
|
-
* @param ss
|
28
|
-
* @param viewOptions
|
29
|
-
* @param docCtx
|
30
|
-
* @param printRanges
|
31
|
-
*/
|
32
|
-
static exportPDF(fileName: string, ss: SelectionState, viewOptions: ViewOptions, docCtx: EditorContext, printRanges?: Array<number> | null): void;
|
33
24
|
/**
|
34
25
|
* 当前当前页
|
35
26
|
* @param ss
|
@@ -50,11 +41,10 @@ declare type PrintPaperOptions = {
|
|
50
41
|
* @returns
|
51
42
|
*/
|
52
43
|
export declare function printNodes(printNodes: Array<Node>, options: PrintPaperOptions): void;
|
44
|
+
export {};
|
53
45
|
/**
|
54
46
|
* canvas节点导出到PDF
|
55
47
|
* @param fileName
|
56
48
|
* @param nodes
|
57
49
|
* @param options
|
58
50
|
*/
|
59
|
-
export declare function exportCanvasToPDF(fileName: string, nodes: Array<HTMLCanvasElement>, options: PrintPaperOptions): void;
|
60
|
-
export {};
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { Subject } from "rxjs";
|
2
1
|
import { BranchElement, LeafElement, Rect, Element, SelectionContentRange } from "./element-define";
|
3
2
|
import { HitEventInfo, HitRegion } from "./element-event-define";
|
4
3
|
import { DocumentContainerRender } from "./impl/document/doc-container-impl";
|
5
4
|
import { RenderObject } from "./render-define";
|
5
|
+
import { Subject } from "./event-subject";
|
6
6
|
export declare class DocumentSelection {
|
7
7
|
constructor();
|
8
8
|
selectionState: SelectionState;
|
@@ -57,7 +57,6 @@ export declare class SelectionState {
|
|
57
57
|
editable: boolean;
|
58
58
|
renderContainer: DocumentContainerRender;
|
59
59
|
cursorPos: Rect | null;
|
60
|
-
afterSelectionChanged: ((newVal: SelectionState) => boolean) | null;
|
61
60
|
enableTrackChanges: boolean;
|
62
61
|
constructor();
|
63
62
|
clear(): void;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ViewOptions, Element } from "./element-define";
|
2
|
-
import {
|
2
|
+
import { RenderContextType } from "./render-context";
|
3
3
|
/**
|
4
4
|
* 文字行渲染模式
|
5
5
|
用于医嘱打印模式
|
6
6
|
*/
|
7
|
-
export declare function runTextLineRender(ele: Element, options: ViewOptions, renderCtx:
|
7
|
+
export declare function runTextLineRender(ele: Element, options: ViewOptions, renderCtx: RenderContextType): void;
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import { Subject, Subscription } from "rxjs";
|
2
1
|
import { ElementEvent, EventTypes } from "./element-event-define";
|
3
|
-
import {
|
2
|
+
import { RenderContextType } from "./render-context";
|
4
3
|
import { CursorType, LeafRenderObject, RenderObject } from "./render-define";
|
4
|
+
import { Subject, Subscription } from "./event-subject";
|
5
5
|
export declare class Rect {
|
6
6
|
x: number;
|
7
7
|
y: number;
|
@@ -57,6 +57,8 @@ export declare abstract class Element<P extends object = any> {
|
|
57
57
|
* 2.编辑页眉页脚的能力
|
58
58
|
*/
|
59
59
|
disableClick: boolean;
|
60
|
+
disposed: boolean;
|
61
|
+
loaded: boolean;
|
60
62
|
private _parent;
|
61
63
|
get parent(): BranchElement;
|
62
64
|
set parent(val: BranchElement);
|
@@ -65,11 +67,11 @@ export declare abstract class Element<P extends object = any> {
|
|
65
67
|
set props(value: P);
|
66
68
|
private notifyChanged;
|
67
69
|
constructor(type: string);
|
68
|
-
abstract createRenderObject(options: ViewOptions, renderCtx:
|
70
|
+
abstract createRenderObject(options: ViewOptions, renderCtx: RenderContextType): RenderObject | null;
|
69
71
|
abstract serialize(viewOptions: ViewOptions): SerializeProps | null;
|
70
72
|
abstract clone(data: boolean): Element;
|
71
73
|
abstract getChildLength(): number;
|
72
|
-
abstract getSelfLength(): number;
|
74
|
+
abstract getSelfLength(pure: boolean): number;
|
73
75
|
destroy(): void;
|
74
76
|
addEvent<T extends ElementEvent>(event: EventTypes, handle: (evt: T) => void, useCapture?: boolean): string;
|
75
77
|
removeEvent(eventId: string): void;
|
@@ -95,7 +97,7 @@ export declare abstract class LeafElement<P extends object = any> extends Elemen
|
|
95
97
|
cursorType: CursorType;
|
96
98
|
getChildLength(): number;
|
97
99
|
destroy(): void;
|
98
|
-
getSelfLength(): number;
|
100
|
+
getSelfLength(pure: boolean): number;
|
99
101
|
pubOnChange(selfChange: pubChangeType): void;
|
100
102
|
}
|
101
103
|
/**
|
@@ -115,7 +117,7 @@ export declare abstract class BranchElement<P extends object = any> extends Elem
|
|
115
117
|
getChild<T extends Element = Element>(index: number): T;
|
116
118
|
getChildIndex(child: Element): number;
|
117
119
|
getChildLength(): number;
|
118
|
-
getSelfLength(): number;
|
120
|
+
getSelfLength(pure: boolean): number;
|
119
121
|
treeFilter(predicate: (item: Element, index: number) => boolean): Array<Element>;
|
120
122
|
treeFind(predicate: (item: Element, index: number) => boolean): Element | null;
|
121
123
|
pubOnChange(selfChange: pubChangeType): void;
|
@@ -145,7 +147,8 @@ export interface readElementProps<T> {
|
|
145
147
|
export declare abstract class ElementFactory<T = null> {
|
146
148
|
options: ViewOptions;
|
147
149
|
abstract match(type: string): boolean;
|
148
|
-
abstract createElement(data: readElementProps<T>, renderCtx:
|
150
|
+
abstract createElement(data: readElementProps<T>, renderCtx: RenderContextType): Element;
|
151
|
+
readCompleted(ele: Element, children: Array<Element>): void;
|
149
152
|
}
|
150
153
|
export interface SelectionContentRange {
|
151
154
|
target: Element;
|
@@ -239,9 +242,10 @@ export declare class ViewOptions {
|
|
239
242
|
devMode: boolean;
|
240
243
|
showDebug: boolean;
|
241
244
|
resourceMode: 'lazy' | 'immediate';
|
242
|
-
serverMode: boolean;
|
243
245
|
secretBrowse: boolean;
|
244
246
|
chineseLayout: boolean;
|
247
|
+
enableTrackHistory: boolean;
|
248
|
+
trackHistoryMaxLength: number;
|
245
249
|
private _fullPageView;
|
246
250
|
get fullPageView(): boolean;
|
247
251
|
set fullPageView(value: boolean);
|
@@ -254,7 +258,9 @@ export declare class ViewOptions {
|
|
254
258
|
height: number;
|
255
259
|
};
|
256
260
|
pageNumFormat: string;
|
257
|
-
|
261
|
+
pageNumOffset: number;
|
262
|
+
pageLayoutMode: 'singlePage' | 'multiPage' | 'fit-page';
|
263
|
+
get contentWidth(): number;
|
258
264
|
/**
|
259
265
|
* 内容区域的高度
|
260
266
|
* 同时限定canvas的最小宽度
|
@@ -269,7 +275,6 @@ export declare class ViewOptions {
|
|
269
275
|
get scale(): number;
|
270
276
|
set scale(val: number);
|
271
277
|
docMode: DocMode;
|
272
|
-
enableUndo: boolean;
|
273
278
|
private _showTrackChanges;
|
274
279
|
get showTrackChanges(): boolean;
|
275
280
|
set showTrackChanges(value: boolean);
|
@@ -317,3 +322,6 @@ export interface ICancelTokenFn {
|
|
317
322
|
cancel?: () => void;
|
318
323
|
onFinish?: () => void;
|
319
324
|
}
|
325
|
+
declare type IVoidFn = () => void;
|
326
|
+
export declare function onceTask(fn: IVoidFn): IVoidFn;
|
327
|
+
export {};
|
@@ -3,7 +3,7 @@ import { FillNullSpaceRenderObject } from "./impl/decorate/fill-null-space-imple
|
|
3
3
|
import { DocumentElement, DocumentRenderObject } from "./impl/document/doc-impl";
|
4
4
|
import { ParagraphElement, ParagraphLineRectRenderObject, ParagraphRenderObject } from "./impl/paragraph/p-impl";
|
5
5
|
import { TextGroupRenderObject } from "./impl/text/text-impl";
|
6
|
-
import {
|
6
|
+
import { RenderContextType } from "./render-context";
|
7
7
|
import { InlineGroupRenderObject, RenderObject } from "./render-define";
|
8
8
|
interface ICutLineData {
|
9
9
|
firstItem: RenderObject | null;
|
@@ -16,7 +16,7 @@ interface ICutLineData {
|
|
16
16
|
export declare class ElementMeasure {
|
17
17
|
private options;
|
18
18
|
private renderCtx;
|
19
|
-
constructor(options: ViewOptions, renderCtx:
|
19
|
+
constructor(options: ViewOptions, renderCtx: RenderContextType);
|
20
20
|
measureDocument(document: DocumentElement): DocumentRenderObject;
|
21
21
|
measureControl(element: Element, maxWidth: number): RenderObject | null;
|
22
22
|
/**
|
@@ -1,20 +1,22 @@
|
|
1
|
-
import {
|
2
|
-
import { Element,
|
3
|
-
import {
|
4
|
-
import { DocumentContainerRender } from "./impl
|
5
|
-
import { CommentElement } from "./impl
|
6
|
-
import { CommsContainerRenderObject } from "./impl
|
1
|
+
import { RenderContextType } from "./render-context";
|
2
|
+
import { Element, Position, SelectionContentRange, ViewOptions } from "./element-define";
|
3
|
+
import { RenderObject } from "./render-define";
|
4
|
+
import { DocumentContainerRender } from "./impl";
|
5
|
+
import { CommentElement } from "./impl";
|
6
|
+
import { CommsContainerRenderObject } from "./impl";
|
7
|
+
import { EditorContext } from "./document-context";
|
7
8
|
export interface PrintOptions {
|
8
9
|
beforePrintPage: (pageIndex: number, pageCount: number) => void;
|
9
10
|
afterPrintPage: (pageIndex: number, pageCount: number) => void;
|
10
11
|
}
|
11
12
|
export declare class ElementPaint {
|
12
|
-
private viewOptions;
|
13
13
|
private renderCtx;
|
14
|
+
private docCtx;
|
14
15
|
private selectedSets;
|
15
16
|
private measureCommContainer;
|
16
17
|
private rePaint;
|
17
|
-
|
18
|
+
viewOptions: ViewOptions;
|
19
|
+
constructor(renderCtx: RenderContextType, docCtx: EditorContext);
|
18
20
|
paintCommMap: Array<{
|
19
21
|
ele: CommentElement;
|
20
22
|
render: RenderObject;
|
@@ -33,10 +35,8 @@ export declare class ElementPaint {
|
|
33
35
|
x: number;
|
34
36
|
y: number;
|
35
37
|
}): void;
|
36
|
-
static drawPage(renderCtx:
|
38
|
+
static drawPage(renderCtx: RenderContextType, docCtx: EditorContext, renderObject: RenderObject, parent: {
|
37
39
|
x: number;
|
38
40
|
y: number;
|
39
41
|
}): void;
|
40
|
-
getLeafElementPaintMap(element: LeafElement, shadowRenderIndex?: number): LeafRenderObject;
|
41
|
-
getShadowRenderIndex(element: LeafElement, render: LeafRenderObject): number;
|
42
42
|
}
|
@@ -3,10 +3,10 @@ import { TrackRunTypeEnum } from "./impl/text/track-run-impl";
|
|
3
3
|
export declare type TextVertAlign = 'superscript' | 'subscript';
|
4
4
|
export declare abstract class INotifyPropertyChanged {
|
5
5
|
abstract getSerializeProps(viewOptions: ViewOptions): any;
|
6
|
-
private
|
7
|
-
|
6
|
+
private __attachedProperty;
|
7
|
+
setProperty<T>(propertyName: string, value: T): void;
|
8
8
|
removeProperty(propertyName: string): void;
|
9
|
-
getProperty<T>(propertyName: string): T;
|
9
|
+
getProperty<T>(propertyName: string): T | null;
|
10
10
|
}
|
11
11
|
export declare class TextProps extends INotifyPropertyChanged {
|
12
12
|
constructor();
|
@@ -89,21 +89,19 @@ export declare class TableRowProps extends INotifyPropertyChanged {
|
|
89
89
|
}
|
90
90
|
export declare type TableAlignment = 'start' | 'end' | 'center';
|
91
91
|
export declare class TableProps extends INotifyPropertyChanged {
|
92
|
+
id: string;
|
92
93
|
width: number | string;
|
93
|
-
cols: Array<
|
94
|
-
width: number | string;
|
95
|
-
}>;
|
94
|
+
cols: Array<number | string>;
|
96
95
|
alignment: TableAlignment;
|
97
96
|
border: 'all' | 'none';
|
98
97
|
allowBreakRow: boolean;
|
99
98
|
clone(dest: TableProps): TableProps;
|
100
99
|
getSerializeProps(viewOptions: ViewOptions): {
|
100
|
+
id: string;
|
101
101
|
width: string | number;
|
102
|
-
cols:
|
103
|
-
width: string | number;
|
104
|
-
}[];
|
102
|
+
cols: (string | number)[];
|
105
103
|
alignment: TableAlignment;
|
106
|
-
border: "
|
104
|
+
border: "none" | "all";
|
107
105
|
};
|
108
106
|
}
|
109
107
|
export declare type CellMergeType = 'col-merge' | 'row-merge';
|
@@ -1,19 +1,16 @@
|
|
1
1
|
import { EditorContext } from "./document-context";
|
2
|
-
import { ElementFactory, Element
|
2
|
+
import { ElementFactory, Element } from "./element-define";
|
3
3
|
import { DocumentElement } from "./impl/document/doc-impl";
|
4
|
-
import {
|
4
|
+
import { RenderContextType } from "./render-context";
|
5
5
|
export declare class ElementReader {
|
6
6
|
private docCtx;
|
7
|
-
private viewOptions;
|
8
7
|
private renderCtx;
|
9
|
-
constructor(docCtx: EditorContext,
|
8
|
+
constructor(docCtx: EditorContext, renderCtx: RenderContextType);
|
10
9
|
factories: Array<ElementFactory>;
|
11
10
|
addFactory<U extends null | object, T extends ElementFactory<U>>(c: new () => T): void;
|
12
11
|
private initFactory;
|
13
12
|
read(data: any | DocumentElement): void;
|
14
13
|
setDocument(document: DocumentElement): void;
|
15
14
|
readElement(data: any): Element;
|
16
|
-
propsReadFuncs: Map<string, (data: any) => any>;
|
17
|
-
registerReadFunc<T>(propName: string, func: (data: T) => T): void;
|
18
15
|
readExtendsProps(data: any, element: Element): void;
|
19
16
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { DocumentBodyRenderObject } from "./impl/document/doc-body-impl";
|
2
2
|
import { DocumentElement, DocumentRenderObject } from "./impl/document/doc-impl";
|
3
|
-
import {
|
3
|
+
import { RenderContextType } from "./render-context";
|
4
4
|
import { BlockContentRenderObject } from "./render-define";
|
5
5
|
import { Rect, ViewOptions } from "./element-define";
|
6
6
|
import { TableRowRenderObject } from "./impl/table/table-row-impl";
|
@@ -9,7 +9,7 @@ import { TableRenderObject } from "./impl/table/table-impl";
|
|
9
9
|
export declare class ElementRenderCut {
|
10
10
|
private options;
|
11
11
|
private renderContext;
|
12
|
-
constructor(options: ViewOptions, renderContext:
|
12
|
+
constructor(options: ViewOptions, renderContext: RenderContextType);
|
13
13
|
cutPage(documentRender: DocumentRenderObject, documentElement: DocumentElement): Array<DocumentRenderObject>;
|
14
14
|
private checkPageBreak;
|
15
15
|
getFullViewDocRender(documentRender: DocumentRenderObject, documentElement: DocumentElement): Array<DocumentRenderObject>;
|
@@ -0,0 +1,97 @@
|
|
1
|
+
import { EditorContext } from './document-context';
|
2
|
+
import { Element } from './element-define';
|
3
|
+
import { ElementReader } from './element-reader';
|
4
|
+
import { DeleteEleOpsDelta, DeleteTextOpsDelta, FormatOpsDelta, InsertOpsDelta, InsertTextOpsDelta, opsTrackModel } from './element-trace-tracking';
|
5
|
+
declare type HistoryCommand = 'undo' | 'redo';
|
6
|
+
declare type HistoryChanges = {
|
7
|
+
date: Date;
|
8
|
+
ops: Array<opsTrackModel>;
|
9
|
+
beforeSelection: SelectionLog | null;
|
10
|
+
afterSelection: SelectionLog | null;
|
11
|
+
};
|
12
|
+
/**
|
13
|
+
* 处理撤销回滚等行为
|
14
|
+
*/
|
15
|
+
export declare class ElementTrackManage {
|
16
|
+
docCtx: EditorContext;
|
17
|
+
reader: ElementReader;
|
18
|
+
actions: Array<HistoryChanges>;
|
19
|
+
index: number;
|
20
|
+
selectionLog: SelectionLog | null;
|
21
|
+
constructor(docCtx: EditorContext, reader: ElementReader);
|
22
|
+
/**
|
23
|
+
* 生成变更之前的选区数据
|
24
|
+
*/
|
25
|
+
generateSelectionLog(): void;
|
26
|
+
clear(): void;
|
27
|
+
/**
|
28
|
+
* 生成留痕的信息
|
29
|
+
*/
|
30
|
+
generateTrack(): void;
|
31
|
+
private getSelection;
|
32
|
+
/**
|
33
|
+
* 执行撤销
|
34
|
+
*/
|
35
|
+
undo(): void;
|
36
|
+
/**
|
37
|
+
* 是否可以撤销
|
38
|
+
*/
|
39
|
+
get canUndo(): boolean;
|
40
|
+
/**
|
41
|
+
* 是否可以重做
|
42
|
+
*/
|
43
|
+
get canRedo(): boolean;
|
44
|
+
/**
|
45
|
+
* 执行重做
|
46
|
+
*/
|
47
|
+
redo(): void;
|
48
|
+
private executeCommand;
|
49
|
+
/**
|
50
|
+
* 还原光标
|
51
|
+
* @param ssLog
|
52
|
+
* @returns
|
53
|
+
*/
|
54
|
+
restoreSelection(ssLog: SelectionLog | null): void;
|
55
|
+
/**
|
56
|
+
* 撤销文本输入操作
|
57
|
+
*/
|
58
|
+
commandForInsertTextOp(command: HistoryCommand, data: opsTrackModel<InsertTextOpsDelta>): void;
|
59
|
+
/**
|
60
|
+
* 撤销文本删除操作
|
61
|
+
* @param command
|
62
|
+
* @param data
|
63
|
+
*/
|
64
|
+
commandForDeleteTextOp(command: HistoryCommand, data: opsTrackModel<DeleteTextOpsDelta>): void;
|
65
|
+
/**
|
66
|
+
* 撤销元素属性修改操作
|
67
|
+
*/
|
68
|
+
commandForEleFormat(command: HistoryCommand, data: opsTrackModel<FormatOpsDelta>): void;
|
69
|
+
/**
|
70
|
+
* 撤销删除元素的操作
|
71
|
+
* @param command
|
72
|
+
* @param data
|
73
|
+
*/
|
74
|
+
commandForDeleteEleOp(command: HistoryCommand, data: opsTrackModel<DeleteEleOpsDelta>): void;
|
75
|
+
/**
|
76
|
+
* 撤销插入的元素
|
77
|
+
* @param command
|
78
|
+
* @param data
|
79
|
+
*/
|
80
|
+
commandForInsertEleOp(command: HistoryCommand, data: opsTrackModel<InsertOpsDelta>): void;
|
81
|
+
private restoreToInsert;
|
82
|
+
/**
|
83
|
+
* 更新属性
|
84
|
+
* @param currProps
|
85
|
+
* @param newProps
|
86
|
+
*/
|
87
|
+
updateProps(currProps: object, newProps: object): void;
|
88
|
+
getControl<T extends Element>(index: number, pure?: boolean): T;
|
89
|
+
}
|
90
|
+
interface SelectionLog {
|
91
|
+
startIndex: number;
|
92
|
+
startOffset: number;
|
93
|
+
endIndex: number;
|
94
|
+
endOffset: number;
|
95
|
+
editable: boolean;
|
96
|
+
}
|
97
|
+
export {};
|