@hailin-zheng/editor-core 2.1.28 → 2.2.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/editor.css +17 -3
- package/index-cjs.d.ts +12 -12
- package/index-cjs.js +574 -1074
- package/index-cjs.js.map +1 -1
- package/index.d.ts +12 -12
- package/index.js +594 -1093
- package/index.js.map +1 -1
- package/med_editor/doc-editor.d.ts +10 -6
- package/med_editor/doc-rule.d.ts +1 -1
- package/med_editor/editor-core.d.ts +1 -1
- package/med_editor/framework/{document-eval-func.d.ts → code-interpreter/document-eval-func.d.ts} +1 -1
- package/med_editor/framework/{dynamic-execute.d.ts → code-interpreter/dynamic-execute.d.ts} +3 -3
- package/med_editor/framework/{document-arrange.d.ts → doc-layout/document-arrange.d.ts} +7 -12
- package/med_editor/framework/{paragraph-arrange.d.ts → doc-layout/paragraph-arrange.d.ts} +5 -5
- package/med_editor/framework/document-change.d.ts +1 -1
- package/med_editor/framework/document-context.d.ts +5 -12
- package/med_editor/framework/document-event.d.ts +3 -14
- package/med_editor/framework/document-input-cursor.d.ts +1 -1
- package/med_editor/framework/document-paginator.d.ts +1 -7
- package/med_editor/framework/document-svg.d.ts +12 -8
- package/med_editor/framework/element-define.d.ts +3 -9
- package/med_editor/framework/element-event-define.d.ts +2 -2
- package/med_editor/framework/element-props.d.ts +1 -1
- package/med_editor/framework/element-serialize.d.ts +1 -1
- package/med_editor/framework/{element-trace-manage.d.ts → history/element-trace-manage.d.ts} +3 -2
- package/med_editor/framework/{element-trace-tracking.d.ts → history/element-trace-tracking.d.ts} +2 -2
- package/med_editor/framework/impl/document/doc-impl.d.ts +1 -11
- package/med_editor/framework/impl/index.d.ts +0 -1
- package/med_editor/framework/impl/table/table-split-cell.d.ts +1 -1
- package/med_editor/framework/impl/table/table-util.d.ts +1 -1
- package/med_editor/framework/impl/text/track-run-impl.d.ts +2 -2
- package/med_editor/framework/{document-print-offscreen.d.ts → print/document-print-offscreen.d.ts} +8 -8
- package/med_editor/framework/{document-print.d.ts → print/document-print.d.ts} +1 -1
- package/med_editor/framework/{document-selection.d.ts → selection/document-selection.d.ts} +5 -5
- package/med_editor/framework/{range-util.d.ts → selection/range-util.d.ts} +2 -2
- package/med_editor/framework/{selection-overlays.d.ts → selection/selection-overlays.d.ts} +1 -1
- package/med_editor/framework/util/adjust-viewport-elements.d.ts +12 -0
- package/med_editor/framework/{common-util.d.ts → util/common-util.d.ts} +2 -2
- package/med_editor/framework/{document-segmenter.d.ts → util/document-segmenter.d.ts} +1 -1
- package/med_editor/framework/{element-util.d.ts → util/element-util.d.ts} +13 -12
- package/med_editor/framework/{editor-calendar-vnode.d.ts → vnode/editor-calendar-vnode.d.ts} +4 -4
- package/package.json +2 -2
- package/controls/ButtonBase.d.ts +0 -10
- package/controls/Canvas.d.ts +0 -7
- package/controls/Config.d.ts +0 -12
- package/controls/FlexBox.d.ts +0 -81
- package/controls/Input.d.ts +0 -33
- package/controls/MedTimeLine/TimeAxis.d.ts +0 -21
- package/controls/MedTimeLine/TimeSlider.d.ts +0 -19
- package/controls/Menu.d.ts +0 -31
- package/controls/Node.d.ts +0 -232
- package/controls/NodeEvent.d.ts +0 -138
- package/controls/Rect.d.ts +0 -4
- package/controls/ScrollView.d.ts +0 -57
- package/controls/StackPanel.d.ts +0 -27
- package/controls/SurfaceView.d.ts +0 -44
- package/controls/Text.d.ts +0 -46
- package/controls/TextBase.d.ts +0 -19
- package/controls/ViewPaint.d.ts +0 -64
- package/controls/Window.d.ts +0 -27
- package/controls/WrapPanel.d.ts +0 -10
- package/controls/event-subject.d.ts +0 -42
- package/med_editor/framework/impl/comments/comments-util.d.ts +0 -5
- package/med_editor/rule-control.d.ts +0 -66
- package/timeline/TimeLineControl.d.ts +0 -47
- package/timeline/TimeValueGridControl.d.ts +0 -106
- package/timeline/TimelineConfig.d.ts +0 -68
- package/timeline/TimelineScrollbar.d.ts +0 -25
- package/timeline/TimelineStatus.d.ts +0 -61
- package/timeline/TimelineTick.d.ts +0 -63
- package/timeline/example.d.ts +0 -2
- /package/med_editor/framework/{ast-parser.d.ts → code-interpreter/ast-parser.d.ts} +0 -0
- /package/med_editor/framework/{event-subject.d.ts → infrastructure/event-subject.d.ts} +0 -0
- /package/med_editor/framework/{notify.d.ts → infrastructure/notify.d.ts} +0 -0
package/controls/Config.d.ts
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
export declare const ViewConfig: {
|
2
|
-
surfaceBgColor: string;
|
3
|
-
showMousePositionLine: boolean;
|
4
|
-
primaryColor: string;
|
5
|
-
onPrimaryColor: string;
|
6
|
-
themeSecondaryColor: string;
|
7
|
-
bgShadowBlur: number;
|
8
|
-
bgShadowColor: string;
|
9
|
-
textPrimaryColor: string;
|
10
|
-
textSecondaryColor: string;
|
11
|
-
buttonBgColor: string;
|
12
|
-
};
|
package/controls/FlexBox.d.ts
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
import { IArrangeEvent, IMeasureEvent, IRenderData, NodeCore, NodeItems, Rect, Size } from "./Node";
|
2
|
-
export declare class FlexBox extends NodeItems {
|
3
|
-
/**
|
4
|
-
* 轴线方向
|
5
|
-
*/
|
6
|
-
flexDirection: 'row' | 'column';
|
7
|
-
/**
|
8
|
-
* 当主轴方向无法放置主元素时是否换行显示
|
9
|
-
*/
|
10
|
-
flexWrap: 'no' | 'wrap';
|
11
|
-
/**
|
12
|
-
* 定义元素在主轴方向如果有剩余空间时,如何排列子元素
|
13
|
-
* 重要:如果容器禁止换行,而且内容超出主轴尺寸,justify-content会有影响
|
14
|
-
* flex-start:从主轴方向默认从左向右排列
|
15
|
-
* center:主轴方向居中
|
16
|
-
* flex-end:主轴方向从右向左排列
|
17
|
-
* space-between:除掉首尾元素,剩余空间执行->space-evenly算法
|
18
|
-
* space-around:主轴剩余的空间除以(元素数量*2),均分到每个元素左右两侧
|
19
|
-
* space-evenly:主轴剩余的空间除以(元素数量+1),均分到每个元素中间;类似space-between,但是不排除首尾元素
|
20
|
-
*/
|
21
|
-
justifyContent: 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch';
|
22
|
-
/**
|
23
|
-
* 定义交叉轴上元素的排列,算法与justifyContent一致
|
24
|
-
* 重要:所有行的垂轴是同样的
|
25
|
-
* 该属性对单行弹性盒子模型无效。(即:带有 flex-wrap: nowrap)
|
26
|
-
* stretch:交叉轴方向拉伸元素大小适应"当前行",如果项目设定了尺寸,则项目属性尺寸的优先级最高,该属性不生效
|
27
|
-
*/
|
28
|
-
alignContent: 'normal' | 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch';
|
29
|
-
/**
|
30
|
-
* 作用类似alignContent
|
31
|
-
* 重要:每一行的垂轴对应到每一行
|
32
|
-
*/
|
33
|
-
alignItems: 'flex-start' | 'center' | 'flex-end' | 'stretch';
|
34
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
35
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
36
|
-
render(e: IRenderData): void;
|
37
|
-
/**
|
38
|
-
* 预先测量所有元素
|
39
|
-
*/
|
40
|
-
private preMeasureItems;
|
41
|
-
/**
|
42
|
-
* 预先测量轴线方向为row
|
43
|
-
*/
|
44
|
-
private measureRow;
|
45
|
-
private arrangeRow;
|
46
|
-
/**
|
47
|
-
* 横轴排版,排版每行内子项的X
|
48
|
-
* @param lines
|
49
|
-
* @param finalSize
|
50
|
-
*/
|
51
|
-
arrangeJustifyContent(lines: Array<MainAxisLine>, finalSize: Size): void;
|
52
|
-
private arrangeAlignItems;
|
53
|
-
/**
|
54
|
-
* 获取行
|
55
|
-
*/
|
56
|
-
private getRowLines;
|
57
|
-
/**
|
58
|
-
* 排版行
|
59
|
-
* @private
|
60
|
-
*/
|
61
|
-
private arrangeRowLines;
|
62
|
-
private arrangeItems;
|
63
|
-
private preMeasureColumn;
|
64
|
-
}
|
65
|
-
/**
|
66
|
-
* 主轴线
|
67
|
-
*/
|
68
|
-
interface MainAxisLine {
|
69
|
-
height: number;
|
70
|
-
width: number;
|
71
|
-
maxItemWidth: number;
|
72
|
-
maxItemHeight: number;
|
73
|
-
items: Array<ItemPreArrangeRect>;
|
74
|
-
x: number;
|
75
|
-
y: number;
|
76
|
-
}
|
77
|
-
interface ItemPreArrangeRect {
|
78
|
-
node: NodeCore;
|
79
|
-
finalRect: Rect;
|
80
|
-
}
|
81
|
-
export {};
|
package/controls/Input.d.ts
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
import { TextSelectionRange } from "./Text";
|
2
|
-
import { IOnMousedownEvent, IOnMousemoveEvent } from "./NodeEvent";
|
3
|
-
import { IRenderData } from "./Node";
|
4
|
-
import { TextBase } from "./TextBase";
|
5
|
-
export declare class InputCore extends TextBase {
|
6
|
-
selectionRange: TextSelectionRange | null;
|
7
|
-
lines: Array<TextLine>;
|
8
|
-
constructor();
|
9
|
-
private input;
|
10
|
-
private onBackspaceHandler;
|
11
|
-
focus(): void;
|
12
|
-
blur(): void;
|
13
|
-
onMousedownHandler(evt: IOnMousedownEvent): void;
|
14
|
-
onMousedownMoveHandler(evt: IOnMousemoveEvent): void;
|
15
|
-
private getClickTextOffset;
|
16
|
-
/**
|
17
|
-
* 绘制光标
|
18
|
-
* @private
|
19
|
-
*/
|
20
|
-
private drawCaret;
|
21
|
-
private getCaretPos;
|
22
|
-
render(e: IRenderData): void;
|
23
|
-
}
|
24
|
-
interface TextLine {
|
25
|
-
width: number;
|
26
|
-
height: number;
|
27
|
-
x: number;
|
28
|
-
y: number;
|
29
|
-
lineUnits: Array<{
|
30
|
-
sourceSize: number;
|
31
|
-
}>;
|
32
|
-
}
|
33
|
-
export {};
|
@@ -1,21 +0,0 @@
|
|
1
|
-
import { IArrangeEvent, IMeasureEvent, IRenderData, NodeCore, NodeItems, Size } from "../Node";
|
2
|
-
export declare class TimeAxis extends NodeItems {
|
3
|
-
get startDate(): Date;
|
4
|
-
set startDate(value: Date);
|
5
|
-
get endDate(): Date;
|
6
|
-
set endDate(value: Date);
|
7
|
-
dataPoints: Array<TimeAxisPoint>;
|
8
|
-
private _startDate;
|
9
|
-
private _endDate;
|
10
|
-
constructor();
|
11
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
12
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
13
|
-
render(e: IRenderData): void;
|
14
|
-
}
|
15
|
-
export declare class TimeAxisPoint extends NodeCore {
|
16
|
-
xTime: Date;
|
17
|
-
yValue: number;
|
18
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
19
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
20
|
-
render(e: IRenderData): void;
|
21
|
-
}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import { IArrangeEvent, IMeasureEvent, IRenderData, NodeItems, Size } from "../Node";
|
2
|
-
import { ButtonBase } from "../ButtonBase";
|
3
|
-
export declare class TimeSlider extends NodeItems {
|
4
|
-
leftButton: TimeSlideButton;
|
5
|
-
rightButton: TimeSlideButton;
|
6
|
-
constructor();
|
7
|
-
get startDate(): Date;
|
8
|
-
set startDate(value: Date);
|
9
|
-
get endDate(): Date;
|
10
|
-
set endDate(value: Date);
|
11
|
-
private _startDate;
|
12
|
-
private _endDate;
|
13
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
14
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
15
|
-
render(e: IRenderData): void;
|
16
|
-
}
|
17
|
-
export declare class TimeSlideButton extends ButtonBase {
|
18
|
-
render(e: IRenderData): void;
|
19
|
-
}
|
package/controls/Menu.d.ts
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
import { IArrangeEvent, IMeasureEvent, IRenderData, NodeItems, Size } from "./Node";
|
2
|
-
import { LabelNode } from "./Text";
|
3
|
-
export declare class Menu extends NodeItems {
|
4
|
-
isFocused: boolean;
|
5
|
-
constructor();
|
6
|
-
/**
|
7
|
-
* 关闭所有的菜单
|
8
|
-
* @private
|
9
|
-
*/
|
10
|
-
private closeAllMenu;
|
11
|
-
private switchMenuContainerVisible;
|
12
|
-
protected measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
13
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
14
|
-
render(e: IRenderData): void;
|
15
|
-
}
|
16
|
-
export declare class MenuItem extends NodeItems {
|
17
|
-
headerText: LabelNode;
|
18
|
-
menuContainer: MenuContainer;
|
19
|
-
constructor();
|
20
|
-
setMenuContainerVisible(visible: boolean): void;
|
21
|
-
getMenuContainerVisible(): boolean;
|
22
|
-
protected measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
23
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
24
|
-
render(e: IRenderData): void;
|
25
|
-
}
|
26
|
-
export declare class MenuContainer extends NodeItems {
|
27
|
-
protected measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
28
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
29
|
-
preRender(e: IRenderData): boolean;
|
30
|
-
render(e: IRenderData): void;
|
31
|
-
}
|
package/controls/Node.d.ts
DELETED
@@ -1,232 +0,0 @@
|
|
1
|
-
import { Subject, Subscription } from "./event-subject";
|
2
|
-
import { SurfaceView } from "./SurfaceView";
|
3
|
-
import { EventMap, EventTypes, IOnChangedEvent, ListenerEventData, ListenerFunc, NodeEvent, PercentType } from "./NodeEvent";
|
4
|
-
import { Position } from "../med_editor/framework/element-define";
|
5
|
-
import { ViewPaint } from "./ViewPaint";
|
6
|
-
export interface Size {
|
7
|
-
width: number;
|
8
|
-
height: number;
|
9
|
-
}
|
10
|
-
export interface Rect extends Size {
|
11
|
-
x: number;
|
12
|
-
y: number;
|
13
|
-
}
|
14
|
-
export declare enum ModifyFlag {
|
15
|
-
None = 0,
|
16
|
-
Modify = 1,
|
17
|
-
Track = 2
|
18
|
-
}
|
19
|
-
export interface AttachedPropType {
|
20
|
-
StackPanel_VerticalAlignment: 'top' | 'bottom' | 'center' | 'stretch';
|
21
|
-
StackPanel_HorizontalAlignment: 'left' | 'right' | 'center' | 'stretch';
|
22
|
-
}
|
23
|
-
export declare type AttachedKey = keyof AttachedPropType;
|
24
|
-
export declare type AttachedKeyPairValueType<T extends AttachedKey> = AttachedPropType[T];
|
25
|
-
export declare type CursorType = 'text' | 'row-resize' | 'col-resize' | 'none' | 'default' | 'move' | 'pointer' | 'w-resize' | 's-resize' | 'se-resize' | 'ne-resize' | 'nwse-resize' | 'nesw-resize';
|
26
|
-
export declare type OutLineStyle = 'none' | 'solid' | 'dashed';
|
27
|
-
export interface IMeasureEvent {
|
28
|
-
render: ViewPaint;
|
29
|
-
}
|
30
|
-
export interface IArrangeEvent {
|
31
|
-
render: ViewPaint;
|
32
|
-
}
|
33
|
-
export interface IAppState {
|
34
|
-
pos: Position;
|
35
|
-
mousedown: boolean;
|
36
|
-
mousedownPos: Position;
|
37
|
-
sourceNode: NodeCore | null;
|
38
|
-
sourceNodePos: Position;
|
39
|
-
sourceHitPos: Position;
|
40
|
-
surface: SurfaceView;
|
41
|
-
}
|
42
|
-
export declare abstract class NodeCore {
|
43
|
-
enableClip: boolean;
|
44
|
-
pointEvent: boolean;
|
45
|
-
allowHitTest: boolean;
|
46
|
-
hitTest(hitPos: Position, currPos: Position): boolean;
|
47
|
-
get enable(): boolean;
|
48
|
-
set enable(value: boolean);
|
49
|
-
private _enable;
|
50
|
-
enableFocus: boolean;
|
51
|
-
isFocused: boolean;
|
52
|
-
get cursor(): CursorType;
|
53
|
-
set cursor(value: CursorType);
|
54
|
-
private _cursor;
|
55
|
-
get visible(): boolean;
|
56
|
-
set visible(value: boolean);
|
57
|
-
private _visible;
|
58
|
-
get borderRadius(): number;
|
59
|
-
set borderRadius(value: number);
|
60
|
-
get width(): number | PercentType;
|
61
|
-
set width(value: number | PercentType);
|
62
|
-
get height(): number | PercentType;
|
63
|
-
set height(value: number | PercentType);
|
64
|
-
get x(): number;
|
65
|
-
set x(value: number);
|
66
|
-
get y(): number;
|
67
|
-
set y(value: number);
|
68
|
-
private _minWidth;
|
69
|
-
private _minHeight;
|
70
|
-
get minWidth(): number;
|
71
|
-
set minWidth(value: number);
|
72
|
-
get minHeight(): number;
|
73
|
-
set minHeight(value: number);
|
74
|
-
get bgColor(): string;
|
75
|
-
set bgColor(value: string);
|
76
|
-
private _border;
|
77
|
-
get border(): number;
|
78
|
-
set border(value: number);
|
79
|
-
private _padding;
|
80
|
-
get padding(): number;
|
81
|
-
set padding(value: number);
|
82
|
-
private _borderRadius;
|
83
|
-
private _borderColor;
|
84
|
-
get borderColor(): string;
|
85
|
-
set borderColor(value: string);
|
86
|
-
private _shadowBlur;
|
87
|
-
private _shadowColor;
|
88
|
-
get shadowBlur(): number;
|
89
|
-
set shadowBlur(value: number);
|
90
|
-
get shadowColor(): string;
|
91
|
-
set shadowColor(value: string);
|
92
|
-
private _isMouseenter;
|
93
|
-
get isMouseenter(): boolean;
|
94
|
-
set isMouseenter(value: boolean);
|
95
|
-
private _overflowHidden;
|
96
|
-
get overflowHidden(): boolean;
|
97
|
-
set overflowHidden(value: boolean);
|
98
|
-
outlineColor: string;
|
99
|
-
outlineStyle: OutLineStyle;
|
100
|
-
outlineWidth: number;
|
101
|
-
protected _width: number | PercentType;
|
102
|
-
protected _height: number | PercentType;
|
103
|
-
protected _x: number;
|
104
|
-
protected _y: number;
|
105
|
-
desiredSize: Size;
|
106
|
-
renderSize: Size;
|
107
|
-
finalRect: Rect;
|
108
|
-
protected _bgColor: string;
|
109
|
-
protected _modifyFlag: ModifyFlag;
|
110
|
-
get modifyFlag(): ModifyFlag;
|
111
|
-
set modifyFlag(value: ModifyFlag);
|
112
|
-
onChangedEvent: Subject<IOnChangedEvent>;
|
113
|
-
listenerEvents: Array<ListenerEventData>;
|
114
|
-
parent: NodeItems | null;
|
115
|
-
protected propertyChanged(prop: string, old: any, newV: any): void;
|
116
|
-
protected onChanged(): void;
|
117
|
-
addEventListener<T extends EventTypes>(name: T, listener: ListenerFunc<EventMap[T]>, useCapture?: boolean): void;
|
118
|
-
removeEventListener<T extends EventTypes>(name: T, listener: ListenerFunc<EventMap[T]>, useCapture?: boolean): void;
|
119
|
-
/**
|
120
|
-
* 父容器传入参数,子容器设置坐标位置
|
121
|
-
* @param e
|
122
|
-
* @param finalRect
|
123
|
-
*/
|
124
|
-
arrange(e: IArrangeEvent, finalRect: Rect): void;
|
125
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
126
|
-
/**
|
127
|
-
* 测量阶段
|
128
|
-
* @param e
|
129
|
-
* @param availableSize
|
130
|
-
*/
|
131
|
-
measure(e: IMeasureEvent, availableSize: Size): void;
|
132
|
-
getPercentWidth(val: number): number;
|
133
|
-
getPercentHeight(val: number): number;
|
134
|
-
/**
|
135
|
-
* 获取内容尺寸
|
136
|
-
* 元素模型为边框模型,元素的大小为默认包含边框大小,内容大小需要减去边框大小
|
137
|
-
* @private
|
138
|
-
* @param width
|
139
|
-
* @param height
|
140
|
-
*/
|
141
|
-
protected getContentSize(width: number, height: number): Size;
|
142
|
-
/**
|
143
|
-
* 获取外部尺寸
|
144
|
-
* @param availableSize
|
145
|
-
* @private
|
146
|
-
*/
|
147
|
-
protected getOuterSize(availableSize: Size): Size;
|
148
|
-
/**
|
149
|
-
* 子元素需重写该方法
|
150
|
-
* @param e
|
151
|
-
* @param availableSize
|
152
|
-
*/
|
153
|
-
protected measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
154
|
-
abstract render(e: IRenderData): void;
|
155
|
-
preRender(e: IRenderData): boolean;
|
156
|
-
private attachedProp;
|
157
|
-
setAttachedProp<K extends AttachedKey>(name: K, val: AttachedKeyPairValueType<K>): void;
|
158
|
-
getAttachedPropValue<K extends AttachedKey>(name: K): AttachedKeyPairValueType<K>;
|
159
|
-
removeAttachedProp(name: string): void;
|
160
|
-
/**
|
161
|
-
* 绘制轮廓
|
162
|
-
*/
|
163
|
-
renderOutline(renderCtx: ViewPaint): void;
|
164
|
-
}
|
165
|
-
export interface IRenderData {
|
166
|
-
render: ViewPaint;
|
167
|
-
next: (rc: ViewPaint) => void;
|
168
|
-
appState: IAppState;
|
169
|
-
renderPos: Position;
|
170
|
-
}
|
171
|
-
export declare abstract class NodeItems extends NodeCore {
|
172
|
-
controls: Array<NodeCore>;
|
173
|
-
eventMap: WeakMap<NodeCore, Array<Subscription>>;
|
174
|
-
absoluteItems: boolean;
|
175
|
-
containerPropName: string;
|
176
|
-
constructor();
|
177
|
-
addChild(control: NodeCore, index?: number): void;
|
178
|
-
getRenderItems(): Array<NodeCore>;
|
179
|
-
removeChild(index: number | NodeCore): void;
|
180
|
-
private addChildSub;
|
181
|
-
private removeChildSub;
|
182
|
-
getChild(index: number): NodeCore;
|
183
|
-
getItems(): Array<NodeCore>;
|
184
|
-
getIndex(): number;
|
185
|
-
clearChildren(): void;
|
186
|
-
get length(): number;
|
187
|
-
}
|
188
|
-
export declare abstract class Panel extends NodeItems {
|
189
|
-
}
|
190
|
-
/**
|
191
|
-
* 子内容采用绝对定位的容器
|
192
|
-
*/
|
193
|
-
export declare abstract class AbsolutePanel extends NodeItems {
|
194
|
-
constructor();
|
195
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
196
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
197
|
-
}
|
198
|
-
export interface ActiveAppContext {
|
199
|
-
root: SurfaceView;
|
200
|
-
render: () => void;
|
201
|
-
}
|
202
|
-
export declare function getCurrentActiveAppContext(): ActiveAppContext | null;
|
203
|
-
export declare function setCurrentActiveAppContext(ctx: ActiveAppContext | null): void;
|
204
|
-
export declare type RenderTaskSchedule = () => void;
|
205
|
-
export declare function renderApp(root: SurfaceView, renderCtx: ViewPaint, nodeEvent: NodeEvent): RenderTaskSchedule;
|
206
|
-
export declare function renderNode(node: NodeCore, renderCtx: ViewPaint, appState: IAppState, parentPos: Position): void;
|
207
|
-
/**
|
208
|
-
* 绘制边框
|
209
|
-
* @param node
|
210
|
-
* @param renderCtx
|
211
|
-
*/
|
212
|
-
export declare function drawBorderline(node: NodeCore, renderCtx: ViewPaint): void;
|
213
|
-
/**
|
214
|
-
* 绘制外轮廓
|
215
|
-
*/
|
216
|
-
export declare function drawOutline(node: NodeCore, renderCtx: ViewPaint): void;
|
217
|
-
export declare function clipContent(node: NodeCore, renderCtx: ViewPaint): void;
|
218
|
-
export declare function translate(renderCtx: ViewPaint, x: number, y: number): void;
|
219
|
-
export declare function getParents(node: NodeCore): Array<NodeCore>;
|
220
|
-
/**
|
221
|
-
* 判断坐标是否在矩形框内
|
222
|
-
* @param rect
|
223
|
-
* @param position
|
224
|
-
* @returns
|
225
|
-
*/
|
226
|
-
export declare function isInsideRectByPosition(rect: Rect, position: Position): boolean;
|
227
|
-
export declare function checkIntersect(rectA: Rect, rectB: Rect): boolean;
|
228
|
-
export declare function getNodePosition(node: NodeCore, currPos: Position): Position;
|
229
|
-
export declare function getMatchParent<T>(currNode: NodeCore, parentType: {
|
230
|
-
new (...args: any[]): T;
|
231
|
-
}): T;
|
232
|
-
export declare function getPredicateParent<T>(currNode: NodeCore, predicate: (node: NodeCore) => boolean): T;
|
package/controls/NodeEvent.d.ts
DELETED
@@ -1,138 +0,0 @@
|
|
1
|
-
import { Subject } from "./event-subject";
|
2
|
-
import { SurfaceView } from "./SurfaceView";
|
3
|
-
import { IAppState, NodeCore } from "./Node";
|
4
|
-
import { Position } from "../med_editor/framework/element-define";
|
5
|
-
export declare class NodeEvent {
|
6
|
-
root: SurfaceView;
|
7
|
-
canvas: HTMLCanvasElement;
|
8
|
-
appState: IAppState;
|
9
|
-
onSignal: Subject<void>;
|
10
|
-
hitInfo: IHitInfo | null;
|
11
|
-
mouseenterNodes: Array<NodeCore>;
|
12
|
-
prevNode: NodeCore;
|
13
|
-
prevFocusNodes: Array<NodeCore>;
|
14
|
-
constructor(root: SurfaceView, canvas: HTMLCanvasElement);
|
15
|
-
private setActiveAppContext;
|
16
|
-
setAppState(hitInfo: IHitInfo | null): void;
|
17
|
-
hitTest(evt: MouseEvent): IHitInfo | null;
|
18
|
-
onMousedownHandler(evt: MouseEvent): void;
|
19
|
-
onMousemoveHandler(evt: MouseEvent): void;
|
20
|
-
onMouseupHandler(evt: MouseEvent): void;
|
21
|
-
onDblClickHandler(evt: MouseEvent): void;
|
22
|
-
onMouseleaveHandler(evt: MouseEvent): void;
|
23
|
-
/**
|
24
|
-
* TODO:需要重新获取鼠标上的元素进行onWheel
|
25
|
-
* @param evt
|
26
|
-
*/
|
27
|
-
onWheelHandler(evt: WheelEvent): void;
|
28
|
-
onContextMenuHandler(evt: MouseEvent): void;
|
29
|
-
onCopyHandler(evt: ClipboardEvent): void;
|
30
|
-
onKeydownHandler(evt: KeyboardEvent): void;
|
31
|
-
getHitNode(hitPos: Position, parentPos: Position): IHitInfo | null;
|
32
|
-
getMouseHitNode(node: NodeCore, hitPos: Position, parentPos: Position): IHitInfo | null;
|
33
|
-
invokeNodeFocusedEvent(prevNode: NodeCore | null, prevParents: Array<NodeCore>, currNode: NodeCore | null): void;
|
34
|
-
}
|
35
|
-
/**
|
36
|
-
* 触发事件
|
37
|
-
* @returns 当前事件是否被取消
|
38
|
-
*/
|
39
|
-
export declare function invokeEvent(event: IEventCore, eventName: EventTypes, node: NodeCore, useCaptureEvent?: boolean): boolean;
|
40
|
-
export declare function invokeNodeEvent(node: NodeCore, event: IEventCore, name: EventTypes, useCapture: boolean): boolean;
|
41
|
-
export interface IEventCore {
|
42
|
-
target: NodeCore;
|
43
|
-
source: NodeCore;
|
44
|
-
cancelable: boolean;
|
45
|
-
isCancel: boolean;
|
46
|
-
}
|
47
|
-
export interface PercentType {
|
48
|
-
value: number;
|
49
|
-
}
|
50
|
-
export interface IOnKeyEvent extends IEventCore {
|
51
|
-
}
|
52
|
-
export interface IOnKeydownEvent extends IOnKeyEvent {
|
53
|
-
sourceEvt: KeyboardEvent;
|
54
|
-
}
|
55
|
-
export interface IOnMouseEvent extends IEventCore {
|
56
|
-
pos: Position;
|
57
|
-
sourceHitPos: Position;
|
58
|
-
sourcePos: Position;
|
59
|
-
sourceEvt: Event;
|
60
|
-
}
|
61
|
-
export interface IOnMousemoveEvent extends IOnMouseEvent {
|
62
|
-
}
|
63
|
-
export interface IOnMousedownEvent extends IOnMouseEvent {
|
64
|
-
}
|
65
|
-
export interface IOnMouseupEvent extends IOnMouseEvent {
|
66
|
-
}
|
67
|
-
export interface IOnChangedEvent extends IEventCore {
|
68
|
-
}
|
69
|
-
export interface IOnClickEvent extends IOnMouseEvent {
|
70
|
-
}
|
71
|
-
export interface IOnDblClickEvent extends IOnMouseEvent {
|
72
|
-
}
|
73
|
-
export interface IOnMouseenterEvent extends IOnMouseEvent {
|
74
|
-
}
|
75
|
-
export interface IOnMouseleaveEvent extends IOnMouseEvent {
|
76
|
-
}
|
77
|
-
export interface IOnMouseoverEvent extends IOnMouseEvent {
|
78
|
-
}
|
79
|
-
export interface IOnMouseoutEvent extends IOnMouseEvent {
|
80
|
-
}
|
81
|
-
export interface IOnGotFocusEvent extends IEventCore {
|
82
|
-
}
|
83
|
-
export interface IOnLostFocusEvent extends IEventCore {
|
84
|
-
}
|
85
|
-
export interface IOnKeydownEvent extends IEventCore {
|
86
|
-
}
|
87
|
-
export interface IOnContextMenuEvent extends IOnMouseEvent {
|
88
|
-
}
|
89
|
-
export interface IOnWheelEvent extends IEventCore {
|
90
|
-
deltaX: number;
|
91
|
-
deltaY: number;
|
92
|
-
}
|
93
|
-
export interface IOnCopyEvent extends IEventCore {
|
94
|
-
sourceEvt: ClipboardEvent;
|
95
|
-
}
|
96
|
-
export interface IOnPasteEvent extends IEventCore {
|
97
|
-
sourceEvt: ClipboardEvent;
|
98
|
-
}
|
99
|
-
export interface IOnCutEvent extends IEventCore {
|
100
|
-
sourceEvt: ClipboardEvent;
|
101
|
-
}
|
102
|
-
export interface IOnInputEvent extends IEventCore {
|
103
|
-
data: string;
|
104
|
-
}
|
105
|
-
export interface EventMap {
|
106
|
-
mousemove: IOnMousemoveEvent;
|
107
|
-
mousedown: IOnMousedownEvent;
|
108
|
-
mouseup: IOnMouseupEvent;
|
109
|
-
click: IOnClickEvent;
|
110
|
-
dblclick: IOnDblClickEvent;
|
111
|
-
mouseenter: IOnMouseenterEvent;
|
112
|
-
mouseleave: IOnMouseleaveEvent;
|
113
|
-
wheel: IOnWheelEvent;
|
114
|
-
mouseover: IOnMouseoverEvent;
|
115
|
-
mouseout: IOnMouseoutEvent;
|
116
|
-
gotFocus: IOnGotFocusEvent;
|
117
|
-
lostFocus: IOnLostFocusEvent;
|
118
|
-
preGotFocus: IOnGotFocusEvent;
|
119
|
-
input: IOnInputEvent;
|
120
|
-
keydown: IOnKeydownEvent;
|
121
|
-
copy: IOnCopyEvent;
|
122
|
-
paste: IOnPasteEvent;
|
123
|
-
cut: IOnCutEvent;
|
124
|
-
contextmenu: IOnContextMenuEvent;
|
125
|
-
}
|
126
|
-
export declare type EventTypes = keyof EventMap;
|
127
|
-
export declare type ListenerFunc<T extends IEventCore = IEventCore> = (evt: T) => void;
|
128
|
-
export declare type ListenerEventMap = Map<EventTypes, Array<ListenerFunc>>;
|
129
|
-
export declare type ListenerEventData = {
|
130
|
-
name: EventTypes;
|
131
|
-
listener: ListenerFunc;
|
132
|
-
useCapture: boolean;
|
133
|
-
};
|
134
|
-
export interface IHitInfo {
|
135
|
-
target: NodeCore;
|
136
|
-
targetPos: Position;
|
137
|
-
hitPos: Position;
|
138
|
-
}
|
package/controls/Rect.d.ts
DELETED
package/controls/ScrollView.d.ts
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
import { AbsolutePanel, IArrangeEvent, IMeasureEvent, IRenderData, NodeCore, NodeItems, Size } from "./Node";
|
2
|
-
import { ButtonBase } from "./ButtonBase";
|
3
|
-
import { Subject } from "./event-subject";
|
4
|
-
import { ViewPaint } from "./ViewPaint";
|
5
|
-
export declare const ScrollBarSize = 14;
|
6
|
-
export declare class ScrollView extends NodeItems {
|
7
|
-
content: ScrollContent;
|
8
|
-
horBar: ScrollBar;
|
9
|
-
verBar: ScrollBar;
|
10
|
-
private _scrollX;
|
11
|
-
private _scrollY;
|
12
|
-
onScrollEvent: Subject<{
|
13
|
-
x: number;
|
14
|
-
y: number;
|
15
|
-
}>;
|
16
|
-
get scrollX(): number;
|
17
|
-
set scrollX(value: number);
|
18
|
-
get scrollY(): number;
|
19
|
-
set scrollY(value: number);
|
20
|
-
constructor();
|
21
|
-
scrollTo(x: number, y: number): void;
|
22
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
23
|
-
getRenderItems(): Array<NodeCore>;
|
24
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
25
|
-
render(e: IRenderData): void;
|
26
|
-
}
|
27
|
-
declare type OrientationType = 'horizontal' | 'vertical';
|
28
|
-
export declare class ScrollContent extends AbsolutePanel {
|
29
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
30
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
31
|
-
renderOutline(renderCtx: ViewPaint): void;
|
32
|
-
render(e: IRenderData): void;
|
33
|
-
}
|
34
|
-
export declare class ScrollBar extends NodeItems {
|
35
|
-
orientation: OrientationType;
|
36
|
-
thumb: ScrollThumb;
|
37
|
-
thumbSize: number;
|
38
|
-
scrollChanged: Subject<number>;
|
39
|
-
constructor(orientation: OrientationType);
|
40
|
-
updateScroll(x: number, y: number): void;
|
41
|
-
updateScrollByCurrent(increaseX: number, increaseY: number): void;
|
42
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
43
|
-
/**
|
44
|
-
* 横向滚动条测量
|
45
|
-
*/
|
46
|
-
private measureHorizontalBar;
|
47
|
-
private measureVerticalBar;
|
48
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
49
|
-
render(e: IRenderData): void;
|
50
|
-
}
|
51
|
-
export declare class ScrollThumb extends ButtonBase {
|
52
|
-
constructor();
|
53
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
54
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
55
|
-
render(e: IRenderData): void;
|
56
|
-
}
|
57
|
-
export {};
|
package/controls/StackPanel.d.ts
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
import { IArrangeEvent, IMeasureEvent, IRenderData, Panel, Size } from "./Node";
|
2
|
-
export declare type OrientationType = 'horizontal' | 'vertical';
|
3
|
-
/**
|
4
|
-
* 将子元素排列成水平或垂直的一行。
|
5
|
-
*/
|
6
|
-
export declare class StackPanel extends Panel {
|
7
|
-
private _orientation;
|
8
|
-
get orientation(): OrientationType;
|
9
|
-
set orientation(value: OrientationType);
|
10
|
-
/**
|
11
|
-
* 处理项目在水平方向分布时,项目在纵向对齐时的情况
|
12
|
-
* @param finalRect
|
13
|
-
* @param item
|
14
|
-
* @returns
|
15
|
-
*/
|
16
|
-
private getItemVerticalAlignRect;
|
17
|
-
/**
|
18
|
-
* 处理项目在纵向分布时,项目的对齐情况
|
19
|
-
* @param finalRect
|
20
|
-
* @param item
|
21
|
-
* @returns
|
22
|
-
*/
|
23
|
-
private getItemHorizontalAlignRect;
|
24
|
-
protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
|
25
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
26
|
-
render(e: IRenderData): void;
|
27
|
-
}
|