@html-graph/html-graph 0.0.60 → 0.0.61

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
@@ -6,14 +6,14 @@
6
6
 
7
7
  ![CI](https://github.com/html-graph/html-graph/actions/workflows/ci.yml/badge.svg?branch=master)
8
8
 
9
- <a target="_blank" href="https://html-graph.github.io/use-cases/20-advanced-demo/index.html">
9
+ <a target="_blank" href="https://html-graph.github.io/use-cases/020-advanced-demo/index.html">
10
10
  <img width="100%" src="https://raw.githubusercontent.com/html-graph/html-graph/master/media/full-demo.gif"/>
11
11
  </a>
12
12
 
13
13
  Instead of connecting nodes directly this library uses concept of ports, which provide greater fexibility at managing edges.
14
14
  Port is an entity of a node to which edge can be attached to.
15
15
 
16
- Visit <a target="_blank" href="https://html-graph.github.io">use cases</a> and [use cases implementation](use-cases).
16
+ Visit <a target="_blank" href="https://html-graph.github.io/use-cases">use cases</a> and [use cases implementation](use-cases).
17
17
 
18
18
  ## Features:
19
19
 
package/dist/main.d.ts CHANGED
@@ -6,6 +6,14 @@ export declare interface AddEdgeRequest {
6
6
  readonly priority?: number;
7
7
  }
8
8
 
9
+ declare interface AddEdgeRequest_2 {
10
+ readonly edgeId: unknown;
11
+ readonly from: unknown;
12
+ readonly to: unknown;
13
+ readonly shape: EdgeShape;
14
+ readonly priority: number;
15
+ }
16
+
9
17
  export declare type AddNodePorts = Iterable<MarkNodePortRequest>;
10
18
 
11
19
  export declare interface AddNodeRequest {
@@ -18,6 +26,23 @@ export declare interface AddNodeRequest {
18
26
  readonly priority?: number;
19
27
  }
20
28
 
29
+ declare interface AddNodeRequest_2 {
30
+ readonly nodeId: unknown;
31
+ readonly element: HTMLElement;
32
+ readonly x: number;
33
+ readonly y: number;
34
+ readonly centerFn: CenterFn;
35
+ readonly priority: number;
36
+ }
37
+
38
+ declare interface AddPortRequest {
39
+ readonly portId: unknown;
40
+ readonly nodeId: unknown;
41
+ readonly element: HTMLElement;
42
+ readonly centerFn: CenterFn;
43
+ readonly direction: number;
44
+ }
45
+
21
46
  export declare class BezierEdgeShape implements EdgeShape {
22
47
  private readonly curvature;
23
48
  private readonly arrowLength;
@@ -63,7 +88,7 @@ export declare interface Canvas {
63
88
  /**
64
89
  * updates node absolute coordinates
65
90
  */
66
- updateNode(nodeId: unknown, request: UpdateNodeRequest): Canvas;
91
+ updateNode(nodeId: unknown, request?: UpdateNodeRequest): Canvas;
67
92
  /**
68
93
  * removes node from graph
69
94
  * all the ports of node get unmarked
@@ -90,7 +115,7 @@ export declare interface Canvas {
90
115
  /**
91
116
  * updates edge
92
117
  */
93
- updateEdge(edgeId: unknown, request: UpdateEdgeRequest): Canvas;
118
+ updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): Canvas;
94
119
  /**
95
120
  * removes edge from graph
96
121
  */
@@ -134,16 +159,18 @@ export declare class CanvasCore implements Canvas {
134
159
  readonly model: PublicGraphStore;
135
160
  private readonly di;
136
161
  private readonly edgeShapeFactory;
137
- private readonly nodeResizeObserverFactory;
162
+ private readonly nodes;
163
+ private readonly nodeIdGenerator;
164
+ private readonly nodesResizeObserver;
138
165
  constructor(apiOptions?: CoreOptions | undefined);
139
- addNode(node: AddNodeRequest): CanvasCore;
140
- updateNode(nodeId: unknown, request: UpdateNodeRequest): CanvasCore;
166
+ addNode(request: AddNodeRequest): CanvasCore;
167
+ updateNode(nodeId: unknown, request?: UpdateNodeRequest): CanvasCore;
141
168
  removeNode(nodeId: unknown): CanvasCore;
142
169
  markPort(port: MarkPortRequest): CanvasCore;
143
170
  updatePort(portId: string, request?: UpdatePortRequest): CanvasCore;
144
171
  unmarkPort(portId: string): CanvasCore;
145
172
  addEdge(edge: AddEdgeRequest): CanvasCore;
146
- updateEdge(edgeId: unknown, request: UpdateEdgeRequest): CanvasCore;
173
+ updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): CanvasCore;
147
174
  removeEdge(edgeId: unknown): CanvasCore;
148
175
  patchViewportMatrix(request: PatchMatrixRequest): CanvasCore;
149
176
  patchContentMatrix(request: PatchMatrixRequest): CanvasCore;
@@ -334,6 +361,13 @@ export declare interface DragOptions {
334
361
  };
335
362
  }
336
363
 
364
+ declare interface EdgePayload {
365
+ readonly from: unknown;
366
+ readonly to: unknown;
367
+ shape: EdgeShape;
368
+ priority: number;
369
+ }
370
+
337
371
  export declare interface EdgeShape {
338
372
  readonly svg: SVGSVGElement;
339
373
  update(to: Point, flipX: number, flipY: number, fromDir: number, toDir: number): void;
@@ -369,6 +403,40 @@ export declare interface GraphPort {
369
403
  readonly direction: number;
370
404
  }
371
405
 
406
+ declare class GraphStore {
407
+ private readonly nodes;
408
+ private readonly ports;
409
+ private readonly nodePorts;
410
+ private readonly portNodeId;
411
+ private readonly edges;
412
+ private readonly incommingEdges;
413
+ private readonly outcommingEdges;
414
+ private readonly cycleEdges;
415
+ addNode(request: AddNodeRequest_2): void;
416
+ getAllNodeIds(): readonly unknown[];
417
+ getNode(nodeId: unknown): NodePayload | undefined;
418
+ removeNode(nodeId: unknown): void;
419
+ addPort(request: AddPortRequest): void;
420
+ getPort(portId: unknown): PortPayload | undefined;
421
+ getAllPortIds(): readonly unknown[];
422
+ getNodePortIds(nodeId: unknown): readonly unknown[] | undefined;
423
+ getPortNodeId(portId: unknown): unknown | undefined;
424
+ removePort(portId: unknown): void;
425
+ addEdge(request: AddEdgeRequest_2): void;
426
+ getAllEdgeIds(): readonly unknown[];
427
+ getEdge(edgeId: unknown): EdgePayload | undefined;
428
+ removeEdge(edgeId: unknown): void;
429
+ clear(): void;
430
+ getPortIncomingEdgeIds(portId: unknown): readonly unknown[];
431
+ getPortOutcomingEdgeIds(portId: unknown): readonly unknown[];
432
+ getPortCycleEdgeIds(portId: unknown): readonly unknown[];
433
+ getPortAdjacentEdgeIds(portId: unknown): readonly unknown[];
434
+ getNodeIncomingEdgeIds(nodeId: unknown): readonly unknown[];
435
+ getNodeOutcomingEdgeIds(nodeId: unknown): readonly unknown[];
436
+ getNodeCycleEdgeIds(nodeId: unknown): readonly unknown[];
437
+ getNodeAdjacentEdgeIds(nodeId: unknown): readonly unknown[];
438
+ }
439
+
372
440
  export declare class HorizontalEdgeShape implements EdgeShape {
373
441
  private readonly arrowLength;
374
442
  private readonly arrowWidth;
@@ -439,41 +507,65 @@ export declare interface NodeDragPayload {
439
507
  readonly y: number;
440
508
  }
441
509
 
510
+ declare interface NodePayload {
511
+ element: HTMLElement;
512
+ x: number;
513
+ y: number;
514
+ centerFn: CenterFn;
515
+ priority: number;
516
+ }
517
+
442
518
  export declare interface PatchMatrixRequest {
443
519
  readonly scale?: number;
444
520
  readonly dx?: number;
445
521
  readonly dy?: number;
446
522
  }
447
523
 
524
+ declare interface PatchTransformRequest {
525
+ readonly scale?: number;
526
+ readonly dx?: number;
527
+ readonly dy?: number;
528
+ }
529
+
448
530
  export declare interface Point {
449
531
  readonly x: number;
450
532
  readonly y: number;
451
533
  }
452
534
 
535
+ declare interface PortPayload {
536
+ readonly element: HTMLElement;
537
+ centerFn: CenterFn;
538
+ direction: number;
539
+ }
540
+
453
541
  declare type Priority = ConstantPriority | IncrementalPriority | SharedIncrementalPriority | CustomPriority;
454
542
 
455
543
  export declare type PriorityFn = () => number;
456
544
 
457
- export declare interface PublicGraphStore {
545
+ export declare class PublicGraphStore {
546
+ private readonly graphStore;
547
+ constructor(graphStore: GraphStore);
548
+ getNode(nodeId: unknown): GraphNode | null;
458
549
  getAllNodeIds(): readonly unknown[];
550
+ getPort(portId: unknown): GraphPort | null;
459
551
  getAllPortIds(): readonly unknown[];
460
- getNode(nodeId: unknown): GraphNode | null;
461
552
  getNodePortIds(nodeId: unknown): readonly unknown[] | undefined;
462
- getPort(portId: unknown): GraphPort | null;
463
553
  getPortNodeId(portId: unknown): unknown | null;
464
554
  getAllEdgeIds(): readonly unknown[];
465
555
  getEdge(edgeId: unknown): GraphEdge | null;
466
- getPortAdjacentEdgeIds(portId: unknown): readonly unknown[];
467
- getNodeAdjacentEdgeIds(nodeId: unknown): readonly unknown[];
468
556
  getPortIncomingEdgeIds(portId: unknown): readonly unknown[];
469
557
  getPortOutcomingEdgeIds(portId: unknown): readonly unknown[];
470
558
  getPortCycleEdgeIds(portId: unknown): readonly unknown[];
559
+ getPortAdjacentEdgeIds(portId: unknown): readonly unknown[];
471
560
  getNodeIncomingEdgeIds(nodeId: unknown): readonly unknown[];
472
561
  getNodeOutcomingEdgeIds(nodeId: unknown): readonly unknown[];
473
562
  getNodeCycleEdgeIds(nodeId: unknown): readonly unknown[];
563
+ getNodeAdjacentEdgeIds(nodeId: unknown): readonly unknown[];
474
564
  }
475
565
 
476
- export declare interface PublicViewportTransformer {
566
+ export declare class PublicViewportTransformer {
567
+ private readonly transformer;
568
+ constructor(transformer: ViewportTransformer);
477
569
  getViewportMatrix(): TransformState;
478
570
  getContentMatrix(): TransformState;
479
571
  }
@@ -595,13 +687,13 @@ export declare class UserDraggableNodesCanvas implements Canvas {
595
687
  private readonly dragCursor;
596
688
  constructor(canvas: Canvas, dragOptions?: DragOptions);
597
689
  addNode(request: AddNodeRequest): UserDraggableNodesCanvas;
598
- updateNode(nodeId: unknown, request: UpdateNodeRequest): UserDraggableNodesCanvas;
690
+ updateNode(nodeId: unknown, request?: UpdateNodeRequest): UserDraggableNodesCanvas;
599
691
  removeNode(nodeId: unknown): UserDraggableNodesCanvas;
600
692
  markPort(port: MarkPortRequest): UserDraggableNodesCanvas;
601
693
  updatePort(portId: string, request?: UpdatePortRequest): UserDraggableNodesCanvas;
602
694
  unmarkPort(portId: string): UserDraggableNodesCanvas;
603
695
  addEdge(edge: AddEdgeRequest): UserDraggableNodesCanvas;
604
- updateEdge(edgeId: unknown, request: UpdateEdgeRequest): UserDraggableNodesCanvas;
696
+ updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): UserDraggableNodesCanvas;
605
697
  removeEdge(edgeId: unknown): UserDraggableNodesCanvas;
606
698
  patchViewportMatrix(request: PatchMatrixRequest): UserDraggableNodesCanvas;
607
699
  patchContentMatrix(request: PatchMatrixRequest): UserDraggableNodesCanvas;
@@ -642,13 +734,13 @@ export declare class UserTransformableCanvas implements Canvas {
642
734
  private readonly shiftCursor;
643
735
  constructor(canvas: Canvas, options?: TransformOptions | undefined);
644
736
  addNode(node: AddNodeRequest): UserTransformableCanvas;
645
- updateNode(nodeId: unknown, request: UpdateNodeRequest): UserTransformableCanvas;
737
+ updateNode(nodeId: unknown, request?: UpdateNodeRequest): UserTransformableCanvas;
646
738
  removeNode(nodeId: unknown): UserTransformableCanvas;
647
739
  markPort(port: MarkPortRequest): UserTransformableCanvas;
648
- updatePort(portId: string, request: UpdatePortRequest): UserTransformableCanvas;
740
+ updatePort(portId: string, request?: UpdatePortRequest): UserTransformableCanvas;
649
741
  unmarkPort(portId: string): UserTransformableCanvas;
650
742
  addEdge(edge: AddEdgeRequest): UserTransformableCanvas;
651
- updateEdge(edgeId: unknown, request: UpdateEdgeRequest): UserTransformableCanvas;
743
+ updateEdge(edgeId: unknown, request?: UpdateEdgeRequest): UserTransformableCanvas;
652
744
  removeEdge(edgeId: unknown): UserTransformableCanvas;
653
745
  patchViewportMatrix(request: PatchMatrixRequest): UserTransformableCanvas;
654
746
  patchContentMatrix(request: PatchMatrixRequest): UserTransformableCanvas;
@@ -695,4 +787,13 @@ declare interface VerticalEdgeShape_2 {
695
787
  readonly detourDirection?: number;
696
788
  }
697
789
 
790
+ declare class ViewportTransformer {
791
+ private viewportMatrix;
792
+ private contentMatrix;
793
+ getViewportMatrix(): TransformState;
794
+ getContentMatrix(): TransformState;
795
+ patchViewportMatrix(matrix: PatchTransformRequest): void;
796
+ patchContentMatrix(matrix: PatchTransformRequest): void;
797
+ }
798
+
698
799
  export { }