@foblex/flow 17.8.5 → 17.8.6
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/domain/drag-rect-cache.d.ts +8 -0
- package/domain/f-background/providers.d.ts +1 -1
- package/domain/f-canvas/providers.d.ts +1 -1
- package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +7 -7
- package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.d.ts +37 -3
- package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +4 -3
- package/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.d.ts +8 -0
- package/domain/f-connection/calculate-connection-line-by-behavior/{fixed-center-behavior.d.ts → utils/fixed-center-behavior.d.ts} +2 -2
- package/domain/f-connection/calculate-connection-line-by-behavior/{fixed-outbound-behavior.d.ts → utils/fixed-outbound-behavior.d.ts} +2 -2
- package/domain/f-connection/calculate-connection-line-by-behavior/{floating-behavior.d.ts → utils/floating-behavior.d.ts} +2 -2
- package/domain/f-connection/providers.d.ts +2 -2
- package/domain/f-connection/redraw-connections/index.d.ts +1 -1
- package/domain/f-connection/redraw-connections/{redraw-connections.execution.d.ts → redraw-connections.d.ts} +3 -3
- package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +1 -1
- package/domain/f-flow/providers.d.ts +1 -1
- package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.d.ts +2 -2
- package/domain/f-line-alignment/add-line-alignment-to-store/{add-line-alignment-to-store.execution.d.ts → add-line-alignment-to-store.d.ts} +4 -4
- package/domain/f-line-alignment/add-line-alignment-to-store/index.d.ts +1 -1
- package/domain/f-line-alignment/providers.d.ts +3 -3
- package/domain/f-line-alignment/remove-line-alignment-from-store/index.d.ts +1 -1
- package/domain/f-line-alignment/remove-line-alignment-from-store/{remove-line-alignment-from-store.execution.d.ts → remove-line-alignment-from-store.d.ts} +4 -4
- package/domain/f-node/get-parent-nodes/get-parent-nodes.d.ts +1 -1
- package/domain/f-node/get-parent-nodes/get-parent-nodes.request.d.ts +2 -2
- package/domain/f-node/remove-node-from-store/remove-node-from-store-request.d.ts +2 -2
- package/domain/f-node/remove-node-from-store/remove-node-from-store.d.ts +1 -1
- package/domain/f-zoom/providers.d.ts +1 -1
- package/domain/index.d.ts +1 -0
- package/domain/providers.d.ts +4 -3
- package/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.d.ts +2 -2
- package/domain/update-item-and-children-layers/move-front-elements-before-target-element/{move-front-elements-before-target-element.request.d.ts → move-front-elements-before-target-element-request.d.ts} +4 -4
- package/domain/update-item-and-children-layers/move-front-elements-before-target-element/{move-front-elements-before-target-element.execution.d.ts → move-front-elements-before-target-element.d.ts} +4 -4
- package/esm2022/domain/drag-rect-cache.mjs +19 -0
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +4 -4
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +126 -13
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +5 -4
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.mjs +2 -0
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-center-behavior.mjs +12 -0
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-outbound-behavior.mjs +31 -0
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/floating-behavior.mjs +22 -0
- package/esm2022/domain/f-connection/providers.mjs +3 -3
- package/esm2022/domain/f-connection/redraw-connections/index.mjs +2 -2
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +75 -0
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event-request.mjs +1 -1
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +2 -2
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +4 -4
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.mjs +25 -0
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/index.mjs +2 -2
- package/esm2022/domain/f-line-alignment/providers.mjs +4 -7
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/index.mjs +2 -2
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.mjs +25 -0
- package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +1 -1
- package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +1 -1
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +8 -8
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +4 -4
- package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store-request.mjs +4 -4
- package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +3 -3
- package/esm2022/domain/index.mjs +2 -1
- package/esm2022/domain/providers.mjs +5 -5
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs +3 -3
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element-request.mjs +15 -0
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.mjs +34 -0
- package/esm2022/f-connection/common/domain/adaptive-curve-builder.mjs +201 -0
- package/esm2022/f-connection/common/domain/index.mjs +2 -1
- package/esm2022/f-connection/common/e-f-connection-connectable-side.mjs +12 -0
- package/esm2022/f-connection/common/e-f-connection-type.mjs +2 -1
- package/esm2022/f-connection/common/f-connection-base.mjs +28 -5
- package/esm2022/f-connection/common/index.mjs +2 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +13 -3
- package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +9 -17
- package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +10 -4
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +4 -5
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.mjs +3 -2
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +14 -4
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +14 -4
- package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +5 -5
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +5 -5
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +5 -5
- package/esm2022/f-draggable/f-draggable.directive.mjs +3 -2
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +1 -1
- package/esm2022/f-flow/f-flow.component.mjs +2 -2
- package/f-backgroud/providers.d.ts +1 -1
- package/f-connection/common/domain/adaptive-curve-builder.d.ts +102 -0
- package/f-connection/common/domain/index.d.ts +1 -0
- package/f-connection/common/e-f-connection-connectable-side.d.ts +10 -0
- package/f-connection/common/e-f-connection-type.d.ts +2 -1
- package/f-connection/common/f-connection-base.d.ts +14 -2
- package/f-connection/common/index.d.ts +1 -0
- package/f-connection/f-connection/f-connection.component.d.ts +4 -2
- package/f-connection/f-connection-builder/f-connection-factory.d.ts +2 -4
- package/f-connection/f-connection-content/f-connection-content.d.ts +2 -2
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +4 -2
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +4 -2
- package/f-connection/providers.d.ts +1 -1
- package/f-connectors/providers.d.ts +1 -1
- package/f-draggable/f-connection/providers.d.ts +1 -1
- package/f-draggable/f-drop-to-group/providers.d.ts +1 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-minimap/providers.d.ts +1 -1
- package/f-node/providers.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +502 -113
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +0 -12
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +0 -31
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +0 -22
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +0 -73
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +0 -25
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +0 -25
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +0 -34
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +0 -15
package/fesm2022/foblex-flow.mjs
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Injectable, Directive, input, computed, signal, Injector, Renderer2, effect, untracked, DestroyRef, model, output, booleanAttribute, ElementRef, Input, viewChild, Component, ChangeDetectionStrategy,
|
|
2
|
+
import { InjectionToken, inject, Injectable, Directive, input, computed, signal, Injector, Renderer2, effect, untracked, DestroyRef, model, output, booleanAttribute, ElementRef, Input, viewChild, Component, ChangeDetectionStrategy, isDevMode, contentChildren, numberAttribute, ViewContainerRef, TemplateRef, EventEmitter, NgZone, Output, ContentChildren, contentChild, NgModule } from '@angular/core';
|
|
3
3
|
import { RectExtensions, RoundedRect, TransformModelExtensions, PointExtensions, Point, LineExtensions, GetIntersections, SizeExtensions, findClosestAlignment, setRectToElement, adjustRectToMinSize, setRectToViewBox } from '@foblex/2d';
|
|
4
4
|
import { __decorate } from 'tslib';
|
|
5
5
|
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
6
6
|
import { BrowserService, PlatformService, EOperationSystem } from '@foblex/platform';
|
|
7
7
|
import { normalizeDomElementId, castToEnum, isClosestElementHasClass, flatMap, getOrCreateRootNodeForViewRef, deepCloneNode, disableDragInteractions, extendStyles, getDataAttrValueFromClosestElementWithClass } from '@foblex/utils';
|
|
8
|
+
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
8
9
|
import { CommonModule } from '@angular/common';
|
|
9
10
|
|
|
10
11
|
const F_BACKGROUND_PATTERN = new InjectionToken('F_BACKGROUND_PATTERN');
|
|
@@ -1023,14 +1024,14 @@ function createSVGElement$1(tag, fBrowser) {
|
|
|
1023
1024
|
class CalculateConnectionLineByBehaviorRequest {
|
|
1024
1025
|
sourceRect;
|
|
1025
1026
|
targetRect;
|
|
1026
|
-
|
|
1027
|
+
connection;
|
|
1027
1028
|
sourceConnectableSide;
|
|
1028
1029
|
targetConnectableSide;
|
|
1029
1030
|
static fToken = Symbol('CalculateConnectionLineByBehaviorRequest');
|
|
1030
|
-
constructor(sourceRect, targetRect,
|
|
1031
|
+
constructor(sourceRect, targetRect, connection, sourceConnectableSide, targetConnectableSide) {
|
|
1031
1032
|
this.sourceRect = sourceRect;
|
|
1032
1033
|
this.targetRect = targetRect;
|
|
1033
|
-
this.
|
|
1034
|
+
this.connection = connection;
|
|
1034
1035
|
this.sourceConnectableSide = sourceConnectableSide;
|
|
1035
1036
|
this.targetConnectableSide = targetConnectableSide;
|
|
1036
1037
|
}
|
|
@@ -1869,6 +1870,205 @@ const F_CONNECTORS_PROVIDERS = [
|
|
|
1869
1870
|
FNodeOutputDirective,
|
|
1870
1871
|
];
|
|
1871
1872
|
|
|
1873
|
+
/**
|
|
1874
|
+
* AdaptiveCurveBuilder
|
|
1875
|
+
*
|
|
1876
|
+
* Builds a smooth **adaptive connector curve** between two points using a cubic Bézier path,
|
|
1877
|
+
* but with control points computed differently from a classic “Bezier” connector.
|
|
1878
|
+
*
|
|
1879
|
+
* Key differences from a classic Bézier builder:
|
|
1880
|
+
* - Control handles are **aligned with the port side** (LEFT/RIGHT/TOP/BOTTOM),
|
|
1881
|
+
* yet are **slightly blended toward the target direction** to reduce harsh S-shapes.
|
|
1882
|
+
* - Handle lengths are **adaptive**: based on the `offset` (your “padding” from ports)
|
|
1883
|
+
* and the projected distance along the side’s axis. This produces a subtler curvature
|
|
1884
|
+
* and a distinct look & feel compared to a standard Bézier connector.
|
|
1885
|
+
*
|
|
1886
|
+
* Compatibility:
|
|
1887
|
+
* - Implements {@link IFConnectionBuilder}; output shape is the same:
|
|
1888
|
+
* SVG path, sampled points for hit-testing, and connection center.
|
|
1889
|
+
* - Only the four base sides are expected to be passed here:
|
|
1890
|
+
* {@link EFConnectableSide.LEFT}, {@link EFConnectableSide.RIGHT},
|
|
1891
|
+
* {@link EFConnectableSide.TOP}, {@link EFConnectableSide.BOTTOM}.
|
|
1892
|
+
*
|
|
1893
|
+
* Usage example:
|
|
1894
|
+
* ```ts
|
|
1895
|
+
* const builder = new AdaptiveCurveBuilder();
|
|
1896
|
+
* const res = builder.handle({
|
|
1897
|
+
* source: { x: 100, y: 120 },
|
|
1898
|
+
* sourceSide: EFConnectableSide.RIGHT,
|
|
1899
|
+
* target: { x: 340, y: 220 },
|
|
1900
|
+
* targetSide: EFConnectableSide.LEFT,
|
|
1901
|
+
* offset: 16, // acts as padding + minimal handle baseline
|
|
1902
|
+
* });
|
|
1903
|
+
* // res.path -> SVG "M … C …" string
|
|
1904
|
+
* // res.points -> sampled points along the curve
|
|
1905
|
+
* ```
|
|
1906
|
+
*/
|
|
1907
|
+
class AdaptiveCurveBuilder {
|
|
1908
|
+
/**
|
|
1909
|
+
* Returns a unit direction vector for a given side.
|
|
1910
|
+
*
|
|
1911
|
+
* @param side - One of LEFT/RIGHT/TOP/BOTTOM.
|
|
1912
|
+
* @returns Unit vector pointing outwards from the side.
|
|
1913
|
+
* @remarks
|
|
1914
|
+
* Only base sides should reach this builder. A fallback `{0,0}` is returned
|
|
1915
|
+
* defensively, but should not occur in normal usage.
|
|
1916
|
+
*/
|
|
1917
|
+
static _dir(side) {
|
|
1918
|
+
switch (side) {
|
|
1919
|
+
case EFConnectableSide.LEFT:
|
|
1920
|
+
return { x: -1, y: 0 };
|
|
1921
|
+
case EFConnectableSide.RIGHT:
|
|
1922
|
+
return { x: 1, y: 0 };
|
|
1923
|
+
case EFConnectableSide.TOP:
|
|
1924
|
+
return { x: 0, y: -1 };
|
|
1925
|
+
case EFConnectableSide.BOTTOM:
|
|
1926
|
+
return { x: 0, y: 1 };
|
|
1927
|
+
}
|
|
1928
|
+
return { x: 0, y: 0 };
|
|
1929
|
+
}
|
|
1930
|
+
/**
|
|
1931
|
+
* Checks whether a side is horizontal (LEFT/RIGHT).
|
|
1932
|
+
*
|
|
1933
|
+
* @param side - Side to check.
|
|
1934
|
+
* @returns `true` for LEFT/RIGHT, otherwise `false`.
|
|
1935
|
+
*/
|
|
1936
|
+
static _isH(side) {
|
|
1937
|
+
return side === EFConnectableSide.LEFT || side === EFConnectableSide.RIGHT;
|
|
1938
|
+
}
|
|
1939
|
+
/**
|
|
1940
|
+
* Computes a **soft** handle length for a control point.
|
|
1941
|
+
*
|
|
1942
|
+
* The handle length is derived from:
|
|
1943
|
+
* - `offset` (acts as padding & the baseline handle),
|
|
1944
|
+
* - distance projected along the side’s axis (dx for horizontal, dy for vertical),
|
|
1945
|
+
* - a conservative upper bound to avoid bloated curves.
|
|
1946
|
+
*
|
|
1947
|
+
* @param p0 - Start (or end) point of the segment.
|
|
1948
|
+
* @param p3 - Opposite end (or start) point.
|
|
1949
|
+
* @param side - Side at which the handle originates.
|
|
1950
|
+
* @param offset - Visual padding/minimal handle baseline (must be ≥ 0).
|
|
1951
|
+
* @returns A bounded positive handle length.
|
|
1952
|
+
*/
|
|
1953
|
+
static _handleLen(p0, p3, side, offset) {
|
|
1954
|
+
const dx = Math.abs(p3.x - p0.x);
|
|
1955
|
+
const dy = Math.abs(p3.y - p0.y);
|
|
1956
|
+
const d = Math.hypot(dx, dy);
|
|
1957
|
+
const along = this._isH(side) ? dx : dy;
|
|
1958
|
+
const MIN = Math.max(8, offset);
|
|
1959
|
+
const MAX = offset + 0.5 * d; // upper cap to keep the shape compact
|
|
1960
|
+
const len = offset * 1.05 + along * 0.3; // moderate growth along the axis
|
|
1961
|
+
return Math.min(MAX, Math.max(MIN, len));
|
|
1962
|
+
}
|
|
1963
|
+
/**
|
|
1964
|
+
* Computes a control point by taking the side direction and **lightly blending**
|
|
1965
|
+
* it toward the target direction. This reduces harsh inflections while keeping
|
|
1966
|
+
* the perceptual attachment to the port side.
|
|
1967
|
+
*
|
|
1968
|
+
* @param side - Base side defining the primary direction (LEFT/RIGHT/TOP/BOTTOM).
|
|
1969
|
+
* @param source - Anchor point where the control handle is attached.
|
|
1970
|
+
* @param target - Opposite end; used to orient the handle slightly toward the goal.
|
|
1971
|
+
* @param handle - Handle length (see {@link _handleLen}).
|
|
1972
|
+
* @returns Control point coordinates for the cubic Bézier segment.
|
|
1973
|
+
*/
|
|
1974
|
+
static _softControl(side, source, target, handle) {
|
|
1975
|
+
const v = this._dir(side);
|
|
1976
|
+
const dx = target.x - source.x;
|
|
1977
|
+
const dy = target.y - source.y;
|
|
1978
|
+
const dist = Math.hypot(dx, dy) || 1;
|
|
1979
|
+
const tx = dx / dist;
|
|
1980
|
+
const ty = dy / dist;
|
|
1981
|
+
// Orientation of side vs. target direction (in [-1, 1])
|
|
1982
|
+
const dot = v.x * tx + v.y * ty;
|
|
1983
|
+
// Small base blend toward the target; slightly increase if the side points away.
|
|
1984
|
+
const baseBlend = 0.12;
|
|
1985
|
+
const extra = Math.max(0, -dot) * 0.08; // add a bit when pointing “backwards”
|
|
1986
|
+
const blend = Math.min(0.2, baseBlend + extra);
|
|
1987
|
+
const dirX = v.x * (1 - blend) + tx * blend;
|
|
1988
|
+
const dirY = v.y * (1 - blend) + ty * blend;
|
|
1989
|
+
const len = Math.hypot(dirX, dirY) || 1;
|
|
1990
|
+
return { x: source.x + (dirX / len) * handle, y: source.y + (dirY / len) * handle };
|
|
1991
|
+
}
|
|
1992
|
+
/**
|
|
1993
|
+
* Builds an adaptive connector between `source` and `target`.
|
|
1994
|
+
*
|
|
1995
|
+
* @param request - Connection build request.
|
|
1996
|
+
* @param request.source - Start point of the connector.
|
|
1997
|
+
* @param request.sourceSide - Side at the source port (LEFT/RIGHT/TOP/BOTTOM).
|
|
1998
|
+
* @param request.target - End point of the connector.
|
|
1999
|
+
* @param request.targetSide - Side at the target port (LEFT/RIGHT/TOP/BOTTOM).
|
|
2000
|
+
* @param request.offset - Visual padding & minimal handle baseline (≥ 0).
|
|
2001
|
+
*
|
|
2002
|
+
* @returns Standard {@link IFConnectionBuilderResponse}:
|
|
2003
|
+
* - `path`: SVG cubic path (“M … C …”),
|
|
2004
|
+
* - `points`: discretized samples along the curve,
|
|
2005
|
+
* - `connectionCenter`: approximate visual center for labeling/interaction,
|
|
2006
|
+
* - `secondPoint`/`penultimatePoint`: first/second control points (for tooling).
|
|
2007
|
+
*
|
|
2008
|
+
* @remarks
|
|
2009
|
+
* The returned path slightly offsets the end point by +0.0002 on both axes
|
|
2010
|
+
* to avoid edge cases in some renderers and hit-testing implementations.
|
|
2011
|
+
*/
|
|
2012
|
+
handle(request) {
|
|
2013
|
+
const { source, sourceSide, target, targetSide } = request;
|
|
2014
|
+
const offset = Math.max(0, request.offset ?? 0);
|
|
2015
|
+
const p0 = { x: source.x, y: source.y };
|
|
2016
|
+
const p3 = { x: target.x, y: target.y };
|
|
2017
|
+
const h0 = AdaptiveCurveBuilder._handleLen(p0, p3, sourceSide, offset);
|
|
2018
|
+
const h3 = AdaptiveCurveBuilder._handleLen(p3, p0, targetSide, offset);
|
|
2019
|
+
const c1 = AdaptiveCurveBuilder._softControl(sourceSide, p0, p3, h0);
|
|
2020
|
+
const c2 = AdaptiveCurveBuilder._softControl(targetSide, p3, p0, h3);
|
|
2021
|
+
const path = `M ${p0.x} ${p0.y} C ${c1.x} ${c1.y}, ${c2.x} ${c2.y}, ${p3.x + 0.0002} ${p3.y + 0.0002}`;
|
|
2022
|
+
const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([p0, c1, c2, p3]));
|
|
2023
|
+
return {
|
|
2024
|
+
path,
|
|
2025
|
+
connectionCenter,
|
|
2026
|
+
secondPoint: c1,
|
|
2027
|
+
penultimatePoint: c2,
|
|
2028
|
+
points: _sampleCubic$1(p0, c1, c2, p3, 32),
|
|
2029
|
+
};
|
|
2030
|
+
}
|
|
2031
|
+
}
|
|
2032
|
+
/**
|
|
2033
|
+
* Evaluates a cubic Bézier at parameter `t` in [0, 1].
|
|
2034
|
+
*
|
|
2035
|
+
* @param p0 - Start point.
|
|
2036
|
+
* @param p1 - First control point.
|
|
2037
|
+
* @param p2 - Second control point.
|
|
2038
|
+
* @param p3 - End point.
|
|
2039
|
+
* @param t - Parameter in [0, 1].
|
|
2040
|
+
* @returns Point on the curve at `t`.
|
|
2041
|
+
*/
|
|
2042
|
+
function bez3$1(p0, p1, p2, p3, t) {
|
|
2043
|
+
const u = 1 - t, tt = t * t, uu = u * u, uuu = uu * u, ttt = tt * t;
|
|
2044
|
+
return {
|
|
2045
|
+
x: uuu * p0.x + 3 * uu * t * p1.x + 3 * u * tt * p2.x + ttt * p3.x,
|
|
2046
|
+
y: uuu * p0.y + 3 * uu * t * p1.y + 3 * u * tt * p2.y + ttt * p3.y,
|
|
2047
|
+
};
|
|
2048
|
+
}
|
|
2049
|
+
/**
|
|
2050
|
+
* Uniformly samples a cubic Bézier segment.
|
|
2051
|
+
*
|
|
2052
|
+
* @param p0 - Start point.
|
|
2053
|
+
* @param p1 - First control point.
|
|
2054
|
+
* @param p2 - Second control point.
|
|
2055
|
+
* @param p3 - End point.
|
|
2056
|
+
* @param samples - Number of sub-segments (default: 32). The function returns `samples + 1` points.
|
|
2057
|
+
* @returns Array of sampled points including both endpoints.
|
|
2058
|
+
* @remarks
|
|
2059
|
+
* Sampling is uniform in parameter `t`, not in arc length. This is typically
|
|
2060
|
+
* sufficient for hit-testing and bounding boxes; if you need error-bounded
|
|
2061
|
+
* flattening, consider an adaptive subdivision strategy instead.
|
|
2062
|
+
*/
|
|
2063
|
+
function _sampleCubic$1(p0, p1, p2, p3, samples = 32) {
|
|
2064
|
+
const out = new Array(samples + 1);
|
|
2065
|
+
out[0] = { ...p0 };
|
|
2066
|
+
for (let i = 1; i <= samples; i++) {
|
|
2067
|
+
out[i] = bez3$1(p0, p1, p2, p3, i / samples);
|
|
2068
|
+
}
|
|
2069
|
+
return out;
|
|
2070
|
+
}
|
|
2071
|
+
|
|
1872
2072
|
class FBezierPathBuilder {
|
|
1873
2073
|
static _getConnectorOffset(distance, offset) {
|
|
1874
2074
|
if (distance >= offset) {
|
|
@@ -2449,34 +2649,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2449
2649
|
const F_CONNECTION_BUILDERS = new InjectionToken('F_CONNECTION_BUILDERS');
|
|
2450
2650
|
|
|
2451
2651
|
class FConnectionFactory {
|
|
2452
|
-
|
|
2652
|
+
_builders = {
|
|
2453
2653
|
[EFConnectionType.STRAIGHT]: new FStraightPathBuilder(),
|
|
2454
2654
|
[EFConnectionType.BEZIER]: new FBezierPathBuilder(),
|
|
2655
|
+
[EFConnectionType.ADAPTIVE_CURVE]: new AdaptiveCurveBuilder(),
|
|
2455
2656
|
[EFConnectionType.SEGMENT]: new FSegmentPathBuilder(),
|
|
2657
|
+
...(inject(F_CONNECTION_BUILDERS, { optional: true }) || {}),
|
|
2456
2658
|
};
|
|
2457
|
-
constructor(builders) {
|
|
2458
|
-
if (builders) {
|
|
2459
|
-
this.builders = { ...this.builders, ...builders };
|
|
2460
|
-
}
|
|
2461
|
-
}
|
|
2462
2659
|
handle(request) {
|
|
2463
|
-
const builder = this.
|
|
2660
|
+
const builder = this._builders[request.type];
|
|
2464
2661
|
if (!builder) {
|
|
2465
2662
|
throw new Error(`FConnectionBuilder not found for type ${request.type}`);
|
|
2466
2663
|
}
|
|
2467
2664
|
return builder.handle(request.payload);
|
|
2468
2665
|
}
|
|
2469
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionFactory, deps: [
|
|
2666
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2470
2667
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionFactory });
|
|
2471
2668
|
}
|
|
2472
2669
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionFactory, decorators: [{
|
|
2473
2670
|
type: Injectable
|
|
2474
|
-
}]
|
|
2475
|
-
type: Optional
|
|
2476
|
-
}, {
|
|
2477
|
-
type: Inject,
|
|
2478
|
-
args: [F_CONNECTION_BUILDERS]
|
|
2479
|
-
}] }] });
|
|
2671
|
+
}] });
|
|
2480
2672
|
|
|
2481
2673
|
let warnedFConnectionCenter = false;
|
|
2482
2674
|
/** @deprecated '[fConnectionCenter] is deprecated and will be removed in v18.0.0. Use FConnectionContent directive instead.' */
|
|
@@ -2759,7 +2951,7 @@ class PolylineContentPlace {
|
|
|
2759
2951
|
return { x, y };
|
|
2760
2952
|
}
|
|
2761
2953
|
_sizeAlongDirection(element, dir) {
|
|
2762
|
-
const rect =
|
|
2954
|
+
const rect = DragRectCache.fromElement(element);
|
|
2763
2955
|
return Math.abs(dir.x) * rect.width + Math.abs(dir.y) * rect.height;
|
|
2764
2956
|
}
|
|
2765
2957
|
_normalize180(angleDeg) {
|
|
@@ -2800,16 +2992,15 @@ class ConnectionContentLayoutEngine {
|
|
|
2800
2992
|
const total = sampler.totalLength;
|
|
2801
2993
|
for (const item of contents) {
|
|
2802
2994
|
const { position, rotationDeg } = this._placement.compute(sampler, item);
|
|
2803
|
-
|
|
2804
|
-
item.hostElement.setAttribute('style', style);
|
|
2995
|
+
item.hostElement.style.transform = this._createTransformString(position, rotationDeg);
|
|
2805
2996
|
}
|
|
2806
2997
|
return total;
|
|
2807
2998
|
}
|
|
2808
2999
|
_createTransformString(position, rotationDeg) {
|
|
2809
|
-
return `position
|
|
3000
|
+
return `translate3d(${position.x}px, ${position.y}px, 0) translate(-50%, -50%) rotate(${rotationDeg}deg)`;
|
|
2810
3001
|
}
|
|
2811
3002
|
}
|
|
2812
|
-
function calculatePathPointsIfEmpty({ point1, point2 }, { secondPoint, connectionCenter, penultimatePoint }) {
|
|
3003
|
+
function calculatePathPointsIfEmpty({ point1, point2 }, { secondPoint, connectionCenter, penultimatePoint, }) {
|
|
2813
3004
|
return [point1, secondPoint || point1, connectionCenter, penultimatePoint || point2, point2];
|
|
2814
3005
|
}
|
|
2815
3006
|
|
|
@@ -2857,7 +3048,10 @@ class FConnectionContent {
|
|
|
2857
3048
|
* - `0.5` — at the middle of the connection (default).
|
|
2858
3049
|
*/
|
|
2859
3050
|
position = input(0.5, {
|
|
2860
|
-
transform: (
|
|
3051
|
+
transform: (x) => {
|
|
3052
|
+
const v = coerceNumberProperty(x);
|
|
3053
|
+
return v < 0 ? 0 : v > 1 ? 1 : v;
|
|
3054
|
+
},
|
|
2861
3055
|
});
|
|
2862
3056
|
/**
|
|
2863
3057
|
* Perpendicular offset from the connection line (in pixels).
|
|
@@ -2867,7 +3061,9 @@ class FConnectionContent {
|
|
|
2867
3061
|
* - Negative values shift it to the left.
|
|
2868
3062
|
* - Default: `0` (no shift).
|
|
2869
3063
|
*/
|
|
2870
|
-
offset = input(0
|
|
3064
|
+
offset = input(0, {
|
|
3065
|
+
transform: (x) => coerceNumberProperty(x),
|
|
3066
|
+
});
|
|
2871
3067
|
/**
|
|
2872
3068
|
* Controls the orientation (rotation) of the content relative to the connection.
|
|
2873
3069
|
*
|
|
@@ -2903,6 +3099,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2903
3099
|
}]
|
|
2904
3100
|
}] });
|
|
2905
3101
|
|
|
3102
|
+
var EFConnectionConnectableSide;
|
|
3103
|
+
(function (EFConnectionConnectableSide) {
|
|
3104
|
+
EFConnectionConnectableSide["DEFAULT"] = "default";
|
|
3105
|
+
EFConnectionConnectableSide["TOP"] = "top";
|
|
3106
|
+
EFConnectionConnectableSide["BOTTOM"] = "bottom";
|
|
3107
|
+
EFConnectionConnectableSide["LEFT"] = "left";
|
|
3108
|
+
EFConnectionConnectableSide["RIGHT"] = "right";
|
|
3109
|
+
EFConnectionConnectableSide["CALCULATE"] = "calculate";
|
|
3110
|
+
EFConnectionConnectableSide["CALCULATE_HORIZONTAL"] = "calculate_horizontal";
|
|
3111
|
+
EFConnectionConnectableSide["CALCULATE_VERTICAL"] = "calculate_vertical";
|
|
3112
|
+
})(EFConnectionConnectableSide || (EFConnectionConnectableSide = {}));
|
|
3113
|
+
|
|
2906
3114
|
const MIXIN_BASE = mixinChangeSelection(mixinChangeVisibility(class {
|
|
2907
3115
|
hostElement;
|
|
2908
3116
|
constructor(hostElement) {
|
|
@@ -2932,6 +3140,10 @@ class FConnectionBase extends MIXIN_BASE {
|
|
|
2932
3140
|
fConnectionContents = contentChildren(FConnectionContent, {
|
|
2933
3141
|
descendants: true,
|
|
2934
3142
|
});
|
|
3143
|
+
fInputSide = signal(EFConnectionConnectableSide.DEFAULT);
|
|
3144
|
+
_sourceSide = EFConnectableSide.AUTO;
|
|
3145
|
+
fOutputSide = signal(EFConnectionConnectableSide.DEFAULT);
|
|
3146
|
+
_targetSide = EFConnectableSide.AUTO;
|
|
2935
3147
|
_penultimatePoint = PointExtensions.initialize();
|
|
2936
3148
|
_secondPoint = PointExtensions.initialize();
|
|
2937
3149
|
constructor() {
|
|
@@ -2945,9 +3157,9 @@ class FConnectionBase extends MIXIN_BASE {
|
|
|
2945
3157
|
isContains(element) {
|
|
2946
3158
|
return (this.hostElement.firstChild?.lastChild).contains(element);
|
|
2947
3159
|
}
|
|
2948
|
-
setLine({ point1, point2 }
|
|
3160
|
+
setLine({ point1, point2 }) {
|
|
2949
3161
|
this.line = LineExtensions.initialize(point1, point2);
|
|
2950
|
-
const pathResult = this._getPathResult(point1,
|
|
3162
|
+
const pathResult = this._getPathResult(point1, point2);
|
|
2951
3163
|
this.path = pathResult.path;
|
|
2952
3164
|
this._penultimatePoint = pathResult.penultimatePoint || point1;
|
|
2953
3165
|
this._secondPoint = pathResult.secondPoint || point2;
|
|
@@ -2957,12 +3169,19 @@ class FConnectionBase extends MIXIN_BASE {
|
|
|
2957
3169
|
_contents() {
|
|
2958
3170
|
return Array.from(this.fConnectionContents()?.values() ?? []);
|
|
2959
3171
|
}
|
|
2960
|
-
_getPathResult(source,
|
|
3172
|
+
_getPathResult(source, target) {
|
|
2961
3173
|
const radius = this.fRadius > 0 ? this.fRadius : 0;
|
|
2962
3174
|
const offset = this.fOffset > 0 ? this.fOffset : 1;
|
|
2963
3175
|
return this._connectionFactory.handle({
|
|
2964
3176
|
type: this.fType,
|
|
2965
|
-
payload: {
|
|
3177
|
+
payload: {
|
|
3178
|
+
source,
|
|
3179
|
+
sourceSide: this._sourceSide,
|
|
3180
|
+
target,
|
|
3181
|
+
targetSide: this._targetSide,
|
|
3182
|
+
radius,
|
|
3183
|
+
offset,
|
|
3184
|
+
},
|
|
2966
3185
|
});
|
|
2967
3186
|
}
|
|
2968
3187
|
_createTransformString(position, rotate = 0) {
|
|
@@ -2982,6 +3201,16 @@ class FConnectionBase extends MIXIN_BASE {
|
|
|
2982
3201
|
this.fDragHandleStart()?.redraw(this._secondPoint, this.line.point1);
|
|
2983
3202
|
this.fTextComponent().redraw(this.line);
|
|
2984
3203
|
}
|
|
3204
|
+
/**
|
|
3205
|
+
* Applies the resolved sides to the connection. Don't call this method directly; it's used internally.
|
|
3206
|
+
*
|
|
3207
|
+
* @param sourceSide The resolved side for the source element.
|
|
3208
|
+
* @param targetSide The resolved side for the target element.
|
|
3209
|
+
*/
|
|
3210
|
+
_applyResolvedSidesToConnection(sourceSide, targetSide) {
|
|
3211
|
+
this._sourceSide = sourceSide;
|
|
3212
|
+
this._targetSide = targetSide;
|
|
3213
|
+
}
|
|
2985
3214
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2986
3215
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: FConnectionBase, inputs: { fStartColor: { classPropertyName: "fStartColor", publicName: "fStartColor", isSignal: true, isRequired: false, transformFunction: null }, fEndColor: { classPropertyName: "fEndColor", publicName: "fEndColor", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true, isSignal: true }, { propertyName: "fConnectionContents", predicate: FConnectionContent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, isSignal: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, isSignal: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, isSignal: true }, { propertyName: "fDragHandleStart", first: true, predicate: FConnectionDragHandleStartComponent, descendants: true, isSignal: true }, { propertyName: "fDragHandleEnd", first: true, predicate: FConnectionDragHandleEndComponent, descendants: true, isSignal: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, isSignal: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, isSignal: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
2987
3216
|
}
|
|
@@ -3001,6 +3230,7 @@ var EFConnectionType;
|
|
|
3001
3230
|
EFConnectionType["SEGMENT"] = "segment";
|
|
3002
3231
|
EFConnectionType["STRAIGHT"] = "straight";
|
|
3003
3232
|
EFConnectionType["BEZIER"] = "bezier";
|
|
3233
|
+
EFConnectionType["ADAPTIVE_CURVE"] = "adaptive-curve";
|
|
3004
3234
|
})(EFConnectionType || (EFConnectionType = {}));
|
|
3005
3235
|
|
|
3006
3236
|
let uniqueId$6 = 0;
|
|
@@ -3014,6 +3244,16 @@ class FConnectionForCreateComponent extends FConnectionBase {
|
|
|
3014
3244
|
fOffset = 12;
|
|
3015
3245
|
fBehavior = EFConnectionBehavior.FIXED;
|
|
3016
3246
|
fType = EFConnectionType.STRAIGHT;
|
|
3247
|
+
fInputSide = input(EFConnectionConnectableSide.DEFAULT, {
|
|
3248
|
+
transform: (x) => {
|
|
3249
|
+
return castToEnum(x, 'fInputSide', EFConnectionConnectableSide);
|
|
3250
|
+
},
|
|
3251
|
+
});
|
|
3252
|
+
fOutputSide = input(EFConnectionConnectableSide.DEFAULT, {
|
|
3253
|
+
transform: (x) => {
|
|
3254
|
+
return castToEnum(x, 'fOutputSide', EFConnectionConnectableSide);
|
|
3255
|
+
},
|
|
3256
|
+
});
|
|
3017
3257
|
get boundingElement() {
|
|
3018
3258
|
return this.fPath().hostElement;
|
|
3019
3259
|
}
|
|
@@ -3031,7 +3271,7 @@ class FConnectionForCreateComponent extends FConnectionBase {
|
|
|
3031
3271
|
this._mediator.execute(new RemoveConnectionForCreateFromStoreRequest());
|
|
3032
3272
|
}
|
|
3033
3273
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionForCreateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3034
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { fRadius:
|
|
3274
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "f-component f-connection f-connection-for-create" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionForCreateComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3035
3275
|
}
|
|
3036
3276
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionForCreateComponent, decorators: [{
|
|
3037
3277
|
type: Component,
|
|
@@ -3074,6 +3314,16 @@ class FConnectionComponent extends FConnectionBase {
|
|
|
3074
3314
|
alias: 'fReassignDisabled',
|
|
3075
3315
|
transform: booleanAttribute,
|
|
3076
3316
|
});
|
|
3317
|
+
fInputSide = input(EFConnectionConnectableSide.DEFAULT, {
|
|
3318
|
+
transform: (x) => {
|
|
3319
|
+
return castToEnum(x, 'fInputSide', EFConnectionConnectableSide);
|
|
3320
|
+
},
|
|
3321
|
+
});
|
|
3322
|
+
fOutputSide = input(EFConnectionConnectableSide.DEFAULT, {
|
|
3323
|
+
transform: (x) => {
|
|
3324
|
+
return castToEnum(x, 'fOutputSide', EFConnectionConnectableSide);
|
|
3325
|
+
},
|
|
3326
|
+
});
|
|
3077
3327
|
get boundingElement() {
|
|
3078
3328
|
return this.fPath().hostElement;
|
|
3079
3329
|
}
|
|
@@ -3088,7 +3338,7 @@ class FConnectionComponent extends FConnectionBase {
|
|
|
3088
3338
|
this._mediator.execute(new RemoveConnectionFromStoreRequest(this));
|
|
3089
3339
|
}
|
|
3090
3340
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3091
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: true, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: true, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "fId()", "class.f-connection-selection-disabled": "fSelectionDisabled()", "class.f-connection-reassign-disabled": "fDraggingDisabled()" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"overflow: visible; display: block; vertical-align: middle;\"\n>\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3341
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: true, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: true, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: true, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "fId()", "class.f-connection-selection-disabled": "fSelectionDisabled()", "class.f-connection-reassign-disabled": "fDraggingDisabled()" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"overflow: visible; display: block; vertical-align: middle;\"\n>\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3092
3342
|
}
|
|
3093
3343
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, decorators: [{
|
|
3094
3344
|
type: Component,
|
|
@@ -3184,6 +3434,16 @@ class FSnapConnectionComponent extends FConnectionBase {
|
|
|
3184
3434
|
fOffset = 12;
|
|
3185
3435
|
fBehavior = EFConnectionBehavior.FIXED;
|
|
3186
3436
|
fType = EFConnectionType.STRAIGHT;
|
|
3437
|
+
fInputSide = input(EFConnectionConnectableSide.DEFAULT, {
|
|
3438
|
+
transform: (x) => {
|
|
3439
|
+
return castToEnum(x, 'fInputSide', EFConnectionConnectableSide);
|
|
3440
|
+
},
|
|
3441
|
+
});
|
|
3442
|
+
fOutputSide = input(EFConnectionConnectableSide.DEFAULT, {
|
|
3443
|
+
transform: (x) => {
|
|
3444
|
+
return castToEnum(x, 'fOutputSide', EFConnectionConnectableSide);
|
|
3445
|
+
},
|
|
3446
|
+
});
|
|
3187
3447
|
get boundingElement() {
|
|
3188
3448
|
return this.fPath().hostElement;
|
|
3189
3449
|
}
|
|
@@ -3201,7 +3461,7 @@ class FSnapConnectionComponent extends FConnectionBase {
|
|
|
3201
3461
|
this._mediator.execute(new RemoveSnapConnectionFromStoreRequest());
|
|
3202
3462
|
}
|
|
3203
3463
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FSnapConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3204
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FSnapConnectionComponent, selector: "f-snap-connection", inputs: { fSnapThreshold:
|
|
3464
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FSnapConnectionComponent, selector: "f-snap-connection", inputs: { fSnapThreshold: { classPropertyName: "fSnapThreshold", publicName: "fSnapThreshold", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "f-component f-connection f-snap-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FSnapConnectionComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3205
3465
|
}
|
|
3206
3466
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FSnapConnectionComponent, decorators: [{
|
|
3207
3467
|
type: Component,
|
|
@@ -3244,7 +3504,7 @@ const F_CONNECTION_PROVIDERS = [
|
|
|
3244
3504
|
* It constructs a line between the intersections of the connectors rectangles and line from the centers of the connector rectangles
|
|
3245
3505
|
* @param payload
|
|
3246
3506
|
*/
|
|
3247
|
-
function floatingBehavior({ sourceRect, targetRect
|
|
3507
|
+
function floatingBehavior({ sourceRect, targetRect }) {
|
|
3248
3508
|
return _getIntersectionsLine(_fromRoundedRectIntersections(sourceRect, targetRect), _toRoundedRectIntersections(sourceRect, targetRect), sourceRect, targetRect);
|
|
3249
3509
|
}
|
|
3250
3510
|
function _fromRoundedRectIntersections(sourceRect, targetRect) {
|
|
@@ -3265,7 +3525,7 @@ function _getIntersectionsLine(from, to, sourceRect, targetRect) {
|
|
|
3265
3525
|
* It constructs a line between the gravity centers of the connector rectangles
|
|
3266
3526
|
* @param payload
|
|
3267
3527
|
*/
|
|
3268
|
-
function fixedCenterBehavior({ sourceRect, targetRect
|
|
3528
|
+
function fixedCenterBehavior({ sourceRect, targetRect }) {
|
|
3269
3529
|
return {
|
|
3270
3530
|
point1: sourceRect.gravityCenter,
|
|
3271
3531
|
point2: targetRect.gravityCenter,
|
|
@@ -3303,16 +3563,128 @@ function _getPosition(rect, side) {
|
|
|
3303
3563
|
}
|
|
3304
3564
|
|
|
3305
3565
|
/**
|
|
3306
|
-
*
|
|
3566
|
+
* Small epsilon to treat near-zero differences as negligible.
|
|
3567
|
+
*/
|
|
3568
|
+
const EPSILON = 0.5;
|
|
3569
|
+
/**
|
|
3570
|
+
* Registry of all connection behavior handlers.
|
|
3571
|
+
*/
|
|
3572
|
+
const BEHAVIOR_HANDLERS = {
|
|
3573
|
+
[EFConnectionBehavior.FLOATING]: floatingBehavior,
|
|
3574
|
+
[EFConnectionBehavior.FIXED_CENTER]: fixedCenterBehavior,
|
|
3575
|
+
[EFConnectionBehavior.FIXED]: fixedOutboundBehavior,
|
|
3576
|
+
};
|
|
3577
|
+
/**
|
|
3578
|
+
* Calculates connection lines based on behavior rules.
|
|
3579
|
+
* It determines which sides of the source and target should connect,
|
|
3580
|
+
* then delegates to a registered behavior handler.
|
|
3307
3581
|
*/
|
|
3308
3582
|
let CalculateConnectionLineByBehavior = class CalculateConnectionLineByBehavior {
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3583
|
+
/**
|
|
3584
|
+
* Main execution entry point.
|
|
3585
|
+
*
|
|
3586
|
+
* @param request The request containing source, target, and connection details.
|
|
3587
|
+
* @returns A calculated connection line (ILine).
|
|
3588
|
+
*/
|
|
3589
|
+
handle(request) {
|
|
3590
|
+
const vectors = this._calculateDirectionalVectors(request.sourceRect.gravityCenter.x, request.sourceRect.gravityCenter.y, request.targetRect.gravityCenter.x, request.targetRect.gravityCenter.y);
|
|
3591
|
+
const sourceSide = this._determineSourceSide(request, vectors);
|
|
3592
|
+
const targetSide = this._determineTargetSide(request, vectors);
|
|
3593
|
+
request.connection._applyResolvedSidesToConnection(sourceSide, targetSide);
|
|
3594
|
+
const handler = this._getBehaviorHandler(request.connection.fBehavior);
|
|
3595
|
+
return handler({
|
|
3596
|
+
sourceRect: request.sourceRect,
|
|
3597
|
+
targetRect: request.targetRect,
|
|
3598
|
+
sourceConnectableSide: sourceSide,
|
|
3599
|
+
targetConnectableSide: targetSide,
|
|
3600
|
+
});
|
|
3601
|
+
}
|
|
3602
|
+
/**
|
|
3603
|
+
* Computes the directional deltas between two rectangles.
|
|
3604
|
+
*/
|
|
3605
|
+
_calculateDirectionalVectors(sourceX, sourceY, targetX, targetY) {
|
|
3606
|
+
const sourceToTargetX = targetX - sourceX;
|
|
3607
|
+
const sourceToTargetY = targetY - sourceY;
|
|
3608
|
+
return {
|
|
3609
|
+
sourceToTargetX,
|
|
3610
|
+
sourceToTargetY,
|
|
3611
|
+
targetToSourceX: -sourceToTargetX,
|
|
3612
|
+
targetToSourceY: -sourceToTargetY,
|
|
3613
|
+
};
|
|
3614
|
+
}
|
|
3615
|
+
/**
|
|
3616
|
+
* Determines the side for the source element.
|
|
3617
|
+
*/
|
|
3618
|
+
_determineSourceSide(request, vectors) {
|
|
3619
|
+
return this._resolveConnectableSide(request.connection.fOutputSide(), vectors.sourceToTargetX, vectors.sourceToTargetY, request.sourceConnectableSide);
|
|
3620
|
+
}
|
|
3621
|
+
/**
|
|
3622
|
+
* Determines the side for the target element.
|
|
3623
|
+
*/
|
|
3624
|
+
_determineTargetSide(request, vectors) {
|
|
3625
|
+
return this._resolveConnectableSide(request.connection.fInputSide(), vectors.targetToSourceX, vectors.targetToSourceY, request.targetConnectableSide);
|
|
3626
|
+
}
|
|
3627
|
+
/**
|
|
3628
|
+
* Resolves which side of a shape to connect to based on direction, fallback, and connection mode.
|
|
3629
|
+
*
|
|
3630
|
+
* @param requestedSide The side mode (e.g. CALCULATE, CALCULATE_HORIZONTAL, FIXED, etc.).
|
|
3631
|
+
* @param deltaX Difference in X between source and target.
|
|
3632
|
+
* @param deltaY Difference in Y between source and target.
|
|
3633
|
+
* @param fallbackSide The default fallback side if calculation is ambiguous.
|
|
3634
|
+
*/
|
|
3635
|
+
_resolveConnectableSide(requestedSide, deltaX, deltaY, fallbackSide) {
|
|
3636
|
+
if (requestedSide === EFConnectionConnectableSide.DEFAULT) {
|
|
3637
|
+
return fallbackSide;
|
|
3638
|
+
}
|
|
3639
|
+
const absoluteX = Math.abs(deltaX);
|
|
3640
|
+
const absoluteY = Math.abs(deltaY);
|
|
3641
|
+
const isNearZero = absoluteX < EPSILON && absoluteY < EPSILON;
|
|
3642
|
+
if (isNearZero) {
|
|
3643
|
+
return fallbackSide;
|
|
3644
|
+
}
|
|
3645
|
+
const isHorizontalDominant = absoluteX >= absoluteY;
|
|
3646
|
+
switch (requestedSide) {
|
|
3647
|
+
case EFConnectionConnectableSide.CALCULATE:
|
|
3648
|
+
return isHorizontalDominant
|
|
3649
|
+
? deltaX >= 0
|
|
3650
|
+
? EFConnectableSide.RIGHT
|
|
3651
|
+
: EFConnectableSide.LEFT
|
|
3652
|
+
: deltaY >= 0
|
|
3653
|
+
? EFConnectableSide.BOTTOM
|
|
3654
|
+
: EFConnectableSide.TOP;
|
|
3655
|
+
case EFConnectionConnectableSide.CALCULATE_HORIZONTAL:
|
|
3656
|
+
if (absoluteX < EPSILON) {
|
|
3657
|
+
return fallbackSide;
|
|
3658
|
+
}
|
|
3659
|
+
return deltaX >= 0 ? EFConnectableSide.RIGHT : EFConnectableSide.LEFT;
|
|
3660
|
+
case EFConnectionConnectableSide.CALCULATE_VERTICAL:
|
|
3661
|
+
if (absoluteY < EPSILON) {
|
|
3662
|
+
return fallbackSide;
|
|
3663
|
+
}
|
|
3664
|
+
return deltaY >= 0 ? EFConnectableSide.BOTTOM : EFConnectableSide.TOP;
|
|
3665
|
+
case EFConnectionConnectableSide.TOP:
|
|
3666
|
+
return EFConnectableSide.TOP;
|
|
3667
|
+
case EFConnectionConnectableSide.BOTTOM:
|
|
3668
|
+
return EFConnectableSide.BOTTOM;
|
|
3669
|
+
case EFConnectionConnectableSide.LEFT:
|
|
3670
|
+
return EFConnectableSide.LEFT;
|
|
3671
|
+
case EFConnectionConnectableSide.RIGHT:
|
|
3672
|
+
return EFConnectableSide.RIGHT;
|
|
3673
|
+
default:
|
|
3674
|
+
return fallbackSide;
|
|
3675
|
+
}
|
|
3676
|
+
}
|
|
3677
|
+
/**
|
|
3678
|
+
* Returns the appropriate handler for the given connection behavior.
|
|
3679
|
+
*
|
|
3680
|
+
* @throws Error if no handler is registered for the behavior.
|
|
3681
|
+
*/
|
|
3682
|
+
_getBehaviorHandler(behavior) {
|
|
3683
|
+
const handler = BEHAVIOR_HANDLERS[behavior];
|
|
3684
|
+
if (!handler) {
|
|
3685
|
+
throw new Error(`[Behavior] No handler for behavior: ${behavior}`);
|
|
3686
|
+
}
|
|
3687
|
+
return handler;
|
|
3316
3688
|
}
|
|
3317
3689
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectionLineByBehavior, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3318
3690
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectionLineByBehavior });
|
|
@@ -3436,12 +3808,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3436
3808
|
type: Injectable
|
|
3437
3809
|
}] });
|
|
3438
3810
|
|
|
3811
|
+
class DragRectCache {
|
|
3812
|
+
static _cache = new WeakMap();
|
|
3813
|
+
static fromElement(element) {
|
|
3814
|
+
const rect = this._cache.get(element) || RectExtensions.fromElement(element);
|
|
3815
|
+
this._cache.set(element, rect);
|
|
3816
|
+
return rect;
|
|
3817
|
+
}
|
|
3818
|
+
static set(element) {
|
|
3819
|
+
this._cache.set(element, RectExtensions.fromElement(element));
|
|
3820
|
+
}
|
|
3821
|
+
static invalidate(element) {
|
|
3822
|
+
this._cache.delete(element);
|
|
3823
|
+
}
|
|
3824
|
+
static invalidateAll() {
|
|
3825
|
+
this._cache = new WeakMap();
|
|
3826
|
+
}
|
|
3827
|
+
}
|
|
3828
|
+
|
|
3439
3829
|
/**
|
|
3440
3830
|
* Execution that redraws connections in the FComponentsStore.
|
|
3441
3831
|
* It resets connectors, sets markers for temporary and snap connections,
|
|
3442
3832
|
* and sets up connections based on the stored outputs and inputs.
|
|
3443
3833
|
*/
|
|
3444
|
-
let
|
|
3834
|
+
let RedrawConnections = class RedrawConnections {
|
|
3445
3835
|
_mediator = inject(FMediator);
|
|
3446
3836
|
_store = inject(FComponentsStore);
|
|
3447
3837
|
handle(_request) {
|
|
@@ -3455,6 +3845,7 @@ let RedrawConnectionsExecution = class RedrawConnectionsExecution {
|
|
|
3455
3845
|
this._store.fConnections.forEach((x) => {
|
|
3456
3846
|
this._setupConnection(this._getOutput(x.fOutputId()), this._getInput(x.fInputId()), x);
|
|
3457
3847
|
});
|
|
3848
|
+
DragRectCache.invalidateAll();
|
|
3458
3849
|
}
|
|
3459
3850
|
_getOutput(id) {
|
|
3460
3851
|
const result = this._store.fOutputs.find((x) => x.fId() === id);
|
|
@@ -3479,23 +3870,23 @@ let RedrawConnectionsExecution = class RedrawConnectionsExecution {
|
|
|
3479
3870
|
fInput.setConnected(fOutput);
|
|
3480
3871
|
const line = this._getLine(fOutput, fInput, fConnection);
|
|
3481
3872
|
this._setMarkers(fConnection);
|
|
3482
|
-
fConnection.setLine(line
|
|
3873
|
+
fConnection.setLine(line);
|
|
3483
3874
|
fConnection.initialize();
|
|
3484
3875
|
fConnection.isSelected() ? fConnection.markAsSelected() : null;
|
|
3485
3876
|
}
|
|
3486
3877
|
_getLine(output, input, connection) {
|
|
3487
|
-
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._mediator.execute(new GetNormalizedConnectorRectRequest(output.hostElement)), this._mediator.execute(new GetNormalizedConnectorRectRequest(input.hostElement)), connection
|
|
3878
|
+
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._mediator.execute(new GetNormalizedConnectorRectRequest(output.hostElement)), this._mediator.execute(new GetNormalizedConnectorRectRequest(input.hostElement)), connection, output.fConnectableSide, input.fConnectableSide));
|
|
3488
3879
|
}
|
|
3489
3880
|
_setMarkers(connection) {
|
|
3490
3881
|
this._mediator.execute(new CreateConnectionMarkersRequest(connection));
|
|
3491
3882
|
}
|
|
3492
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
3493
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
3883
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedrawConnections, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3884
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedrawConnections });
|
|
3494
3885
|
};
|
|
3495
|
-
|
|
3886
|
+
RedrawConnections = __decorate([
|
|
3496
3887
|
FExecutionRegister(RedrawConnectionsRequest)
|
|
3497
|
-
],
|
|
3498
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
3888
|
+
], RedrawConnections);
|
|
3889
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedrawConnections, decorators: [{
|
|
3499
3890
|
type: Injectable
|
|
3500
3891
|
}] });
|
|
3501
3892
|
|
|
@@ -3613,7 +4004,7 @@ const F_CONNECTION_FEATURES = [
|
|
|
3613
4004
|
AddSnapConnectionToStoreExecution,
|
|
3614
4005
|
CreateConnectionMarkersExecution,
|
|
3615
4006
|
CalculateConnectionLineByBehavior,
|
|
3616
|
-
|
|
4007
|
+
RedrawConnections,
|
|
3617
4008
|
RemoveConnectionForCreateFromStoreExecution,
|
|
3618
4009
|
RemoveConnectionFromStoreExecution,
|
|
3619
4010
|
RemoveConnectionMarkerFromStoreExecution,
|
|
@@ -4735,15 +5126,15 @@ class FCreateConnectionDragHandler {
|
|
|
4735
5126
|
}
|
|
4736
5127
|
}
|
|
4737
5128
|
_drawConnectionForCreate(toConnectorRect, fSide) {
|
|
4738
|
-
const line = this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, toConnectorRect, this._connection
|
|
4739
|
-
this._connection.setLine(line
|
|
5129
|
+
const line = this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, toConnectorRect, this._connection, this._fOutputWithRect.fConnector.fConnectableSide, fSide));
|
|
5130
|
+
this._connection.setLine(line);
|
|
4740
5131
|
this._connection.redraw();
|
|
4741
5132
|
}
|
|
4742
5133
|
_drawSnapConnection(fClosestInput) {
|
|
4743
5134
|
if (fClosestInput) {
|
|
4744
|
-
const line = this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, fClosestInput.fRect, this._snapConnection
|
|
5135
|
+
const line = this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, fClosestInput.fRect, this._snapConnection, this._fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
|
|
4745
5136
|
this._snapConnection?.show();
|
|
4746
|
-
this._snapConnection?.setLine(line
|
|
5137
|
+
this._snapConnection?.setLine(line);
|
|
4747
5138
|
this._snapConnection?.redraw();
|
|
4748
5139
|
}
|
|
4749
5140
|
else {
|
|
@@ -5081,18 +5472,18 @@ class FReassignTargetDragHandler {
|
|
|
5081
5472
|
}
|
|
5082
5473
|
_drawConnection(newPoint, fSide) {
|
|
5083
5474
|
const line = this._calculateNewLine(newPoint, fSide);
|
|
5084
|
-
this._connection.setLine(line
|
|
5475
|
+
this._connection.setLine(line);
|
|
5085
5476
|
this._connection.redraw();
|
|
5086
5477
|
}
|
|
5087
5478
|
_calculateNewLine(targetPoint, fSide) {
|
|
5088
|
-
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._sourceConnectorRect, roundedRectFromPoint(targetPoint), this._connection
|
|
5479
|
+
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._sourceConnectorRect, roundedRectFromPoint(targetPoint), this._connection, this._sourceConnector.fConnectableSide, fSide));
|
|
5089
5480
|
}
|
|
5090
5481
|
_drawSnapConnection(closestConnector) {
|
|
5091
5482
|
const snapConnection = this._snapConnection;
|
|
5092
5483
|
if (closestConnector) {
|
|
5093
5484
|
const line = this._getLineToClosestTargetConnector(closestConnector, snapConnection);
|
|
5094
5485
|
snapConnection.show();
|
|
5095
|
-
snapConnection.setLine(line
|
|
5486
|
+
snapConnection.setLine(line);
|
|
5096
5487
|
snapConnection.redraw();
|
|
5097
5488
|
}
|
|
5098
5489
|
else {
|
|
@@ -5100,7 +5491,7 @@ class FReassignTargetDragHandler {
|
|
|
5100
5491
|
}
|
|
5101
5492
|
}
|
|
5102
5493
|
_getLineToClosestTargetConnector(fClosestInput, snapConnection) {
|
|
5103
|
-
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._sourceConnectorRect, fClosestInput.fRect, snapConnection
|
|
5494
|
+
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._sourceConnectorRect, fClosestInput.fRect, snapConnection, this._sourceConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
|
|
5104
5495
|
}
|
|
5105
5496
|
onPointerUp() {
|
|
5106
5497
|
this._drawConnection(this._connectorRect, this._targetConnectorAndRect.fConnector.fConnectableSide);
|
|
@@ -5162,18 +5553,18 @@ class FReassignSourceDragHandler {
|
|
|
5162
5553
|
}
|
|
5163
5554
|
_drawConnection(newPoint, fSide) {
|
|
5164
5555
|
const line = this._calculateNewLine(newPoint, fSide);
|
|
5165
|
-
this._connection.setLine(line
|
|
5556
|
+
this._connection.setLine(line);
|
|
5166
5557
|
this._connection.redraw();
|
|
5167
5558
|
}
|
|
5168
5559
|
_calculateNewLine(sourcePoint, fSide) {
|
|
5169
|
-
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(roundedRectFromPoint(sourcePoint), this._targetConnectorAndRect.fRect, this._connection
|
|
5560
|
+
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(roundedRectFromPoint(sourcePoint), this._targetConnectorAndRect.fRect, this._connection, fSide, this._targetConnectorAndRect.fConnector.fConnectableSide));
|
|
5170
5561
|
}
|
|
5171
5562
|
_drawSnapConnection(fClosestConnector) {
|
|
5172
5563
|
const snapConnection = this._snapConnection;
|
|
5173
5564
|
if (fClosestConnector) {
|
|
5174
5565
|
const line = this._getLineToClosestSourceConnector(fClosestConnector, snapConnection);
|
|
5175
5566
|
snapConnection.show();
|
|
5176
|
-
snapConnection.setLine(line
|
|
5567
|
+
snapConnection.setLine(line);
|
|
5177
5568
|
snapConnection.redraw();
|
|
5178
5569
|
}
|
|
5179
5570
|
else {
|
|
@@ -5181,7 +5572,7 @@ class FReassignSourceDragHandler {
|
|
|
5181
5572
|
}
|
|
5182
5573
|
}
|
|
5183
5574
|
_getLineToClosestSourceConnector(fClosestInput, snapConnection) {
|
|
5184
|
-
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(fClosestInput.fRect, this._targetConnectorAndRect.fRect, snapConnection
|
|
5575
|
+
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(fClosestInput.fRect, this._targetConnectorAndRect.fRect, snapConnection, fClosestInput.fConnector.fConnectableSide, this._targetConnector.fConnectableSide));
|
|
5185
5576
|
}
|
|
5186
5577
|
onPointerUp() {
|
|
5187
5578
|
this._drawConnection(this._connectorRect, this._sourceConnectorAndRect.fConnector.fConnectableSide);
|
|
@@ -5550,10 +5941,10 @@ class BaseConnectionDragHandler {
|
|
|
5550
5941
|
this._redrawConnection(this._recalculateConnection());
|
|
5551
5942
|
}
|
|
5552
5943
|
_recalculateConnection() {
|
|
5553
|
-
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this._fOutputWithRect.fRect).addPoint(this._sourceDifference), RoundedRect.fromRoundedRect(this._fInputWithRect.fRect).addPoint(this._targetDifference), this.fConnection
|
|
5944
|
+
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this._fOutputWithRect.fRect).addPoint(this._sourceDifference), RoundedRect.fromRoundedRect(this._fInputWithRect.fRect).addPoint(this._targetDifference), this.fConnection, this._fOutputWithRect.fConnector.fConnectableSide, this._fInputWithRect.fConnector.fConnectableSide));
|
|
5554
5945
|
}
|
|
5555
5946
|
_redrawConnection(line) {
|
|
5556
|
-
this.fConnection.setLine(line
|
|
5947
|
+
this.fConnection.setLine(line);
|
|
5557
5948
|
this.fConnection.redraw();
|
|
5558
5949
|
}
|
|
5559
5950
|
_connectorNotFoundPrefix(message) {
|
|
@@ -8900,6 +9291,7 @@ class FDraggableDirective extends FDraggableBase {
|
|
|
8900
9291
|
this._mediator.execute(new EndDragSequenceRequest());
|
|
8901
9292
|
}
|
|
8902
9293
|
finalizeDragSequence() {
|
|
9294
|
+
DragRectCache.invalidateAll();
|
|
8903
9295
|
this._mediator.execute(new EmitSelectionChangeEventRequest());
|
|
8904
9296
|
this._result.clear();
|
|
8905
9297
|
}
|
|
@@ -9782,7 +10174,7 @@ class MoveFrontElementsBeforeTargetElementRequest {
|
|
|
9782
10174
|
* Execution that moves elements in the FItemsContainer before a target element.
|
|
9783
10175
|
* It removes elements that should not be in front and inserts them before the target element.
|
|
9784
10176
|
*/
|
|
9785
|
-
let
|
|
10177
|
+
let MoveFrontElementsBeforeTargetElement = class MoveFrontElementsBeforeTargetElement {
|
|
9786
10178
|
handle(request) {
|
|
9787
10179
|
const elementsToMove = [];
|
|
9788
10180
|
for (let i = request.targetIndex + 1; i < request.allElements.length; i++) {
|
|
@@ -9796,13 +10188,13 @@ let MoveFrontElementsBeforeTargetElementExecution = class MoveFrontElementsBefor
|
|
|
9796
10188
|
request.fItemsContainer.insertBefore(x, request.allElements[request.targetIndex]);
|
|
9797
10189
|
});
|
|
9798
10190
|
}
|
|
9799
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
9800
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
10191
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MoveFrontElementsBeforeTargetElement, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10192
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MoveFrontElementsBeforeTargetElement });
|
|
9801
10193
|
};
|
|
9802
|
-
|
|
10194
|
+
MoveFrontElementsBeforeTargetElement = __decorate([
|
|
9803
10195
|
FExecutionRegister(MoveFrontElementsBeforeTargetElementRequest)
|
|
9804
|
-
],
|
|
9805
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
10196
|
+
], MoveFrontElementsBeforeTargetElement);
|
|
10197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MoveFrontElementsBeforeTargetElement, decorators: [{
|
|
9806
10198
|
type: Injectable
|
|
9807
10199
|
}] });
|
|
9808
10200
|
|
|
@@ -9994,7 +10386,7 @@ let EmitSelectionChangeEventExecution = class EmitSelectionChangeEventExecution
|
|
|
9994
10386
|
return this._store.fDraggable.fSelectionChange;
|
|
9995
10387
|
}
|
|
9996
10388
|
_dragContext = inject(FDraggableDataContext);
|
|
9997
|
-
handle(
|
|
10389
|
+
handle(_request) {
|
|
9998
10390
|
if (!this._dragContext.isSelectedChanged) {
|
|
9999
10391
|
return;
|
|
10000
10392
|
}
|
|
@@ -10689,10 +11081,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
10689
11081
|
}] });
|
|
10690
11082
|
|
|
10691
11083
|
class GetParentNodesRequest {
|
|
10692
|
-
|
|
11084
|
+
nodeOrGroup;
|
|
10693
11085
|
static fToken = Symbol('GetParentNodesRequest');
|
|
10694
|
-
constructor(
|
|
10695
|
-
this.
|
|
11086
|
+
constructor(nodeOrGroup) {
|
|
11087
|
+
this.nodeOrGroup = nodeOrGroup;
|
|
10696
11088
|
}
|
|
10697
11089
|
}
|
|
10698
11090
|
|
|
@@ -10701,15 +11093,15 @@ class GetParentNodesRequest {
|
|
|
10701
11093
|
*/
|
|
10702
11094
|
let GetParentNodes = class GetParentNodes {
|
|
10703
11095
|
_store = inject(FComponentsStore);
|
|
10704
|
-
handle(
|
|
10705
|
-
return this._getParentNodes(
|
|
11096
|
+
handle({ nodeOrGroup }) {
|
|
11097
|
+
return this._getParentNodes(nodeOrGroup, new Set(), []);
|
|
10706
11098
|
}
|
|
10707
|
-
_getParentNodes(
|
|
10708
|
-
if (visited.has(
|
|
10709
|
-
throw new Error('Circular reference detected in the node hierarchy. Node id: ' +
|
|
11099
|
+
_getParentNodes(nodeOrGroup, visited, result) {
|
|
11100
|
+
if (visited.has(nodeOrGroup.fId())) {
|
|
11101
|
+
throw new Error('Circular reference detected in the node hierarchy. Node id: ' + nodeOrGroup.fId());
|
|
10710
11102
|
}
|
|
10711
|
-
visited.add(
|
|
10712
|
-
const parent = this._store.fNodes.find((x) => x.fId() ===
|
|
11103
|
+
visited.add(nodeOrGroup.fId());
|
|
11104
|
+
const parent = this._store.fNodes.find((x) => x.fId() === nodeOrGroup.fParentId());
|
|
10713
11105
|
if (!parent) {
|
|
10714
11106
|
return result;
|
|
10715
11107
|
}
|
|
@@ -10772,10 +11164,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
10772
11164
|
}] });
|
|
10773
11165
|
|
|
10774
11166
|
class RemoveNodeFromStoreRequest {
|
|
10775
|
-
|
|
11167
|
+
instance;
|
|
10776
11168
|
static fToken = Symbol('RemoveNodeFromStoreRequest');
|
|
10777
|
-
constructor(
|
|
10778
|
-
this.
|
|
11169
|
+
constructor(instance) {
|
|
11170
|
+
this.instance = instance;
|
|
10779
11171
|
}
|
|
10780
11172
|
}
|
|
10781
11173
|
|
|
@@ -10784,8 +11176,8 @@ class RemoveNodeFromStoreRequest {
|
|
|
10784
11176
|
*/
|
|
10785
11177
|
let RemoveNodeFromStore = class RemoveNodeFromStore {
|
|
10786
11178
|
_store = inject(FComponentsStore);
|
|
10787
|
-
handle(
|
|
10788
|
-
this._store.removeComponent(this._store.fNodes,
|
|
11179
|
+
handle({ instance }) {
|
|
11180
|
+
this._store.removeComponent(this._store.fNodes, instance);
|
|
10789
11181
|
}
|
|
10790
11182
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoveNodeFromStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10791
11183
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoveNodeFromStore });
|
|
@@ -11331,28 +11723,28 @@ const F_FLOW_FEATURES = [
|
|
|
11331
11723
|
];
|
|
11332
11724
|
|
|
11333
11725
|
class AddLineAlignmentToStoreRequest {
|
|
11334
|
-
|
|
11726
|
+
instance;
|
|
11335
11727
|
static fToken = Symbol('AddLineAlignmentToStoreRequest');
|
|
11336
|
-
constructor(
|
|
11337
|
-
this.
|
|
11728
|
+
constructor(instance) {
|
|
11729
|
+
this.instance = instance;
|
|
11338
11730
|
}
|
|
11339
11731
|
}
|
|
11340
11732
|
|
|
11341
11733
|
/**
|
|
11342
11734
|
* Execution that adds a line alignment to the FComponentsStore.
|
|
11343
11735
|
*/
|
|
11344
|
-
let
|
|
11736
|
+
let AddLineAlignmentToStore = class AddLineAlignmentToStore {
|
|
11345
11737
|
_store = inject(FComponentsStore);
|
|
11346
|
-
handle(
|
|
11347
|
-
this._store.fLineAlignment =
|
|
11738
|
+
handle({ instance }) {
|
|
11739
|
+
this._store.fLineAlignment = instance;
|
|
11348
11740
|
}
|
|
11349
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
11350
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
11741
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddLineAlignmentToStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11742
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddLineAlignmentToStore });
|
|
11351
11743
|
};
|
|
11352
|
-
|
|
11744
|
+
AddLineAlignmentToStore = __decorate([
|
|
11353
11745
|
FExecutionRegister(AddLineAlignmentToStoreRequest)
|
|
11354
|
-
],
|
|
11355
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
11746
|
+
], AddLineAlignmentToStore);
|
|
11747
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddLineAlignmentToStore, decorators: [{
|
|
11356
11748
|
type: Injectable
|
|
11357
11749
|
}] });
|
|
11358
11750
|
|
|
@@ -11363,18 +11755,18 @@ class RemoveLineAlignmentFromStoreRequest {
|
|
|
11363
11755
|
/**
|
|
11364
11756
|
* Execution that removes a line alignment from the FComponentsStore.
|
|
11365
11757
|
*/
|
|
11366
|
-
let
|
|
11758
|
+
let RemoveLineAlignmentFromStore = class RemoveLineAlignmentFromStore {
|
|
11367
11759
|
_store = inject(FComponentsStore);
|
|
11368
|
-
handle(
|
|
11760
|
+
handle(_request) {
|
|
11369
11761
|
this._store.fLineAlignment = undefined;
|
|
11370
11762
|
}
|
|
11371
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
11372
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
11763
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoveLineAlignmentFromStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11764
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoveLineAlignmentFromStore });
|
|
11373
11765
|
};
|
|
11374
|
-
|
|
11766
|
+
RemoveLineAlignmentFromStore = __decorate([
|
|
11375
11767
|
FExecutionRegister(RemoveLineAlignmentFromStoreRequest)
|
|
11376
|
-
],
|
|
11377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
11768
|
+
], RemoveLineAlignmentFromStore);
|
|
11769
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoveLineAlignmentFromStore, decorators: [{
|
|
11378
11770
|
type: Injectable
|
|
11379
11771
|
}] });
|
|
11380
11772
|
|
|
@@ -11383,10 +11775,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
11383
11775
|
* These executions handle the addition and removal of line alignments
|
|
11384
11776
|
* in the FComponentsStore.
|
|
11385
11777
|
*/
|
|
11386
|
-
const F_LINE_ALIGNMENT_FEATURES = [
|
|
11387
|
-
AddLineAlignmentToStoreExecution,
|
|
11388
|
-
RemoveLineAlignmentFromStoreExecution,
|
|
11389
|
-
];
|
|
11778
|
+
const F_LINE_ALIGNMENT_FEATURES = [AddLineAlignmentToStore, RemoveLineAlignmentFromStore];
|
|
11390
11779
|
|
|
11391
11780
|
class AddZoomToStoreRequest {
|
|
11392
11781
|
fComponent;
|
|
@@ -11764,7 +12153,7 @@ const COMMON_PROVIDERS = [
|
|
|
11764
12153
|
SortItemsByParentExecution,
|
|
11765
12154
|
SortNodeLayersExecution,
|
|
11766
12155
|
UpdateItemAndChildrenLayersExecution,
|
|
11767
|
-
|
|
12156
|
+
MoveFrontElementsBeforeTargetElement,
|
|
11768
12157
|
];
|
|
11769
12158
|
|
|
11770
12159
|
let uniqueId$2 = 0;
|
|
@@ -12410,7 +12799,7 @@ class FFlowComponent extends FFlowBase {
|
|
|
12410
12799
|
...COMMON_PROVIDERS,
|
|
12411
12800
|
...F_DRAGGABLE_PROVIDERS,
|
|
12412
12801
|
{ provide: F_FLOW, useExisting: FFlowComponent },
|
|
12413
|
-
], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12802
|
+
], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:fixed;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12414
12803
|
}
|
|
12415
12804
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FFlowComponent, decorators: [{
|
|
12416
12805
|
type: Component,
|
|
@@ -12425,7 +12814,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
12425
12814
|
...COMMON_PROVIDERS,
|
|
12426
12815
|
...F_DRAGGABLE_PROVIDERS,
|
|
12427
12816
|
{ provide: F_FLOW, useExisting: FFlowComponent },
|
|
12428
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}\n"] }]
|
|
12817
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:fixed;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform}\n"] }]
|
|
12429
12818
|
}] });
|
|
12430
12819
|
|
|
12431
12820
|
const F_FLOW_PROVIDERS = [
|
|
@@ -12639,5 +13028,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
12639
13028
|
* Generated bundle index. Do not edit.
|
|
12640
13029
|
*/
|
|
12641
13030
|
|
|
12642
|
-
export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStore, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddOutletToStore, AddOutletToStoreRequest, AddOutputToStore, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, AddZoomToStoreExecution, AddZoomToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, BaseConnectionDragHandler, BuildDragHierarchy, BuildDragHierarchyRequest, BuildDragHierarchyResponse, CALCULATABLE_SIDES, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTABLE_SIDE_EPSILON, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedRectFromDifference, CalculateChangedRectFromDifferenceRequest, CalculateClosestConnector, CalculateClosestConnectorRequest, CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByConnectedPositionsRequest, CalculateConnectableSideByInternalPosition, CalculateConnectableSideByInternalPositionRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehavior, CalculateConnectionLineByBehaviorRequest, CalculateConnectorsConnectableSides, CalculateConnectorsConnectableSidesRequest, CalculateDirectChildrenUnionRect, CalculateDirectChildrenUnionRectRequest, CalculateDragLimits, CalculateDragLimitsRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateInputConnections, CalculateInputConnectionsRequest, CalculateNodesBoundingBox, CalculateNodesBoundingBoxNormalizedPosition, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CalculateOutputConnections, CalculateOutputConnectionsRequest, CalculateResizeLimits, CalculateResizeLimitsRequest, CalculateSourceConnectorsToConnect, CalculateSourceConnectorsToConnectRequest, CalculateTargetConnectorsToConnect, CalculateTargetConnectorsToConnectRequest, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionContentLayoutEngine, CreateConnectionFromOutputPreparation, CreateConnectionFromOutputPreparationRequest, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparation, CreateConnectionPreparationRequest, CreateDragModelFromSelection, CreateDragModelFromSelectionRequest, CreateInputConnectionHandlerAndSetToNodeHandler, CreateInputConnectionHandlerAndSetToNodeHandlerRequest, CreateOutputConnectionHandlerAndSetToNodeHandler, CreateOutputConnectionHandlerAndSetToNodeHandlerRequest, CreateSnapLines, CreateSnapLinesRequest, CreateSummaryDragHandler, CreateSummaryDragHandlerRequest, DRAG_AND_DROP_COMMON_PROVIDERS, Deprecated, DragAndDropBase, DragConstraintPipeline, DropToGroupFinalize, DropToGroupFinalizeRequest, DropToGroupPreparation, DropToGroupPreparationRequest, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EFZoomDirection, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, EventExtensions, ExternalRectConstraint, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FCanvasDragHandler, FCanvasMoveFinalizeExecution, FCanvasMoveFinalizeRequest, FCanvasMovePreparationExecution, FCanvasMovePreparationRequest, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionContent, FConnectionDragHandleEndComponent, FConnectionDragHandleStartComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FConnectorsStore, FCreateConnectionDragHandler, FCreateConnectionDragHandlerPreparationExecution, FCreateConnectionDragHandlerPreparationRequest, FCreateConnectionEvent, FCreateConnectionFinalizeExecution, FCreateConnectionFinalizeRequest, FCreateConnectionFromOutletPreparationExecution, FCreateConnectionFromOutletPreparationRequest, FCreateNodeEvent, FDragBlockerDirective, FDragHandleDirective, FDragHandlerResult, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemCreatePlaceholderExecution, FExternalItemCreatePlaceholderRequest, FExternalItemCreatePreviewExecution, FExternalItemCreatePreviewRequest, FExternalItemDirective, FExternalItemDragHandler, FExternalItemFinalizeExecution, FExternalItemFinalizeRequest, FExternalItemPlaceholderDirective, FExternalItemPreparationExecution, FExternalItemPreparationRequest, FExternalItemPreviewDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FMoveNodesEvent, FNodeBase, FNodeDirective, FNodeDropToGroupDragHandler, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeMoveFinalizeExecution, FNodeMoveFinalizeRequest, FNodeMovePreparationExecution, FNodeMovePreparationRequest, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FNodeRotateDragHandler, FNodeRotateFinalizeExecution, FNodeRotateFinalizeRequest, FNodeRotatePreparationExecution, FNodeRotatePreparationRequest, FReassignConnectionDragHandler, FReassignConnectionEvent, FReassignConnectionFinalizeExecution, FReassignConnectionFinalizeRequest, FReassignConnectionPreparationExecution, FReassignConnectionPreparationRequest, FReassignSourceDragHandler, FReassignTargetDragHandler, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSingleSelectExecution, FSingleSelectRequest, FSnapConnectionComponent, FSourceConnectorBase, FStraightPathBuilder, FZoomBase, FZoomDirective, F_AFTER_MAIN_PLUGIN, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_BEFORE_MAIN_PLUGIN, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CSS_CLASS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT, F_LINE_ALIGNMENT_FEATURES, F_LINE_ALIGNMENT_PROVIDERS, F_MARKER, F_MINIMAP_DRAG_AND_DROP_PROVIDERS, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_FEATURES, F_ZOOM_PROVIDERS, F_ZOOM_TAG, FindConnectableConnectorUsingPriorityAndPositionExecution, FindConnectableConnectorUsingPriorityAndPositionRequest, FitToChildNodesAndGroups, FitToChildNodesAndGroupsRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetChildNodeIds, GetChildNodeIdsRequest, GetConnectorAndRect, GetConnectorAndRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFirstConnectableOutputExecution, GetFirstConnectableOutputRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetNodeBoundingIncludePaddings, GetNodeBoundingIncludePaddingsRequest, GetNodeBoundingIncludePaddingsResponse, GetNodePadding, GetNodePaddingRequest, GetNormalizedConnectorRectExecution, GetNormalizedConnectorRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodes, GetParentNodesRequest, IMouseEvent, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsDragStarted, IsDragStartedRequest, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, LogExecutionTime, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MOUSE_EVENT_IGNORE_TIME, MarkConnectableConnectors, MarkConnectableConnectorsRequest, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveDragHandler, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, MoveSummaryDragHandler, NODE_DROP_TO_GROUP_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NodeResizeDragHandler, NodeResizeFinalize, NodeResizeFinalizeRequest, NodeResizePreparation, NodeResizePreparationRequest, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, RESIZE_DIRECTIONS, RectConstraint, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStore, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStore, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, RemoveZoomFromStoreExecution, RemoveZoomFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, ResetZoomExecution, ResetZoomRequest, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SetZoomExecution, SetZoomRequest, SnapLineElement, SnapLineService, SnapLinesDragHandler, SnapToGrid, SortContainersForDropByLayer, SortContainersForDropByLayerRequest, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, SourceConnectionDragHandler, SourceTargetConnectionDragHandler, StartDragSequenceExecution, StartDragSequenceRequest, TargetConnectionDragHandler, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, defaultEventTrigger, determineSide, expandRectFromBaseline, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, infinityMinMax, isCalculateMode, isClosestConnectorInsideSnapThreshold, isDragBlocker, isDragHandleEnd, isDragHandleStart, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, isPointerInsideStartOrEndDragHandles, isRotateHandle, isValidEventTrigger, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, roundedRectFromPoint, stringAttribute, transitionEnd };
|
|
13031
|
+
export { AdaptiveCurveBuilder, AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStore, AddInputToStoreRequest, AddLineAlignmentToStore, AddLineAlignmentToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddOutletToStore, AddOutletToStoreRequest, AddOutputToStore, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, AddZoomToStoreExecution, AddZoomToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, BaseConnectionDragHandler, BuildDragHierarchy, BuildDragHierarchyRequest, BuildDragHierarchyResponse, CALCULATABLE_SIDES, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTABLE_SIDE_EPSILON, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedRectFromDifference, CalculateChangedRectFromDifferenceRequest, CalculateClosestConnector, CalculateClosestConnectorRequest, CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByConnectedPositionsRequest, CalculateConnectableSideByInternalPosition, CalculateConnectableSideByInternalPositionRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehavior, CalculateConnectionLineByBehaviorRequest, CalculateConnectorsConnectableSides, CalculateConnectorsConnectableSidesRequest, CalculateDirectChildrenUnionRect, CalculateDirectChildrenUnionRectRequest, CalculateDragLimits, CalculateDragLimitsRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateInputConnections, CalculateInputConnectionsRequest, CalculateNodesBoundingBox, CalculateNodesBoundingBoxNormalizedPosition, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CalculateOutputConnections, CalculateOutputConnectionsRequest, CalculateResizeLimits, CalculateResizeLimitsRequest, CalculateSourceConnectorsToConnect, CalculateSourceConnectorsToConnectRequest, CalculateTargetConnectorsToConnect, CalculateTargetConnectorsToConnectRequest, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionContentLayoutEngine, CreateConnectionFromOutputPreparation, CreateConnectionFromOutputPreparationRequest, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparation, CreateConnectionPreparationRequest, CreateDragModelFromSelection, CreateDragModelFromSelectionRequest, CreateInputConnectionHandlerAndSetToNodeHandler, CreateInputConnectionHandlerAndSetToNodeHandlerRequest, CreateOutputConnectionHandlerAndSetToNodeHandler, CreateOutputConnectionHandlerAndSetToNodeHandlerRequest, CreateSnapLines, CreateSnapLinesRequest, CreateSummaryDragHandler, CreateSummaryDragHandlerRequest, DRAG_AND_DROP_COMMON_PROVIDERS, Deprecated, DragAndDropBase, DragConstraintPipeline, DragRectCache, DropToGroupFinalize, DropToGroupFinalizeRequest, DropToGroupPreparation, DropToGroupPreparationRequest, EFConnectableSide, EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, EFMarkerType, EFResizeHandleType, EFZoomDirection, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, EventExtensions, ExternalRectConstraint, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FCanvasDragHandler, FCanvasMoveFinalizeExecution, FCanvasMoveFinalizeRequest, FCanvasMovePreparationExecution, FCanvasMovePreparationRequest, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionContent, FConnectionDragHandleEndComponent, FConnectionDragHandleStartComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FConnectorsStore, FCreateConnectionDragHandler, FCreateConnectionDragHandlerPreparationExecution, FCreateConnectionDragHandlerPreparationRequest, FCreateConnectionEvent, FCreateConnectionFinalizeExecution, FCreateConnectionFinalizeRequest, FCreateConnectionFromOutletPreparationExecution, FCreateConnectionFromOutletPreparationRequest, FCreateNodeEvent, FDragBlockerDirective, FDragHandleDirective, FDragHandlerResult, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemCreatePlaceholderExecution, FExternalItemCreatePlaceholderRequest, FExternalItemCreatePreviewExecution, FExternalItemCreatePreviewRequest, FExternalItemDirective, FExternalItemDragHandler, FExternalItemFinalizeExecution, FExternalItemFinalizeRequest, FExternalItemPlaceholderDirective, FExternalItemPreparationExecution, FExternalItemPreparationRequest, FExternalItemPreviewDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FMoveNodesEvent, FNodeBase, FNodeDirective, FNodeDropToGroupDragHandler, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeMoveFinalizeExecution, FNodeMoveFinalizeRequest, FNodeMovePreparationExecution, FNodeMovePreparationRequest, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FNodeRotateDragHandler, FNodeRotateFinalizeExecution, FNodeRotateFinalizeRequest, FNodeRotatePreparationExecution, FNodeRotatePreparationRequest, FReassignConnectionDragHandler, FReassignConnectionEvent, FReassignConnectionFinalizeExecution, FReassignConnectionFinalizeRequest, FReassignConnectionPreparationExecution, FReassignConnectionPreparationRequest, FReassignSourceDragHandler, FReassignTargetDragHandler, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSingleSelectExecution, FSingleSelectRequest, FSnapConnectionComponent, FSourceConnectorBase, FStraightPathBuilder, FZoomBase, FZoomDirective, F_AFTER_MAIN_PLUGIN, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_BEFORE_MAIN_PLUGIN, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CSS_CLASS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT, F_LINE_ALIGNMENT_FEATURES, F_LINE_ALIGNMENT_PROVIDERS, F_MARKER, F_MINIMAP_DRAG_AND_DROP_PROVIDERS, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_FEATURES, F_ZOOM_PROVIDERS, F_ZOOM_TAG, FindConnectableConnectorUsingPriorityAndPositionExecution, FindConnectableConnectorUsingPriorityAndPositionRequest, FitToChildNodesAndGroups, FitToChildNodesAndGroupsRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetChildNodeIds, GetChildNodeIdsRequest, GetConnectorAndRect, GetConnectorAndRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFirstConnectableOutputExecution, GetFirstConnectableOutputRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetNodeBoundingIncludePaddings, GetNodeBoundingIncludePaddingsRequest, GetNodeBoundingIncludePaddingsResponse, GetNodePadding, GetNodePaddingRequest, GetNormalizedConnectorRectExecution, GetNormalizedConnectorRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodes, GetParentNodesRequest, IMouseEvent, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsDragStarted, IsDragStartedRequest, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, LogExecutionTime, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MOUSE_EVENT_IGNORE_TIME, MarkConnectableConnectors, MarkConnectableConnectorsRequest, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveDragHandler, MoveFrontElementsBeforeTargetElement, MoveFrontElementsBeforeTargetElementRequest, MoveSummaryDragHandler, NODE_DROP_TO_GROUP_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NodeResizeDragHandler, NodeResizeFinalize, NodeResizeFinalizeRequest, NodeResizePreparation, NodeResizePreparationRequest, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, RESIZE_DIRECTIONS, RectConstraint, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnections, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStore, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStore, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStore, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, RemoveZoomFromStoreExecution, RemoveZoomFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, ResetZoomExecution, ResetZoomRequest, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SetZoomExecution, SetZoomRequest, SnapLineElement, SnapLineService, SnapLinesDragHandler, SnapToGrid, SortContainersForDropByLayer, SortContainersForDropByLayerRequest, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, SourceConnectionDragHandler, SourceTargetConnectionDragHandler, StartDragSequenceExecution, StartDragSequenceRequest, TargetConnectionDragHandler, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, defaultEventTrigger, determineSide, expandRectFromBaseline, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, infinityMinMax, isCalculateMode, isClosestConnectorInsideSnapThreshold, isDragBlocker, isDragHandleEnd, isDragHandleStart, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, isPointerInsideStartOrEndDragHandles, isRotateHandle, isValidEventTrigger, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, roundedRectFromPoint, stringAttribute, transitionEnd };
|
|
12643
13032
|
//# sourceMappingURL=foblex-flow.mjs.map
|