ngx-vflow 0.4.0 → 0.5.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.
@@ -25,7 +25,7 @@ export declare class NodeComponent implements OnInit, AfterViewInit, OnDestroy,
25
25
  ngOnInit(): void;
26
26
  ngAfterViewInit(): void;
27
27
  ngOnDestroy(): void;
28
- protected startConnection(event: MouseEvent, handle: HandleModel): void;
28
+ protected startConnection(event: Event, handle: HandleModel): void;
29
29
  protected endConnection(): void;
30
30
  /**
31
31
  * TODO srp
@@ -102,7 +102,7 @@ export declare class VflowComponent {
102
102
  */
103
103
  readonly nodesChange$: import("rxjs").Observable<NodeChange[]>;
104
104
  /**
105
- * Observable with nodes change
105
+ * Observable with edges change
106
106
  */
107
107
  readonly edgesChange$: import("rxjs").Observable<EdgeChange[]>;
108
108
  protected flowWidth: Signal<string | number>;
@@ -139,6 +139,6 @@ export declare class VflowComponent {
139
139
  protected trackNodes(idx: number, { node }: NodeModel): Node<unknown>;
140
140
  protected trackEdges(idx: number, { edge }: EdgeModel): Edge<unknown>;
141
141
  static ɵfac: i0.ɵɵFactoryDeclaration<VflowComponent, never>;
142
- static ɵcmp: i0.ɵɵComponentDeclaration<VflowComponent, "vflow", never, { "view": { "alias": "view"; "required": false; }; "minZoom": { "alias": "minZoom"; "required": false; }; "maxZoom": { "alias": "maxZoom"; "required": false; }; "handlePositions": { "alias": "handlePositions"; "required": false; }; "background": { "alias": "background"; "required": false; }; "entitiesSelectable": { "alias": "entitiesSelectable"; "required": false; }; "connection": { "alias": "connection"; "required": false; }; "nodes": { "alias": "nodes"; "required": true; }; "edges": { "alias": "edges"; "required": false; }; }, {}, ["nodeHtmlDirective", "edgeTemplateDirective", "edgeLabelHtmlDirective", "connectionTemplateDirective"], never, false, [{ directive: typeof i1.ConnectionControllerDirective; inputs: {}; outputs: { "onConnect": "onConnect"; }; }, { directive: typeof i2.ChangesControllerDirective; inputs: {}; outputs: { "onNodesChange": "onNodesChange"; "onEdgesChange": "onEdgesChange"; }; }]>;
142
+ static ɵcmp: i0.ɵɵComponentDeclaration<VflowComponent, "vflow", never, { "view": { "alias": "view"; "required": false; }; "minZoom": { "alias": "minZoom"; "required": false; }; "maxZoom": { "alias": "maxZoom"; "required": false; }; "handlePositions": { "alias": "handlePositions"; "required": false; }; "background": { "alias": "background"; "required": false; }; "entitiesSelectable": { "alias": "entitiesSelectable"; "required": false; }; "connection": { "alias": "connection"; "required": false; }; "nodes": { "alias": "nodes"; "required": true; }; "edges": { "alias": "edges"; "required": false; }; }, {}, ["nodeHtmlDirective", "edgeTemplateDirective", "edgeLabelHtmlDirective", "connectionTemplateDirective"], never, false, [{ directive: typeof i1.ConnectionControllerDirective; inputs: {}; outputs: { "onConnect": "onConnect"; }; }, { directive: typeof i2.ChangesControllerDirective; inputs: {}; outputs: { "onNodesChange": "onNodesChange"; "onNodesChange.position": "onNodesChange.position"; "onNodesChange.position.single": "onNodesChange.position.single"; "onNodesChange.position.many": "onNodesChange.position.many"; "onNodesChange.add": "onNodesChange.add"; "onNodesChange.add.single": "onNodesChange.add.single"; "onNodesChange.add.many": "onNodesChange.add.many"; "onNodesChange.remove": "onNodesChange.remove"; "onNodesChange.remove.single": "onNodesChange.remove.single"; "onNodesChange.remove.many": "onNodesChange.remove.many"; "onNodesChange.select": "onNodesChange.select"; "onNodesChange.select.single": "onNodesChange.select.single"; "onNodesChange.select.many": "onNodesChange.select.many"; "onEdgesChange": "onEdgesChange"; "onEdgesChange.detached": "onEdgesChange.detached"; "onEdgesChange.detached.single": "onEdgesChange.detached.single"; "onEdgesChange.detached.many": "onEdgesChange.detached.many"; "onEdgesChange.add": "onEdgesChange.add"; "onEdgesChange.add.single": "onEdgesChange.add.single"; "onEdgesChange.add.many": "onEdgesChange.add.many"; "onEdgesChange.remove": "onEdgesChange.remove"; "onEdgesChange.remove.single": "onEdgesChange.remove.single"; "onEdgesChange.remove.many": "onEdgesChange.remove.many"; "onEdgesChange.select": "onEdgesChange.select"; "onEdgesChange.select.single": "onEdgesChange.select.single"; "onEdgesChange.select.many": "onEdgesChange.select.many"; }; }]>;
143
143
  static ngAcceptInputType_connection: i3.ConnectionSettings;
144
144
  }
@@ -1,8 +1,8 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { NodeChange } from '../types/node-change.type';
1
+ import { NodeAddChange, NodeChange, NodePositionChange, NodeRemoveChange, NodeSelectedChange } from '../types/node-change.type';
3
2
  import { EdgeChangesService } from '../services/edge-changes.service';
4
3
  import { NodesChangeService } from '../services/node-changes.service';
5
- import { EdgeChange } from '../types/edge-change.type';
4
+ import { Observable } from 'rxjs';
5
+ import { EdgeAddChange, EdgeChange, EdgeDetachedChange, EdgeRemoveChange, EdgeSelectChange } from '../types/edge-change.type';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class ChangesControllerDirective {
8
8
  protected nodesChangeService: NodesChangeService;
@@ -10,13 +10,39 @@ export declare class ChangesControllerDirective {
10
10
  /**
11
11
  * Watch nodes change
12
12
  */
13
- onNodesChange: EventEmitter<NodeChange[]>;
13
+ onNodesChange: Observable<NodeChange[]>;
14
+ onNodesChangePosition: Observable<NodePositionChange[]>;
15
+ onNodesChangePositionSignle: Observable<NodePositionChange>;
16
+ onNodesChangePositionMany: Observable<NodePositionChange[]>;
17
+ onNodesChangeAdd: Observable<NodeAddChange[]>;
18
+ onNodesChangeAddSingle: Observable<NodeAddChange>;
19
+ onNodesChangeAddMany: Observable<NodeAddChange[]>;
20
+ onNodesChangeRemove: Observable<NodeRemoveChange[]>;
21
+ onNodesChangeRemoveSingle: Observable<NodeRemoveChange>;
22
+ onNodesChangeRemoveMany: Observable<NodeRemoveChange[]>;
23
+ onNodesChangeSelect: Observable<NodeSelectedChange[]>;
24
+ onNodesChangeSelectSingle: Observable<NodeSelectedChange>;
25
+ onNodesChangeSelectMany: Observable<NodeSelectedChange[]>;
14
26
  /**
15
- * Watch nodes change
27
+ * Watch edges change
16
28
  */
17
- onEdgesChange: EventEmitter<EdgeChange[]>;
18
- protected nodesChangeProxySubscription: import("rxjs").Subscription;
19
- protected edgesChangeProxySubscription: import("rxjs").Subscription;
29
+ onEdgesChange: Observable<EdgeChange[]>;
30
+ onNodesChangeDetached: Observable<EdgeDetachedChange[]>;
31
+ onNodesChangeDetachedSingle: Observable<EdgeDetachedChange>;
32
+ onNodesChangeDetachedMany: Observable<EdgeDetachedChange[]>;
33
+ onEdgesChangeAdd: Observable<EdgeAddChange[]>;
34
+ onEdgeChangeAddSingle: Observable<EdgeAddChange>;
35
+ onEdgeChangeAddMany: Observable<EdgeAddChange[]>;
36
+ onEdgeChangeRemove: Observable<EdgeRemoveChange[]>;
37
+ onEdgeChangeRemoveSingle: Observable<EdgeRemoveChange>;
38
+ onEdgeChangeRemoveMany: Observable<EdgeRemoveChange[]>;
39
+ onEdgeChangeSelect: Observable<EdgeSelectChange[]>;
40
+ onEdgeChangeSelectSingle: Observable<EdgeSelectChange>;
41
+ onEdgeChangeSelectMany: Observable<EdgeSelectChange[]>;
42
+ private nodeChangesOfType;
43
+ private edgeChangesOfType;
44
+ private singleChange;
45
+ private manyChanges;
20
46
  static ɵfac: i0.ɵɵFactoryDeclaration<ChangesControllerDirective, never>;
21
- static ɵdir: i0.ɵɵDirectiveDeclaration<ChangesControllerDirective, "[changesController]", never, {}, { "onNodesChange": "onNodesChange"; "onEdgesChange": "onEdgesChange"; }, never, never, true, never>;
47
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ChangesControllerDirective, "[changesController]", never, {}, { "onNodesChange": "onNodesChange"; "onNodesChangePosition": "onNodesChange.position"; "onNodesChangePositionSignle": "onNodesChange.position.single"; "onNodesChangePositionMany": "onNodesChange.position.many"; "onNodesChangeAdd": "onNodesChange.add"; "onNodesChangeAddSingle": "onNodesChange.add.single"; "onNodesChangeAddMany": "onNodesChange.add.many"; "onNodesChangeRemove": "onNodesChange.remove"; "onNodesChangeRemoveSingle": "onNodesChange.remove.single"; "onNodesChangeRemoveMany": "onNodesChange.remove.many"; "onNodesChangeSelect": "onNodesChange.select"; "onNodesChangeSelectSingle": "onNodesChange.select.single"; "onNodesChangeSelectMany": "onNodesChange.select.many"; "onEdgesChange": "onEdgesChange"; "onNodesChangeDetached": "onEdgesChange.detached"; "onNodesChangeDetachedSingle": "onEdgesChange.detached.single"; "onNodesChangeDetachedMany": "onEdgesChange.detached.many"; "onEdgesChangeAdd": "onEdgesChange.add"; "onEdgeChangeAddSingle": "onEdgesChange.add.single"; "onEdgeChangeAddMany": "onEdgesChange.add.many"; "onEdgeChangeRemove": "onEdgesChange.remove"; "onEdgeChangeRemoveSingle": "onEdgesChange.remove.single"; "onEdgeChangeRemoveMany": "onEdgesChange.remove.many"; "onEdgeChangeSelect": "onEdgesChange.select"; "onEdgeChangeSelectSingle": "onEdgesChange.select.single"; "onEdgeChangeSelectMany": "onEdgesChange.select.many"; }, never, never, true, never>;
22
48
  }
@@ -0,0 +1,21 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { RootPointerDirective } from './root-pointer.directive';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PointerDirective {
5
+ protected hostElement: Element;
6
+ protected pointerMovementDirective: RootPointerDirective;
7
+ protected pointerOver: EventEmitter<Event>;
8
+ protected pointerOut: EventEmitter<Event>;
9
+ protected pointerStart: EventEmitter<Event>;
10
+ protected pointerEnd: EventEmitter<Event>;
11
+ protected onPointerStart(event: Event): void;
12
+ protected onPointerEnd(event: Event): void;
13
+ protected onMouseOver(event: Event): void;
14
+ protected onMouseOut(event: Event): void;
15
+ private wasPointerOver;
16
+ protected touchEnd: import("rxjs").Subscription;
17
+ protected touchOverOut: import("rxjs").Subscription;
18
+ private handleTouchOverAndOut;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<PointerDirective, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PointerDirective, "[pointerStart], [pointerEnd], [pointerOver], [pointerOut]", never, {}, { "pointerOver": "pointerOver"; "pointerOut": "pointerOut"; "pointerStart": "pointerStart"; "pointerEnd": "pointerEnd"; }, never, never, false, never>;
21
+ }
@@ -0,0 +1,40 @@
1
+ import { Observable } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ export declare class RootPointerDirective {
4
+ private host;
5
+ private initialTouch$;
6
+ mouseMovement$: Observable<{
7
+ x: number;
8
+ y: number;
9
+ originalEvent: MouseEvent;
10
+ }>;
11
+ touchMovement$: Observable<{
12
+ x: number;
13
+ y: number;
14
+ target: Element | null;
15
+ originalEvent: TouchEvent;
16
+ }>;
17
+ touchEnd$: Observable<{
18
+ x: number;
19
+ y: number;
20
+ target: Element | null;
21
+ originalEvent: TouchEvent;
22
+ }>;
23
+ pointerMovement$: Observable<{
24
+ x: number;
25
+ y: number;
26
+ originalEvent: MouseEvent;
27
+ } | {
28
+ x: number;
29
+ y: number;
30
+ target: Element | null;
31
+ originalEvent: TouchEvent;
32
+ }>;
33
+ /**
34
+ * We should know when user started a touch in order to not
35
+ * show old touch position when connection creation is started
36
+ */
37
+ setInitialTouch(event: TouchEvent): void;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<RootPointerDirective, never>;
39
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RootPointerDirective, "svg[rootPointer]", never, {}, {}, never, never, false, never>;
40
+ }
@@ -2,13 +2,23 @@ import { Signal } from '@angular/core';
2
2
  import { Point } from '../interfaces/point.interface';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SpacePointContextDirective {
5
+ private pointerMovementDirective;
6
+ private rootSvg;
7
+ private host;
5
8
  /**
6
9
  * Signal with current mouse position in svg space
7
10
  */
8
11
  svgCurrentSpacePoint: Signal<Point>;
9
- private rootSvg;
10
- private host;
11
- private mouseMovement;
12
+ pointerMovement: Signal<{
13
+ x: number;
14
+ y: number;
15
+ target: Element | null;
16
+ originalEvent: TouchEvent;
17
+ } | {
18
+ x: number;
19
+ y: number;
20
+ originalEvent: MouseEvent;
21
+ } | undefined>;
12
22
  static ɵfac: i0.ɵɵFactoryDeclaration<SpacePointContextDirective, never>;
13
23
  static ɵdir: i0.ɵɵDirectiveDeclaration<SpacePointContextDirective, "g[spacePointContext]", never, {}, {}, never, never, false, never>;
14
24
  }
@@ -14,23 +14,7 @@ export declare class EdgeModel implements FlowEntity {
14
14
  selected$: import("rxjs").Observable<boolean>;
15
15
  detached: import("@angular/core").Signal<boolean>;
16
16
  detached$: import("rxjs").Observable<boolean>;
17
- path: import("@angular/core").Signal<{
18
- path: string;
19
- points: {
20
- start: {
21
- x: number;
22
- y: number;
23
- };
24
- center: {
25
- x: number;
26
- y: number;
27
- };
28
- end: {
29
- x: number;
30
- y: number;
31
- };
32
- };
33
- }>;
17
+ path: import("@angular/core").Signal<import("../interfaces/path-data.interface").PathData>;
34
18
  edgeLabels: {
35
19
  [position in EdgeLabelPosition]?: EdgeLabelModel;
36
20
  };
@@ -12,10 +12,12 @@ import * as i10 from "./directives/reference.directive";
12
12
  import * as i11 from "./directives/root-svg-context.directive";
13
13
  import * as i12 from "./directives/handle-size-controller.directive";
14
14
  import * as i13 from "./directives/selectable.directive";
15
- import * as i14 from "./directives/template.directive";
16
- import * as i15 from "@angular/common";
15
+ import * as i14 from "./directives/pointer.directive";
16
+ import * as i15 from "./directives/root-pointer.directive";
17
+ import * as i16 from "./directives/template.directive";
18
+ import * as i17 from "@angular/common";
17
19
  export declare class VflowModule {
18
20
  static ɵfac: i0.ɵɵFactoryDeclaration<VflowModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<VflowModule, [typeof i1.VflowComponent, typeof i2.NodeComponent, typeof i3.EdgeComponent, typeof i4.EdgeLabelComponent, typeof i5.ConnectionComponent, typeof i6.HandleComponent, typeof i7.DefsComponent, typeof i8.SpacePointContextDirective, typeof i9.MapContextDirective, typeof i10.RootSvgReferenceDirective, typeof i11.RootSvgContextDirective, typeof i12.HandleSizeControllerDirective, typeof i13.SelectableDirective, typeof i14.NodeHtmlTemplateDirective, typeof i14.EdgeLabelHtmlTemplateDirective, typeof i14.EdgeTemplateDirective, typeof i14.ConnectionTemplateDirective, typeof i14.HandleTemplateDirective], [typeof i15.CommonModule], [typeof i1.VflowComponent, typeof i6.HandleComponent, typeof i13.SelectableDirective, typeof i14.NodeHtmlTemplateDirective, typeof i14.EdgeLabelHtmlTemplateDirective, typeof i14.EdgeTemplateDirective, typeof i14.ConnectionTemplateDirective, typeof i14.HandleTemplateDirective]>;
21
+ static ɵmod: i0.ɵɵNgModuleDeclaration<VflowModule, [typeof i1.VflowComponent, typeof i2.NodeComponent, typeof i3.EdgeComponent, typeof i4.EdgeLabelComponent, typeof i5.ConnectionComponent, typeof i6.HandleComponent, typeof i7.DefsComponent, typeof i8.SpacePointContextDirective, typeof i9.MapContextDirective, typeof i10.RootSvgReferenceDirective, typeof i11.RootSvgContextDirective, typeof i12.HandleSizeControllerDirective, typeof i13.SelectableDirective, typeof i14.PointerDirective, typeof i15.RootPointerDirective, typeof i16.NodeHtmlTemplateDirective, typeof i16.EdgeLabelHtmlTemplateDirective, typeof i16.EdgeTemplateDirective, typeof i16.ConnectionTemplateDirective, typeof i16.HandleTemplateDirective], [typeof i17.CommonModule], [typeof i1.VflowComponent, typeof i6.HandleComponent, typeof i13.SelectableDirective, typeof i16.NodeHtmlTemplateDirective, typeof i16.EdgeLabelHtmlTemplateDirective, typeof i16.EdgeTemplateDirective, typeof i16.ConnectionTemplateDirective, typeof i16.HandleTemplateDirective]>;
20
22
  static ɵinj: i0.ɵɵInjectorDeclaration<VflowModule>;
21
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-vflow",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://www.ngx-vflow.org/",
6
6
  "author": "Artem Mangilev",