ngx-vflow 1.13.2 → 1.15.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 +5 -4
- package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +7 -1
- package/esm2022/lib/vflow/interfaces/flow-entity.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/node.interface.mjs +13 -5
- package/esm2022/lib/vflow/interfaces/optimization.interface.mjs +2 -1
- package/esm2022/lib/vflow/interfaces/template-context.interface.mjs +1 -1
- package/esm2022/lib/vflow/models/edge.model.mjs +4 -9
- package/esm2022/lib/vflow/models/node.model.mjs +51 -7
- package/esm2022/lib/vflow/services/edge-rendering.service.mjs +1 -1
- package/esm2022/lib/vflow/services/flow-rendering.service.mjs +41 -0
- package/esm2022/lib/vflow/utils/is-callable.mjs +10 -0
- package/esm2022/lib/vflow/utils/is-vflow-component.mjs +9 -0
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/testing/component-mocks/vflow-mock.component.mjs +3 -1
- package/esm2022/testing/provide-custom-node-mocks.mjs +3 -2
- package/fesm2022/ngx-vflow-testing.mjs +4 -1
- package/fesm2022/ngx-vflow-testing.mjs.map +1 -1
- package/fesm2022/ngx-vflow.mjs +267 -167
- package/fesm2022/ngx-vflow.mjs.map +1 -1
- package/lib/vflow/components/vflow/vflow.component.d.ts +3 -0
- package/lib/vflow/interfaces/flow-entity.interface.d.ts +2 -1
- package/lib/vflow/interfaces/node.interface.d.ts +2 -2
- package/lib/vflow/interfaces/optimization.interface.d.ts +4 -0
- package/lib/vflow/interfaces/template-context.interface.d.ts +4 -0
- package/lib/vflow/models/edge.model.d.ts +2 -0
- package/lib/vflow/models/node.model.d.ts +4 -0
- package/lib/vflow/public-components/custom-template-edge/custom-template-edge.component.d.ts +1 -0
- package/lib/vflow/services/edge-rendering.service.d.ts +1 -1
- package/lib/vflow/services/flow-rendering.service.d.ts +11 -0
- package/lib/vflow/utils/is-callable.d.ts +1 -0
- package/lib/vflow/utils/is-vflow-component.d.ts +4 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/testing/component-mocks/vflow-mock.component.d.ts +2 -0
|
@@ -29,6 +29,7 @@ export declare class VflowComponent {
|
|
|
29
29
|
private componentEventBusService;
|
|
30
30
|
private keyboardService;
|
|
31
31
|
private injector;
|
|
32
|
+
private flowRenderingService;
|
|
32
33
|
/**
|
|
33
34
|
* Size for flow view
|
|
34
35
|
*
|
|
@@ -118,6 +119,7 @@ export declare class VflowComponent {
|
|
|
118
119
|
* Signal to reading edges change
|
|
119
120
|
*/
|
|
120
121
|
readonly edgesChange: import("@angular/core").Signal<EdgeChange[]>;
|
|
122
|
+
readonly initialized: import("@angular/core").Signal<boolean>;
|
|
121
123
|
/**
|
|
122
124
|
* Observable with viewport change
|
|
123
125
|
*/
|
|
@@ -130,6 +132,7 @@ export declare class VflowComponent {
|
|
|
130
132
|
* Observable with edges change
|
|
131
133
|
*/
|
|
132
134
|
readonly edgesChange$: import("rxjs").Observable<EdgeChange[]>;
|
|
135
|
+
readonly initialized$: import("rxjs").Observable<boolean>;
|
|
133
136
|
protected markers: import("@angular/core").Signal<Map<number, import("ngx-vflow").Marker>>;
|
|
134
137
|
protected minimap: import("@angular/core").WritableSignal<import("../../models/minimap.model").MinimapModel | null>;
|
|
135
138
|
protected flowOptimization: import("@angular/core").WritableSignal<Required<Optimization>>;
|
|
@@ -82,13 +82,13 @@ export interface TemplateDynamicGroupNode<T> extends SharedDynamicNode {
|
|
|
82
82
|
data?: WritableSignal<T>;
|
|
83
83
|
}
|
|
84
84
|
export interface ComponentNode<T = any> extends SharedNode {
|
|
85
|
-
type: Type<CustomNodeComponent<T
|
|
85
|
+
type: Type<CustomNodeComponent<T>> | (() => Promise<Type<CustomNodeComponent<T>>>);
|
|
86
86
|
data?: T;
|
|
87
87
|
width?: number;
|
|
88
88
|
height?: number;
|
|
89
89
|
}
|
|
90
90
|
export interface ComponentDynamicNode<T = any> extends SharedDynamicNode {
|
|
91
|
-
type: Type<CustomDynamicNodeComponent<T
|
|
91
|
+
type: Type<CustomDynamicNodeComponent<T>> | (() => Promise<Type<CustomDynamicNodeComponent<T>>>);
|
|
92
92
|
data?: WritableSignal<T>;
|
|
93
93
|
width?: WritableSignal<number>;
|
|
94
94
|
height?: WritableSignal<number>;
|
|
@@ -22,4 +22,8 @@ export interface Optimization {
|
|
|
22
22
|
* This should help to avoid performance issues when zooming out too much.
|
|
23
23
|
*/
|
|
24
24
|
virtualizationZoomThreshold?: number;
|
|
25
|
+
/**
|
|
26
|
+
* The trigger for lazy loading of entities.
|
|
27
|
+
*/
|
|
28
|
+
lazyLoadTrigger?: 'immediate' | 'viewport';
|
|
25
29
|
}
|
|
@@ -10,12 +10,14 @@ export interface EdgeContext {
|
|
|
10
10
|
markerStart: Signal<string>;
|
|
11
11
|
markerEnd: Signal<string>;
|
|
12
12
|
selected: Signal<boolean>;
|
|
13
|
+
shouldLoad: Signal<boolean>;
|
|
13
14
|
};
|
|
14
15
|
}
|
|
15
16
|
export interface NodeContext {
|
|
16
17
|
$implicit: {
|
|
17
18
|
node: any;
|
|
18
19
|
selected: Signal<boolean>;
|
|
20
|
+
shouldLoad: Signal<boolean>;
|
|
19
21
|
};
|
|
20
22
|
}
|
|
21
23
|
export interface SvgNodeContext {
|
|
@@ -24,6 +26,7 @@ export interface SvgNodeContext {
|
|
|
24
26
|
selected: Signal<boolean>;
|
|
25
27
|
width: Signal<number>;
|
|
26
28
|
height: Signal<number>;
|
|
29
|
+
shouldLoad: Signal<boolean>;
|
|
27
30
|
};
|
|
28
31
|
}
|
|
29
32
|
export interface GroupNodeContext {
|
|
@@ -32,6 +35,7 @@ export interface GroupNodeContext {
|
|
|
32
35
|
selected: Signal<boolean>;
|
|
33
36
|
width: Signal<number>;
|
|
34
37
|
height: Signal<number>;
|
|
38
|
+
shouldLoad: Signal<boolean>;
|
|
35
39
|
};
|
|
36
40
|
}
|
|
37
41
|
export interface ConnectionContext {
|
|
@@ -17,6 +17,7 @@ export declare class EdgeModel implements FlowEntity, Contextable<EdgeContext> {
|
|
|
17
17
|
floating: boolean;
|
|
18
18
|
selected: import("@angular/core").WritableSignal<boolean>;
|
|
19
19
|
selected$: import("rxjs").Observable<boolean>;
|
|
20
|
+
shouldLoad: import("@angular/core").Signal<boolean>;
|
|
20
21
|
renderOrder: import("@angular/core").WritableSignal<number>;
|
|
21
22
|
detached: import("@angular/core").Signal<boolean>;
|
|
22
23
|
detached$: import("rxjs").Observable<boolean>;
|
|
@@ -42,6 +43,7 @@ export declare class EdgeModel implements FlowEntity, Contextable<EdgeContext> {
|
|
|
42
43
|
markerStart: import("@angular/core").Signal<string>;
|
|
43
44
|
markerEnd: import("@angular/core").Signal<string>;
|
|
44
45
|
selected: import("@angular/core").Signal<boolean>;
|
|
46
|
+
shouldLoad: import("@angular/core").Signal<boolean>;
|
|
45
47
|
};
|
|
46
48
|
};
|
|
47
49
|
edgeLabels: {
|
|
@@ -15,6 +15,8 @@ export declare class NodeModel<T = unknown> implements FlowEntity, Contextable<N
|
|
|
15
15
|
private static defaultHeight;
|
|
16
16
|
private static defaultColor;
|
|
17
17
|
private entitiesService;
|
|
18
|
+
private settingsService;
|
|
19
|
+
private nodeRenderingService;
|
|
18
20
|
isVisible: import("@angular/core").WritableSignal<boolean>;
|
|
19
21
|
point: import("@angular/core").WritableSignal<Point>;
|
|
20
22
|
point$: Observable<Point>;
|
|
@@ -59,6 +61,8 @@ export declare class NodeModel<T = unknown> implements FlowEntity, Contextable<N
|
|
|
59
61
|
dragHandlesCount: import("@angular/core").WritableSignal<number>;
|
|
60
62
|
readonly magnetRadius = 20;
|
|
61
63
|
isComponentType: boolean;
|
|
64
|
+
shouldLoad: import("@angular/core").Signal<boolean>;
|
|
65
|
+
componentInstance$: Observable<any>;
|
|
62
66
|
text: import("@angular/core").WritableSignal<string>;
|
|
63
67
|
componentTypeInputs: {
|
|
64
68
|
node: Node<T> | DynamicNode<T>;
|
package/lib/vflow/public-components/custom-template-edge/custom-template-edge.component.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare class CustomTemplateEdgeComponent {
|
|
|
10
10
|
markerStart: import("@angular/core").Signal<string>;
|
|
11
11
|
markerEnd: import("@angular/core").Signal<string>;
|
|
12
12
|
selected: import("@angular/core").Signal<boolean>;
|
|
13
|
+
shouldLoad: import("@angular/core").Signal<boolean>;
|
|
13
14
|
};
|
|
14
15
|
protected pull(): void;
|
|
15
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<CustomTemplateEdgeComponent, never>;
|
|
@@ -4,7 +4,7 @@ export declare class EdgeRenderingService {
|
|
|
4
4
|
private flowEntitiesService;
|
|
5
5
|
private flowSettingsService;
|
|
6
6
|
readonly edges: import("@angular/core").Signal<EdgeModel[]>;
|
|
7
|
-
|
|
7
|
+
readonly viewportEdges: import("@angular/core").Signal<EdgeModel[]>;
|
|
8
8
|
private maxOrder;
|
|
9
9
|
pull(edge: EdgeModel): void;
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<EdgeRenderingService, never>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class FlowRenderingService {
|
|
3
|
+
private readonly nodeRenderingService;
|
|
4
|
+
private readonly edgeRenderingService;
|
|
5
|
+
private readonly flowEntitiesService;
|
|
6
|
+
private readonly settingsService;
|
|
7
|
+
flowInitialized: import("@angular/core").WritableSignal<boolean>;
|
|
8
|
+
constructor();
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FlowRenderingService, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FlowRenderingService>;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isCallable(fn: any): boolean;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CustomDynamicNodeComponent } from '../public-components/custom-dynamic-node/custom-dynamic-node.component';
|
|
2
|
+
import { CustomNodeComponent } from '../public-components/custom-node/custom-node.component';
|
|
3
|
+
export declare function isCustomNodeComponent(type: any): type is CustomNodeComponent;
|
|
4
|
+
export declare function isCustomDynamicNodeComponent(type: any): type is CustomDynamicNodeComponent;
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -43,5 +43,6 @@ export { FlowEntitiesService as ɵFlowEntitiesService } from './lib/vflow/servic
|
|
|
43
43
|
export { NodeAccessorService as ɵNodeAccessorService } from './lib/vflow/services/node-accessor.service';
|
|
44
44
|
export { ViewportService as ɵViewportService } from './lib/vflow/services/viewport.service';
|
|
45
45
|
export { SelectionService as ɵSelectionService } from './lib/vflow/services/selection.service';
|
|
46
|
+
export { NodeRenderingService as ɵNodeRenderingService } from './lib/vflow/services/node-rendering.service';
|
|
46
47
|
export { RootPointerDirective as ɵRootPointerDirective } from './lib/vflow/directives/root-pointer.directive';
|
|
47
48
|
export { SpacePointContextDirective as ɵSpacePointContextDirective } from './lib/vflow/directives/space-point-context.directive';
|
|
@@ -33,6 +33,8 @@ export declare class VflowMockComponent implements AsInterface<VflowComponent>,
|
|
|
33
33
|
viewport: WritableSignal<ViewportState>;
|
|
34
34
|
nodesChange: WritableSignal<NodeChange[]>;
|
|
35
35
|
edgesChange: WritableSignal<EdgeChange[]>;
|
|
36
|
+
initialized: WritableSignal<boolean>;
|
|
37
|
+
initialized$: import("rxjs").Observable<boolean>;
|
|
36
38
|
viewportChange$: import("rxjs").Observable<ViewportState>;
|
|
37
39
|
nodesChange$: import("rxjs").Observable<NodeChange[]>;
|
|
38
40
|
edgesChange$: import("rxjs").Observable<EdgeChange[]>;
|