@html-graph/html-graph 1.2.0 → 1.3.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
@@ -109,11 +109,21 @@ export declare interface Canvas {
109
109
  /**
110
110
  * provides api for accessing graph model
111
111
  */
112
- readonly model: PublicGraphStore;
112
+ readonly graph: Graph;
113
113
  /**
114
- * provides api for canvas transformation
114
+ * @deprecated
115
+ * use "graph" property instead
116
+ */
117
+ readonly model: Graph;
118
+ /**
119
+ * provides api for canvas accessing viewport state
115
120
  */
116
- readonly transformation: PublicViewportTransformer;
121
+ readonly viewport: Viewport;
122
+ /**
123
+ * @deprecated
124
+ * use "viewport" property instead
125
+ */
126
+ readonly transformation: Viewport;
117
127
  /**
118
128
  * adds node to graph
119
129
  */
@@ -187,6 +197,7 @@ declare class CanvasBuilder {
187
197
  private coreOptions;
188
198
  private dragOptions;
189
199
  private transformOptions;
200
+ private virtualScrollOptions;
190
201
  private hasDraggableNode;
191
202
  private hasTransformableViewport;
192
203
  private hasResizeReactiveNodes;
@@ -216,6 +227,7 @@ declare class CanvasBuilder {
216
227
  * sets emitter for rendering graph inside bounded area
217
228
  */
218
229
  setBoxRenderingTrigger(trigger: EventSubject<RenderingBox>): CanvasBuilder;
230
+ setVirtualScroll(options: VirtualScrollOptions): CanvasBuilder;
219
231
  /**
220
232
  * builds final canvas
221
233
  */
@@ -228,8 +240,10 @@ export { CanvasBuilder as HtmlGraphBuilder }
228
240
  * @deprecated
229
241
  */
230
242
  export declare class CanvasCore implements Canvas {
231
- readonly transformation: PublicViewportTransformer;
232
- readonly model: PublicGraphStore;
243
+ readonly viewport: Viewport;
244
+ readonly transformation: Viewport;
245
+ readonly graph: Graph;
246
+ readonly model: Graph;
233
247
  private readonly internalTransformation;
234
248
  private readonly internalModel;
235
249
  private readonly graphStoreController;
@@ -415,6 +429,32 @@ export declare class EventSubject<T> implements EventEmitter<T>, EventHandler<T>
415
429
  emit(payload: T): void;
416
430
  }
417
431
 
432
+ /**
433
+ * This entity is responsible for providing access to end user in a safe way
434
+ */
435
+ declare class Graph {
436
+ private readonly graphStore;
437
+ constructor(graphStore: GraphStore);
438
+ getNode(nodeId: unknown): GraphNode | null;
439
+ getAllNodeIds(): readonly unknown[];
440
+ getPort(portId: unknown): GraphPort | null;
441
+ getAllPortIds(): readonly unknown[];
442
+ getNodePortIds(nodeId: unknown): readonly unknown[] | null;
443
+ getPortNodeId(portId: unknown): unknown | null;
444
+ getAllEdgeIds(): readonly unknown[];
445
+ getEdge(edgeId: unknown): GraphEdge | null;
446
+ getPortIncomingEdgeIds(portId: unknown): readonly unknown[] | null;
447
+ getPortOutcomingEdgeIds(portId: unknown): readonly unknown[] | null;
448
+ getPortCycleEdgeIds(portId: unknown): readonly unknown[] | null;
449
+ getPortAdjacentEdgeIds(portId: unknown): readonly unknown[] | null;
450
+ getNodeIncomingEdgeIds(nodeId: unknown): readonly unknown[] | null;
451
+ getNodeOutcomingEdgeIds(nodeId: unknown): readonly unknown[] | null;
452
+ getNodeCycleEdgeIds(nodeId: unknown): readonly unknown[] | null;
453
+ getNodeAdjacentEdgeIds(nodeId: unknown): readonly unknown[] | null;
454
+ }
455
+ export { Graph }
456
+ export { Graph as PublicGraphStore }
457
+
418
458
  export declare interface GraphEdge {
419
459
  readonly from: unknown;
420
460
  readonly to: unknown;
@@ -600,41 +640,6 @@ declare type Priority_2 = ConstantPriority_2 | IncrementalPriority_2 | SharedInc
600
640
 
601
641
  export declare type PriorityFn = () => number;
602
642
 
603
- /**
604
- * This entity is responsible for providing access to end user in a safe way
605
- */
606
- export declare class PublicGraphStore {
607
- private readonly graphStore;
608
- constructor(graphStore: GraphStore);
609
- getNode(nodeId: unknown): GraphNode | null;
610
- getAllNodeIds(): readonly unknown[];
611
- getPort(portId: unknown): GraphPort | null;
612
- getAllPortIds(): readonly unknown[];
613
- getNodePortIds(nodeId: unknown): readonly unknown[] | null;
614
- getPortNodeId(portId: unknown): unknown | null;
615
- getAllEdgeIds(): readonly unknown[];
616
- getEdge(edgeId: unknown): GraphEdge | null;
617
- getPortIncomingEdgeIds(portId: unknown): readonly unknown[] | null;
618
- getPortOutcomingEdgeIds(portId: unknown): readonly unknown[] | null;
619
- getPortCycleEdgeIds(portId: unknown): readonly unknown[] | null;
620
- getPortAdjacentEdgeIds(portId: unknown): readonly unknown[] | null;
621
- getNodeIncomingEdgeIds(nodeId: unknown): readonly unknown[] | null;
622
- getNodeOutcomingEdgeIds(nodeId: unknown): readonly unknown[] | null;
623
- getNodeCycleEdgeIds(nodeId: unknown): readonly unknown[] | null;
624
- getNodeAdjacentEdgeIds(nodeId: unknown): readonly unknown[] | null;
625
- }
626
-
627
- /**
628
- * This entity is responsible for providing viewport transformation state to the
629
- * end user in a safe way
630
- */
631
- export declare class PublicViewportTransformer {
632
- private readonly transformer;
633
- constructor(transformer: ViewportTransformer);
634
- getViewportMatrix(): TransformState;
635
- getContentMatrix(): TransformState;
636
- }
637
-
638
643
  export declare interface RenderingBox {
639
644
  readonly x: number;
640
645
  readonly y: number;
@@ -644,26 +649,29 @@ export declare interface RenderingBox {
644
649
 
645
650
  export declare class ResizeReactiveNodesCanvas implements Canvas {
646
651
  private readonly canvas;
647
- readonly transformation: PublicViewportTransformer;
648
- readonly model: PublicGraphStore;
652
+ readonly viewport: Viewport;
653
+ readonly transformation: Viewport;
654
+ readonly graph: Graph;
655
+ readonly model: Graph;
649
656
  private readonly nodes;
650
657
  private readonly nodeIdGenerator;
651
658
  private readonly nodesResizeObserver;
659
+ private readonly window;
652
660
  constructor(canvas: Canvas);
653
- attach(element: HTMLElement): ResizeReactiveNodesCanvas;
654
- detach(): ResizeReactiveNodesCanvas;
655
- addNode(request: AddNodeRequest): ResizeReactiveNodesCanvas;
656
- updateNode(nodeId: unknown, request?: UpdateNodeRequest): ResizeReactiveNodesCanvas;
657
- removeNode(nodeId: unknown): ResizeReactiveNodesCanvas;
658
- markPort(port: MarkPortRequest): ResizeReactiveNodesCanvas;
659
- updatePort(portId: string, request?: UpdatePortRequest): ResizeReactiveNodesCanvas;
660
- unmarkPort(portId: string): ResizeReactiveNodesCanvas;
661
- addEdge(edge: AddEdgeRequest): ResizeReactiveNodesCanvas;
662
- updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): ResizeReactiveNodesCanvas;
663
- removeEdge(edgeId: unknown): ResizeReactiveNodesCanvas;
664
- patchViewportMatrix(request: PatchMatrixRequest): ResizeReactiveNodesCanvas;
665
- patchContentMatrix(request: PatchMatrixRequest): ResizeReactiveNodesCanvas;
666
- clear(): ResizeReactiveNodesCanvas;
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;
667
675
  destroy(): void;
668
676
  private handleNodeResize;
669
677
  }
@@ -751,6 +759,7 @@ export declare interface TransformOptions {
751
759
  readonly scale?: {
752
760
  readonly mouseWheelSensitivity?: number;
753
761
  readonly mouseWheelEventVerifier?: (event: WheelEvent) => boolean;
762
+ readonly wheelFinishTimeout?: number;
754
763
  };
755
764
  readonly shift?: {
756
765
  readonly cursor?: string | null;
@@ -819,8 +828,10 @@ export declare interface UpdatePortRequest {
819
828
 
820
829
  export declare class UserDraggableNodesCanvas implements Canvas {
821
830
  private readonly canvas;
822
- readonly model: PublicGraphStore;
823
- readonly transformation: PublicViewportTransformer;
831
+ readonly graph: Graph;
832
+ readonly model: Graph;
833
+ readonly viewport: Viewport;
834
+ readonly transformation: Viewport;
824
835
  private maxNodePriority;
825
836
  private readonly nodes;
826
837
  private grabbedNodeId;
@@ -834,20 +845,20 @@ export declare class UserDraggableNodesCanvas implements Canvas {
834
845
  private readonly window;
835
846
  private readonly options;
836
847
  constructor(canvas: Canvas, dragOptions?: DragOptions);
837
- attach(element: HTMLElement): UserDraggableNodesCanvas;
838
- detach(): UserDraggableNodesCanvas;
839
- addNode(request: AddNodeRequest): UserDraggableNodesCanvas;
840
- updateNode(nodeId: unknown, request?: UpdateNodeRequest): UserDraggableNodesCanvas;
841
- removeNode(nodeId: unknown): UserDraggableNodesCanvas;
842
- markPort(port: MarkPortRequest): UserDraggableNodesCanvas;
843
- updatePort(portId: string, request?: UpdatePortRequest): UserDraggableNodesCanvas;
844
- unmarkPort(portId: string): UserDraggableNodesCanvas;
845
- addEdge(edge: AddEdgeRequest): UserDraggableNodesCanvas;
846
- updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): UserDraggableNodesCanvas;
847
- removeEdge(edgeId: unknown): UserDraggableNodesCanvas;
848
- patchViewportMatrix(request: PatchMatrixRequest): UserDraggableNodesCanvas;
849
- patchContentMatrix(request: PatchMatrixRequest): UserDraggableNodesCanvas;
850
- clear(): UserDraggableNodesCanvas;
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;
851
862
  destroy(): void;
852
863
  private dragNode;
853
864
  private updateMaxNodePriority;
@@ -860,11 +871,14 @@ export declare class UserDraggableNodesCanvas implements Canvas {
860
871
 
861
872
  declare class UserTransformableViewportCanvas implements Canvas {
862
873
  private readonly canvas;
863
- readonly model: PublicGraphStore;
864
- readonly transformation: PublicViewportTransformer;
874
+ readonly graph: Graph;
875
+ readonly model: Graph;
876
+ readonly viewport: Viewport;
877
+ readonly transformation: Viewport;
865
878
  private element;
866
879
  private prevTouches;
867
880
  private window;
881
+ private wheelFinishTimer;
868
882
  private readonly onMouseDown;
869
883
  private readonly onWindowMouseMove;
870
884
  private readonly onWindowMouseUp;
@@ -875,20 +889,20 @@ declare class UserTransformableViewportCanvas implements Canvas {
875
889
  private readonly observer;
876
890
  private readonly options;
877
891
  constructor(canvas: Canvas, transformOptions?: TransformOptions);
878
- attach(element: HTMLElement): UserTransformableViewportCanvas;
879
- detach(): UserTransformableViewportCanvas;
880
- addNode(node: AddNodeRequest): UserTransformableViewportCanvas;
881
- updateNode(nodeId: unknown, request?: UpdateNodeRequest): UserTransformableViewportCanvas;
882
- removeNode(nodeId: unknown): UserTransformableViewportCanvas;
883
- markPort(port: MarkPortRequest): UserTransformableViewportCanvas;
884
- updatePort(portId: string, request?: UpdatePortRequest): UserTransformableViewportCanvas;
885
- unmarkPort(portId: string): UserTransformableViewportCanvas;
886
- addEdge(edge: AddEdgeRequest): UserTransformableViewportCanvas;
887
- updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): UserTransformableViewportCanvas;
888
- removeEdge(edgeId: unknown): UserTransformableViewportCanvas;
889
- patchViewportMatrix(request: PatchMatrixRequest): UserTransformableViewportCanvas;
890
- patchContentMatrix(request: PatchMatrixRequest): UserTransformableViewportCanvas;
891
- clear(): UserTransformableViewportCanvas;
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;
892
906
  destroy(): void;
893
907
  private moveViewport;
894
908
  private scaleViewport;
@@ -896,6 +910,7 @@ declare class UserTransformableViewportCanvas implements Canvas {
896
910
  private removeMouseDragListeners;
897
911
  private stopTouchDrag;
898
912
  private removeTouchDragListeners;
913
+ private performTransform;
899
914
  }
900
915
  export { UserTransformableViewportCanvas as UserTransformableCanvas }
901
916
  export { UserTransformableViewportCanvas }
@@ -963,6 +978,19 @@ declare interface VerticalEdgeShape_3 {
963
978
  readonly detourDirection?: number | undefined;
964
979
  }
965
980
 
981
+ /**
982
+ * This entity is responsible for providing viewport transformation state to the
983
+ * end user in a safe way
984
+ */
985
+ declare class Viewport {
986
+ private readonly transformer;
987
+ constructor(transformer: ViewportTransformer);
988
+ getViewportMatrix(): TransformState;
989
+ getContentMatrix(): TransformState;
990
+ }
991
+ export { Viewport as PublicViewportTransformer }
992
+ export { Viewport }
993
+
966
994
  /**
967
995
  * This entity is responsible for storing viewport transformation
968
996
  */
@@ -978,4 +1006,11 @@ declare class ViewportTransformer {
978
1006
  patchContentMatrix(matrix: PatchTransformRequest): void;
979
1007
  }
980
1008
 
1009
+ declare interface VirtualScrollOptions {
1010
+ readonly maxNodeContainingRadius: {
1011
+ readonly vertical: number;
1012
+ readonly horizontal: number;
1013
+ };
1014
+ }
1015
+
981
1016
  export { }