@html-graph/html-graph 0.0.50 → 0.0.52
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 +10 -5
- package/dist/main.d.ts +181 -54
- package/dist/main.js +1053 -687
- package/dist/main.umd.cjs +1 -1
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
</a>
|
|
12
12
|
|
|
13
13
|
Instead of connecting nodes dirrectly this library uses concept of ports, which provide greater fexibility at managing edges.
|
|
14
|
-
Port is an entity of
|
|
14
|
+
Port is an entity of a node to which edge can be attached to.
|
|
15
15
|
|
|
16
16
|
This library fits for tasks where easy nodes customization and interactiveness are required.
|
|
17
17
|
|
|
@@ -33,7 +33,7 @@ npm i @html-graph/html-graph
|
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
```typescript
|
|
36
|
-
import {
|
|
36
|
+
import { AddNodePorts, HtmlGraphBuilder } from "@html-graph/html-graph";
|
|
37
37
|
|
|
38
38
|
const canvas = new HtmlGraphBuilder()
|
|
39
39
|
.setOptions({
|
|
@@ -48,7 +48,7 @@ function createNode(
|
|
|
48
48
|
name: string,
|
|
49
49
|
frontPortId: string,
|
|
50
50
|
backPortId: string,
|
|
51
|
-
): [HTMLElement,
|
|
51
|
+
): [HTMLElement, AddNodePorts] {
|
|
52
52
|
const node = document.createElement("div");
|
|
53
53
|
node.classList.add("node");
|
|
54
54
|
|
|
@@ -64,7 +64,12 @@ function createNode(
|
|
|
64
64
|
backPort.classList.add("port");
|
|
65
65
|
node.appendChild(backPort);
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
const ports = new Map([
|
|
68
|
+
[frontPortId, frontPort],
|
|
69
|
+
[backPortId, backPort],
|
|
70
|
+
]);
|
|
71
|
+
|
|
72
|
+
return [node, ports];
|
|
68
73
|
}
|
|
69
74
|
|
|
70
75
|
const [node1, ports1] = createNode("Node 1", "port-1-1", "port-1-2");
|
|
@@ -81,7 +86,7 @@ canvas
|
|
|
81
86
|
|
|
82
87
|
Refer to [Examples](examples) for more.
|
|
83
88
|
|
|
84
|
-
## Run examples
|
|
89
|
+
## Run examples
|
|
85
90
|
|
|
86
91
|
Use node version >= 20
|
|
87
92
|
|
package/dist/main.d.ts
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
export declare interface AddEdgeRequest {
|
|
2
|
-
id?:
|
|
2
|
+
id?: unknown;
|
|
3
3
|
from: string;
|
|
4
4
|
to: string;
|
|
5
5
|
options?: EdgeOptions;
|
|
6
|
+
priority?: number;
|
|
6
7
|
}
|
|
7
8
|
|
|
9
|
+
export declare type AddNodePorts = ReadonlyMap<unknown, MarkNodePortRequest>;
|
|
10
|
+
|
|
8
11
|
export declare interface AddNodeRequest {
|
|
9
|
-
id?:
|
|
12
|
+
id?: unknown;
|
|
10
13
|
element: HTMLElement;
|
|
11
14
|
x: number;
|
|
12
15
|
y: number;
|
|
13
|
-
ports?:
|
|
16
|
+
ports?: AddNodePorts;
|
|
14
17
|
centerFn?: CenterFn;
|
|
18
|
+
priority?: number;
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
export declare type BackgroundDrawingFn = (ctx: CanvasRenderingContext2D, transformer: PublicViewportTransformer) => void;
|
|
@@ -58,6 +62,8 @@ declare interface BezierEdgeOptions {
|
|
|
58
62
|
readonly hasTargetArrow?: boolean;
|
|
59
63
|
readonly cycleRadius?: number;
|
|
60
64
|
readonly smallCycleRadius?: number;
|
|
65
|
+
readonly detourDistance?: number;
|
|
66
|
+
readonly detourDirection?: number;
|
|
61
67
|
}
|
|
62
68
|
|
|
63
69
|
export declare interface Canvas {
|
|
@@ -69,20 +75,24 @@ export declare interface Canvas {
|
|
|
69
75
|
* adds node to graph
|
|
70
76
|
*/
|
|
71
77
|
addNode(node: AddNodeRequest): Canvas;
|
|
78
|
+
/**
|
|
79
|
+
* updates node absolute coordinates
|
|
80
|
+
*/
|
|
81
|
+
updateNode(nodeId: unknown, request: UpdateNodeRequest): Canvas;
|
|
72
82
|
/**
|
|
73
83
|
* removes node from graph
|
|
74
84
|
* all the ports of node get unmarked
|
|
75
85
|
* all the edges adjacent to node get removed
|
|
76
86
|
*/
|
|
77
|
-
removeNode(nodeId:
|
|
87
|
+
removeNode(nodeId: unknown): Canvas;
|
|
78
88
|
/**
|
|
79
89
|
* marks element as port of node
|
|
80
90
|
*/
|
|
81
91
|
markPort(port: MarkPortRequest): Canvas;
|
|
82
92
|
/**
|
|
83
|
-
* updates
|
|
93
|
+
* updates port and attached edges
|
|
84
94
|
*/
|
|
85
|
-
|
|
95
|
+
updatePort(portId: string, request?: UpdatePortRequest): Canvas;
|
|
86
96
|
/**
|
|
87
97
|
* ummarks element as port of node
|
|
88
98
|
* all the edges adjacent to port get removed
|
|
@@ -92,10 +102,14 @@ export declare interface Canvas {
|
|
|
92
102
|
* adds edge to graph
|
|
93
103
|
*/
|
|
94
104
|
addEdge(edge: AddEdgeRequest): Canvas;
|
|
105
|
+
/**
|
|
106
|
+
* updates edge
|
|
107
|
+
*/
|
|
108
|
+
updateEdge(edgeId: unknown, request: UpdateEdgeRequest): Canvas;
|
|
95
109
|
/**
|
|
96
110
|
* removes edge from graph
|
|
97
111
|
*/
|
|
98
|
-
removeEdge(edgeId:
|
|
112
|
+
removeEdge(edgeId: unknown): Canvas;
|
|
99
113
|
/**
|
|
100
114
|
* applies transformation for viewport
|
|
101
115
|
*/
|
|
@@ -104,18 +118,10 @@ export declare interface Canvas {
|
|
|
104
118
|
* moves viewport to nodes
|
|
105
119
|
*/
|
|
106
120
|
moveToNodes(nodeIds: readonly string[]): Canvas;
|
|
107
|
-
/**
|
|
108
|
-
* updates node absolute coordinates
|
|
109
|
-
*/
|
|
110
|
-
updateNodeCoordinates(nodeId: string, x: number, y: number): Canvas;
|
|
111
|
-
/**
|
|
112
|
-
* updates edge
|
|
113
|
-
*/
|
|
114
|
-
updateEdge(edgeId: string, request: UpdateEdgeRequest): Canvas;
|
|
115
121
|
/**
|
|
116
122
|
* moves specified node on top
|
|
117
123
|
*/
|
|
118
|
-
moveNodeOnTop(nodeId:
|
|
124
|
+
moveNodeOnTop(nodeId: unknown): Canvas;
|
|
119
125
|
/**
|
|
120
126
|
* attaches canvas to given element
|
|
121
127
|
*/
|
|
@@ -133,7 +139,7 @@ export declare interface Canvas {
|
|
|
133
139
|
/**
|
|
134
140
|
* destroys canvas
|
|
135
141
|
* canvas element gets rolled back to initial state
|
|
136
|
-
* canvas
|
|
142
|
+
* canvas can not be reused
|
|
137
143
|
*/
|
|
138
144
|
destroy(): void;
|
|
139
145
|
}
|
|
@@ -148,24 +154,24 @@ export declare class CanvasCore implements Canvas {
|
|
|
148
154
|
private readonly edgeControllerFactory;
|
|
149
155
|
constructor(apiOptions?: CoreOptions | undefined);
|
|
150
156
|
addNode(node: AddNodeRequest): CanvasCore;
|
|
151
|
-
|
|
152
|
-
removeNode(nodeId:
|
|
157
|
+
updateNode(nodeId: unknown, request: UpdateNodeRequest): CanvasCore;
|
|
158
|
+
removeNode(nodeId: unknown): CanvasCore;
|
|
159
|
+
moveNodeOnTop(nodeId: unknown): CanvasCore;
|
|
153
160
|
markPort(port: MarkPortRequest): CanvasCore;
|
|
154
|
-
|
|
161
|
+
updatePort(portId: string, request: UpdatePortRequest): CanvasCore;
|
|
155
162
|
unmarkPort(portId: string): CanvasCore;
|
|
156
163
|
addEdge(edge: AddEdgeRequest): CanvasCore;
|
|
157
|
-
|
|
164
|
+
updateEdge(edgeId: unknown, request: UpdateEdgeRequest): CanvasCore;
|
|
165
|
+
removeEdge(edgeId: unknown): CanvasCore;
|
|
158
166
|
patchViewportState(request: PatchViewportRequest): CanvasCore;
|
|
159
167
|
moveToNodes(nodeIds: readonly string[]): CanvasCore;
|
|
160
|
-
updateNodeCoordinates(nodeId: string, x: number, y: number): CanvasCore;
|
|
161
|
-
updateEdge(edgeId: string, request: UpdateEdgeRequest): CanvasCore;
|
|
162
168
|
clear(): CanvasCore;
|
|
163
169
|
attach(element: HTMLElement): CanvasCore;
|
|
164
170
|
detach(): CanvasCore;
|
|
165
171
|
destroy(): void;
|
|
166
172
|
}
|
|
167
173
|
|
|
168
|
-
declare type CenterFn = (width: number, height: number) => [number, number];
|
|
174
|
+
export declare type CenterFn = (width: number, height: number) => [number, number];
|
|
169
175
|
|
|
170
176
|
export declare interface CoreOptions {
|
|
171
177
|
/**
|
|
@@ -191,6 +197,10 @@ export declare interface CoreOptions {
|
|
|
191
197
|
* center of port determines point to which edge attaches
|
|
192
198
|
*/
|
|
193
199
|
readonly centerFn?: CenterFn;
|
|
200
|
+
/**
|
|
201
|
+
* specifies default direction of port
|
|
202
|
+
*/
|
|
203
|
+
readonly direction?: number;
|
|
194
204
|
};
|
|
195
205
|
/**
|
|
196
206
|
*edges related behavior
|
|
@@ -217,6 +227,22 @@ export declare const createBezierEdgeControllerFactory: (options: {
|
|
|
217
227
|
hasTargetArrow: boolean;
|
|
218
228
|
cycleRadius: number;
|
|
219
229
|
smallCycleRadius: number;
|
|
230
|
+
detourDistance: number;
|
|
231
|
+
detourDirection: number;
|
|
232
|
+
}) => EdgeControllerFactory;
|
|
233
|
+
|
|
234
|
+
export declare const createHorizontalEdgeControllerFactory: (options: {
|
|
235
|
+
color: string;
|
|
236
|
+
width: number;
|
|
237
|
+
arrowLength: number;
|
|
238
|
+
arrowWidth: number;
|
|
239
|
+
arrowOffset: number;
|
|
240
|
+
hasSourceArrow: boolean;
|
|
241
|
+
hasTargetArrow: boolean;
|
|
242
|
+
cycleSquareSide: number;
|
|
243
|
+
roundness: number;
|
|
244
|
+
detourDistance: number;
|
|
245
|
+
detourDirection: number;
|
|
220
246
|
}) => EdgeControllerFactory;
|
|
221
247
|
|
|
222
248
|
export declare const createStraightEdgeControllerFactory: (options: {
|
|
@@ -229,6 +255,22 @@ export declare const createStraightEdgeControllerFactory: (options: {
|
|
|
229
255
|
hasTargetArrow: boolean;
|
|
230
256
|
cycleSquareSide: number;
|
|
231
257
|
roundness: number;
|
|
258
|
+
detourDistance: number;
|
|
259
|
+
detourDirection: number;
|
|
260
|
+
}) => EdgeControllerFactory;
|
|
261
|
+
|
|
262
|
+
export declare const createVerticalEdgeControllerFactory: (options: {
|
|
263
|
+
color: string;
|
|
264
|
+
width: number;
|
|
265
|
+
arrowLength: number;
|
|
266
|
+
arrowWidth: number;
|
|
267
|
+
arrowOffset: number;
|
|
268
|
+
hasSourceArrow: boolean;
|
|
269
|
+
hasTargetArrow: boolean;
|
|
270
|
+
cycleSquareSide: number;
|
|
271
|
+
roundness: number;
|
|
272
|
+
detourDistance: number;
|
|
273
|
+
detourDirection: number;
|
|
232
274
|
}) => EdgeControllerFactory;
|
|
233
275
|
|
|
234
276
|
declare interface CustomEdgeOptions {
|
|
@@ -263,11 +305,29 @@ export declare class CycleSquareEdgeController implements EdgeController {
|
|
|
263
305
|
private readonly line;
|
|
264
306
|
private readonly arrow;
|
|
265
307
|
private readonly roundness;
|
|
266
|
-
private readonly
|
|
308
|
+
private readonly linePoints;
|
|
267
309
|
constructor(color: string, width: number, arrowLength: number, arrowWidth: number, hasArrow: boolean, side: number, minPortOffset: number, roundness: number);
|
|
268
310
|
update(x: number, y: number, _width: number, _height: number, from: PortPayload): void;
|
|
269
311
|
}
|
|
270
312
|
|
|
313
|
+
export declare class DetourStraightEdgeController implements EdgeController {
|
|
314
|
+
private readonly color;
|
|
315
|
+
private readonly width;
|
|
316
|
+
private readonly arrowLength;
|
|
317
|
+
private readonly arrowWidth;
|
|
318
|
+
private readonly arrowOffset;
|
|
319
|
+
private readonly roundness;
|
|
320
|
+
readonly svg: SVGSVGElement;
|
|
321
|
+
private readonly group;
|
|
322
|
+
private readonly line;
|
|
323
|
+
private readonly sourceArrow;
|
|
324
|
+
private readonly targetArrow;
|
|
325
|
+
private readonly detourX;
|
|
326
|
+
private readonly detourY;
|
|
327
|
+
constructor(color: string, width: number, arrowLength: number, arrowWidth: number, arrowOffset: number, hasSourceArrow: boolean, hasTargetArrow: boolean, roundness: number, detourDistance: number, detourDirection: number);
|
|
328
|
+
update(x: number, y: number, width: number, height: number, from: PortPayload, to: PortPayload): void;
|
|
329
|
+
}
|
|
330
|
+
|
|
271
331
|
export declare interface DragOptions {
|
|
272
332
|
events?: {
|
|
273
333
|
onNodeDrag?: (payload: NodeDragPayload) => void;
|
|
@@ -282,20 +342,43 @@ export declare interface EdgeController {
|
|
|
282
342
|
|
|
283
343
|
declare type EdgeControllerFactory = (type: EdgeType) => EdgeController;
|
|
284
344
|
|
|
285
|
-
declare type EdgeOptions = BezierEdgeOptions | StraightEdgeOptions | CustomEdgeOptions;
|
|
345
|
+
declare type EdgeOptions = BezierEdgeOptions | StraightEdgeOptions | CustomEdgeOptions | HorizontalEdgeOptions | VerticalEdgeOptions;
|
|
286
346
|
|
|
287
347
|
export declare enum EdgeType {
|
|
288
348
|
Regular = "regular",
|
|
289
|
-
|
|
349
|
+
PortCycle = "port-cycle",
|
|
350
|
+
NodeCycle = "node-cycle"
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
export declare class HorizontalEdgeController implements EdgeController {
|
|
354
|
+
private readonly color;
|
|
355
|
+
private readonly width;
|
|
356
|
+
private readonly arrowLength;
|
|
357
|
+
private readonly arrowWidth;
|
|
358
|
+
private readonly arrowOffset;
|
|
359
|
+
private readonly roundness;
|
|
360
|
+
readonly svg: SVGSVGElement;
|
|
361
|
+
private readonly group;
|
|
362
|
+
private readonly line;
|
|
363
|
+
private readonly sourceArrow;
|
|
364
|
+
private readonly targetArrow;
|
|
365
|
+
constructor(color: string, width: number, arrowLength: number, arrowWidth: number, arrowOffset: number, hasSourceArrow: boolean, hasTargetArrow: boolean, roundness: number);
|
|
366
|
+
update(x: number, y: number, width: number, height: number, from: PortPayload, to: PortPayload): void;
|
|
290
367
|
}
|
|
291
368
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
369
|
+
declare interface HorizontalEdgeOptions {
|
|
370
|
+
readonly type: "horizontal";
|
|
371
|
+
readonly color?: string;
|
|
372
|
+
readonly width?: number;
|
|
373
|
+
readonly arrowLength?: number;
|
|
374
|
+
readonly arrowWidth?: number;
|
|
375
|
+
readonly arrowOffset?: number;
|
|
376
|
+
readonly hasSourceArrow?: boolean;
|
|
377
|
+
readonly hasTargetArrow?: boolean;
|
|
378
|
+
readonly cycleSquareSide?: number;
|
|
379
|
+
readonly roundness?: number;
|
|
380
|
+
readonly detourDistance?: number;
|
|
381
|
+
readonly detourDirection?: number;
|
|
299
382
|
}
|
|
300
383
|
|
|
301
384
|
export declare class HtmlGraphBuilder {
|
|
@@ -315,19 +398,19 @@ declare type LayersMode = "edges-on-top" | "nodes-on-top" | "edges-follow-node";
|
|
|
315
398
|
export declare type MarkNodePortRequest = HTMLElement | {
|
|
316
399
|
readonly element: HTMLElement;
|
|
317
400
|
readonly centerFn?: CenterFn;
|
|
318
|
-
readonly direction?: number
|
|
401
|
+
readonly direction?: number;
|
|
319
402
|
};
|
|
320
403
|
|
|
321
404
|
export declare interface MarkPortRequest {
|
|
322
|
-
readonly id?:
|
|
405
|
+
readonly id?: unknown;
|
|
323
406
|
readonly element: HTMLElement;
|
|
324
|
-
readonly nodeId:
|
|
407
|
+
readonly nodeId: unknown;
|
|
325
408
|
readonly centerFn?: CenterFn;
|
|
326
|
-
readonly direction?: number
|
|
409
|
+
readonly direction?: number;
|
|
327
410
|
}
|
|
328
411
|
|
|
329
412
|
export declare interface NodeDragPayload {
|
|
330
|
-
readonly nodeId:
|
|
413
|
+
readonly nodeId: unknown;
|
|
331
414
|
readonly element: HTMLElement;
|
|
332
415
|
readonly x: number;
|
|
333
416
|
readonly y: number;
|
|
@@ -352,12 +435,10 @@ export declare interface PatchViewportRequest {
|
|
|
352
435
|
y?: number;
|
|
353
436
|
}
|
|
354
437
|
|
|
355
|
-
declare type Point = [number, number];
|
|
356
|
-
|
|
357
438
|
export declare interface PortPayload {
|
|
358
439
|
readonly element: HTMLElement;
|
|
359
|
-
|
|
360
|
-
|
|
440
|
+
centerFn: CenterFn;
|
|
441
|
+
direction: number;
|
|
361
442
|
}
|
|
362
443
|
|
|
363
444
|
export declare class PublicViewportTransformer {
|
|
@@ -391,12 +472,12 @@ export declare class StraightEdgeController implements EdgeController {
|
|
|
391
472
|
private readonly arrowLength;
|
|
392
473
|
private readonly arrowWidth;
|
|
393
474
|
private readonly arrowOffset;
|
|
475
|
+
private readonly roundness;
|
|
394
476
|
readonly svg: SVGSVGElement;
|
|
395
477
|
private readonly group;
|
|
396
478
|
private readonly line;
|
|
397
479
|
private readonly sourceArrow;
|
|
398
480
|
private readonly targetArrow;
|
|
399
|
-
private readonly roundness;
|
|
400
481
|
constructor(color: string, width: number, arrowLength: number, arrowWidth: number, arrowOffset: number, hasSourceArrow: boolean, hasTargetArrow: boolean, roundness: number);
|
|
401
482
|
update(x: number, y: number, width: number, height: number, from: PortPayload, to: PortPayload): void;
|
|
402
483
|
}
|
|
@@ -412,6 +493,8 @@ declare interface StraightEdgeOptions {
|
|
|
412
493
|
readonly hasTargetArrow?: boolean;
|
|
413
494
|
readonly cycleSquareSide?: number;
|
|
414
495
|
readonly roundness?: number;
|
|
496
|
+
readonly detourDistance?: number;
|
|
497
|
+
readonly detourDirection?: number;
|
|
415
498
|
}
|
|
416
499
|
|
|
417
500
|
export declare interface TransformOptions {
|
|
@@ -438,6 +521,19 @@ export declare interface TransformPayload {
|
|
|
438
521
|
|
|
439
522
|
export declare interface UpdateEdgeRequest {
|
|
440
523
|
readonly controller?: EdgeController;
|
|
524
|
+
readonly priority?: number;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
declare interface UpdateNodeRequest {
|
|
528
|
+
readonly x?: number;
|
|
529
|
+
readonly y?: number;
|
|
530
|
+
readonly priority?: number;
|
|
531
|
+
readonly centerFn?: CenterFn;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
declare interface UpdatePortRequest {
|
|
535
|
+
readonly direction?: number;
|
|
536
|
+
readonly centerFn?: CenterFn;
|
|
441
537
|
}
|
|
442
538
|
|
|
443
539
|
export declare class UserDraggableNodesCanvas implements Canvas {
|
|
@@ -457,16 +553,16 @@ export declare class UserDraggableNodesCanvas implements Canvas {
|
|
|
457
553
|
private previousTouchCoords;
|
|
458
554
|
constructor(canvas: Canvas, dragOptions?: DragOptions);
|
|
459
555
|
addNode(node: AddNodeRequest): UserDraggableNodesCanvas;
|
|
460
|
-
|
|
556
|
+
updateNode(nodeId: unknown, request: UpdateNodeRequest): UserDraggableNodesCanvas;
|
|
557
|
+
removeNode(nodeId: unknown): UserDraggableNodesCanvas;
|
|
461
558
|
markPort(port: MarkPortRequest): UserDraggableNodesCanvas;
|
|
462
|
-
|
|
559
|
+
updatePort(portId: string, request?: UpdatePortRequest): UserDraggableNodesCanvas;
|
|
463
560
|
unmarkPort(portId: string): UserDraggableNodesCanvas;
|
|
464
561
|
addEdge(edge: AddEdgeRequest): UserDraggableNodesCanvas;
|
|
465
|
-
|
|
562
|
+
updateEdge(edgeId: unknown, request: UpdateEdgeRequest): UserDraggableNodesCanvas;
|
|
563
|
+
removeEdge(edgeId: unknown): UserDraggableNodesCanvas;
|
|
466
564
|
patchViewportState(request: PatchViewportRequest): UserDraggableNodesCanvas;
|
|
467
565
|
moveToNodes(nodeIds: readonly string[]): UserDraggableNodesCanvas;
|
|
468
|
-
updateNodeCoordinates(nodeId: string, x: number, y: number): UserDraggableNodesCanvas;
|
|
469
|
-
updateEdge(edgeId: string, request: UpdateEdgeRequest): UserDraggableNodesCanvas;
|
|
470
566
|
moveNodeOnTop(nodeId: string): UserDraggableNodesCanvas;
|
|
471
567
|
clear(): UserDraggableNodesCanvas;
|
|
472
568
|
attach(element: HTMLElement): UserDraggableNodesCanvas;
|
|
@@ -499,16 +595,16 @@ export declare class UserTransformableCanvas implements Canvas {
|
|
|
499
595
|
private readonly onTouchEnd;
|
|
500
596
|
constructor(canvas: Canvas, options?: TransformOptions | undefined);
|
|
501
597
|
addNode(node: AddNodeRequest): UserTransformableCanvas;
|
|
502
|
-
|
|
598
|
+
updateNode(nodeId: unknown, request: UpdateNodeRequest): UserTransformableCanvas;
|
|
599
|
+
removeNode(nodeId: unknown): UserTransformableCanvas;
|
|
503
600
|
markPort(port: MarkPortRequest): UserTransformableCanvas;
|
|
504
|
-
|
|
601
|
+
updatePort(portId: string, request: UpdatePortRequest): UserTransformableCanvas;
|
|
505
602
|
unmarkPort(portId: string): UserTransformableCanvas;
|
|
506
603
|
addEdge(edge: AddEdgeRequest): UserTransformableCanvas;
|
|
507
|
-
|
|
604
|
+
updateEdge(edgeId: unknown, request: UpdateEdgeRequest): UserTransformableCanvas;
|
|
605
|
+
removeEdge(edgeId: unknown): UserTransformableCanvas;
|
|
508
606
|
patchViewportState(request: PatchViewportRequest): UserTransformableCanvas;
|
|
509
607
|
moveToNodes(nodeIds: readonly string[]): UserTransformableCanvas;
|
|
510
|
-
updateNodeCoordinates(nodeId: string, x: number, y: number): UserTransformableCanvas;
|
|
511
|
-
updateEdge(edgeId: string, request: UpdateEdgeRequest): UserTransformableCanvas;
|
|
512
608
|
moveNodeOnTop(nodeId: string): UserTransformableCanvas;
|
|
513
609
|
clear(): UserTransformableCanvas;
|
|
514
610
|
attach(element: HTMLElement): UserTransformableCanvas;
|
|
@@ -520,6 +616,37 @@ export declare class UserTransformableCanvas implements Canvas {
|
|
|
520
616
|
private scaleViewport;
|
|
521
617
|
}
|
|
522
618
|
|
|
619
|
+
export declare class VerticalEdgeController implements EdgeController {
|
|
620
|
+
private readonly color;
|
|
621
|
+
private readonly width;
|
|
622
|
+
private readonly arrowLength;
|
|
623
|
+
private readonly arrowWidth;
|
|
624
|
+
private readonly arrowOffset;
|
|
625
|
+
private readonly roundness;
|
|
626
|
+
readonly svg: SVGSVGElement;
|
|
627
|
+
private readonly group;
|
|
628
|
+
private readonly line;
|
|
629
|
+
private readonly sourceArrow;
|
|
630
|
+
private readonly targetArrow;
|
|
631
|
+
constructor(color: string, width: number, arrowLength: number, arrowWidth: number, arrowOffset: number, hasSourceArrow: boolean, hasTargetArrow: boolean, roundness: number);
|
|
632
|
+
update(x: number, y: number, width: number, height: number, from: PortPayload, to: PortPayload): void;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
declare interface VerticalEdgeOptions {
|
|
636
|
+
readonly type: "vertical";
|
|
637
|
+
readonly color?: string;
|
|
638
|
+
readonly width?: number;
|
|
639
|
+
readonly arrowLength?: number;
|
|
640
|
+
readonly arrowWidth?: number;
|
|
641
|
+
readonly arrowOffset?: number;
|
|
642
|
+
readonly hasSourceArrow?: boolean;
|
|
643
|
+
readonly hasTargetArrow?: boolean;
|
|
644
|
+
readonly cycleSquareSide?: number;
|
|
645
|
+
readonly roundness?: number;
|
|
646
|
+
readonly detourDistance?: number;
|
|
647
|
+
readonly detourDirection?: number;
|
|
648
|
+
}
|
|
649
|
+
|
|
523
650
|
declare class ViewportTransformer {
|
|
524
651
|
private state;
|
|
525
652
|
getViewCoords(xa: number, ya: number): [number, number];
|