ngx-vflow 1.1.1 → 1.2.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/edge-label/edge-label.component.mjs +26 -9
- package/esm2022/lib/vflow/components/node/node.component.mjs +3 -3
- package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +10 -2
- package/esm2022/lib/vflow/constants/magic-number-to-fix-glitch-in-chrome.constant.mjs +4 -0
- package/esm2022/lib/vflow/interfaces/edge-label.interface.mjs +1 -1
- package/esm2022/lib/vflow/models/node.model.mjs +4 -1
- package/esm2022/lib/vflow/services/draggable.service.mjs +34 -12
- package/esm2022/lib/vflow/services/flow-settings.service.mjs +2 -1
- package/fesm2022/ngx-vflow.mjs +73 -22
- package/fesm2022/ngx-vflow.mjs.map +1 -1
- package/lib/vflow/components/edge-label/edge-label.component.d.ts +4 -2
- package/lib/vflow/components/vflow/vflow.component.d.ts +8 -1
- package/lib/vflow/constants/magic-number-to-fix-glitch-in-chrome.constant.d.ts +1 -0
- package/lib/vflow/interfaces/edge-label.interface.d.ts +12 -3
- package/lib/vflow/models/node.model.d.ts +2 -0
- package/lib/vflow/services/draggable.service.d.ts +9 -0
- package/lib/vflow/services/flow-settings.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
export declare class EdgeLabelComponent implements AfterViewInit {
|
|
6
6
|
private zone;
|
|
7
7
|
private destroyRef;
|
|
8
|
+
private settingsService;
|
|
8
9
|
model: import("@angular/core").InputSignal<EdgeLabelModel>;
|
|
9
10
|
edgeModel: import("@angular/core").InputSignal<EdgeModel>;
|
|
10
11
|
point: import("@angular/core").InputSignal<{
|
|
@@ -12,7 +13,7 @@ export declare class EdgeLabelComponent implements AfterViewInit {
|
|
|
12
13
|
y: number;
|
|
13
14
|
}>;
|
|
14
15
|
htmlTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
|
|
15
|
-
edgeLabelWrapperRef: import("@angular/core").Signal<ElementRef<
|
|
16
|
+
edgeLabelWrapperRef: import("@angular/core").Signal<ElementRef<Element>>;
|
|
16
17
|
/**
|
|
17
18
|
* Centered point of label
|
|
18
19
|
*
|
|
@@ -22,11 +23,12 @@ export declare class EdgeLabelComponent implements AfterViewInit {
|
|
|
22
23
|
x: number;
|
|
23
24
|
y: number;
|
|
24
25
|
}>;
|
|
26
|
+
protected edgeLabelStyle: import("@angular/core").Signal<Partial<CSSStyleDeclaration> | null>;
|
|
25
27
|
ngAfterViewInit(): void;
|
|
26
28
|
protected getLabelContext(): {
|
|
27
29
|
$implicit: {
|
|
28
30
|
edge: import("ngx-vflow").Edge<unknown>;
|
|
29
|
-
label: import("ngx-vflow").EdgeLabel
|
|
31
|
+
label: import("ngx-vflow").EdgeLabel;
|
|
30
32
|
};
|
|
31
33
|
};
|
|
32
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<EdgeLabelComponent, never>;
|
|
@@ -64,6 +64,13 @@ export declare class VflowComponent implements OnInit {
|
|
|
64
64
|
*/
|
|
65
65
|
set connection(connection: ConnectionModel);
|
|
66
66
|
get connection(): ConnectionModel;
|
|
67
|
+
/**
|
|
68
|
+
* Snap grid for node movement. Passes as [x, y]
|
|
69
|
+
*/
|
|
70
|
+
set snapGrid(value: [
|
|
71
|
+
number,
|
|
72
|
+
number
|
|
73
|
+
]);
|
|
67
74
|
/**
|
|
68
75
|
* Nodes to render
|
|
69
76
|
*/
|
|
@@ -153,6 +160,6 @@ export declare class VflowComponent implements OnInit {
|
|
|
153
160
|
protected trackEdges(idx: number, { edge }: EdgeModel): Edge<unknown>;
|
|
154
161
|
private setInitialNodesOrder;
|
|
155
162
|
static ɵfac: i0.ɵɵFactoryDeclaration<VflowComponent, never>;
|
|
156
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<VflowComponent, "vflow", never, { "view": { "alias": "view"; "required": false; }; "minZoom": { "alias": "minZoom"; "required": false; }; "maxZoom": { "alias": "maxZoom"; "required": false; }; "background": { "alias": "background"; "required": false; }; "optimization": { "alias": "optimization"; "required": false; "isSignal": true; }; "entitiesSelectable": { "alias": "entitiesSelectable"; "required": false; }; "keyboardShortcuts": { "alias": "keyboardShortcuts"; "required": false; }; "connection": { "alias": "connection"; "required": false; }; "nodes": { "alias": "nodes"; "required": true; }; "edges": { "alias": "edges"; "required": false; }; }, { "onComponentNodeEvent": "onComponentNodeEvent"; }, ["nodeTemplateDirective", "groupNodeTemplateDirective", "edgeTemplateDirective", "edgeLabelHtmlDirective", "connectionTemplateDirective"], never, true, [{ directive: typeof i1.ChangesControllerDirective; inputs: {}; outputs: { "onNodesChange": "onNodesChange"; "onNodesChange.position": "onNodesChange.position"; "onNodesChange.position.single": "onNodesChange.position.single"; "onNodesChange.position.many": "onNodesChange.position.many"; "onNodesChange.size": "onNodesChange.size"; "onNodesChange.size.single": "onNodesChange.size.single"; "onNodesChange.size.many": "onNodesChange.size.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"; }; }]>;
|
|
163
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VflowComponent, "vflow", never, { "view": { "alias": "view"; "required": false; }; "minZoom": { "alias": "minZoom"; "required": false; }; "maxZoom": { "alias": "maxZoom"; "required": false; }; "background": { "alias": "background"; "required": false; }; "optimization": { "alias": "optimization"; "required": false; "isSignal": true; }; "entitiesSelectable": { "alias": "entitiesSelectable"; "required": false; }; "keyboardShortcuts": { "alias": "keyboardShortcuts"; "required": false; }; "connection": { "alias": "connection"; "required": false; }; "snapGrid": { "alias": "snapGrid"; "required": false; }; "nodes": { "alias": "nodes"; "required": true; }; "edges": { "alias": "edges"; "required": false; }; }, { "onComponentNodeEvent": "onComponentNodeEvent"; }, ["nodeTemplateDirective", "groupNodeTemplateDirective", "edgeTemplateDirective", "edgeLabelHtmlDirective", "connectionTemplateDirective"], never, true, [{ directive: typeof i1.ChangesControllerDirective; inputs: {}; outputs: { "onNodesChange": "onNodesChange"; "onNodesChange.position": "onNodesChange.position"; "onNodesChange.position.single": "onNodesChange.position.single"; "onNodesChange.position.many": "onNodesChange.position.many"; "onNodesChange.size": "onNodesChange.size"; "onNodesChange.size.single": "onNodesChange.size.single"; "onNodesChange.size.many": "onNodesChange.size.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"; }; }]>;
|
|
157
164
|
static ngAcceptInputType_connection: i2.ConnectionSettings;
|
|
158
165
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const MAGIC_NUMBER_TO_FIX_GLITCH_IN_CHROME = 2;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated not used anymore internally
|
|
3
|
+
*/
|
|
4
|
+
export type EdgeLabelType = 'default' | 'html-template';
|
|
2
5
|
export type EdgeLabelPosition = 'start' | 'center' | 'end';
|
|
3
|
-
export
|
|
4
|
-
|
|
6
|
+
export type EdgeLabel<T = unknown> = DefaultEdgeLabel | HtmlTemplateEdgeLabel<T>;
|
|
7
|
+
export interface DefaultEdgeLabel {
|
|
8
|
+
type: 'default';
|
|
9
|
+
text: string;
|
|
10
|
+
style?: Partial<CSSStyleDeclaration>;
|
|
11
|
+
}
|
|
12
|
+
export interface HtmlTemplateEdgeLabel<T = unknown> {
|
|
13
|
+
type: 'html-template';
|
|
5
14
|
data?: T;
|
|
6
15
|
}
|
|
@@ -31,6 +31,8 @@ export declare class NodeModel<T = unknown> implements FlowEntity {
|
|
|
31
31
|
}>;
|
|
32
32
|
styleWidth: Signal<string>;
|
|
33
33
|
styleHeight: Signal<string>;
|
|
34
|
+
foWidth: Signal<number>;
|
|
35
|
+
foHeight: Signal<number>;
|
|
34
36
|
renderOrder: import("@angular/core").WritableSignal<number>;
|
|
35
37
|
selected: import("@angular/core").WritableSignal<boolean>;
|
|
36
38
|
selected$: import("rxjs").Observable<boolean>;
|
|
@@ -2,6 +2,7 @@ import { NodeModel } from '../models/node.model';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class DraggableService {
|
|
4
4
|
private entitiesService;
|
|
5
|
+
private settingsService;
|
|
5
6
|
/**
|
|
6
7
|
* Enable draggable behavior for element.
|
|
7
8
|
*
|
|
@@ -30,6 +31,14 @@ export declare class DraggableService {
|
|
|
30
31
|
*/
|
|
31
32
|
private getDragBehavior;
|
|
32
33
|
private getDragNodes;
|
|
34
|
+
/**
|
|
35
|
+
* @todo make it unit testable
|
|
36
|
+
*/
|
|
37
|
+
private moveNode;
|
|
38
|
+
/**
|
|
39
|
+
* @todo make it unit testable
|
|
40
|
+
*/
|
|
41
|
+
private alignToGrid;
|
|
33
42
|
static ɵfac: i0.ɵɵFactoryDeclaration<DraggableService, never>;
|
|
34
43
|
static ɵprov: i0.ɵɵInjectableDeclaration<DraggableService>;
|
|
35
44
|
}
|
|
@@ -18,6 +18,7 @@ export declare class FlowSettingsService {
|
|
|
18
18
|
minZoom: WritableSignal<number>;
|
|
19
19
|
maxZoom: WritableSignal<number>;
|
|
20
20
|
background: WritableSignal<Background>;
|
|
21
|
+
snapGrid: WritableSignal<[number, number]>;
|
|
21
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<FlowSettingsService, never>;
|
|
22
23
|
static ɵprov: i0.ɵɵInjectableDeclaration<FlowSettingsService>;
|
|
23
24
|
}
|