@logicflow/core 1.0.0-alpha.0 → 1.0.0-alpha.12
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/README.md +1 -1
- package/dist/logic-flow.js +2 -11
- package/dist/style/index.css +15 -1
- package/package.json +4 -6
- package/types/LogicFlow.d.ts +341 -137
- package/types/constant/DefaultTheme.d.ts +260 -171
- package/types/constant/constant.d.ts +7 -1
- package/types/keyboard/index.d.ts +1 -5
- package/types/model/BaseModel.d.ts +8 -8
- package/types/model/EditConfigModel.d.ts +6 -16
- package/types/model/GraphModel.d.ts +280 -61
- package/types/model/SnaplineModel.d.ts +6 -2
- package/types/model/TransformModel.d.ts +8 -2
- package/types/model/edge/BaseEdgeModel.d.ts +91 -42
- package/types/model/edge/BezierEdgeModel.d.ts +9 -2
- package/types/model/edge/LineEdgeModel.d.ts +6 -1
- package/types/model/edge/PolylineEdgeModel.d.ts +7 -3
- package/types/model/node/BaseNodeModel.d.ts +81 -56
- package/types/model/node/CircleNodeModel.d.ts +7 -2
- package/types/model/node/DiamondNodeModel.d.ts +7 -4
- package/types/model/node/EllipseNodeModel.d.ts +6 -2
- package/types/model/node/HtmlNodeModel.d.ts +0 -2
- package/types/model/node/PolygonNodeModel.d.ts +6 -2
- package/types/model/node/RectNodeModel.d.ts +9 -2
- package/types/model/node/TextNodeModel.d.ts +8 -4
- package/types/options.d.ts +78 -12
- package/types/type/index.d.ts +29 -37
- package/types/util/edge.d.ts +3 -3
- package/types/util/graph.d.ts +1 -1
- package/types/util/node.d.ts +1 -1
- package/types/util/theme.d.ts +2 -173
- package/types/view/Anchor.d.ts +0 -2
- package/types/view/Graph.d.ts +1 -3
- package/types/view/basic-shape/Path.d.ts +1 -9
- package/types/view/basic-shape/Rect.d.ts +1 -5
- package/types/view/behavior/DnD.d.ts +0 -4
- package/types/view/edge/AdjustPoint.d.ts +1 -3
- package/types/view/edge/Arrow.d.ts +3 -3
- package/types/view/edge/BaseEdge.d.ts +2 -20
- package/types/view/edge/BezierEdge.d.ts +0 -12
- package/types/view/edge/LineEdge.d.ts +0 -13
- package/types/view/edge/PolylineEdge.d.ts +0 -12
- package/types/view/node/BaseNode.d.ts +1 -46
- package/types/view/node/CircleNode.d.ts +0 -40
- package/types/view/node/DiamondNode.d.ts +0 -40
- package/types/view/node/EllipseNode.d.ts +0 -29
- package/types/view/node/HtmlNode.d.ts +21 -0
- package/types/view/node/PolygonNode.d.ts +0 -40
- package/types/view/node/RectNode.d.ts +0 -40
- package/types/view/node/TextNode.d.ts +1 -0
- package/types/view/overlay/BackgroundOverlay.d.ts +18 -29
- package/types/view/overlay/CanvasOverlay.d.ts +0 -2
- package/types/view/overlay/OutlineOverlay.d.ts +1 -1
- package/types/view/text/BaseText.d.ts +0 -2
- package/dist/logic-flow.es.js +0 -74
package/types/util/theme.d.ts
CHANGED
|
@@ -1,173 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
width: number;
|
|
4
|
-
height: number;
|
|
5
|
-
radius: number;
|
|
6
|
-
fill: string;
|
|
7
|
-
stroke: string;
|
|
8
|
-
strokeWidth: number;
|
|
9
|
-
fillOpacity: number;
|
|
10
|
-
strokeOpacity: number;
|
|
11
|
-
opacity: number;
|
|
12
|
-
outlineColor: string;
|
|
13
|
-
outlineStrokeDashArray: string;
|
|
14
|
-
hoverOutlineColor: string;
|
|
15
|
-
hoverOutlineStrokeDashArray: string;
|
|
16
|
-
};
|
|
17
|
-
circle: {
|
|
18
|
-
r: number;
|
|
19
|
-
fill: string;
|
|
20
|
-
stroke: string;
|
|
21
|
-
strokeWidth: number;
|
|
22
|
-
fillOpacity: number;
|
|
23
|
-
strokeOpacity: number;
|
|
24
|
-
opacity: number;
|
|
25
|
-
outlineColor: string;
|
|
26
|
-
outlineStrokeDashArray: string;
|
|
27
|
-
hoverOutlineColor: string;
|
|
28
|
-
hoverOutlineStrokeDashArray: string;
|
|
29
|
-
};
|
|
30
|
-
diamond: {
|
|
31
|
-
rx: number;
|
|
32
|
-
ry: number;
|
|
33
|
-
fill: string;
|
|
34
|
-
stroke: string;
|
|
35
|
-
strokeWidth: number;
|
|
36
|
-
fillOpacity: number;
|
|
37
|
-
strokeOpacity: number;
|
|
38
|
-
opacity: number;
|
|
39
|
-
outlineColor: string;
|
|
40
|
-
outlineStrokeDashArray: string;
|
|
41
|
-
hoverOutlineColor: string;
|
|
42
|
-
hoverOutlineStrokeDashArray: string;
|
|
43
|
-
};
|
|
44
|
-
ellipse: {
|
|
45
|
-
rx: number;
|
|
46
|
-
ry: number;
|
|
47
|
-
fill: string;
|
|
48
|
-
stroke: string;
|
|
49
|
-
strokeWidth: number;
|
|
50
|
-
fillOpacity: number;
|
|
51
|
-
strokeOpacity: number;
|
|
52
|
-
opacity: number;
|
|
53
|
-
outlineColor: string;
|
|
54
|
-
outlineStrokeDashArray: string;
|
|
55
|
-
hoverOutlineColor: string;
|
|
56
|
-
hoverOutlineStrokeDashArray: string;
|
|
57
|
-
};
|
|
58
|
-
polygon: {
|
|
59
|
-
fill: string;
|
|
60
|
-
stroke: string;
|
|
61
|
-
strokeWidth: number;
|
|
62
|
-
fillOpacity: number;
|
|
63
|
-
strokeOpacity: number;
|
|
64
|
-
opacity: number;
|
|
65
|
-
outlineColor: string;
|
|
66
|
-
outlineStrokeDashArray: string;
|
|
67
|
-
hoverOutlineColor: string;
|
|
68
|
-
hoverOutlineStrokeDashArray: string;
|
|
69
|
-
};
|
|
70
|
-
anchor: {
|
|
71
|
-
stroke: string;
|
|
72
|
-
strokeWidth: number;
|
|
73
|
-
r: number;
|
|
74
|
-
fill: string;
|
|
75
|
-
fillOpacity: number;
|
|
76
|
-
strokeOpacity: number;
|
|
77
|
-
opacity: number;
|
|
78
|
-
outlineColor: string;
|
|
79
|
-
outlineStrokeDashArray: string;
|
|
80
|
-
hoverOutlineColor: string;
|
|
81
|
-
hoverOutlineStrokeDashArray: string;
|
|
82
|
-
};
|
|
83
|
-
text: {
|
|
84
|
-
color: string;
|
|
85
|
-
fontSize: number;
|
|
86
|
-
fontWeight: string;
|
|
87
|
-
fontFamily: string;
|
|
88
|
-
};
|
|
89
|
-
nodeText: {
|
|
90
|
-
autoWrap: boolean;
|
|
91
|
-
lineHeight: number;
|
|
92
|
-
wrapPadding: string;
|
|
93
|
-
color: string;
|
|
94
|
-
fontSize: number;
|
|
95
|
-
fontWeight: string;
|
|
96
|
-
fontFamily: string;
|
|
97
|
-
};
|
|
98
|
-
edgeText: {
|
|
99
|
-
color: string;
|
|
100
|
-
fontSize: number;
|
|
101
|
-
fontWeight: string;
|
|
102
|
-
fontFamily: string;
|
|
103
|
-
background: {
|
|
104
|
-
fill: string;
|
|
105
|
-
height: number;
|
|
106
|
-
stroke: string;
|
|
107
|
-
radius: number;
|
|
108
|
-
};
|
|
109
|
-
hoverBackground: any;
|
|
110
|
-
autoWrap: boolean;
|
|
111
|
-
lineHeight: number;
|
|
112
|
-
wrapPadding: string;
|
|
113
|
-
};
|
|
114
|
-
line: {
|
|
115
|
-
stroke: string;
|
|
116
|
-
strokeWidth: number;
|
|
117
|
-
hoverStroke: string;
|
|
118
|
-
selectedStroke: string;
|
|
119
|
-
strokeDashArray: string;
|
|
120
|
-
outlineColor: string;
|
|
121
|
-
outlineStrokeDashArray: string;
|
|
122
|
-
};
|
|
123
|
-
polyline: {
|
|
124
|
-
offset: number;
|
|
125
|
-
stroke: string;
|
|
126
|
-
strokeWidth: number;
|
|
127
|
-
hoverStroke: string;
|
|
128
|
-
selectedStroke: string;
|
|
129
|
-
strokeDashArray: string;
|
|
130
|
-
outlineColor: string;
|
|
131
|
-
outlineStrokeDashArray: string;
|
|
132
|
-
};
|
|
133
|
-
bezier: {
|
|
134
|
-
offset: number;
|
|
135
|
-
adjustLineColor: string;
|
|
136
|
-
adjustAnchorStroke: string;
|
|
137
|
-
adjustAnchorFill: string;
|
|
138
|
-
adjustAnchorFillOpacity: number;
|
|
139
|
-
stroke: string;
|
|
140
|
-
strokeWidth: number;
|
|
141
|
-
hoverStroke: string;
|
|
142
|
-
selectedStroke: string;
|
|
143
|
-
strokeDashArray: string;
|
|
144
|
-
outlineColor: string;
|
|
145
|
-
outlineStrokeDashArray: string;
|
|
146
|
-
};
|
|
147
|
-
arrow: {
|
|
148
|
-
offset: number;
|
|
149
|
-
verticalLength: number;
|
|
150
|
-
};
|
|
151
|
-
anchorLine: {
|
|
152
|
-
stroke: string;
|
|
153
|
-
strokeWidth: number;
|
|
154
|
-
strokeDasharray: string;
|
|
155
|
-
};
|
|
156
|
-
anchorHover: {
|
|
157
|
-
fill: string;
|
|
158
|
-
fillOpacity: number;
|
|
159
|
-
stroke: string;
|
|
160
|
-
strokeWidth: number;
|
|
161
|
-
r: number;
|
|
162
|
-
};
|
|
163
|
-
snapline: {
|
|
164
|
-
stroke: string;
|
|
165
|
-
strokeWidth: number;
|
|
166
|
-
};
|
|
167
|
-
edgeAdjust: {
|
|
168
|
-
r: number;
|
|
169
|
-
fill: string;
|
|
170
|
-
stroke: string;
|
|
171
|
-
strokeWidth: string;
|
|
172
|
-
};
|
|
173
|
-
};
|
|
1
|
+
import { Theme } from '../constant/DefaultTheme';
|
|
2
|
+
export declare const updateTheme: (style: Theme) => Theme;
|
package/types/view/Anchor.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { h, Component } from 'preact';
|
|
2
2
|
import BaseNodeModel, { ConnectRuleResult } from '../model/node/BaseNodeModel';
|
|
3
3
|
import GraphModel from '../model/GraphModel';
|
|
4
|
-
import EventEmitter from '../event/eventEmitter';
|
|
5
4
|
import { AnchorConfig } from '../type';
|
|
6
5
|
declare type TargetNodeId = string;
|
|
7
6
|
interface IProps {
|
|
@@ -13,7 +12,6 @@ interface IProps {
|
|
|
13
12
|
hoverStyle?: Record<string, any>;
|
|
14
13
|
edgeStyle?: Record<string, any>;
|
|
15
14
|
anchorIndex: number;
|
|
16
|
-
eventCenter: EventEmitter;
|
|
17
15
|
graphModel: GraphModel;
|
|
18
16
|
nodeModel: BaseNodeModel;
|
|
19
17
|
nodeDraging: boolean;
|
package/types/view/Graph.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { Component, h } from 'preact';
|
|
|
2
2
|
import GraphModel from '../model/GraphModel';
|
|
3
3
|
import Tool from '../tool';
|
|
4
4
|
import * as Options from '../options';
|
|
5
|
-
import EventEmitter from '../event/eventEmitter';
|
|
6
5
|
import DnD from './behavior/DnD';
|
|
7
6
|
import BaseEdgeModel from '../model/edge/BaseEdgeModel';
|
|
8
7
|
import BaseNodeModel from '../model/node/BaseNodeModel';
|
|
@@ -11,13 +10,12 @@ declare type IProps = {
|
|
|
11
10
|
getView: (type: string) => typeof Component;
|
|
12
11
|
tool: Tool;
|
|
13
12
|
options: Options.Definition;
|
|
14
|
-
eventCenter: EventEmitter;
|
|
15
13
|
dnd: DnD;
|
|
16
14
|
snaplineModel: SnaplineModel;
|
|
17
15
|
graphModel: GraphModel;
|
|
18
16
|
};
|
|
19
17
|
declare class Graph extends Component<IProps> {
|
|
20
|
-
getComponent(model: BaseEdgeModel | BaseNodeModel, graphModel: GraphModel,
|
|
18
|
+
getComponent(model: BaseEdgeModel | BaseNodeModel, graphModel: GraphModel, overlay?: string): h.JSX.Element;
|
|
21
19
|
render(): h.JSX.Element;
|
|
22
20
|
}
|
|
23
21
|
export default Graph;
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { h } from 'preact';
|
|
2
2
|
declare type IProps = {
|
|
3
3
|
d: string;
|
|
4
|
-
|
|
5
|
-
stroke: string;
|
|
6
|
-
fill: string;
|
|
7
|
-
strokeDasharray?: string;
|
|
4
|
+
[key: string]: any;
|
|
8
5
|
};
|
|
9
6
|
declare function Path(props: IProps): h.JSX.Element;
|
|
10
|
-
declare namespace Path {
|
|
11
|
-
var defaultProps: {
|
|
12
|
-
strokeDasharray: string;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
7
|
export default Path;
|
|
@@ -3,16 +3,12 @@ import * as type from '../../type';
|
|
|
3
3
|
declare type IProps = {
|
|
4
4
|
className?: string;
|
|
5
5
|
radius?: number;
|
|
6
|
-
stroke?: string;
|
|
7
|
-
strokeDasharray?: string;
|
|
8
6
|
} & type.Point & type.Size;
|
|
9
7
|
declare function Rect(props: IProps): h.JSX.Element;
|
|
10
8
|
declare namespace Rect {
|
|
11
9
|
var defaultProps: {
|
|
12
|
-
radius: number;
|
|
13
|
-
stroke: string;
|
|
14
|
-
strokeDasharray: string;
|
|
15
10
|
className: string;
|
|
11
|
+
radius: string;
|
|
16
12
|
};
|
|
17
13
|
}
|
|
18
14
|
export default Rect;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import LogicFlow from '../../LogicFlow';
|
|
2
2
|
import { BaseNodeModel } from '../../model';
|
|
3
3
|
import { TextConfig } from '../../type';
|
|
4
|
-
export declare type DndOptions = {
|
|
5
|
-
validate: () => boolean;
|
|
6
|
-
};
|
|
7
4
|
export declare type NewNodeConfig = {
|
|
8
5
|
type: string;
|
|
9
6
|
text?: TextConfig | string;
|
|
@@ -12,7 +9,6 @@ export declare type NewNodeConfig = {
|
|
|
12
9
|
export default class Dnd {
|
|
13
10
|
nodeConfig: NewNodeConfig;
|
|
14
11
|
lf: LogicFlow;
|
|
15
|
-
options: DndOptions;
|
|
16
12
|
fakerNode: BaseNodeModel;
|
|
17
13
|
constructor(params: any);
|
|
18
14
|
clientToLocalPoint({ x, y }: {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { h, Component } from 'preact';
|
|
2
|
-
import EventEmitter from '../../event/eventEmitter';
|
|
3
2
|
import { BaseEdgeModel } from '../../model/edge';
|
|
4
3
|
import GraphModel from '../../model/GraphModel';
|
|
5
4
|
import { Point } from '../../type';
|
|
@@ -8,7 +7,6 @@ interface IProps {
|
|
|
8
7
|
y: number;
|
|
9
8
|
type: AdjustType;
|
|
10
9
|
id?: string;
|
|
11
|
-
eventCenter: EventEmitter;
|
|
12
10
|
graphModel: GraphModel;
|
|
13
11
|
edgeModel: BaseEdgeModel;
|
|
14
12
|
}
|
|
@@ -37,7 +35,7 @@ export default class AdjustPoint extends Component<IProps, IState> {
|
|
|
37
35
|
}) => void;
|
|
38
36
|
onDragEnd: () => void;
|
|
39
37
|
recoveryEdge: () => void;
|
|
40
|
-
getAdjustPointStyle: () =>
|
|
38
|
+
getAdjustPointStyle: () => import("../../constant/DefaultTheme").CircleTheme;
|
|
41
39
|
render(): h.JSX.Element;
|
|
42
40
|
}
|
|
43
41
|
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { h, Component } from 'preact';
|
|
2
2
|
import { ArrowInfo } from '../../type/index';
|
|
3
|
-
declare type ArrowStyle = {
|
|
4
|
-
stroke
|
|
5
|
-
fill
|
|
3
|
+
export declare type ArrowStyle = {
|
|
4
|
+
stroke?: string;
|
|
5
|
+
fill?: string;
|
|
6
6
|
strokeWidth?: number;
|
|
7
7
|
offset: number;
|
|
8
8
|
verticalLength: number;
|
|
@@ -1,39 +1,21 @@
|
|
|
1
1
|
import { h, Component } from 'preact';
|
|
2
|
+
import { ArrowStyle } from './Arrow';
|
|
2
3
|
import BaseEdgeModel from '../../model/edge/BaseEdgeModel';
|
|
3
4
|
import GraphModel from '../../model/GraphModel';
|
|
4
|
-
import EventEmitter from '../../event/eventEmitter';
|
|
5
5
|
import { ArrowInfo } from '../../type/index';
|
|
6
6
|
declare type IProps = {
|
|
7
7
|
model: BaseEdgeModel;
|
|
8
8
|
graphModel: GraphModel;
|
|
9
|
-
eventCenter: EventEmitter;
|
|
10
9
|
};
|
|
11
10
|
export default class BaseEdge extends Component<IProps> {
|
|
12
11
|
startTime: number;
|
|
13
12
|
contextMenuTime: number;
|
|
14
13
|
clickTimer: number;
|
|
15
|
-
getAttributes(): {
|
|
16
|
-
stroke: string;
|
|
17
|
-
strokeWidth: number;
|
|
18
|
-
strokeOpacity: number;
|
|
19
|
-
strokeDashArray: string;
|
|
20
|
-
isSelected: boolean;
|
|
21
|
-
isHovered: boolean;
|
|
22
|
-
hoverStroke: string;
|
|
23
|
-
selectedStroke: string;
|
|
24
|
-
properties: {};
|
|
25
|
-
};
|
|
26
14
|
getShape(): void;
|
|
27
15
|
getTextStyle(): void;
|
|
28
16
|
getText(): "" | h.JSX.Element;
|
|
29
17
|
getArrowInfo(): ArrowInfo;
|
|
30
|
-
getArrowStyle():
|
|
31
|
-
stroke: string;
|
|
32
|
-
strokeWidth: number;
|
|
33
|
-
fill: string;
|
|
34
|
-
offset: any;
|
|
35
|
-
verticalLength: any;
|
|
36
|
-
};
|
|
18
|
+
getArrowStyle(): ArrowStyle;
|
|
37
19
|
getArrow(): h.JSX.Element;
|
|
38
20
|
getAdjustPoints(): h.JSX.Element;
|
|
39
21
|
getAppendWidth(): h.JSX.Element;
|
|
@@ -2,18 +2,6 @@ import { h } from 'preact';
|
|
|
2
2
|
import BaseEdge from './BaseEdge';
|
|
3
3
|
import { ArrowInfo } from '../../type/index';
|
|
4
4
|
export default class BezierEdge extends BaseEdge {
|
|
5
|
-
getAttributes(): {
|
|
6
|
-
path: string;
|
|
7
|
-
stroke: string;
|
|
8
|
-
strokeWidth: number;
|
|
9
|
-
strokeOpacity: number;
|
|
10
|
-
strokeDashArray: string;
|
|
11
|
-
isSelected: boolean;
|
|
12
|
-
isHovered: boolean;
|
|
13
|
-
hoverStroke: string;
|
|
14
|
-
selectedStroke: string;
|
|
15
|
-
properties: {};
|
|
16
|
-
};
|
|
17
5
|
getEdge(): h.JSX.Element;
|
|
18
6
|
getShape(): h.JSX.Element;
|
|
19
7
|
getAppendWidth(): h.JSX.Element;
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
import { h } from 'preact';
|
|
2
2
|
import BaseEdge from './BaseEdge';
|
|
3
3
|
export default class LineEdge extends BaseEdge {
|
|
4
|
-
getAttributes(): {
|
|
5
|
-
startPoint: any;
|
|
6
|
-
endPoint: any;
|
|
7
|
-
stroke: string;
|
|
8
|
-
strokeWidth: number;
|
|
9
|
-
strokeOpacity: number;
|
|
10
|
-
strokeDashArray: string;
|
|
11
|
-
isSelected: boolean;
|
|
12
|
-
isHovered: boolean;
|
|
13
|
-
hoverStroke: string;
|
|
14
|
-
selectedStroke: string;
|
|
15
|
-
properties: {};
|
|
16
|
-
};
|
|
17
4
|
getEdge(): h.JSX.Element;
|
|
18
5
|
getShape(): h.JSX.Element;
|
|
19
6
|
getAppendWidth(): h.JSX.Element;
|
|
@@ -22,18 +22,6 @@ export default class PolylineEdge extends BaseEdge {
|
|
|
22
22
|
onDragEnd: () => void;
|
|
23
23
|
beforeDragStart: (e: any, appendInfo: any) => void;
|
|
24
24
|
getIsDraging: () => boolean;
|
|
25
|
-
getAttributes(): {
|
|
26
|
-
points: string;
|
|
27
|
-
stroke: string;
|
|
28
|
-
strokeWidth: number;
|
|
29
|
-
strokeOpacity: number;
|
|
30
|
-
strokeDashArray: string;
|
|
31
|
-
isSelected: boolean;
|
|
32
|
-
isHovered: boolean;
|
|
33
|
-
hoverStroke: string;
|
|
34
|
-
selectedStroke: string;
|
|
35
|
-
properties: {};
|
|
36
|
-
};
|
|
37
25
|
getEdge(): h.JSX.Element;
|
|
38
26
|
getShape(): h.JSX.Element;
|
|
39
27
|
getArrowInfo(): ArrowInfo;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { h, Component } from 'preact';
|
|
2
2
|
import GraphModel from '../../model/GraphModel';
|
|
3
3
|
import BaseNodeModel from '../../model/node/BaseNodeModel';
|
|
4
|
-
import EventEmitter from '../../event/eventEmitter';
|
|
5
4
|
import { StepDrag } from '../../util/drag';
|
|
6
5
|
declare type IProps = {
|
|
7
6
|
model: BaseNodeModel;
|
|
8
7
|
graphModel: GraphModel;
|
|
9
|
-
eventCenter: EventEmitter;
|
|
10
8
|
};
|
|
11
9
|
declare type Istate = {
|
|
12
|
-
isDraging: boolean;
|
|
13
10
|
isHovered: boolean;
|
|
11
|
+
isDraging?: boolean;
|
|
14
12
|
};
|
|
15
13
|
export default abstract class BaseNode extends Component<IProps, Istate> {
|
|
16
14
|
static getModel(defaultModel: any): any;
|
|
@@ -20,50 +18,7 @@ export default abstract class BaseNode extends Component<IProps, Istate> {
|
|
|
20
18
|
clickTimer: number;
|
|
21
19
|
constructor(props: any);
|
|
22
20
|
abstract getShape(): any;
|
|
23
|
-
getShapeStyle(): {
|
|
24
|
-
width: number;
|
|
25
|
-
height: number;
|
|
26
|
-
fill: string;
|
|
27
|
-
fillOpacity: number;
|
|
28
|
-
strokeWidth: number;
|
|
29
|
-
stroke: string;
|
|
30
|
-
strokeOpacity: number;
|
|
31
|
-
opacity: number;
|
|
32
|
-
outlineColor: string;
|
|
33
|
-
};
|
|
34
|
-
getAttributes(): {
|
|
35
|
-
width: number;
|
|
36
|
-
height: number;
|
|
37
|
-
fill: string;
|
|
38
|
-
fillOpacity: number;
|
|
39
|
-
strokeWidth: number;
|
|
40
|
-
stroke: string;
|
|
41
|
-
strokeOpacity: number;
|
|
42
|
-
opacity: number;
|
|
43
|
-
outlineColor: string;
|
|
44
|
-
id: string;
|
|
45
|
-
properties: {
|
|
46
|
-
[x: string]: any;
|
|
47
|
-
};
|
|
48
|
-
type: string;
|
|
49
|
-
x: number;
|
|
50
|
-
y: number;
|
|
51
|
-
isSelected: boolean;
|
|
52
|
-
isHovered: boolean;
|
|
53
|
-
text: {
|
|
54
|
-
value: string;
|
|
55
|
-
x: number;
|
|
56
|
-
y: number;
|
|
57
|
-
draggable: boolean;
|
|
58
|
-
editable: boolean;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
getProperties(): Record<string, any>;
|
|
62
|
-
getAnchorStyle(): Record<string, any>;
|
|
63
|
-
getAnchorHoverStyle(): Record<string, any>;
|
|
64
|
-
getNewEdgeStyle(): Record<string, any>;
|
|
65
21
|
getAnchors(): h.JSX.Element[];
|
|
66
|
-
getTextStyle(): any;
|
|
67
22
|
getText(): "" | h.JSX.Element;
|
|
68
23
|
getStateClassName(): string;
|
|
69
24
|
onDraging: ({ deltaX, deltaY }: {
|
|
@@ -1,45 +1,5 @@
|
|
|
1
1
|
import { h } from 'preact';
|
|
2
2
|
import BaseNode from './BaseNode';
|
|
3
3
|
export default class CircleNode extends BaseNode {
|
|
4
|
-
getShapeStyle(): {
|
|
5
|
-
r: number;
|
|
6
|
-
width: number;
|
|
7
|
-
height: number;
|
|
8
|
-
fill: string;
|
|
9
|
-
fillOpacity: number;
|
|
10
|
-
strokeWidth: number;
|
|
11
|
-
stroke: string;
|
|
12
|
-
strokeOpacity: number;
|
|
13
|
-
opacity: number;
|
|
14
|
-
outlineColor: string;
|
|
15
|
-
};
|
|
16
|
-
getAttributes(): {
|
|
17
|
-
r: number;
|
|
18
|
-
width: number;
|
|
19
|
-
height: number;
|
|
20
|
-
fill: string;
|
|
21
|
-
fillOpacity: number;
|
|
22
|
-
strokeWidth: number;
|
|
23
|
-
stroke: string;
|
|
24
|
-
strokeOpacity: number;
|
|
25
|
-
opacity: number;
|
|
26
|
-
outlineColor: string;
|
|
27
|
-
id: string;
|
|
28
|
-
properties: {
|
|
29
|
-
[x: string]: any;
|
|
30
|
-
};
|
|
31
|
-
type: string;
|
|
32
|
-
x: number;
|
|
33
|
-
y: number;
|
|
34
|
-
isSelected: boolean;
|
|
35
|
-
isHovered: boolean;
|
|
36
|
-
text: {
|
|
37
|
-
value: string;
|
|
38
|
-
x: number;
|
|
39
|
-
y: number;
|
|
40
|
-
draggable: boolean;
|
|
41
|
-
editable: boolean;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
4
|
getShape(): h.JSX.Element;
|
|
45
5
|
}
|
|
@@ -1,45 +1,5 @@
|
|
|
1
1
|
import { h } from 'preact';
|
|
2
2
|
import BaseNode from './BaseNode';
|
|
3
3
|
export default class DiamondNode extends BaseNode {
|
|
4
|
-
getShapeStyle(): {
|
|
5
|
-
points: import("../..").PointTuple[];
|
|
6
|
-
width: number;
|
|
7
|
-
height: number;
|
|
8
|
-
fill: string;
|
|
9
|
-
fillOpacity: number;
|
|
10
|
-
strokeWidth: number;
|
|
11
|
-
stroke: string;
|
|
12
|
-
strokeOpacity: number;
|
|
13
|
-
opacity: number;
|
|
14
|
-
outlineColor: string;
|
|
15
|
-
};
|
|
16
|
-
getAttributes(): {
|
|
17
|
-
points: import("../..").PointTuple[];
|
|
18
|
-
width: number;
|
|
19
|
-
height: number;
|
|
20
|
-
fill: string;
|
|
21
|
-
fillOpacity: number;
|
|
22
|
-
strokeWidth: number;
|
|
23
|
-
stroke: string;
|
|
24
|
-
strokeOpacity: number;
|
|
25
|
-
opacity: number;
|
|
26
|
-
outlineColor: string;
|
|
27
|
-
id: string;
|
|
28
|
-
properties: {
|
|
29
|
-
[x: string]: any;
|
|
30
|
-
};
|
|
31
|
-
type: string;
|
|
32
|
-
x: number;
|
|
33
|
-
y: number;
|
|
34
|
-
isSelected: boolean;
|
|
35
|
-
isHovered: boolean;
|
|
36
|
-
text: {
|
|
37
|
-
value: string;
|
|
38
|
-
x: number;
|
|
39
|
-
y: number;
|
|
40
|
-
draggable: boolean;
|
|
41
|
-
editable: boolean;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
4
|
getShape(): h.JSX.Element;
|
|
45
5
|
}
|
|
@@ -1,34 +1,5 @@
|
|
|
1
1
|
import { h } from 'preact';
|
|
2
2
|
import BaseNode from './BaseNode';
|
|
3
3
|
export default class EllipseNode extends BaseNode {
|
|
4
|
-
getAttributes(): {
|
|
5
|
-
rx: number;
|
|
6
|
-
ry: number;
|
|
7
|
-
width: number;
|
|
8
|
-
height: number;
|
|
9
|
-
fill: string;
|
|
10
|
-
fillOpacity: number;
|
|
11
|
-
strokeWidth: number;
|
|
12
|
-
stroke: string;
|
|
13
|
-
strokeOpacity: number;
|
|
14
|
-
opacity: number;
|
|
15
|
-
outlineColor: string;
|
|
16
|
-
id: string;
|
|
17
|
-
properties: {
|
|
18
|
-
[x: string]: any;
|
|
19
|
-
};
|
|
20
|
-
type: string;
|
|
21
|
-
x: number;
|
|
22
|
-
y: number;
|
|
23
|
-
isSelected: boolean;
|
|
24
|
-
isHovered: boolean;
|
|
25
|
-
text: {
|
|
26
|
-
value: string;
|
|
27
|
-
x: number;
|
|
28
|
-
y: number;
|
|
29
|
-
draggable: boolean;
|
|
30
|
-
editable: boolean;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
4
|
getShape(): h.JSX.Element;
|
|
34
5
|
}
|
|
@@ -2,9 +2,30 @@ import { h } from 'preact';
|
|
|
2
2
|
import BaseNode from './BaseNode';
|
|
3
3
|
export default class HtmlNode extends BaseNode {
|
|
4
4
|
ref: HTMLElement;
|
|
5
|
+
currrentProperties: string;
|
|
6
|
+
preProperties: string;
|
|
5
7
|
setRef: (dom: any) => void;
|
|
6
8
|
get rootEl(): HTMLElement;
|
|
9
|
+
/**
|
|
10
|
+
* @overridable 支持重写
|
|
11
|
+
* 自定义HTML节点内容
|
|
12
|
+
* @param {HTMLElement} rootEl 自定义HTML节点内容可以挂载的dom节点
|
|
13
|
+
* @example
|
|
14
|
+
* class CustomHtmlNode extends HtmlNode {
|
|
15
|
+
* setHtml(rootEl) {
|
|
16
|
+
* const input = document.createElement('input');
|
|
17
|
+
* rootEl.appendChild(input)
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
*/
|
|
7
21
|
setHtml(rootEl: HTMLElement): void;
|
|
22
|
+
/**
|
|
23
|
+
* @overridable 支持重写
|
|
24
|
+
* 和react的shouldComponentUpdate类似,都是为了避免出发不必要的render.
|
|
25
|
+
* 但是这里不一样的地方在于,setHtml方法,我们只在properties发生变化了后再触发。
|
|
26
|
+
* 而x,y等这些坐标相关的方法发生了变化,不会再重新触发setHtml.
|
|
27
|
+
*/
|
|
28
|
+
shouldUpdate(): boolean;
|
|
8
29
|
componentDidMount(): void;
|
|
9
30
|
componentDidUpdate(): void;
|
|
10
31
|
getShape(): h.JSX.Element;
|
|
@@ -1,45 +1,5 @@
|
|
|
1
1
|
import { h } from 'preact';
|
|
2
2
|
import BaseNode from './BaseNode';
|
|
3
3
|
export default class PolygonNode extends BaseNode {
|
|
4
|
-
getShapeStyle(): {
|
|
5
|
-
points: import("../..").PointTuple[];
|
|
6
|
-
width: number;
|
|
7
|
-
height: number;
|
|
8
|
-
fill: string;
|
|
9
|
-
fillOpacity: number;
|
|
10
|
-
strokeWidth: number;
|
|
11
|
-
stroke: string;
|
|
12
|
-
strokeOpacity: number;
|
|
13
|
-
opacity: number;
|
|
14
|
-
outlineColor: string;
|
|
15
|
-
};
|
|
16
|
-
getAttributes(): {
|
|
17
|
-
points: import("../..").PointTuple[];
|
|
18
|
-
width: number;
|
|
19
|
-
height: number;
|
|
20
|
-
fill: string;
|
|
21
|
-
fillOpacity: number;
|
|
22
|
-
strokeWidth: number;
|
|
23
|
-
stroke: string;
|
|
24
|
-
strokeOpacity: number;
|
|
25
|
-
opacity: number;
|
|
26
|
-
outlineColor: string;
|
|
27
|
-
id: string;
|
|
28
|
-
properties: {
|
|
29
|
-
[x: string]: any;
|
|
30
|
-
};
|
|
31
|
-
type: string;
|
|
32
|
-
x: number;
|
|
33
|
-
y: number;
|
|
34
|
-
isSelected: boolean;
|
|
35
|
-
isHovered: boolean;
|
|
36
|
-
text: {
|
|
37
|
-
value: string;
|
|
38
|
-
x: number;
|
|
39
|
-
y: number;
|
|
40
|
-
draggable: boolean;
|
|
41
|
-
editable: boolean;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
4
|
getShape(): h.JSX.Element;
|
|
45
5
|
}
|