@foblex/flow 18.2.0 → 18.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/domain/f-connection/create-connection-markers/create-connection-markers.d.ts +3 -2
- package/domain/f-connection/redraw-connections/redraw-connections.d.ts +2 -0
- package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.mjs +33 -6
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +46 -3
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +6 -6
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +6 -7
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +6 -7
- package/esm2022/f-connection/providers.mjs +8 -4
- package/esm2022/f-connection-v2/components/connection-gradient/components/index.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-gradient/components/render/f-connection-gradient-renderer.mjs +17 -0
- package/esm2022/f-connection-v2/components/connection-gradient/components/render/index.mjs +3 -0
- package/esm2022/f-connection-v2/components/connection-gradient/components/render/models/f-connection-gradient-renderer-base.mjs +81 -0
- package/esm2022/f-connection-v2/components/connection-gradient/components/render/models/index.mjs +2 -0
- package/esm2022/f-connection-v2/components/connection-gradient/f-connection-gradient.mjs +14 -46
- package/esm2022/f-connection-v2/components/connection-gradient/index.mjs +2 -1
- package/esm2022/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.mjs +2 -3
- package/esm2022/f-connection-v2/components/connection-path/f-connection-path.mjs +11 -7
- package/esm2022/f-connection-v2/components/f-connection-base.mjs +13 -9
- package/esm2022/f-connection-v2/models/f-connection-components-parent.mjs +1 -1
- package/esm2022/f-connection-v2/utils/create-gradient-dom-identifier.mjs +3 -3
- package/esm2022/f-connection-v2/utils/create-gradient-dom-url.mjs +3 -3
- package/esm2022/f-connection-worker/features/ensure-connection-worker/ensure-connection-worker.mjs +11 -4
- package/esm2022/f-connection-worker/features/is-connection-worker-enabled/is-connection-worker-enabled.mjs +3 -2
- package/esm2022/f-connection-worker/model/f-connection-worker.mjs +5 -1
- package/esm2022/f-connection-worker/worker/connection-worker-runtime.mjs +235 -0
- package/esm2022/f-flow/f-flow.component.mjs +8 -5
- package/esm2022/f-flow.module.mjs +37 -36
- package/esm2022/f-storage/f-components-store.mjs +17 -1
- package/esm2022/f-virtual/f-virtual-for.mjs +33 -3
- package/f-connection/f-connection/f-connection.component.d.ts +1 -1
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +1 -1
- package/f-connection/providers.d.ts +3 -3
- package/f-connection-v2/components/connection-gradient/components/index.d.ts +1 -0
- package/f-connection-v2/components/connection-gradient/components/render/f-connection-gradient-renderer.d.ts +8 -0
- package/f-connection-v2/components/connection-gradient/components/render/index.d.ts +2 -0
- package/f-connection-v2/components/connection-gradient/components/render/models/f-connection-gradient-renderer-base.d.ts +25 -0
- package/f-connection-v2/components/connection-gradient/components/render/models/index.d.ts +1 -0
- package/f-connection-v2/components/connection-gradient/f-connection-gradient.d.ts +3 -11
- package/f-connection-v2/components/connection-gradient/index.d.ts +1 -0
- package/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.d.ts +3 -5
- package/f-connection-v2/components/connection-path/f-connection-path.d.ts +3 -2
- package/f-connection-v2/components/f-connection-base.d.ts +7 -4
- package/f-connection-v2/models/f-connection-components-parent.d.ts +0 -2
- package/f-connection-v2/utils/create-gradient-dom-identifier.d.ts +1 -1
- package/f-connection-v2/utils/create-gradient-dom-url.d.ts +1 -1
- package/f-connection-worker/model/f-connection-worker.d.ts +1 -0
- package/f-connection-worker/worker/connection-worker-runtime.d.ts +11 -0
- package/f-flow/f-flow.component.d.ts +1 -0
- package/f-flow.module.d.ts +38 -37
- package/f-storage/f-components-store.d.ts +5 -0
- package/f-virtual/f-virtual-for.d.ts +8 -2
- package/fesm2022/foblex-flow.mjs +509 -75
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
package/fesm2022/foblex-flow.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Injectable, ElementRef, Injector, input, effect, untracked, Directive, signal, numberAttribute, model, booleanAttribute, Component, ChangeDetectionStrategy, Input, viewChild, contentChildren, contentChild,
|
|
2
|
+
import { InjectionToken, inject, Injectable, ElementRef, Injector, input, effect, untracked, Directive, signal, numberAttribute, model, booleanAttribute, Component, ChangeDetectionStrategy, Input, computed, viewChild, contentChildren, contentChild, Renderer2, DestroyRef, output, ViewContainerRef, TemplateRef, runInInjectionContext, NgZone, EventEmitter, Output, afterNextRender, NgModule } from '@angular/core';
|
|
3
3
|
import { TransformModelExtensions, PointExtensions, RectExtensions, GetIntersections, Point, LineExtensions, RoundedRect, SizeExtensions, setRectToElement, adjustRectToMinSize, setRectToViewBox } from '@foblex/2d';
|
|
4
4
|
import { __decorate } from 'tslib';
|
|
5
5
|
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
@@ -512,12 +512,17 @@ class FComponentsStore {
|
|
|
512
512
|
_connectionsRevision = 0;
|
|
513
513
|
nodesChanges$ = new FChannel();
|
|
514
514
|
_nodesRevision = 0;
|
|
515
|
+
progressiveRenderChanges$ = new FChannel();
|
|
516
|
+
_pendingProgressiveRenderCount = 0;
|
|
515
517
|
get connectionsRevision() {
|
|
516
518
|
return this._connectionsRevision;
|
|
517
519
|
}
|
|
518
520
|
get nodesRevision() {
|
|
519
521
|
return this._nodesRevision;
|
|
520
522
|
}
|
|
523
|
+
get hasPendingProgressiveRender() {
|
|
524
|
+
return this._pendingProgressiveRenderCount > 0;
|
|
525
|
+
}
|
|
521
526
|
get flowHost() {
|
|
522
527
|
return this.fFlow?.hostElement;
|
|
523
528
|
}
|
|
@@ -542,6 +547,17 @@ class FComponentsStore {
|
|
|
542
547
|
this._connectionsRevision++;
|
|
543
548
|
this.connectionsChanges$.notify();
|
|
544
549
|
}
|
|
550
|
+
beginProgressiveRender() {
|
|
551
|
+
this._pendingProgressiveRenderCount++;
|
|
552
|
+
this.progressiveRenderChanges$.notify();
|
|
553
|
+
}
|
|
554
|
+
endProgressiveRender() {
|
|
555
|
+
if (!this._pendingProgressiveRenderCount) {
|
|
556
|
+
return;
|
|
557
|
+
}
|
|
558
|
+
this._pendingProgressiveRenderCount--;
|
|
559
|
+
this.progressiveRenderChanges$.notify();
|
|
560
|
+
}
|
|
545
561
|
transformChanged() {
|
|
546
562
|
this.transformChanges$.notify();
|
|
547
563
|
}
|
|
@@ -1252,9 +1268,20 @@ class CreateConnectionMarkersRequest {
|
|
|
1252
1268
|
let CreateConnectionMarkers = class CreateConnectionMarkers {
|
|
1253
1269
|
_browser = inject(BrowserService);
|
|
1254
1270
|
_store = inject(FComponentsStore);
|
|
1271
|
+
_markerCache = new WeakMap();
|
|
1255
1272
|
handle({ connection }) {
|
|
1273
|
+
const markers = this._findConnectionMarkers(connection);
|
|
1274
|
+
const defs = connection.fDefs();
|
|
1275
|
+
if (!defs) {
|
|
1276
|
+
return false;
|
|
1277
|
+
}
|
|
1278
|
+
const signature = createConnectionMarkersSignature(markers);
|
|
1279
|
+
const cached = this._markerCache.get(connection);
|
|
1280
|
+
if (cached?.signature === signature && cached.defsElement === defs.nativeElement) {
|
|
1281
|
+
return false;
|
|
1282
|
+
}
|
|
1256
1283
|
const element = createSVGElement$1('defs', this._browser);
|
|
1257
|
-
|
|
1284
|
+
markers.forEach((marker) => {
|
|
1258
1285
|
const markerElement = createMarkerElement(marker, connection.fId(), this._browser);
|
|
1259
1286
|
const clone = marker.hostElement.cloneNode(true);
|
|
1260
1287
|
clone.setAttribute('height', `${marker.height}`);
|
|
@@ -1264,11 +1291,13 @@ let CreateConnectionMarkers = class CreateConnectionMarkers {
|
|
|
1264
1291
|
markerElement.append(clone);
|
|
1265
1292
|
element.append(markerElement);
|
|
1266
1293
|
});
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1294
|
+
defs.nativeElement.innerHTML = element.innerHTML;
|
|
1295
|
+
this._markerCache.set(connection, {
|
|
1296
|
+
signature,
|
|
1297
|
+
defsElement: defs.nativeElement,
|
|
1298
|
+
});
|
|
1271
1299
|
this._makeSafariCompatible(connection);
|
|
1300
|
+
return true;
|
|
1272
1301
|
}
|
|
1273
1302
|
_findConnectionMarkers(connection) {
|
|
1274
1303
|
return this._store.connectionMarkers
|
|
@@ -1288,6 +1317,20 @@ CreateConnectionMarkers = __decorate([
|
|
|
1288
1317
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionMarkers, decorators: [{
|
|
1289
1318
|
type: Injectable
|
|
1290
1319
|
}] });
|
|
1320
|
+
function createConnectionMarkersSignature(markers) {
|
|
1321
|
+
return markers
|
|
1322
|
+
.map((marker) => [
|
|
1323
|
+
marker.type,
|
|
1324
|
+
marker.width,
|
|
1325
|
+
marker.height,
|
|
1326
|
+
marker.refX,
|
|
1327
|
+
marker.refY,
|
|
1328
|
+
marker.orient,
|
|
1329
|
+
marker.markerUnits,
|
|
1330
|
+
marker.hostElement.outerHTML,
|
|
1331
|
+
].join('|'))
|
|
1332
|
+
.join('||');
|
|
1333
|
+
}
|
|
1291
1334
|
function createMarkerElement(marker, connectionId, browser) {
|
|
1292
1335
|
const markerElement = createSVGElement$1('marker', browser);
|
|
1293
1336
|
markerElement.setAttribute('id', normalizeDomElementId(marker.type + '-' + connectionId));
|
|
@@ -1851,11 +1894,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1851
1894
|
type: Input
|
|
1852
1895
|
}] } });
|
|
1853
1896
|
|
|
1854
|
-
const F_CONNECTION_GRADIENT = new InjectionToken('F_CONNECTION_GRADIENT');
|
|
1855
|
-
class FConnectionGradientBase {
|
|
1856
|
-
hostElement = inject((ElementRef)).nativeElement;
|
|
1857
|
-
}
|
|
1858
|
-
|
|
1859
1897
|
var EFConnectionBehavior;
|
|
1860
1898
|
(function (EFConnectionBehavior) {
|
|
1861
1899
|
EFConnectionBehavior["FIXED"] = "fixed";
|
|
@@ -2674,60 +2712,125 @@ function createConnectionSelectionDomIdentifier(componentId, sourceId, targetId)
|
|
|
2674
2712
|
return normalizeDomElementId('connection_for_selection_' + componentId + sourceId + targetId);
|
|
2675
2713
|
}
|
|
2676
2714
|
|
|
2677
|
-
function createGradientDomIdentifier(componentId
|
|
2678
|
-
return normalizeDomElementId('connection_gradient_' + componentId
|
|
2715
|
+
function createGradientDomIdentifier(componentId) {
|
|
2716
|
+
return normalizeDomElementId('connection_gradient_' + componentId);
|
|
2679
2717
|
}
|
|
2680
2718
|
|
|
2681
|
-
function createGradientDomUrl(componentId
|
|
2682
|
-
return `url(#${createGradientDomIdentifier(componentId
|
|
2719
|
+
function createGradientDomUrl(componentId) {
|
|
2720
|
+
return `url(#${createGradientDomIdentifier(componentId)})`;
|
|
2683
2721
|
}
|
|
2684
2722
|
|
|
2685
|
-
class
|
|
2723
|
+
class FConnectionGradientRendererBase {
|
|
2686
2724
|
_connection = inject(F_CONNECTION_COMPONENTS_PARENT);
|
|
2687
|
-
|
|
2688
|
-
|
|
2725
|
+
_hostElement = inject((ElementRef)).nativeElement;
|
|
2726
|
+
_injector = inject(Injector);
|
|
2727
|
+
_hostAttributes = new Map();
|
|
2728
|
+
_startColor;
|
|
2729
|
+
_endColor;
|
|
2730
|
+
gradientId = computed(() => createGradientDomIdentifier(this._connection.fId()));
|
|
2731
|
+
ngOnInit() {
|
|
2732
|
+
this._listenColorChanges();
|
|
2733
|
+
}
|
|
2734
|
+
_listenColorChanges() {
|
|
2735
|
+
effect(() => {
|
|
2736
|
+
this.gradient().fStartColor();
|
|
2737
|
+
this.gradient().fEndColor();
|
|
2738
|
+
untracked(() => {
|
|
2739
|
+
this._updateGradient();
|
|
2740
|
+
});
|
|
2741
|
+
}, { injector: this._injector });
|
|
2689
2742
|
}
|
|
2690
2743
|
get stop1Element() {
|
|
2691
|
-
return this.
|
|
2744
|
+
return this._hostElement.children.item(0);
|
|
2692
2745
|
}
|
|
2693
2746
|
get stop2Element() {
|
|
2694
|
-
return this.
|
|
2695
|
-
}
|
|
2696
|
-
initialize() {
|
|
2697
|
-
this.stop1Element.setAttribute('offset', '0%');
|
|
2698
|
-
this.stop2Element.setAttribute('offset', '100%');
|
|
2699
|
-
}
|
|
2700
|
-
_updateGradient() {
|
|
2701
|
-
this._setFromColor(this._connection.fStartColor());
|
|
2702
|
-
this._setToColor(this._connection.fEndColor());
|
|
2703
|
-
}
|
|
2704
|
-
_setFromColor(color) {
|
|
2705
|
-
this.stop1Element.setAttribute('stop-color', color || 'transparent');
|
|
2706
|
-
}
|
|
2707
|
-
_setToColor(color) {
|
|
2708
|
-
this.stop2Element.setAttribute('stop-color', color || 'transparent');
|
|
2747
|
+
return this._hostElement.children.item(1);
|
|
2709
2748
|
}
|
|
2710
2749
|
redraw(line) {
|
|
2711
2750
|
const x = line.point2.x - line.point1.x;
|
|
2712
2751
|
const y = line.point2.y - line.point1.y;
|
|
2713
2752
|
const distance = Math.sqrt(x * x + y * y) || 0.01;
|
|
2714
2753
|
const from = new Point(0.5 - (0.5 * x) / distance, 0.5 - (0.5 * y) / distance);
|
|
2715
|
-
this.
|
|
2716
|
-
this.
|
|
2754
|
+
this._setHostAttribute('x1', from.x.toString());
|
|
2755
|
+
this._setHostAttribute('y1', from.y.toString());
|
|
2717
2756
|
const to = new Point(0.5 + (0.5 * x) / distance, 0.5 + (0.5 * y) / distance);
|
|
2718
|
-
this.
|
|
2719
|
-
this.
|
|
2757
|
+
this._setHostAttribute('x2', to.x.toString());
|
|
2758
|
+
this._setHostAttribute('y2', to.y.toString());
|
|
2720
2759
|
this._updateGradient();
|
|
2721
2760
|
}
|
|
2761
|
+
_updateGradient() {
|
|
2762
|
+
const gradient = this.gradient();
|
|
2763
|
+
this._setFromColor(gradient.fStartColor());
|
|
2764
|
+
this._setToColor(gradient.fEndColor());
|
|
2765
|
+
}
|
|
2766
|
+
_setFromColor(color) {
|
|
2767
|
+
const nextColor = color || 'transparent';
|
|
2768
|
+
if (this._startColor === nextColor) {
|
|
2769
|
+
return;
|
|
2770
|
+
}
|
|
2771
|
+
this._startColor = nextColor;
|
|
2772
|
+
this.stop1Element.setAttribute('stop-color', nextColor);
|
|
2773
|
+
this.stop1Element.style.setProperty('stop-color', nextColor);
|
|
2774
|
+
}
|
|
2775
|
+
_setToColor(color) {
|
|
2776
|
+
const nextColor = color || 'transparent';
|
|
2777
|
+
if (this._endColor === nextColor) {
|
|
2778
|
+
return;
|
|
2779
|
+
}
|
|
2780
|
+
this._endColor = nextColor;
|
|
2781
|
+
this.stop2Element.setAttribute('stop-color', nextColor);
|
|
2782
|
+
this.stop2Element.style.setProperty('stop-color', nextColor);
|
|
2783
|
+
}
|
|
2784
|
+
_setHostAttribute(name, value) {
|
|
2785
|
+
if (this._hostAttributes.get(name) === value) {
|
|
2786
|
+
return;
|
|
2787
|
+
}
|
|
2788
|
+
this._hostAttributes.set(name, value);
|
|
2789
|
+
this._hostElement.setAttribute(name, value);
|
|
2790
|
+
}
|
|
2791
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradientRendererBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2792
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FConnectionGradientRendererBase, ngImport: i0 });
|
|
2793
|
+
}
|
|
2794
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradientRendererBase, decorators: [{
|
|
2795
|
+
type: Directive,
|
|
2796
|
+
args: [{}]
|
|
2797
|
+
}] });
|
|
2798
|
+
|
|
2799
|
+
class FConnectionGradientRenderer extends FConnectionGradientRendererBase {
|
|
2800
|
+
gradient = input.required({
|
|
2801
|
+
alias: 'fConnectionGradientRendererFor',
|
|
2802
|
+
});
|
|
2803
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradientRenderer, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2804
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FConnectionGradientRenderer, isStandalone: true, selector: "linearGradient[fConnectionGradientRenderer]", inputs: { gradient: { classPropertyName: "gradient", publicName: "fConnectionGradientRendererFor", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.id": "gradientId()" } }, usesInheritance: true, ngImport: i0, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:stop offset=\"0%\" />\n <svg:stop offset=\"100%\" />\n</ng-container>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2805
|
+
}
|
|
2806
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradientRenderer, decorators: [{
|
|
2807
|
+
type: Component,
|
|
2808
|
+
args: [{ selector: 'linearGradient[fConnectionGradientRenderer]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
2809
|
+
'[attr.id]': 'gradientId()',
|
|
2810
|
+
}, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:stop offset=\"0%\" />\n <svg:stop offset=\"100%\" />\n</ng-container>\n" }]
|
|
2811
|
+
}] });
|
|
2812
|
+
|
|
2813
|
+
const F_CONNECTION_GRADIENT = new InjectionToken('F_CONNECTION_GRADIENT');
|
|
2814
|
+
class FConnectionGradientBase {
|
|
2815
|
+
}
|
|
2816
|
+
|
|
2817
|
+
class FConnectionGradient extends FConnectionGradientBase {
|
|
2818
|
+
fStartColor = input.required();
|
|
2819
|
+
fEndColor = input.required();
|
|
2722
2820
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradient, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2723
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2821
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FConnectionGradient, isStandalone: true, selector: "f-connection-gradient", inputs: { fStartColor: { classPropertyName: "fStartColor", publicName: "fStartColor", isSignal: true, isRequired: true, transformFunction: null }, fEndColor: { classPropertyName: "fEndColor", publicName: "fEndColor", isSignal: true, isRequired: true, transformFunction: null } }, host: { styleAttribute: "display: none;" }, providers: [{ provide: F_CONNECTION_GRADIENT, useExisting: FConnectionGradient }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
2724
2822
|
}
|
|
2725
2823
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradient, decorators: [{
|
|
2726
2824
|
type: Component,
|
|
2727
|
-
args: [{
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2825
|
+
args: [{
|
|
2826
|
+
selector: 'f-connection-gradient',
|
|
2827
|
+
template: '',
|
|
2828
|
+
standalone: true,
|
|
2829
|
+
host: {
|
|
2830
|
+
style: 'display: none;',
|
|
2831
|
+
},
|
|
2832
|
+
providers: [{ provide: F_CONNECTION_GRADIENT, useExisting: FConnectionGradient }],
|
|
2833
|
+
}]
|
|
2731
2834
|
}] });
|
|
2732
2835
|
|
|
2733
2836
|
const F_CONNECTION_PATH = new InjectionToken('F_CONNECTION_PATH');
|
|
@@ -2737,12 +2840,16 @@ class FConnectionPathBase {
|
|
|
2737
2840
|
|
|
2738
2841
|
class FConnectionPath extends FConnectionPathBase {
|
|
2739
2842
|
_connection = inject(F_CONNECTION_COMPONENTS_PARENT);
|
|
2843
|
+
useGradient = input(false);
|
|
2844
|
+
linkToGradient = computed(() => {
|
|
2845
|
+
if (!this.useGradient()) {
|
|
2846
|
+
return null;
|
|
2847
|
+
}
|
|
2848
|
+
return createGradientDomUrl(this._connection.fId());
|
|
2849
|
+
});
|
|
2740
2850
|
get fPathId() {
|
|
2741
2851
|
return this._connection.fId();
|
|
2742
2852
|
}
|
|
2743
|
-
get linkToGradient() {
|
|
2744
|
-
return createGradientDomUrl(this._connection.fId(), this._connection.fOutputId(), this._connection.fInputId());
|
|
2745
|
-
}
|
|
2746
2853
|
get attrConnectionId() {
|
|
2747
2854
|
return createConnectionDomIdentifier(this._connection.fId(), this._connection.fOutputId(), this._connection.fInputId());
|
|
2748
2855
|
}
|
|
@@ -2761,7 +2868,7 @@ class FConnectionPath extends FConnectionPathBase {
|
|
|
2761
2868
|
this.hostElement.setAttribute('marker-end', `url(#${getMarkerEndId(this._connection.fId())})`);
|
|
2762
2869
|
}
|
|
2763
2870
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionPath, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2764
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2871
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FConnectionPath, selector: "path[f-connection-path]", inputs: { useGradient: { classPropertyName: "useGradient", publicName: "useGradient", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "attrConnectionId", "attr.data-f-path-id": "fPathId", "style.stroke": "linkToGradient()" }, classAttribute: "f-component f-connection-path" }, providers: [
|
|
2765
2872
|
{
|
|
2766
2873
|
provide: F_CONNECTION_PATH,
|
|
2767
2874
|
useExisting: FConnectionPath,
|
|
@@ -2774,7 +2881,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2774
2881
|
class: 'f-component f-connection-path',
|
|
2775
2882
|
'[attr.id]': 'attrConnectionId',
|
|
2776
2883
|
'[attr.data-f-path-id]': 'fPathId',
|
|
2777
|
-
'[
|
|
2884
|
+
'[style.stroke]': 'linkToGradient()',
|
|
2778
2885
|
}, providers: [
|
|
2779
2886
|
{
|
|
2780
2887
|
provide: F_CONNECTION_PATH,
|
|
@@ -2958,8 +3065,6 @@ const MIXIN_BASE$1 = mixinChangeSelection(mixinChangeVisibility(class {
|
|
|
2958
3065
|
}));
|
|
2959
3066
|
class FConnectionBase extends MIXIN_BASE$1 {
|
|
2960
3067
|
_fConnectionBuilder = inject(ConnectionLineBuilder);
|
|
2961
|
-
fStartColor = input('black');
|
|
2962
|
-
fEndColor = input('black');
|
|
2963
3068
|
path = '';
|
|
2964
3069
|
line = LineExtensions.initialize();
|
|
2965
3070
|
fReassignableStart = signal(false);
|
|
@@ -2967,13 +3072,14 @@ class FConnectionBase extends MIXIN_BASE$1 {
|
|
|
2967
3072
|
fSelectionDisabled = signal(false);
|
|
2968
3073
|
fDefs = viewChild.required('defs');
|
|
2969
3074
|
fPath = viewChild.required(F_CONNECTION_PATH);
|
|
2970
|
-
fGradient = viewChild.required(F_CONNECTION_GRADIENT);
|
|
2971
3075
|
fDragHandleStart = viewChild(F_CONNECTION_DRAG_HANDLE_START);
|
|
2972
3076
|
fDragHandleEnd = viewChild.required(F_CONNECTION_DRAG_HANDLE_END);
|
|
2973
3077
|
fSelection = viewChild.required(F_CONNECTION_SELECTION);
|
|
2974
3078
|
fContents = contentChildren(F_CONNECTION_CONTENT, {
|
|
2975
3079
|
descendants: true,
|
|
2976
3080
|
});
|
|
3081
|
+
fGradient = contentChild(F_CONNECTION_GRADIENT);
|
|
3082
|
+
_fGradientRenderer = viewChild(FConnectionGradientRenderer);
|
|
2977
3083
|
fWaypoints = contentChild(F_CONNECTION_WAYPOINTS);
|
|
2978
3084
|
fInputSide = signal(EFConnectionConnectableSide.DEFAULT);
|
|
2979
3085
|
_sourceSide = EFConnectableSide.AUTO;
|
|
@@ -2986,7 +3092,6 @@ class FConnectionBase extends MIXIN_BASE$1 {
|
|
|
2986
3092
|
}
|
|
2987
3093
|
initialize() {
|
|
2988
3094
|
this.fPath().initialize();
|
|
2989
|
-
this.fGradient().initialize();
|
|
2990
3095
|
this.redraw();
|
|
2991
3096
|
}
|
|
2992
3097
|
isContains(element) {
|
|
@@ -3029,9 +3134,15 @@ class FConnectionBase extends MIXIN_BASE$1 {
|
|
|
3029
3134
|
redraw() {
|
|
3030
3135
|
this.fPath().setPath(this.path);
|
|
3031
3136
|
this.fSelection().setPath(this.path);
|
|
3032
|
-
this.fGradient().redraw(this.line);
|
|
3033
3137
|
this.fDragHandleEnd().redraw(this._penultimatePoint, this.line.point2);
|
|
3034
3138
|
this.fDragHandleStart()?.redraw(this._secondPoint, this.line.point1);
|
|
3139
|
+
this._fGradientRenderer()?.redraw(this.line);
|
|
3140
|
+
}
|
|
3141
|
+
getResolvedSides() {
|
|
3142
|
+
return {
|
|
3143
|
+
sourceSide: this._sourceSide,
|
|
3144
|
+
targetSide: this._targetSide,
|
|
3145
|
+
};
|
|
3035
3146
|
}
|
|
3036
3147
|
/**
|
|
3037
3148
|
* Applies the resolved sides to the connection. Don't call this method directly; it's used internally.
|
|
@@ -3044,14 +3155,250 @@ class FConnectionBase extends MIXIN_BASE$1 {
|
|
|
3044
3155
|
this._targetSide = targetSide;
|
|
3045
3156
|
}
|
|
3046
3157
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3047
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: FConnectionBase,
|
|
3158
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: FConnectionBase, queries: [{ propertyName: "fContents", predicate: F_CONNECTION_CONTENT, descendants: true, isSignal: true }, { propertyName: "fGradient", first: true, predicate: F_CONNECTION_GRADIENT, descendants: true, isSignal: true }, { propertyName: "fWaypoints", first: true, predicate: F_CONNECTION_WAYPOINTS, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, isSignal: true }, { propertyName: "fPath", first: true, predicate: F_CONNECTION_PATH, descendants: true, isSignal: true }, { propertyName: "fDragHandleStart", first: true, predicate: F_CONNECTION_DRAG_HANDLE_START, descendants: true, isSignal: true }, { propertyName: "fDragHandleEnd", first: true, predicate: F_CONNECTION_DRAG_HANDLE_END, descendants: true, isSignal: true }, { propertyName: "fSelection", first: true, predicate: F_CONNECTION_SELECTION, descendants: true, isSignal: true }, { propertyName: "_fGradientRenderer", first: true, predicate: FConnectionGradientRenderer, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
3048
3159
|
}
|
|
3049
3160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, decorators: [{
|
|
3050
3161
|
type: Directive
|
|
3051
3162
|
}], ctorParameters: () => [] });
|
|
3052
3163
|
|
|
3164
|
+
const F_CONNECTION_WORKER_SOURCE = String.raw `
|
|
3165
|
+
const EPSILON = 0.5;
|
|
3166
|
+
|
|
3167
|
+
addEventListener('message', (event) => {
|
|
3168
|
+
const data = event?.data;
|
|
3169
|
+
const requestId = data?.requestId;
|
|
3170
|
+
const items = Array.isArray(data?.items) ? data.items : [];
|
|
3171
|
+
|
|
3172
|
+
try {
|
|
3173
|
+
const results = items.map((item) => calculateItem(item));
|
|
3174
|
+
postMessage({ requestId, results });
|
|
3175
|
+
} catch (error) {
|
|
3176
|
+
const message = error instanceof Error ? error.message : 'Connection worker failed.';
|
|
3177
|
+
postMessage({ requestId, error: message });
|
|
3178
|
+
}
|
|
3179
|
+
});
|
|
3180
|
+
|
|
3181
|
+
function calculateItem(item) {
|
|
3182
|
+
const sourceCenterX = item.sourceRect.x + item.sourceRect.width / 2;
|
|
3183
|
+
const sourceCenterY = item.sourceRect.y + item.sourceRect.height / 2;
|
|
3184
|
+
const targetCenterX = item.targetRect.x + item.targetRect.width / 2;
|
|
3185
|
+
const targetCenterY = item.targetRect.y + item.targetRect.height / 2;
|
|
3186
|
+
|
|
3187
|
+
const sourceSide = resolveConnectableSide(
|
|
3188
|
+
item.outputSide,
|
|
3189
|
+
targetCenterX - sourceCenterX,
|
|
3190
|
+
targetCenterY - sourceCenterY,
|
|
3191
|
+
item.sourceConnectableSide,
|
|
3192
|
+
);
|
|
3193
|
+
|
|
3194
|
+
const targetSide = resolveConnectableSide(
|
|
3195
|
+
item.inputSide,
|
|
3196
|
+
sourceCenterX - targetCenterX,
|
|
3197
|
+
sourceCenterY - targetCenterY,
|
|
3198
|
+
item.targetConnectableSide,
|
|
3199
|
+
);
|
|
3200
|
+
|
|
3201
|
+
if (item.behavior === 'fixed_center') {
|
|
3202
|
+
return {
|
|
3203
|
+
originalIndex: item.originalIndex,
|
|
3204
|
+
supported: true,
|
|
3205
|
+
sourceSide,
|
|
3206
|
+
targetSide,
|
|
3207
|
+
line: {
|
|
3208
|
+
point1: { x: sourceCenterX, y: sourceCenterY },
|
|
3209
|
+
point2: { x: targetCenterX, y: targetCenterY },
|
|
3210
|
+
},
|
|
3211
|
+
};
|
|
3212
|
+
}
|
|
3213
|
+
|
|
3214
|
+
if (item.behavior !== 'fixed') {
|
|
3215
|
+
if (item.behavior !== 'floating') {
|
|
3216
|
+
return { originalIndex: item.originalIndex, supported: false };
|
|
3217
|
+
}
|
|
3218
|
+
|
|
3219
|
+
return {
|
|
3220
|
+
originalIndex: item.originalIndex,
|
|
3221
|
+
supported: true,
|
|
3222
|
+
sourceSide,
|
|
3223
|
+
targetSide,
|
|
3224
|
+
line: buildFloatingLine(item.sourceRect, item.targetRect),
|
|
3225
|
+
};
|
|
3226
|
+
}
|
|
3227
|
+
|
|
3228
|
+
const line = buildFixedLine(item.sourceRect, item.targetRect, sourceSide, targetSide);
|
|
3229
|
+
if (!line) {
|
|
3230
|
+
return { originalIndex: item.originalIndex, supported: false };
|
|
3231
|
+
}
|
|
3232
|
+
|
|
3233
|
+
return {
|
|
3234
|
+
originalIndex: item.originalIndex,
|
|
3235
|
+
supported: true,
|
|
3236
|
+
sourceSide,
|
|
3237
|
+
targetSide,
|
|
3238
|
+
line,
|
|
3239
|
+
};
|
|
3240
|
+
}
|
|
3241
|
+
|
|
3242
|
+
function resolveConnectableSide(requestedSide, deltaX, deltaY, fallbackSide) {
|
|
3243
|
+
if (requestedSide === 'default') {
|
|
3244
|
+
return fallbackSide;
|
|
3245
|
+
}
|
|
3246
|
+
|
|
3247
|
+
const absX = Math.abs(deltaX);
|
|
3248
|
+
const absY = Math.abs(deltaY);
|
|
3249
|
+
const nearZero = absX < EPSILON && absY < EPSILON;
|
|
3250
|
+
|
|
3251
|
+
if (nearZero) {
|
|
3252
|
+
return fallbackSide;
|
|
3253
|
+
}
|
|
3254
|
+
|
|
3255
|
+
const horizontalDominant = absX >= absY;
|
|
3256
|
+
|
|
3257
|
+
switch (requestedSide) {
|
|
3258
|
+
case 'calculate':
|
|
3259
|
+
return horizontalDominant ? (deltaX >= 0 ? 'right' : 'left') : deltaY >= 0 ? 'bottom' : 'top';
|
|
3260
|
+
|
|
3261
|
+
case 'calculate_horizontal':
|
|
3262
|
+
if (absX < EPSILON) {
|
|
3263
|
+
return fallbackSide;
|
|
3264
|
+
}
|
|
3265
|
+
|
|
3266
|
+
return deltaX >= 0 ? 'right' : 'left';
|
|
3267
|
+
|
|
3268
|
+
case 'calculate_vertical':
|
|
3269
|
+
if (absY < EPSILON) {
|
|
3270
|
+
return fallbackSide;
|
|
3271
|
+
}
|
|
3272
|
+
|
|
3273
|
+
return deltaY >= 0 ? 'bottom' : 'top';
|
|
3274
|
+
|
|
3275
|
+
case 'top':
|
|
3276
|
+
case 'bottom':
|
|
3277
|
+
case 'left':
|
|
3278
|
+
case 'right':
|
|
3279
|
+
return requestedSide;
|
|
3280
|
+
|
|
3281
|
+
default:
|
|
3282
|
+
return fallbackSide;
|
|
3283
|
+
}
|
|
3284
|
+
}
|
|
3285
|
+
|
|
3286
|
+
function buildFixedLine(sourceRect, targetRect, sourceSide, targetSide) {
|
|
3287
|
+
const sourceAnchor = sourceSide === 'auto' ? 'bottom' : sourceSide;
|
|
3288
|
+
const targetAnchor = targetSide === 'auto' ? 'top' : targetSide;
|
|
3289
|
+
|
|
3290
|
+
const point1 = getSidePoint(sourceRect, sourceAnchor);
|
|
3291
|
+
const point2 = getSidePoint(targetRect, targetAnchor);
|
|
3292
|
+
|
|
3293
|
+
if (!point1 || !point2) {
|
|
3294
|
+
return null;
|
|
3295
|
+
}
|
|
3296
|
+
|
|
3297
|
+
return { point1, point2 };
|
|
3298
|
+
}
|
|
3299
|
+
|
|
3300
|
+
function buildFloatingLine(sourceRect, targetRect) {
|
|
3301
|
+
const sourceCenter = getRectCenter(sourceRect);
|
|
3302
|
+
const targetCenter = getRectCenter(targetRect);
|
|
3303
|
+
|
|
3304
|
+
return {
|
|
3305
|
+
point1: getRectBorderIntersection(sourceRect, sourceCenter, targetCenter),
|
|
3306
|
+
point2: getRectBorderIntersection(targetRect, targetCenter, sourceCenter),
|
|
3307
|
+
};
|
|
3308
|
+
}
|
|
3309
|
+
|
|
3310
|
+
function getRectCenter(rect) {
|
|
3311
|
+
return {
|
|
3312
|
+
x: rect.x + rect.width / 2,
|
|
3313
|
+
y: rect.y + rect.height / 2,
|
|
3314
|
+
};
|
|
3315
|
+
}
|
|
3316
|
+
|
|
3317
|
+
function getRectBorderIntersection(rect, from, to) {
|
|
3318
|
+
const halfWidth = rect.width / 2;
|
|
3319
|
+
const halfHeight = rect.height / 2;
|
|
3320
|
+
const center = getRectCenter(rect);
|
|
3321
|
+
|
|
3322
|
+
const dx = to.x - from.x;
|
|
3323
|
+
const dy = to.y - from.y;
|
|
3324
|
+
|
|
3325
|
+
if (Math.abs(dx) < EPSILON && Math.abs(dy) < EPSILON) {
|
|
3326
|
+
return center;
|
|
3327
|
+
}
|
|
3328
|
+
|
|
3329
|
+
const scaleX = Math.abs(dx) < EPSILON ? Number.POSITIVE_INFINITY : halfWidth / Math.abs(dx);
|
|
3330
|
+
const scaleY = Math.abs(dy) < EPSILON ? Number.POSITIVE_INFINITY : halfHeight / Math.abs(dy);
|
|
3331
|
+
const scale = Math.min(scaleX, scaleY);
|
|
3332
|
+
|
|
3333
|
+
return {
|
|
3334
|
+
x: center.x + dx * scale,
|
|
3335
|
+
y: center.y + dy * scale,
|
|
3336
|
+
};
|
|
3337
|
+
}
|
|
3338
|
+
|
|
3339
|
+
function getSidePoint(rect, side) {
|
|
3340
|
+
const centerX = rect.x + rect.width / 2;
|
|
3341
|
+
const centerY = rect.y + rect.height / 2;
|
|
3342
|
+
|
|
3343
|
+
switch (side) {
|
|
3344
|
+
case 'top':
|
|
3345
|
+
return { x: centerX, y: rect.y };
|
|
3346
|
+
|
|
3347
|
+
case 'right':
|
|
3348
|
+
return { x: rect.x + rect.width, y: centerY };
|
|
3349
|
+
|
|
3350
|
+
case 'bottom':
|
|
3351
|
+
return { x: centerX, y: rect.y + rect.height };
|
|
3352
|
+
|
|
3353
|
+
case 'left':
|
|
3354
|
+
return { x: rect.x, y: centerY };
|
|
3355
|
+
|
|
3356
|
+
default:
|
|
3357
|
+
return null;
|
|
3358
|
+
}
|
|
3359
|
+
}
|
|
3360
|
+
`.trim();
|
|
3361
|
+
function isConnectionWorkerRuntimeSupported(windowRef) {
|
|
3362
|
+
return !!resolveConnectionWorkerRuntime(windowRef);
|
|
3363
|
+
}
|
|
3364
|
+
function resolveConnectionWorkerRuntime(windowRef) {
|
|
3365
|
+
const runtimeWindow = windowRef;
|
|
3366
|
+
const blobCtor = runtimeWindow?.Blob;
|
|
3367
|
+
const workerCtor = runtimeWindow?.Worker;
|
|
3368
|
+
const urlApi = runtimeWindow?.URL;
|
|
3369
|
+
if (!blobCtor || !workerCtor) {
|
|
3370
|
+
return null;
|
|
3371
|
+
}
|
|
3372
|
+
if (typeof urlApi?.createObjectURL !== 'function' ||
|
|
3373
|
+
typeof urlApi.revokeObjectURL !== 'function') {
|
|
3374
|
+
return null;
|
|
3375
|
+
}
|
|
3376
|
+
return {
|
|
3377
|
+
blobCtor,
|
|
3378
|
+
workerCtor,
|
|
3379
|
+
urlApi,
|
|
3380
|
+
};
|
|
3381
|
+
}
|
|
3382
|
+
function createConnectionWorkerUrl(runtime) {
|
|
3383
|
+
const blob = new runtime.blobCtor([F_CONNECTION_WORKER_SOURCE], {
|
|
3384
|
+
type: 'text/javascript',
|
|
3385
|
+
});
|
|
3386
|
+
return runtime.urlApi.createObjectURL(blob);
|
|
3387
|
+
}
|
|
3388
|
+
function revokeConnectionWorkerUrl(workerUrl, urlApi) {
|
|
3389
|
+
if (!workerUrl) {
|
|
3390
|
+
return;
|
|
3391
|
+
}
|
|
3392
|
+
const resolvedUrlApi = urlApi ?? (typeof URL === 'undefined' ? null : URL);
|
|
3393
|
+
if (typeof resolvedUrlApi?.revokeObjectURL !== 'function') {
|
|
3394
|
+
return;
|
|
3395
|
+
}
|
|
3396
|
+
resolvedUrlApi.revokeObjectURL(workerUrl);
|
|
3397
|
+
}
|
|
3398
|
+
|
|
3053
3399
|
class FConnectionWorker {
|
|
3054
3400
|
worker = null;
|
|
3401
|
+
workerUrl = null;
|
|
3055
3402
|
nextRequestId = 0;
|
|
3056
3403
|
isDisabled = false;
|
|
3057
3404
|
pending = new Map();
|
|
@@ -3060,6 +3407,8 @@ class FConnectionWorker {
|
|
|
3060
3407
|
this.pending.clear();
|
|
3061
3408
|
this.worker?.terminate();
|
|
3062
3409
|
this.worker = null;
|
|
3410
|
+
revokeConnectionWorkerUrl(this.workerUrl);
|
|
3411
|
+
this.workerUrl = null;
|
|
3063
3412
|
}
|
|
3064
3413
|
dispose() {
|
|
3065
3414
|
this.resetRuntime(new Error('Connection worker was destroyed.'));
|
|
@@ -3167,12 +3516,16 @@ let EnsureConnectionWorker = class EnsureConnectionWorker {
|
|
|
3167
3516
|
return this._state.worker;
|
|
3168
3517
|
}
|
|
3169
3518
|
const windowRef = this._browser.document.defaultView;
|
|
3170
|
-
if (!windowRef
|
|
3519
|
+
if (!isConnectionWorkerRuntimeSupported(windowRef)) {
|
|
3520
|
+
return null;
|
|
3521
|
+
}
|
|
3522
|
+
const runtime = resolveConnectionWorkerRuntime(windowRef);
|
|
3523
|
+
if (!runtime) {
|
|
3171
3524
|
return null;
|
|
3172
3525
|
}
|
|
3526
|
+
const workerUrl = createConnectionWorkerUrl(runtime);
|
|
3173
3527
|
try {
|
|
3174
|
-
const worker = new
|
|
3175
|
-
type: 'module',
|
|
3528
|
+
const worker = new runtime.workerCtor(workerUrl, {
|
|
3176
3529
|
name: 'f-flow-connection-worker',
|
|
3177
3530
|
});
|
|
3178
3531
|
worker.onmessage = (event) => {
|
|
@@ -3184,10 +3537,12 @@ let EnsureConnectionWorker = class EnsureConnectionWorker {
|
|
|
3184
3537
|
worker.onmessageerror = () => {
|
|
3185
3538
|
this._resetWorkerAfterRuntimeError(new Error('Connection worker message deserialization error.'));
|
|
3186
3539
|
};
|
|
3540
|
+
this._state.workerUrl = workerUrl;
|
|
3187
3541
|
this._state.worker = worker;
|
|
3188
3542
|
return worker;
|
|
3189
3543
|
}
|
|
3190
3544
|
catch (error) {
|
|
3545
|
+
revokeConnectionWorkerUrl(workerUrl, runtime.urlApi);
|
|
3191
3546
|
this._disableWorker(error instanceof Error ? error : new Error('Connection worker initialization failed.'));
|
|
3192
3547
|
return null;
|
|
3193
3548
|
}
|
|
@@ -3223,7 +3578,7 @@ let IsConnectionWorkerEnabled = class IsConnectionWorkerEnabled {
|
|
|
3223
3578
|
return false;
|
|
3224
3579
|
}
|
|
3225
3580
|
const windowRef = this._browser.document.defaultView;
|
|
3226
|
-
return
|
|
3581
|
+
return isConnectionWorkerRuntimeSupported(windowRef);
|
|
3227
3582
|
}
|
|
3228
3583
|
_isWorkerAvailable() {
|
|
3229
3584
|
return this._browser.isBrowser();
|
|
@@ -3540,6 +3895,7 @@ let RedrawConnections = class RedrawConnections {
|
|
|
3540
3895
|
_browser = inject(BrowserService);
|
|
3541
3896
|
_renderTicket = 0;
|
|
3542
3897
|
_connectedInPreviousRender = new Set();
|
|
3898
|
+
_connectionRenderCache = new WeakMap();
|
|
3543
3899
|
handle(_request) {
|
|
3544
3900
|
const renderTicket = ++this._renderTicket;
|
|
3545
3901
|
const nodesRevision = this._store.nodesRevision;
|
|
@@ -3582,7 +3938,10 @@ let RedrawConnections = class RedrawConnections {
|
|
|
3582
3938
|
target.setConnected(source);
|
|
3583
3939
|
this._connectedInPreviousRender.add(source);
|
|
3584
3940
|
this._connectedInPreviousRender.add(target);
|
|
3585
|
-
this._createMarkers(connection);
|
|
3941
|
+
const markersChanged = this._createMarkers(connection);
|
|
3942
|
+
if (!markersChanged && !this._shouldRedrawConnection(connection, line)) {
|
|
3943
|
+
return;
|
|
3944
|
+
}
|
|
3586
3945
|
connection.setLine(line);
|
|
3587
3946
|
connection.initialize();
|
|
3588
3947
|
connection.isSelected() ? connection.markAsSelected() : null;
|
|
@@ -3597,7 +3956,17 @@ let RedrawConnections = class RedrawConnections {
|
|
|
3597
3956
|
return this._mediator.execute(new ResolveConnectionWorkerContextRequest(connection, cache));
|
|
3598
3957
|
}
|
|
3599
3958
|
_createMarkers(connection) {
|
|
3600
|
-
this._mediator.execute(new CreateConnectionMarkersRequest(connection));
|
|
3959
|
+
return this._mediator.execute(new CreateConnectionMarkersRequest(connection));
|
|
3960
|
+
}
|
|
3961
|
+
_shouldRedrawConnection(connection, line) {
|
|
3962
|
+
const pathElement = connection.fPath().hostElement;
|
|
3963
|
+
const signature = createConnectionRenderSignature(connection, line);
|
|
3964
|
+
const cached = this._connectionRenderCache.get(connection);
|
|
3965
|
+
if (cached?.signature === signature && cached.pathElement === pathElement) {
|
|
3966
|
+
return false;
|
|
3967
|
+
}
|
|
3968
|
+
this._connectionRenderCache.set(connection, { signature, pathElement });
|
|
3969
|
+
return true;
|
|
3601
3970
|
}
|
|
3602
3971
|
_setupConnectionsUsingWorker(connections, connectorRectCache, renderTicket, nodesRevision) {
|
|
3603
3972
|
this._mediator
|
|
@@ -3736,6 +4105,35 @@ RedrawConnections = __decorate([
|
|
|
3736
4105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedrawConnections, decorators: [{
|
|
3737
4106
|
type: Injectable
|
|
3738
4107
|
}] });
|
|
4108
|
+
function createConnectionRenderSignature(connection, line) {
|
|
4109
|
+
const { sourceSide, targetSide } = connection.getResolvedSides();
|
|
4110
|
+
return [
|
|
4111
|
+
connection.fBehavior,
|
|
4112
|
+
connection.fType,
|
|
4113
|
+
connection.fRadius,
|
|
4114
|
+
connection.fOffset,
|
|
4115
|
+
connection.fReassignableStart(),
|
|
4116
|
+
serializeContents(connection.fContents() || []),
|
|
4117
|
+
sourceSide,
|
|
4118
|
+
targetSide,
|
|
4119
|
+
serializePoint(line.point1),
|
|
4120
|
+
serializePoint(line.point2),
|
|
4121
|
+
serializeWaypoints(connection.fWaypoints()?.waypoints() || []),
|
|
4122
|
+
].join('|');
|
|
4123
|
+
}
|
|
4124
|
+
function serializePoint(point) {
|
|
4125
|
+
return `${point.x}:${point.y}`;
|
|
4126
|
+
}
|
|
4127
|
+
function serializeWaypoints(waypoints) {
|
|
4128
|
+
return waypoints.map(serializePoint).join(';');
|
|
4129
|
+
}
|
|
4130
|
+
function serializeContents(contents) {
|
|
4131
|
+
return contents
|
|
4132
|
+
.map((content) => {
|
|
4133
|
+
return [content.position(), content.offset(), content.align()].join(':');
|
|
4134
|
+
})
|
|
4135
|
+
.join(';');
|
|
4136
|
+
}
|
|
3739
4137
|
|
|
3740
4138
|
class RemoveConnectionForCreateFromStoreRequest {
|
|
3741
4139
|
static fToken = Symbol('RemoveConnectionForCreateFromStoreRequest');
|
|
@@ -15612,7 +16010,7 @@ class FConnectionComponent extends FConnectionBase {
|
|
|
15612
16010
|
this._mediator.execute(new RemoveConnectionFromStoreRequest(this));
|
|
15613
16011
|
}
|
|
15614
16012
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
15615
|
-
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 }, 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_COMPONENTS_PARENT, useExisting: FConnectionComponent }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient
|
|
16013
|
+
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 }, 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_COMPONENTS_PARENT, useExisting: FConnectionComponent }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [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 </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n<ng-content select=\"f-connection-waypoints\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none}:host svg{display:block;vertical-align:middle;overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionGradientRenderer, selector: "linearGradient[fConnectionGradientRenderer]", inputs: ["fConnectionGradientRendererFor"] }, { kind: "component", type: FConnectionDragHandleStart, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionPath, selector: "path[f-connection-path]", inputs: ["useGradient"] }, { kind: "component", type: FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15616
16014
|
}
|
|
15617
16015
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, decorators: [{
|
|
15618
16016
|
type: Component,
|
|
@@ -15621,7 +16019,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
15621
16019
|
class: 'f-component f-connection',
|
|
15622
16020
|
'[class.f-connection-selection-disabled]': 'fSelectionDisabled()',
|
|
15623
16021
|
'[class.f-connection-reassign-disabled]': 'fDraggingDisabled()',
|
|
15624
|
-
}, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient
|
|
16022
|
+
}, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [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 </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n<ng-content select=\"f-connection-waypoints\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none}:host svg{display:block;vertical-align:middle;overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
|
|
15625
16023
|
}], propDecorators: { fRadius: [{
|
|
15626
16024
|
type: Input,
|
|
15627
16025
|
args: [{ transform: numberAttribute }]
|
|
@@ -15673,7 +16071,7 @@ class FConnectionForCreateComponent extends FConnectionBase {
|
|
|
15673
16071
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionForCreateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
15674
16072
|
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: [
|
|
15675
16073
|
{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionForCreateComponent },
|
|
15676
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient
|
|
16074
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionGradientRenderer, selector: "linearGradient[fConnectionGradientRenderer]", inputs: ["fConnectionGradientRendererFor"] }, { kind: "component", type: FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionPath, selector: "path[f-connection-path]", inputs: ["useGradient"] }, { kind: "component", type: FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15677
16075
|
}
|
|
15678
16076
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionForCreateComponent, decorators: [{
|
|
15679
16077
|
type: Component,
|
|
@@ -15681,7 +16079,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
15681
16079
|
class: 'f-component f-connection f-connection-for-create',
|
|
15682
16080
|
}, providers: [
|
|
15683
16081
|
{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionForCreateComponent },
|
|
15684
|
-
], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient
|
|
16082
|
+
], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
|
|
15685
16083
|
}], propDecorators: { fRadius: [{
|
|
15686
16084
|
type: Input,
|
|
15687
16085
|
args: [{ transform: numberAttribute }]
|
|
@@ -15732,13 +16130,13 @@ class FSnapConnectionComponent extends FConnectionBase {
|
|
|
15732
16130
|
this._mediator.execute(new RemoveSnapConnectionFromStoreRequest());
|
|
15733
16131
|
}
|
|
15734
16132
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FSnapConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
15735
|
-
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_COMPONENTS_PARENT, useExisting: FSnapConnectionComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient
|
|
16133
|
+
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_COMPONENTS_PARENT, useExisting: FSnapConnectionComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionGradientRenderer, selector: "linearGradient[fConnectionGradientRenderer]", inputs: ["fConnectionGradientRendererFor"] }, { kind: "component", type: FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionPath, selector: "path[f-connection-path]", inputs: ["useGradient"] }, { kind: "component", type: FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15736
16134
|
}
|
|
15737
16135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FSnapConnectionComponent, decorators: [{
|
|
15738
16136
|
type: Component,
|
|
15739
16137
|
args: [{ selector: 'f-snap-connection', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
15740
16138
|
class: 'f-component f-connection f-snap-connection',
|
|
15741
|
-
}, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FSnapConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient
|
|
16139
|
+
}, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FSnapConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
|
|
15742
16140
|
}], propDecorators: { fSnapThreshold: [{
|
|
15743
16141
|
type: Input,
|
|
15744
16142
|
args: [{ transform: numberAttribute }]
|
|
@@ -15758,7 +16156,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
15758
16156
|
const F_CONNECTION_PROVIDERS = [
|
|
15759
16157
|
FConnectionDragHandleStart,
|
|
15760
16158
|
FConnectionDragHandleEnd,
|
|
15761
|
-
FConnectionGradient,
|
|
15762
16159
|
FConnectionPath,
|
|
15763
16160
|
FConnectionSelection,
|
|
15764
16161
|
FConnectionMarker,
|
|
@@ -15766,7 +16163,12 @@ const F_CONNECTION_PROVIDERS = [
|
|
|
15766
16163
|
FConnectionForCreateComponent,
|
|
15767
16164
|
FSnapConnectionComponent,
|
|
15768
16165
|
];
|
|
15769
|
-
const F_CONNECTION_IMPORTS_EXPORTS = [
|
|
16166
|
+
const F_CONNECTION_IMPORTS_EXPORTS = [
|
|
16167
|
+
FConnectionContent,
|
|
16168
|
+
FConnectionGradient,
|
|
16169
|
+
FConnectionGradientRenderer,
|
|
16170
|
+
FConnectionWaypoints,
|
|
16171
|
+
];
|
|
15770
16172
|
|
|
15771
16173
|
const F_MAGNETIC_LINES = new InjectionToken('F_MAGNETIC_LINES');
|
|
15772
16174
|
class FMagneticLinesBase {
|
|
@@ -16053,6 +16455,7 @@ class FFlowComponent extends FFlowBase {
|
|
|
16053
16455
|
_destroyRef = inject(DestroyRef);
|
|
16054
16456
|
_mediator = inject(FMediator);
|
|
16055
16457
|
_browser = inject(BrowserService);
|
|
16458
|
+
_componentsStore = inject(FComponentsStore);
|
|
16056
16459
|
_cache = inject(F_CACHE_OPTIONS);
|
|
16057
16460
|
_injector = inject(Injector);
|
|
16058
16461
|
_worker = inject(FConnectionWorker);
|
|
@@ -16078,13 +16481,15 @@ class FFlowComponent extends FFlowBase {
|
|
|
16078
16481
|
}, { injector: this._injector });
|
|
16079
16482
|
}
|
|
16080
16483
|
_listenNodesChanges() {
|
|
16081
|
-
this.
|
|
16082
|
-
.execute(new ListenNodesChangesRequest())
|
|
16484
|
+
new FChannelHub(this._componentsStore.nodesChanges$, this._componentsStore.progressiveRenderChanges$)
|
|
16083
16485
|
.pipe(notifyOnStart(), debounceTime(SORT_ITEM_LAYERS_DEBOUNCE_MS), afterNextPaint())
|
|
16084
16486
|
.listen(this._destroyRef, () => {
|
|
16085
16487
|
if (this._mediator.execute(new IsDragStartedRequest())) {
|
|
16086
16488
|
return;
|
|
16087
16489
|
}
|
|
16490
|
+
if (this._componentsStore.hasPendingProgressiveRender) {
|
|
16491
|
+
return;
|
|
16492
|
+
}
|
|
16088
16493
|
this._mediator.execute(new SortItemLayersRequest());
|
|
16089
16494
|
this._mediator.execute(new EmitConnectionsChangesRequest());
|
|
16090
16495
|
this._emitLoaded();
|
|
@@ -16201,20 +16606,32 @@ class FVirtualFor {
|
|
|
16201
16606
|
_vc = inject(ViewContainerRef);
|
|
16202
16607
|
_tpl = inject(TemplateRef);
|
|
16203
16608
|
_zone = inject(NgZone);
|
|
16609
|
+
_componentsStore = inject(FComponentsStore, { optional: true });
|
|
16204
16610
|
_views = [];
|
|
16611
|
+
_rafId = null;
|
|
16612
|
+
_isProgressiveRenderActive = false;
|
|
16205
16613
|
ngOnChanges(changes) {
|
|
16206
16614
|
if (changes['fVirtualForOf']) {
|
|
16207
16615
|
this._reset();
|
|
16208
16616
|
this._renderProgressively();
|
|
16209
16617
|
}
|
|
16210
16618
|
}
|
|
16619
|
+
ngOnDestroy() {
|
|
16620
|
+
this._reset();
|
|
16621
|
+
}
|
|
16211
16622
|
_reset() {
|
|
16623
|
+
if (this._rafId !== null) {
|
|
16624
|
+
cancelAnimationFrame(this._rafId);
|
|
16625
|
+
this._rafId = null;
|
|
16626
|
+
}
|
|
16627
|
+
this._finishProgressiveRender();
|
|
16212
16628
|
this._vc.clear();
|
|
16213
16629
|
this._views.length = 0;
|
|
16214
16630
|
}
|
|
16215
16631
|
_renderProgressively() {
|
|
16216
16632
|
const FRAME_BUDGET = 10; // ms
|
|
16217
16633
|
let index = 0;
|
|
16634
|
+
this._startProgressiveRender();
|
|
16218
16635
|
this._zone.runOutsideAngular(() => {
|
|
16219
16636
|
const pump = () => {
|
|
16220
16637
|
const start = performance.now();
|
|
@@ -16228,12 +16645,29 @@ class FVirtualFor {
|
|
|
16228
16645
|
index++;
|
|
16229
16646
|
}
|
|
16230
16647
|
if (index < this.fVirtualForOf.length) {
|
|
16231
|
-
requestAnimationFrame(pump);
|
|
16648
|
+
this._rafId = requestAnimationFrame(pump);
|
|
16649
|
+
return;
|
|
16232
16650
|
}
|
|
16651
|
+
this._rafId = null;
|
|
16652
|
+
this._finishProgressiveRender();
|
|
16233
16653
|
};
|
|
16234
|
-
requestAnimationFrame(pump);
|
|
16654
|
+
this._rafId = requestAnimationFrame(pump);
|
|
16235
16655
|
});
|
|
16236
16656
|
}
|
|
16657
|
+
_startProgressiveRender() {
|
|
16658
|
+
if (this._isProgressiveRenderActive) {
|
|
16659
|
+
return;
|
|
16660
|
+
}
|
|
16661
|
+
this._isProgressiveRenderActive = true;
|
|
16662
|
+
this._componentsStore?.beginProgressiveRender();
|
|
16663
|
+
}
|
|
16664
|
+
_finishProgressiveRender() {
|
|
16665
|
+
if (!this._isProgressiveRenderActive) {
|
|
16666
|
+
return;
|
|
16667
|
+
}
|
|
16668
|
+
this._isProgressiveRenderActive = false;
|
|
16669
|
+
this._componentsStore?.endProgressiveRender();
|
|
16670
|
+
}
|
|
16237
16671
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FVirtualFor, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
16238
16672
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FVirtualFor, isStandalone: true, selector: "[fVirtualFor][fVirtualForOf]", inputs: { fVirtualForOf: "fVirtualForOf", fVirtualForTrackBy: "fVirtualForTrackBy" }, usesOnChanges: true, ngImport: i0 });
|
|
16239
16673
|
}
|
|
@@ -16922,8 +17356,8 @@ function createSpyObj(baseName, methodNames) {
|
|
|
16922
17356
|
|
|
16923
17357
|
class FFlowModule {
|
|
16924
17358
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FFlowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16925
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FFlowModule, declarations: [FConnectionDragHandleStart, FConnectionDragHandleEnd,
|
|
16926
|
-
FDraggableDirective], imports: [FFlowComponent, FCanvasComponent, FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FZoomDirective, FExternalItem, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FSelectionArea, FMagneticLines, FMagneticRects, FConnectionContent, FConnectionWaypoints, FVirtualFor, CommonModule], exports: [FFlowComponent, FCanvasComponent, FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FZoomDirective, FExternalItem, FSelectionArea, FMagneticLines, FMagneticRects, FConnectionContent, FConnectionWaypoints, FConnectionDragHandleStart, FConnectionDragHandleEnd,
|
|
17359
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FFlowModule, declarations: [FConnectionDragHandleStart, FConnectionDragHandleEnd, FConnectionPath, FConnectionSelection, FConnectionMarker, FConnectionComponent, FConnectionForCreateComponent, FSnapConnectionComponent, FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective, FLineAlignmentComponent, FGroupDirective, FNodeDirective, FDragHandleDirective, FResizeHandleDirective, FRotateHandleDirective, FDragBlockerDirective,
|
|
17360
|
+
FDraggableDirective], imports: [FFlowComponent, FCanvasComponent, FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FZoomDirective, FExternalItem, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FSelectionArea, FMagneticLines, FMagneticRects, FConnectionContent, FConnectionGradient, FConnectionGradientRenderer, FConnectionWaypoints, FVirtualFor, CommonModule], exports: [FFlowComponent, FCanvasComponent, FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FZoomDirective, FExternalItem, FSelectionArea, FMagneticLines, FMagneticRects, FConnectionContent, FConnectionGradient, FConnectionGradientRenderer, FConnectionWaypoints, FConnectionDragHandleStart, FConnectionDragHandleEnd, FConnectionPath, FConnectionSelection, FConnectionMarker, FConnectionComponent, FConnectionForCreateComponent, FSnapConnectionComponent, FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective, FLineAlignmentComponent, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FGroupDirective, FNodeDirective, FDragHandleDirective, FResizeHandleDirective, FRotateHandleDirective, FVirtualFor, FDragBlockerDirective,
|
|
16927
17361
|
FDraggableDirective] });
|
|
16928
17362
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FFlowModule, imports: [CommonModule] });
|
|
16929
17363
|
}
|
|
@@ -16978,5 +17412,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
16978
17412
|
* Generated bundle index. Do not edit.
|
|
16979
17413
|
*/
|
|
16980
17414
|
|
|
16981
|
-
export { AddCanvasToStore, AddCanvasToStoreRequest, AddConnectionForCreateToStore, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStore, AddConnectionMarkerToStoreRequest, AddConnectionToStore, AddConnectionToStoreRequest, AddConnectorToStore, AddConnectorToStoreRequest, AddDndToStore, AddDndToStoreRequest, AddFlowToStore, AddFlowToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddPatternToBackground, AddPatternToBackgroundRequest, AddSnapConnectionToStore, AddSnapConnectionToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, AttachDragNodeHandlerFromSelection, AttachDragNodeHandlerFromSelectionRequest, AttachResizeConnectionDragHandlersToNode, AttachResizeConnectionDragHandlersToNodeRequest, AttachSoftParentConnectionDragHandlersToNode, AttachSoftParentConnectionDragHandlersToNodeRequest, AttachSourceConnectionDragHandlersToNode, AttachSourceConnectionDragHandlersToNodeRequest, AttachTargetConnectionDragHandlersToNode, AttachTargetConnectionDragHandlersToNodeRequest, BuildDragNodeConstraints, BuildDragNodeConstraintsRequest, CALCULATABLE_SIDES, COMMON_PROVIDERS, CONNECTABLE_SIDE_EPSILON, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateAdaptiveCurveData, CalculateBezierCurveData, CalculateChangedRectFromDifference, CalculateChangedRectFromDifferenceRequest, CalculateClosestConnector, CalculateClosestConnectorRequest, CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByConnectedPositionsRequest, CalculateConnectableSideByInternalPosition, CalculateConnectableSideByInternalPositionRequest, CalculateConnectionWorkerConnectorRect, CalculateConnectionWorkerConnectorRectRequest, CalculateConnectionWorkerPayloadItem, CalculateConnectionWorkerPayloadItemRequest, CalculateConnectionsState, CalculateConnectionsStateRequest, CalculateConnectionsUsingConnectionWorker, CalculateConnectionsUsingConnectionWorkerRequest, CalculateConnectorsConnectableSides, CalculateConnectorsConnectableSidesRequest, CalculateDirectChildrenUnionRect, CalculateDirectChildrenUnionRectRequest, CalculateFlowPointFromMinimapPoint, CalculateFlowPointFromMinimapPointRequest, CalculateFlowState, CalculateFlowStateRequest, CalculateInputConnections, CalculateInputConnectionsRequest, CalculateNodesBoundingBox, CalculateNodesBoundingBoxNormalizedPosition, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CalculateNodesState, CalculateNodesStateRequest, CalculateOutputConnections, CalculateOutputConnectionsRequest, CalculateResizeLimits, CalculateResizeLimitsRequest, CalculateSegmentLineData, CalculateSelectableItems, CalculateSelectableItemsRequest, CalculateSourceConnectorsToConnect, CalculateSourceConnectorsToConnectRequest, CalculateStraightLineData, CalculateTargetConnectorsToConnect, CalculateTargetConnectorsToConnectRequest, CenterGroupOrNode, CenterGroupOrNodeRequest, ClearSelection, ClearSelectionRequest, ConnectionBehaviourBuilder, ConnectionBehaviourBuilderRequest, ConnectionContentLayoutEngine, ConnectionLineBuilder, ConnectionLineBuilderRequest, ConnectionWorkerRun, ConnectionWorkerRunRequest, CreateConnectionCreateDragHandler, CreateConnectionCreateDragHandlerRequest, CreateConnectionFinalize, CreateConnectionFinalizeRequest, CreateConnectionFromOutletPreparation, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparation, CreateConnectionFromOutputPreparationRequest, CreateConnectionHandler, CreateConnectionMarkers, CreateConnectionMarkersRequest, CreateConnectionPreparation, CreateConnectionPreparationRequest, CreateDragNodeHandler, CreateDragNodeHandlerRequest, CreateDragNodeHierarchy, CreateDragNodeHierarchyRequest, DRAG_AND_DROP_COMMON_PROVIDERS, DRAG_CANVAS_PROVIDERS, DRAG_CONNECTIONS_PROVIDERS, DRAG_DROP_TO_GROUP_PROVIDERS, DRAG_EXTERNAL_ITEM_HANDLER_KIND, DRAG_EXTERNAL_ITEM_HANDLER_TYPE, DRAG_EXTERNAL_ITEM_PROVIDERS, DRAG_MINIMAP_HANDLER_KIND, DRAG_MINIMAP_HANDLER_TYPE, DRAG_MINIMAP_PROVIDERS, DRAG_NODE_HANDLER_KIND, DRAG_NODE_HANDLER_TYPE, DRAG_SELECTION_AREA_PROVIDERS, DRAG_SELECT_BY_POINTER_PROVIDERS, DeltaClamp, Deprecated, DetectConnectionsUnderDragNode, DetectConnectionsUnderDragNodeRequest, DisableConnectionWorker, DisableConnectionWorkerRequest, DragAndDropBase, DragCanvasFinalize, DragCanvasFinalizeRequest, DragCanvasHandler, DragCanvasPreparation, DragCanvasPreparationRequest, DragConnectionWaypointFinalize, DragConnectionWaypointFinalizeRequest, DragConnectionWaypointHandler, DragConnectionWaypointPreparation, DragConnectionWaypointPreparationRequest, DragExternalItemCreatePlaceholder, DragExternalItemCreatePlaceholderRequest, DragExternalItemCreatePreview, DragExternalItemCreatePreviewRequest, DragExternalItemFinalize, DragExternalItemFinalizeRequest, DragExternalItemHandler, DragExternalItemPreparation, DragExternalItemPreparationRequest, DragHandlerBase, DragHandlerInjector, DragMinimapFinalize, DragMinimapFinalizeRequest, DragMinimapHandler, DragMinimapPreparation, DragMinimapPreparationRequest, DragNodeConnectionBothSidesHandler, DragNodeConnectionHandlerBase, DragNodeConnectionSourceHandler, DragNodeConnectionTargetHandler, DragNodeDeltaConstraints, DragNodeFinalize, DragNodeFinalizeRequest, DragNodeHandler, DragNodeHierarchy, DragNodeItemHandler, DragNodePreparation, DragNodePreparationRequest, DropToGroupFinalize, DropToGroupFinalizeRequest, DropToGroupHandler, DropToGroupPreparation, DropToGroupPreparationRequest, EFConnectableSide, EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, EFMarkerType, EFResizeHandleType, EFZoomDirection, EmitConnectionsChanges, EmitConnectionsChangesRequest, EmitEndDragSequenceEvent, EmitEndDragSequenceEventRequest, EmitSelectionChangeEvent, EmitSelectionChangeEventRequest, EmitStartDragSequenceEvent, EmitStartDragSequenceEventRequest, EnsureConnectionWorker, EnsureConnectionWorkerRequest, EventExtensions, ExternalRectConstraint, FBackgroundBase, FBackgroundComponent, FCache, FCacheConnector, FCacheConnectorKeyFactory, FCacheNode, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionComponent, FConnectionComponentsParent, FConnectionContent, FConnectionContentBase, FConnectionDragHandleBase, FConnectionDragHandleEnd, FConnectionDragHandleStart, FConnectionForCreateComponent, FConnectionGradient, FConnectionGradientBase, FConnectionMarker, FConnectionMarkerBase, FConnectionMarkerRegistry, FConnectionPath, FConnectionPathBase, FConnectionRegistry, FConnectionSelection, FConnectionSelectionBase, FConnectionWaypoints, FConnectionWaypointsBase, FConnectionWaypointsChangedEvent, FConnectionWorker, FConnectorBase, FConnectorRegistry, FCreateConnectionEvent, FCreateNodeEvent, FDragBlockerDirective, FDragExternalItemStartEventData, FDragHandleDirective, FDragHandlerResult, FDragNodeStartEventData, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItem, FExternalItemBase, FExternalItemPlaceholder, FExternalItemPreview, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FIdRegistryBase, FLineAlignmentComponent, FMagneticLines, FMagneticLinesBase, FMagneticRects, FMagneticRectsBase, FMinimapBase, FMinimapCanvasDirective, FMinimapComponent, FMinimapFlowDirective, FMinimapState, FMinimapViewDirective, FMoveNodesEvent, FNodeBase, FNodeConnectionsIntersectionEvent, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FNodeRegistry, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FResizeNodeStartEventData, FRotateHandleDirective, FRotateNodeStartEventData, FSelectionArea, FSelectionAreaBase, FSelectionChangeEvent, FSingleRegistryBase, FSnapConnectionComponent, FSourceConnectorBase, FVirtualFor, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CACHE_FEATURES, F_CACHE_OPTIONS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_COMPONENTS_PARENT, F_CONNECTION_CONTENT, F_CONNECTION_DRAG_HANDLE_END, F_CONNECTION_DRAG_HANDLE_START, F_CONNECTION_FEATURES, F_CONNECTION_GRADIENT, F_CONNECTION_IMPORTS_EXPORTS, F_CONNECTION_MARKER, F_CONNECTION_PATH, F_CONNECTION_PROVIDERS, F_CONNECTION_SELECTION, F_CONNECTION_WAYPOINTS, F_CONNECTION_WORKER_FEATURES, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CSS_CLASS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT_PROVIDERS, F_MAGNETIC_LINES, F_MAGNETIC_LINES_PROVIDERS, F_MAGNETIC_RECTS, F_MAGNETIC_RECTS_PROVIDERS, F_MINIMAP_BASE, F_MINIMAP_FEATURES, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_SELECTED_CLASS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_VIRTUAL_FOR_PROVIDERS, F_ZOOM, F_ZOOM_FEATURES, F_ZOOM_PROVIDERS, FindConnectableConnectorUsingPriorityAndPosition, FindConnectableConnectorUsingPriorityAndPositionRequest, FitToChildNodesAndGroups, FitToChildNodesAndGroupsRequest, FitToFlow, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetCachedFCacheRect, GetCachedFCacheRectRequest, GetChildNodeIds, GetChildNodeIdsRequest, GetConnectorRectReference, GetConnectorRectReferenceRequest, GetCurrentSelection, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroups, GetDeepChildrenNodesAndGroupsRequest, GetFlow, GetFlowRequest, GetNodePadding, GetNodePaddingRequest, GetNormalizedConnectorRect, GetNormalizedConnectorRectRequest, GetNormalizedElementRect, GetNormalizedElementRectRequest, GetNormalizedParentNodeRect, GetNormalizedParentNodeRectRequest, GetNormalizedPoint, GetNormalizedPointRequest, GetParentNodes, GetParentNodesRequest, GridSnapper, HandleConnectionWorkerMessage, HandleConnectionWorkerMessageRequest, IMouseEvent, INSTANCES, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequence, InitializeDragSequenceRequest, InputCanvasPosition, InputCanvasPositionRequest, InputCanvasScale, InputCanvasScaleRequest, InvalidateFCacheNode, InvalidateFCacheNodeRequest, IsArrayHasParentNode, IsArrayHasParentNodeRequest, IsConnectionWorkerEnabled, IsConnectionWorkerEnabledRequest, IsDragStarted, IsDragStartedRequest, ListenConnectionsChanges, ListenConnectionsChangesRequest, ListenNodesChanges, ListenNodesChangesRequest, ListenTransformChanges, ListenTransformChangesRequest, LogExecutionTime, MOUSE_EVENT_IGNORE_TIME, MagneticLineElement, MagneticLineRenderer, MagneticLinesHandler, MagneticLinesPreparation, MagneticLinesPreparationRequest, MagneticRectElement, MagneticRectsHandler, MagneticRectsPreparation, MagneticRectsPreparationRequest, MagneticRectsRenderer, MarkConnectableConnectors, MarkConnectableConnectorsRequest, MinimapCalculateViewRect, MinimapCalculateViewRectRequest, MinimapCalculateViewport, MinimapCalculateViewportRequest, MinimapDrawNodes, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElement, MoveFrontElementsBeforeTargetElementRequest, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NotifyTransformChanged, NotifyTransformChangedRequest, OnPointerMove, OnPointerMoveRequest, PINCH_TO_ZOOM_PROVIDERS, PinchToZoomFinalize, PinchToZoomFinalizeRequest, PinchToZoomHandler, PinchToZoomPreparation, PinchToZoomPreparationRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequence, PrepareDragSequenceRequest, PreventDefaultIsExternalItem, PreventDefaultIsExternalItemRequest, RESIZE_DIRECTIONS, RESIZE_NODE_HANDLER_KIND, RESIZE_NODE_HANDLER_TYPE, ROTATE_NODE_HANDLER_KIND, ROTATE_NODE_HANDLER_TYPE, ReadNodeBoundsWithPaddings, ReadNodeBoundsWithPaddingsRequest, ReadNodeBoundsWithPaddingsResponse, ReassignConnectionFinalize, ReassignConnectionFinalizeRequest, ReassignConnectionHandler, ReassignConnectionPreparation, ReassignConnectionPreparationRequest, ReassignConnectionSourceHandler, ReassignConnectionTargetHandler, RedrawCanvasWithAnimation, RedrawCanvasWithAnimationRequest, RedrawConnections, RedrawConnectionsRequest, RegisterFCacheConnector, RegisterFCacheConnectorRequest, RegisterFCacheNode, RegisterFCacheNodeRequest, RegisterPluginInstance, RegisterPluginInstanceRequest, RemoveCanvasFromStore, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStore, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStore, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStore, RemoveConnectionMarkerFromStoreRequest, RemoveConnectionWaypoint, RemoveConnectionWaypointRequest, RemoveConnectorFromStore, RemoveConnectorFromStoreRequest, RemoveDndFromStore, RemoveDndFromStoreRequest, RemoveFlowFromStore, RemoveFlowFromStoreRequest, RemoveNodeFromStore, RemoveNodeFromStoreRequest, RemovePluginInstance, RemovePluginInstanceRequest, RemoveSnapConnectionFromStore, RemoveSnapConnectionFromStoreRequest, ResetConnectionWorkerRuntime, ResetConnectionWorkerRuntimeRequest, ResetScale, ResetScaleAndCenter, ResetScaleAndCenterRequest, ResetScaleRequest, ResetZoom, ResetZoomRequest, ResizeNodeConnectionBothSidesHandler, ResizeNodeConnectionHandlerBase, ResizeNodeConnectionSourceHandler, ResizeNodeConnectionTargetHandler, ResizeNodeFinalize, ResizeNodeFinalizeRequest, ResizeNodeHandler, ResizeNodePreparation, ResizeNodePreparationRequest, ResolveConnectableOutputForOutlet, ResolveConnectableOutputForOutletRequest, ResolveConnectionWorkerConnectors, ResolveConnectionWorkerConnectorsRequest, ResolveConnectionWorkerContext, ResolveConnectionWorkerContextRequest, RotateNodeFinalize, RotateNodeFinalizeRequest, RotateNodeHandler, RotateNodePreparation, RotateNodePreparationRequest, Select, SelectAll, SelectAllRequest, SelectAndUpdateNodeLayer, SelectAndUpdateNodeLayerRequest, SelectByPointer, SelectByPointerRequest, SelectRequest, SelectionAreaFinalize, SelectionAreaFinalizeRequest, SelectionAreaHandler, SelectionAreaPreparation, SelectionAreaPreparationRequest, SetBackgroundTransform, SetBackgroundTransformRequest, SetFCacheConnectorRect, SetFCacheConnectorRectRequest, SetFCacheNodeRect, SetFCacheNodeRectRequest, SetZoom, SetZoomRequest, ShouldUseConnectionWorker, ShouldUseConnectionWorkerRequest, SortDropCandidatesByLayer, SortDropCandidatesByLayerRequest, SortItemLayers, SortItemLayersRequest, SortItemsByParent, SortItemsByParentRequest, SortNodeLayers, SortNodeLayersRequest, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UnregisterFCacheConnector, UnregisterFCacheConnectorRequest, UnregisterFCacheNode, UnregisterFCacheNodeRequest, UpdateFCacheRectByElement, UpdateFCacheRectByElementRequest, UpdateItemAndChildrenLayers, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScale, UpdateScaleRequest, afterNextPaint, assertRegistryIds, buildConnectionAnchors, buildCornerMidPointsAndApplyOffsets, calculateCenterBetweenPoints, calculateCurveCandidates, calculateDifferenceAfterRotation, calculateMagneticGuides, calculateMagneticRects, calculatePointerInFlow, calculatePolylineCandidates, calculatePositionAfterRotation, canvasFactory, configureComponentTest, configureDiTest, connectionFactory, connectorFactory, createConnectionDomIdentifier, createConnectionSelectionDomIdentifier, createGradientDomIdentifier, createGradientDomUrl, createMediatorHarness, createMultiCubicPath, createPureHarness, createSVGElement, createSegmentLinePath, createSpy, createSpyObj, cubicBezierAtT, debounceAnimationFrame, debounceMicrotask, debounceTime, defaultEventTrigger, determineSide, diBaseProviders, executeRequest, expandRectByOverflow, fInstanceKey, fProvideCache, findExistingWaypoint, findWaypointCandidate, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, flowFactory, getExternalItemHost, infinityMinMax, injectFromDi, isCalculateMode, isDragBlocker, isDragExternalItemHandler, isDragHandleEnd, isDragHandleStart, isDragMinimapHandler, isDragNodeHandler, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, isPointerInsidePoint, isPointerInsideStartOrEndDragHandles, isResizeNodeHandler, isRotateHandle, isRotateNodeHandler, isValidEventTrigger, mergePointChains, mixinChangeSelection, mixinChangeVisibility, nodeFactory, normalizePolyline, notifyOnStart, pickWaypoint, rectFromPoint, registryAdd, registryAddMany, registryGet, registryRequire, sampleCubicBezierUniform, sampleMultiCubicUniform, selectableFactory, stringAttribute, takeOne, transitionEnd, valueProvider, withinSnapThreshold };
|
|
17415
|
+
export { AddCanvasToStore, AddCanvasToStoreRequest, AddConnectionForCreateToStore, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStore, AddConnectionMarkerToStoreRequest, AddConnectionToStore, AddConnectionToStoreRequest, AddConnectorToStore, AddConnectorToStoreRequest, AddDndToStore, AddDndToStoreRequest, AddFlowToStore, AddFlowToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddPatternToBackground, AddPatternToBackgroundRequest, AddSnapConnectionToStore, AddSnapConnectionToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, AttachDragNodeHandlerFromSelection, AttachDragNodeHandlerFromSelectionRequest, AttachResizeConnectionDragHandlersToNode, AttachResizeConnectionDragHandlersToNodeRequest, AttachSoftParentConnectionDragHandlersToNode, AttachSoftParentConnectionDragHandlersToNodeRequest, AttachSourceConnectionDragHandlersToNode, AttachSourceConnectionDragHandlersToNodeRequest, AttachTargetConnectionDragHandlersToNode, AttachTargetConnectionDragHandlersToNodeRequest, BuildDragNodeConstraints, BuildDragNodeConstraintsRequest, CALCULATABLE_SIDES, COMMON_PROVIDERS, CONNECTABLE_SIDE_EPSILON, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateAdaptiveCurveData, CalculateBezierCurveData, CalculateChangedRectFromDifference, CalculateChangedRectFromDifferenceRequest, CalculateClosestConnector, CalculateClosestConnectorRequest, CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByConnectedPositionsRequest, CalculateConnectableSideByInternalPosition, CalculateConnectableSideByInternalPositionRequest, CalculateConnectionWorkerConnectorRect, CalculateConnectionWorkerConnectorRectRequest, CalculateConnectionWorkerPayloadItem, CalculateConnectionWorkerPayloadItemRequest, CalculateConnectionsState, CalculateConnectionsStateRequest, CalculateConnectionsUsingConnectionWorker, CalculateConnectionsUsingConnectionWorkerRequest, CalculateConnectorsConnectableSides, CalculateConnectorsConnectableSidesRequest, CalculateDirectChildrenUnionRect, CalculateDirectChildrenUnionRectRequest, CalculateFlowPointFromMinimapPoint, CalculateFlowPointFromMinimapPointRequest, CalculateFlowState, CalculateFlowStateRequest, CalculateInputConnections, CalculateInputConnectionsRequest, CalculateNodesBoundingBox, CalculateNodesBoundingBoxNormalizedPosition, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CalculateNodesState, CalculateNodesStateRequest, CalculateOutputConnections, CalculateOutputConnectionsRequest, CalculateResizeLimits, CalculateResizeLimitsRequest, CalculateSegmentLineData, CalculateSelectableItems, CalculateSelectableItemsRequest, CalculateSourceConnectorsToConnect, CalculateSourceConnectorsToConnectRequest, CalculateStraightLineData, CalculateTargetConnectorsToConnect, CalculateTargetConnectorsToConnectRequest, CenterGroupOrNode, CenterGroupOrNodeRequest, ClearSelection, ClearSelectionRequest, ConnectionBehaviourBuilder, ConnectionBehaviourBuilderRequest, ConnectionContentLayoutEngine, ConnectionLineBuilder, ConnectionLineBuilderRequest, ConnectionWorkerRun, ConnectionWorkerRunRequest, CreateConnectionCreateDragHandler, CreateConnectionCreateDragHandlerRequest, CreateConnectionFinalize, CreateConnectionFinalizeRequest, CreateConnectionFromOutletPreparation, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparation, CreateConnectionFromOutputPreparationRequest, CreateConnectionHandler, CreateConnectionMarkers, CreateConnectionMarkersRequest, CreateConnectionPreparation, CreateConnectionPreparationRequest, CreateDragNodeHandler, CreateDragNodeHandlerRequest, CreateDragNodeHierarchy, CreateDragNodeHierarchyRequest, DRAG_AND_DROP_COMMON_PROVIDERS, DRAG_CANVAS_PROVIDERS, DRAG_CONNECTIONS_PROVIDERS, DRAG_DROP_TO_GROUP_PROVIDERS, DRAG_EXTERNAL_ITEM_HANDLER_KIND, DRAG_EXTERNAL_ITEM_HANDLER_TYPE, DRAG_EXTERNAL_ITEM_PROVIDERS, DRAG_MINIMAP_HANDLER_KIND, DRAG_MINIMAP_HANDLER_TYPE, DRAG_MINIMAP_PROVIDERS, DRAG_NODE_HANDLER_KIND, DRAG_NODE_HANDLER_TYPE, DRAG_SELECTION_AREA_PROVIDERS, DRAG_SELECT_BY_POINTER_PROVIDERS, DeltaClamp, Deprecated, DetectConnectionsUnderDragNode, DetectConnectionsUnderDragNodeRequest, DisableConnectionWorker, DisableConnectionWorkerRequest, DragAndDropBase, DragCanvasFinalize, DragCanvasFinalizeRequest, DragCanvasHandler, DragCanvasPreparation, DragCanvasPreparationRequest, DragConnectionWaypointFinalize, DragConnectionWaypointFinalizeRequest, DragConnectionWaypointHandler, DragConnectionWaypointPreparation, DragConnectionWaypointPreparationRequest, DragExternalItemCreatePlaceholder, DragExternalItemCreatePlaceholderRequest, DragExternalItemCreatePreview, DragExternalItemCreatePreviewRequest, DragExternalItemFinalize, DragExternalItemFinalizeRequest, DragExternalItemHandler, DragExternalItemPreparation, DragExternalItemPreparationRequest, DragHandlerBase, DragHandlerInjector, DragMinimapFinalize, DragMinimapFinalizeRequest, DragMinimapHandler, DragMinimapPreparation, DragMinimapPreparationRequest, DragNodeConnectionBothSidesHandler, DragNodeConnectionHandlerBase, DragNodeConnectionSourceHandler, DragNodeConnectionTargetHandler, DragNodeDeltaConstraints, DragNodeFinalize, DragNodeFinalizeRequest, DragNodeHandler, DragNodeHierarchy, DragNodeItemHandler, DragNodePreparation, DragNodePreparationRequest, DropToGroupFinalize, DropToGroupFinalizeRequest, DropToGroupHandler, DropToGroupPreparation, DropToGroupPreparationRequest, EFConnectableSide, EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, EFMarkerType, EFResizeHandleType, EFZoomDirection, EmitConnectionsChanges, EmitConnectionsChangesRequest, EmitEndDragSequenceEvent, EmitEndDragSequenceEventRequest, EmitSelectionChangeEvent, EmitSelectionChangeEventRequest, EmitStartDragSequenceEvent, EmitStartDragSequenceEventRequest, EnsureConnectionWorker, EnsureConnectionWorkerRequest, EventExtensions, ExternalRectConstraint, FBackgroundBase, FBackgroundComponent, FCache, FCacheConnector, FCacheConnectorKeyFactory, FCacheNode, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionComponent, FConnectionComponentsParent, FConnectionContent, FConnectionContentBase, FConnectionDragHandleBase, FConnectionDragHandleEnd, FConnectionDragHandleStart, FConnectionForCreateComponent, FConnectionGradient, FConnectionGradientBase, FConnectionGradientRenderer, FConnectionGradientRendererBase, FConnectionMarker, FConnectionMarkerBase, FConnectionMarkerRegistry, FConnectionPath, FConnectionPathBase, FConnectionRegistry, FConnectionSelection, FConnectionSelectionBase, FConnectionWaypoints, FConnectionWaypointsBase, FConnectionWaypointsChangedEvent, FConnectionWorker, FConnectorBase, FConnectorRegistry, FCreateConnectionEvent, FCreateNodeEvent, FDragBlockerDirective, FDragExternalItemStartEventData, FDragHandleDirective, FDragHandlerResult, FDragNodeStartEventData, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItem, FExternalItemBase, FExternalItemPlaceholder, FExternalItemPreview, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FIdRegistryBase, FLineAlignmentComponent, FMagneticLines, FMagneticLinesBase, FMagneticRects, FMagneticRectsBase, FMinimapBase, FMinimapCanvasDirective, FMinimapComponent, FMinimapFlowDirective, FMinimapState, FMinimapViewDirective, FMoveNodesEvent, FNodeBase, FNodeConnectionsIntersectionEvent, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FNodeRegistry, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FResizeNodeStartEventData, FRotateHandleDirective, FRotateNodeStartEventData, FSelectionArea, FSelectionAreaBase, FSelectionChangeEvent, FSingleRegistryBase, FSnapConnectionComponent, FSourceConnectorBase, FVirtualFor, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CACHE_FEATURES, F_CACHE_OPTIONS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_COMPONENTS_PARENT, F_CONNECTION_CONTENT, F_CONNECTION_DRAG_HANDLE_END, F_CONNECTION_DRAG_HANDLE_START, F_CONNECTION_FEATURES, F_CONNECTION_GRADIENT, F_CONNECTION_IMPORTS_EXPORTS, F_CONNECTION_MARKER, F_CONNECTION_PATH, F_CONNECTION_PROVIDERS, F_CONNECTION_SELECTION, F_CONNECTION_WAYPOINTS, F_CONNECTION_WORKER_FEATURES, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CSS_CLASS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT_PROVIDERS, F_MAGNETIC_LINES, F_MAGNETIC_LINES_PROVIDERS, F_MAGNETIC_RECTS, F_MAGNETIC_RECTS_PROVIDERS, F_MINIMAP_BASE, F_MINIMAP_FEATURES, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_SELECTED_CLASS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_VIRTUAL_FOR_PROVIDERS, F_ZOOM, F_ZOOM_FEATURES, F_ZOOM_PROVIDERS, FindConnectableConnectorUsingPriorityAndPosition, FindConnectableConnectorUsingPriorityAndPositionRequest, FitToChildNodesAndGroups, FitToChildNodesAndGroupsRequest, FitToFlow, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetCachedFCacheRect, GetCachedFCacheRectRequest, GetChildNodeIds, GetChildNodeIdsRequest, GetConnectorRectReference, GetConnectorRectReferenceRequest, GetCurrentSelection, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroups, GetDeepChildrenNodesAndGroupsRequest, GetFlow, GetFlowRequest, GetNodePadding, GetNodePaddingRequest, GetNormalizedConnectorRect, GetNormalizedConnectorRectRequest, GetNormalizedElementRect, GetNormalizedElementRectRequest, GetNormalizedParentNodeRect, GetNormalizedParentNodeRectRequest, GetNormalizedPoint, GetNormalizedPointRequest, GetParentNodes, GetParentNodesRequest, GridSnapper, HandleConnectionWorkerMessage, HandleConnectionWorkerMessageRequest, IMouseEvent, INSTANCES, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequence, InitializeDragSequenceRequest, InputCanvasPosition, InputCanvasPositionRequest, InputCanvasScale, InputCanvasScaleRequest, InvalidateFCacheNode, InvalidateFCacheNodeRequest, IsArrayHasParentNode, IsArrayHasParentNodeRequest, IsConnectionWorkerEnabled, IsConnectionWorkerEnabledRequest, IsDragStarted, IsDragStartedRequest, ListenConnectionsChanges, ListenConnectionsChangesRequest, ListenNodesChanges, ListenNodesChangesRequest, ListenTransformChanges, ListenTransformChangesRequest, LogExecutionTime, MOUSE_EVENT_IGNORE_TIME, MagneticLineElement, MagneticLineRenderer, MagneticLinesHandler, MagneticLinesPreparation, MagneticLinesPreparationRequest, MagneticRectElement, MagneticRectsHandler, MagneticRectsPreparation, MagneticRectsPreparationRequest, MagneticRectsRenderer, MarkConnectableConnectors, MarkConnectableConnectorsRequest, MinimapCalculateViewRect, MinimapCalculateViewRectRequest, MinimapCalculateViewport, MinimapCalculateViewportRequest, MinimapDrawNodes, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElement, MoveFrontElementsBeforeTargetElementRequest, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NotifyTransformChanged, NotifyTransformChangedRequest, OnPointerMove, OnPointerMoveRequest, PINCH_TO_ZOOM_PROVIDERS, PinchToZoomFinalize, PinchToZoomFinalizeRequest, PinchToZoomHandler, PinchToZoomPreparation, PinchToZoomPreparationRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequence, PrepareDragSequenceRequest, PreventDefaultIsExternalItem, PreventDefaultIsExternalItemRequest, RESIZE_DIRECTIONS, RESIZE_NODE_HANDLER_KIND, RESIZE_NODE_HANDLER_TYPE, ROTATE_NODE_HANDLER_KIND, ROTATE_NODE_HANDLER_TYPE, ReadNodeBoundsWithPaddings, ReadNodeBoundsWithPaddingsRequest, ReadNodeBoundsWithPaddingsResponse, ReassignConnectionFinalize, ReassignConnectionFinalizeRequest, ReassignConnectionHandler, ReassignConnectionPreparation, ReassignConnectionPreparationRequest, ReassignConnectionSourceHandler, ReassignConnectionTargetHandler, RedrawCanvasWithAnimation, RedrawCanvasWithAnimationRequest, RedrawConnections, RedrawConnectionsRequest, RegisterFCacheConnector, RegisterFCacheConnectorRequest, RegisterFCacheNode, RegisterFCacheNodeRequest, RegisterPluginInstance, RegisterPluginInstanceRequest, RemoveCanvasFromStore, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStore, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStore, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStore, RemoveConnectionMarkerFromStoreRequest, RemoveConnectionWaypoint, RemoveConnectionWaypointRequest, RemoveConnectorFromStore, RemoveConnectorFromStoreRequest, RemoveDndFromStore, RemoveDndFromStoreRequest, RemoveFlowFromStore, RemoveFlowFromStoreRequest, RemoveNodeFromStore, RemoveNodeFromStoreRequest, RemovePluginInstance, RemovePluginInstanceRequest, RemoveSnapConnectionFromStore, RemoveSnapConnectionFromStoreRequest, ResetConnectionWorkerRuntime, ResetConnectionWorkerRuntimeRequest, ResetScale, ResetScaleAndCenter, ResetScaleAndCenterRequest, ResetScaleRequest, ResetZoom, ResetZoomRequest, ResizeNodeConnectionBothSidesHandler, ResizeNodeConnectionHandlerBase, ResizeNodeConnectionSourceHandler, ResizeNodeConnectionTargetHandler, ResizeNodeFinalize, ResizeNodeFinalizeRequest, ResizeNodeHandler, ResizeNodePreparation, ResizeNodePreparationRequest, ResolveConnectableOutputForOutlet, ResolveConnectableOutputForOutletRequest, ResolveConnectionWorkerConnectors, ResolveConnectionWorkerConnectorsRequest, ResolveConnectionWorkerContext, ResolveConnectionWorkerContextRequest, RotateNodeFinalize, RotateNodeFinalizeRequest, RotateNodeHandler, RotateNodePreparation, RotateNodePreparationRequest, Select, SelectAll, SelectAllRequest, SelectAndUpdateNodeLayer, SelectAndUpdateNodeLayerRequest, SelectByPointer, SelectByPointerRequest, SelectRequest, SelectionAreaFinalize, SelectionAreaFinalizeRequest, SelectionAreaHandler, SelectionAreaPreparation, SelectionAreaPreparationRequest, SetBackgroundTransform, SetBackgroundTransformRequest, SetFCacheConnectorRect, SetFCacheConnectorRectRequest, SetFCacheNodeRect, SetFCacheNodeRectRequest, SetZoom, SetZoomRequest, ShouldUseConnectionWorker, ShouldUseConnectionWorkerRequest, SortDropCandidatesByLayer, SortDropCandidatesByLayerRequest, SortItemLayers, SortItemLayersRequest, SortItemsByParent, SortItemsByParentRequest, SortNodeLayers, SortNodeLayersRequest, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UnregisterFCacheConnector, UnregisterFCacheConnectorRequest, UnregisterFCacheNode, UnregisterFCacheNodeRequest, UpdateFCacheRectByElement, UpdateFCacheRectByElementRequest, UpdateItemAndChildrenLayers, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScale, UpdateScaleRequest, afterNextPaint, assertRegistryIds, buildConnectionAnchors, buildCornerMidPointsAndApplyOffsets, calculateCenterBetweenPoints, calculateCurveCandidates, calculateDifferenceAfterRotation, calculateMagneticGuides, calculateMagneticRects, calculatePointerInFlow, calculatePolylineCandidates, calculatePositionAfterRotation, canvasFactory, configureComponentTest, configureDiTest, connectionFactory, connectorFactory, createConnectionDomIdentifier, createConnectionSelectionDomIdentifier, createGradientDomIdentifier, createGradientDomUrl, createMediatorHarness, createMultiCubicPath, createPureHarness, createSVGElement, createSegmentLinePath, createSpy, createSpyObj, cubicBezierAtT, debounceAnimationFrame, debounceMicrotask, debounceTime, defaultEventTrigger, determineSide, diBaseProviders, executeRequest, expandRectByOverflow, fInstanceKey, fProvideCache, findExistingWaypoint, findWaypointCandidate, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, flowFactory, getExternalItemHost, infinityMinMax, injectFromDi, isCalculateMode, isDragBlocker, isDragExternalItemHandler, isDragHandleEnd, isDragHandleStart, isDragMinimapHandler, isDragNodeHandler, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, isPointerInsidePoint, isPointerInsideStartOrEndDragHandles, isResizeNodeHandler, isRotateHandle, isRotateNodeHandler, isValidEventTrigger, mergePointChains, mixinChangeSelection, mixinChangeVisibility, nodeFactory, normalizePolyline, notifyOnStart, pickWaypoint, rectFromPoint, registryAdd, registryAddMany, registryGet, registryRequire, sampleCubicBezierUniform, sampleMultiCubicUniform, selectableFactory, stringAttribute, takeOne, transitionEnd, valueProvider, withinSnapThreshold };
|
|
16982
17416
|
//# sourceMappingURL=foblex-flow.mjs.map
|