@html-graph/html-graph 3.0.0 → 3.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/README.md +1 -0
- package/dist/html-graph.d.ts +113 -90
- package/dist/html-graph.js +1414 -1386
- package/dist/html-graph.umd.cjs +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/html-graph.d.ts
CHANGED
|
@@ -14,14 +14,6 @@ declare interface AddEdgeRequest_2 {
|
|
|
14
14
|
readonly priority: number;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
declare interface AddEdgeRequest_3 {
|
|
18
|
-
readonly id: unknown;
|
|
19
|
-
readonly from: unknown;
|
|
20
|
-
readonly to: unknown;
|
|
21
|
-
readonly shape: EdgeShape;
|
|
22
|
-
readonly priority: number;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
17
|
export declare type AddNodePorts = Iterable<MarkNodePortRequest>;
|
|
26
18
|
|
|
27
19
|
export declare interface AddNodeRequest {
|
|
@@ -43,15 +35,6 @@ declare interface AddNodeRequest_2 {
|
|
|
43
35
|
readonly priority: number;
|
|
44
36
|
}
|
|
45
37
|
|
|
46
|
-
declare interface AddNodeRequest_3 {
|
|
47
|
-
readonly id: unknown;
|
|
48
|
-
readonly element: HTMLElement;
|
|
49
|
-
readonly x: number;
|
|
50
|
-
readonly y: number;
|
|
51
|
-
readonly centerFn: CenterFn;
|
|
52
|
-
readonly priority: number;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
38
|
declare interface AddPortRequest {
|
|
56
39
|
readonly id: unknown;
|
|
57
40
|
readonly nodeId: unknown;
|
|
@@ -59,6 +42,15 @@ declare interface AddPortRequest {
|
|
|
59
42
|
readonly direction: number;
|
|
60
43
|
}
|
|
61
44
|
|
|
45
|
+
declare interface BackgroundOptions {
|
|
46
|
+
readonly tileDimensions?: {
|
|
47
|
+
readonly width?: number;
|
|
48
|
+
readonly height?: number;
|
|
49
|
+
};
|
|
50
|
+
readonly renderer?: DotsRenderer | SVGElement;
|
|
51
|
+
readonly maxViewportScale?: number;
|
|
52
|
+
}
|
|
53
|
+
|
|
62
54
|
export declare interface BezierEdgeParams {
|
|
63
55
|
readonly color?: string | undefined;
|
|
64
56
|
readonly width?: number | undefined;
|
|
@@ -96,24 +88,50 @@ declare type BezierEdgeShapeConfig = {
|
|
|
96
88
|
readonly type?: "bezier" | undefined;
|
|
97
89
|
} & BezierEdgeParams;
|
|
98
90
|
|
|
91
|
+
/**
|
|
92
|
+
* Responsibility: provides graph rendering API for end user
|
|
93
|
+
*/
|
|
99
94
|
export declare class Canvas {
|
|
95
|
+
/**
|
|
96
|
+
* @deprecated access element directly instead
|
|
97
|
+
*/
|
|
100
98
|
readonly element: HTMLElement;
|
|
101
|
-
private readonly
|
|
102
|
-
private readonly
|
|
103
|
-
private readonly
|
|
104
|
-
private readonly edgeIdGenerator;
|
|
105
|
-
private readonly defaults;
|
|
99
|
+
private readonly graphStore;
|
|
100
|
+
private readonly viewportStore;
|
|
101
|
+
private readonly htmlView;
|
|
106
102
|
/**
|
|
107
|
-
* provides api for accessing graph
|
|
103
|
+
* provides api for accessing model of rendered graph
|
|
108
104
|
*/
|
|
109
105
|
readonly graph: Graph;
|
|
110
106
|
/**
|
|
111
107
|
* provides api for accessing viewport state
|
|
112
108
|
*/
|
|
113
109
|
readonly viewport: Viewport;
|
|
114
|
-
|
|
110
|
+
private readonly defaults;
|
|
111
|
+
private readonly nodeIdGenerator;
|
|
112
|
+
private readonly portIdGenerator;
|
|
113
|
+
private readonly edgeIdGenerator;
|
|
114
|
+
private readonly onAfterNodeAdded;
|
|
115
|
+
private readonly onAfterNodeUpdated;
|
|
116
|
+
private readonly onAfterNodePriorityUpdated;
|
|
117
|
+
private readonly onBeforeNodeRemoved;
|
|
118
|
+
private readonly onAfterPortUpdated;
|
|
119
|
+
private readonly onBeforePortUnmarked;
|
|
120
|
+
private readonly onAfterEdgeAdded;
|
|
121
|
+
private readonly onAfterEdgeShapeUpdated;
|
|
122
|
+
private readonly onAfterEdgeUpdated;
|
|
123
|
+
private readonly onAfterEdgePriorityUpdated;
|
|
124
|
+
private readonly onBeforeEdgeRemoved;
|
|
125
|
+
private readonly onBeforeClear;
|
|
126
|
+
private readonly onBeforeDestroyEmitter;
|
|
127
|
+
readonly onBeforeDestroy: EventHandler<void>;
|
|
128
|
+
constructor(
|
|
129
|
+
/**
|
|
130
|
+
* @deprecated access element directly instead
|
|
131
|
+
*/
|
|
132
|
+
element: HTMLElement, graphStore: GraphStore, viewportStore: ViewportStore, htmlView: HtmlView, options: CanvasDefaults);
|
|
115
133
|
/**
|
|
116
|
-
* adds node
|
|
134
|
+
* adds new node
|
|
117
135
|
*/
|
|
118
136
|
addNode(request: AddNodeRequest): Canvas;
|
|
119
137
|
/**
|
|
@@ -121,42 +139,42 @@ export declare class Canvas {
|
|
|
121
139
|
*/
|
|
122
140
|
updateNode(nodeId: unknown, request?: UpdateNodeRequest): Canvas;
|
|
123
141
|
/**
|
|
124
|
-
* removes node
|
|
142
|
+
* removes specified node
|
|
125
143
|
* all the ports of node get unmarked
|
|
126
144
|
* all the edges adjacent to node get removed
|
|
127
145
|
*/
|
|
128
146
|
removeNode(nodeId: unknown): Canvas;
|
|
129
147
|
/**
|
|
130
|
-
* marks element as port
|
|
148
|
+
* marks specified element as a port for specified node
|
|
131
149
|
*/
|
|
132
150
|
markPort(request: MarkPortRequest): Canvas;
|
|
133
151
|
/**
|
|
134
|
-
* updates port and attached
|
|
152
|
+
* updates port and edges attached to it
|
|
135
153
|
*/
|
|
136
154
|
updatePort(portId: unknown, request?: UpdatePortRequest): Canvas;
|
|
137
155
|
/**
|
|
138
|
-
*
|
|
139
|
-
* all the edges adjacent to port get removed
|
|
156
|
+
* unmarks specified port
|
|
157
|
+
* all the edges adjacent to the port get removed
|
|
140
158
|
*/
|
|
141
159
|
unmarkPort(portId: unknown): Canvas;
|
|
142
160
|
/**
|
|
143
|
-
* adds edge
|
|
161
|
+
* adds new edge
|
|
144
162
|
*/
|
|
145
163
|
addEdge(request: AddEdgeRequest): Canvas;
|
|
146
164
|
/**
|
|
147
|
-
* updates edge
|
|
165
|
+
* updates specified edge
|
|
148
166
|
*/
|
|
149
167
|
updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): Canvas;
|
|
150
168
|
/**
|
|
151
|
-
* removes edge
|
|
169
|
+
* removes specified edge
|
|
152
170
|
*/
|
|
153
171
|
removeEdge(edgeId: unknown): Canvas;
|
|
154
172
|
/**
|
|
155
|
-
* applies transformation for viewport
|
|
173
|
+
* applies transformation for viewport matrix
|
|
156
174
|
*/
|
|
157
175
|
patchViewportMatrix(request: PatchMatrixRequest): Canvas;
|
|
158
176
|
/**
|
|
159
|
-
* applies transformation for content
|
|
177
|
+
* applies transformation for content matrix
|
|
160
178
|
*/
|
|
161
179
|
patchContentMatrix(request: PatchMatrixRequest): Canvas;
|
|
162
180
|
/**
|
|
@@ -171,15 +189,20 @@ export declare class Canvas {
|
|
|
171
189
|
destroy(): void;
|
|
172
190
|
}
|
|
173
191
|
|
|
192
|
+
/**
|
|
193
|
+
* Responsibility: Constructs canvas based on specified configuration
|
|
194
|
+
*/
|
|
174
195
|
export declare class CanvasBuilder {
|
|
175
196
|
private element;
|
|
176
197
|
private canvasDefaults;
|
|
177
198
|
private dragOptions;
|
|
178
199
|
private transformOptions;
|
|
200
|
+
private backgroundOptions;
|
|
179
201
|
private virtualScrollOptions;
|
|
180
202
|
private hasDraggableNode;
|
|
181
203
|
private hasTransformableViewport;
|
|
182
204
|
private hasResizeReactiveNodes;
|
|
205
|
+
private hasBackground;
|
|
183
206
|
private boxRenderingTrigger;
|
|
184
207
|
setElement(element: HTMLElement): CanvasBuilder;
|
|
185
208
|
/**
|
|
@@ -203,31 +226,18 @@ export declare class CanvasBuilder {
|
|
|
203
226
|
*/
|
|
204
227
|
enableBoxAreaRendering(trigger: EventSubject<RenderingBox>): CanvasBuilder;
|
|
205
228
|
enableVirtualScroll(options: VirtualScrollOptions): CanvasBuilder;
|
|
229
|
+
enableBackground(options?: BackgroundOptions): CanvasBuilder;
|
|
206
230
|
/**
|
|
207
231
|
* builds final canvas
|
|
208
232
|
*/
|
|
209
233
|
build(): Canvas;
|
|
234
|
+
/**
|
|
235
|
+
* @deprecated
|
|
236
|
+
* CanvasBuilder should be single use object
|
|
237
|
+
*/
|
|
210
238
|
private reset;
|
|
211
239
|
}
|
|
212
240
|
|
|
213
|
-
declare interface CanvasController {
|
|
214
|
-
readonly graph: Graph;
|
|
215
|
-
readonly viewport: Viewport;
|
|
216
|
-
addNode(node: AddNodeRequest_3): void;
|
|
217
|
-
updateNode(nodeId: unknown, request: UpdateNodeRequest_3): void;
|
|
218
|
-
removeNode(nodeId: unknown): void;
|
|
219
|
-
markPort(port: MarkPortRequest_2): void;
|
|
220
|
-
updatePort(portId: unknown, request: UpdatePortRequest_3): void;
|
|
221
|
-
unmarkPort(portId: unknown): void;
|
|
222
|
-
addEdge(edge: AddEdgeRequest_3): void;
|
|
223
|
-
updateEdge(edgeId: unknown, request: UpdateEdgeRequest_3): void;
|
|
224
|
-
removeEdge(edgeId: unknown): void;
|
|
225
|
-
patchViewportMatrix(request: PatchMatrixRequest_2): void;
|
|
226
|
-
patchContentMatrix(request: PatchMatrixRequest_2): void;
|
|
227
|
-
clear(): void;
|
|
228
|
-
destroy(): void;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
241
|
export declare interface CanvasDefaults {
|
|
232
242
|
/**
|
|
233
243
|
* nodes related behavior
|
|
@@ -273,6 +283,11 @@ declare type ConstantPriority = number;
|
|
|
273
283
|
|
|
274
284
|
declare type CustomPriority = PriorityFn;
|
|
275
285
|
|
|
286
|
+
declare interface DotsRenderer {
|
|
287
|
+
readonly radius?: number;
|
|
288
|
+
readonly color?: string;
|
|
289
|
+
}
|
|
290
|
+
|
|
276
291
|
export declare interface DragOptions {
|
|
277
292
|
readonly moveOnTop?: boolean;
|
|
278
293
|
readonly mouse?: {
|
|
@@ -309,6 +324,9 @@ export declare interface EdgeRenderPort {
|
|
|
309
324
|
readonly nodeId: unknown;
|
|
310
325
|
}
|
|
311
326
|
|
|
327
|
+
/**
|
|
328
|
+
* Responsibility: Rendering edge via SVG
|
|
329
|
+
*/
|
|
312
330
|
export declare interface EdgeShape {
|
|
313
331
|
readonly svg: SVGSVGElement;
|
|
314
332
|
render(params: EdgeRenderParams): void;
|
|
@@ -318,15 +336,24 @@ declare type EdgeShapeConfig = BezierEdgeShapeConfig | StraightEdgeShapeConfig |
|
|
|
318
336
|
|
|
319
337
|
declare type EdgeShapeFactory = () => EdgeShape;
|
|
320
338
|
|
|
339
|
+
/**
|
|
340
|
+
* Responsibility: Provides a way to trigger events
|
|
341
|
+
*/
|
|
321
342
|
export declare interface EventEmitter<T> {
|
|
322
343
|
emit(payload: T): void;
|
|
323
344
|
}
|
|
324
345
|
|
|
346
|
+
/**
|
|
347
|
+
* Responsibility: Provides a way to handle events
|
|
348
|
+
*/
|
|
325
349
|
export declare interface EventHandler<T> {
|
|
326
350
|
subscribe(callback: (payload: T) => void): void;
|
|
327
351
|
unsubscribe(callback: (payload: T) => void): void;
|
|
328
352
|
}
|
|
329
353
|
|
|
354
|
+
/**
|
|
355
|
+
* Responsibility: Connects events and event handlers
|
|
356
|
+
*/
|
|
330
357
|
export declare class EventSubject<T> implements EventEmitter<T>, EventHandler<T> {
|
|
331
358
|
private readonly callbacks;
|
|
332
359
|
subscribe(callback: (payload: T) => void): void;
|
|
@@ -335,7 +362,7 @@ export declare class EventSubject<T> implements EventEmitter<T>, EventHandler<T>
|
|
|
335
362
|
}
|
|
336
363
|
|
|
337
364
|
/**
|
|
338
|
-
*
|
|
365
|
+
* Responsibility: Provides access to graph model for end user
|
|
339
366
|
*/
|
|
340
367
|
export declare class Graph {
|
|
341
368
|
private readonly graphStore;
|
|
@@ -391,14 +418,14 @@ export declare interface GraphPort {
|
|
|
391
418
|
}
|
|
392
419
|
|
|
393
420
|
/**
|
|
394
|
-
*
|
|
421
|
+
* Responsibility: Stores stae of graph
|
|
395
422
|
*/
|
|
396
423
|
declare class GraphStore {
|
|
397
424
|
private readonly nodes;
|
|
398
425
|
private readonly ports;
|
|
399
426
|
private readonly edges;
|
|
400
|
-
private readonly
|
|
401
|
-
private readonly
|
|
427
|
+
private readonly incomingEdges;
|
|
428
|
+
private readonly outcomingEdges;
|
|
402
429
|
private readonly cycleEdges;
|
|
403
430
|
private readonly afterNodeAddedEmitter;
|
|
404
431
|
readonly onAfterNodeAdded: EventHandler<unknown>;
|
|
@@ -493,10 +520,31 @@ declare type HorizontalEdgeShapeConfig = {
|
|
|
493
520
|
readonly type: "horizontal";
|
|
494
521
|
} & HorizontalEdgeParams;
|
|
495
522
|
|
|
523
|
+
/**
|
|
524
|
+
* Responsibility: Library specific error to throw when unexpected action
|
|
525
|
+
* occured
|
|
526
|
+
*/
|
|
496
527
|
export declare class HtmlGraphError extends Error {
|
|
497
528
|
readonly name = "HtmlGraphError";
|
|
498
529
|
}
|
|
499
530
|
|
|
531
|
+
/**
|
|
532
|
+
* Responsibility: Provides access to DOM modifications
|
|
533
|
+
*/
|
|
534
|
+
declare interface HtmlView {
|
|
535
|
+
attachNode(nodeId: unknown): void;
|
|
536
|
+
detachNode(nodeId: unknown): void;
|
|
537
|
+
attachEdge(edgeId: unknown): void;
|
|
538
|
+
detachEdge(edgeId: unknown): void;
|
|
539
|
+
clear(): void;
|
|
540
|
+
destroy(): void;
|
|
541
|
+
updateNodePosition(nodeId: unknown): void;
|
|
542
|
+
updateNodePriority(nodeId: unknown): void;
|
|
543
|
+
updateEdgeShape(edgeId: unknown): void;
|
|
544
|
+
renderEdge(edgeId: unknown): void;
|
|
545
|
+
updateEdgePriority(edgeId: unknown): void;
|
|
546
|
+
}
|
|
547
|
+
|
|
500
548
|
declare type IncrementalPriority = "incremental";
|
|
501
549
|
|
|
502
550
|
export declare type MarkNodePortRequest = {
|
|
@@ -512,13 +560,6 @@ export declare interface MarkPortRequest {
|
|
|
512
560
|
readonly direction?: number;
|
|
513
561
|
}
|
|
514
562
|
|
|
515
|
-
declare interface MarkPortRequest_2 {
|
|
516
|
-
readonly id: unknown;
|
|
517
|
-
readonly element: HTMLElement;
|
|
518
|
-
readonly nodeId: unknown;
|
|
519
|
-
readonly direction: number;
|
|
520
|
-
}
|
|
521
|
-
|
|
522
563
|
export declare interface NodeDragPayload {
|
|
523
564
|
readonly nodeId: unknown;
|
|
524
565
|
readonly element: HTMLElement;
|
|
@@ -541,18 +582,15 @@ export declare interface PatchMatrixRequest {
|
|
|
541
582
|
readonly y?: number | undefined;
|
|
542
583
|
}
|
|
543
584
|
|
|
544
|
-
declare interface PatchMatrixRequest_2 {
|
|
545
|
-
readonly scale?: number | undefined;
|
|
546
|
-
readonly x?: number | undefined;
|
|
547
|
-
readonly y?: number | undefined;
|
|
548
|
-
}
|
|
549
|
-
|
|
550
585
|
declare interface PatchTransformRequest {
|
|
551
586
|
readonly scale?: number;
|
|
552
587
|
readonly x?: number;
|
|
553
588
|
readonly y?: number;
|
|
554
589
|
}
|
|
555
590
|
|
|
591
|
+
/**
|
|
592
|
+
* Responsibility: Specifies point coordinates
|
|
593
|
+
*/
|
|
556
594
|
export declare interface Point {
|
|
557
595
|
readonly x: number;
|
|
558
596
|
readonly y: number;
|
|
@@ -566,6 +604,9 @@ declare interface PortPayload {
|
|
|
566
604
|
|
|
567
605
|
declare type Priority = ConstantPriority | IncrementalPriority | CustomPriority;
|
|
568
606
|
|
|
607
|
+
/**
|
|
608
|
+
* Responsibility: Specifies how to determine Z-index of an entity in DOM
|
|
609
|
+
*/
|
|
569
610
|
export declare type PriorityFn = () => number;
|
|
570
611
|
|
|
571
612
|
export declare interface RenderingBox {
|
|
@@ -693,13 +734,6 @@ declare interface UpdateEdgeRequest_2 {
|
|
|
693
734
|
readonly priority?: number;
|
|
694
735
|
}
|
|
695
736
|
|
|
696
|
-
declare interface UpdateEdgeRequest_3 {
|
|
697
|
-
readonly from?: unknown | undefined;
|
|
698
|
-
readonly to?: unknown | undefined;
|
|
699
|
-
readonly shape?: EdgeShape | undefined;
|
|
700
|
-
readonly priority?: number | undefined;
|
|
701
|
-
}
|
|
702
|
-
|
|
703
737
|
export declare interface UpdateNodeRequest {
|
|
704
738
|
readonly x?: number | undefined;
|
|
705
739
|
readonly y?: number | undefined;
|
|
@@ -714,13 +748,6 @@ declare interface UpdateNodeRequest_2 {
|
|
|
714
748
|
readonly priority?: number;
|
|
715
749
|
}
|
|
716
750
|
|
|
717
|
-
declare interface UpdateNodeRequest_3 {
|
|
718
|
-
readonly x?: number | undefined;
|
|
719
|
-
readonly y?: number | undefined;
|
|
720
|
-
readonly priority?: number | undefined;
|
|
721
|
-
readonly centerFn?: CenterFn | undefined;
|
|
722
|
-
}
|
|
723
|
-
|
|
724
751
|
export declare interface UpdatePortRequest {
|
|
725
752
|
readonly direction?: number;
|
|
726
753
|
}
|
|
@@ -729,10 +756,6 @@ declare interface UpdatePortRequest_2 {
|
|
|
729
756
|
readonly direction?: number;
|
|
730
757
|
}
|
|
731
758
|
|
|
732
|
-
declare interface UpdatePortRequest_3 {
|
|
733
|
-
readonly direction?: number;
|
|
734
|
-
}
|
|
735
|
-
|
|
736
759
|
export declare interface VerticalEdgeParams {
|
|
737
760
|
readonly color?: string | undefined;
|
|
738
761
|
readonly width?: number | undefined;
|
|
@@ -771,7 +794,7 @@ declare type VerticalEdgeShapeConfig = {
|
|
|
771
794
|
} & VerticalEdgeParams;
|
|
772
795
|
|
|
773
796
|
/**
|
|
774
|
-
*
|
|
797
|
+
* Responsibility: Provides access to viewport state for end user
|
|
775
798
|
*/
|
|
776
799
|
export declare class Viewport {
|
|
777
800
|
private readonly transformer;
|
|
@@ -783,7 +806,7 @@ export declare class Viewport {
|
|
|
783
806
|
}
|
|
784
807
|
|
|
785
808
|
/**
|
|
786
|
-
*
|
|
809
|
+
* Responsibility: Stores viewport transformation state
|
|
787
810
|
*/
|
|
788
811
|
declare class ViewportStore {
|
|
789
812
|
private viewportMatrix;
|