@html-graph/html-graph 1.3.0 → 2.0.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/dist/main.d.ts CHANGED
@@ -75,35 +75,9 @@ export declare class BezierEdgeShape implements EdgeShape {
75
75
  render(params: EdgeRenderParams): void;
76
76
  }
77
77
 
78
- declare interface BezierEdgeShape_2 {
78
+ declare type BezierEdgeShapeConfig = {
79
79
  readonly type?: "bezier" | undefined;
80
- readonly color?: string | undefined;
81
- readonly width?: number | undefined;
82
- readonly curvature?: number | undefined;
83
- readonly arrowLength?: number | undefined;
84
- readonly arrowWidth?: number | undefined;
85
- readonly hasSourceArrow?: boolean | undefined;
86
- readonly hasTargetArrow?: boolean | undefined;
87
- readonly cycleRadius?: number | undefined;
88
- readonly smallCycleRadius?: number | undefined;
89
- readonly detourDistance?: number | undefined;
90
- readonly detourDirection?: number | undefined;
91
- }
92
-
93
- declare interface BezierEdgeShape_3 {
94
- readonly type?: "bezier" | undefined;
95
- readonly color?: string | undefined;
96
- readonly width?: number | undefined;
97
- readonly curvature?: number | undefined;
98
- readonly arrowLength?: number | undefined;
99
- readonly arrowWidth?: number | undefined;
100
- readonly hasSourceArrow?: boolean | undefined;
101
- readonly hasTargetArrow?: boolean | undefined;
102
- readonly cycleRadius?: number | undefined;
103
- readonly smallCycleRadius?: number | undefined;
104
- readonly detourDistance?: number | undefined;
105
- readonly detourDirection?: number | undefined;
106
- }
80
+ } & BezierEdgeParams;
107
81
 
108
82
  export declare interface Canvas {
109
83
  /**
@@ -111,19 +85,9 @@ export declare interface Canvas {
111
85
  */
112
86
  readonly graph: Graph;
113
87
  /**
114
- * @deprecated
115
- * use "graph" property instead
116
- */
117
- readonly model: Graph;
118
- /**
119
- * provides api for canvas accessing viewport state
88
+ * provides api for accessing viewport state
120
89
  */
121
90
  readonly viewport: Viewport;
122
- /**
123
- * @deprecated
124
- * use "viewport" property instead
125
- */
126
- readonly transformation: Viewport;
127
91
  /**
128
92
  * adds node to graph
129
93
  */
@@ -193,7 +157,7 @@ export declare interface Canvas {
193
157
  destroy(): void;
194
158
  }
195
159
 
196
- declare class CanvasBuilder {
160
+ export declare class CanvasBuilder {
197
161
  private coreOptions;
198
162
  private dragOptions;
199
163
  private transformOptions;
@@ -209,79 +173,31 @@ declare class CanvasBuilder {
209
173
  /**
210
174
  * enables nodes draggable bu user
211
175
  */
212
- setUserDraggableNodes(options?: DragOptions): CanvasBuilder;
213
- /**
214
- * @deprecated
215
- * use setUserTransformableViewport instead
216
- */
217
- setUserTransformableCanvas(options?: TransformOptions): CanvasBuilder;
176
+ enableUserDraggableNodes(options?: DragOptions): CanvasBuilder;
218
177
  /**
219
178
  * enables viewport transformable by user
220
179
  */
221
- setUserTransformableViewport(options?: TransformOptions): CanvasBuilder;
180
+ enableUserTransformableViewport(options?: TransformOptions): CanvasBuilder;
222
181
  /**
223
182
  * enables automatic edges update on node resize
224
183
  */
225
- setResizeReactiveNodes(): CanvasBuilder;
184
+ enableResizeReactiveNodes(): CanvasBuilder;
226
185
  /**
227
186
  * sets emitter for rendering graph inside bounded area
228
187
  */
229
- setBoxRenderingTrigger(trigger: EventSubject<RenderingBox>): CanvasBuilder;
230
- setVirtualScroll(options: VirtualScrollOptions): CanvasBuilder;
188
+ enableBoxAreaRendering(trigger: EventSubject<RenderingBox>): CanvasBuilder;
189
+ enableVirtualScroll(options: VirtualScrollOptions): CanvasBuilder;
231
190
  /**
232
191
  * builds final canvas
233
192
  */
234
193
  build(): Canvas;
235
- }
236
- export { CanvasBuilder }
237
- export { CanvasBuilder as HtmlGraphBuilder }
238
-
239
- /**
240
- * @deprecated
241
- */
242
- export declare class CanvasCore implements Canvas {
243
- readonly viewport: Viewport;
244
- readonly transformation: Viewport;
245
- readonly graph: Graph;
246
- readonly model: Graph;
247
- private readonly internalTransformation;
248
- private readonly internalModel;
249
- private readonly graphStoreController;
250
- private readonly htmlView;
251
- private readonly onAfterNodeAdded;
252
- private readonly onAfterEdgeAdded;
253
- private readonly onAfterEdgeShapeUpdated;
254
- private readonly onAfterEdgePriorityUpdated;
255
- private readonly onAfterEdgeUpdated;
256
- private readonly onAfterPortUpdated;
257
- private readonly onAfterNodePriorityUpdated;
258
- private readonly onAfterNodeUpdated;
259
- private readonly onBeforeEdgeRemoved;
260
- private readonly onBeforeNodeRemoved;
261
- constructor(apiOptions?: CoreOptions_2);
262
- attach(element: HTMLElement): CanvasCore;
263
- detach(): CanvasCore;
264
- addNode(request: AddNodeRequest): CanvasCore;
265
- updateNode(nodeId: unknown, request?: UpdateNodeRequest): CanvasCore;
266
- removeNode(nodeId: unknown): CanvasCore;
267
- addEdge(request: AddEdgeRequest): CanvasCore;
268
- updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): CanvasCore;
269
- removeEdge(edgeId: unknown): CanvasCore;
270
- markPort(request: MarkPortRequest): CanvasCore;
271
- updatePort(portId: string, request?: UpdatePortRequest): CanvasCore;
272
- unmarkPort(portId: string): CanvasCore;
273
- patchViewportMatrix(request: PatchMatrixRequest): CanvasCore;
274
- patchContentMatrix(request: PatchMatrixRequest): CanvasCore;
275
- clear(): CanvasCore;
276
- destroy(): void;
194
+ private reset;
277
195
  }
278
196
 
279
197
  export declare type CenterFn = (width: number, height: number) => Point;
280
198
 
281
199
  declare type ConstantPriority = number;
282
200
 
283
- declare type ConstantPriority_2 = number;
284
-
285
201
  export declare interface CoreOptions {
286
202
  /**
287
203
  * nodes related behavior
@@ -313,7 +229,7 @@ export declare interface CoreOptions {
313
229
  /**
314
230
  * specifies default controller
315
231
  */
316
- readonly shape?: EdgeShape_2;
232
+ readonly shape?: EdgeShapeConfig;
317
233
  /**
318
234
  * specifies default z-index value
319
235
  */
@@ -321,49 +237,8 @@ export declare interface CoreOptions {
321
237
  };
322
238
  }
323
239
 
324
- declare interface CoreOptions_2 {
325
- /**
326
- * nodes related behavior
327
- */
328
- readonly nodes?: {
329
- /**
330
- * specifies how to determine center of node
331
- * center of nodes specified in addNode method by x and y
332
- */
333
- readonly centerFn?: CenterFn;
334
- /**
335
- * specifies default z-index value
336
- */
337
- readonly priority?: Priority_2;
338
- };
339
- /**
340
- * ports related behavior
341
- */
342
- readonly ports?: {
343
- /**
344
- * specifies default direction of port
345
- */
346
- readonly direction?: number;
347
- };
348
- /**
349
- *edges related behavior
350
- */
351
- readonly edges?: {
352
- /**
353
- * specifies default controller
354
- */
355
- readonly shape?: EdgeShape_3;
356
- /**
357
- * specifies default z-index value
358
- */
359
- readonly priority?: Priority_2;
360
- };
361
- }
362
-
363
240
  declare type CustomPriority = PriorityFn;
364
241
 
365
- declare type CustomPriority_2 = PriorityFn;
366
-
367
242
  export declare interface DragOptions {
368
243
  readonly moveOnTop?: boolean;
369
244
  readonly mouse?: {
@@ -405,14 +280,10 @@ export declare interface EdgeShape {
405
280
  render(params: EdgeRenderParams): void;
406
281
  }
407
282
 
408
- declare type EdgeShape_2 = BezierEdgeShape_2 | StraightEdgeShape_2 | HorizontalEdgeShape_2 | VerticalEdgeShape_2 | EdgeShapeFactory;
409
-
410
- declare type EdgeShape_3 = BezierEdgeShape_3 | StraightEdgeShape_3 | HorizontalEdgeShape_3 | VerticalEdgeShape_3 | EdgeShapeFactory_2;
283
+ declare type EdgeShapeConfig = BezierEdgeShapeConfig | StraightEdgeShapeConfig | HorizontalEdgeShapeConfig | VerticalEdgeShapeConfig | EdgeShapeFactory;
411
284
 
412
285
  declare type EdgeShapeFactory = () => EdgeShape;
413
286
 
414
- declare type EdgeShapeFactory_2 = () => EdgeShape;
415
-
416
287
  declare interface EventEmitter<T> {
417
288
  emit(payload: T): void;
418
289
  }
@@ -432,7 +303,7 @@ export declare class EventSubject<T> implements EventEmitter<T>, EventHandler<T>
432
303
  /**
433
304
  * This entity is responsible for providing access to end user in a safe way
434
305
  */
435
- declare class Graph {
306
+ export declare class Graph {
436
307
  private readonly graphStore;
437
308
  constructor(graphStore: GraphStore);
438
309
  getNode(nodeId: unknown): GraphNode | null;
@@ -452,8 +323,6 @@ declare class Graph {
452
323
  getNodeCycleEdgeIds(nodeId: unknown): readonly unknown[] | null;
453
324
  getNodeAdjacentEdgeIds(nodeId: unknown): readonly unknown[] | null;
454
325
  }
455
- export { Graph }
456
- export { Graph as PublicGraphStore }
457
326
 
458
327
  export declare interface GraphEdge {
459
328
  readonly from: unknown;
@@ -546,35 +415,9 @@ export declare class HorizontalEdgeShape implements EdgeShape {
546
415
  render(params: EdgeRenderParams): void;
547
416
  }
548
417
 
549
- declare interface HorizontalEdgeShape_2 {
418
+ declare type HorizontalEdgeShapeConfig = {
550
419
  readonly type: "horizontal";
551
- readonly color?: string | undefined;
552
- readonly width?: number | undefined;
553
- readonly arrowLength?: number | undefined;
554
- readonly arrowWidth?: number | undefined;
555
- readonly arrowOffset?: number | undefined;
556
- readonly hasSourceArrow?: boolean | undefined;
557
- readonly hasTargetArrow?: boolean | undefined;
558
- readonly cycleSquareSide?: number | undefined;
559
- readonly roundness?: number | undefined;
560
- readonly detourDistance?: number | undefined;
561
- readonly detourDirection?: number | undefined;
562
- }
563
-
564
- declare interface HorizontalEdgeShape_3 {
565
- readonly type: "horizontal";
566
- readonly color?: string | undefined;
567
- readonly width?: number | undefined;
568
- readonly arrowLength?: number | undefined;
569
- readonly arrowWidth?: number | undefined;
570
- readonly arrowOffset?: number | undefined;
571
- readonly hasSourceArrow?: boolean | undefined;
572
- readonly hasTargetArrow?: boolean | undefined;
573
- readonly cycleSquareSide?: number | undefined;
574
- readonly roundness?: number | undefined;
575
- readonly detourDistance?: number | undefined;
576
- readonly detourDirection?: number | undefined;
577
- }
420
+ } & HorizontalEdgeParams;
578
421
 
579
422
  export declare class HtmlGraphError extends Error {
580
423
  readonly name = "HtmlGraphError";
@@ -582,8 +425,6 @@ export declare class HtmlGraphError extends Error {
582
425
 
583
426
  declare type IncrementalPriority = "incremental";
584
427
 
585
- declare type IncrementalPriority_2 = "incremental";
586
-
587
428
  export declare type MarkNodePortRequest = {
588
429
  readonly id?: unknown | undefined;
589
430
  readonly element: HTMLElement;
@@ -634,9 +475,7 @@ declare interface PortPayload {
634
475
  direction: number;
635
476
  }
636
477
 
637
- declare type Priority = ConstantPriority | IncrementalPriority | SharedIncrementalPriority | CustomPriority;
638
-
639
- declare type Priority_2 = ConstantPriority_2 | IncrementalPriority_2 | SharedIncrementalPriority_2 | CustomPriority_2;
478
+ declare type Priority = ConstantPriority | IncrementalPriority | CustomPriority;
640
479
 
641
480
  export declare type PriorityFn = () => number;
642
481
 
@@ -647,44 +486,11 @@ export declare interface RenderingBox {
647
486
  readonly height: number;
648
487
  }
649
488
 
650
- export declare class ResizeReactiveNodesCanvas implements Canvas {
651
- private readonly canvas;
652
- readonly viewport: Viewport;
653
- readonly transformation: Viewport;
654
- readonly graph: Graph;
655
- readonly model: Graph;
656
- private readonly nodes;
657
- private readonly nodeIdGenerator;
658
- private readonly nodesResizeObserver;
659
- private readonly window;
660
- constructor(canvas: Canvas);
661
- attach(element: HTMLElement): Canvas;
662
- detach(): Canvas;
663
- addNode(request: AddNodeRequest): Canvas;
664
- updateNode(nodeId: unknown, request?: UpdateNodeRequest): Canvas;
665
- removeNode(nodeId: unknown): Canvas;
666
- markPort(port: MarkPortRequest): Canvas;
667
- updatePort(portId: string, request?: UpdatePortRequest): Canvas;
668
- unmarkPort(portId: string): Canvas;
669
- addEdge(edge: AddEdgeRequest): Canvas;
670
- updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): Canvas;
671
- removeEdge(edgeId: unknown): Canvas;
672
- patchViewportMatrix(request: PatchMatrixRequest): Canvas;
673
- patchContentMatrix(request: PatchMatrixRequest): Canvas;
674
- clear(): Canvas;
675
- destroy(): void;
676
- private handleNodeResize;
677
- }
678
-
679
489
  export declare interface ScaleLimitPreprocessorParams {
680
490
  readonly minContentScale: number | null;
681
491
  readonly maxContentScale: number | null;
682
492
  }
683
493
 
684
- declare type SharedIncrementalPriority = "shared-incremental";
685
-
686
- declare type SharedIncrementalPriority_2 = "shared-incremental";
687
-
688
494
  export declare interface ShiftLimitPreprocessorParams {
689
495
  readonly minX: number | null;
690
496
  readonly maxX: number | null;
@@ -725,35 +531,9 @@ export declare class StraightEdgeShape implements EdgeShape {
725
531
  render(params: EdgeRenderParams): void;
726
532
  }
727
533
 
728
- declare interface StraightEdgeShape_2 {
534
+ declare type StraightEdgeShapeConfig = {
729
535
  readonly type: "straight";
730
- readonly color?: string | undefined;
731
- readonly width?: number | undefined;
732
- readonly arrowLength?: number | undefined;
733
- readonly arrowWidth?: number | undefined;
734
- readonly arrowOffset?: number | undefined;
735
- readonly hasSourceArrow?: boolean | undefined;
736
- readonly hasTargetArrow?: boolean | undefined;
737
- readonly cycleSquareSide?: number | undefined;
738
- readonly roundness?: number | undefined;
739
- readonly detourDistance?: number | undefined;
740
- readonly detourDirection?: number | undefined;
741
- }
742
-
743
- declare interface StraightEdgeShape_3 {
744
- readonly type: "straight";
745
- readonly color?: string | undefined;
746
- readonly width?: number | undefined;
747
- readonly arrowLength?: number | undefined;
748
- readonly arrowWidth?: number | undefined;
749
- readonly arrowOffset?: number | undefined;
750
- readonly hasSourceArrow?: boolean | undefined;
751
- readonly hasTargetArrow?: boolean | undefined;
752
- readonly cycleSquareSide?: number | undefined;
753
- readonly roundness?: number | undefined;
754
- readonly detourDistance?: number | undefined;
755
- readonly detourDirection?: number | undefined;
756
- }
536
+ } & StraightEdgeParams;
757
537
 
758
538
  export declare interface TransformOptions {
759
539
  readonly scale?: {
@@ -772,6 +552,8 @@ export declare interface TransformOptions {
772
552
  readonly onTransformFinished?: () => void;
773
553
  readonly onBeforeTransformChange?: () => void;
774
554
  readonly onTransformChange?: () => void;
555
+ readonly onResizeTransformStarted?: () => void;
556
+ readonly onResizeTransformFinished?: () => void;
775
557
  };
776
558
  }
777
559
 
@@ -826,95 +608,6 @@ export declare interface UpdatePortRequest {
826
608
  readonly direction?: number;
827
609
  }
828
610
 
829
- export declare class UserDraggableNodesCanvas implements Canvas {
830
- private readonly canvas;
831
- readonly graph: Graph;
832
- readonly model: Graph;
833
- readonly viewport: Viewport;
834
- readonly transformation: Viewport;
835
- private maxNodePriority;
836
- private readonly nodes;
837
- private grabbedNodeId;
838
- private readonly nodeIdGenerator;
839
- private element;
840
- private readonly onWindowMouseMove;
841
- private readonly onWindowMouseUp;
842
- private readonly onWindowTouchMove;
843
- private readonly onWindowTouchFinish;
844
- private previousTouchCoords;
845
- private readonly window;
846
- private readonly options;
847
- constructor(canvas: Canvas, dragOptions?: DragOptions);
848
- attach(element: HTMLElement): Canvas;
849
- detach(): Canvas;
850
- addNode(request: AddNodeRequest): Canvas;
851
- updateNode(nodeId: unknown, request?: UpdateNodeRequest): Canvas;
852
- removeNode(nodeId: unknown): Canvas;
853
- markPort(port: MarkPortRequest): Canvas;
854
- updatePort(portId: string, request?: UpdatePortRequest): Canvas;
855
- unmarkPort(portId: string): Canvas;
856
- addEdge(edge: AddEdgeRequest): Canvas;
857
- updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): Canvas;
858
- removeEdge(edgeId: unknown): Canvas;
859
- patchViewportMatrix(request: PatchMatrixRequest): Canvas;
860
- patchContentMatrix(request: PatchMatrixRequest): Canvas;
861
- clear(): Canvas;
862
- destroy(): void;
863
- private dragNode;
864
- private updateMaxNodePriority;
865
- private moveNodeOnTop;
866
- private cancelMouseDrag;
867
- private removeMouseDragListeners;
868
- private cancelTouchDrag;
869
- private removeTouchDragListeners;
870
- }
871
-
872
- declare class UserTransformableViewportCanvas implements Canvas {
873
- private readonly canvas;
874
- readonly graph: Graph;
875
- readonly model: Graph;
876
- readonly viewport: Viewport;
877
- readonly transformation: Viewport;
878
- private element;
879
- private prevTouches;
880
- private window;
881
- private wheelFinishTimer;
882
- private readonly onMouseDown;
883
- private readonly onWindowMouseMove;
884
- private readonly onWindowMouseUp;
885
- private readonly onWheelScroll;
886
- private readonly onTouchStart;
887
- private readonly onWindowTouchMove;
888
- private readonly onWindowTouchFinish;
889
- private readonly observer;
890
- private readonly options;
891
- constructor(canvas: Canvas, transformOptions?: TransformOptions);
892
- attach(element: HTMLElement): Canvas;
893
- detach(): Canvas;
894
- addNode(node: AddNodeRequest): Canvas;
895
- updateNode(nodeId: unknown, request?: UpdateNodeRequest): Canvas;
896
- removeNode(nodeId: unknown): Canvas;
897
- markPort(port: MarkPortRequest): Canvas;
898
- updatePort(portId: string, request?: UpdatePortRequest): Canvas;
899
- unmarkPort(portId: string): Canvas;
900
- addEdge(edge: AddEdgeRequest): Canvas;
901
- updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): Canvas;
902
- removeEdge(edgeId: unknown): Canvas;
903
- patchViewportMatrix(request: PatchMatrixRequest): Canvas;
904
- patchContentMatrix(request: PatchMatrixRequest): Canvas;
905
- clear(): Canvas;
906
- destroy(): void;
907
- private moveViewport;
908
- private scaleViewport;
909
- private stopMouseDrag;
910
- private removeMouseDragListeners;
911
- private stopTouchDrag;
912
- private removeTouchDragListeners;
913
- private performTransform;
914
- }
915
- export { UserTransformableViewportCanvas as UserTransformableCanvas }
916
- export { UserTransformableViewportCanvas }
917
-
918
611
  export declare interface VerticalEdgeParams {
919
612
  readonly color?: string | undefined;
920
613
  readonly width?: number | undefined;
@@ -948,48 +641,20 @@ export declare class VerticalEdgeShape implements EdgeShape {
948
641
  render(params: EdgeRenderParams): void;
949
642
  }
950
643
 
951
- declare interface VerticalEdgeShape_2 {
644
+ declare type VerticalEdgeShapeConfig = {
952
645
  readonly type: "vertical";
953
- readonly color?: string | undefined;
954
- readonly width?: number | undefined;
955
- readonly arrowLength?: number | undefined;
956
- readonly arrowWidth?: number | undefined;
957
- readonly arrowOffset?: number | undefined;
958
- readonly hasSourceArrow?: boolean | undefined;
959
- readonly hasTargetArrow?: boolean | undefined;
960
- readonly cycleSquareSide?: number | undefined;
961
- readonly roundness?: number | undefined;
962
- readonly detourDistance?: number | undefined;
963
- readonly detourDirection?: number | undefined;
964
- }
965
-
966
- declare interface VerticalEdgeShape_3 {
967
- readonly type: "vertical";
968
- readonly color?: string | undefined;
969
- readonly width?: number | undefined;
970
- readonly arrowLength?: number | undefined;
971
- readonly arrowWidth?: number | undefined;
972
- readonly arrowOffset?: number | undefined;
973
- readonly hasSourceArrow?: boolean | undefined;
974
- readonly hasTargetArrow?: boolean | undefined;
975
- readonly cycleSquareSide?: number | undefined;
976
- readonly roundness?: number | undefined;
977
- readonly detourDistance?: number | undefined;
978
- readonly detourDirection?: number | undefined;
979
- }
646
+ } & VerticalEdgeParams;
980
647
 
981
648
  /**
982
649
  * This entity is responsible for providing viewport transformation state to the
983
650
  * end user in a safe way
984
651
  */
985
- declare class Viewport {
652
+ export declare class Viewport {
986
653
  private readonly transformer;
987
654
  constructor(transformer: ViewportTransformer);
988
655
  getViewportMatrix(): TransformState;
989
656
  getContentMatrix(): TransformState;
990
657
  }
991
- export { Viewport as PublicViewportTransformer }
992
- export { Viewport }
993
658
 
994
659
  /**
995
660
  * This entity is responsible for storing viewport transformation
@@ -1007,7 +672,7 @@ declare class ViewportTransformer {
1007
672
  }
1008
673
 
1009
674
  declare interface VirtualScrollOptions {
1010
- readonly maxNodeContainingRadius: {
675
+ readonly nodeContainingRadius: {
1011
676
  readonly vertical: number;
1012
677
  readonly horizontal: number;
1013
678
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@html-graph/html-graph",
3
3
  "author": "Dmitry Marov <d.marov94@gmail.com>",
4
4
  "private": false,
5
- "version": "1.3.0",
5
+ "version": "2.0.0",
6
6
  "type": "module",
7
7
  "main": "dist/main.js",
8
8
  "types": "dist/main.d.ts",