@foblex/flow 19.1.5 → 19.1.7
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/AI.md +3 -3
- package/README.md +13 -4
- package/fesm2022/foblex-flow.mjs +312 -19
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/index.d.ts +82 -2
- package/package.json +2 -2
- package/schematics/ng-add/index.js +112 -16
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.json +1 -1
package/AI.md
CHANGED
|
@@ -4,7 +4,7 @@ Use this file as a strict control layer for code generation. Prefer verified pac
|
|
|
4
4
|
|
|
5
5
|
## What This Library Is
|
|
6
6
|
|
|
7
|
-
`@foblex/flow` is
|
|
7
|
+
`@foblex/flow` is the most widely adopted node editor library for Angular (by npm weekly downloads) — Angular-native, for production workflow builders, AI pipelines, and interactive diagram editors.
|
|
8
8
|
It provides rendering, connectors, interactions, selection, zoom, and connection drawing. By default your app owns graph records; the optional `withFlowState()` feature maintains typed records and undo/redo that your app explicitly loads and renders.
|
|
9
9
|
|
|
10
10
|
## Core Mental Model
|
|
@@ -170,7 +170,7 @@ If the toggle is nested inside `fDragHandle`, add `fDragBlocker` to the toggle.
|
|
|
170
170
|
|
|
171
171
|
When the flow compiles but looks wrong, verify in this order:
|
|
172
172
|
|
|
173
|
-
1. **Connection not visible**: `fSourceId` / `fTargetId` does not match any rendered `fConnectorId` exactly
|
|
173
|
+
1. **Connection not visible**: `fSourceId` / `fTargetId` does not match any rendered `fConnectorId` exactly. `out-1` vs `out_1` is a mismatch; numeric `1` and string `'1'` normalize to the same id. The connection does not render, and dev mode reports `FF1001` after endpoint resolution settles.
|
|
174
174
|
2. **Blank canvas**: `f-flow` has zero height, or the theme SCSS is not wired in `angular.json`.
|
|
175
175
|
3. **`'f-flow' is not a known element`** or connectors not working: `FFlowModule` missing from the component `imports`.
|
|
176
176
|
4. **Nothing is draggable / no events fire**: `fDraggable` missing on `<f-flow>`.
|
|
@@ -185,7 +185,7 @@ When the flow compiles but looks wrong, verify in this order:
|
|
|
185
185
|
13. **Wrong initial viewport** (`FF1009`): `fitToScreen()` / `resetScaleAndCenter()` / `centerGroupOrNode()` / `resetScaleAndCenterGroupOrNode()` called before nodes were rendered — call them from `(fNodesRendered)` (earliest safe) or `(fFullRendered)`.
|
|
186
186
|
14. **Initial centering appears in managed undo history**: call `resetScaleAndCenter(false, false)` (or pass `emitCanvasChange: false` to another viewport helper) for an application-driven transform.
|
|
187
187
|
|
|
188
|
-
To verify programmatically:
|
|
188
|
+
To verify programmatically: wait for `(fFullRendered)`, compare the node, group, and connection ids exported by `flow.getState()` with the expected graph, and fail the test on any `FFxxxx` console diagnostic. `getState()` exports registered graph records; it does not by itself prove that connection endpoints resolved. Dev-mode `FF1001` reports an unresolved endpoint.
|
|
189
189
|
|
|
190
190
|
## Additional Rules
|
|
191
191
|
|
package/README.md
CHANGED
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
<h1 align="center">Foblex Flow</h1>
|
|
26
26
|
|
|
27
27
|
<p align="center">
|
|
28
|
-
<strong>
|
|
28
|
+
<strong>The most adopted node editor library for Angular — for production workflow builders, AI pipelines, and interactive diagram editors.</strong>
|
|
29
29
|
</p>
|
|
30
30
|
|
|
31
|
-
Foblex Flow
|
|
31
|
+
Foblex Flow ships the hard parts of a production node editor — drag logic, hit-testing, SVG connection paths, reassign, selection, zoom, and undo/redo — as Angular-native building blocks. Begin with `f-flow`, `f-canvas`, nodes, and connections, then add richer editor features only when your product needs them. It powers production products such as [Luware Nimbus](https://luware.com/products/nimbus), [ProcessMIX](https://processmix.com/), [XpertAI](https://xpertai.cn/en/), and [EpicStaff](https://www.epicstaff.ai/).
|
|
32
32
|
|
|
33
33
|
Use it to create workflow builders, AI low-code tools, call-flow editors, UML diagrams, internal back-office tools, and other node-based interfaces. Start with app-owned graph records, or opt into managed records and undo/redo with `withFlowState()`; validation, persistence, permissions, and domain logic remain application concerns in both modes.
|
|
34
34
|
|
|
@@ -40,8 +40,17 @@ Use it to create workflow builders, AI low-code tools, call-flow editors, UML di
|
|
|
40
40
|
|
|
41
41
|
Current `19.x` releases target Angular `17.3+`. If your app is on Angular 12-17.2, check the [Angular Version Compatibility](https://flow.foblex.com/docs/angular-version-compatibility) guide first and pin the matching Foblex Flow line before installing.
|
|
42
42
|
|
|
43
|
+
## Built for AI Coding Agents
|
|
44
|
+
|
|
45
|
+
Foblex Flow treats AI coding agents as first-class users: the package ships a version-matched guide at `node_modules/@foblex/flow/AI.md`, `ng add` writes workspace agent rules, and stable `FFxxxx` diagnostics give agents a concrete pass/fail signal. Before generating code, verify Foblex-specific selectors and APIs against that guide or the linked official reference; do not infer APIs from other node editor libraries.
|
|
46
|
+
|
|
47
|
+
Choose the integration deliberately: classic mode keeps graph records in the application, while optional `provideFFlow(withFlowState())` provides typed managed records and undo/redo for supported operations. Verify generated flows using the APIs and `FFxxxx` diagnostics described in the shipped guide.
|
|
48
|
+
|
|
49
|
+
[AI setup guide](https://flow.foblex.com/docs/ai) · [Full curated LLM-readable reference](https://flow.foblex.com/llms-full.txt)
|
|
50
|
+
|
|
43
51
|
## Why Foblex Flow
|
|
44
52
|
|
|
53
|
+
- The most adopted node editor library built for Angular, by npm weekly downloads — maintained full-time since 2022 and used in production commercial products.
|
|
45
54
|
- Easy starting path: most editors begin with `f-flow`, `f-canvas`, nodes, connectors, and connections.
|
|
46
55
|
- Angular-first API that fits Angular apps instead of wrapping a React-style state model.
|
|
47
56
|
- Built for real editor interactions: drag to connect, drag to reassign, selection, zoom, minimap, snapping, alignment helpers, and waypoints.
|
|
@@ -65,7 +74,7 @@ Current `19.x` releases target Angular `17.3+`. If your app is on Angular 12-17.
|
|
|
65
74
|
| Integration | Classic event-driven API with app-owned records, or optional `withFlowState()` managed records, snapshots, and undo/redo; SSR-safe, zoneless-ready |
|
|
66
75
|
| AI tooling | `llms.txt`, bundled `AI.md`, `ng add` writes agent rules, dev diagnostics with stable `FFxxxx` error codes |
|
|
67
76
|
|
|
68
|
-
|
|
77
|
+
Comparing options? Read the honest comparisons: [React Flow vs Foblex Flow for Angular teams](https://flow.foblex.com/docs/react-flow-vs-foblex-flow-for-angular-teams) and [ngx-vflow vs Foblex Flow](https://flow.foblex.com/docs/ngx-vflow-vs-foblex-flow).
|
|
69
78
|
|
|
70
79
|
## Choose Your State Integration
|
|
71
80
|
|
|
@@ -191,7 +200,7 @@ That is the rendering mental model: `f-flow` hosts the editor, `f-canvas` pans a
|
|
|
191
200
|
|
|
192
201
|
### For AI Agents and LLMs
|
|
193
202
|
|
|
194
|
-
- [llms.txt](https://flow.foblex.com/llms.txt) — docs index for agents; [llms-full.txt](https://flow.foblex.com/llms-full.txt) —
|
|
203
|
+
- [llms.txt](https://flow.foblex.com/llms.txt) — docs index for agents; [llms-full.txt](https://flow.foblex.com/llms-full.txt) — full curated LLM-readable reference
|
|
195
204
|
- [AI usage guide](https://github.com/Foblex/f-flow/blob/main/libs/f-flow/AI.md) — strict code-generation rules, also shipped inside this package at `node_modules/@foblex/flow/AI.md`
|
|
196
205
|
|
|
197
206
|
## Community and Support
|
package/fesm2022/foblex-flow.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Injectable, ElementRef, DestroyRef, Injector, input, effect, untracked, Directive, signal, numberAttribute, model, booleanAttribute, ChangeDetectionStrategy, Component, viewChild, Input,
|
|
2
|
+
import { InjectionToken, inject, Injectable, ElementRef, DestroyRef, Injector, input, effect, untracked, Directive, signal, computed, numberAttribute, model, booleanAttribute, ChangeDetectionStrategy, Component, viewChild, Input, contentChildren, contentChild, Renderer2, output, NgZone, ViewContainerRef, TemplateRef, runInInjectionContext, EventEmitter, Output, afterNextRender, NgModule } from '@angular/core';
|
|
3
3
|
import { TransformModelExtensions, PointExtensions, RectExtensions, GetIntersections, RoundedRect, Point, LineExtensions, SizeExtensions, setRectToElement, adjustRectToMinSize, setRectToViewBox } from '@foblex/2d';
|
|
4
4
|
import { __decorate } from 'tslib';
|
|
5
5
|
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
@@ -1971,6 +1971,21 @@ const F_CONNECTION_WAYPOINTS = new InjectionToken('F_CONNECTION_WAYPOINTS');
|
|
|
1971
1971
|
class FConnectionWaypointsBase {
|
|
1972
1972
|
hostElement = inject((ElementRef)).nativeElement;
|
|
1973
1973
|
candidates = signal([], ...(ngDevMode ? [{ debugName: "candidates" }] : []));
|
|
1974
|
+
/**
|
|
1975
|
+
* Handle display positions supplied by the line builder (for example the
|
|
1976
|
+
* bend apex of a rounded segment corner). The waypoint model itself is
|
|
1977
|
+
* untouched — dragging and events always operate on the real waypoints.
|
|
1978
|
+
*/
|
|
1979
|
+
handles = signal([], ...(ngDevMode ? [{ debugName: "handles" }] : []));
|
|
1980
|
+
/**
|
|
1981
|
+
* Where the waypoint handles are drawn and hit-tested: the builder-supplied
|
|
1982
|
+
* positions when they cover every waypoint, otherwise the waypoints
|
|
1983
|
+
* themselves.
|
|
1984
|
+
*/
|
|
1985
|
+
displayedWaypoints = computed(() => {
|
|
1986
|
+
const handles = this.handles();
|
|
1987
|
+
return handles.length === this.waypoints().length ? handles : this.waypoints();
|
|
1988
|
+
}, ...(ngDevMode ? [{ debugName: "displayedWaypoints" }] : []));
|
|
1974
1989
|
_activeIndex = 0;
|
|
1975
1990
|
_waypoints = [];
|
|
1976
1991
|
insert(candidate) {
|
|
@@ -2005,7 +2020,11 @@ function findWaypointCandidate(connection, position) {
|
|
|
2005
2020
|
function findExistingWaypoint(connection, position) {
|
|
2006
2021
|
const component = connection.fWaypoints();
|
|
2007
2022
|
const radius = component?.radius() || 8;
|
|
2008
|
-
|
|
2023
|
+
// Handles can be drawn slightly off the raw waypoint (on the bend apex of a
|
|
2024
|
+
// rounded corner), so hit-test where they are rendered but hand back the
|
|
2025
|
+
// real waypoint — dragging always operates on the model value.
|
|
2026
|
+
const index = (component?.displayedWaypoints() ?? []).findIndex((x) => isPointerInsidePoint(position, x, radius));
|
|
2027
|
+
return index >= 0 ? component?.waypoints()[index] : undefined;
|
|
2009
2028
|
}
|
|
2010
2029
|
|
|
2011
2030
|
function pickWaypoint(connections, position) {
|
|
@@ -2060,13 +2079,13 @@ class FConnectionWaypoints extends FConnectionWaypointsBase {
|
|
|
2060
2079
|
this._notifyDataChanged();
|
|
2061
2080
|
}
|
|
2062
2081
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: FConnectionWaypoints, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2063
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: FConnectionWaypoints, isStandalone: true, selector: "f-connection-waypoints", inputs: { radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, waypoints: { classPropertyName: "waypoints", publicName: "waypoints", isSignal: true, isRequired: false, transformFunction: null }, visibility: { classPropertyName: "visibility", publicName: "visibility", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { waypoints: "waypointsChange" }, host: { classAttribute: "f-component f-connection-waypoints" }, providers: [{ provide: F_CONNECTION_WAYPOINTS, useExisting: FConnectionWaypoints }], usesInheritance: true, ngImport: i0, template: "@if (visibility()) {\n
|
|
2082
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: FConnectionWaypoints, isStandalone: true, selector: "f-connection-waypoints", inputs: { radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, waypoints: { classPropertyName: "waypoints", publicName: "waypoints", isSignal: true, isRequired: false, transformFunction: null }, visibility: { classPropertyName: "visibility", publicName: "visibility", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { waypoints: "waypointsChange" }, host: { classAttribute: "f-component f-connection-waypoints" }, providers: [{ provide: F_CONNECTION_WAYPOINTS, useExisting: FConnectionWaypoints }], usesInheritance: true, ngImport: i0, template: "@if (visibility()) {\n<svg xmlns=\"http://www.w3.org/2000/svg\">\n <g>\n @for (candidate of candidates(); track $index) {\n <circle\n [attr.r]=\"radius()\"\n class=\"f-candidate\"\n [attr.cx]=\"candidate.x\"\n [attr.cy]=\"candidate.y\"\n ></circle>\n } @for (point of displayedWaypoints(); track $index) {\n <circle\n [attr.r]=\"radius()\"\n (contextmenu)=\"remove($index, $event)\"\n class=\"f-waypoint\"\n [attr.cx]=\"point.x\"\n [attr.cy]=\"point.y\"\n ></circle>\n }\n </g>\n</svg>\n}\n", styles: [":host{pointer-events:none;position:absolute}svg{display:block;vertical-align:middle;position:absolute;overflow:visible}circle{pointer-events:visible}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2064
2083
|
}
|
|
2065
2084
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: FConnectionWaypoints, decorators: [{
|
|
2066
2085
|
type: Component,
|
|
2067
2086
|
args: [{ selector: 'f-connection-waypoints', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
2068
2087
|
class: 'f-component f-connection-waypoints',
|
|
2069
|
-
}, providers: [{ provide: F_CONNECTION_WAYPOINTS, useExisting: FConnectionWaypoints }], template: "@if (visibility()) {\n
|
|
2088
|
+
}, providers: [{ provide: F_CONNECTION_WAYPOINTS, useExisting: FConnectionWaypoints }], template: "@if (visibility()) {\n<svg xmlns=\"http://www.w3.org/2000/svg\">\n <g>\n @for (candidate of candidates(); track $index) {\n <circle\n [attr.r]=\"radius()\"\n class=\"f-candidate\"\n [attr.cx]=\"candidate.x\"\n [attr.cy]=\"candidate.y\"\n ></circle>\n } @for (point of displayedWaypoints(); track $index) {\n <circle\n [attr.r]=\"radius()\"\n (contextmenu)=\"remove($index, $event)\"\n class=\"f-waypoint\"\n [attr.cx]=\"point.x\"\n [attr.cy]=\"point.y\"\n ></circle>\n }\n </g>\n</svg>\n}\n", styles: [":host{pointer-events:none;position:absolute}svg{display:block;vertical-align:middle;position:absolute;overflow:visible}circle{pointer-events:visible}\n"] }]
|
|
2070
2089
|
}], propDecorators: { radius: [{ type: i0.Input, args: [{ isSignal: true, alias: "radius", required: false }] }], waypoints: [{ type: i0.Input, args: [{ isSignal: true, alias: "waypoints", required: false }] }, { type: i0.Output, args: ["waypointsChange"] }], visibility: [{ type: i0.Input, args: [{ isSignal: true, alias: "visibility", required: false }] }] } });
|
|
2071
2090
|
|
|
2072
2091
|
var EFMarkerType;
|
|
@@ -2642,6 +2661,29 @@ function dist(a, b) {
|
|
|
2642
2661
|
return Math.hypot(b.x - a.x, b.y - a.y);
|
|
2643
2662
|
}
|
|
2644
2663
|
|
|
2664
|
+
/**
|
|
2665
|
+
* Control point for a cubic segment end that lies on an intermediate waypoint.
|
|
2666
|
+
* The tangent runs from the previous toward the next neighbor (Catmull-Rom
|
|
2667
|
+
* style), so the two segments meeting at the waypoint share one tangent
|
|
2668
|
+
* direction and the curve passes through it smoothly. Connector sides shape
|
|
2669
|
+
* only the real endpoints of the connection, never the waypoints.
|
|
2670
|
+
*
|
|
2671
|
+
* `distance` is positive for an outgoing control point and negative for an
|
|
2672
|
+
* incoming one.
|
|
2673
|
+
*/
|
|
2674
|
+
function calculateSmoothControlPoint(anchor, previous, next, distance) {
|
|
2675
|
+
const dx = next.x - previous.x;
|
|
2676
|
+
const dy = next.y - previous.y;
|
|
2677
|
+
const length = Math.hypot(dx, dy);
|
|
2678
|
+
if (length === 0) {
|
|
2679
|
+
return { x: anchor.x, y: anchor.y };
|
|
2680
|
+
}
|
|
2681
|
+
return {
|
|
2682
|
+
x: anchor.x + (dx / length) * distance,
|
|
2683
|
+
y: anchor.y + (dy / length) * distance,
|
|
2684
|
+
};
|
|
2685
|
+
}
|
|
2686
|
+
|
|
2645
2687
|
function mergePointChains(chains) {
|
|
2646
2688
|
const out = [];
|
|
2647
2689
|
for (const chain of chains) {
|
|
@@ -2763,13 +2805,19 @@ class CalculateAdaptiveCurveData {
|
|
|
2763
2805
|
const clampedOffset = Math.max(0, offset ?? 0);
|
|
2764
2806
|
const anchors = buildConnectionAnchors(source, target, waypoints);
|
|
2765
2807
|
const segments = [];
|
|
2808
|
+
// Connector sides shape only the first and the last tangent; at
|
|
2809
|
+
// intermediate waypoints both adjacent segments share one Catmull-Rom
|
|
2810
|
+
// style tangent, so the curve passes through waypoints without kinks.
|
|
2766
2811
|
for (let i = 0; i < anchors.length - 1; i++) {
|
|
2767
2812
|
const a = anchors[i];
|
|
2768
2813
|
const b = anchors[i + 1];
|
|
2769
|
-
const
|
|
2770
|
-
const
|
|
2771
|
-
|
|
2772
|
-
|
|
2814
|
+
const handle = Math.hypot(b.x - a.x, b.y - a.y) / 3;
|
|
2815
|
+
const c1 = i === 0
|
|
2816
|
+
? CalculateAdaptiveCurveData._softControl(sourceSide, a, b, CalculateAdaptiveCurveData._handleLength(a, b, sourceSide, clampedOffset))
|
|
2817
|
+
: calculateSmoothControlPoint(a, anchors[i - 1], b, handle);
|
|
2818
|
+
const c2 = i === anchors.length - 2
|
|
2819
|
+
? CalculateAdaptiveCurveData._softControl(targetSide, b, a, CalculateAdaptiveCurveData._handleLength(b, a, targetSide, clampedOffset))
|
|
2820
|
+
: calculateSmoothControlPoint(b, a, anchors[i + 2], -handle);
|
|
2773
2821
|
segments.push({ p0: a, c1, c2, p3: b, chainIndex: i });
|
|
2774
2822
|
}
|
|
2775
2823
|
const points = sampleMultiCubicUniform(segments, 12);
|
|
@@ -2787,11 +2835,19 @@ class CalculateBezierCurveData {
|
|
|
2787
2835
|
handle({ source, sourceSide, target, targetSide, offset, waypoints, }) {
|
|
2788
2836
|
const anchors = buildConnectionAnchors(source, target, waypoints);
|
|
2789
2837
|
const segments = [];
|
|
2838
|
+
// Connector sides shape only the first and the last tangent; at
|
|
2839
|
+
// intermediate waypoints both adjacent segments share one Catmull-Rom
|
|
2840
|
+
// style tangent, so the curve passes through waypoints without kinks.
|
|
2790
2841
|
for (let i = 0; i < anchors.length - 1; i++) {
|
|
2791
2842
|
const a = anchors[i];
|
|
2792
2843
|
const b = anchors[i + 1];
|
|
2793
|
-
const
|
|
2794
|
-
const
|
|
2844
|
+
const handle = Math.hypot(b.x - a.x, b.y - a.y) / 3;
|
|
2845
|
+
const c1 = i === 0
|
|
2846
|
+
? getAnglePoint(sourceSide, a, b, offset ?? 0)
|
|
2847
|
+
: calculateSmoothControlPoint(a, anchors[i - 1], b, handle);
|
|
2848
|
+
const c2 = i === anchors.length - 2
|
|
2849
|
+
? getAnglePoint(targetSide, b, a, offset ?? 0)
|
|
2850
|
+
: calculateSmoothControlPoint(b, a, anchors[i + 2], -handle);
|
|
2795
2851
|
segments.push({ p0: a, c1, c2, p3: b, chainIndex: i });
|
|
2796
2852
|
}
|
|
2797
2853
|
const points = sampleMultiCubicUniform(segments, 12);
|
|
@@ -2894,6 +2950,38 @@ function createSegmentLinePath(points, borderRadius) {
|
|
|
2894
2950
|
parts.push(`L ${last.x + END_EPS} ${last.y + END_EPS}`);
|
|
2895
2951
|
return parts.join(' ');
|
|
2896
2952
|
}
|
|
2953
|
+
/**
|
|
2954
|
+
* The point of the rendered path closest to corner `b` — the apex of the
|
|
2955
|
+
* rounded bend `getBend` produces for it, or `b` itself when the corner is
|
|
2956
|
+
* rendered sharp. Uses the same bend-size clamping as `getBend`, so the
|
|
2957
|
+
* result always lies on the path.
|
|
2958
|
+
*/
|
|
2959
|
+
function calculateCornerApex(a, b, c, size) {
|
|
2960
|
+
if (size <= 0) {
|
|
2961
|
+
return { x: b.x, y: b.y };
|
|
2962
|
+
}
|
|
2963
|
+
const collinearX = Math.abs(a.x - b.x) <= EPS$1 && Math.abs(b.x - c.x) <= EPS$1;
|
|
2964
|
+
const collinearY = Math.abs(a.y - b.y) <= EPS$1 && Math.abs(b.y - c.y) <= EPS$1;
|
|
2965
|
+
if (collinearX || collinearY) {
|
|
2966
|
+
return { x: b.x, y: b.y };
|
|
2967
|
+
}
|
|
2968
|
+
const ab = Math.hypot(b.x - a.x, b.y - a.y);
|
|
2969
|
+
const bc = Math.hypot(c.x - b.x, c.y - b.y);
|
|
2970
|
+
const bendSize = Math.min(ab * 0.5, bc * 0.5, size);
|
|
2971
|
+
if (bendSize < MIN_VISIBLE || ab === 0 || bc === 0) {
|
|
2972
|
+
return { x: b.x, y: b.y };
|
|
2973
|
+
}
|
|
2974
|
+
// The bend is a quadratic from (b - bendSize*din) to (b + bendSize*dout)
|
|
2975
|
+
// with control b; its apex at t = 0.5 is b + 0.25 * bendSize * (dout - din).
|
|
2976
|
+
const dinX = (b.x - a.x) / ab;
|
|
2977
|
+
const dinY = (b.y - a.y) / ab;
|
|
2978
|
+
const doutX = (c.x - b.x) / bc;
|
|
2979
|
+
const doutY = (c.y - b.y) / bc;
|
|
2980
|
+
return {
|
|
2981
|
+
x: b.x + 0.25 * bendSize * (doutX - dinX),
|
|
2982
|
+
y: b.y + 0.25 * bendSize * (doutY - dinY),
|
|
2983
|
+
};
|
|
2984
|
+
}
|
|
2897
2985
|
function getBend(a, b, c, size) {
|
|
2898
2986
|
const x = b.x;
|
|
2899
2987
|
const y = b.y;
|
|
@@ -2933,17 +3021,24 @@ const CONNECTOR_SIDE_POINT = {
|
|
|
2933
3021
|
[EFConnectableSide.BOTTOM]: PointExtensions.initialize(0, 1),
|
|
2934
3022
|
[EFConnectableSide.AUTO]: PointExtensions.initialize(0, 0),
|
|
2935
3023
|
};
|
|
3024
|
+
const HARD_VIOLATION_SCORE = 1000;
|
|
3025
|
+
const ARRIVAL_AXIS_SCORE = 8;
|
|
3026
|
+
const BEND_SCORE = 1;
|
|
3027
|
+
const LENGTH_SCORE = 1e-6;
|
|
3028
|
+
const NODE_ZONE_SCORE = 1;
|
|
3029
|
+
const NODE_ZONE_SCORE_LIMIT = 600;
|
|
2936
3030
|
class CalculateSegmentLineData {
|
|
2937
3031
|
handle({ source, sourceSide, target, targetSide, waypoints, offset, radius, }) {
|
|
2938
3032
|
const anchors = buildConnectionAnchors(source, target, waypoints);
|
|
2939
|
-
const chains =
|
|
3033
|
+
const chains = anchors.length === 2
|
|
3034
|
+
? [this._getPathPoints(source, sourceSide, target, targetSide, offset ?? 0)]
|
|
3035
|
+
: this._buildWaypointChains(anchors, sourceSide, targetSide, offset ?? 0);
|
|
2940
3036
|
const candidates = [];
|
|
2941
|
-
for (
|
|
2942
|
-
const
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
candidates.push(...calculatePolylineCandidates(points));
|
|
3037
|
+
for (const chain of chains) {
|
|
3038
|
+
const candidate = this._calculateChainCandidate(chain);
|
|
3039
|
+
if (candidate) {
|
|
3040
|
+
candidates.push(candidate);
|
|
3041
|
+
}
|
|
2947
3042
|
}
|
|
2948
3043
|
const polyline = normalizePolyline(mergePointChains(chains));
|
|
2949
3044
|
const penultimatePoint = polyline.length > 1 ? polyline[polyline.length - 2] : source;
|
|
@@ -2954,8 +3049,205 @@ class CalculateSegmentLineData {
|
|
|
2954
3049
|
secondPoint,
|
|
2955
3050
|
points: polyline,
|
|
2956
3051
|
candidates,
|
|
3052
|
+
waypointHandles: this._calculateWaypointHandles(waypoints ?? [], polyline, radius ?? 0),
|
|
2957
3053
|
};
|
|
2958
3054
|
}
|
|
3055
|
+
/**
|
|
3056
|
+
* Display positions for the waypoint handles. A waypoint that is a rounded
|
|
3057
|
+
* corner of the polyline maps to the apex of its bend, so the handle sits on
|
|
3058
|
+
* the rendered path; a waypoint lying mid-segment is already on the line.
|
|
3059
|
+
*/
|
|
3060
|
+
_calculateWaypointHandles(waypoints, polyline, radius) {
|
|
3061
|
+
return waypoints.map((waypoint) => {
|
|
3062
|
+
const index = polyline.findIndex((point) => point.x === waypoint.x && point.y === waypoint.y);
|
|
3063
|
+
if (index <= 0 || index >= polyline.length - 1) {
|
|
3064
|
+
return { x: waypoint.x, y: waypoint.y };
|
|
3065
|
+
}
|
|
3066
|
+
return calculateCornerApex(polyline[index - 1], waypoint, polyline[index + 1], radius);
|
|
3067
|
+
});
|
|
3068
|
+
}
|
|
3069
|
+
/**
|
|
3070
|
+
* Routes the connection through intermediate waypoints. Connector sides and
|
|
3071
|
+
* the connector gap apply only at the real endpoints; waypoints are
|
|
3072
|
+
* pass-through anchors, so no connector-like stubs appear around them. Each
|
|
3073
|
+
* chain is an explicit orthogonal route that never doubles back on the
|
|
3074
|
+
* direction it arrived with — a same-line reversal would be collapsed by
|
|
3075
|
+
* polyline normalization and would detach the path from the waypoint.
|
|
3076
|
+
*/
|
|
3077
|
+
_buildWaypointChains(anchors, sourceSide, targetSide, offset) {
|
|
3078
|
+
const sourceDirection = CONNECTOR_SIDE_POINT[sourceSide];
|
|
3079
|
+
const targetDirection = CONNECTOR_SIDE_POINT[targetSide];
|
|
3080
|
+
const nodeZones = [
|
|
3081
|
+
{ anchor: anchors[0], direction: { x: -sourceDirection.x, y: -sourceDirection.y } },
|
|
3082
|
+
{
|
|
3083
|
+
anchor: anchors[anchors.length - 1],
|
|
3084
|
+
direction: { x: -targetDirection.x, y: -targetDirection.y },
|
|
3085
|
+
},
|
|
3086
|
+
].filter((zone) => zone.direction.x !== 0 || zone.direction.y !== 0);
|
|
3087
|
+
const chains = [];
|
|
3088
|
+
let leaveDirection = null;
|
|
3089
|
+
for (let i = 0; i < anchors.length - 1; i++) {
|
|
3090
|
+
const a = anchors[i];
|
|
3091
|
+
const b = anchors[i + 1];
|
|
3092
|
+
const isFirstChain = i === 0;
|
|
3093
|
+
const isLastChain = i === anchors.length - 2;
|
|
3094
|
+
let chain;
|
|
3095
|
+
if (isFirstChain) {
|
|
3096
|
+
const sourceGap = {
|
|
3097
|
+
x: a.x + sourceDirection.x * offset,
|
|
3098
|
+
y: a.y + sourceDirection.y * offset,
|
|
3099
|
+
};
|
|
3100
|
+
const route = this._routeOrthogonal(sourceGap, sourceDirection, b, null, nodeZones);
|
|
3101
|
+
chain = [a, ...route];
|
|
3102
|
+
}
|
|
3103
|
+
else if (isLastChain) {
|
|
3104
|
+
const targetGap = {
|
|
3105
|
+
x: b.x + targetDirection.x * offset,
|
|
3106
|
+
y: b.y + targetDirection.y * offset,
|
|
3107
|
+
};
|
|
3108
|
+
const stubDirection = { x: -targetDirection.x, y: -targetDirection.y };
|
|
3109
|
+
const route = this._routeOrthogonal(a, leaveDirection, targetGap, stubDirection, nodeZones);
|
|
3110
|
+
chain = [...route, b];
|
|
3111
|
+
}
|
|
3112
|
+
else {
|
|
3113
|
+
chain = this._routeOrthogonal(a, leaveDirection, b, null, nodeZones);
|
|
3114
|
+
}
|
|
3115
|
+
chains.push(chain);
|
|
3116
|
+
leaveDirection = this._calculateArrivalDirection(isLastChain ? chain.slice(0, -1) : chain);
|
|
3117
|
+
}
|
|
3118
|
+
return chains;
|
|
3119
|
+
}
|
|
3120
|
+
/**
|
|
3121
|
+
* Connects two points with an axis-aligned route. Candidates are the
|
|
3122
|
+
* straight segment, both L-shapes, and both Z-shapes; the route that keeps
|
|
3123
|
+
* the constraints wins. `leaveDirection` is the motion the path arrived
|
|
3124
|
+
* with (its reversal as a first move is forbidden); `stubDirection` is the
|
|
3125
|
+
* upcoming connector stub motion (arriving against it is forbidden).
|
|
3126
|
+
* A non-dominant-axis arrival is only softly penalized, so waypoints are
|
|
3127
|
+
* entered along the axis they are farther away on.
|
|
3128
|
+
*/
|
|
3129
|
+
_routeOrthogonal(from, leaveDirection, to, stubDirection, nodeZones) {
|
|
3130
|
+
if (from.x === to.x && from.y === to.y) {
|
|
3131
|
+
return [from];
|
|
3132
|
+
}
|
|
3133
|
+
const corners = [];
|
|
3134
|
+
if (from.x === to.x || from.y === to.y) {
|
|
3135
|
+
corners.push([]);
|
|
3136
|
+
}
|
|
3137
|
+
corners.push([{ x: to.x, y: from.y }]);
|
|
3138
|
+
corners.push([{ x: from.x, y: to.y }]);
|
|
3139
|
+
const centerBetweenPoints = calculateCenterBetweenPoints(from, to);
|
|
3140
|
+
corners.push([
|
|
3141
|
+
{ x: centerBetweenPoints.x, y: from.y },
|
|
3142
|
+
{ x: centerBetweenPoints.x, y: to.y },
|
|
3143
|
+
]);
|
|
3144
|
+
corners.push([
|
|
3145
|
+
{ x: from.x, y: centerBetweenPoints.y },
|
|
3146
|
+
{ x: to.x, y: centerBetweenPoints.y },
|
|
3147
|
+
]);
|
|
3148
|
+
const dominantAxis = Math.abs(to.x - from.x) >= Math.abs(to.y - from.y) ? 'x' : 'y';
|
|
3149
|
+
let bestRoute = null;
|
|
3150
|
+
let bestScore = Number.POSITIVE_INFINITY;
|
|
3151
|
+
for (const cornerPoints of corners) {
|
|
3152
|
+
const route = this._compactRoute([from, ...cornerPoints, to]);
|
|
3153
|
+
const score = this._scoreRoute(route, leaveDirection, stubDirection, dominantAxis, nodeZones);
|
|
3154
|
+
if (score < bestScore) {
|
|
3155
|
+
bestScore = score;
|
|
3156
|
+
bestRoute = route;
|
|
3157
|
+
}
|
|
3158
|
+
}
|
|
3159
|
+
return bestRoute ?? [from, to];
|
|
3160
|
+
}
|
|
3161
|
+
_compactRoute(points) {
|
|
3162
|
+
const route = [points[0]];
|
|
3163
|
+
for (let i = 1; i < points.length; i++) {
|
|
3164
|
+
const last = route[route.length - 1];
|
|
3165
|
+
if (points[i].x !== last.x || points[i].y !== last.y) {
|
|
3166
|
+
route.push(points[i]);
|
|
3167
|
+
}
|
|
3168
|
+
}
|
|
3169
|
+
return route;
|
|
3170
|
+
}
|
|
3171
|
+
_scoreRoute(route, leaveDirection, stubDirection, dominantAxis, nodeZones) {
|
|
3172
|
+
let score = 0;
|
|
3173
|
+
let length = 0;
|
|
3174
|
+
let zoneLength = 0;
|
|
3175
|
+
for (let i = 0; i < route.length - 1; i++) {
|
|
3176
|
+
length += Math.abs(route[i + 1].x - route[i].x) + Math.abs(route[i + 1].y - route[i].y);
|
|
3177
|
+
for (const zone of nodeZones) {
|
|
3178
|
+
zoneLength += this._calculateSegmentLengthInZone(route[i], route[i + 1], zone);
|
|
3179
|
+
}
|
|
3180
|
+
}
|
|
3181
|
+
score += Math.min(NODE_ZONE_SCORE_LIMIT, zoneLength * NODE_ZONE_SCORE);
|
|
3182
|
+
const first = this._segmentDirection(route[0], route[1]);
|
|
3183
|
+
if (leaveDirection &&
|
|
3184
|
+
(leaveDirection.x !== 0 || leaveDirection.y !== 0) &&
|
|
3185
|
+
first.x === -leaveDirection.x &&
|
|
3186
|
+
first.y === -leaveDirection.y) {
|
|
3187
|
+
score += HARD_VIOLATION_SCORE;
|
|
3188
|
+
}
|
|
3189
|
+
const arrival = this._segmentDirection(route[route.length - 2], route[route.length - 1]);
|
|
3190
|
+
if (stubDirection && arrival.x === -stubDirection.x && arrival.y === -stubDirection.y) {
|
|
3191
|
+
score += HARD_VIOLATION_SCORE;
|
|
3192
|
+
}
|
|
3193
|
+
if (!stubDirection && arrival[dominantAxis] === 0) {
|
|
3194
|
+
score += ARRIVAL_AXIS_SCORE;
|
|
3195
|
+
}
|
|
3196
|
+
return score + (route.length - 2) * BEND_SCORE + length * LENGTH_SCORE;
|
|
3197
|
+
}
|
|
3198
|
+
_segmentDirection(a, b) {
|
|
3199
|
+
return { x: Math.sign(b.x - a.x), y: Math.sign(b.y - a.y) };
|
|
3200
|
+
}
|
|
3201
|
+
/**
|
|
3202
|
+
* Length of the part of an axis-aligned segment lying inside the half-plane
|
|
3203
|
+
* behind a connector (where the endpoint's node body is).
|
|
3204
|
+
*/
|
|
3205
|
+
_calculateSegmentLengthInZone(a, b, zone) {
|
|
3206
|
+
const zoneAxis = zone.direction.x !== 0 ? 'x' : 'y';
|
|
3207
|
+
const zoneSign = zone.direction[zoneAxis];
|
|
3208
|
+
const boundary = zone.anchor[zoneAxis];
|
|
3209
|
+
const start = (a[zoneAxis] - boundary) * zoneSign;
|
|
3210
|
+
const end = (b[zoneAxis] - boundary) * zoneSign;
|
|
3211
|
+
if (start <= 0 && end <= 0) {
|
|
3212
|
+
return 0;
|
|
3213
|
+
}
|
|
3214
|
+
const segmentLength = Math.abs(b.x - a.x) + Math.abs(b.y - a.y);
|
|
3215
|
+
if (a[zoneAxis] === b[zoneAxis]) {
|
|
3216
|
+
return segmentLength;
|
|
3217
|
+
}
|
|
3218
|
+
const insideLength = Math.max(start, end) - Math.max(0, Math.min(start, end));
|
|
3219
|
+
return Math.min(segmentLength, Math.max(0, insideLength));
|
|
3220
|
+
}
|
|
3221
|
+
/**
|
|
3222
|
+
* Waypoint-creation candidate for one chain: the midpoint of its longest
|
|
3223
|
+
* straight segment. Corner rounding consumes at most half of each adjacent
|
|
3224
|
+
* segment, so this point always lies on the rendered path — a length-based
|
|
3225
|
+
* chain midpoint can land on a rounded corner and float off the line.
|
|
3226
|
+
*/
|
|
3227
|
+
_calculateChainCandidate(chain) {
|
|
3228
|
+
let bestLength = 0;
|
|
3229
|
+
let candidate = null;
|
|
3230
|
+
for (let i = 0; i < chain.length - 1; i++) {
|
|
3231
|
+
const length = Math.abs(chain[i + 1].x - chain[i].x) + Math.abs(chain[i + 1].y - chain[i].y);
|
|
3232
|
+
if (length > bestLength) {
|
|
3233
|
+
bestLength = length;
|
|
3234
|
+
candidate = {
|
|
3235
|
+
x: (chain[i].x + chain[i + 1].x) / 2,
|
|
3236
|
+
y: (chain[i].y + chain[i + 1].y) / 2,
|
|
3237
|
+
};
|
|
3238
|
+
}
|
|
3239
|
+
}
|
|
3240
|
+
return candidate;
|
|
3241
|
+
}
|
|
3242
|
+
_calculateArrivalDirection(chain) {
|
|
3243
|
+
for (let i = chain.length - 1; i > 0; i--) {
|
|
3244
|
+
const direction = this._segmentDirection(chain[i - 1], chain[i]);
|
|
3245
|
+
if (direction.x !== 0 || direction.y !== 0) {
|
|
3246
|
+
return direction;
|
|
3247
|
+
}
|
|
3248
|
+
}
|
|
3249
|
+
return null;
|
|
3250
|
+
}
|
|
2959
3251
|
_getPathPoints(source, sourceSide, target, targetSide, offset) {
|
|
2960
3252
|
const sourceDirection = CONNECTOR_SIDE_POINT[sourceSide];
|
|
2961
3253
|
const targetDirection = CONNECTOR_SIDE_POINT[targetSide];
|
|
@@ -3531,11 +3823,12 @@ class FConnectionBase extends MIXIN_BASE$1 {
|
|
|
3531
3823
|
}
|
|
3532
3824
|
setLine({ point1, point2 }) {
|
|
3533
3825
|
this.line = LineExtensions.initialize(point1, point2);
|
|
3534
|
-
const { path, points, penultimatePoint, secondPoint, candidates } = this._getPathResult(point1, point2);
|
|
3826
|
+
const { path, points, penultimatePoint, secondPoint, candidates, waypointHandles } = this._getPathResult(point1, point2);
|
|
3535
3827
|
this.path = path;
|
|
3536
3828
|
this._penultimatePoint = penultimatePoint || point1;
|
|
3537
3829
|
this._secondPoint = secondPoint || point2;
|
|
3538
3830
|
this.fWaypoints()?.candidates.set(candidates || []);
|
|
3831
|
+
this.fWaypoints()?.handles.set(waypointHandles || []);
|
|
3539
3832
|
this._contentLayoutEngine.layout(points || [], this._contents());
|
|
3540
3833
|
}
|
|
3541
3834
|
_contents() {
|
|
@@ -24423,5 +24716,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
|
|
|
24423
24716
|
* Generated bundle index. Do not edit.
|
|
24424
24717
|
*/
|
|
24425
24718
|
|
|
24426
|
-
export { AddCanvasToStore, AddCanvasToStoreRequest, AddConnectionForCreateToStore, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStore, AddConnectionMarkerToStoreRequest, AddConnectionToStore, AddConnectionToStoreRequest, AddConnectorToStore, AddConnectorToStoreRequest, AddDndToStore, AddDndToStoreRequest, AddFlowToStore, AddFlowToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddPatternToBackground, AddPatternToBackgroundRequest, AddSnapConnectionToStore, AddSnapConnectionToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyConnectionRender, ApplyConnectionRenderRequest, ApplyConnectionWorkerResult, ApplyConnectionWorkerResultRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, AttachDragNodeHandlerFromSelection, AttachDragNodeHandlerFromSelectionRequest, AttachResizeConnectionDragHandlersToNode, AttachResizeConnectionDragHandlersToNodeRequest, AttachSoftParentConnectionDragHandlersToNode, AttachSoftParentConnectionDragHandlersToNodeRequest, AttachSourceConnectionDragHandlersToNode, AttachSourceConnectionDragHandlersToNodeRequest, AttachTargetConnectionDragHandlersToNode, AttachTargetConnectionDragHandlersToNodeRequest, BuildConnectionLine, BuildConnectionLineRequest, BuildConnectionWorkerBatch, BuildConnectionWorkerBatchRequest, BuildConnectionWorkerPayloadItem, BuildConnectionWorkerPayloadItemRequest, BuildDragNodeConstraints, BuildDragNodeConstraintsRequest, CALCULATABLE_SIDES, COMMON_PROVIDERS, CONNECTABLE_SIDE_EPSILON, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateAdaptiveCurveData, CalculateBezierCurveData, CalculateChangedRectFromDifference, CalculateChangedRectFromDifferenceRequest, CalculateClosestConnector, CalculateClosestConnectorRequest, CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByConnectedPositionsRequest, CalculateConnectableSideByInternalPosition, CalculateConnectableSideByInternalPositionRequest, CalculateConnectionsState, CalculateConnectionsStateRequest, CalculateConnectorsConnectableSides, CalculateConnectorsConnectableSidesRequest, CalculateDirectChildrenUnionRect, CalculateDirectChildrenUnionRectRequest, CalculateFlowPointFromMinimapPoint, CalculateFlowPointFromMinimapPointRequest, CalculateFlowState, CalculateFlowStateRequest, CalculateInputConnections, CalculateInputConnectionsRequest, CalculateNodesBoundingBox, CalculateNodesBoundingBoxNormalizedPosition, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CalculateNodesState, CalculateNodesStateRequest, CalculateOutputConnections, CalculateOutputConnectionsRequest, CalculateResizeLimits, CalculateResizeLimitsRequest, CalculateSegmentLineData, CalculateSelectableItems, CalculateSelectableItemsRequest, CalculateSourceConnectorsToConnect, CalculateSourceConnectorsToConnectRequest, CalculateStraightLineData, CalculateTargetConnectorsToConnect, CalculateTargetConnectorsToConnectRequest, CenterBasedDeltaCalculator, CenterGroupOrNode, CenterGroupOrNodeRequest, CenterOfMassSelectionStrategy, ChainPushCollisionResolver, ClearSelection, ClearSelectionRequest, CompleteConnectionRedraw, CompleteConnectionRedrawRequest, ConnectableSidesScheduler, ConnectedSubgraphScopeFilter, ConnectionBehaviourBuilder, ConnectionBehaviourBuilderRequest, ConnectionContentLayoutEngine, ConnectionLineBuilder, ConnectionLineBuilderRequest, ConnectionRedrawState, ConnectionWorkerState, CreateConnectionCreateDragHandler, CreateConnectionCreateDragHandlerRequest, CreateConnectionFinalize, CreateConnectionFinalizeRequest, CreateConnectionFromConnectorPreparation, CreateConnectionFromConnectorPreparationRequest, CreateConnectionFromOutletPreparation, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparation, CreateConnectionFromOutputPreparationRequest, CreateConnectionHandler, CreateConnectionMarkers, CreateConnectionMarkersRequest, CreateConnectionPreparation, CreateConnectionPreparationRequest, CreateDragNodeHandler, CreateDragNodeHandlerRequest, CreateDragNodeHierarchy, CreateDragNodeHierarchyRequest, DRAG_AND_DROP_COMMON_PROVIDERS, DRAG_AUTO_PAN_PROVIDERS, DRAG_CANVAS_PROVIDERS, DRAG_CONNECTIONS_PROVIDERS, DRAG_DROP_TO_GROUP_PROVIDERS, DRAG_EXTERNAL_ITEM_HANDLER_KIND, DRAG_EXTERNAL_ITEM_HANDLER_TYPE, DRAG_EXTERNAL_ITEM_PROVIDERS, DRAG_MINIMAP_HANDLER_KIND, DRAG_MINIMAP_HANDLER_TYPE, DRAG_MINIMAP_PROVIDERS, DRAG_NODE_HANDLER_KIND, DRAG_NODE_HANDLER_TYPE, DRAG_SELECTION_AREA_PROVIDERS, DRAG_SELECT_BY_POINTER_PROVIDERS, DeltaClamp, Deprecated, DetectConnectionsUnderDragNode, DetectConnectionsUnderDragNodeRequest, DisableConnectionWorker, DisableConnectionWorkerRequest, DownstreamConnectionsSelectionStrategy, DragAndDropBase, DragCanvasFinalize, DragCanvasFinalizeRequest, DragCanvasHandler, DragCanvasPreparation, DragCanvasPreparationRequest, DragConnectionWaypointFinalize, DragConnectionWaypointFinalizeRequest, DragConnectionWaypointHandler, DragConnectionWaypointPreparation, DragConnectionWaypointPreparationRequest, DragExternalItemCreatePlaceholder, DragExternalItemCreatePlaceholderRequest, DragExternalItemCreatePreview, DragExternalItemCreatePreviewRequest, DragExternalItemFinalize, DragExternalItemFinalizeRequest, DragExternalItemHandler, DragExternalItemPreparation, DragExternalItemPreparationRequest, DragHandlerBase, DragHandlerInjector, DragMinimapFinalize, DragMinimapFinalizeRequest, DragMinimapHandler, DragMinimapPreparation, DragMinimapPreparationRequest, DragNodeConnectionBothSidesHandler, DragNodeConnectionHandlerBase, DragNodeConnectionSourceHandler, DragNodeConnectionTargetHandler, DragNodeDeltaConstraints, DragNodeFinalize, DragNodeFinalizeRequest, DragNodeHandler, DragNodeHierarchy, DragNodeItemHandler, DragNodePreparation, DragNodePreparationRequest, DropToGroupFinalize, DropToGroupFinalizeRequest, DropToGroupHandler, DropToGroupPreparation, DropToGroupPreparationRequest, ECanvasRedrawContext, EFCanvasLayer, EFConnectableSide, EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, EFFlowFeatureKind, EFLayoutDirection, EFLayoutMode, EFMarkerType, EFReflowAxis, EFReflowCollision, EFReflowDeltaSource, EFReflowMode, EFReflowScope, EFResizeHandleType, EFZoomDirection, EMPTY_REFLOW_PLAN, EdgeBasedDeltaCalculator, EmitConnectionsChanges, EmitConnectionsChangesRequest, EmitEndDragSequenceEvent, EmitEndDragSequenceEventRequest, EmitSelectionChangeEvent, EmitSelectionChangeEventRequest, EmitStartDragSequenceEvent, EmitStartDragSequenceEventRequest, EnsureConnectionWorker, EnsureConnectionWorkerRequest, EventExtensions, ExternalRectConstraint, FA11yAnnouncer, FA11yController, FAutoPan, FAutoPanBase, FBackgroundBase, FBackgroundComponent, FCache, FCacheConnector, FCacheConnectorKeyFactory, FCacheNode, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FClickConnectFlow, FComponentsStore, FConnectionBase, FConnectionComponent, FConnectionComponentsParent, FConnectionContent, FConnectionContentBase, FConnectionDragHandleBase, FConnectionDragHandleEnd, FConnectionDragHandleStart, FConnectionForCreateComponent, FConnectionGradient, FConnectionGradientBase, FConnectionGradientRenderer, FConnectionGradientRendererBase, FConnectionMarker, FConnectionMarkerArrow, FConnectionMarkerBase, FConnectionMarkerCircle, FConnectionMarkerRegistry, FConnectionPath, FConnectionPathBase, FConnectionRegistry, FConnectionSelection, FConnectionSelectionBase, FConnectionWaypoints, FConnectionWaypointsBase, FConnectionWaypointsChangedEvent, FConnectorBase, FConnectorDirective, FConnectorRegistry, FControlSchemeController, FCreateConnectionEvent, FCreateConnectionSession, FCreateNodeEvent, FDeleteSelectedEvent, FDragBlockerDirective, FDragExternalItemStartEventData, FDragHandleDirective, FDragHandlerResult, FDragNodeStartEventData, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItem, FExternalItemBase, FExternalItemPlaceholder, FExternalItemPreview, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FFlowState, FFlowStateController, FGroupDirective, FIdRegistryBase, FLayoutController, FLayoutEngine, FLineAlignmentComponent, FMagneticLines, FMagneticLinesBase, FMagneticRects, FMagneticRectsBase, FMinimapBase, FMinimapCanvasDirective, FMinimapComponent, FMinimapFlowDirective, FMinimapState, FMinimapViewDirective, FMoveNodesEvent, FNodeBase, FNodeConnectionsIntersectionEvent, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FNodeRegistry, FReassignConnectionEvent, FRectPatternComponent, FReflowBaselineTracker, FReflowController, FReflowCycleGuard, FReflowIgnore, FReflowIgnoreRegistry, FReflowOrchestrator, FReflowPlanner, FResizeChannel, FResizeHandleDirective, FResizeNodeStartEventData, FRotateHandleDirective, FRotateNodeStartEventData, FSelectionArea, FSelectionAreaBase, FSelectionChangeEvent, FSingleRegistryBase, FSnapConnectionComponent, FSourceConnectorBase, FVirtualFor, FZoomBase, FZoomDirective, F_A11Y_CONFIG, F_AUTO_PAN_PROVIDERS, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CACHE_FEATURES, F_CACHE_OPTIONS, F_CANVAS, F_CANVAS_CONFIG, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_COMPONENTS_PARENT, F_CONNECTION_CONTENT, F_CONNECTION_DRAG_HANDLE_END, F_CONNECTION_DRAG_HANDLE_START, F_CONNECTION_FEATURES, F_CONNECTION_FLOW, F_CONNECTION_GRADIENT, F_CONNECTION_IMPORTS_EXPORTS, F_CONNECTION_MARKER, F_CONNECTION_PATH, F_CONNECTION_PROVIDERS, F_CONNECTION_SELECTION, F_CONNECTION_WAYPOINTS, F_CONNECTOR, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CONTROL_SCHEME_CONFIG, F_CSS_CLASS, F_DEFAULT_A11Y_CONFIG, F_DEFAULT_A11Y_KEYS, F_DEFAULT_A11Y_MESSAGES, F_DEFAULT_CONTROL_SCHEME, F_DEFAULT_LAYER_ORDER, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_SELECT_CONTROL_SCHEME, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_CONFIG, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_FLOW_STATE_CONFIG, F_LAYOUT, F_LAYOUT_OPTIONS, F_LINE_ALIGNMENT_PROVIDERS, F_MAGNETIC_LINES, F_MAGNETIC_LINES_PROVIDERS, F_MAGNETIC_RECTS, F_MAGNETIC_RECTS_PROVIDERS, F_MINIMAP_BASE, F_MINIMAP_FEATURES, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_REFLOW_CONFIG, F_REFLOW_PROVIDERS, F_SCROLL_PAN_CONTROL_SCHEME, F_SELECTED_CLASS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_VIRTUAL_FOR_PROVIDERS, F_ZOOM, F_ZOOM_FEATURES, F_ZOOM_PROVIDERS, FindConnectableConnectorUsingPriorityAndPosition, FindConnectableConnectorUsingPriorityAndPositionRequest, FitToChildNodesAndGroups, FitToChildNodesAndGroupsRequest, FitToFlow, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetCachedFCacheRect, GetCachedFCacheRectRequest, GetChildNodeIds, GetChildNodeIdsRequest, GetConnectorRectReference, GetConnectorRectReferenceRequest, GetCurrentSelection, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroups, GetDeepChildrenNodesAndGroupsRequest, GetFlow, GetFlowRequest, GetNodePadding, GetNodePaddingRequest, GetNormalizedConnectorRect, GetNormalizedConnectorRectRequest, GetNormalizedElementRect, GetNormalizedElementRectRequest, GetNormalizedParentNodeRect, GetNormalizedParentNodeRectRequest, GetNormalizedPoint, GetNormalizedPointRequest, GetParentNodes, GetParentNodesRequest, GlobalScopeFilter, GridSnapper, GroupScopeFilter, HandleConnectionWorkerMessage, HandleConnectionWorkerMessageRequest, IMouseEvent, INSTANCES, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequence, InitializeDragSequenceRequest, InputCanvasPosition, InputCanvasPositionRequest, InputCanvasScale, InputCanvasScaleRequest, InvalidateFCacheNode, InvalidateFCacheNodeRequest, IsArrayHasParentNode, IsArrayHasParentNodeRequest, IsConnectionRedrawCurrent, IsConnectionRedrawCurrentRequest, IsConnectionWorkerEnabled, IsConnectionWorkerEnabledRequest, IsDragStarted, IsDragStartedRequest, ListenConnectionsChanges, ListenConnectionsChangesRequest, ListenNodesChanges, ListenNodesChangesRequest, ListenTransformChanges, ListenTransformChangesRequest, LogExecutionTime, MOUSE_EVENT_IGNORE_TIME, MagneticLineElement, MagneticLineRenderer, MagneticLinesHandler, MagneticLinesPreparation, MagneticLinesPreparationRequest, MagneticRectElement, MagneticRectsHandler, MagneticRectsPreparation, MagneticRectsPreparationRequest, MagneticRectsRenderer, MarkConnectableConnectors, MarkConnectableConnectorsRequest, MarkConnectionConnectorsAsConnected, MarkConnectionConnectorsAsConnectedRequest, MinimapCalculateViewRect, MinimapCalculateViewRectRequest, MinimapCalculateViewport, MinimapCalculateViewportRequest, MinimapDrawNodes, MinimapDrawNodesRequest, MinimapNodeRects, MoveFrontElementsBeforeTargetElement, MoveFrontElementsBeforeTargetElementRequest, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NotifyFullRendered, NotifyFullRenderedRequest, NotifyNodesRendered, NotifyNodesRenderedRequest, NotifyTransformChanged, NotifyTransformChangedRequest, OnPointerMove, OnPointerMoveRequest, PINCH_TO_ZOOM_PROVIDERS, PinchToZoomFinalize, PinchToZoomFinalizeRequest, PinchToZoomHandler, PinchToZoomPreparation, PinchToZoomPreparationRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequence, PrepareDragSequenceRequest, PreventDefaultIsExternalItem, PreventDefaultIsExternalItemRequest, QueueConnectionRedraw, QueueConnectionRedrawRequest, QueueConnectionRedrawState, RESIZE_DIRECTIONS, RESIZE_NODE_HANDLER_KIND, RESIZE_NODE_HANDLER_TYPE, ROTATE_NODE_HANDLER_KIND, ROTATE_NODE_HANDLER_TYPE, ReadNodeBoundsWithPaddings, ReadNodeBoundsWithPaddingsRequest, ReadNodeBoundsWithPaddingsResponse, ReassignConnectionFinalize, ReassignConnectionFinalizeRequest, ReassignConnectionHandler, ReassignConnectionPreparation, ReassignConnectionPreparationRequest, ReassignConnectionSourceHandler, ReassignConnectionTargetHandler, RedrawCanvasWithAnimation, RedrawCanvasWithAnimationRequest, RedrawConnections, RedrawConnectionsRequest, RegisterFCacheConnector, RegisterFCacheConnectorRequest, RegisterFCacheNode, RegisterFCacheNodeRequest, RegisterPluginInstance, RegisterPluginInstanceRequest, RemoveCanvasFromStore, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStore, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStore, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStore, RemoveConnectionMarkerFromStoreRequest, RemoveConnectionWaypoint, RemoveConnectionWaypointRequest, RemoveConnectorFromStore, RemoveConnectorFromStoreRequest, RemoveDndFromStore, RemoveDndFromStoreRequest, RemoveFlowFromStore, RemoveFlowFromStoreRequest, RemoveNodeFromStore, RemoveNodeFromStoreRequest, RemovePluginInstance, RemovePluginInstanceRequest, RemoveSnapConnectionFromStore, RemoveSnapConnectionFromStoreRequest, RenderConnection, RenderConnectionFromGeometry, RenderConnectionFromGeometryRequest, RenderConnectionRequest, RenderConnectionWithLine, RenderConnectionWithLineRequest, RenderLifecycleState, ResetConnectionWorkerRuntime, ResetConnectionWorkerRuntimeRequest, ResetRenderLifecycle, ResetRenderLifecycleRequest, ResetScale, ResetScaleAndCenter, ResetScaleAndCenterRequest, ResetScaleRequest, ResetZoom, ResetZoomRequest, ResizeNodeConnectionBothSidesHandler, ResizeNodeConnectionHandlerBase, ResizeNodeConnectionSourceHandler, ResizeNodeConnectionTargetHandler, ResizeNodeFinalize, ResizeNodeFinalizeRequest, ResizeNodeHandler, ResizeNodePreparation, ResizeNodePreparationRequest, ResolveConnectableOutputForOutlet, ResolveConnectableOutputForOutletRequest, ResolveConnectionEndpointRect, ResolveConnectionEndpointRectRequest, ResolveConnectionEndpointRotationContext, ResolveConnectionEndpointRotationContextRequest, ResolveConnectionEndpoints, ResolveConnectionEndpointsRequest, ResolveConnectionGeometry, ResolveConnectionGeometryRequest, RotateNodeFinalize, RotateNodeFinalizeRequest, RotateNodeHandler, RotateNodePreparation, RotateNodePreparationRequest, RunAutoPanFrame, RunAutoPanFrameRequest, RunConnectionRedrawSlice, RunConnectionRedrawSliceRequest, RunConnectionWorker, RunConnectionWorkerBatch, RunConnectionWorkerBatchRequest, RunConnectionWorkerRequest, RunDevDiagnostics, RunDevDiagnosticsRequest, ScheduleAutoPanFrame, ScheduleAutoPanFrameRequest, ScrollCanvas, ScrollCanvasRequest, Select, SelectAll, SelectAllRequest, SelectAndUpdateNodeLayer, SelectAndUpdateNodeLayerRequest, SelectByPointer, SelectByPointerRequest, SelectRequest, SelectionAreaFinalize, SelectionAreaFinalizeRequest, SelectionAreaHandler, SelectionAreaPreparation, SelectionAreaPreparationRequest, SetBackgroundTransform, SetBackgroundTransformRequest, SetFCacheConnectorRect, SetFCacheConnectorRectRequest, SetFCacheNodeRect, SetFCacheNodeRectRequest, SetZoom, SetZoomRequest, ShouldUseConnectionWorker, ShouldUseConnectionWorkerRequest, SortDropCandidatesByLayer, SortDropCandidatesByLayerRequest, SortItemLayers, SortItemLayersRequest, SortItemsByParent, SortItemsByParentRequest, SortNodeLayers, SortNodeLayersRequest, StartConnectionRedraw, StartConnectionRedrawRequest, StartConnectionWorkerRedraw, StartConnectionWorkerRedrawRequest, StopAutoPan, StopAutoPanRequest, StopCollisionResolver, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UnregisterFCacheConnector, UnregisterFCacheConnectorRequest, UnregisterFCacheNode, UnregisterFCacheNodeRequest, UpdateFCacheRectByElement, UpdateFCacheRectByElementRequest, UpdateItemAndChildrenLayers, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScale, UpdateScaleRequest, WaitForConnectionsRendered, WaitForConnectionsRenderedRequest, XRangeSelectionStrategy, afterNextPaint, buildConnectionAnchors, buildCornerMidPointsAndApplyOffsets, calculateAutoPanAxisDelta, calculateAutoPanDelta, calculateCenterBetweenPoints, calculateCurveCandidates, calculateDifferenceAfterRotation, calculateMagneticGuides, calculateMagneticRects, calculatePointerInFlow, calculatePolylineCandidates, calculatePositionAfterRotation, castToConnectorType, coerceMarkerType, computeEdgeDeltas, createConnectionDomIdentifier, createConnectionSelectionDomIdentifier, createConnectionWorkerUrl, createGradientDomIdentifier, createGradientDomUrl, createMultiCubicPath, createSVGElement, createSegmentLinePath, cubicBezierAtT, debounceAnimationFrame, debounceMicrotask, debounceTime, defaultEventTrigger, determineSide, expandRectByOverflow, fDiagnosticMessage, fInstanceKey, fProvideCache, fSuppressDevWarnings, fWarnOnce, filterConnectableTargets, findExistingWaypoint, findNodeOrGroupContaining, findSourceConnector, findSpatialNeighbor, findTargetConnector, findWaypointCandidate, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getAllSourceConnectors, getAllTargetConnectors, getExternalItemHost, infinityMinMax, injectFlowState, isCalculateMode, isConnectionWorkerRuntimeSupported, isConnector, isDragBlocker, isDragExternalItemHandler, isDragHandleEnd, isDragHandleStart, isDragMinimapHandler, isDragNodeHandler, isExternalItem, isFDevMode, isMobile, isNode, isNodeOutlet, isNodeOutput, isOnFlowBackground, isOutletConnector, isPointerInsidePoint, isPointerInsideStartOrEndDragHandles, isResizeNodeHandler, isRotateHandle, isRotateNodeHandler, isSourceConnector, isTargetConnector, isValidEventTrigger, mergeA11yConfig, mergeControlSchemeConfig, mergeFCanvasConfig, mergeFlowStateConfig, mergeLayoutNodes, mergePointChains, mergeReflowConfig, middleButtonEventTrigger, mixinChangeSelection, mixinChangeVisibility, normalizeFlowLayoutData, normalizePolyline, notifyOnStart, pickWaypoint, primaryButtonEventTrigger, provideFFlow, provideFLayout, rebaseAutoPanPointerDownPosition, rectFromPoint, requireSourceConnector, requireTargetConnector, resolveAutoPanMode, resolveConnectionWorkerRuntime, resolveLayerOrder, revokeConnectionWorkerUrl, sampleCubicBezierUniform, sampleMultiCubicUniform, stringAttribute, takeOne, transitionEnd, withA11y, withConnectionFlow, withControlScheme, withFCanvas, withFlowState, withReflowOnResize, withinSnapThreshold };
|
|
24719
|
+
export { AddCanvasToStore, AddCanvasToStoreRequest, AddConnectionForCreateToStore, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStore, AddConnectionMarkerToStoreRequest, AddConnectionToStore, AddConnectionToStoreRequest, AddConnectorToStore, AddConnectorToStoreRequest, AddDndToStore, AddDndToStoreRequest, AddFlowToStore, AddFlowToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddPatternToBackground, AddPatternToBackgroundRequest, AddSnapConnectionToStore, AddSnapConnectionToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyConnectionRender, ApplyConnectionRenderRequest, ApplyConnectionWorkerResult, ApplyConnectionWorkerResultRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, AttachDragNodeHandlerFromSelection, AttachDragNodeHandlerFromSelectionRequest, AttachResizeConnectionDragHandlersToNode, AttachResizeConnectionDragHandlersToNodeRequest, AttachSoftParentConnectionDragHandlersToNode, AttachSoftParentConnectionDragHandlersToNodeRequest, AttachSourceConnectionDragHandlersToNode, AttachSourceConnectionDragHandlersToNodeRequest, AttachTargetConnectionDragHandlersToNode, AttachTargetConnectionDragHandlersToNodeRequest, BuildConnectionLine, BuildConnectionLineRequest, BuildConnectionWorkerBatch, BuildConnectionWorkerBatchRequest, BuildConnectionWorkerPayloadItem, BuildConnectionWorkerPayloadItemRequest, BuildDragNodeConstraints, BuildDragNodeConstraintsRequest, CALCULATABLE_SIDES, COMMON_PROVIDERS, CONNECTABLE_SIDE_EPSILON, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateAdaptiveCurveData, CalculateBezierCurveData, CalculateChangedRectFromDifference, CalculateChangedRectFromDifferenceRequest, CalculateClosestConnector, CalculateClosestConnectorRequest, CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByConnectedPositionsRequest, CalculateConnectableSideByInternalPosition, CalculateConnectableSideByInternalPositionRequest, CalculateConnectionsState, CalculateConnectionsStateRequest, CalculateConnectorsConnectableSides, CalculateConnectorsConnectableSidesRequest, CalculateDirectChildrenUnionRect, CalculateDirectChildrenUnionRectRequest, CalculateFlowPointFromMinimapPoint, CalculateFlowPointFromMinimapPointRequest, CalculateFlowState, CalculateFlowStateRequest, CalculateInputConnections, CalculateInputConnectionsRequest, CalculateNodesBoundingBox, CalculateNodesBoundingBoxNormalizedPosition, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CalculateNodesState, CalculateNodesStateRequest, CalculateOutputConnections, CalculateOutputConnectionsRequest, CalculateResizeLimits, CalculateResizeLimitsRequest, CalculateSegmentLineData, CalculateSelectableItems, CalculateSelectableItemsRequest, CalculateSourceConnectorsToConnect, CalculateSourceConnectorsToConnectRequest, CalculateStraightLineData, CalculateTargetConnectorsToConnect, CalculateTargetConnectorsToConnectRequest, CenterBasedDeltaCalculator, CenterGroupOrNode, CenterGroupOrNodeRequest, CenterOfMassSelectionStrategy, ChainPushCollisionResolver, ClearSelection, ClearSelectionRequest, CompleteConnectionRedraw, CompleteConnectionRedrawRequest, ConnectableSidesScheduler, ConnectedSubgraphScopeFilter, ConnectionBehaviourBuilder, ConnectionBehaviourBuilderRequest, ConnectionContentLayoutEngine, ConnectionLineBuilder, ConnectionLineBuilderRequest, ConnectionRedrawState, ConnectionWorkerState, CreateConnectionCreateDragHandler, CreateConnectionCreateDragHandlerRequest, CreateConnectionFinalize, CreateConnectionFinalizeRequest, CreateConnectionFromConnectorPreparation, CreateConnectionFromConnectorPreparationRequest, CreateConnectionFromOutletPreparation, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparation, CreateConnectionFromOutputPreparationRequest, CreateConnectionHandler, CreateConnectionMarkers, CreateConnectionMarkersRequest, CreateConnectionPreparation, CreateConnectionPreparationRequest, CreateDragNodeHandler, CreateDragNodeHandlerRequest, CreateDragNodeHierarchy, CreateDragNodeHierarchyRequest, DRAG_AND_DROP_COMMON_PROVIDERS, DRAG_AUTO_PAN_PROVIDERS, DRAG_CANVAS_PROVIDERS, DRAG_CONNECTIONS_PROVIDERS, DRAG_DROP_TO_GROUP_PROVIDERS, DRAG_EXTERNAL_ITEM_HANDLER_KIND, DRAG_EXTERNAL_ITEM_HANDLER_TYPE, DRAG_EXTERNAL_ITEM_PROVIDERS, DRAG_MINIMAP_HANDLER_KIND, DRAG_MINIMAP_HANDLER_TYPE, DRAG_MINIMAP_PROVIDERS, DRAG_NODE_HANDLER_KIND, DRAG_NODE_HANDLER_TYPE, DRAG_SELECTION_AREA_PROVIDERS, DRAG_SELECT_BY_POINTER_PROVIDERS, DeltaClamp, Deprecated, DetectConnectionsUnderDragNode, DetectConnectionsUnderDragNodeRequest, DisableConnectionWorker, DisableConnectionWorkerRequest, DownstreamConnectionsSelectionStrategy, DragAndDropBase, DragCanvasFinalize, DragCanvasFinalizeRequest, DragCanvasHandler, DragCanvasPreparation, DragCanvasPreparationRequest, DragConnectionWaypointFinalize, DragConnectionWaypointFinalizeRequest, DragConnectionWaypointHandler, DragConnectionWaypointPreparation, DragConnectionWaypointPreparationRequest, DragExternalItemCreatePlaceholder, DragExternalItemCreatePlaceholderRequest, DragExternalItemCreatePreview, DragExternalItemCreatePreviewRequest, DragExternalItemFinalize, DragExternalItemFinalizeRequest, DragExternalItemHandler, DragExternalItemPreparation, DragExternalItemPreparationRequest, DragHandlerBase, DragHandlerInjector, DragMinimapFinalize, DragMinimapFinalizeRequest, DragMinimapHandler, DragMinimapPreparation, DragMinimapPreparationRequest, DragNodeConnectionBothSidesHandler, DragNodeConnectionHandlerBase, DragNodeConnectionSourceHandler, DragNodeConnectionTargetHandler, DragNodeDeltaConstraints, DragNodeFinalize, DragNodeFinalizeRequest, DragNodeHandler, DragNodeHierarchy, DragNodeItemHandler, DragNodePreparation, DragNodePreparationRequest, DropToGroupFinalize, DropToGroupFinalizeRequest, DropToGroupHandler, DropToGroupPreparation, DropToGroupPreparationRequest, ECanvasRedrawContext, EFCanvasLayer, EFConnectableSide, EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, EFFlowFeatureKind, EFLayoutDirection, EFLayoutMode, EFMarkerType, EFReflowAxis, EFReflowCollision, EFReflowDeltaSource, EFReflowMode, EFReflowScope, EFResizeHandleType, EFZoomDirection, EMPTY_REFLOW_PLAN, EdgeBasedDeltaCalculator, EmitConnectionsChanges, EmitConnectionsChangesRequest, EmitEndDragSequenceEvent, EmitEndDragSequenceEventRequest, EmitSelectionChangeEvent, EmitSelectionChangeEventRequest, EmitStartDragSequenceEvent, EmitStartDragSequenceEventRequest, EnsureConnectionWorker, EnsureConnectionWorkerRequest, EventExtensions, ExternalRectConstraint, FA11yAnnouncer, FA11yController, FAutoPan, FAutoPanBase, FBackgroundBase, FBackgroundComponent, FCache, FCacheConnector, FCacheConnectorKeyFactory, FCacheNode, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FClickConnectFlow, FComponentsStore, FConnectionBase, FConnectionComponent, FConnectionComponentsParent, FConnectionContent, FConnectionContentBase, FConnectionDragHandleBase, FConnectionDragHandleEnd, FConnectionDragHandleStart, FConnectionForCreateComponent, FConnectionGradient, FConnectionGradientBase, FConnectionGradientRenderer, FConnectionGradientRendererBase, FConnectionMarker, FConnectionMarkerArrow, FConnectionMarkerBase, FConnectionMarkerCircle, FConnectionMarkerRegistry, FConnectionPath, FConnectionPathBase, FConnectionRegistry, FConnectionSelection, FConnectionSelectionBase, FConnectionWaypoints, FConnectionWaypointsBase, FConnectionWaypointsChangedEvent, FConnectorBase, FConnectorDirective, FConnectorRegistry, FControlSchemeController, FCreateConnectionEvent, FCreateConnectionSession, FCreateNodeEvent, FDeleteSelectedEvent, FDragBlockerDirective, FDragExternalItemStartEventData, FDragHandleDirective, FDragHandlerResult, FDragNodeStartEventData, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItem, FExternalItemBase, FExternalItemPlaceholder, FExternalItemPreview, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FFlowState, FFlowStateController, FGroupDirective, FIdRegistryBase, FLayoutController, FLayoutEngine, FLineAlignmentComponent, FMagneticLines, FMagneticLinesBase, FMagneticRects, FMagneticRectsBase, FMinimapBase, FMinimapCanvasDirective, FMinimapComponent, FMinimapFlowDirective, FMinimapState, FMinimapViewDirective, FMoveNodesEvent, FNodeBase, FNodeConnectionsIntersectionEvent, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FNodeRegistry, FReassignConnectionEvent, FRectPatternComponent, FReflowBaselineTracker, FReflowController, FReflowCycleGuard, FReflowIgnore, FReflowIgnoreRegistry, FReflowOrchestrator, FReflowPlanner, FResizeChannel, FResizeHandleDirective, FResizeNodeStartEventData, FRotateHandleDirective, FRotateNodeStartEventData, FSelectionArea, FSelectionAreaBase, FSelectionChangeEvent, FSingleRegistryBase, FSnapConnectionComponent, FSourceConnectorBase, FVirtualFor, FZoomBase, FZoomDirective, F_A11Y_CONFIG, F_AUTO_PAN_PROVIDERS, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CACHE_FEATURES, F_CACHE_OPTIONS, F_CANVAS, F_CANVAS_CONFIG, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_COMPONENTS_PARENT, F_CONNECTION_CONTENT, F_CONNECTION_DRAG_HANDLE_END, F_CONNECTION_DRAG_HANDLE_START, F_CONNECTION_FEATURES, F_CONNECTION_FLOW, F_CONNECTION_GRADIENT, F_CONNECTION_IMPORTS_EXPORTS, F_CONNECTION_MARKER, F_CONNECTION_PATH, F_CONNECTION_PROVIDERS, F_CONNECTION_SELECTION, F_CONNECTION_WAYPOINTS, F_CONNECTOR, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CONTROL_SCHEME_CONFIG, F_CSS_CLASS, F_DEFAULT_A11Y_CONFIG, F_DEFAULT_A11Y_KEYS, F_DEFAULT_A11Y_MESSAGES, F_DEFAULT_CONTROL_SCHEME, F_DEFAULT_LAYER_ORDER, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_SELECT_CONTROL_SCHEME, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_CONFIG, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_FLOW_STATE_CONFIG, F_LAYOUT, F_LAYOUT_OPTIONS, F_LINE_ALIGNMENT_PROVIDERS, F_MAGNETIC_LINES, F_MAGNETIC_LINES_PROVIDERS, F_MAGNETIC_RECTS, F_MAGNETIC_RECTS_PROVIDERS, F_MINIMAP_BASE, F_MINIMAP_FEATURES, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_REFLOW_CONFIG, F_REFLOW_PROVIDERS, F_SCROLL_PAN_CONTROL_SCHEME, F_SELECTED_CLASS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_VIRTUAL_FOR_PROVIDERS, F_ZOOM, F_ZOOM_FEATURES, F_ZOOM_PROVIDERS, FindConnectableConnectorUsingPriorityAndPosition, FindConnectableConnectorUsingPriorityAndPositionRequest, FitToChildNodesAndGroups, FitToChildNodesAndGroupsRequest, FitToFlow, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetCachedFCacheRect, GetCachedFCacheRectRequest, GetChildNodeIds, GetChildNodeIdsRequest, GetConnectorRectReference, GetConnectorRectReferenceRequest, GetCurrentSelection, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroups, GetDeepChildrenNodesAndGroupsRequest, GetFlow, GetFlowRequest, GetNodePadding, GetNodePaddingRequest, GetNormalizedConnectorRect, GetNormalizedConnectorRectRequest, GetNormalizedElementRect, GetNormalizedElementRectRequest, GetNormalizedParentNodeRect, GetNormalizedParentNodeRectRequest, GetNormalizedPoint, GetNormalizedPointRequest, GetParentNodes, GetParentNodesRequest, GlobalScopeFilter, GridSnapper, GroupScopeFilter, HandleConnectionWorkerMessage, HandleConnectionWorkerMessageRequest, IMouseEvent, INSTANCES, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequence, InitializeDragSequenceRequest, InputCanvasPosition, InputCanvasPositionRequest, InputCanvasScale, InputCanvasScaleRequest, InvalidateFCacheNode, InvalidateFCacheNodeRequest, IsArrayHasParentNode, IsArrayHasParentNodeRequest, IsConnectionRedrawCurrent, IsConnectionRedrawCurrentRequest, IsConnectionWorkerEnabled, IsConnectionWorkerEnabledRequest, IsDragStarted, IsDragStartedRequest, ListenConnectionsChanges, ListenConnectionsChangesRequest, ListenNodesChanges, ListenNodesChangesRequest, ListenTransformChanges, ListenTransformChangesRequest, LogExecutionTime, MOUSE_EVENT_IGNORE_TIME, MagneticLineElement, MagneticLineRenderer, MagneticLinesHandler, MagneticLinesPreparation, MagneticLinesPreparationRequest, MagneticRectElement, MagneticRectsHandler, MagneticRectsPreparation, MagneticRectsPreparationRequest, MagneticRectsRenderer, MarkConnectableConnectors, MarkConnectableConnectorsRequest, MarkConnectionConnectorsAsConnected, MarkConnectionConnectorsAsConnectedRequest, MinimapCalculateViewRect, MinimapCalculateViewRectRequest, MinimapCalculateViewport, MinimapCalculateViewportRequest, MinimapDrawNodes, MinimapDrawNodesRequest, MinimapNodeRects, MoveFrontElementsBeforeTargetElement, MoveFrontElementsBeforeTargetElementRequest, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NotifyFullRendered, NotifyFullRenderedRequest, NotifyNodesRendered, NotifyNodesRenderedRequest, NotifyTransformChanged, NotifyTransformChangedRequest, OnPointerMove, OnPointerMoveRequest, PINCH_TO_ZOOM_PROVIDERS, PinchToZoomFinalize, PinchToZoomFinalizeRequest, PinchToZoomHandler, PinchToZoomPreparation, PinchToZoomPreparationRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequence, PrepareDragSequenceRequest, PreventDefaultIsExternalItem, PreventDefaultIsExternalItemRequest, QueueConnectionRedraw, QueueConnectionRedrawRequest, QueueConnectionRedrawState, RESIZE_DIRECTIONS, RESIZE_NODE_HANDLER_KIND, RESIZE_NODE_HANDLER_TYPE, ROTATE_NODE_HANDLER_KIND, ROTATE_NODE_HANDLER_TYPE, ReadNodeBoundsWithPaddings, ReadNodeBoundsWithPaddingsRequest, ReadNodeBoundsWithPaddingsResponse, ReassignConnectionFinalize, ReassignConnectionFinalizeRequest, ReassignConnectionHandler, ReassignConnectionPreparation, ReassignConnectionPreparationRequest, ReassignConnectionSourceHandler, ReassignConnectionTargetHandler, RedrawCanvasWithAnimation, RedrawCanvasWithAnimationRequest, RedrawConnections, RedrawConnectionsRequest, RegisterFCacheConnector, RegisterFCacheConnectorRequest, RegisterFCacheNode, RegisterFCacheNodeRequest, RegisterPluginInstance, RegisterPluginInstanceRequest, RemoveCanvasFromStore, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStore, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStore, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStore, RemoveConnectionMarkerFromStoreRequest, RemoveConnectionWaypoint, RemoveConnectionWaypointRequest, RemoveConnectorFromStore, RemoveConnectorFromStoreRequest, RemoveDndFromStore, RemoveDndFromStoreRequest, RemoveFlowFromStore, RemoveFlowFromStoreRequest, RemoveNodeFromStore, RemoveNodeFromStoreRequest, RemovePluginInstance, RemovePluginInstanceRequest, RemoveSnapConnectionFromStore, RemoveSnapConnectionFromStoreRequest, RenderConnection, RenderConnectionFromGeometry, RenderConnectionFromGeometryRequest, RenderConnectionRequest, RenderConnectionWithLine, RenderConnectionWithLineRequest, RenderLifecycleState, ResetConnectionWorkerRuntime, ResetConnectionWorkerRuntimeRequest, ResetRenderLifecycle, ResetRenderLifecycleRequest, ResetScale, ResetScaleAndCenter, ResetScaleAndCenterRequest, ResetScaleRequest, ResetZoom, ResetZoomRequest, ResizeNodeConnectionBothSidesHandler, ResizeNodeConnectionHandlerBase, ResizeNodeConnectionSourceHandler, ResizeNodeConnectionTargetHandler, ResizeNodeFinalize, ResizeNodeFinalizeRequest, ResizeNodeHandler, ResizeNodePreparation, ResizeNodePreparationRequest, ResolveConnectableOutputForOutlet, ResolveConnectableOutputForOutletRequest, ResolveConnectionEndpointRect, ResolveConnectionEndpointRectRequest, ResolveConnectionEndpointRotationContext, ResolveConnectionEndpointRotationContextRequest, ResolveConnectionEndpoints, ResolveConnectionEndpointsRequest, ResolveConnectionGeometry, ResolveConnectionGeometryRequest, RotateNodeFinalize, RotateNodeFinalizeRequest, RotateNodeHandler, RotateNodePreparation, RotateNodePreparationRequest, RunAutoPanFrame, RunAutoPanFrameRequest, RunConnectionRedrawSlice, RunConnectionRedrawSliceRequest, RunConnectionWorker, RunConnectionWorkerBatch, RunConnectionWorkerBatchRequest, RunConnectionWorkerRequest, RunDevDiagnostics, RunDevDiagnosticsRequest, ScheduleAutoPanFrame, ScheduleAutoPanFrameRequest, ScrollCanvas, ScrollCanvasRequest, Select, SelectAll, SelectAllRequest, SelectAndUpdateNodeLayer, SelectAndUpdateNodeLayerRequest, SelectByPointer, SelectByPointerRequest, SelectRequest, SelectionAreaFinalize, SelectionAreaFinalizeRequest, SelectionAreaHandler, SelectionAreaPreparation, SelectionAreaPreparationRequest, SetBackgroundTransform, SetBackgroundTransformRequest, SetFCacheConnectorRect, SetFCacheConnectorRectRequest, SetFCacheNodeRect, SetFCacheNodeRectRequest, SetZoom, SetZoomRequest, ShouldUseConnectionWorker, ShouldUseConnectionWorkerRequest, SortDropCandidatesByLayer, SortDropCandidatesByLayerRequest, SortItemLayers, SortItemLayersRequest, SortItemsByParent, SortItemsByParentRequest, SortNodeLayers, SortNodeLayersRequest, StartConnectionRedraw, StartConnectionRedrawRequest, StartConnectionWorkerRedraw, StartConnectionWorkerRedrawRequest, StopAutoPan, StopAutoPanRequest, StopCollisionResolver, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UnregisterFCacheConnector, UnregisterFCacheConnectorRequest, UnregisterFCacheNode, UnregisterFCacheNodeRequest, UpdateFCacheRectByElement, UpdateFCacheRectByElementRequest, UpdateItemAndChildrenLayers, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScale, UpdateScaleRequest, WaitForConnectionsRendered, WaitForConnectionsRenderedRequest, XRangeSelectionStrategy, afterNextPaint, buildConnectionAnchors, buildCornerMidPointsAndApplyOffsets, calculateAutoPanAxisDelta, calculateAutoPanDelta, calculateCenterBetweenPoints, calculateCornerApex, calculateCurveCandidates, calculateDifferenceAfterRotation, calculateMagneticGuides, calculateMagneticRects, calculatePointerInFlow, calculatePolylineCandidates, calculatePositionAfterRotation, calculateSmoothControlPoint, castToConnectorType, coerceMarkerType, computeEdgeDeltas, createConnectionDomIdentifier, createConnectionSelectionDomIdentifier, createConnectionWorkerUrl, createGradientDomIdentifier, createGradientDomUrl, createMultiCubicPath, createSVGElement, createSegmentLinePath, cubicBezierAtT, debounceAnimationFrame, debounceMicrotask, debounceTime, defaultEventTrigger, determineSide, expandRectByOverflow, fDiagnosticMessage, fInstanceKey, fProvideCache, fSuppressDevWarnings, fWarnOnce, filterConnectableTargets, findExistingWaypoint, findNodeOrGroupContaining, findSourceConnector, findSpatialNeighbor, findTargetConnector, findWaypointCandidate, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getAllSourceConnectors, getAllTargetConnectors, getExternalItemHost, infinityMinMax, injectFlowState, isCalculateMode, isConnectionWorkerRuntimeSupported, isConnector, isDragBlocker, isDragExternalItemHandler, isDragHandleEnd, isDragHandleStart, isDragMinimapHandler, isDragNodeHandler, isExternalItem, isFDevMode, isMobile, isNode, isNodeOutlet, isNodeOutput, isOnFlowBackground, isOutletConnector, isPointerInsidePoint, isPointerInsideStartOrEndDragHandles, isResizeNodeHandler, isRotateHandle, isRotateNodeHandler, isSourceConnector, isTargetConnector, isValidEventTrigger, mergeA11yConfig, mergeControlSchemeConfig, mergeFCanvasConfig, mergeFlowStateConfig, mergeLayoutNodes, mergePointChains, mergeReflowConfig, middleButtonEventTrigger, mixinChangeSelection, mixinChangeVisibility, normalizeFlowLayoutData, normalizePolyline, notifyOnStart, pickWaypoint, primaryButtonEventTrigger, provideFFlow, provideFLayout, rebaseAutoPanPointerDownPosition, rectFromPoint, requireSourceConnector, requireTargetConnector, resolveAutoPanMode, resolveConnectionWorkerRuntime, resolveLayerOrder, revokeConnectionWorkerUrl, sampleCubicBezierUniform, sampleMultiCubicUniform, stringAttribute, takeOne, transitionEnd, withA11y, withConnectionFlow, withControlScheme, withFCanvas, withFlowState, withReflowOnResize, withinSnapThreshold };
|
|
24427
24720
|
//# sourceMappingURL=foblex-flow.mjs.map
|