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.
- package/esm2022/lib/vflow/components/node/node.component.mjs +4 -3
- package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +33 -5
- package/esm2022/lib/vflow/directives/changes-controller.directive.mjs +115 -14
- package/esm2022/lib/vflow/directives/pointer.directive.mjs +84 -0
- package/esm2022/lib/vflow/directives/root-pointer.directive.mjs +42 -0
- package/esm2022/lib/vflow/directives/root-svg-context.directive.mjs +5 -2
- package/esm2022/lib/vflow/directives/selectable.directive.mjs +1 -1
- package/esm2022/lib/vflow/directives/space-point-context.directive.mjs +10 -6
- package/esm2022/lib/vflow/vflow.module.mjs +9 -3
- package/fesm2022/ngx-vflow.mjs +283 -25
- package/fesm2022/ngx-vflow.mjs.map +1 -1
- package/lib/vflow/components/node/node.component.d.ts +1 -1
- package/lib/vflow/components/vflow/vflow.component.d.ts +2 -2
- package/lib/vflow/directives/changes-controller.directive.d.ts +35 -9
- package/lib/vflow/directives/pointer.directive.d.ts +21 -0
- package/lib/vflow/directives/root-pointer.directive.d.ts +40 -0
- package/lib/vflow/directives/space-point-context.directive.d.ts +13 -3
- package/lib/vflow/models/edge.model.d.ts +1 -17
- package/lib/vflow/vflow.module.d.ts +5 -3
- package/package.json +1 -1
|
@@ -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:
|
|
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
|
|
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 {
|
|
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 {
|
|
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:
|
|
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
|
|
27
|
+
* Watch edges change
|
|
16
28
|
*/
|
|
17
|
-
onEdgesChange:
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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/
|
|
16
|
-
import * as i15 from "
|
|
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
|
|
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
|
}
|