@html-graph/html-graph 8.15.1 → 8.17.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.
@@ -191,6 +191,7 @@ export declare class CanvasBuilder {
191
191
  private layoutConfig;
192
192
  private animatedLayoutConfig;
193
193
  private userSelectableNodesConfig;
194
+ private userSelectableEdgesConfig;
194
195
  private userSelectableCanvasConfig;
195
196
  private hasDraggableNodes;
196
197
  private hasTransformableViewport;
@@ -204,6 +205,7 @@ export declare class CanvasBuilder {
204
205
  private readonly window;
205
206
  private readonly animationStaticNodes;
206
207
  private readonly pointInsideVerifier;
208
+ private readonly eventTagger;
207
209
  constructor(element: HTMLElement);
208
210
  setDefaults(defaults: CanvasDefaults): CanvasBuilder;
209
211
  enableUserDraggableNodes(config?: DraggableNodesConfig | undefined): CanvasBuilder;
@@ -216,6 +218,7 @@ export declare class CanvasBuilder {
216
218
  enableLayout(config?: LayoutConfig | undefined): CanvasBuilder;
217
219
  enableAnimatedLayout(config?: AnimatedLayoutConfig | undefined): CanvasBuilder;
218
220
  enableUserSelectableNodes(config: UserSelectableNodesConfig): CanvasBuilder;
221
+ enableUserSelectableEdges(config: UserSelectableEdgesConfig): CanvasBuilder;
219
222
  enableUserSelectableCanvas(config: UserSelectableCanvasConfig): CanvasBuilder;
220
223
  build(): Canvas;
221
224
  private createHtmlView;
@@ -289,6 +292,7 @@ export declare interface ConnectablePortsConfig {
289
292
  readonly edgeShape?: EdgeShapeConfig;
290
293
  readonly connectionTypeResolver?: ConnectionTypeResolver;
291
294
  readonly connectionPreprocessor?: ConnectionPreprocessor;
295
+ readonly connectionAllowedVerifier?: ConnectionAllowedVerifier;
292
296
  readonly mouseDownEventVerifier?: MouseEventVerifier;
293
297
  readonly mouseUpEventVerifier?: MouseEventVerifier;
294
298
  readonly dragPortDirection?: number | undefined;
@@ -302,13 +306,26 @@ export declare interface ConnectablePortsConfig {
302
306
  };
303
307
  }
304
308
 
309
+ export declare type ConnectionAllowedVerifier = (request: ConnectionAllowedVerifierRequest) => boolean;
310
+
311
+ export declare interface ConnectionAllowedVerifierRequest {
312
+ readonly from: Identifier;
313
+ readonly to: Identifier;
314
+ }
315
+
305
316
  export declare enum ConnectionCategory {
306
317
  Line = "line",
307
318
  NodeCycle = "node-cycle",
308
319
  PortCycle = "port-cycle"
309
320
  }
310
321
 
311
- export declare type ConnectionPreprocessor = (request: AddEdgeRequest) => AddEdgeRequest | null;
322
+ export declare type ConnectionPreprocessor = (request: AddEdgeRequest) => AddEdgeRequest | ConnectionPreprocessorNullResponse;
323
+
324
+ /**
325
+ * @deprecated
326
+ * connection preprocessor should not return null
327
+ */
328
+ declare type ConnectionPreprocessorNullResponse = null;
312
329
 
313
330
  export declare type ConnectionTypeResolver = (portId: Identifier) => "direct" | "reverse" | null;
314
331
 
@@ -365,6 +382,7 @@ declare interface DotsRenderer {
365
382
 
366
383
  declare interface DraggableEdgesConfig {
367
384
  readonly connectionPreprocessor?: ConnectionPreprocessor;
385
+ readonly connectionAllowedVerifier?: ConnectionAllowedVerifier;
368
386
  readonly mouseDownEventVerifier?: MouseEventVerifier;
369
387
  readonly mouseUpEventVerifier?: MouseEventVerifier;
370
388
  readonly draggingEdgeResolver?: DraggingEdgeResolver;
@@ -481,6 +499,7 @@ export declare class Graph {
481
499
  getAllEdgeIds(): readonly Identifier[];
482
500
  hasEdge(edgeId: Identifier): boolean;
483
501
  getEdge(edgeId: Identifier): GraphEdge;
502
+ findEdgeIdByElement(element: Element): Identifier | undefined;
484
503
  getPortIncomingEdgeIds(portId: Identifier): readonly Identifier[];
485
504
  getPortOutgoingEdgeIds(portId: Identifier): readonly Identifier[];
486
505
  getPortCycleEdgeIds(portId: Identifier): readonly Identifier[];
@@ -568,6 +587,7 @@ declare class GraphStore {
568
587
  private readonly portOutgoingEdges;
569
588
  private readonly portCycleEdges;
570
589
  private readonly elementPorts;
590
+ private readonly edgesElementsMap;
571
591
  private readonly afterNodeAddedEmitter;
572
592
  readonly onAfterNodeAdded: EventHandler<Identifier>;
573
593
  private readonly afterNodeUpdatedEmitter;
@@ -612,6 +632,7 @@ declare class GraphStore {
612
632
  removePort(portId: Identifier): void;
613
633
  hasEdge(edgeId: Identifier): boolean;
614
634
  getEdge(edgeId: Identifier): StoreEdge;
635
+ findEdgeIdByElement(element: Element): Identifier | undefined;
615
636
  addEdge(request: AddEdgeRequest_2): void;
616
637
  updateEdge(edgeId: Identifier, request: UpdateEdgeRequest_2): void;
617
638
  getAllEdgeIds(): readonly Identifier[];
@@ -701,6 +722,10 @@ export declare class InteractiveEdgeShape implements StructuredEdgeShape {
701
722
  readonly line: SVGPathElement;
702
723
  readonly sourceArrow: SVGPathElement | null;
703
724
  readonly targetArrow: SVGPathElement | null;
725
+ /**
726
+ * @deprecated
727
+ * do use shape.svg instead
728
+ */
704
729
  readonly handle: SVGGElement;
705
730
  readonly onAfterRender: EventHandler<StructuredEdgeRenderModel>;
706
731
  private readonly interactiveLine;
@@ -1013,6 +1038,13 @@ export declare interface UserSelectableCanvasConfig {
1013
1038
  readonly movementThreshold?: number | undefined;
1014
1039
  }
1015
1040
 
1041
+ export declare interface UserSelectableEdgesConfig {
1042
+ readonly onEdgeSelected: (edgeId: Identifier) => void;
1043
+ readonly mouseDownEventVerifier?: MouseEventVerifier | undefined;
1044
+ readonly mouseUpEventVerifier?: MouseEventVerifier | undefined;
1045
+ readonly movementThreshold?: number | undefined;
1046
+ }
1047
+
1016
1048
  export declare interface UserSelectableNodesConfig {
1017
1049
  readonly onNodeSelected: (nodeId: Identifier) => void;
1018
1050
  readonly mouseDownEventVerifier?: MouseEventVerifier | undefined;