@html-graph/html-graph 0.0.54 → 0.0.55

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
@@ -114,11 +114,11 @@ export declare interface Canvas {
114
114
  /**
115
115
  * applies transformation for viewport
116
116
  */
117
- patchViewportState(request: PatchTransformRequest): Canvas;
117
+ patchViewportMatrix(request: PatchMatrixRequest): Canvas;
118
118
  /**
119
119
  * applies transformation for content
120
120
  */
121
- patchContentState(request: PatchTransformRequest): Canvas;
121
+ patchContentMatrix(request: PatchMatrixRequest): Canvas;
122
122
  /**
123
123
  * attaches canvas to given element
124
124
  */
@@ -160,15 +160,15 @@ export declare class CanvasCore implements Canvas {
160
160
  addEdge(edge: AddEdgeRequest): CanvasCore;
161
161
  updateEdge(edgeId: unknown, request: UpdateEdgeRequest): CanvasCore;
162
162
  removeEdge(edgeId: unknown): CanvasCore;
163
- patchViewportState(request: PatchTransformRequest): CanvasCore;
164
- patchContentState(request: PatchTransformRequest): CanvasCore;
163
+ patchViewportMatrix(request: PatchMatrixRequest): CanvasCore;
164
+ patchContentMatrix(request: PatchMatrixRequest): CanvasCore;
165
165
  clear(): CanvasCore;
166
166
  attach(element: HTMLElement): CanvasCore;
167
167
  detach(): CanvasCore;
168
168
  destroy(): void;
169
169
  }
170
170
 
171
- export declare type CenterFn = (width: number, height: number) => [number, number];
171
+ export declare type CenterFn = (width: number, height: number) => Point;
172
172
 
173
173
  declare type ConstantPriority = number;
174
174
 
@@ -393,13 +393,17 @@ declare class GraphStore {
393
393
  private readonly outcommingEdges;
394
394
  private readonly cycleEdges;
395
395
  addNode(nodeId: unknown, element: HTMLElement, x: number, y: number, centerFn: CenterFn, priority: number): void;
396
+ getAllNodes(): readonly unknown[];
396
397
  getNode(nodeId: unknown): NodePayload | undefined;
398
+ getNodePorts(nodeId: unknown): readonly unknown[] | undefined;
397
399
  removeNode(nodeId: unknown): void;
398
400
  addPort(portId: unknown, element: HTMLElement, nodeId: unknown, centerFn: CenterFn, dir: number): void;
401
+ getAllPorts(): readonly unknown[];
399
402
  getPort(portId: unknown): PortPayload | undefined;
400
403
  getPortNode(portId: string): unknown | undefined;
401
404
  removePort(portId: string): void;
402
405
  addEdge(edgeId: unknown, fromPortId: string, toPortId: string, shape: EdgeShape, priority: number): void;
406
+ getAllEdges(): readonly unknown[];
403
407
  getEdge(edgeId: unknown): EdgePayload | undefined;
404
408
  removeEdge(edgeId: unknown): void;
405
409
  getPortAdjacentEdges(portId: string): readonly unknown[];
@@ -487,10 +491,15 @@ declare interface NodePayload {
487
491
  priority: number;
488
492
  }
489
493
 
490
- export declare interface PatchTransformRequest {
491
- scale?: number;
492
- x?: number;
493
- y?: number;
494
+ export declare interface PatchMatrixRequest {
495
+ readonly scale?: number;
496
+ readonly dx?: number;
497
+ readonly dy?: number;
498
+ }
499
+
500
+ export declare interface Point {
501
+ readonly x: number;
502
+ readonly y: number;
494
503
  }
495
504
 
496
505
  export declare interface PortPayload {
@@ -506,9 +515,13 @@ export declare type PriorityFn = () => number;
506
515
  declare class PublicGraphStore {
507
516
  private readonly graphStore;
508
517
  constructor(graphStore: GraphStore);
518
+ getAllNodes(): readonly unknown[];
519
+ getAllPorts(): readonly unknown[];
509
520
  getNode(nodeId: unknown): GraphNode | null;
521
+ getNodePorts(nodeId: unknown): readonly unknown[] | undefined;
510
522
  getPort(portId: unknown): GraphPort | null;
511
523
  getPortNode(portId: string): unknown | null;
524
+ getAllEdges(): readonly unknown[];
512
525
  getEdge(edgeId: unknown): GraphEdge | null;
513
526
  getPortAdjacentEdges(portId: string): readonly unknown[];
514
527
  getNodeAdjacentEdges(nodeId: unknown): readonly unknown[];
@@ -560,32 +573,49 @@ declare interface StraightEdgeShape_2 {
560
573
  readonly detourDirection?: number;
561
574
  }
562
575
 
576
+ export declare type TransformFinishedFn = (transform: TransformPayload) => void;
577
+
563
578
  export declare interface TransformOptions {
564
- scale?: {
565
- enabled?: boolean;
566
- min?: number;
567
- max?: number;
568
- wheelSensitivity?: number;
579
+ readonly scale?: {
580
+ readonly enabled?: boolean;
581
+ readonly wheelSensitivity?: number;
569
582
  };
570
- shift?: {
571
- enabled?: boolean;
583
+ readonly shift?: {
584
+ readonly enabled?: boolean;
572
585
  };
573
- events?: {
574
- onTransform?: (payload: TransformPayload) => void;
575
- onBeforeTransform?: (payload: TransformPayload) => boolean;
586
+ readonly transformPreprocessor?: TransformPreprocessorOption | TransformPreprocessorOption[];
587
+ readonly events?: {
588
+ readonly onTransformFinished?: TransformFinishedFn;
576
589
  };
577
590
  }
578
591
 
579
592
  export declare interface TransformPayload {
580
593
  readonly scale: number;
581
- readonly x: number;
582
- readonly y: number;
594
+ readonly dx: number;
595
+ readonly dy: number;
583
596
  }
584
597
 
598
+ export declare type TransformPreprocessorFn = (prevTransform: TransformPayload, nextTransform: TransformPayload, canvasWidth: number, canvasHeight: number) => TransformPayload;
599
+
600
+ declare type TransformPreprocessorOption = {
601
+ readonly type: "scale-limit";
602
+ readonly minContentScale?: number;
603
+ readonly maxContentScale?: number;
604
+ } | {
605
+ readonly type: "shift-limit";
606
+ readonly minX?: number;
607
+ readonly maxX?: number;
608
+ readonly minY?: number;
609
+ readonly maxY?: number;
610
+ } | {
611
+ readonly type: "custom";
612
+ readonly preprocessorFn: TransformPreprocessorFn;
613
+ };
614
+
585
615
  declare interface TransformState {
586
- scale: number;
587
- x: number;
588
- y: number;
616
+ readonly scale: number;
617
+ readonly dx: number;
618
+ readonly dy: number;
589
619
  }
590
620
 
591
621
  export declare interface UpdateEdgeRequest {
@@ -633,8 +663,8 @@ export declare class UserDraggableNodesCanvas implements Canvas {
633
663
  addEdge(edge: AddEdgeRequest): UserDraggableNodesCanvas;
634
664
  updateEdge(edgeId: unknown, request: UpdateEdgeRequest): UserDraggableNodesCanvas;
635
665
  removeEdge(edgeId: unknown): UserDraggableNodesCanvas;
636
- patchViewportState(request: PatchTransformRequest): UserDraggableNodesCanvas;
637
- patchContentState(request: PatchTransformRequest): UserDraggableNodesCanvas;
666
+ patchViewportMatrix(request: PatchMatrixRequest): UserDraggableNodesCanvas;
667
+ patchContentMatrix(request: PatchMatrixRequest): UserDraggableNodesCanvas;
638
668
  clear(): UserDraggableNodesCanvas;
639
669
  attach(element: HTMLElement): UserDraggableNodesCanvas;
640
670
  detach(): UserDraggableNodesCanvas;
@@ -653,12 +683,10 @@ export declare class UserTransformableCanvas implements Canvas {
653
683
  private element;
654
684
  private isMoving;
655
685
  private prevTouches;
656
- private onTransform;
657
- private onBeforeTransform;
686
+ private readonly onTransformFinished;
687
+ private readonly transformPreprocessor;
658
688
  private readonly isScalable;
659
689
  private readonly isShiftable;
660
- private readonly minViewScale;
661
- private readonly maxViewScale;
662
690
  private readonly wheelSensitivity;
663
691
  private readonly onMouseDown;
664
692
  private readonly onMouseMove;
@@ -667,6 +695,7 @@ export declare class UserTransformableCanvas implements Canvas {
667
695
  private readonly onTouchStart;
668
696
  private readonly onTouchMove;
669
697
  private readonly onTouchEnd;
698
+ private readonly observer;
670
699
  constructor(canvas: Canvas, options?: TransformOptions | undefined);
671
700
  addNode(node: AddNodeRequest): UserTransformableCanvas;
672
701
  updateNode(nodeId: unknown, request: UpdateNodeRequest): UserTransformableCanvas;
@@ -677,8 +706,8 @@ export declare class UserTransformableCanvas implements Canvas {
677
706
  addEdge(edge: AddEdgeRequest): UserTransformableCanvas;
678
707
  updateEdge(edgeId: unknown, request: UpdateEdgeRequest): UserTransformableCanvas;
679
708
  removeEdge(edgeId: unknown): UserTransformableCanvas;
680
- patchViewportState(request: PatchTransformRequest): UserTransformableCanvas;
681
- patchContentState(request: PatchTransformRequest): UserTransformableCanvas;
709
+ patchViewportMatrix(request: PatchMatrixRequest): UserTransformableCanvas;
710
+ patchContentMatrix(request: PatchMatrixRequest): UserTransformableCanvas;
682
711
  clear(): UserTransformableCanvas;
683
712
  attach(element: HTMLElement): UserTransformableCanvas;
684
713
  detach(): UserTransformableCanvas;
@@ -725,8 +754,8 @@ declare class ViewportTransformer {
725
754
  private contentMatrix;
726
755
  getViewportMatrix(): TransformState;
727
756
  getContentMatrix(): TransformState;
728
- patchViewportState(scale: number | null, x: number | null, y: number | null): void;
729
- patchContentState(scale: number | null, x: number | null, y: number | null): void;
757
+ patchViewportMatrix(scale: number | null, x: number | null, y: number | null): void;
758
+ patchContentMatrix(scale: number | null, dx: number | null, dy: number | null): void;
730
759
  private calculateReverseMatrix;
731
760
  }
732
761