@html-graph/html-graph 2.0.0 → 2.1.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 CHANGED
@@ -50,7 +50,7 @@ function createNode({ name, x, y, frontPortId, backPortId }) {
50
50
  }
51
51
 
52
52
  const canvas = new CanvasBuilder()
53
- .setOptions({
53
+ .setDefaults({
54
54
  edges: {
55
55
  shape: {
56
56
  hasTargetArrow: true,
@@ -7,7 +7,15 @@ export declare interface AddEdgeRequest {
7
7
  }
8
8
 
9
9
  declare interface AddEdgeRequest_2 {
10
- readonly edgeId: unknown;
10
+ readonly id: unknown;
11
+ readonly from: unknown;
12
+ readonly to: unknown;
13
+ readonly shape: EdgeShape;
14
+ readonly priority: number;
15
+ }
16
+
17
+ declare interface AddEdgeRequest_3 {
18
+ readonly id: unknown;
11
19
  readonly from: unknown;
12
20
  readonly to: unknown;
13
21
  readonly shape: EdgeShape;
@@ -27,7 +35,16 @@ export declare interface AddNodeRequest {
27
35
  }
28
36
 
29
37
  declare interface AddNodeRequest_2 {
30
- readonly nodeId: unknown;
38
+ readonly id: unknown;
39
+ readonly element: HTMLElement;
40
+ readonly x: number;
41
+ readonly y: number;
42
+ readonly centerFn: CenterFn;
43
+ readonly priority: number;
44
+ }
45
+
46
+ declare interface AddNodeRequest_3 {
47
+ readonly id: unknown;
31
48
  readonly element: HTMLElement;
32
49
  readonly x: number;
33
50
  readonly y: number;
@@ -36,7 +53,7 @@ declare interface AddNodeRequest_2 {
36
53
  }
37
54
 
38
55
  declare interface AddPortRequest {
39
- readonly portId: unknown;
56
+ readonly id: unknown;
40
57
  readonly nodeId: unknown;
41
58
  readonly element: HTMLElement;
42
59
  readonly direction: number;
@@ -79,7 +96,12 @@ declare type BezierEdgeShapeConfig = {
79
96
  readonly type?: "bezier" | undefined;
80
97
  } & BezierEdgeParams;
81
98
 
82
- export declare interface Canvas {
99
+ export declare class Canvas {
100
+ private readonly controller;
101
+ private readonly nodeIdGenerator;
102
+ private readonly portIdGenerator;
103
+ private readonly edgeIdGenerator;
104
+ private readonly defaults;
83
105
  /**
84
106
  * provides api for accessing graph model
85
107
  */
@@ -88,12 +110,22 @@ export declare interface Canvas {
88
110
  * provides api for accessing viewport state
89
111
  */
90
112
  readonly viewport: Viewport;
113
+ constructor(controller: CanvasController, options: CanvasDefaults);
114
+ /**
115
+ * attaches canvas to given element
116
+ * detaches element first when canvas is attached
117
+ */
118
+ attach(element: HTMLElement): Canvas;
119
+ /**
120
+ * detaches canvas from element when attached
121
+ */
122
+ detach(): Canvas;
91
123
  /**
92
124
  * adds node to graph
93
125
  */
94
- addNode(node: AddNodeRequest): Canvas;
126
+ addNode(request: AddNodeRequest): Canvas;
95
127
  /**
96
- * updates node absolute coordinates
128
+ * updates node parameters
97
129
  */
98
130
  updateNode(nodeId: unknown, request?: UpdateNodeRequest): Canvas;
99
131
  /**
@@ -105,7 +137,7 @@ export declare interface Canvas {
105
137
  /**
106
138
  * marks element as port of node
107
139
  */
108
- markPort(port: MarkPortRequest): Canvas;
140
+ markPort(request: MarkPortRequest): Canvas;
109
141
  /**
110
142
  * updates port and attached edges
111
143
  */
@@ -118,7 +150,7 @@ export declare interface Canvas {
118
150
  /**
119
151
  * adds edge to graph
120
152
  */
121
- addEdge(edge: AddEdgeRequest): Canvas;
153
+ addEdge(request: AddEdgeRequest): Canvas;
122
154
  /**
123
155
  * updates edge
124
156
  */
@@ -136,29 +168,19 @@ export declare interface Canvas {
136
168
  */
137
169
  patchContentMatrix(request: PatchMatrixRequest): Canvas;
138
170
  /**
139
- * attaches canvas to given element
140
- */
141
- attach(element: HTMLElement): Canvas;
142
- /**
143
- * detaches canvas from element
144
- */
145
- detach(): Canvas;
146
- /**
147
- * clears graph
148
- * graph gets rolled back to initial state
149
- * canvas can be reused
171
+ * clears canvas from nodes and edges
172
+ * canvas gets rolled back to initial state and can be reused
150
173
  */
151
174
  clear(): Canvas;
152
175
  /**
153
176
  * destroys canvas
154
- * canvas element gets rolled back to initial state
155
- * canvas can not be reused
177
+ * canvas element gets rolled back to initial state, and can not be reused
156
178
  */
157
179
  destroy(): void;
158
180
  }
159
181
 
160
182
  export declare class CanvasBuilder {
161
- private coreOptions;
183
+ private canvasDefaults;
162
184
  private dragOptions;
163
185
  private transformOptions;
164
186
  private virtualScrollOptions;
@@ -167,11 +189,16 @@ export declare class CanvasBuilder {
167
189
  private hasResizeReactiveNodes;
168
190
  private boxRenderingTrigger;
169
191
  /**
170
- * specifies options for fundamental aspects of visualization
192
+ * specifies default values for graph entities
193
+ */
194
+ setDefaults(defaults: CanvasDefaults): CanvasBuilder;
195
+ /**
196
+ * @deprecated
197
+ * use setDefaults instead
171
198
  */
172
- setOptions(options: CoreOptions): CanvasBuilder;
199
+ setOptions(options: CanvasDefaults): CanvasBuilder;
173
200
  /**
174
- * enables nodes draggable bu user
201
+ * enables nodes draggable by user
175
202
  */
176
203
  enableUserDraggableNodes(options?: DragOptions): CanvasBuilder;
177
204
  /**
@@ -194,11 +221,27 @@ export declare class CanvasBuilder {
194
221
  private reset;
195
222
  }
196
223
 
197
- export declare type CenterFn = (width: number, height: number) => Point;
198
-
199
- declare type ConstantPriority = number;
224
+ declare interface CanvasController {
225
+ readonly graph: Graph;
226
+ readonly viewport: Viewport;
227
+ attach(element: HTMLElement): void;
228
+ detach(): void;
229
+ addNode(node: AddNodeRequest_3): void;
230
+ updateNode(nodeId: unknown, request: UpdateNodeRequest_2): void;
231
+ removeNode(nodeId: unknown): void;
232
+ markPort(port: MarkPortRequest_2): void;
233
+ updatePort(portId: unknown, request: UpdatePortRequest_2): void;
234
+ unmarkPort(portId: unknown): void;
235
+ addEdge(edge: AddEdgeRequest_3): void;
236
+ updateEdge(edgeId: unknown, request: UpdateEdgeRequest_2): void;
237
+ removeEdge(edgeId: unknown): void;
238
+ patchViewportMatrix(request: PatchMatrixRequest_2): void;
239
+ patchContentMatrix(request: PatchMatrixRequest_2): void;
240
+ clear(): void;
241
+ destroy(): void;
242
+ }
200
243
 
201
- export declare interface CoreOptions {
244
+ declare interface CanvasDefaults {
202
245
  /**
203
246
  * nodes related behavior
204
247
  */
@@ -236,6 +279,12 @@ export declare interface CoreOptions {
236
279
  readonly priority?: Priority;
237
280
  };
238
281
  }
282
+ export { CanvasDefaults }
283
+ export { CanvasDefaults as CoreOptions }
284
+
285
+ export declare type CenterFn = (width: number, height: number) => Point;
286
+
287
+ declare type ConstantPriority = number;
239
288
 
240
289
  declare type CustomPriority = PriorityFn;
241
290
 
@@ -438,6 +487,13 @@ export declare interface MarkPortRequest {
438
487
  readonly direction?: number;
439
488
  }
440
489
 
490
+ declare interface MarkPortRequest_2 {
491
+ readonly id: unknown;
492
+ readonly element: HTMLElement;
493
+ readonly nodeId: unknown;
494
+ readonly direction: number;
495
+ }
496
+
441
497
  export declare interface NodeDragPayload {
442
498
  readonly nodeId: unknown;
443
499
  readonly element: HTMLElement;
@@ -459,6 +515,12 @@ export declare interface PatchMatrixRequest {
459
515
  readonly y?: number | undefined;
460
516
  }
461
517
 
518
+ declare interface PatchMatrixRequest_2 {
519
+ readonly scale?: number | undefined;
520
+ readonly x?: number | undefined;
521
+ readonly y?: number | undefined;
522
+ }
523
+
462
524
  declare interface PatchTransformRequest {
463
525
  readonly scale?: number;
464
526
  readonly x?: number;
@@ -597,6 +659,13 @@ export declare interface UpdateEdgeRequest {
597
659
  readonly priority?: number | undefined;
598
660
  }
599
661
 
662
+ declare interface UpdateEdgeRequest_2 {
663
+ readonly from?: unknown | undefined;
664
+ readonly to?: unknown | undefined;
665
+ readonly shape?: EdgeShape | undefined;
666
+ readonly priority?: number | undefined;
667
+ }
668
+
600
669
  export declare interface UpdateNodeRequest {
601
670
  readonly x?: number | undefined;
602
671
  readonly y?: number | undefined;
@@ -604,10 +673,21 @@ export declare interface UpdateNodeRequest {
604
673
  readonly centerFn?: CenterFn | undefined;
605
674
  }
606
675
 
676
+ declare interface UpdateNodeRequest_2 {
677
+ readonly x?: number | undefined;
678
+ readonly y?: number | undefined;
679
+ readonly priority?: number | undefined;
680
+ readonly centerFn?: CenterFn | undefined;
681
+ }
682
+
607
683
  export declare interface UpdatePortRequest {
608
684
  readonly direction?: number;
609
685
  }
610
686
 
687
+ declare interface UpdatePortRequest_2 {
688
+ readonly direction?: number;
689
+ }
690
+
611
691
  export declare interface VerticalEdgeParams {
612
692
  readonly color?: string | undefined;
613
693
  readonly width?: number | undefined;