@hailin-zheng/editor-core 2.1.28 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- package/editor.css +19 -4
- package/index-cjs.d.ts +12 -12
- package/index-cjs.js +728 -1119
- package/index-cjs.js.map +1 -1
- package/index.d.ts +12 -12
- package/index.js +745 -1137
- 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 -2
- 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/data-element/data-element-base-impl.d.ts +13 -0
- 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/package.json
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
"author": "hailin-zheng",
|
5
5
|
"private": false,
|
6
6
|
"license": "ISC",
|
7
|
-
"version": "2.1
|
7
|
+
"version": "2.2.1",
|
8
8
|
"scripts": {},
|
9
9
|
"dependencies": {
|
10
10
|
"moment": "^2.29.3",
|
@@ -16,4 +16,4 @@
|
|
16
16
|
"snabbdom-to-html": "^7.1.0",
|
17
17
|
"jsbarcode": "^3.11.5"
|
18
18
|
}
|
19
|
-
}
|
19
|
+
}
|
package/controls/ButtonBase.d.ts
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
import { IMeasureEvent, IRenderData, Size } from "./Node";
|
2
|
-
import { TextBase } from "./TextBase";
|
3
|
-
export declare class ButtonBase extends TextBase {
|
4
|
-
constructor();
|
5
|
-
render(e: IRenderData): void;
|
6
|
-
}
|
7
|
-
export declare class Button extends ButtonBase {
|
8
|
-
measureOverride(e: IMeasureEvent, availableSize: Size): Size;
|
9
|
-
render(e: IRenderData): void;
|
10
|
-
}
|
package/controls/Canvas.d.ts
DELETED
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 {};
|